💾 Archived View for spam.works › mirrors › textfiles › apple › ADC › adv.881122 captured on 2023-06-16 at 21:08:49.

View Raw

More Information

-=-=-=-=-=-=-

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!)