diff options
author | StapleButter <thetotalworm@gmail.com> | 2017-04-26 16:17:03 +0200 |
---|---|---|
committer | StapleButter <thetotalworm@gmail.com> | 2017-04-26 16:17:03 +0200 |
commit | 5217f4b05623647c1475e99740f3884e7192b519 (patch) | |
tree | 1c4555a4b3cd6b30b9e19fb472f841c94cc93d12 /src | |
parent | d9afcc37b8b11e33a7ff4da1dc3f0d287cef8755 (diff) |
set POSTFLG to 1 upon direct boot. fixes Pokémon White among others.
Diffstat (limited to 'src')
-rw-r--r-- | src/ARM.cpp | 3 | ||||
-rw-r--r-- | src/NDS.cpp | 11 |
2 files changed, 11 insertions, 3 deletions
diff --git a/src/ARM.cpp b/src/ARM.cpp index 73e94a0..bbfb7f7 100644 --- a/src/ARM.cpp +++ b/src/ARM.cpp @@ -174,9 +174,6 @@ void ARM::JumpTo(u32 addr, bool restorecpsr) // aging cart debug crap //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 == 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) { diff --git a/src/NDS.cpp b/src/NDS.cpp index d22288f..1329f6c 100644 --- a/src/NDS.cpp +++ b/src/NDS.cpp @@ -218,6 +218,9 @@ void SetupDirectBoot() ARM9->JumpTo(bootparams[1]); ARM7->JumpTo(bootparams[5]); + PostFlag9 = 0x01; + PostFlag7 = 0x01; + PowerControl9 = 0x820F; GPU::DisplaySwap(PowerControl9); @@ -826,6 +829,14 @@ void debug(u32 param) //for (int i = 0; i < 9; 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);*/ } |