GBA I/O: Fix reading from a few invalid I/O registers (fixes #876)

This commit is contained in:
Vicki Pfau 2017-09-20 18:51:29 -07:00
parent 4ee338e521
commit d5bf63caa8
2 changed files with 12 additions and 8 deletions

View File

@ -41,6 +41,7 @@ Bugfixes:
- SDL: Fix potential race condition when pressing keys (fixes mgba.io/i/872)
- GBA: Fix keypad IRQs not firing when extra buttons are pressed
- GBA Video: Fix broken sprite blending hack (fixes mgba.io/i/532)
- GBA I/O: Fix reading from a few invalid I/O registers (fixes mgba.io/i/876)
Misc:
- GBA Timer: Use global cycles for timers
- GBA: Extend oddly-sized ROMs to full address space (fixes mgba.io/i/722)

View File

@ -890,14 +890,17 @@ uint16_t GBAIORead(struct GBA* gba, uint32_t address) {
break;
case REG_MAX:
// Some bad interrupt libraries will read from this
break;
case 0x66:
case 0x6E:
case 0x76:
case 0x7A:
case 0x7E:
case 0x86:
case 0x8A:
case 0x066:
case 0x06E:
case 0x076:
case 0x07A:
case 0x07E:
case 0x086:
case 0x08A:
case 0x136:
case 0x142:
case 0x15A:
case 0x206:
mLOG(GBA_IO, GAME_ERROR, "Read from unused I/O register: %03X", address);
return 0;
case REG_DEBUG_ENABLE: