diff options
author | PikalaxALT <PikalaxALT@gmail.com> | 2020-04-26 18:17:04 -0400 |
---|---|---|
committer | PikalaxALT <PikalaxALT@gmail.com> | 2020-04-26 18:17:04 -0400 |
commit | 3510d5acb20866b9f0ace302027e413abfb01b10 (patch) | |
tree | a8ce7bc0f0eacc43aa890117442732860dca19fa /arm7/asm | |
parent | 399c07bb0deaedc9bdf38fdd92757fd619e85b63 (diff) |
Disasemble ROM7 ITCM
Diffstat (limited to 'arm7/asm')
-rw-r--r-- | arm7/asm/arm7_rom.s | 73 |
1 files changed, 71 insertions, 2 deletions
diff --git a/arm7/asm/arm7_rom.s b/arm7/asm/arm7_rom.s index d22e0d18..b2070728 100644 --- a/arm7/asm/arm7_rom.s +++ b/arm7/asm/arm7_rom.s @@ -3,10 +3,79 @@ .include "global.inc" .section .itcm - .incbin "baserom.nds", 0x30D1B0, 0xDC + arm_func_start FUNC_027E0000 +FUNC_027E0000: ; 0x027E0000 load at 0x023801B0 + stmdb sp!, {r4, r5, r6, lr} + ldr r6, [pc, #180] ; 0x270 + ldr r3, [pc, #180] ; 0x274 + ldr r0, [pc, #180] ; 0x278 + b _027E00B0 +_027E0014: + mov r2, r3 + ldr r5, [r3, #4] + add r1, r3, #8 + add r3, r3, #12 + ldr r4, [r1] + ldr r1, [r2] + cmp r1, #100663296 ; 0x6000000 + bne _027E00AC + ldr r3, [pc, #144] ; 0x27c + ldr r0, [pc, #144] ; 0x280 + str r3, [r0] + add r2, r5, r4 + ldr r0, [pc, #136] ; 0x284 + str r2, [r0] + ldr r1, [pc, #132] ; 0x288 + add r0, r3, r2 + cmp r1, r0 + beq _027E0060 + bl FUN_037FB1F0 +_027E0060: + ldr r0, [pc, #104] ; 0x280 + ldr r3, [r0] + mov r2, #0 + mov r1, r5, lsr #2 + b _027E0080 +_027E0074: + ldr r0, [r6], #4 + str r0, [r3], #4 + add r2, r2, #1 +_027E0080: + cmp r2, r1 + bcc _027E0074 + mov r1, #0 + mov r2, r4, lsr #2 + mov r0, r1 + b _027E00A0 +_027E0098: + str r0, [r3], #4 + add r1, r1, #1 +_027E00A0: + cmp r1, r2 + bcc _027E0098 + b _027E00B8 +_027E00AC: + add r6, r6, r5 +_027E00B0: + cmp r3, r0 + bne _027E0014 +_027E00B8: + ldmia sp!, {r4, r5, r6, lr} + bx lr +_027E00C0: .word 0x023801B0 +_027E00C4: .word 0x023A92F8 +_027E00C8: .word 0x023A931C +_027E00CC: .word 0x027E00DC +_027E00D0: .word 0x0380A3F4 +_027E00D4: .word 0x0380A3FC +_027E00D8: .word 0x027FAFCC .section .dtcm - .incbin "baserom.nds", 0x30D28C, 0x90D4 + .incbin "baserom.nds", 0x30D28C, 0x31F0 + + arm_func_start FUN_037FB1F0 +FUN_037FB1F0: ; 0x037FB1F0 + .incbin "baserom.nds", 0x31047C, 0x5EE4 thumb_func_start SVC_SoftReset SVC_SoftReset: ; 0x02389360 |