summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/CARD_arm9.s2
-rw-r--r--asm/OS_arm9.s12
-rw-r--r--asm/arm9_itcm.s49
3 files changed, 55 insertions, 8 deletions
diff --git a/asm/CARD_arm9.s b/asm/CARD_arm9.s
index 9756ce4b..7222bfc4 100644
--- a/asm/CARD_arm9.s
+++ b/asm/CARD_arm9.s
@@ -1274,7 +1274,7 @@ _020D7738:
ldmia sp!, {r4-r11,lr}
bx lr
.balign 4
-_020D7748: .word 0x021D55C0
+_020D7748: .word cardi_common
_020D774C: .word 0x01FF8000
_020D7750: .word 0x000001FF
_020D7754: .word 0x02106A50
diff --git a/asm/OS_arm9.s b/asm/OS_arm9.s
index 5e10a429..af2c75f1 100644
--- a/asm/OS_arm9.s
+++ b/asm/OS_arm9.s
@@ -3155,7 +3155,7 @@ _020CC38C:
bx lr
_020CC39C:
add sp, sp, #0x4
- ldr r0, _020CC3F8 ; =0x01FF7780
+ ldr r0, _020CC3F8 ; =0x01FF8720
ldmfd sp!, {lr}
bx lr
_020CC3AC:
@@ -3178,11 +3178,11 @@ _020CC3DC:
add sp, sp, #0x4
ldmia sp!, {lr}
bx lr
-_020CC3EC: .word 0x0225FFA0
-_020CC3F0: .word 0x021D36F4
-_020CC3F4: .word 0x023E0000
-_020CC3F8: .word 0x01FF8720
-_020CC3FC: .word 0x027E0080
+_020CC3EC: .word SDK_MAIN_ARENA_LO
+_020CC3F0: .word OSi_MainExArenaEnabled
+_020CC3F4: .word SDK_SECTION_ARENA_EX_START
+_020CC3F8: .word SDK_SECTION_ARENA_ITCM_START
+_020CC3FC: .word SDK_SECTION_ARENA_DTCM_START
_020CC400: .word 0x027FF000
_020CC404: .word 0x037F8000
diff --git a/asm/arm9_itcm.s b/asm/arm9_itcm.s
index 494219a0..79c0de28 100644
--- a/asm/arm9_itcm.s
+++ b/asm/arm9_itcm.s
@@ -455,4 +455,51 @@ MIi_DmaSetParams: ; 01FF85F0
bx lr
_01FF863C: .word 0x040000B0
- .incbin "baserom.nds", 0x10B5E0, 0xC0
+ arm_func_start MI_SendGXCommand
+MI_SendGXCommand: ; 0x01FF8640
+ stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ sub sp, sp, #4
+ movs r8, r2
+ mov sl, r0
+ mov r9, r1
+ addeq sp, sp, #4
+ ldmeqia sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ bxeq lr
+ mov r3, #0
+ bl MIi_CheckDma0SourceAddress
+ mov r0, #3
+ mul r1, sl, r0
+ ldr r0, [pc, #104] ; 0x10b680
+ add r1, r1, #2
+ add r7, r0, r1, lsl #2
+_01FF867C:
+ ldr r0, [r7]
+ ands r0, r0, #-2147483648 ; 0x80000000
+ bne _01FF867C
+ cmp r8, #0
+ beq _01FF86C8
+ ldr fp, [pc, #76] ; 0x10b684
+ mov r5, #472 ; 0x1d8
+ ldr r4, [pc, #72] ; 0x10b688
+_01FF869C:
+ cmp r8, #472 ; 0x1d8
+ movhi r6, r5
+ movls r6, r8
+ mov r0, sl
+ mov r1, r9
+ mov r2, fp
+ orr r3, r4, r6, lsr #2
+ bl MIi_DmaSetParams
+ subs r8, r8, r6
+ add r9, r9, r6
+ bne _01FF869C
+_01FF86C8:
+ ldr r0, [r7]
+ ands r0, r0, #-2147483648 ; 0x80000000
+ bne _01FF86C8
+ add sp, sp, #4
+ ldmia sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ bx lr
+_01FF86E0: .word 0x040000B0
+_01FF86E4: .word 0x04000400
+_01FF86E8: .word 0x84400000