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 ==> <something S16> 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 = <empty>
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/<shudder> 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   <EXEC the ASoft stuff, that is>
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  <my log is on>
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   <unless you Ctrl-C out of it!>  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   <what I said is extremely easy, Marty, just a few BYTES of
          code...>
AFL Marty  <easy for you... difficul for me>
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 = <empty>
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::