summaryrefslogtreecommitdiff
path: root/arm9/asm/CARD_common.s
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/asm/CARD_common.s')
-rw-r--r--arm9/asm/CARD_common.s328
1 files changed, 0 insertions, 328 deletions
diff --git a/arm9/asm/CARD_common.s b/arm9/asm/CARD_common.s
deleted file mode 100644
index 42bce178..00000000
--- a/arm9/asm/CARD_common.s
+++ /dev/null
@@ -1,328 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .section .bss
-
- .global UNK_021D555C
-UNK_021D555C: ; 0x021D555C
- .space 0x4
-
- .global UNK_021D5560
-UNK_021D5560: ; 0x021D5560
- .space 0x60
-
- .global cardi_common
-cardi_common: ; 0x021D55C0
- .space 0x620
-
- .global UNK_021D5BE0
-UNK_021D5BE0: ; 0x021D5BE0
- .space 0x20
-
- .text
-
- arm_func_start CARD_UnlockBackup
-CARD_UnlockBackup: ; 0x020D66A0
- ldr ip, _020D66AC ; =CARDi_UnlockResource
- mov r1, #0x2
- bx r12
- .balign 4
-_020D66AC: .word CARDi_UnlockResource
-
- arm_func_start CARD_LockBackup
-CARD_LockBackup: ; 0x020D66B0
- ldr ip, _020D66BC ; =CARDi_LockResource
- mov r1, #0x2
- bx r12
- .balign 4
-_020D66BC: .word CARDi_LockResource
-
- arm_func_start CARD_UnlockRom
-CARD_UnlockRom: ; 0x020D66C0
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl OS_UnlockCard
- mov r0, r4
- mov r1, #0x1
- bl CARDi_UnlockResource
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start CARD_LockRom
-CARD_LockRom: ; 0x020D66E0
- stmdb sp!, {r4,lr}
- mov r4, r0
- mov r1, #0x1
- bl CARDi_LockResource
- mov r0, r4
- bl OS_TryLockCard
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start CARD_GetResultCode
-CARD_GetResultCode: ; 0x020D6700
- ldr r0, _020D6710 ; =cardi_common
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-_020D6710: .word cardi_common
-
- arm_func_start CARDi_TryWaitAsync
-CARDi_TryWaitAsync: ; 0x020D6714
- ldr r0, _020D672C ; =cardi_common
- ldr r0, [r0, #0x114]
- ands r0, r0, #0x4
- moveq r0, #0x1
- movne r0, #0x0
- bx lr
- .balign 4
-_020D672C: .word cardi_common
-
- arm_func_start CARDi_WaitAsync
-CARDi_WaitAsync: ; 0x020D6730
- stmdb sp!, {r4-r6,lr}
- ldr r6, _020D6788 ; =cardi_common
- bl OS_DisableInterrupts
- ldr r1, [r6, #0x114]
- mov r5, r0
- ands r0, r1, #0x4
- beq _020D6764
- add r4, r6, #0x10c
-_020D6750:
- mov r0, r4
- bl OS_SleepThread
- ldr r0, [r6, #0x114]
- ands r0, r0, #0x4
- bne _020D6750
-_020D6764:
- mov r0, r5
- bl OS_RestoreInterrupts
-_020D676C: ; 0x020D676C
- ldr r0, [r6, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- moveq r0, #0x1
- movne r0, #0x0
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020D6788: .word cardi_common
-
- arm_func_start CARD_Enable
-CARD_Enable: ; 0x020D678C
- ldr r1, _020D6798 ; =UNK_021D555C
- str r0, [r1, #0x0]
- bx lr
- .balign 4
-_020D6798: .word UNK_021D555C
-
- arm_func_start CARD_CheckEnabled
-CARD_CheckEnabled: ; 0x020D679C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl CARD_IsEnabled
-_020D67A8: ; 0x020D67A8
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- bl OS_Terminate
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start CARD_IsEnabled
-CARD_IsEnabled:
- ldr r0, _020D67D4 ; =UNK_021D555C
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-_020D67D4: .word UNK_021D555C
-
- arm_func_start CARDi_InitCommon
-CARDi_InitCommon: ; 0x020D67D8
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x8
- ldr r4, _020D68B8 ; =cardi_common
- ldr r1, _020D68BC ; =UNK_021D5560
- mvn r2, #0x2
- mov r0, #0x0
- str r2, [r4, #0x8]
- mov r2, #0x60
- str r0, [r4, #0xc]
- str r0, [r4, #0x18]
- str r1, [r4, #0x0]
- bl MIi_CpuClearFast
- ldr r0, _020D68BC ; =UNK_021D5560
- mov r1, #0x60
- bl DC_FlushRange
- ldr r0, _020D68C0 ; =0x027FFC40
- ldrh r0, [r0, #0x0]
- cmp r0, #0x2
- beq _020D6834
- ldr r0, _020D68C4 ; =0x027FFE00
- ldr r1, _020D68C8 ; =0x027FFA80
- mov r2, #0x160
- bl MI_CpuCopy8
-_020D6834:
- mov r2, #0x0
- str r2, [r4, #0x14]
- ldr r0, [r4, #0x14]
- mov r1, #0x4
- str r0, [r4, #0x10]
- str r2, [r4, #0x110]
- ldr r3, [r4, #0x110]
- mov r0, #0x400
- str r3, [r4, #0x10c]
- str r1, [r4, #0x108]
- str r0, [sp, #0x0]
- ldr r12, [r4, #0x108]
- ldr r1, _020D68CC ; =CARDi_TaskThread
- ldr r3, _020D68D0 ; =UNK_021D5BE0
- add r0, r4, #0x44
- str r12, [sp, #0x4]
- bl OS_CreateThread
- add r0, r4, #0x44
- bl OS_WakeupThreadDirect
- ldr r1, _020D68D4 ; =CARDi_OnFifoRecv
- mov r0, #0xb
- bl PXI_SetFifoRecvCallback
- ldr r0, _020D68C0 ; =0x027FFC40
- ldrh r0, [r0, #0x0]
- cmp r0, #0x2
- addeq sp, sp, #0x8
- ldmeqia sp!, {r4,lr}
- bxeq lr
- mov r0, #0x1
- bl CARD_Enable
- add sp, sp, #0x8
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020D68B8: .word cardi_common
-_020D68BC: .word UNK_021D5560
-_020D68C0: .word 0x027FFC40
-_020D68C4: .word 0x027FFE00
-_020D68C8: .word 0x027FFA80
-_020D68CC: .word CARDi_TaskThread
-_020D68D0: .word UNK_021D5BE0
-_020D68D4: .word CARDi_OnFifoRecv
-
- arm_func_start CARDi_UnlockResource
-CARDi_UnlockResource: ; 0x020D68D8
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- ldr r5, _020D6978 ; =cardi_common
- mov r7, r0
- mov r6, r1
- bl OS_DisableInterrupts
- mov r1, r5
- mov r4, r0
- ldr r0, [r1, #0x8]
- cmp r0, r7
- bne _020D6910
- ldr r0, [r5, #0xc]
- cmp r0, #0x0
- bne _020D6918
-_020D6910:
- bl OS_Terminate
- b _020D6958
-_020D6918:
- ldr r0, [r5, #0x18]
- cmp r0, r6
- beq _020D6928
- bl OS_Terminate
-_020D6928:
- ldr r0, [r5, #0xc]
- sub r0, r0, #0x1
- str r0, [r5, #0xc]
- ldr r0, [r5, #0xc]
- cmp r0, #0x0
- bne _020D6958
- mvn r0, #0x2
- str r0, [r5, #0x8]
- mov r1, #0x0
- add r0, r5, #0x10
- str r1, [r5, #0x18]
- bl OS_WakeupThread
-_020D6958:
- ldr r1, [r5, #0x0]
- mov r2, #0x0
- mov r0, r4
- str r2, [r1, #0x0]
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_020D6978: .word cardi_common
-
- arm_func_start CARDi_LockResource
-CARDi_LockResource: ; 0x020D697C
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- ldr r5, _020D6A14 ; =cardi_common
- mov r7, r0
- mov r6, r1
- bl OS_DisableInterrupts
- ldr r1, [r5, #0x8]
- mov r4, r0
- cmp r1, r7
- bne _020D69B8
- ldr r0, [r5, #0x18]
- cmp r0, r6
- beq _020D69E8
- bl OS_Terminate
- b _020D69E8
-_020D69B8:
- ldr r0, [r5, #0x8]
- mvn r8, #0x2
- cmp r0, r8
- beq _020D69E0
- add r9, r5, #0x10
-_020D69CC:
- mov r0, r9
- bl OS_SleepThread
- ldr r0, [r5, #0x8]
- cmp r0, r8
- bne _020D69CC
-_020D69E0:
- str r7, [r5, #0x8]
- str r6, [r5, #0x18]
-_020D69E8:
- ldr r1, [r5, #0xc]
- mov r0, r4
- add r1, r1, #0x1
- str r1, [r5, #0xc]
- ldr r1, [r5, #0x0]
- mov r2, #0x0
- str r2, [r1, #0x0]
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,lr}
- bx lr
- .balign 4
-_020D6A14: .word cardi_common
-
- arm_func_start CARDi_SetTask
-CARDi_SetTask: ; 0x020D6A18
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r4, _020D6A5C ; =cardi_common
- mov r5, r0
- ldr r1, [r4, #0x108]
- add r0, r4, #0x44
- bl OS_SetThreadPriority
- add r0, r4, #0x44
- str r0, [r4, #0x104]
- str r5, [r4, #0x40]
- ldr r1, [r4, #0x114]
- orr r1, r1, #0x8
- str r1, [r4, #0x114]
- bl OS_WakeupThreadDirect
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020D6A5C: .word cardi_common