32- and 16-bit reads of OAM

This commit is contained in:
Jeffrey Pfau 2013-05-03 01:33:20 -07:00
parent 862c93916d
commit 2bc11c9aac
1 changed files with 3 additions and 2 deletions

View File

@ -128,6 +128,7 @@ int32_t GBALoad32(struct ARMMemory* memory, uint32_t address) {
value = ((int32_t*) gbaMemory->p->video.vram)[(address & 0x0001FFFF) >> 2];
break;
case BASE_OAM:
value = ((int32_t*) gbaMemory->p->video.oam.raw)[(address & (SIZE_OAM - 1)) >> 2];
break;
case BASE_CART0:
case BASE_CART0_EX:
@ -167,7 +168,7 @@ int16_t GBALoad16(struct ARMMemory* memory, uint32_t address) {
case BASE_VRAM:
return gbaMemory->p->video.vram[(address & 0x0001FFFF) >> 1];
case BASE_OAM:
break;
return gbaMemory->p->video.oam.raw[(address & (SIZE_OAM - 1)) >> 1];
case BASE_CART0:
case BASE_CART0_EX:
case BASE_CART1:
@ -208,7 +209,7 @@ uint16_t GBALoadU16(struct ARMMemory* memory, uint32_t address) {
case BASE_VRAM:
return gbaMemory->p->video.vram[(address & 0x0001FFFF) >> 1];
case BASE_OAM:
break;
return gbaMemory->p->video.oam.raw[(address & (SIZE_OAM - 1)) >> 1];
case BASE_CART0:
case BASE_CART0_EX:
case BASE_CART1: