Game Genie [blob]
Elements:
Name | Value |
---|
IC1 | DIL48 |
C1 | 1u |
C2 | ? |
CART | NES_CART |
CONS | NES_CART |
TP1 | |
TP2 | |
TP3 | |
TP4 | |
Chip signature:
DIL48
PCB top:
PCB bottom:
Shell top:
Shell bottom:
No photo
Screenshoots:
No photo
Extra info:
Game Genie controls PPU-A13, /ROMSEL and M2 of the slave-cartridge slot. All other pins are pass-through. Additionally CPU-D0..7 are connected to GameGenie via resistors as shown below. I believe those resistors are used to protect against bus conflicts when cartridge ROM hasn't stopped driving dat bus yet but Genie starts driving bus with data to be replaced.
[code]
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
[/code]
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.
Comments:
Want to leave a comment?