Permalink
Browse files

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

  • Loading branch information...
endrift committed Sep 21, 2017
1 parent 4ee338e commit d5bf63caa832e6daed785b00f690d58f5f5fef5a
Showing with 12 additions and 8 deletions.
  1. +1 −0 CHANGES
  2. +11 −8 src/gba/io.c
View
@@ -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
@@ -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:

0 comments on commit d5bf63c

Please sign in to comment.