set POSTFLG to 1 upon direct boot. fixes Pokémon White among others.

This commit is contained in:
StapleButter 2017-04-26 16:17:03 +02:00
parent d9afcc37b8
commit 5217f4b056
2 changed files with 11 additions and 3 deletions

View File

@ -174,9 +174,6 @@ void ARM::JumpTo(u32 addr, bool restorecpsr)
// aging cart debug crap // aging cart debug crap
//if (addr == 0x0201764C) printf("capture test %d: R1=%08X\n", R[6], R[1]); //if (addr == 0x0201764C) printf("capture test %d: R1=%08X\n", R[6], R[1]);
//if (addr == 0x020175D8) printf("capture test %d: res=%08X\n", R[6], R[0]); //if (addr == 0x020175D8) printf("capture test %d: res=%08X\n", R[6], R[0]);
//if (addr == 0x37FF234 && R[15]!=0x37FF23C) printf("poké infinite loop %08X, %08X\n", R[15], DataRead32(0x380FFC8));
// 37FD4BC. if R0=0, inf. loop
// 38098AC -> R0
if (addr & 0x1) if (addr & 0x1)
{ {

View File

@ -218,6 +218,9 @@ void SetupDirectBoot()
ARM9->JumpTo(bootparams[1]); ARM9->JumpTo(bootparams[1]);
ARM7->JumpTo(bootparams[5]); ARM7->JumpTo(bootparams[5]);
PostFlag9 = 0x01;
PostFlag7 = 0x01;
PowerControl9 = 0x820F; PowerControl9 = 0x820F;
GPU::DisplaySwap(PowerControl9); GPU::DisplaySwap(PowerControl9);
@ -826,6 +829,14 @@ void debug(u32 param)
//for (int i = 0; i < 9; i++) //for (int i = 0; i < 9; i++)
// printf("VRAM %c: %02X\n", 'A'+i, GPU::VRAMCNT[i]); // printf("VRAM %c: %02X\n", 'A'+i, GPU::VRAMCNT[i]);
/*FILE* shit = fopen("debug/poke7.bin", "wb");
for (u32 i = 0x02000000; i < 0x03810000; i+=4)
{
u32 val = ARM7Read32(i);
fwrite(&val, 4, 1, shit);
}
fclose(shit);*/
} }