AppleLink
APPLE II DEVELOPMENT FORUM CONFERENCE LOG
March 14, 1989  10:00 p.m. Eastern time
Topic:  Apple IIGS Toolbox Programming
Forum Leader:  James Luther (AFL Jim)


Dave HDS   Hi Matt...great job you people are doing with tech notes...
AFA Parik  yoyo
Bud Gehr   Hi Parik
AFA Gary J Hi Parik
Matt DTS   Thanks, Dave
THE GIBBER Thanks for the Tech notes.... They help...
THE GIBBER alot
AFA Parik  Hi Eyestrain.
EyeStrain  Howdy, what have I missed?
THE GIBBER Nada
AFA Parik  Hiya GS 816.
HyperRam   How bout ZipChip GS
AFA Parik  Here Bud, you can have mine.  Hahaha, just kidding!  (I love doing
          that :)
AFA Gary J Hi Chaos
Dave HDS   Hi Dave
HyperRam   I want to write P16 applications
THE GIBBER I want to write GSOS applications myself...
HyperRam   Same here
Matt DTS   HyperRam:  I left you a LONG message on how to get started in the
          "How do you go to the Toolbox" ...
Ch Bronson just shake it up baby?
Matt DTS   ...folder.
HyperRam   I just bought the Programmers Intro to the GS
Bud Gehr   I hate the reboot times after I have a pointer get lost!
THE GIBBER I want a fST that will allow me to format my HD as one 60 meg
          unit
AFA Gary J Good message too, Matt.  (I just finished reading it before coming
          here...
HyperRam   It provide no info
AFA Gary J took me 15 minutes ;)
Dave HDS   I recall DL is working on a lost and found for pointers...heh...
AFA Parik  LOL Gary
HyperRam   I want to make my own word writer
AFA Parik  hi mick & Gadget.
GADGET8    hello all
HyperRam   I only can program in BASIC
Bud Gehr   I think I found it! It pointed to the RAM and said there I am!
THE GIBBER Here is a good one... A customer came in to my store today and
          told me that
HyperRam   How bout I buy TML Basic?
THE GIBBER IBM was going to put out a MAC clone
THE GIBBER hehehehe
EyeStrain  Kind of hard to do desktop prog. in basic.
Mick10     Howdy all.  :)
EyeStrain  Do you know Pascal?  Tml is great.
HyperRam   no
HyperRam   I only know sad Basic
Airship    I always get an earfull about how the Amiga is so much better than
          a Mac //.
Mick10     Where is TML on the system.?  They seem to be the mystery
          people.
EyeStrain  Then I'd try TML BASIC.  I haven't used it, but if it is anything
          like their..
AFA Parik  Hmm, I think everyone here is Jim incognito...
HyperRam   10 print"Basic is sad!"
Bud Gehr   Its pretty easy to pick up TML pascal even if you have never used
          Pascal before
EyeStrain  Pascal, it should be good.
HyperRam   How bout TML BAsic
GADGET8    can anyone here prog. in assembly?
Bud Gehr   It has to be, I learned it during development of one program :)
Ch Bronson tml ain't online anymore
AFA Gary J Well, looks like Jim's running a little late.  I guess we can get
          started
EyeStrain  I can, but choose not to.
AFA Gary J here without him.
THE GIBBER Assembly....No I program in Disassembly ;)
AFA Parik  LOL John...
AFA Gary J Welcome to the Apple II Development Forum.  Tonight's topic is
          Apple IIGS
AFA Gary J Toolbox Programming.  We'll try to follow protocol this evening,
          so if you
AFA Gary J have a question, type a question mark, if you have a comment on
          the current
AFA Gary J topic, type a "!".
HyperRam   ?
HyperRam   How long is this
AFA Gary J Q = HyperRam
HyperRam   How long is this
AFA Gary J Go ahead with your quesion, Hyper
Mick10     ??  Midi Tools....I need documentation.  Is apda the only
          source.?
