textfiles/apple/ADC/adv.900821

364 lines
16 KiB
Plaintext
Raw Normal View History

2021-04-15 11:31:59 -07:00
America Online
APPLE II DEVELOPMENT FORUM CONFERENCE LOG
Tuesday, August 21, 1990 10:00 p.m. Eastern Time
Topic: BASIC Programming
Forum Leader: Dave Sugar (AFL Dyfet)
AFL Dyfet Okay, good evening and welcome to the Apple II Development Forum.
Tonight our
AFL Dyfet topic centers on programming in Basic, and we will begin
shortly...
AFL Dyfet Okay, we will be using protocol starting now. If you wish to ask
a question,
AFL Dyfet enter a '?' on a line by itself, and if you wish to comment on the
current
AFL Dyfet question being discussed, enter a '!' on a line by itself. The
floor is now
AFL Dyfet open for questions.
AFL Dyfet Go ahead, AFC TAP, you have the floor now.
AFC TAP thanks... simple one...
AFC TAP will th new basic system fix the bug in the chain code??
AFC TAP ga
AFL Dyfet Go ahead Dave...
Dave Lyons What bug? I thought that was fixed in 1.4, but maybe my brain is
toast.
AFC TAP ok, I run 1.3 and it crashes on accasion during chains...
AFA Gary J I think Dave is correct.
Dave Lyons Crashes?? Ouch. Are you talking about a bug that's been
discussed
Dave Lyons in A2-Central a lot, or something else?
AFL Dyfet That old bug was squashed in 1.4 :)...I recall a work-around I had
to do for it
AFL Dyfet in the old days when I was programming UBBS :)...Okay, GA
Rosen...
RosenNeil isnt 1.3 the one that had the bug with BLOAD and BSAVE..if so
trash it!
AFC TAP I heard it was the variable squashing or somethiong like that...
Dave Lyons (Yes, 1.3 had a bad BLOAD. But that's the only thing fixed from
1.3 to 1.4; the CHAIN stuff
Dave Lyons should be okay in 1.3)
AFC TAP thanks...
AFL Dyfet Go ahead Joey
AFA JoeyS Yeah... I've got the patch laying around somewhere, Scott; the BI
that comes w/
AFA JoeyS EBBS has the patch installed... compare it to a normal
BASIC.SYSTEM to see
AFA JoeyS where the changes are... <shrug> :) GA
Dave Lyons (BTW, P8 Technical Note #24 has the revision history for
BASIC.SYSTEM.)
Dave Lyons (done)
AFC TAP thanks (ga)
AFL Dyfet Okay, I believe Tamira has the next question/comment and the floor
now...GA
Tamira This has nothing to do with ADV but since all my friends are here
I thought I would share some good
Tamira news before I go....As of Sept 1st you are looking at the new Head
Innkeeper at the Red Dragon Inn and
Tamira the writer for Lifestyles for the Phantasy Guild.....an kinda
proud of it BTW :D
RosenNeil Congratulations.....
A2GS Congrats Tam!!
AFL Dyfet Great!!
Nuzz good news Tamira, and well deserved
Tamira BLUSH thanx all
Tamira I was just BURSTING with the news and had to tell SOMEONE!!!
AFA Gary J That's good news, Tamira!
Arc42 I've got a big Shrinkit problem, guys
Arc42 I only have one disk drive, and the Shrunk file won't fit on the
disk with
Arc42 the unshrunk file. Am I doomed?
AFA JoeyS (unless you have a RAM disk large enough to hold the shrunk file,
yes, Arc, :(
AFL Dyfet Okay, Joey, go ahead...
AFA JoeyS Okay, here's a fun one: I'd like to write a configuration program
that defines
AFA JoeyS a series of variables in memory. These variables, unfortunately,
AREN'T nice
AFA JoeyS and tidy (i.e. array format) -- just different names all over.
What's the
AFA JoeyS best way to do this?? I was thinking of storing tokenized
assignment strings
AFA JoeyS in a datafile and poking them into the middle of the basic
program, but that
AFA JoeyS seems awfully messy... any other ideas??
AFA JoeyS GA
AFA JoeyS LOL, no one has an answer to my question?
AFL Dyfet You are trying to initialize an array in memory, Joey? You could
try to locate
AFL Dyfet it in memory by the descriptor table and then bload what you need
into it...
AFA JoeyS No, it's got nothing to do with arrays. I've got an arbitrary set
of variable
AFA JoeyS names (OP$, SY$, G0$, etc) that I'd like to assign with a
configure program,
AFA JoeyS but I don't want to have a huge set of OP$=I$:RETURN lines thrown
into the code
AFA JoeyS GA
AFL Dyfet There is also the VAR filetype, which could be used to hold inital
var values.
AFA JoeyS Right; the results of the variable assignments will be going into
a VAR file.
AFL Dyfet Okay...um, what exactly is the problem you are having then...I
think I've
AFL Dyfet missed something in your comments...
AFA JoeyS Okay. I have a set of 50 or so variables that I'd like to assign
in a BAS
AFA JoeyS program. I COULD do something like...
AFA JoeyS <get variable to assign>: ON <varnum> GOSUB 1000,1100,1200,1300,
.......
AFA JoeyS 1000 INPUT "Value of Var #1",G0$:RETURN
AFA JoeyS And do that 50 times, but I'd rather have one general-purpose
subroutine to
AFA JoeyS retrieve the value of the variable... make sense?
AFL Dyfet OH!! I see!! I was looking at the wrong end of the problem!
AFL Dyfet GA AFC TAP...
AFC TAP Joe, have you thought about using an array top build the arbitrary
list
AFC TAP and then pass the array to a small ML poster routine which will
stuff the
AFC TAP values into memeory and then you can save the VARS...
AFC TAP use the varname in the array as a prompt if you want...
AFC TAP ga
AFA JoeyS Ummm... no, I hadn't thought of that... but it'd work... 'cept how
do you
AFA JoeyS retrieve the variable address unless the varname was passed by the
BASIC host?
AFA JoeyS (GA)
AFC TAP you should know ahead of time all of the varnames right?, so pass
a array
AFC TAP with the varnames in a string and the value as a number, the
poster will
AFC TAP just go thru and locate each varname and poke the correct
value...
AFC TAP works for any arbitary list of names...
AFC TAP ga
AFA JoeyS Oh... okay, I see what you're saying... yeah, that'd work, okay...
thanks,
AFA JoeyS Scott :) {S GA}
AFL Dyfet Any further comments?
AFA JoeyS (no one EVER likes my questions, :)
Nuzz but we like YOU
AFA JoeyS Awww... <blush> Thanks, LOL
AFL Dyfet Okay, who has the next question?
AFP TimB What's the word on TML Basic?
Matt DTS The word in the press release was that TML will keep selling it
until Complete has a new version.
AFL Dyfet TML Basic has been aquired by Complete Technology, as has TML
Pascal. They
AFL Dyfet are planning to fix it up a lot before re-releasing it as Complete
Basic.
AFP TimB Who owns Complete? VC?
AFL Dyfet Yes.
AFA JoeyS Yeah
AFA Gary J (Hmmmm I didn't notice that VCooper left).
AFA JoeyS (he left right when I came in... coincidence?)
A2GS VC?
AFP TimB VC = Vince Cooper.
AFP TimB TML has left a real sour taste in MY mouth.
A2GS New company?
AFL Dyfet TML had no interest in what they were doing in the IIgs market,
period.
AFP TimB Least I feel Mike Westerfield has some commitment to excellence.
AFL Dyfet We will be discussing TML Pascal (Complete Pascal) with Vince
Cooper next week,
AFL Dyfet and that would be a good opertunity to find out about TML Basic as
well...
AFL Dyfet Okay, who has the next question?
AFL Dyfet GA Gary...
AFA Gary J I don't remember if I asked this here before, I posted it over in
Byteworks
AFA Gary J a couple of months ago.... and I think Mike lost track of it.
AFA Gary J I'm writing an assembly program (sorry, not BASIC :) that must be
leaving
AFA Gary J something amiss when it quits. (Yes, I do remember asking it
here, but I still
AFA Gary J don't know the reason :). Anyway, after running my program, it
causes the
AFA Gary J ORCA editor to produce an "Invalid Text Data" error when trying
to edit a
AFA Gary J source file (ANY source file). It hangs at that point, and I
have to re-boot.
AFA Gary J The trouble is that it doesn't always go away on a warm re-boot.
I have to
AFA Gary J power off.
AFA Gary J Does anyone know what could cause such a mess?? :)
AFL Dyfet GA Dave...
Dave Lyons Gary, it sounds like you're trashing memory semi-randomly
somewhere. The invalid text
Dave Lyons data message could mean you're trashing the fast-file image of
some file in the fastfile
Dave Lyons system.
Dave Lyons The reason you would still
Dave Lyons have problems after an Apple-Ctrl-Reset is if you trashed some
actual Memory Manager data structures.
AFA Gary J That's what I thought too (that's why I was happy to get Big
Brother to test
AFA Gary J the situation).
Dave Lyons The Memory Manager doesn't *really* get restarted on that kind of
boot--remember
Dave Lyons for example that /RAM5 uses the memory manager & lives across
Resets.
AFA Gary J A Memory Manager data structure? Like a trashed handle?
Dave Lyons So BB didn't find any damage? (If you always trash *used* memory,
BB never helps!)
Dave Lyons Yeah, a trashed handle...actually a trashed "handle chain"--each
handle points (currently) to a 20-
Dave Lyons byte structure called (at least by me!) a Master Pointer Record,
which includes links to the
Dave Lyons previous and next handles in the chain.
AFA Gary J That's interesting. I hadn't thought about the Memory Mangager
re-start
AFA Gary J business. That tells me where I need to look, in fact I can
probably guess
AFA Gary J the problem already! Thanks Dave.
Dave Lyons If you're ever *failing* to dereference a handle, and storing
stuff through it as if it
Dave Lyons were a pointer, that's a *really* good way to have hard-to-find
bugs (hard to find because you crash
Dave Lyons so quickly after it screws up, and you can't necessarily even get
into NL or GSBug). ga
AFA Gary J My program hasn't really crashed, just the problem with the
editor.
AFA Gary J The ORCA editor is the only place it's showed up. The memory
manager
AFA Gary J business is probably it, because sometimes the ORCA editor will
produce a
AFA Gary J memory manager error instead of the invalid text data error.
Dave Lyons (Okay, it wouldn't *have* to crash right away...it's just more fun
that way.)
AFA Gary J Thanks. GA
AFL Dyfet Okay, that Q needs some questions :)
BurgerBill Does anyone know anything about MIDISynth?
AFA JoeyS Yuppers, Bill.
AFL Dyfet Yes! Avery, go ahead, you have the floor now...
Avery R C Is there a BASIC compiler that deals with the GS/OS tools?
Avery R C Or has that already been answered? =P
AFL Dyfet Well, Micol Advanced Basic can perform tool calls...
AFL Dyfet GA Dave...
Dave Lyons Okay...I haven't used them, but there are Micol Advanced BASIC and
TML BASIC. They can
Dave Lyons let you do GS toolbox calls, but I -believe- neither of them is as
convenient as Pascal for
Dave Lyons doing toolbox stuff. Especially because you want "records" for
dealing with toolbox data
Dave Lyons structures (so you can refer to pieces of the data structures by
name, rather than by byte offsets).
Dave Lyons ga
AFL Dyfet (my preference is C, Dave L :)
Avery R C Ok, I was thinking of ORCA/C anyway.
Dave Lyons (should have said "as convenient as Pascal or C"--sorry!)
Avery R C over and out
AFL Dyfet Okay...Who has a question then :)
BurgerBill Does anyone have information about the MIDISynth tool from
Apple?
BurgerBill I am interested in writing music using it.
AFA JoeyS What kind of information?
AFP TimB Its awesome.
BurgerBill Well, how do I call it and use it in my own programs?
AFL Dyfet GA Joey...
AFA JoeyS Ummm... rough outline: Open sequence file. Get instrument
(waveform) file,
AFA JoeyS load that in, and define the instruments to use with
_SetInstrument calls.
AFA JoeyS Set up your tempo, tuning table, and anything else you need
(optional,
AFA JoeyS depending on your sequence)... then pass _SeqPlayer the address of
the
AFA JoeyS sequence data buffer. It takes over interrupts and plays the tune
in the
AFA JoeyS background; you can request that the tool call you back on each
note, on
AFA JoeyS instrument changes, at end of song, etc etc etc. Pretty nifty.
I've got some
AFA JoeyS not-yet-finished source (for a highly rumored MIDI Synth NDA, LOL)
that I'd
AFA JoeyS be willing to share with ya'. GA...
BurgerBill Thanx, I need all the help I can get! :)
AFL Dyfet Any other comments??
AFA Gary J That sounds great, Joey!
AFA JoeyS No sweat -- scream a reminder to me in mail if I forget, okay? :)
(I'm
AFA JoeyS notorious for forgetting... uhh... everything!)
BurgerBill Well I got some info that I need, thanx alot anyways!!
AFL Dyfet GA Nuzz
Nuzz Just a comment on Joeys answer. That sequence PLAYS songs, writing
them is
Nuzz quite different
Nuzz GA
AFA Gary J Joey missed your comment on his answer, I think :)
AFA JoeyS I think so, yes... :-)
Nuzz I just said that you described palying songs, not writing them
AFA JoeyS Oh... I thought Bill asked how to play them back in his programs.
....
AFA JoeyS Errr, to be honest, I haven't tried doing a MIDI recorder, but it
looks
AFA JoeyS as easy as playback.
AFP TimB My suspicion is that playback is real easy, but a fully fledged
sequencer is a lot more diff. Yes?
Nuzz right Tim
AFA JoeyS Yes, Tim -- <shrug> depends on the amount of sophistication in
your sequencer,
AFA JoeyS too.
AFL Dyfet GA Tim...
AFP TimB Dave, Matt you know the current story on APDA and MIDISynth and a
release date?
Dave Lyons (Nope, just watch your APDAlog...that's all I know.)
Matt DTS Same here.
AFP TimB Last I heard Tim Swihart was fighting with APDA on pricing.
AFL Dyfet GA Scott
AFL Scott Has anyone noticed problems with window paramlists generated by
Design Master
AFL Scott in C?
Dave Lyons (What kind of problems?)
AFL Scott Ok... Under ORCA/C, I kept getting type conflicts in the record
where ever a
AFL Scott NULL was inserted... I looked at the record both in the header
file and in the
AFL Scott generated record and I can't see a problem.
Dave Lyons (How is NULL #defined in your program?)
AFL Scott 0x0L
Dave Lyons Hmmm...I suppose changing it to ((void *)0) would cause other
problems?
AFL Dyfet But perhaps more correct a representation, Dave...
AFL Scott I can do that... I didn't do it, yet, though. I was just fiddling
to see if
AFL Scott ORCA/C could get past the error.. it did, eventually, but now it
errors out on
AFL Scott the DefProc. :(
AFL Scott (which btw is a VoidProcPtr).
AFL Dyfet Hmm...
Dave Lyons Shouldn't (void *)0 be a valid value for type void (*)() ? I
thought void * was supposed to be
Dave Lyons a pointer to *anything*, including a function.
AFL Scott Looking...
AFL Scott Your definition agrees with Harbison & Steel, Dave. Whether it
agrees with
AFL Scott Orca is up for tests after this conference.
Dave Lyons (Gee...didn't mean to kill the discussion. Too many paentheses?
:-)
Matt DTS They're intimidated by you.
AFL Dyfet NiftyLyons strikes again :)
Dave Lyons (Data types are evil. You never have to type-cast a value in
Nifty List. :-)
AFA Gary J Thanks for the tip on my problem, Dave. I was wondering what
could possibly
AFA Gary J be still messed up after a warm re-boot.
Dave Lyons (Yer welcome)
Matt DTS Ask Dave sometime about leaving little handles around between
reboots.
AFL Dyfet :)
Dave Lyons (Or ask Matt.)
AFA Gary J Now's a good time :)
AFL Dyfet Yes, it is :)
AFA Gary J What happened, Dave???
Dave Lyons I -think- this is what Matt's referring to...a good way to
accidentally leave "permanent" handles
Dave Lyons around is to use the high word of a pointer as the memory ID! If
they wind up with ID $0xxx, they
Dave Lyons tend not to go away (this isn't a guaranteed system feature--it's
just what happens today).