aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorStapleButter <thetotalworm@gmail.com>2017-04-26 16:17:03 +0200
committerStapleButter <thetotalworm@gmail.com>2017-04-26 16:17:03 +0200
commit5217f4b05623647c1475e99740f3884e7192b519 (patch)
tree1c4555a4b3cd6b30b9e19fb472f841c94cc93d12 /src
parentd9afcc37b8b11e33a7ff4da1dc3f0d287cef8755 (diff)
set POSTFLG to 1 upon direct boot. fixes Pokémon White among others.
Diffstat (limited to 'src')
-rw-r--r--src/ARM.cpp3
-rw-r--r--src/NDS.cpp11
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);*/
}