[GOODIE] A2Emulator

Duane Maxwell dmaxwell at san.rr.com
Fri Nov 23 09:11:34 UTC 2001


Andrew C. Greenberg writes:
>Here's the poop. From some old notes I found in my archives:

This is more or less correct, though there are apparently some twists.  The
most complete description I've found is:

http://tarnover.dyndns.org/Documentation/Unsorted/Programming/hires.maps

It talks about the funny ordering of bytes, the blue/magenta/orange/green
thing, and some little twist of  something odd happening every 14 columns,
though I don't recall this from my days as an Apple ][ hack.

Of course, I've also downloaded the source to a few other emulators to see
how they handle it.  There's no question that it's a tough thing to do both
accurately and efficiently.  Many of them keep a copy of the current
rendered image in addition to the normal memory map, and queue up writes to
be processed when they reach some threshold or the image is to be painted on
the display.  Another stategy that I like and may implement for lores and
text is to keep a list of dirty locations to make the display faster on
redraw.

Other weirdness:  I was doing an ego search at google yesterday, and found
an Apple ][ site in  the .za tld that had archived the source code for a
6809 cross assembler for the Apple ][ attributed to me.  Unfortunately the
file was in shk.bxy (ShrinkIt/Binary II) format, but I managed to find an
old DOS utility that could extract these files, and sure enough the files
had my name and 1984-vintage copyright notice.  Not only do I not remember
writing this code, I can't imagine how it ended up out of my hands, let
alone in South Africa.   I did own a 6809 card, but I typically ran OS9 on
it.  It is unmistakably my work though.  Perhaps it was done by my twin from
the alternate universe (you know, the one where Spock has a beard, and Steve
Jobs is yet again in trouble with the DOJ for antitrust violations).

>In practice, the trick for an Apple emulator isn't so much getting graphics
to work
>consistently, its sound and disk access.

...which are things I'm probably not going to waste any time on, though
others are welcome to try.  My goal was to get the thing basically working
enough to run Applesoft correctly.  Why?  Beats me. Sometimes you just gotta
hack.

-- Duane






More information about the Squeak-dev mailing list