GB: Fix some memory errors in reset

This commit is contained in:
Jeffrey Pfau 2016-04-29 02:21:15 -07:00
parent af96ee7087
commit 4b43a88ebd
2 changed files with 2 additions and 1 deletions

View File

@ -195,6 +195,7 @@ void GBReset(struct LR35902Core* cpu) {
cpu->d = 0;
cpu->sp = 0xFFFE;
cpu->pc = 0x100;
cpu->memory.setActiveRegion(cpu, cpu->pc);
if (gb->yankedRomSize) {
gb->memory.romSize = gb->yankedRomSize;

View File

@ -134,6 +134,7 @@ void GBMemoryReset(struct GB* gb) {
memset(&gb->memory.rtcRegs, 0, sizeof(gb->memory.rtcRegs));
memset(&gb->memory.hram, 0, sizeof(gb->memory.hram));
memset(&gb->memory.mbcState, 0, sizeof(gb->memory.mbcState));
const struct GBCartridge* cart = (const struct GBCartridge*) &gb->memory.rom[0x100];
switch (cart->type) {
@ -183,7 +184,6 @@ void GBMemoryReset(struct GB* gb) {
case 0x22:
gb->memory.mbc = _GBMBC7;
gb->memory.mbcType = GB_MBC7;
memset(&gb->memory.mbcState.mbc7, 0, sizeof(gb->memory.mbcState.mbc7));
break;
}