America Online APPLE II DEVLOPMENT FORUM CONFERENCE LOG Tuesday, April 10, 1990 10:00 pm eastern time Topic: Desktop Programming in Assembly Language Forum Leader: Dave Sugar (AFL Dyfet) AFA Gary J Anyone know of a utility for ORCA shell to allow physical appending of two AFA Gary J source files? Dave Lyons Other than Cut and Paste, Gary? Doesn't that work? AFA Gary J Yes, that works, but it very tedious. (I have about 32 little data files AFA Gary J that I'd like to stick together :) Coach101 If the names are subject to wildarcarding..... Coach101 You could use "type wildcardfilename >newfile Coach101 ga AFA Gary J Hmmm. That's an interesting idea, Coach. I hadn't thought of that. AFA Gary J That should work. Matt DTS Is this an APW question? AFA Gary J Thanks! AFA Gary J APW or ORCA. AFL Dyfet I think it kinda is Matt :) Coach101 I send the bill :) AFA Gary J (ORCA, really) Matt DTS Part of the APW tools/update package is an APW tool called "JOIN" that does that to two files... Matt DTS (necessary for LinkIIgs to combine .A and .ROOT files) AFA Gary J JOIN? Sounds good. I wonder if Mike's got something like that coming too. Matt DTS You can use the APW tools package with ORCA/M. AFL Dyfet Well, then, I guess we will officially get started... AFL Dyfet Good evening and welcome to the Apple II Development Forum. Tonight's topic is AFL Dyfet Assembly Language Programming for Desktop Applications. We will be using AFL Dyfet protocol tonight, which means that if you wish to ask a question, please enter AFL Dyfet a '?' on a line by itself and if you wish to comment on the question being AFL Dyfet asked, enter a '!' on a line by itself. You will be called in turn. I believe AFL Dyfet Derich is first and has the floor now for his questions. GA Derich. Derich Would very much like to learn how to obtain excellent programming Derich tips for a novice assembly language programmer Derich Just obtained APW and Merlin... now need some help on Derich getting started. Bouhgt some good books... Derich ...END OF TRANSMISSION Derich ;) AFL Dyfet GA Gary... AFA Gary J A GOOD book for learning APW is "Programming the Apple IIGS in Assembly AFA Gary J Language" by Ron Litchy and David Eyes. Derich Hang on.. Derich Yep... I have it. AFA Gary J It takes you step by step through the creation of a desktop program. Derich But I lost the addenum of Hello World program... anyone have the correction? AFA Gary J Good... That'll put you in good shape :) AFA Gary J I don't think I do...(If I did, I lost it too :) AFA Gary J GA Derich That's the first book I bought after obtaining APW. Derich Is there a way to contact Mr. Eyes or Mr. Litchy via computer? AFA Gary J Ron Litchy was here last week AFA Gary J (at this meeting) Derich Followed by ICONIX GS, and Apple IIGS Techinical Reference. Derich Aw, shoot! Matt DTS (or his close associate, Ron Lichty) AFA Gary J :) Right, Matt. AFA Gary J I think that's his screen name too. AFA Gary J I think Roger Wagner Publishing has a book out for Merlin (but AFA Gary J don't remember the name) GA AFA Gary J ? AFL Dyfet GA Gary... AFA Gary J I've seen lots of info on this in the past, and have been trying to round it AFA Gary J up for a project I'm working on.... AFA Gary J What's the proper procedure for making a SHR Pic file the sole open window AFA Gary J on the screen (full screen) so that dialogs and that sort of thing AFA Gary J go away properly when they're closed? AFA Gary J (Make the PIC like the desktop background, that is) AFA Gary J GA AFL Dyfet GA Matt...:) Matt DTS Well, one way to do it... Matt DTS ...is to create a window with whatever frame you choose off-screen... Matt DTS (for example, to set the coordinates so that any title bar would be under the menu bar) Matt DTS And handle update events the way you like. That way the window's content area occupies the same Matt DTS space as "the desktop". A disadvantage is that if you put another window (like an NDA window) in Matt DTS front of it, any click on the content of your big window will seem to make the DAs close. They're Matt DTS really open, but behind a big window. Several games I've seen do this (Tetris, Bounce-It! I think) Matt DTS GA. AFA Gary J That's the idea I want, but I want to make the menu bar disappear from time AFA Gary J to time. That would leave the title bar showing, wouldn't it? AFA Gary J GA Matt DTS If you make the window so that the title would be underneath the menu bar, yes it would. :) Matt DTS Hiding the menu bar is not a great thing, anyway. Matt DTS GA AFA Gary J Are there any other alternatives? (Not that I dislike your idea, Matt, but AFA Gary J just want to explore the possibilities :) AFA Gary J GA Dave Lyons First, you can always make your window even taller, so that the title bar is up above the top of the Dave Lyons scrn even when the menu bar is hidden. Dave Lyons The other approach is to use a new-with-5.0 feature & put a message Dave Lyons in the MessageCenter for the Window Manager to use. That may not be very workable if you want this ju Dave Lyons just for inside your application. Dave Lyons Finally, you could use the Desktop call in Dave Lyons the Window Manager to set a pointer to your own routine to draw the desktop. ga AFA Gary J How does something like Deluxe Paint do it, where NDA's do work properly? AFA Gary J :) Nifty list to the rescue :) Dave Lyons Haven't tried Deluxe Paint, but if you want to know Dave Lyons whether it's a window or not, fire it up and go into Nifty List (which, of course, you keep Dave Lyons in your machine at all times, just to settle questions like this), and type ~w to see the Dave Lyons window list. AFL Dyfet Of course, Dave :) Dave Lyons :) AFA Gary J :) AFA Gary J Thanks! GA Dave Lyons (They think I'm not serious about having it there all the time! Have you ever seen me Dave Lyons around a GS without a Nifty List in it? It's not a pretty sight.) JSchober (Dave's using a custom GS with NiftyList in ROM :) AFA Gary J MINE is there all the time! :) Dave Lyons (The thought has crossed my mind, Joe...NL is *not* even close to being ROMmable at the moment, tho.) AFL Dyfet Okay, I believe Markus has the next question...GA Markus... AFL Scott <---Goes nowhere without NiftyList Markus I have two questions about the TaskMasterDA call... WinkieJim Maqybe that's what happened to ROM 02 :) :) Markus Now, when it handles a pop-up control in a nda window, how far does it go... Markus and what is the event type it eventually returns? GA WinkieJim GA Dave...you're the expert... Dave Lyons Okay...I believe it returns wInControl and gives you (in one of Dave Lyons those extra wmTaskData fields...don't recall which one) the longword ID of the pop-up control that Matt DTS (in TaskData4, actually) Dave Lyons you clicked in. If you want to know the new setting, you can go do a GetCtlValue on the Dave Lyons control handle, which you can get from GetCtlHandleFromID. (Right, Matt?) ga WinkieJim Exactly...you have to call trackcontrol... WinkieJim ...with the control handle you get from TMDA... WinkieJim it didn't fo me...it handles the initial click on the control...then it's up to WinkieJim you. Markus You have to call trackcontrol? Ithought it highlighted the new selection for yo Dave Lyons JSchober (why is Dave flipping?) Matt DTS You do *not* have to call TrackControl IF you set the TaskMask bit telling TaskMaster to do so. AFL Dyfet Dave needs to make a 'Nifty Man' :) AFA Gary J (Dave = gymnist) Matt DTS (Dave is flipping through TB Ref Vol. 3, most certainly) Markus Ahhh, ok. Dave Lyons I'm looking in TB Ref 3 in the JSchober (oh, PAGES flipping -- I thought it was DAVE flipping. IGSC...) Matt DTS "gymnast". I think you've got Dyfet's Disease, Gary. WinkieJim Well, darn...I had to use track control in SuperInfo...might have made a boo- WinkieJim boo somewhere... Dave Lyons TaskMasterContent pseudo-code (TaskMaster[DA] calls TaskMasterContent when it sees you clicked Dave Lyons in a window content, and it claims to call TrackControl for you--no problemo. Markus My second question is about the pointer to the task record handed to you by... Markus the application... Tamira Dyfet's Disease???? AFL Dyfet Speeling :) Markus the pointer comes in the x and y registers right? I've had problems copying the Markus data to a new extended record. Markus I save the x and y info in a location and use it as a pointer and use Markus indirect adressing to copy it into my record...but nothing seems to happen. Markus TaskmasterDA doesn't update the window or anything. :( Markus GA Dave Lyons Jumped the gun...I was going to ask "What kind of problems." No data is getting Dave Lyons copied? Guess we'll have to see some actual code on that one. Did you set up a "stack frame" so Dave Lyons that you have some direct-page locations to use for indirect addressing ("lda [1],y", etc)? Using Markus No, I never push x and y onto the satack. Markus er, stack :) Dave Lyons direct-page in your NDA without setting the D register is a definite no-no. Markus I use long-indexed, sorry. Dave Lyons Okay, so how -are- you copying it? Don't understand. Are you setting the Bank register? Coach101 Long-Indexed addressing Dave Matt DTS Different people call addressing modes different things. Give an example, someone. Markus I don't set the bank register. Dave Lyons How can you read from an address in XY using long-indexed addressing? LDA >$123456,X? Markus I save the x y address in a location called HisTaskRecord. WinkieJim He probably saves the X & Y reg right after the LDA instruction... Markus and I do a LDA >HisTaskRecord,X. Dave Lyons Ah. Then you're loading the data stored at the label HisTaskRecord, when you Dave Lyons *want* to be loading the data that those first four bytes point to. Markus Hmm, I thought I used the indirect mode though... Markus so it treaded HistTaskRecord as a pointer. Dave Lyons Well, I betcha didn't, because there is no indirect mode that doesn't require the pointer to be on Dave Lyons direct page. Markus Yep. I see it now. Thanks. :) I feel kinda foolish. Markus GA Dave Lyons You can Dave Lyons always do a BlockMove if setting up direct-page is painful. Dave Lyons By the way, TastMasterDA *can* result in your Dave Lyons window getting updated, if you call it in response to an update event that you receive, and you have Dave Lyons the update bit turned on in the TaskMask, and your window has a content-draw routine. GA Markus Isn't there a way to use the stack addressing modes? Markus (to indirectly copy the record) Markus GA AFL Dyfet GA Dave... Dave Lyons (If Matt's not taking that part of the ?, then-- Dave Lyons sure, you can always PHD, PHq PHr, TSC, TCD, ... LDA [1],Y ... PLX PLX PLD (where q and r are Dave Lyons either X and Y or Y and X...can't remember which way it passes it to you). To use the weird Dave Lyons addr mode "($xx,S),Y" you would need to set the Bank register first, which is more of a pain than Dave Lyons using a bit of stack space as direct-page space. GA Markus Ok, thank you. I'm done. Matt DTS Also please take the following notes - there will be a quiz: Matt DTS 1) NDAs are not passed *task* records, they are passed *event* records. There is an important Matt DTS difference. Matt DTS 2) For some reason, TaskMasterDA needs the extended fields (those not in the Event record also) Matt DTS to be zeroed on the first call, so make sure you copy the values from the event record into a nicely Matt DTS clean block of memory. Without doing so, it gets really confused. Matt DTS GA. Markus :) Got it on paper. AFL Dyfet Okay, do we have any more questions or comments for tonight?? Coach101 One, generic, ? for Matt... Coach101 Sometime back, in this Forum, we were discussing paper vs. AW manuals Coach101 and the subject of GS/OS III and TB III as either Beta or AW came up Coach101 as a "How do the developers feel question". Are these two valuable Coach101 manuals progressing well towards publication? (if you can comment) ga Matt DTS I don't have any record of any "GS/OS III" manual. In fact, I don't know of any Apple II manual with Matt DTS any Roman numeral in the title (other than the "II" in "Apple II", natch.) Matt DTS Toolbox Reference volume 3 is in production at Addison-Wesley, to my knowledge. Dave Lyons (Good answer.) Coach101 <---- Load my nitpicker rocket launcher! JSchober :) AFA Gary J :) Matt DTS GS/OS Reference (including System Software 5.0) is in final draft stages, and will go to AW (at least, Matt DTS we currently plan it to do so) when it's ready. Could be within the month. Matt DTS We currently do *not* plan to send Apple IIc Technical Reference, Second Edition to Addison-Wesley Matt DTS since sales of its predecessors have been so slow. So don't be waiting for that one - call APDA now. Matt DTS GA. Coach101 Matt, if you could give me the coordinates of your home, I will adjust the AFA Gary J heheh LOL! Coach101 the targeting of the next Trident launch :) Tamira LOL Matt DTS Go take a pill of some kind. Next? Dave Lyons (There's some guy on InterNet who signs his notes with ICBM coordinates after the others....) JSchober :) JSchober (Murph Sewall does that, doesn't he?) A GibberFC Thats our problem Matt... We are taking too many pills AFL Dyfet Okay, GA Gary... AFA Gary J Does anyone know if there's a driver available for GS/OS that'll allow the AFA Gary J ImageWriter LQ to work on the GS to it's fullest potential? AFA Gary J (Or even close to it? :) AFA Gary J GA Matt DTS Still a coming attraction. GA. AFA Gary J Ok (That's what I though). Thanks. AFA Gary J GA AFA Gary J though = thought :) AFA Gary J (Before Matt corrects me :)