AppleLink
APPLE II DEVELOPMENT FORUM CONFERENCE LOG
November 15, 1988  10:00 pm Eastern
Topic: BASIC
Forum Leader: James Luther (AFL Jim)

AFL Jim    Welcome to the Apple II Development Forum! Tonight, our topic is
          the BASIC programming language, but feel free to bring up any
          programming questions. We'll use protocol tonight so everyone gets
          a chance to ask their questions or give their comments to the topic
          being discussed. Here's how protocol works... First, to let us know
          that you'd like to speak, you do the online equivalent of raising
          your hand. If you have a question, you signal this by sending a
          single question mark (?). If you have a comment to make on the
          current topic, you signal this by sending a single exclamation
          point (!). We'll add you to our queue (list) of people waiting to
          speak. Periodically, we'll let everyone know where they stand in
          the queue by sending a line that looks like this:
          Q = Don (Bill), Sarah, Sam
          The example above shows that Don has the floor, Bill's waiting
          to make a comment on the topic or question brought up by Don,
          and Sarah and Sam are waiting in line to ask their questions.
          When it's your turn to take the floor with your question or
          comment, we'll let you know with a short message (something like
          "Go ahead with your comment, Bill"). If you aren't quite sure how
          this works, sit thru a few minutes of one of our meetings and you
          should pick up the flow. By the way, one of the common
          abbreviations you'll see us use is GA; GA means Go Ahead. You can
          use it when you're done sending your question or comment, so we can
          know to call on the next member. Got it? OK, who's on first?
AFL Marty  What?
JSchober   <ahem> avoiding bad jokes...
AFA Gary J :)
AFL Jim    Go ahead Marty
AFL Marty  I'd like to know your opinion.... what is the best BASIC for the
          Apple IIGS?
AFL Jim    MY opinion or everyone elses???
AFL Marty  "Best" meaning a nice balance of power with ease of use. your =
          plural
AFL Jim    OK, I'll start then... I'm sticking by TML-BASIC until I see
          something better. AC/BASIC doesn't follow the IIGS standards
          closely and I haven't seen Micol close enough to play with it and I
          like compiled languages for their speed, so that leaves out IIGS
          BASIC If you don't have to have a IIGS BASIC, then Applesoft with
          the Beagle Compiler. :)
AFL Marty  Reading my mind Jim... re: Beagle Compiler.
JSchober   Errr..... you kinda said it all, Jim.  :)  Well, I like TML Basic
          if I want to do some nice SHR programming... it's easy 'nuff.
          (Actually, I'd go for Pascal, buttttt... :). Also much faster than
          GS/Basic. But for applications where you don't need System16
          code... AppleSlush is quite fast....
AFL Marty  (what's Pascal doing in a BASIC conf? :)
JSchober   <it slipped out... sorry. :) >
AFL Floyd  <Pascal, C, Pascal, C> :)
AFL Marty  8-P
AFL Jim    Doug, what's your opinion?
DougM21    I second Jim on TML Basic.  They've already issued Ver. 1.5 to
          clean up bugs... ... and the manual is a LOT better than their
          initial product, TML Pascal.
AFL Jim    1.5 TML BASIC??? I thought it was at 1.1 for BASIC and 1.5 for TML
          Pascal.
DougM21    Maybe I did get that backwards.  Anyway, hooray for upgraded
          software!
AFL Jim    But, yes... they did fix the initial bugs (including the funky
          input statement) Go ahead, Captain....
CptnCrunch Well, what about us people stuck with Applesoft!  I think Applesoft
          is pretty  neat myself!
AFL Marty  (I agree, Captn)
CptnCrunch Thankyou!
JSchober   Well, yeah, Crunch, it's nice, fast, and compatible with all your
          old ASoft programs, BUTTTTT... unless you buy stuff like Iconix and
          Sonix, you can't use any of the GS' special features with it. If
          you go and buy add-on (& utility) programs such as that, you may as
          well go the whole way and buy TML Basic or whatever...
