[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: IIe ROM code modifications - exchange tape drivers for ???
"mspangler" <mspangler@gemsi.com> writes:
>I'm doing the same basic thing you are, but burning the ROMS for my
>IIe. With my enhanced IIe, I have substituted SWAP for SHLOAD (by
>putting it down the C500 space just like SHLOAD was.) I've got ELSE in
>place of LOAD (only problem was changing the token identifier), TONE in
>place of SAVE, REPEAT in place of RECALL, and UNTIL in place of STORE
>(and overflowing into the never used HFIND at F5CB). Repeat and Until
>are from an article in Apple Assembly Line.
Interesting. My idea for enhancing the ROMs on an Apple IIe is to do the
same thing as Apple did with later ROMs in the IIc - replace the ROM with
double capacity ROM (2x 2764 -> 2x 27128 for the beige IIe, 1x 27128 -> 27256
for the platinum IIe) and use the cassette output from the IOU (pin 7) to
select between the two banks. With appropriate code in both banks, the
cassette routines can still function. This will add at least 12KB of code
space which should allow some interesting additions...
The tricky bit is that the interrupt handler has to save the machine state
and all 8 bits are in use:
$44 memory state
bit 7 = 1 if ALTZP set
bit 6 = 1 if 80STORE & PAGE2
bit 5 = 1 if aux RAM read
bit 4 = 1 if aux RAM write
bit 3 = 1 if banked RAM read
bit 2 = 1 if D000 page 1 and RAMREAD
bit 1 = 1 if D000 page 2 and RAMREAD
bit 0 = 1 if internal Cs ROM enabled (IIe)
if alt ROM bank enabled (IIc)
I think I can use the spare bit 5 of the P (status register) stored on the
stack.
--
David Wilson School of IT & CS, Uni of Wollongong, Australia