Code: Select all
CONSOLE SLAVE CART
M2 ------------470R-------+--- M2
.-------------. |
| 4kB GENIE | |
| PRG-ROM /OE|--GND |
| /CE|----------------------+ |
`-------------` | |
.-------------. | |
VCC,GND,/RESET --| DIL48 |-+-|<-+
/ROMSEL --| GALLOB |-------- /ROMSEL
PPU A13 --| GENIE |-------- PPU A13
unused pins (22,30) -| CHIP |
`-+-+-+-+-+-+-`
200R | | | | |
CPU D0-D7 ----+-|-|-|-|-|---------- CPU D0-D7
CPU A0-A14 ------+-|-|-|-|---------- CPU A0-A14
CPU R/W --------+-|-|-|---------- CPU R/W
PPU D0-D7 ----------+-|-|---------- PPU D0-D7
PPU /RD ------------+-|---------- PPU /RD
PPU A2,4,5,6,7 --------------+---------- PPU A2,4,5,6,7
other lines ------------------------- all other lines
My question is: what happends if Genie is going to replace data byte on $e000-$ffff when cartridge has its own RAM memory mapped at $6000-$7fff?
* Genie must drive the slave cart's /ROMSEL with 1, otherwise its ROM won't be disabled.
* Genie can't drive M2 with 0, otherwise its 4 kB PRG-ROM chip would be enabled
* But then slave cart's logic sees this cycle as read from $6000-$7fff and thus its RAM will drive data bus so Genie swapping won't succeed.
BTW. Any idea for those two unknown Genie's pins? Pin 30 is routed to C3, whose other side is GND (but C3 is not populated), pin 22 is not connected to anything.