295 lines
16 KiB
Plaintext
295 lines
16 KiB
Plaintext
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..
|
|
|