diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/CARD_arm9.s | 2 | ||||
-rw-r--r-- | asm/OS_arm9.s | 12 | ||||
-rw-r--r-- | asm/arm9_itcm.s | 49 |
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 |