HyperRam   How long is this program?
AFA Gary J How long is this forum meeting?
HyperRam   Yes
THE GIBBER (sorry...Be back later)
Mark153    Excuse me for the interuption, but this is my 1st call to
          Applelink, and I don'
AFA Gary J One hour.  Sometimes we run over a little in the end.
Mark153    know what I am doing!?!?
AFA Gary J PROTOCOL!!
HyperRam   ?
AFA Gary J Mark - Welcome to AppleLink and the Apple II Development Forum.
          We are
HyperRam   I'm dumb, but what is a protolcol?
AFA Gary J discussing toolbox programming, and are using forum protocol,
         which means if
AFA Gary J you have a question, type "?" or if you have a comment on the
         current topic,
AFA Gary J type "!".  I'll keep track of the order of questions in a
         queue.
EyeStrain  ?
Mark153    !
AFA Gary J HyperRam, did you have an additional question?
HyperRam   No, thank you.
AFA Gary J Q = HyperRam
Mark153    Hmm...  I 'spode it will take me a while to get used to it.  Just
         keep
Mick10     !  Midi Tools
Mark153    conversing...
Mark153    By the way, is there a way to change my name on here?
AFA Gary J Ok...Mark, did you have a comment?
Mark153    Sorry, no comment.
Mark153    hehe..???
AFA Gary J Ok..
AFA Gary J Hello Jim.
AFA Gary J (We started without you  :)
AFA Gary J Q = EyeStrain
AFL Jim    Howdy - couldn't get my system to connect for 10 minutes
AndyP2     ?
HyperRam   ?
EyeStrain  I've got all the books I can find on desktop programming.  Where
          do I
AFA Gary J Q = EyeStrain, Andy, HyperRam
EyeStrain  Go for the info on how to put all this together?
GS 816     !
HyperRam   Will this talk about programming? I want to write NDA's
AFA Gary J What language do you want to program in, Eyestrain?
EyeStrain  TML pascal
AndyP2     writing NDAs is programming hyper
HyperRam   I know
AFA Gary J Q = EyeStrain (GS 816), Andy, HyperRam
HyperRam   Will this conf talk about programing?
EyeStrain  I thought perhaps Mac books might help.  Any thoughts?
GS 816     Eyestrain, do you already know how to prog. in Pascal?
Larry90    bye
EyeStrain  yes
GS 816     then a good first book would
GS 816     be to look at Programmers Introduction to see
GS 816     how they are handling the pascal protocols and the toolbox
          interface
GS 816     with the various types of variables, etc.  Programmers Intro is
          part
GS 816     of Addison Wesley's Apple Reference Series.     ga
AFA Gary J Q = EyeStrain (GS 816), Andy, HyperRam
HyperRam   I got the Programs Intro
Rodge1     ?
EyeStrain  Yes, I have it.  It's helpful to a point.
HyperRam   Bye
GS 816     to what point?
HyperRam   Gotta go.
AFL Jim    Eyestrain, do you know other languages (like C or 65816
          assembly)?
AFA Gary J Q = EyeStrain (GS 816), Andy, HyperRam, Rodge
EyeStrain  I can do a simple desktop prog. but want to do fancy stuff like
          custom desktops
EyeStrain  and so forth.
Mick10     ?
Dave Lyons !
Rodge1     Is there a good intro book for those who don't know how to
          program?
EyeStrain  No, Jim, I don't.  I can do 6502 asm, but only have Merlin Pro.
AndyP2     hold it rodge. me first
AFA Gary J Q = EyeStrain (Dave), Andy, HyperRam, Rodge, Mick
AFA Gary J EyeStrain still has the floor, Rodge.
AFL Jim    There are some Sample Code files from Apple II DTS that you might
          look at for
AFL Jim    additional examples. They are in the Apple Releases library.
AFL Jim    Dave GA
Dave Lyons What's a "custom desktop"?  Not sure what you're getting at.
          (ga)
AFA Gary J Q = EyeStrain (Dave), Andy, Rodge, Mick
Matt DTS   (Hope I didn't miss anything addressed to me.)
AFL Jim    Eyestrain?
EyeStrain  I mean drawing on the desktop like finder and other progs. do.
EyeStrain  The toolbox manuals cover this, but are not clear.
Dave Lyons Okay, that isn't too hard to do--you need to
Dave Lyons call the Desktop routine in the Window Manager and install a
          procedure that
Dave Lyons does a SetPort to a port of your own, erases the thing to whatever
          background
Dave Lyons pattern you're using, and then draws additional stuff (like
          Icons).  The Finder
Dave Lyons works this way, and I can give you details in a folder in the
          Let's Discuss
Dave Lyons area if you want them.  ga
AFA Gary J Q = EyeStrain (Dave), Andy, Rodge, Mick
EyeStrain  What sort of Bounds do you use for this port?
DaviesDoug !
Dave Lyons If you just call OpenPort, it defaults to the whole screen--no
          problem.
EyeStrain  Won't that overdraw the menubar?
DaviesDoug You could use the Window Managers port or Menu Managers port
Dave Lyons Mmm...I guess I'm leaving out a step where you let the system have
          a handle to
Dave Lyons the clip region for your port.  It works out so that only the
          visible desktop
Dave Lyons region gets drawn to, without any fuss.
Dave Lyons Remind me what language you're writing in & I'll post some sample
          code.
AFA Gary J Q = EyeStrain (Dave, Doug), Andy, Rodge, Mick
EyeStrain  Great!  I'm done.
DaviesDoug .done.
AFL Jim    Andy, GA
AFA Gary J Q = Andy, Rodge, Mick
AFL Jim    (EyeStrain uses TML Pascal)
AFL Jim    Rodge, GA (Andy is gone)
Rodge1     can you suggest an intro book for those of us that don't program
          yet?
Matt DTS   !
GS 816     !
AFA Parik  ?
AFL Jim    GA Matt
Matt DTS   I just posted a LONG message concerning this very subject in...
Matt DTS   ...the "How do you go to the Toolbox" folder in "IIgs Toolbox"
          under "Let's Discuss."
AFA Gary J Q = Rodge (Matt, GS 816), Mick, Parik
Matt DTS   It lists lotsa books of an introductory nature.  GA.
AFA Gary J (Somehow I knew you would say that, Matt!  :)
AFL Jim    GS 816, GA
GS 816     quickly, I like Lichty and Eyes new book
GS 816     Programming the Apple  IIGS in Assembly Language and
GS 816     will go back to Gary Little's for a simpler, and sometimes
          fuller
GS 816     explanation for some of the older routines that I didn't bother
          with
GS 816     before.  His is Exploring the Apple IIGS         fa
GS 816     thats ga not fa
AFL Jim    Anyone else want to throw in their favorite intro to programming
          book?
Dave Lyons (Besides alpha reference manuals, you mean? :-)
EyeStrain  The TML pascal manual and source code sampler help.
FourPi     Mark Andrews, Programming the Apple IIgs in C and Assembly
          Language
AFA Gary J Q = Rodge, Mick, Parik
BillP      disassembling Niftylist helps
AFA Parik  heck, forget the books, just grab a Dave Lyons Reference Set.
AFL Jim    If you're going to learn to program from scratch, I'd suggest a
          good Pascal
AFL Jim    text book and either ORCA Pascal or TML Pascal.
Matt DTS   A Bad Pascal will teach you more but won't be as much fun.
AFL Jim    Matt :P
Matt DTS   (obnoxious but true)
AFL Jim    Mick, go ahead with your question.
Mick10     The TML Basic is pretty good for structure if you've seen a little
          of Pascal or
FourPi     !
AFA Gary J Q = Rodge (FourPi), Mick, Parik
Mick10     But My ? is about MIDI tools.  Any good references?
AFA Gary J oops.
AFA Gary J Q = Mick (FourPi), Parik
Matt DTS   !
AFL Jim    There's a good article in Call-A.P.P.L.E. (December 1988 issue)
          that you
AFL Jim    should read. It's by Apple's Jim Mensch.
AFL Jim    GA FourPi
Dave Lyons !
FourPi     I have been trying to use APW C and having a lot of trouble
FourPi     getting past a simple desktop.
FourPi     I get lots of compile errors from things like
AFL Jim    FourPi, we'll have to get to you in a minute on that. The subject
          now is
AFL Jim    MIDI tools.
AFL Jim    GA Matt
Matt DTS   There are three main published MIDI Tools references or articles
          you should investigate:
Matt DTS   One is the Apple IIgs Toolbox Reference Update, giving the
          Official Word on the subject.
AFA Gary J Q = Mick, Parik, FourPi
Matt DTS   Two is the release notes for System Disk 4.0, also available from
          APDA.
Matt DTS   Three is the article by Jim Mensch previously mentioned.
Matt DTS   Four is an Apple IIgs tech note we'll try to get out in our next
          mailing (May), which...
Matt DTS   ...tells you how to write your own MIDI Drivers.  GA.
AFL Jim    Anything to add to that, Dave? GA
Dave Lyons (My ! was on BASIC and structure...what happened to that topic?)
Mick10     Ok. Thanks I've got the release notes for GS/OS they only included
          the Sound
Mick10     Tools
AFL Jim    Parik, your question? GA
AFA Gary J Q = Mick, Parik, FourPi
AFA Parik  1) Do one second interrupts get affected by the TW GS?  Mine seems
          to (I'm not
AFA Gary J Q = Parik, FourPi
AFA Parik  sure, its very erratic but works fine in normal mode)?
AFA Parik  ga
AFL Jim    (Dave, it wasn't the subject... it was a comment :)
Matt DTS   Don't ask us; ask Applied Engineering!  <grin>
AFA Parik  :P
AFA Gary J heheh
Matt DTS   I don't know of anyone else who would *know*; just others who
          might *guess*.
AFA Parik  2) has anyone played with diversi tunes songs?  Obviously you
          can't use some
AFL Jim    That's probably a good place to start, Parik. I have only _seen_ a
          TranswarpGS
AFL Jim    one time.
AFA Parik  tools with them, i'll contact Bill Basham for more info on this
          but I'm wonderi
AFA Parik  if anyone has some first hand knowledge (easy, hard, give it up,
          etc :)
AFA Gary J Q = Parik, FourPi
AFA Parik  Ga <done, etc>
Dave Lyons !
AFL Jim    Bill is a Forum Developer here on AppleLink, Parik. He may or may
          not want to
AFL Jim    give out the file format. GA Dave
Dave Lyons I don't understand the question, I guess...do you have the file
          formats for the
Dave Lyons songs?  What do you mean about no being able to use tools "with"
          the songs? ga
AFA Parik  I don't have diddly squat.  :)  My friend loves using the program,
          so I need to
Matt DTS   !
AFA Parik  find some way to play them.  I doubt they output in ASIF
          format...?
Dave Lyons !
AFA Gary J Q = Parik (Matt, Dave), FourPi
AFL Jim    Bill was supposed to have a conversion utility, but I don't know
          if he's writte
AFL Jim    n it yet.
AFL Jim    Matt GA
Matt DTS   Once upon a long time ago, Bill said he would release the file
          format if there was interest.
Matt DTS   Currently I don't have the formats, published or unpublished.
          GA.
AFL Jim    Dave GA
Dave Lyons You want to PLAY the songs?  You already have a way to do that:
          Use
Dave Lyons Diversi-Tune!
Dave Lyons ga
AFA Gary J :)
AFA Parik  I don't think a progam should be saying "Please load
          diversi-tune"...:)
