mirror of
https://github.com/opsxcq/mirror-textfiles.com.git
synced 2025-08-14 07:24:18 +02:00
448 lines
18 KiB
Plaintext
448 lines
18 KiB
Plaintext
AppleLink
|
|
APPLE II DEVELOPMENT FORUM CONFERENCE LOG
|
|
April 11, 1989 10:00 p.m. Eastern time
|
|
Topic: Assembly Language
|
|
Forum Leader: Dave Sugar (AFL Dyfet)
|
|
|
|
AFL Dyfet Okay, good evening and welcome to the tuesday night Apple
|
|
Development forum chat. Tonight's topic will be assembly language
|
|
programming. We will be using PROTOCOL here tonight. This means that if you wish to ask a question, you must enter a '?' on a line
|
|
by itself. If you wish to comment on the current question being
|
|
asked, you must enter a '!' on a line by itself. We will keep track
|
|
of who has questions and comments pending and call upon you in the
|
|
order your question and/or comment was noticed. We are now open to
|
|
questions, so rush to it, people!
|
|
AFL TracyP ?
|
|
AFL Dyfet GA Tracy
|
|
AFL TracyP Question from a rookie programmer....how best to start?
|
|
AFL TracyP Then I'll let thepros take over...:)
|
|
AFL Dyfet Good question. Anyone wish to comment on this one?
|
|
AFL TracyP What
|
|
CecilFret !
|
|
AFL Dyfet Go ahead Cecil.
|
|
Shoggoth2 !
|
|
AFL TracyP What's the best source material forlearning?
|
|
CecilFret First get yourself a good assembler. SOme of this depends on what
|
|
books you
|
|
CecilFret choose to buy. For example, Compute! has published a book by
|
|
Roger Wagner
|
|
David C137 What assembler do you reccomend?
|
|
AFL Dyfet Q=Tracy (Cecil, Shoggoth)
|
|
CecilFret entitled Apple IIgs Machine Langauge for Beginners. It uses
|
|
Merlin 16 as
|
|
DwayneW ?
|
|
CecilFret sold by Roger Wagner. After that, just wade in
|
|
CecilFret ga
|
|
AFL Dyfet Okay, your up now, Shaggoth, GA.
|
|
CecilFret !
|
|
Shoggoth2 I was going to recommend Roger Wagner's book too. I think it's
|
|
excellent.
|
|
Shoggoth2 He also has one for Apple IIe/c
|
|
Coach101 !
|
|
Shoggoth2 As for assemblers...I have to get this in...I like Lisa816...it's
|
|
underrated.
|
|
Windrider5 ?
|
|
AFL Dyfet Okay, I believe DaveC was next...GA Dave...
|
|
David C137 What assembler do you reccomend
|
|
David C137 and is there any protocol being observed
|
|
AFL Dyfet I believe it's Cecil's turn now...GA Cecil.
|
|
CecilFret For assemblers, if you have a pre-IIgs, Merlin by Glen Bredon and
|
|
sold by
|
|
CecilFret Roger Wanger Publishing is good. For the IIgs, I can pick no
|
|
particular one
|
|
CecilFret of choice. I use APW, ORCA/M and Merlin in reviewing articeles
|
|
for
|
|
CecilFret Call -A.P.P.L.E.
|
|
CecilFret ga
|
|
AFL Dyfet GA Coach.
|
|
AFA Gary J Q = Tracy (Cecil, Coach), Dwayne, Windryder
|
|
Coach101 Besides a good book, and an assembler, read as much assembler
|
|
code
|
|
Coach101 as you can get your hands on. There is almost no substitute for
|
|
Shoggoth2 !
|
|
Coach101 understnading how other people have done things. You will pick
|
|
up
|
|
Coach101 some tricks and improve your coding speed and proficiency. GA
|
|
AFL Dyfet I would recommend Merlin and the programming book supplied by
|
|
Roger Wagner
|
|
AFL Dyfet myself. GA Shaggoth...
|
|
Shoggoth2 I've found it helpful to examine the code output by compilers in
|
|
learning. GA
|
|
DennisDoms !
|
|
AFL Dyfet GA Dennis.
|
|
DennisDoms I was going to say that the Merlin 16+ package includes Merlin Pro
|
|
(for...
|
|
Nuzz !
|
|
AFA Gary J Q = Tracy (Dennis, Shoggoth), Dwayne, Windryder
|
|
DennisDoms 128K IIe/IIc), Merlin 816 (for IIe/c with 65802, or IIgs), and
|
|
Merlin 16+..
|
|
DennisDoms for the IIgs, which covers a lot of bases. I had switched to
|
|
ORCA/APW, ...
|
|
DennisDoms but as a straight assembler I'm finding a lot to like in Merlin.
|
|
Lisa 816...
|
|
DennisDoms may be good, but it may also be in transition (the version I have
|
|
does not...
|
|
David C137 ?
|
|
AFA Gary J Q = Tracy (Dennis, Shoggoth, Nuzz), Dwayne, Windryder, David C
|
|
DennisDoms look complete.). Also, if you're looking at books for the IIgs, I
|
|
like the...
|
|
DennisDoms Lichty/Eyes "Programming the IIgs in Assembly Language" book.
|
|
DennisDoms GA
|
|
AFL Dyfet Incidently I plan to schedule in a 'novice' conf. sometime in the
|
|
next few
|
|
DennisDoms !
|
|
AFL Dyfet months. I would like to wrap this question up with the comments
|
|
now pending
|
|
AFL Dyfet from Nuzz and Dennis and move on to the other questions out there.
|
|
GA Nuzz.
|
|
Nuzz I've always found that to learn, start with a basic task. Write a
|
|
SMALL ---
|
|
Nuzz and don't stop till its done...GA
|
|
AFL Dyfet Okay, Dennis, GA.
|
|
DennisDoms Almost forgot...an advantage of Merlin is the disassembler
|
|
(Sourceror) ...
|
|
DennisDoms which can give you some training in taking apart existing code.
|
|
GA
|
|
AFL TracyP Thanks fellows........
|
|
AFL Dyfet Okay, thank you Dennis. Our next question is from Dwayne. GA
|
|
Dwayne.
|
|
AFA Gary J Q = Dwayne, Windryder, David C
|
|
DwayneW I would like to know of a good source to learn some basic math
|
|
algorithms...
|
|
JimMensch !
|
|
DwayneW in assembler. I've been writing some code for some time, but
|
|
floating point
|
|
Solo GS I need help with ImageWriter II printing problems....
|
|
DwayneW and normal mult, div functions give me trouble.
|
|
Shoggoth2 !
|
|
AFL Dyfet Okay, Jim.
|
|
AFL Dyfet GA
|
|
JimMensch Well, two books that I know of are Programming the 65816 by eyes
|
|
and Lichty (excelent integer
|
|
JimMensch multiply and divide routines (but they could be a little
|
|
faster...
|
|
Solo GS geezzzzzzzzz
|
|
AFA Gary J Q = Dwayne (Jim M, Shoggoth), Windryder, David C
|
|
JimMensch and for floating point, Mike fischers 65816 assembly language
|
|
programming ( the examples are not
|
|
JimMensch very fast but the explanations of floating point are quite
|
|
good...)
|
|
JimMensch GA
|
|
AFL Dyfet Okay, thank you Jim. I believe Shoggoth is next. GA Shoggoth.
|
|
Shoggoth2 Just take the easy way out and use SANE. mult & div are a pain on
|
|
65xxx chips
|
|
Shoggoth2 GA
|
|
DwayneW !
|
|
AFL Dyfet Okay, are there any more comments?
|
|
AFL Dyfet Okay, GA Dwayne...
|
|
AFA Parik !
|
|
DwayneW I would use SANE, but the project I'm working on is for a //e,
|
|
although I am
|
|
DwayneW writing the code on a //gs. :)
|
|
DennisDoms !
|
|
Shoggoth2 !
|
|
AFA Gary J Q = Dwayne (Parik, Dennis, Shoggoth), Windryder, David C
|
|
AFL Dyfet Okay, GA Parik.
|
|
AFA Parik 6502 Software Design by LEO J. SCANLON contains a lot of examples.
|
|
GA
|
|
AFL Dyfet Okay, Dennis, GA.
|
|
DennisDoms Bob Sander-Cederloff printed some routines in Apple Assembly
|
|
Lines; you may...
|
|
DennisDoms be able to reach him via Applied Engineering. ?: Does Apple still
|
|
license...
|
|
DennisDoms the 8-bit version of SANE? That may be an option.
|
|
AFL Dyfet I believe your up now, Shoggoth, GA.
|
|
Shoggoth2 As Dennis said, there was a 6502 SANE. I've got it. Don't know
|
|
if it's...
|
|
Shoggoth2 still avail. GA
|
|
Matt DTS !
|
|
AFL Dyfet I'd have to find one of my Apple sheets to check...maybe Matt :)
|
|
knows...
|
|
AFA Gary J Q = Dwayne (Matt), Windryder, David C
|
|
AFL Dyfet GA Matt
|
|
Matt DTS It's still available from Software Licensing, who will send you
|
|
information for the simple act of...
|
|
Matt DTS ...calling (408) 974-4667. GA.
|
|
AFL Dyfet Okay, are there any more comments?
|
|
AFL Dyfet Our next question was from Windryder. GA Windryder...
|
|
Windrider5 Any suggestions about mixing Assembly and C e.g. when to use each
|
|
language in
|
|
Windrider5 a program
|
|
Coach101 !
|
|
CecilFret !
|
|
AFL Dyfet GA Coach.
|
|
Coach101 I would suggest using C as much as is possible in the early stages
|
|
of the program development; using assembly only where it is
|
|
absolutely
|
|
Coach101 required (i.e., manipulating the B register is a good example).
|
|
Coach101 Once the program is up and functional, then convert speed
|
|
bottlenecks
|
|
Coach101 and/or size bottle necks into assembly (using the C source as
|
|
the
|
|
Coach101 algorithm to implement). Generally speaking, you will code
|
|
faster
|
|
Coach101 and with less bugs in a higher level language... ga
|
|
Shoggoth2 ?
|
|
AFL Dyfet Okay, I believe you are up now, Cecil, GA.
|
|
CecilFret Coach pretty much covered what I wanted to say. I just want to
|
|
add that the
|
|
CecilFret May issue fo Call -A.P.P.L.E. has an article on how to interface C
|
|
with
|
|
CecilFret Assembly language.
|
|
CecilFret ga
|
|
DennisDoms !
|
|
AFL Dyfet GA Dennis.
|
|
DennisDoms This is theoretical at present, but the ORCA Desktop Debugger has
|
|
a ...
|
|
DennisDoms "profiler" utility that will help show where the program is
|
|
spending it's...
|
|
AFA Gary J Q = Windrider (Dennis), David C, Shoggoth
|
|
DennisDoms time. If ORCA/C utilyzes this (when released :), this would be a
|
|
useful...
|
|
DennisDoms tool in determining where to apply assembly (or better
|
|
algorithms). GA
|
|
Brin Londo Have used Profiler
|
|
AFL Dyfet I believe our next question is from David C. GA David.
|
|
David C137 I have heard that Orca/M is ponderous and difficult to use. Is
|
|
this true?..
|
|
DwayneW !
|
|
AFL Dyfet GA Dwayne.
|
|
David C137 And any info on the novice conference would be appreciated. GA
|
|
DwayneW I'm little better than a novice, but I haven't had much trouble
|
|
learning to
|
|
CecilFret !
|
|
DwayneW use ORCA/M. My only gripe is having to quit to use applesoft,
|
|
then rerun
|
|
DwayneW ORCA/M to change some more code in my programs. GA
|
|
AFL Dyfet GA Cecil.
|
|
AFA Gary J Q = David C (Cecil), Shoggoth
|
|
CecilFret I think a lot of packages like ORCA/M are ponderous at first.
|
|
CecilFret Even for someone like myself who has been in the business for
|
|
years.
|
|
CecilFret You are right, exiting out to Applesoft is a pain then having to
|
|
come back
|
|
CecilFret in. Unfortunaltely, this is a "problem" with the rest like APW.
|
|
CecilFret ga
|
|
Coach101 !
|
|
AFL Dyfet In regards to the 'novice' conf., I plan to hold the first one
|
|
sometime in late
|
|
AFL Dyfet may. GA Coach.
|
|
AFA Gary J Q = David C (Coach), Shoggoth
|
|
Coach101 The exiting/re-entering should not be that bad. With APW and I
|
|
David C137 !
|
|
Coach101 probably with ORCA you can define an alias that will make it
|
|
Doc Arcane ?
|
|
Coach101 possible to use a simple command to get to AppleSoft. Getting
|
|
Coach101 back is as simple as stroking BYE. If you have enought memory
|
|
Coach101 your times may be even quicker (less disk activity?). ga
|
|
AFL Dyfet Okay, thank you coach. GA David C.
|
|
David C137 I would suggest using programming excercises for beginners like
|
|
me. GA
|
|
Brin Londo !
|
|
AFL Dyfet Okay, Brin, GA.
|
|
AFA Gary J Q = David C (Brin), Shoggoth, Doc Arcane
|
|
Brin Londo Would it be possible to have a "Switcher" for Applesoft. We're
|
|
only taking
|
|
Brin Londo about swapping 64k. GA
|
|
AFL Dyfet Any comments?
|
|
Dave Lyons !
|
|
AFL Dyfet I knew you would, Dave :). GA Dave...
|
|
Dave Lyons SoftSwitch already works for Applesoft...am I missing the
|
|
question?
|
|
Brin Londo !
|
|
Dave Lyons If the ? is switching out 16-bit application, there are lots of
|
|
problems. ga
|
|
AFL Dyfet GA Brin.
|
|
Brin Londo Interrupt, save state, swap banks, cold start ProDOS8? GA
|
|
AFL Dyfet I believe our next question is from Shoggoth. GA shoggoth.
|
|
Shoggoth2 For Matt: You probably can't comment, but I'm waiting desperately
|
|
for GS/OS...
|
|
AFA Parik ?
|
|
Shoggoth2 resource forks. They'll make programming life *much* easier. Any
|
|
dates? ga
|
|
Matt DTS !
|
|
Coach101 Probably the 31st of a month :)
|
|
AFL Dyfet GA Matt.
|
|
AFA Parik heheh Coach
|
|
Matt DTS You already have resource forks! Now if you want a resource
|
|
MANAGER, to split it into discrete...
|
|
AFA Gary J Q = Shoggoth (Matt), Doc Arcane, Parik
|
|
Matt DTS ...chunks and toolbox support, etc., *that* I can't comment on,
|
|
other than to say it is coming.
|
|
Shoggoth2 !
|
|
Coach101 !
|
|
Matt DTS GA.
|
|
AFL Dyfet Go ahead Shoggoth.
|
|
Shoggoth2 Yes, resource manager is what I meant. ga
|
|
AFL Dyfet GA Coach.
|
|
Coach101 Matt, I hate to be picky (nah, its my nature) but we have
|
|
Matt DTS (Just trying to throw in a little levity before lowering the "no
|
|
comment" boom. GA)
|
|
Coach101 been told by Apple to _NOT_ user resource forks yet. Ergo,
|
|
Coach101 we DO NOT have them yet!
|
|
Dave Lyons !
|
|
Shoggoth2 !
|
|
Coach101 :)
|
|
AFL Dyfet Okay, Dave...GA
|
|
AFA Gary J Q = Shoggoth (Dave), Doc Arcane, Parik
|
|
Dave Lyons You can wirte your Copy program to COPY the resource forks...you
|
|
just can't yet
|
|
DaviesDoug !
|
|
DaviesDoug I already did
|
|
Dave Lyons know their structure.
|
|
AFL Dyfet GA Shoggoth
|
|
Shoggoth2 If Apple doesn't define them soon, programmers will take the
|
|
matter into their.
|
|
Shoggoth2 own hands. I believe that's what TML is doing for v2.0 Pascal and
|
|
Basic. GA
|
|
AFL Dyfet That would be a mistake. As Matt said, Apple is working on
|
|
resource support
|
|
Matt DTS !
|
|
JimMensch !
|
|
AFL Dyfet and I see Matt wants to comment here...GA matt...
|
|
Matt DTS (Let Mensch go first - I already had a turn)
|
|
AFL Dyfet Okay, Mensch...GA
|
|
JimMensch On the matter of resource forks....
|
|
JimMensch Well, here are some facts...
|
|
Doc Arcane ?
|
|
JimMensch If you define your own resource data types, be sure to look at
|
|
inside mac and leave the proper number
|
|
JimMensch of header bytes at the beginning for Apple standard header
|
|
JimMensch (no matter what happens, you can be sure at some level those will
|
|
get trashed)
|
|
JimMensch If you define your own resource definition, don't be supprised if
|
|
one day they get screwed up..
|
|
JimMensch I wish I could give you a day....
|
|
JimMensch And
|
|
Shoggoth2 !
|
|
JimMensch While the resource fork of a file does indeed currently exist in
|
|
THEORY
|
|
JimMensch none of the current software (finder et al) will acknowledge their
|
|
presence and if they have to
|
|
JimMensch deal with them the resource fork may get trashed.
|
|
AFL Dyfet (Your question is next, Doc Arcane...) GA Shoggoth.
|
|
Shoggoth2 I've consigned myself to wait for Apple...but I can't speak for
|
|
others. :) GA
|
|
JimMensch So, in short.... you really do not have resource forks right now.
|
|
Maybe they should be left
|
|
JimMensch unused
|
|
JimMensch GA
|
|
BillP !
|
|
BillP cancel !
|
|
AFL Dyfet I don't recall Doug, Gary...but if he has a comment...GA
|
|
Doug...:)
|
|
DaviesDoug .sorry done. in another room for a sec
|
|
AFL Dyfet Okay, our next question is from Doc Arcane.
|
|
AFL Dyfet GA Doc.
|
|
Doc Arcane Please bear with me, I've been out of the assembly scene for some
|
|
time.....
|
|
Doc Arcane First, is there a devlopment system for the GS on the MAC? I
|
|
heard...
|
|
Doc Arcane there was one, and second, will there be something similar to
|
|
Multi-finder...
|
|
AFA Parik <recant ?>
|
|
Doc Arcane for the GS, or is that what forks are? I'm unclear on what forks
|
|
are. GA
|
|
AFA Gary J Q = Doc Arcane, Parik
|
|
AFL Dyfet Yes, there is a Mac version of the APW environment available for
|
|
cross-
|
|
Shoggoth2 !
|
|
AFL Dyfet development. GA Shoggoth.
|
|
Shoggoth2 Randy Hyde is working on Multi-Anix, a multi-tasking GS/OS
|
|
shell...
|
|
Shoggoth2 don't hold your breath, though. GA
|
|
AFL Dyfet He's not the only one working on that :) (don't hold your breath
|
|
from here
|
|
Brin Londo <too late, already blue>
|
|
AFL Dyfet either though :)...I believe Cecil had some information he wanted
|
|
to give
|
|
AFL Dyfet us at this point in regards to Call Apple. You have the floor,
|
|
Cecil, GA.
|
|
AFL Marty <breathe in.... breathe out>
|
|
CecilFret As some of you may know, I am Technical Editor for Call
|
|
-A.P.P.L.E. Magazine.
|
|
CecilFret We are under some fire from the pre-IIgs owners for not having
|
|
many articles
|
|
Brin Londo ][
|
|
CecilFret which do not involve the IIgs. The fact is, we don't have any
|
|
articles from
|
|
CecilFret authors in the queue. So if any of you think you have a good
|
|
program and
|
|
CecilFret wouldlike to take a crack at getting it published, send it to
|
|
us.
|
|
CecilFret Thanks Gary.
|
|
CecilFret ga
|
|
Brin Londo !
|
|
AFL Dyfet GA Brin.
|
|
Brin Londo Fact is, I started my Call-Apple sub. after you started getting
|
|
IIGS...
|
|
Brin Londo was getting pretty "waterered" down with "begining" ProDos
|
|
article. GA
|
|
AFL Dyfet I am also planning a conf. sometime in the future specifically for
|
|
8 bit
|
|
AFA Gary J Yes, it is hard to please ALL of the people ALL of the time! :(
|
|
AFL Dyfet programming for those that have felt left out...
|
|
AFL Dyfet Are there any more comments or questions at this point?
|
|
DaviesDoug ya, where did matt go? :)
|
|
Brin Londo !
|
|
AFL Dyfet GA Brin.
|
|
Brin Londo I came in late. So forgive if covered. Display card need GS/OS
|
|
tools? to ...
|
|
Brin Londo fully utilize?
|
|
Brin Londo and I mean FULLY. ga
|
|
AFL Dyfet There is a toolset provided for the GS to use the card...I suppose
|
|
you can
|
|
AFL Dyfet directly twiddle the port addresses if you want :)
|
|
Brin Londo !
|
|
AFL Dyfet GA Brin.
|
|
Dave Lyons !
|
|
Brin Londo Hear rumur it will drive "psuedo" super-hires on //e (true?) gao
|
|
AFL Dyfet GA Dave.
|
|
Dave Lyons I don't even know what all the dang card CAN do, much less whether
|
|
the toolset
|
|
Dave Lyons lets you do it all! I have also heard that the card will let a
|
|
IIe have
|
|
Brin Londo !
|
|
Dave Lyons super-hires, and that it'll let a GS have two separate super-hires
|
|
screens.
|
|
Dave Lyons I don't know if
|
|
AFL Dyfet I saw some mention of interlace support for 400 lines, but no info
|
|
on how to
|
|
Dave Lyons QuickDraw can be easily modified to allow Mac II-like tricks w/
|
|
two monitors
|
|
Dave Lyons in the same coordinate system (in different places). done
|
|
AFL Dyfet get there. It also can have it's video buffer mapped in different
|
|
places
|
|
AFL Dyfet in memory (perhaps page flipping can be done :)...but I'm not too
|
|
up to date
|
|
AFL Dyfet on it either. GA Brin.
|
|
Brin Londo Saw card at MACUL (Detroit) impressive device!!
|
|
AFL Dyfet Any further comments?
|
|
Brin Londo !
|
|
AFL Dyfet GA Brin.
|
|
AFA Gary J <I'd sure like to see it.)
|
|
Brin Londo Seems to be thinning out. How about a //c question?
|
|
AFL Dyfet A //c question? Sure...feel free to ask away...
|
|
Brin Londo LDA $C019 on //e (changes +/-) on IIGS (changes +/-) on //c
|
|
(nothing)...
|
|
DwightW1 got to go...excellent conference tonight
|
|
Brin Londo is the darn INT firmware grabing and clearing?
|
|
AFL Dyfet I believe that's the VBL detect softswitch. On the //c you cannot
|
|
read the
|
|
AFA Gary J Goodnight, Dwight.
|
|
AFL Dyfet this switch, but instead are reading whether VBL interrupts have
|
|
been enabled.
|
|
AFL Dyfet A slight difference there between the //c and the other machines
|
|
:)
|
|
Brin Londo Time to update a ][ tech note. #19 I think. Thanks
|
|
AFL Dyfet I've wondered about that peculiarity myself. I also believe the
|
|
IIgs VBL works
|
|
AFL Dyfet oposite of the //e, that is, it's negative during VBL where the
|
|
//e is
|
|
AFL Dyfet positive...:)
|
|
Brin Londo That's right but the //c unlike the //e,IIGS,Laser 128,Franklin,
|
|
etc. ...
|
|
Brin Londo doesn't let you just look at the VBL going by. GA
|
|
AFL Dyfet Correct. You can only detect VBL on the //c by an interrupt
|
|
handler.
|