diff options
author | PikalaxALT <PikalaxALT@users.noreply.github.com> | 2020-11-06 15:00:40 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-06 15:00:40 -0500 |
commit | 75b12b86dcf5525371e2a8394b41e1cbd7c0c744 (patch) | |
tree | 64294dd7c49c279afba293bbb0e9b2e787f594e6 /src | |
parent | 42b7f11db0ece78171690da1d220d2b7774ab5fa (diff) | |
parent | 3112cf5726424457c49307082c21fa3740bc0b3a (diff) |
Merge pull request #1246 from PikalaxALT/simplify_ram_reset
Simplify RAM reset adaptation for modern
Diffstat (limited to 'src')
-rw-r--r-- | src/crt0.s | 4 | ||||
-rw-r--r-- | src/main.c | 18 |
2 files changed, 5 insertions, 17 deletions
diff --git a/src/crt0.s b/src/crt0.s index cb7c93a6b..49f214f80 100644 --- a/src/crt0.s +++ b/src/crt0.s @@ -91,6 +91,10 @@ Init: @ 8000204 ldr r1, =INTR_VECTOR adr r0, IntrMain str r0, [r1] + .if MODERN + mov r0, #255 @ RESET_ALL + svc #1 << 16 + .endif @ MODERN ldr r1, =AgbMain + 1 mov lr, pc bx r1 diff --git a/src/main.c b/src/main.c index ab0c23284..9fd1d0a35 100644 --- a/src/main.c +++ b/src/main.c @@ -85,25 +85,9 @@ void EnableVCountIntrAtLine150(void); void AgbMain() { -#if MODERN // Modern compilers are liberal with the stack on entry to this function, // so RegisterRamReset may crash if it resets IWRAM. - RegisterRamReset(RESET_ALL & ~RESET_IWRAM); - asm("mov\tr1, #0xC0\n" - "\tlsl\tr1, r1, #0x12\n" - "\tmov r2, #0xFC\n" - "\tlsl r2, r2, #0x7\n" - "\tadd\tr2, r1, r2\n" - "\tmov\tr0, #0\n" - "\tmov\tr3, r0\n" - "\tmov\tr4, r0\n" - "\tmov\tr5, r0\n" - ".LCU0:\n" - "\tstmia r1!, {r0, r3, r4, r5}\n" - "\tcmp\tr1, r2\n" - "\tbcc\t.LCU0\n" - ); -#else +#if !MODERN RegisterRamReset(RESET_ALL); #endif //MODERN *(vu16 *)BG_PLTT = 0x7FFF; |