textfiles/apple/ADC/adv.900410

320 lines
15 KiB
Plaintext

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 <flip, flip, flip>
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 <grin>
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 :)