AppleLink APPLE II DEVELOPMENT FORUM CONFERENCE LOG March 7, 1989 10:00 p.m. Eastern time Topic: BASIC Forum Leader: James Luther (AFL Jim) THE GIBBER I here that the chat is on Basic Dave HDS Sure you do, when you have the news to bare I have and cannot... AFA Gary J Yes, tonight's topic is BASIC AFA Gary J Hi Scott AFA Parik Hi Scott! AFA Gary J My node is stuffed up. AFA Parik :) Good luck john AFL Scott Hiya Gary, Parik, Gibber, Dave!:) Dave HDS Basic? Hmm...I don't suppose we can get to hear about the exciting world of Dave HDS BBASIC //? Dave HDS (tacky commercialism) AFA Gary J Any kind of BASIC AFA Parik Finish your sentence Dave.. "news to bare and I cannot..."?? :) A User Hi Gary, Hi Joe AFA Gary J Hi Jim AFL Jim Hi Gary AFL Jim Hi Dave, are you going to help out tonight with some BBasic comments? AFL Scott Hiya Jim, Dwight! Dave HDS Bbasic? Sure, I can do that, since I'm here... JSchober <=== used BBasic... like, neato! :)) Dave HDS Thanks Joe... JSchober (a GS version of it would be nice, tho... ;) AFA Parik Whats BBasic? Basic for stuttering people? JSchober Naw, Parik, Blankenship Basic. JSchober AppleSoft with a kick. Dave HDS A LOT of kick... JSchober :) AFL Jim Let's get started... AFA Gary J BBasic was pprogrammed by someone wwith a bbad kkeyboard. Doctor Why Hi All Dave HDS No, Joe's not on my payroll..heh JSchober LOL.. AFL Jim Welcome to the Apple II Development Forum. Tonight, we're going to use protocol JSchober (howdy Dave!) PROTOCOL?! AFL Jim during the chat, so if you want to ask a question, type a question mark on a AFL Jim line by itself. A User (brb) :) AFL Jim If you have a comment on the current subject or know the answer to a question, AFL Jim type an exclamation point on a line by itself. AFL Jim Tonight's scheduled topic is BASIC - any dialect that will run on an Apple II AFL Jim is fair game. JSchober ? THE GIBBER (Faster than a speeding flashnote) AFL Jim GA Joe AFA Gary J Q = Joe JSchober Ok, anyone know of an Applesoft interpreter running under System16, or an JSchober ASoft ==> converter? I REALLY am trying to avoid rewriting my JSchober BBS... %) GA AFL Jim ORCA/BASIC (when it's released) is supposed to be Applesoft compatible except, AFL Jim of course, for the PEEKs, POKEs and CALLs you may have added. AFL Jim Anyone know of anything else? Doctor Why ? AFA Gary J Q = Joe, Dr Why AFL Jim You may have to wait, Joe. JSchober Hmmm. Only an unreleased (hi Matt) product. Sigh... has Byteworks given any AFL Jim GA Dr Why with your question. JSchober release date on that? AFL Jim Not yet, Joe - just "spring" Doctor Why I'm would like to create some custom controls with TML BASIC JSchober Ok, thanks. :) Doctor Why and I'm having some problems. Has anyone else tried this? GA AFL Jim What kind of problems, specifically? AFA Gary J Q = Dr Why Doctor Why I'm having problems establishing the pointers to my routines. AFL Jim That problem was up on the message boards last week, too. I'm not sure TML AFL Jim BASIC gives you a way to get a pointer to your own procedure. PUREWATER If you are contemplating the purchase of TML Basic, a bug in "print using " Doctor Why By the way, TML Systems does not show up in the Industry Conn. What's up? AFL Jim I'd have to try it to see what happens, but the VARPTR function might wort for AFL Jim this purpose. AFL Jim TML is no longer in Industry Connection. They found they didn't have the AFL Jim resources to provide support there. AFA Parik :( JSchober :(((( AFA Gary J Q = Dr Why Doctor Why Do I have to set up an EVENTDEF to establish pointer? AFL Jim That will store pointers to routines in the Event Dispatch Table. That's used AFL Jim for event driven programs. AFL Jim It won't help you with a defProc for a custom control. AFL Jim OOOOPSS AFL Jim I'm wrong :( AFA Parik not wrong, just mis-spoken....:) AFL Jim I missed the part on page 186. AFL Jim It says the 2nd 32 entries can be used to obtain the machine addresses of AFL Jim DefProcs. Doctor Why Well I would need a label...routine and a RETURN 0....correct? Doctor Why I thought that you needed a EVENTDEF for that. AFL Jim I think so... I'd have to read about half the manual to remember everything. AFA Gary J Q = Dr Why AFL Jim If you want to continue this conversation in "Let's Discuss...", I'd be happy AFL Jim to try some things later offline. Doctor Why Well I'll keep trying, if anyone comes up with anything let me know. GA AFL Jim Check in the BASIC category later this week and I'll post what I find. Doctor Why Thanks! AFL Jim Who's next, Gary? AFA Gary J Q = AFL Jim Hmmm... AFA Parik Hmmm... Nuzz ? Doctor Why ...mmmH DwightW1 someone will ask something....Hmmmmmm AFA Gary J Q = Mike JSchober ? AFL Jim Well, I'll take the NEXT moment of silence to tell you something... AFL Jim GA Mike AFA Gary J Q = Mike, Joe Nuzz I heard that the IIc + includes a line editor, is that correct AFL Jim You've got me... Dennis, do you know - you've got one in your office. Matt DTS Sure. It's called GETLN. :) JSchober UGH, Matt... AFA Gary J :) AFL Jim Ugh, Matt DennisDoms No new firmware...no tech manual yet. They won't let me have it long enough.. Nuzz Does Apple supply a line editor for ProDos? GA Matt DTS Not that I'm aware of. DennisDoms to scane through the ROMs (they LIKE it!). AFL Jim I'd suggest Program Writer, Mike JSchober (yeah, I'd second that -- Program Writer is GREAT!) AFA Gary J Q = Mike, Joe AFL Jim Why get a line editor when you can have a screen editor. DennisDoms ! AFL Jim Dennis, GA DennisDoms One reason is to have defineable macros you can use within a program... AFA Gary J Q = Mike (Dennis), Joe DennisDoms (for testing), which is one reason I keep GPLE around. But I use Program... DennisDoms Writer to edit the program itself. (They will cohabitate, but you have to... DennisDoms install GPLE first; it's not relocatable). DennisDoms GA AFL Jim GPLE gives you a line editor during program execution if I remember right. AFL Jim Is that correct Dennis? Nuzz ? AFA Gary J Q = Mike (Dennis), Joe DennisDoms Yep; type ^W at a prompt to "wake up" the GPLE line editor. AFL Jim GA Mike, you still have the floor. Nuzz Does anyone have any suggestions for converting IIbasic program to the Mac.. Nuzz I heard AC basic has something. GA AFL Jim You can convert it to a text file, then port it over, but it'll take a lot of AFL Jim work to the user interface if you want to make anyone happy with it. Nuzz Is there anything available to convert the file I/O and commands? AFL Jim Absoft wrote the MS/BASIC compiler for Microsoft. AFL Jim Absoft also publishes AC/BASIC. AFL Jim You might want to look a ZBASIC on the Mac, too. AFL Jim a = at AFA Gary J Q = Mike, Joe Nuzz THanks again GA AFL Jim I don't know of any automated processing that can be done for the I/O, though. AFL Jim GA Joe JSchober Are there any automated ways of imbedding m/l code at the top of an AppleSoft AFL Jim Yep JSchober program? Right now I'm put a 1 GOTO 100, then play with the next-line-address JSchober pointers in memory to give myself some room... any easier way? GA AFL Jim There's a program called STICKIT from Nite Owl Productions - it comes with AFL Jim their Developer Disk #2. DennisDoms ! AFA Gary J Q = Joe (Jim) JSchober Address/Phone/ Cost? AFL Jim Looking.... AFA Gary J Q = Joe (Jim, Dennis) DennisDoms By "top", do you mean at the start of the program, or tacked onto the end? AFL Jim Nite Owl Productions, 5734 Lamar, Mission, KS 66202 AFL Jim (913) 362-9898 AFA Gary J Is your code relocatable, Joe? JSchober No, Dennis, top as in at $800 or right after... doesn't need to be relocatable JSchober that way... DennisDoms I was afraid of that...I think STICKIT will tack the code onto the end... JSchober Nope, Gary. I guess I could MAKE it rel if I really wanted to, tho... AFL Jim Yeah, Dennis is right... JSchober Oh, tacking to the end is easy; it's just stuffing it up top that's tricky. AFA Gary J It's not hard to tack the code on the end manually, even. JSchober (Wow, do I see an opening for a new utility I can write??) DennisDoms if you insert close to 256 bytes, you may confuse some BASIC utilities... JSchober GMTA, Gary... AFL Jim Use beginning, Joe, not "Top" :) DennisDoms (RENUMBER, etc.) as I recall. JSchober Oh, :P. Sorry. :) AFA Gary J Q = Joe JSchober The verdict is... do it myself, then upload, huh? :) AFA Gary J Another possiblilty is to just make your Basic program load at a higher address AFL Jim Joe, if you can make it small enough, you can put a LONG remark after a goto AFA Gary J and put the machine code at a lower address before the start of the program. AFL Marty ? AFL Jim and load the ML code in on top of the remark. AFA Gary J Q = Joe, Marty AFL Jim Just an idea... JSchober I do that, too, Jim. But it's just as easy (and prettier in the listing) to JSchober play with the pointers; I've been typing line 1, putting line 2 off where my JSchober m/l code ended, setting the next-line point in 1 to point to 2, BLOAD my code, JSchober then EXEC the rest of the code in... UGH! JSchober Nuzz ! AFL Jim You sure do "weird" things with Applesoft, Joe :) AFL Jim GA Mike AFA Gary J Q = Joe (Mike), Marty JSchober Uh huh, Jim. ;) Nuzz Couldn't you just peek the len of the m/l code and move basic Nuzz GA JSchober Move BASIC? You mean use a GETBUFR call? Nuzz Move the start of the program JSchober Oh. Yeah, I could, put that would involve loading the program, playing with THE GIBBER (yikes....I have to Go...... Thanks for the chat guys... it has been fun :) JSchober pointers, reloading, then BLOADing each time. Messy. Speed is a big goal AFL Jim You want the ML routine to load as part of the BASIC program, right, Joe? AFL Jim Bye Gib... JSchober here, and memory's also at a premium. Yes, exactly, Jim, in such a way that I JSchober can add to and delete from the program without touching the m/l. JSchober Bye, John. AFA Gary J You cold save your BASIC program as a binary file... Dave HDS Actually, Bbasic offers another approach...it can move itself... JSchober Uhh... what would that do, Gary? ( ;) Dave, yes, but I don't have nearly JSchober enough memory with the BBS online to load any other code... I've got stuff JSchober crammed everywhere, including the whole $200 page... %) AFL Marty <--- still alive DennisDoms Joe, do you know how to relocate the start of the program?... AFA Gary J Q = Joe, Marty JSchober <=== ready to pass out. ;) Yes, Dennis, but as I said, that takes a bit of JSchober time. Besides, the BASIC code won't know its own pathname, to reload. AFL Jim Well Joe, it looks like you have it figured out. I guess maybe you should write AFL Jim a program to automate it for the rest of us. AFL Jim :) JSchober LOL Jim... yeah, that's what it looks like. Off to work, I 'spose. ;) Thx, JSchober all. :) GA... AFL Jim Marty, GA AFA Gary J Q = Marty AFL Marty How can I code a BASIC program so that it is unlistable (in DOS 3.3)? JSchober ! AFL Jim GA Joe AFA Gary J Q = Marty (Joe) AFL Marty JSchober Uhh... I don't remember exactly, but there was a trick you could play by doing JSchober a POKE 2049,1, which causes line 1 to list (and execute!) forever. You'd AFA Gary J Zero page, $D6 JSchober probably need a small m/l loader or something, tho, and that's definitely not AFL Jim POKE 2049,1 makes first line list repeatedly. JSchober inpenetrable. :( A POKE 214,0 will re-run the program on any ASOFT command, JSchober but only if the program's been run first (to execute the POKE). GA... AFL Marty This would be the HELLO program... AFA Gary J Q = Marty AFL Marty so it would have to run first... AFL Marty where might I get exacy instructions? JSchober Smart people can list anything they want... AFL Marty exact Dave Lyons (Try POKE 214,128, not 0.) AFL Jim Marty, if you can _find_ it, you could use a DOS 3.3 compiler. JSchober Uhhh... right, thanks, Dave. :) AFL Marty These are high school kids... AFL Jim Or you could use ZBasic or something under DOS 3.3 AFL Marty not terribly smart :) JSchober :) AFA Gary J With DOS 3.3, you could patch part of DOS to protect the program before it AFA Gary J runs! AFL Marty I vaguely remember some pokes I read someplace a long time ago... they worked AFL Jim Was that directed at Joe, Marty? ;) AFA Gary J (heck, everyone else does!) AFA Gary J Q = Marty JSchober <=== not a high school kid... ;P AFL Marty on AppleSoft. AFA Parik wouldn't screwing the reboot byte and then setting a ONERR (in case of cntrl-c) AFA Parik disallow anyone from entry into the program? AFL Marty Directed at Joe? Why, whatever gave you _that_ idea? :) AFL Jim (he just looks like it :) JSchober Probably the pokes we just gave you, Marty. ;) Yup, Parik, if ONERR was the JSchober =first= line. Even then, holding Ctrl-C on boot BREAKs the program before it JSchober even starts. AFL Marty Translate into English please, Parik. AFA Gary J Q = Marty AFA Parik ! AFA Gary J CTRL-C can be defeated it you clear the keyboard strobe inside DOS 3.3. AFA Gary J Q = Marty (Parik) JSchober Hmmm. Probably true. Or use a binary start program that resets the input Dave Lyons ! JSchober vector to something of your own design, that nullifies Ctrl-C... AFA Gary J Q = Marty (Parik, Dave) AFL Jim Parik, GA AFA Parik store a $00 in $03F4, then set a ONERR line#, where line# does something like AFL Marty I'm not that fancy, Joe. AFA Parik reboot the system. The only problem is someone could get into your program if Nuzz ! AFA Parik they booted another disk. AFA Parik ga AFL Marty thanks Dave Lyons Gary, clearing the keyboard strobe isn't enough--on a GS, and even on a II+ JSchober AFL Marty AFA Gary J True, Dave :) Dave Lyons with a hardware keyboard buffer added on, you can BREAK very easily. I was AFL Jim Mike, GA Nuzz Beagle had something called Dos Boss that allowed you to rename Dos commands... Nuzz nice and EASY Nuzz Ga Dave Lyons going to suggest something like resetting the input vector, too. (done) AFL Marty Thanks. I'm sure one of those suggestions will work. AFL Marty GA JSchober (GMTA Dave... :) AFA Gary J Q = AFL Jim Anyone else have anything to add? AFA Parik you COULD code it in assembly...:) AFL Jim hehehe AFL Marty If I could do that, I wouldn't have asked the question :) AFL Jim OK, my blurb... AFA Parik :) AFL Jim On March 28th, I'd like to invite you all to visit us in the Pippin AFL Jim Auditorium when we'll have Tom Weishaar from A2-Central, Katheryn Suther from AFL Jim Call-A.P.P.L.E. (or Cecil Fretwell - one or the other), and a mystery guest AFL Jim from Nibble Magazine. They'll tell you what to expect from future issues of AFA Parik The masked nibbler... AFL Jim their publications and what they look for in article submissions (or letter AFL Jim submissions in the case of A2-Central :) AFA Parik heh AFL Jim If you have any suggestions about the kind of articles you'd like to see in AFL Jim future issues, this is your chance to tell the editors. AFL Marty (some of the stuff I've heard... someone at Nibble _should_ wear a mask :) Dave Lyons (I think they all ought to run their Letters columns past me before printing-- Dave Lyons it would save me a lot of trouble writing letters after the fact. :-) JSchober AND #$7F <=== a nice mask... AFA Gary J heheh..Dave. :) JSchober LOL Dave... AFL Jim OK, thanks for stopping in tonight. Let the food fight begin! AFL Marty here's a better one Joe ---===[} Joe AFL Scott <---haven't gotten my Call A.P.P.L.E in two months... so much for the switch.:( AFA Gary J Some of the letter's I'VE read ARE from you, Dave! JSchober ::all outta ammo, from throwing at Marty :( :: JSchober Probably the ones in reply to other ones, Gary. ;) Dave really gets INTO it JSchober on info-apple, tho... AFL Marty you mean you're defenseless? Dave Lyons Yup, and they're usually correcting previous letters, right? AFL Marty ::wide toothy grin::