[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Apple IIGS bank latching



Hello,

I am once again intrigued by the behavior of the Apple IIGS, and I was
wondering if someone can help me out with this... here are the
questions:

* Does a real Apple IIGS do the Apple IIe main/aux mapping only on
bank $00, or does this behavior happen also on other banks? For
instance, try the following code on a real IIGS, what is the result?
Best if you try after a restart without OS...

CALL-151
E0/1000:E0
E1/1000:E1
00/0100:8D 03 C0 AF 00 10 E0 8D 20 01 8D 02 C0 60
00/0100G
00/0120

What do you see, E0 or E1? I would guess E0.

* Does a real Apple IIGS map the ROM in E0/D000.FFFF and E1/D000.FFFF?
I would say it doesn't, but for some reason Sweet16 does it. A test
(again, best if you try after restart without an OS):

CALL-151
00/0300:af 00 d0 e0 8d 10 03 60
00/0300G
00/0310

What do you see, 6F (from the ROM) or something else? I would expect
something else...

* When you enable shadowing on all banks, is I/O also mapped on all
banks? This test assumes that you have a memory expansion card, and
you just restarted :-):

00/0300:a9 90 8d 36 c0 af 00 d0 02 8d 10 03 60
00/0300G
00/0310

What do you see? 6F (from the ROM) or something else? I would expect
ROM, although most emulators don't do it.

* I am quite unable to understand what the "bank latch" bit in the new
video register $C029 does. If I'm not mistaken, the FPI keeps track of
the main/aux memory mapping in bank $00, and if something has to be
written, it tells the Mega II through the bank latch if data has to be
written to main or aux memory. Can somebody do a test to confirm this?
Again, restart and no OS...

E0/1000:E0
E1/1000:E1
00/0300:a9 00 8d 29 c0 af 00 10 e1 8d 10 03 60
00/0300G
00/0310

What do you see, E0 or E1? I would guess E0, but who knows :)

Thanks for all your help,
and with the best wishes,

Marc.-