[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bit 0 behavior, take 2
> My reading of this is that bit 0 of $C029 (when set) overrides the IIe
> compatible alternate memory control bits ($C009 SETALTZP, $C003
> RDCARDRAM, $C005 WRCARDRAM etc) and instead uses 24 bit addresses
> where A17 is set to access the alternate RAM bank (see table 4-18 on
> page 91). I don't think it has anything to do with video modes.
Well, my curiosity got the better of me and I dug out my trusty ROM 3
and tried a little experimentation. Can't say it makes any sense yet.
I just wrote a few variants of the following trivial program with
shadowing in register $C035 enabled and all the softswitches set to
access the main bank.
lda 012000
eor #FFFF
sta 012000
if $C029 is set to $C1, then the program works as expected, the first
four pixels of the SHR screen are toggled on and off. When $C029 is
set to $C0 (bank latch on), then the memory at $012000 is changed, but
the SHR screen is not updated -- just as if the shadow register
($C035) had turned mirroring off.
Still pondering....