summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2022-09-19 05:32:48 +1000
committer Vas Crabb <vas@vastheman.com>2022-09-19 05:32:48 +1000
commite1e30896f5cc3fd736564a9dea25d255241f6777 (patch)
tree5d45109a90f67d86d092b78867337ce421818178
parent796d8d672081bcc3bcc9036bdcfbb990b24bba80 (diff)
bus/gameboy: Improved GBCHK003 notes.
-rw-r--r--src/devices/bus/gameboy/gbck003.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/devices/bus/gameboy/gbck003.cpp b/src/devices/bus/gameboy/gbck003.cpp
index f7db29f8484..21160acbf44 100644
--- a/src/devices/bus/gameboy/gbck003.cpp
+++ b/src/devices/bus/gameboy/gbck003.cpp
@@ -11,7 +11,10 @@
The menu program sets up code in WRAM to switch to the selected game's ROM
and exit configuration mode. The configuration values are read directly
from ROM, so the configuration is presumably applied when exiting
- configuration mode.
+ configuration mode. Leaving configuration mode presumably asserts the
+ reset line on the cartridge edge connector to get out of CGB mode for games
+ that expect DMG mode (e.g. Contra has all-black player sprites if the
+ system remains in CGB mode).
The write to 0x7B02 that presumably exits configuration mode is followed by
code to do the following (SP contains 0xFFFE at this point):
@@ -22,9 +25,9 @@
* Jump to 0x0100
This doesn't match the state set up by any official Nintendo bootstrap
- programs. Leaving configuration mode presumably asserts the rest line on
- the cartridge edge connector to get out of CGB mode for games that expect
- DMG mode.
+ programs. This code is probably left over from earlier multi-game
+ cartridges that lacked CGB support and didn't reset the system when
+ starting a game.
0x0000-3FFF R - Low ROM bank.
0x4000-7FFF R - High ROM bank.