Bobby45    Is TML Basic a compile lang.?
JSchober   <yes, Bobby>
AFL Marty  Yes Bobby
AFL Jim    Speaking of Applesoft, our forum guest on January 31st will be Alan
          Bird of Beagle Bros to talk about D Code, Program Writer and the
          Beagle Compiler.
CptnCrunch Well, I only have an apple //c, NOT a GS, so I'm kinda
          biased....(sp?)
AFL Jim    :)
JSchober   hehe... Oh. :)
CptnCrunch :( Are we all on GS's?
JSchober   <== yup...
AFA Kathy  <-- yes
DougM21    [Yup]
Dave Lyons <-- GS!
AFA Gary J GS here.
AFL Jim    both
AFL Marty  <== GS here
JSchober   <well, I've got a ][+, too... that's a neat gaming machine. %)>
CptnCrunch WELL!
AFL Jim    Have you tried any of the above mentioned products ^^^^? (by Alan)
Matt DTS   [yeah...]
AFL Jim    GA Joe on Alan Birds programming tools and then we'll get Kirsh's
          question.
JSchober   Alright... I'd just like to say that between Program Writer and D
          Code, you've got the two darned neatest ASoft utilities on this
          earth. Program Writer is a  <get this> FULL SCREEN program editor
          that I don't leave home without -- does editing of all sorts,
          renumbering, auto-numbering, macros, variable x-refs, the works...
          and D Code is a program debugger and tracer. Lets you run code one
          line at a time (displaying CODE and RESULTS at the same time), show
          variables, set breakpoints, the works. Between those two, I've
          written BASIC code of over 250k.... (!)
CptnCrunch (WOW!)
AFL Jim    That says it, Joe. OK, Kirsh, GA with your question...
KIRSH      JSchober, what is SHR programming? Where is the mystery book on TML
          BASIC?
JSchober   hehe... SHR = SuperHiRes. That's the advanced graphics mode on the
          GS. Most GS specific programs use it to create the "desktop
          metaphor" -- what the Mac and the GS use, with the pull-down menus,
          icons, that kind of thing. Mystery book??
AFL Jim    Are you looking for a book on TML BASIC, Kirsh?
KIRSH      I've been hearing a lot about a new book on TML BASIC and the
          toolbox.  Yes
AFL Jim    The book isn't in print yet - I've heard there is a holdup at the
          publishing house. I've been diggin out answers for people here. Do
          you have any specific questions on TML or GS BASIC?
JSchober     [babblers note: TML and GS BASICs use the same syntax...]
KIRSH      I'm having trouble learning about the toolbox from the Basic
          manual.
AFL Jim    GA with your comment, Doug...
DougM21    There's a nifty book on beginning toolbox programming called... ...
          The Apple IIGS Toolbox Revealed, by Danny Goodman. Published by
          Bantam.
JSchober   <ahem> Well, that book doesn't actually tell you how to program the
          toolbox, it just kinda tells you what the toolbox DOES, and gives
          you an overview of memory, graphics, that kind of thing. For an
          introduction to toolbox programming, your best bet would be
          "Programmers Introduction to the GS", published by
          Apple/Addison-Wesley... that's IMHO.  :)
AFL Floyd  Ah... Joe took the words right out of my mouth. ;)
JSchober   ::grabbing words outta Floyd's mouth:: <yank yank>
AFL Jim    Marty, GA with your comment...
AFL Marty  When I bought my first Apple, the manuals came with the
          machine..... ApplleSoft programming, the DOS manual, the works.....
          I was just thinking that is sort of a shame that they didn't do
          this with the GS. It's awfully hard to locate good sources for
          learning materials.
JSchober   AMEN, Marty!
DougM21    I SAID beginning, Joe!  But, seriously, Joe's right;  however...
          while you're at it, you'll need Addison-Wesleys Toolbox Refs, vol 1
          & 2... if you want to program the Toolbox, Kirsh.
