Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- arm7takeover:
- ldr r1,=0x4004040 //
- mov r0,0 //
- str r0,[r1] @\
- ldr r1,=0x4004044 //
- mov r0,0 //
- str r0,[r1] @
- ldr r1,=0x4004048 //
- mov r0,0 //
- str r0,[r1] @ disable wram A+B
- ldr r1,=0x4004054 //
- mov r0,0 //
- str r0,[r1] @
- ldr r1,=0x4004058 //
- mov r0,0 //
- str r0,[r1] @/
- ldr r1,=0x400405c //
- ldr r0,=0x00403000 //
- str r0,[r1] @-map wram C at 3000000h
- mov r10,#6 @chunk 6 (last chunk on ARM7 side@ chunks are 7,0,1,2,3,4,5,6)
- wram_chunk_loop:
- ldr r8,=0x400404c @\
- add r8,r10 @ memorize old mapping
- ldrb r9,[r8] @memorize old @ and map to ARM9
- mov r0,#0x80 @
- strb r0,[r8] @map as 1st arm9 slot @/
- mov r1,#0x3000000 @\
- ldr r0,[nop] @
- fill_loop: @ fill chunk with NOPs
- str r0,[r1],#4 @
- tst r1,#0x8000 @
- beq fill_loop @/
- ldr r4,=ldr_bx_dd_arm7_re_entry @\
- ldmia r4!,{r0-r3} @ cast hook at chunk end
- ldr r4,=0x3007ff0 @
- stmia r4!,{r0-r3} @/
- strb r9,[r8] @restore old @-map back to ARM7
- sub r10,#1 @\
- and r10,#7 @ next chunk
- cmp r10,#6 @
- bne wram_chunk_loop @/
- bx lr
- @---
- nop:
- nop
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement