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