KIRSH      Prog's Intro lists Hodgepodge in Pascal, etc.  I can't seem to
          learn... Pascal and the Toolbox at the same time.  Need a book on
          BASIC!
AFL Marty  (and a second mortgage to buy all those books)
AFA Gary J Right, Marty!  :)
CptnCrunch Well, I was just going to say it was nice when 'ole Woz was
          involved with Apple and all the manuals came with it, and anyway,
          oh nevermind.  AMEN Marty!
AFL Marty  Do I take the collection now? :)
CptnCrunch Heeh..
AFL Jim    Dave, your comment
Dave Lyons I wouldn't mind seeing _some_ more books provided with the system,
          but the GS a much more complicated beast than the older IIs were.
          (No excuse for leaving out the stuff they used to include with the
          IIs, but providing all the info you need to do toolbox programming
          would add a good 80 pounds onto everybody's systems!)
AFL Jim    Back to you Kirsh
KIRSH      Ain't got nothing to say.
AFL Jim    OK, Joe, your commentary................ :)
JSchober   Well, Dave, they need not include ALL the docs, but at least the
          Programmers Intro... umm... I think a copy of Human Interface
          Guidelines would be more useful than a complete description of how
          to move a mouse across the screen. H.I.G. would take care of both
          users and programmers. Toolbox Refs.... yeah, THOSE are 80
          pounds... %)
AFL Jim    Marty, you're up...
AFL Marty  Dave, I was thinking more of introductory materials. When I bought
          my Apple II+, it had a manual that described how to interface BASIC
          and DOS 3.3 ....
CptnCrunch In ML even!
AFL Marty  It was enough to get me going, but it didn't explain all the ins
          and outs of DOS. Something for the average guy who wants to control
          his own machine occasionally.
AFL Jim    GA Dennis (I was wondering when you'd jump into this :)
DennisDoms Well, I'm working 2 computers tonight...I was accused of causing "A
          Bit.. of BASIC" to be included with the IIgs because I complained
          so vehemently.. about the last of manuals with the IIe/IIc (versus
          the II/II+). I think...
Dave Lyons [Geez, is that the thing I sent them about 4 pages of corrections
          to?]
DennisDoms well-thought-out-comments to Apple on what you'd like to see in
          user manuals.. will be heeded. (Dave..better than not even
          mentioning CATALOG in the user... docs!!)
JSchober   <=== BASIC manual still in shrinkwrap... %)
AFL Marty  Accused?? You make it sound like a bad thing. I'm glad it was
          included.... Joe -- not everyone programs in his sleep. Sometimes
          non-programmers even visit this forum :)
AFL Jim    Matt, GA with your comment
Matt DTS   I personally am not incredibly happy that "A Bit of AppleSoft
          BASIC" goes out.. ...with every IIgs, because it helps to
          perpetuate this myth that you should... ...be able to take
          advantage of the IIgs feature-set from AppleSoft. You shouldn't.
          AppleSoft is provided as a mode of compatibility, not the...
          ...be-all and the end-all programming language for the IIgs.  The
          manual... ...confuses some people into thinking that they can write
          "IIgs programs" in... ...AppleSoft.  Further, it might convince
          people to buy AppleSoft "enhancement" programs that hack access to
          the Tools instead of helping them painlessly... ...move to a
          IIgs-specific language.  <THIS IS A PERSONAL OPINION ONLY>
KIRSH      TML question: It looks like param passing to PROC only goes one
          way. Right?
AFL Jim    Kirsh, the parameters in TML procedures and functions are passed by
          value... in other words, the value of the parameter is copied
          locally to the function or procedure and is destroyed when the
          procedure or function ends. You can use global variables if you
          want to procedure to affect the variable everywhere. Any more BASIC
          questions before we return to manual wars?
JSchober   hehehe...
AFL Jim    Dave, your comment?
Dave Lyons Jim, do they provide a way to pass a pointer & simulate var
          parameters like C?