AFL Jim    OK FourPi, what kind of C problems are you having??
AFA Parik  Clarification:  I want to play them inside MY program.
AFL Jim    GA
BillP      !
AFA Parik  (But I'll ask bill, ga)
AFA Gary J Q = FourPi
FourPi     I have problems with APW compiling corectly for simple structures
          that
AFA Parik  SOMEONE hit the OA_M/A key...:)
FourPi     contain NULL.
AFA Gary J (darn OA-C!!)
Dave Lyons !
AFA Gary J Q = FourPi (Dave)
FourPi     I have to use 0L and other dodges to compile successfully.
Dave Lyons Can you give us a small example of what you mean? And are you
          talking APW C?
FourPi     I am talking APW C.
THE GIBBER (gezzz..... hard time connecting tonight)
Dave Lyons And the problem is:  errors at compile time, incorrectly
          initialized structs?
AFA Gary J Q = FourPi (Dave), BillP
FourPi     When I try to use the Print Manager mainly.
Dave Lyons You're saying the structures are not properly set up with your
          initial values,
Dave Lyons then, right?
BLACKJACK7 HELLO?
FourPi     Right
FourPi     Do I need to set up NULL?
Dave Lyons Well...I guess it'd help to know how you KNOW they are wrong.
          NULL should
Dave Lyons already be #define-ed in <stdio.h>.  If you had no definition, you
          would get an
Dave Lyons error at compile time.
AFA Gary J Q = FourPi (Dave), BillP
FourPi     What I get is an error something like pointers to different
          structures.
Dave Lyons Ah.  I thought you were saying it compiled successfully but didn't
          have the
Mick10     !
Dave Lyons correct data set up in the structure.  What you need to do is look
          at the
Dave Lyons declaration (in <print.h> or whatever) of the structure you are
          initializing,
AFA Gary J Q = FourPi (Dave, Mick), BillP
Dave Lyons and use something like   (ThisDataType) NULL   instead of just
          NULL, to "cast"
Dave Lyons the value into the correct type.
Dave Lyons (The data type can be more compliated than a name:    (unsigned
          **) NULL would
Dave Lyons be a pointer to a pointer to an unsigned integer, for example.)
DaviesDoug ?
Dave Lyons Does that help?
AFA Gary J Q = FourPi (Dave, Mick), BillP, Doug
FourPi     OK.  I'll check all the structures and set them by hand.
AFL Jim    Mick, GA with your comment.
FourPi     Thanks.  I'm through complaining.
Mick10     Is TML's Basic data struc similar to their Pascal structures.
          and..
Mick10     Basic has some bugs and am thinking of just going to Pascal
AFL Jim    Well, that's really a question, but no, they aren't the same and
          you would
AFL Jim    probably be better off with Pascal.
Dave Lyons !
AFL Jim    GA Dave
Dave Lyons (Or whatever punctuation means a comment to a comment. :)
Dave Lyons BASIC has no RECORDs the way Pascal does--that is
Dave Lyons very, very icky, especially for dealing with the toolbox.  I was
          going to
Dave Lyons say earlier that there are TWO kinds of "structure" that are both
          important.
Mick10     But the Tools interface is the same.
AFA Gary J Q = Mick (Dave), BillP, Doug
Dave Lyons Conrol strucutures like repeat...until, while, for, etc, and "data
          structures,"
Dave Lyons which include arrays and records.  BASIC has only arrays, which
          are collections
Dave Lyons of things all of the same type.  RECORDs (in C, "structures") are
          collections
Dave Lyons of named things of possibly different types, and when you use the
          toolbox you
Dave Lyons often need to deal with records.  It can be done in BASIC, but
          only by knowing
Dave Lyons how many bytes from the beginning of an "array" each piece of info
          starts.
Dave Lyons Icky.  (don)
Dave Lyons (or "done", even)
Mick10     Ok.  It was the data structure I was getting at.  Dont want to
          write new ones
AFL Jim    OK Bill, GA
AFA Gary J Q = BillP, Doug
BillP      This relates back to a previous question...
BillP      and actually to a flash note I just got...    Now suppose...
BillP      suppose mind you....
BillP      that AppleLink IIGS allowed you to play music while online....
BillP      which music format would be the format of choice...
BillP      ie...   should it support music studio....   Diversi tune
          format...
