Post by John Brooks
The driver is about 2 pages and currently lives at $E0/BD00-$E0/BEDD. I haven't optimized for size yet and hope to get down to about half it's current size, to reduce the size of ProDOS and load time more than save GS memory in bank $E0.
Since the driver is in $E0, all the other ProDOS devices are unaffected and xHD data can be copied to/from floppy disks.
Post by John Brooks
Out of curiosity, what is your use-case for the $C02D swap? Slot 1 parallel port printer and SCC port A modem?
Remember, you asked. ;-)
I use both internal serial ports and (2) parallel printer cards.
Slot 1 Internal Serial Port:
--> Mac OS X Serial Terminal for Unix Work and Zmodem file transfers
(e.g. AppleWorks automatically 'logs on' to the Mac, 'prints'
documents using its PCL/LaserJet driver to the Mac where
the GhostScript/GhostPCL utility 'PCL6' automatically
converts the job to a text-searchable 'pdf' file on the
Mac's Desktop, after which AppleWorks 'logs off' the Mac).
Slot 1 Parallel Card (7-bit Epson APL):
--> Tractor-Fed Impact Printer for multi-part business forms
(e.g. Primarily checks - yes, I'm old-fashioned that way).
Slot 2 Internal Serial Port:
--> HP LaserJet 4050TN Printer with (3) bins + envelope feeder
for PCL and (some) PostScript print jobs
Slot 2 Parallel Card (7-bit Epson APL):
--> Same HP LaserJet Printer when I need a quick way to disregard
printing the high bit
(e.g. from BASIC and on occasion an old CAD program I have,
as the LaserJet also understands HPGL).
Some 'trivia' for those also using the Slot Register ($C02D) in this
In Bank $E1, Page 2 ($E102Cx) the IIGS stores the 'specific' setting for
Slots 1 and 2 (e.g. Printer/Modem/AppleTalk/Your Card).
_IF_ you start out with one of the Slots set to 'Your Card' and then you
use the Slot Register to change to the Internal Port, you must also Poke
in the appropriate value at $E102Cx before initializing the built-in
serial firmware, or else the IIGS gets very confused. I documented this
in a post several years ago (with help from Antoine Vignau, IIRC), but I
don't have the reference handy. FWIW, I have an AppleWorks macro that
takes care of it for me.
I'm sure that by now you (and everyone else) have regretted asking me. ;-)