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::