AFA Parik  all :)
BillP      open for comments..      ga
AFL Vince  how about generic digitized sound format, whatever that is...
Matt DTS   !
BillP      no one is preferred over another then
AFL Jim    GA Matt
AFA Gary J Q = Bill (Matt), Doug
AFL Jim    (I'm with Vince)
BillP      digitize is easy...  its playing sequences that we need to do
Matt DTS   I personally would prefer Audio IFF for sounds; it's quite
          flexible.
MattDenman !
AFL Jim    GA MattD
AFA Gary J Q = Bill (MattDenman), Doug
MattDenman You could use the MIDI Standard file formatt.
Arney      GA
MattDenman And if your "Sequencer" didn't use that as an input
MattDenman it should be fairly easy to write a converter.
BillP      we'd need something as cruched as possible.
BillP      I think you're right about the converter
BillP      thanks
AFL Jim    Doug, GA with your question.
DaviesDoug GS/OS Question : I want to open up a directory that DOES NOT have
          read.....
AFA Gary J Q = Doug
DaviesDoug priveleges to do get_dir_entry's on......
DaviesDoug ok, I open it with request_access = 2 and I get an error.....
DaviesDoug of course.....
DaviesDoug but how come request = 0 works fine then....
DaviesDoug when I am going to read anyway....
DaviesDoug seems sorta funny.
DaviesDoug .done.
Dave Lyons !
Matt DTS   !
AFL Jim    Dave GA
AFA Gary J Q = Doug (Dave, Matt)
Dave Lyons What am I missing?  You won't be able to read anything from it
          anyway, right,
AFL Jim    (he beat you Matt)
DaviesDoug with getdirentry's I am, aren't I?
Dave Lyons so you're just asking why you don't get an error for access=0
          request?  Does
Matt DTS   Are you saying GetDirEntry succeeds to a file you don't have read
          access to?
Dave Lyons that mean "all access possible," so that it gives you all it can,
          which is
Dave Lyons nothing?  (done)
DaviesDoug ok, so file not open for reading if i just ask for access 0
DaviesDoug and get_dir_entry doesn't need read access
DaviesDoug just an open file, right?
Dave Lyons GetDirEntry doesn't open any files.
Dave Lyons Right?
Matt DTS   Doug:  Are you saying that if you do GetDirEntry on a directory
          that you DON'T have read access to...
DaviesDoug but you need to open the directory for the call, dave
Dave Lyons Oops, sorry.  Misread your message.
Matt DTS   ...that it succeeds?  (gives you an entry and no errors?)
DaviesDoug Well, it seems Finder lets me try to copy
DaviesDoug a folder that did not have read access....and it traversed
DaviesDoug all the sub-directories
DaviesDoug shouldn't have let me see them
DaviesDoug This is all on MY HARD DISK
AFA Gary J Q = Doug (Dave/Matt)
DaviesDoug using GSOS 4.0 calls
Matt DTS   Doug:  Let's take this off-line.  This is getting a little long
          and involved and our time's up.
DaviesDoug .fine.
AFA Gary J Post in "Let's Discuss..."
AFA Parik  Great chat, at least 40 people came through...more than we get a
          year.  heh
AFL Jim    Well, it's time to close this meeting. Thanks for coming
          tonight.
THE GIBBER parik.... If only I could stay on I would have stayed here....:(
THE GIBBER I keep being thrown off.....
THE GIBBER on
AFA Gary J ()()()()()()()!
GS 816     Nice chat.... enjoyed it!   :)
AFA Gary J Yes.
AFA Parik  (.)  (.)   :)
Matt DTS   See y'all next week!  Gotta keep an appointment.
THE GIBBER Great Eyes parik
Dave Lyons Bye all, and may you never draw in a closed port....
AFA Parik  Yup John.
THE GIBBER Bye Dave