AppleLink
APPLE II DEVELOPMENT FORUM CONFERENCE LOG
November 22, 1988 10:00 pm Eastern
Topic: Apple IIGS Toolbox
Forum Leader: James Luther (AFL Jim)
AFL Jim Welcome to the Apple II Development Forum. Tonight, our scheduled
topic is the Apple IIGS Toolbox, but feel free to bring up anything
else that's on your mind. I'm Jim Luther, the Forum Leader of this
forum and will try to control traffic during this meeting along
with Gary Jacobson (AFA GaryJ) Does anyone have any questions to
start things off tonight?
Matt DTS Please try not to be so exciting guys. My heart can't take it.
AFL Jim While we wait for a question, I'll take this time to remind you
that in two weeks, on Dec 6th, we'll meet in the Pippin Auditorium
for a conference with Tom Leonard of TML Systems. Tom will be here
to either announce a great new product or.... to not announce one
:)
JSchober That about covers it... ;)
AFL Jim yep
DwightW1 how do you use the scheduler?
Dave Lyons Scheduler! (Fun.) You notice that the BUSY flag is nonzero, and
then you call SchAddTask with a pointer to a routine that will be
called when the BUSY flag gets down to 0 (your routine will be
called when somebody calls DECBUSY, before DECBUSY returns to the
caller). The BUSY flag is hard-wired at E100FF, if I remember
correctly (I don't think there is a GetAddr(n) for that, is
there?).
AFL Jim The scheduler is used mostly to keep programs from running code
that can't be reentered (can't be started again until it has
finished executing from the last time it was called).
DwightW1 but where is it inserted... in the interrupt itself or the main
code?
Dave Lyons Where is _what_ inserted, Dwight?
DwightW1 the toolcall 'schaddtask?
Dave Lyons You call SchAddTask whenever you realize you need a particular
routine to be called, but when you can't call it immediately
because the BUSY flag is non 0. (Often that would be inside an
interrupt routine of some sort, but it isn't required to be.)
DwightW1 thanks dave, that is helpful :)
JSchober Are there any m-tasking possibilities in there?? <haven't played
with it much>
Dave Lyons I remember a note in the docs somewhere saying that SchAddTask was
_not_ intended to be used to implement multi-tasking. They
purposely limited the task queue size to 4 to discourage you from
abusing it in that way, too.
JSchober Awwww... Apple's no fun. :( Ok, thanks.
AFL Jim Programmers use to have to do alot of this stuff themselves under
ProDOS-8 to interrupt routines from messing up ProDOS.
DwightW1 another question... does one increment the 'busy' flag just before
a toolcall
Dave Lyons Generally tool calls take care of calling INCBUSY and DECBUSY by
themselves when it is necessary. You don't need to do it yourself
except when your own program is entering a routine that is not
re-entrant, when there is the possibility that you'd try to call
yourself. I'm saying this very badly, but generally you don't need
to call it from an application.
AFL Jim It makes sense to me, Dave :)
DwightW1 i guess i understand... will have to work with it
AFL Jim Dwight, have you read chapter 19 in the Toolbox reference?
DwightW1 yes, but it seems details are missing..... ....the literature seems
(to me) conflicting
Dave Lyons By the way, while the Event Manager is _not_ turned on, the
Apple-Ctrl-ESC handler checks the busy flag; if it's nonzero, it
uses SchAddTask so that the CDA menu will be called the next time
the busy flag reaches zero. (With the event manager _on_, the
Apple-C-E handler calls PostEvent with a DeskAcc event instead,
which causes the CDA menu to appear next time GetNextEvent is
called.)
AFL Jim What part of it seems conflicting? maybe we can help you
straighten it out.
DwightW1 as an example, the literature seems to suggest the interrupt is
placed in the toolcall 'schaddtask' also, the interrupt itself is
suppose to check the busy flag to see if itself may execute when i
did this my program crashed
AFL Jim schAddTask is called *by* your interrupt routine if it finds the
busy flag non-zero.
DwightW1 if the interrupt finds the busy flag nonzero, then it adds ITSELF
to the quere?
SEGlass The scheduler is designed to help programs share scarce resources.
For example, a CDA may want to use the OS. But if the OS is busy,
when the CDA interrupt occured, it would not be safe to use it.
The same is true of other processes in the system. The idea is that
if an independant process needs a resource that could be in use, it
looks at the busy flag.
DwightW1 so the CDA places itself in "schaddtask?
SEGlass If the busy flag is zero, it is safe to use the resource. If the
busy flag is non-zero, it is not safe to use the resource at this
time. The independant task calls the scheduler to put a routine in
the queue. The next time the busy flag reaches zero, the tasks in
the queue are run. The routine that the independant process puts
into the scheduler's queue is ususally different from the main
entry point to independant process.
DwightW1 that would be the CDA you mentioned for example?
SEGlass (yes)
DwightW1 got it.... thanks a million!!!!
SEGlass Does this clear things up for everyone?
AFL Jim Thanks, Steve - good explanation.
DwightW1 for me ....YES!
SEGlass Sorry the ref manual wasn't clearer. Its easy in hindsight to see
it could have been a little better.
Tim Gross I have the McGraw Hill IIGS tech ref. but seem to say little about
picture calls to Quickdraw. can any on fill me in on the basics
of picture commands
AFL Jim OK, Tim, about your question... The picture routines are in the
QuickDraw II Auxilary routines toolbox which wasn't available when
Michael Fischer wrote his book. They are documented in the IIGS
Reference Manual Volume 2. Dave, a comment?
Dave Lyons You need to load and start the QD AUX toolset to use even the
Picture routines that have function numbers in toolset 4 (regular
quickdraw). They go thru "hooks" that are setup by starting QD
AUX. -- Basically, a "picture" is a recorded sequence of QuickDraw
calls that can be played back later, possibly with scaling and
other effects.
Tim Gross ok. Look like I'll have to get volume 2.
AFL Jim To use the calls (after you start the tools, of course), you just
call OpenPicture, then make your Quickdraw calls to draw, then call
CLosePicture to end the process. Jeff, GA with your comment
JeffDWoods You should get BOTH volumes of the Toolbox Ref. mnls. They are
much more complete than the book by Fischer. (probably due to
available info) You won't regret it.
AFL Jim Very true, Jeff.
Tim Gross Jeff I do have Volume 1. Have Volume 2 on my wish list ;)
AFA Gary J (Besides, volume two has the index to both manuals!)
Matt DTS Trying to use the Toolbox without both volumes of the TB Reference
is kind of.. ...like trying to describe something really bad when a
good analogy fails you.
Dave Lyons :)
Matt DTS <sheepish grin> They're really tools of the trade that you
shouldn't... ...be without.
JeffDWoods (Like the definition of "bad" in the movie "Ghost Busters"!
AFL Jim Can we go on, Tim?
Tim Gross Ya, thanks much!
DwightW1 does the 'QD' toolcall 'MoveTo' and 'LineTo' use global or local
coordinates
Dave Lyons Local
DwightW1 i thought so... error in the reference volume
AFL Jim OK, Parik, you're on!
AFA Parik Does anyone know why APDA has got "No longer available" on the
Toolbox Quick Refs? (October issue)
SEGlass There was a slight screw up in these documents. The few people who
got copies pointed out that they were useless, due to a problem in
our production process.
AFA Parik <--- got a copy...wahhhh.... :)
SEGlass We are trying to work that out now and will make it available again
as soon as possible. We're really sorry for the trouble we may
have caused. They looked real good when we made our last set of
reviews, but after we saw them last, something happened...
Dave Lyons (So do I get my money back?)
AFA Parik :)
Matt DTS I think we are doing some kind of customer satisfaction thing for
people... ...who already purchased them, but details are still
sketchy at this point.
AFL Jim a T-shirt :)
SEGlass I don't know the details of what APDA will do, but you should get
info on that soon. Is Tim S on line tonight, he might know?
Matt DTS Neither Tim nor Tom Chavez seems to be present right now. Maybe
later (I hope)
AFL Jim Nope, Tim S isn't online.
AFA Parik (maybe my reference will become a collectors item :)
AFL Jim Tom should be on in about 15 minutes for his weekly meeting.
JSchober <Tom should be around by 11... for HIS CO... :) > GMTA Jim...
AFL Jim This is kind of a comment, but... I noticed that IIGS BASIC is now
in APDA's Curiosity Shop section along with the DOS 3.3 manuals.
Does this mean it's a dead product?
SEGlass Looks like another good question for Tom or Tim. Sorry I don't
have details.
DwightW1 i have another question....how to use the note synthesizer? i
literaly copied the material from Bond's "inside the apple IIgs...
and still no music?
Dave Lyons (Crash? Error codes? etc?)
DwightW1 i don't know only a periodic sputter is heard
AFA Parik Have you looked at the System Disk v3.2 documentation Dwight?
DwightW1 no...i'm only up to v3.1..... where can i get the v3.2?
AFL Jim You can get it from APDA Apple Programmer's and Developer's
Association
DwightW1 will do...again many thanks!
SEGlass Better than the 3.2 notes is the Toolbox Update manual from APDA.
It has chapters on all the sound tools that have not been part of
other documentation and were sort of used by the select few who had
early copies of our internal documation. This manual is the first
time this information has been generally available. GA
AFL Jim GA Steve The Toolbox Reference Update is only $14.95 + shipping
from APDA.
DwightW1 i'll definitely make a point of getting it!
AFL Jim Does anyone need more information on APDA?
Dave Lyons Yes...what's happening to it? :)
AFL Jim It's going to be run by Apple starting in January. All memberships
will be transfered and honored. TechAlliance (formerly Call-APPLE)
is giving free memberships to TechAlliance to all APDA members,
too.
Matt DTS The A.P.P.L.E. Co-Op is changing their name to TechAlliance, but
the magazine "Call-A.P.P.L.E" will probably keep the same name.
AFL Jim Right, I've posted a complete message about that in the Misc.
Topics category. Gary, a comment?
AFA Gary J Does anyone here know if there is any intention to release the
Toolbox Ref. Update as a Addison Wesley hardbound manual?
AFL Jim Go ahead with your comment, Joe.
JSchober Last time I checked, there's information on APDA in (hoping I get
this right!) Apple Community/Technical Library/APDA, here on
AppleLink. I dunno if it's still there, tho, now that Apple's taken
in APDA... worth checking, tho.
Matt DTS Apple Headquarters too, I think.
AFA Gary J It's still there, Joe
JSchober Thanks. :)
AFL Jim OK, Phil. Go ahead with your question.
Phil Doto Some people seem to have the Oct APDAlog, should I have received
mine by now?
AFL Jim I received mine today, Phil
AFA Gary J I just got mine today too.
AFL Jim They must get to the locals last or something :)
Phil Doto right Thanks I won't panic. :-)
AFL Jim It looks like our scheduled hour is up. Thanks for coming tonight
and I hope you'll come back next week. Our topic then will be
Programming Environments. I'm releasing the MicroEMACS editor in
the libaries tommorrow, so maybe there'll be some discussing on it.
DwightW1 thank you all for helping me!
Dave Lyons You're welcome, Dwight.
AFL Jim You're free to stick around and chat.
Matt DTS I just got a flashnote from Tom Chavez... ...who says that we
currently plan to send new copies of the Toolbox Quick...
...reference to those who've already purchased them. Thought you'd
liketa know
Dave Lyons Neat...thanks, Matt.
AFA Parik Thanks Matt!
Matt DTS You're welcome. (Like *I* did anything...)
Dave Lyons Fine, Matt...thanks for TELLING us about it then, but _not_ thanks
for making it happen. :-)
AFL Floyd Matt: Where are the A2 tech notes? (ducking) :)
JSchober ^^^ ditto that! :)
Dave Lyons We got the October mailing in November, so when do we get the
November
Matt DTS Gee, Floyd, everyone ELSE got them!
Dave Lyons mailing? [October, of course! :) ]
AFL Jim Matt, I didn't bribe him to say that :)
AFL Floyd Ha ha, very funny, Matt.
JSchober October of which year??
Matt DTS (They're in duplication currently)
AFL Floyd Jim: I thought EMACS was commercial?
JSchober (JIM is releasing it tomorrow... but when is APPLELINK releasing
it?!)
AFL Jim Floyd, this is a PD version that Morgan Davis came up with.
AFL Floyd Oh, great. Source code?
AFL Jim Yep
AFA Gary J To anyone that might be interested in downloading EMACS... one of
the files says that it takes <68 minutes to download. It REALLY
only takes <30 minutes. (Don't let the 68 give you a heart attack!)