AFL Jim    Dave, they provide locals passed as parameters, locals created by
          the function or procedure OR they can access any global variables.
          You can assign a Double Integer variable an address and use it as a
          pointer or handle.
Bobby45    yes!
AFL Jim    Kathy, you're up...
AFA Kathy  Withdraw my ?   hence ^?  :)
AFL Jim    I thought that was a power question :)
JSchober   hehehhehe
AFA Gary J LOL!
AFA Kathy  :)
AFL Jim    Anything else Kirsh?
KIRSH      NOPE, I'm enjoying listening.
AFL Jim    Bobby, did you have a question?
AFA Gary J Are we going to bring up the manual wars again?  :)
Bobby45    I'm just trying to get in to programming on the Apple, and not sure
          which lang. is best suited you me.  Applesoft and the renumber
          problem is frustrating!
AFL Jim    Bobby, which Apple II?
Bobby45    IIGS
Dave Lyons (And you want to write GS-only programs, or stuff that works on all
          Apple IIs?)
Bobby45    GS and IIe I think I'm going to have to spent some money and get a
          good compiler That's all
AFL Jim    I'd suggest Pascal if you aren't programming already. You can find
          lots of Pascal text books and there are enough people using Pascal
          that you'll be able to find lots of sample sample source code, too.
Dave Lyons Jim, is there an 8-bit Pascal currently available?  Looks like he
          wants the programs to work both on the IIgs and the IIe.  Haven't
          heard much about Kyan lately.
AFL Jim    There's always Apple Pascal 1.3
Dave Lyons :(
Bobby45    Thats always been the key for me... a sample and play around with
          it.  Thanks
AFL Jim    BASIC is available on ALL Apple IIs, so it is a good first
          language, too
JSchober   Argh.... but it teaches unstructured programming... :(
AFL Jim    Joe, your question (before we quit)
JSchober   Alright -- what I'd like to do is have a statement in the form CALL
          <addr>,X, where X is a REAL or INTEGER (X%) variable. (Oh, this is
          ASoft, BTW). I know how to read data FROM the variable -- at least,
          if it's integer -- but how do you write TO the variable?? (And how
          do you handle reals??) <official 24 part question of the evening...
          :) >
Dave Lyons Remind me to look up that stuff 4 you--don't have it on the top of
          my head, but I helped write a package of Applesoft enhancements a
          few years ago, and they can definitely do that sort of thing.
JSchober   Alright, I'll pester you about it... ;) Thanks.
AFL Jim    OK, that's it for tonight. The Mac Development Forum is just
          starting up across the hall.
AndyWells  I've done what has been asked for..
AFL Jim    What Andy?
AndyWells  I'v done what Joe asked about..
AFL Jim    OH, You've written to an Integer from a Call?
AndyWells  Sure have..  Get the pointer with PTRGET, and use the pointer at
          VARPNT ($83) Low byte at (VARPNT),Y with Y=0, High byte with Y=1
JSchober   PTRGET = $xxxx? (I thought that only worked with strings...
          hmmm...) Err... $DFE3?
AndyWells  PTRGET = $dfe3
JSchober   Righto... alright, well, like I said... it didn't work right the
          first time when I tried that, but I'll give it another shot...
          Thanks!! :)
AndyWells  The difference between string and numeric is that the VARPNT points
          to the descriptor for strings, and directly to the variable for
          numbers
JSchober   Oh.... ah HA... that makes sense, then. <scribbling on a piece of
          paper... hope it ... oh... I have a log, never mind... :) >
AndyWells  I remember writing a GOTO label routine once, but that was  a long
          time ago..
JSchober   Yeah, Andy... well, I'm using this for my BBS. INSTR$() function
          and such...
AndyWells  Well, since I am the principal programmer on ACOS now, I should
          know something.
JSchober   Ah HA again... ACOS 2.0, eh?? ;)
AndyWells  ACOS 2.0 is in the final stages pf programming right now. It will
          require an enhanced //e, and 128k..