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 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 AFL Floyd :) 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 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 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 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 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:: 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. 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 ,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??) 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. 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..