all repos — mgba @ 7003d817493a21de7f37ae548d9f7dcfd915f69f

mGBA Game Boy Advance Emulator

GBA BIOS: De-magic constant RegisterRamReset
Vicki Pfau vi@endrift.com
Wed, 24 Jun 2020 18:13:54 -0700
commit

7003d817493a21de7f37ae548d9f7dcfd915f69f

parent

bbf5a61933272e3c0968d5412df5d0f2aad5a6bc

1 files changed, 64 insertions(+), 64 deletions(-)

jump to
M src/gba/bios.csrc/gba/bios.c

@@ -104,78 +104,78 @@ cpu->memory.store16(cpu, BASE_IO | REG_SOUNDBIAS, 0x200, 0);

memset(gba->audio.psg.ch3.wavedata32, 0, sizeof(gba->audio.psg.ch3.wavedata32)); } if (registers & 0x80) { - cpu->memory.store16(cpu, BASE_IO | 0x04, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x06, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x08, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x0A, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x0C, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x0E, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x10, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x12, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x14, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x16, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x18, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x1A, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x1C, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x1E, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_DISPSTAT, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_VCOUNT, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_BG0CNT, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_BG1CNT, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_BG2CNT, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_BG3CNT, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_BG0HOFS, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_BG0VOFS, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_BG1HOFS, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_BG1VOFS, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_BG2HOFS, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_BG2VOFS, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_BG3HOFS, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_BG3VOFS, 0, 0); cpu->memory.store16(cpu, BASE_IO | REG_BG2PA, 0x100, 0); cpu->memory.store16(cpu, BASE_IO | REG_BG2PB, 0, 0); cpu->memory.store16(cpu, BASE_IO | REG_BG2PC, 0, 0); cpu->memory.store16(cpu, BASE_IO | REG_BG2PD, 0x100, 0); - cpu->memory.store32(cpu, BASE_IO | 0x28, 0, 0); - cpu->memory.store32(cpu, BASE_IO | 0x2C, 0, 0); + cpu->memory.store32(cpu, BASE_IO | REG_BG2X_LO, 0, 0); + cpu->memory.store32(cpu, BASE_IO | REG_BG2Y_LO, 0, 0); cpu->memory.store16(cpu, BASE_IO | REG_BG3PA, 0x100, 0); cpu->memory.store16(cpu, BASE_IO | REG_BG3PB, 0, 0); cpu->memory.store16(cpu, BASE_IO | REG_BG3PC, 0, 0); cpu->memory.store16(cpu, BASE_IO | REG_BG3PD, 0x100, 0); - cpu->memory.store32(cpu, BASE_IO | 0x38, 0, 0); - cpu->memory.store32(cpu, BASE_IO | 0x3C, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x40, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x42, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x44, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x46, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x48, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x4A, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x4C, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x50, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x52, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x54, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0xB0, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0xB2, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0xB4, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0xB6, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0xB8, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0xBA, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0xBC, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0xBE, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0xC0, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0xC2, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0xC4, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0xC6, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0xC8, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0xCA, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0xCC, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0xCE, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0xD0, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0xD2, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0xD4, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0xD6, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0xD8, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0xDA, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0xDC, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0xDE, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x100, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x102, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x104, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x106, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x108, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x10A, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x10C, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x10E, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x200, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x202, 0xFFFF, 0); - cpu->memory.store16(cpu, BASE_IO | 0x204, 0, 0); - cpu->memory.store16(cpu, BASE_IO | 0x208, 0, 0); + cpu->memory.store32(cpu, BASE_IO | REG_BG3X_LO, 0, 0); + cpu->memory.store32(cpu, BASE_IO | REG_BG3Y_LO, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_WIN0H, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_WIN1H, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_WIN0V, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_WIN1V, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_WININ, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_WINOUT, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_MOSAIC, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_BLDCNT, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_BLDALPHA, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_BLDY, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_DMA0SAD_LO, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_DMA0SAD_HI, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_DMA0DAD_LO, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_DMA0DAD_HI, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_DMA0CNT_LO, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_DMA0CNT_HI, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_DMA1SAD_LO, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_DMA1SAD_HI, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_DMA1DAD_LO, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_DMA1DAD_HI, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_DMA1CNT_LO, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_DMA1CNT_HI, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_DMA2SAD_LO, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_DMA2SAD_HI, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_DMA2DAD_LO, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_DMA2DAD_HI, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_DMA2CNT_LO, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_DMA2CNT_HI, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_DMA3SAD_LO, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_DMA3SAD_HI, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_DMA3DAD_LO, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_DMA3DAD_HI, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_DMA3CNT_LO, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_DMA3CNT_HI, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_TM0CNT_LO, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_TM0CNT_HI, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_TM1CNT_LO, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_TM1CNT_HI, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_TM2CNT_LO, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_TM2CNT_HI, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_TM3CNT_LO, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_TM3CNT_HI, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_IE, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_IF, 0xFFFF, 0); + cpu->memory.store16(cpu, BASE_IO | REG_WAITCNT, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_IME, 0, 0); } if (registers & 0x9C) { gba->video.renderer->reset(gba->video.renderer);