mirror of
https://github.com/pret/pokediamond.git
synced 2026-09-30 12:26:48 -05:00
Merge branch 'pikalax_work' of github.com:PikalaxALT/pokediamond into pikalax_work
This commit is contained in:
@@ -218,8 +218,9 @@ SECTIONS {
|
||||
DGT_hash2.o (.text)
|
||||
DGT_sha1s_arm4cw.o (.text)
|
||||
CP_context.o (.text)
|
||||
libspi.o (.text)
|
||||
libpm.o (.text)
|
||||
SPI_tp.o (.text)
|
||||
SPI_mic.o (.text)
|
||||
SPI_pm.o (.text)
|
||||
librtc.o (.text)
|
||||
libcard.o (.text)
|
||||
libwm.o (.text)
|
||||
|
||||
528
arm9/asm/SPI_mic.s
Normal file
528
arm9/asm/SPI_mic.s
Normal file
@@ -0,0 +1,528 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "global.inc"
|
||||
|
||||
.text
|
||||
|
||||
arm_func_start MicWaitBusy
|
||||
MicWaitBusy: ; 0x020D4408
|
||||
ldr ip, _020D441C ; =0x021D54B0
|
||||
_020D440C:
|
||||
ldr r0, [r12, #0x0]
|
||||
cmp r0, #0x1
|
||||
beq _020D440C
|
||||
bx lr
|
||||
.balign 4
|
||||
_020D441C: .word 0x021D54B0
|
||||
|
||||
arm_func_start MicGetResultCallback
|
||||
MicGetResultCallback: ; 0x020D4420
|
||||
ldr r1, _020D442C ; =0x021D54B0
|
||||
str r0, [r1, #0xc]
|
||||
bx lr
|
||||
.balign 4
|
||||
_020D442C: .word 0x021D54B0
|
||||
|
||||
arm_func_start MicStopAutoSampling
|
||||
MicStopAutoSampling:
|
||||
stmdb sp!, {lr}
|
||||
sub sp, sp, #0x4
|
||||
ldr r1, _020D4460 ; =0x03004200
|
||||
mov r0, #0x9
|
||||
mov r2, #0x0
|
||||
bl PXI_SendWordByFifo
|
||||
_020D4448:
|
||||
cmp r0, #0x0
|
||||
movge r0, #0x1
|
||||
movlt r0, #0x0
|
||||
add sp, sp, #4
|
||||
ldmfd sp!, {lr}
|
||||
bx lr
|
||||
_020D4460: .word 0x03004200
|
||||
|
||||
arm_func_start MicStartAutoSampling
|
||||
MicStartAutoSampling: ; 0x020D4464
|
||||
stmdb sp!, {r4-r6,lr}
|
||||
ldr ip, _020D4584 ; =0x02004100
|
||||
mov r6, r0
|
||||
mov r5, r1
|
||||
mov r4, r2
|
||||
orr r1, r3, r12
|
||||
mov r0, #0x9
|
||||
mov r2, #0x0
|
||||
bl PXI_SendWordByFifo
|
||||
_020D4488:
|
||||
cmp r0, #0x0
|
||||
movlt r0, #0x0
|
||||
ldmltia sp!, {r4-r6, lr}
|
||||
bxlt lr
|
||||
mov r0, r6, lsr #0x10
|
||||
orr r1, r0, #0x10000
|
||||
mov r0, #0x9
|
||||
mov r2, #0x0
|
||||
bl PXI_SendWordByFifo
|
||||
cmp r0, #0x0
|
||||
movlt r0, #0x0
|
||||
ldmltia sp!, {r4-r6, lr}
|
||||
bxlt lr
|
||||
ldr r1, _020D4588
|
||||
mov r0, #0x9
|
||||
and r1, r6, r1
|
||||
orr r1, r1, #0x20000
|
||||
mov r2, #0x0
|
||||
bl PXI_SendWordByFifo
|
||||
cmp r0, #0x0
|
||||
movlt r0, #0x0
|
||||
ldmltia sp!, {r4-r6, lr}
|
||||
bxlt lr
|
||||
mov r0, r5, lsr #0x10
|
||||
orr r1, r0, #0x30000
|
||||
mov r0, #0x9
|
||||
mov r2, #0x0
|
||||
bl PXI_SendWordByFifo
|
||||
cmp r0, #0x0
|
||||
movlt r0, #0x0
|
||||
ldmltia sp!, {r4-r6, lr}
|
||||
bxlt lr
|
||||
ldr r1, _020D4588
|
||||
mov r0, #0x9
|
||||
and r1, r5, r1
|
||||
orr r1, r1, #0x40000
|
||||
mov r2, #0x0
|
||||
bl PXI_SendWordByFifo
|
||||
cmp r0, #0x0
|
||||
movlt r0, #0x0
|
||||
ldmltia sp!, {r4-r6, lr}
|
||||
bxlt lr
|
||||
mov r0, r4, lsr #0x10
|
||||
orr r1, r0, #0x50000
|
||||
mov r0, #0x9
|
||||
mov r2, #0x0
|
||||
bl PXI_SendWordByFifo
|
||||
cmp r0, #0x0
|
||||
movlt r0, #0x0
|
||||
ldmltia sp!, {r4-r6, lr}
|
||||
bxlt lr
|
||||
ldr r0, _020D4588
|
||||
ldr r1, _020D458C
|
||||
and r0, r4, r0
|
||||
orr r1, r0, r1
|
||||
mov r0, #0x9
|
||||
mov r2, #0x0
|
||||
bl PXI_SendWordByFifo
|
||||
cmp r0, #0x0
|
||||
movge r0, #0x1
|
||||
movlt r0, #0x0
|
||||
ldmia sp!, {r4-r6, lr}
|
||||
bx lr
|
||||
_020D4584: .word 0x02004100
|
||||
_020D4588: .word 0x0000FFFF
|
||||
_020D458C: .word 0x01060000
|
||||
|
||||
arm_func_start MicDoSampling
|
||||
MicDoSampling: ; 0x020D4590
|
||||
stmdb sp!, {lr}
|
||||
sub sp, sp, #0x4
|
||||
ldr r1, _020D45C4 ; =0x03004000
|
||||
mov r2, #0x0
|
||||
orr r1, r0, r1
|
||||
mov r0, #0x9
|
||||
bl PXI_SendWordByFifo
|
||||
_020D45AC:
|
||||
cmp r0, #0x0
|
||||
movge r0, #0x1
|
||||
movlt r0, #0x0
|
||||
add sp, sp, #0x4
|
||||
ldmfd sp!, {lr}
|
||||
bx lr
|
||||
_020D45C4: .word 0x03004000
|
||||
|
||||
arm_func_start MicCommonCallback
|
||||
MicCommonCallback: ; 0x020D45C8
|
||||
stmdb sp!, {r4,lr}
|
||||
mov r4, r1
|
||||
cmp r2, #0x0
|
||||
beq _020D4610
|
||||
ldr r0, _020D4700 ; =0x021D54B0
|
||||
ldr r2, _020D4700 ; =0x021D54B0
|
||||
ldr r1, [r0, #0x0]
|
||||
ldr r12, [r2, #0x4]
|
||||
cmp r1, #0x0
|
||||
movne r1, #0x0
|
||||
strne r1, [r0, #0x0]
|
||||
cmp r12, #0x0
|
||||
beq _020D4610
|
||||
ldr r1, [r2, #0x8]
|
||||
mov r3, #0x0
|
||||
mov r0, #0x6
|
||||
str r3, [r2, #0x4]
|
||||
blx r12
|
||||
_020D4610:
|
||||
and r0, r4, #0xff
|
||||
mov r1, r0, lsl #0x10
|
||||
and r2, r4, #0x7f00
|
||||
mov r0, r2, lsl #0x8
|
||||
mov r1, r1, lsr #0x10
|
||||
cmp r1, #0x4
|
||||
mov r2, r0, lsr #0x10
|
||||
addls pc, pc, r1, lsl #0x2
|
||||
b _020D4670
|
||||
_020D4634:
|
||||
b _020D4648
|
||||
b _020D4650
|
||||
b _020D4658
|
||||
b _020D4660
|
||||
b _020D4668
|
||||
_020D4648:
|
||||
mov r0, #0x0
|
||||
b _020D4674
|
||||
_020D4650:
|
||||
mov r0, #0x4
|
||||
b _020D4674
|
||||
_020D4658:
|
||||
mov r0, #0x2
|
||||
b _020D4674
|
||||
_020D4660:
|
||||
mov r0, #0x5
|
||||
b _020D4674
|
||||
_020D4668:
|
||||
mov r0, #0x1
|
||||
b _020D4674
|
||||
_020D4670:
|
||||
mov r0, #0x6
|
||||
_020D4674:
|
||||
cmp r2, #0x51
|
||||
bne _020D46A0
|
||||
ldr r1, _020D4700 ; =0x021D54B0
|
||||
ldr r2, [r1, #0x10]
|
||||
cmp r2, #0x0
|
||||
ldmeqia sp!, {r4,lr}
|
||||
bxeq lr
|
||||
ldr r1, [r1, #0x14]
|
||||
blx r2
|
||||
ldmia sp!, {r4,lr}
|
||||
bx lr
|
||||
_020D46A0:
|
||||
cmp r2, #0x40
|
||||
bne _020D46C0
|
||||
ldr r1, _020D4700 ; =0x021D54B0
|
||||
ldr r2, [r1, #0x18]
|
||||
cmp r2, #0x0
|
||||
ldrne r1, _020D4704 ; =0x027FFF94
|
||||
ldrneh r1, [r1, #0x0]
|
||||
strneh r1, [r2, #0x0]
|
||||
_020D46C0:
|
||||
ldr r1, _020D4700 ; =0x021D54B0
|
||||
ldr r2, [r1, #0x0]
|
||||
cmp r2, #0x0
|
||||
movne r2, #0x0
|
||||
strne r2, [r1, #0x0]
|
||||
ldr r2, _020D4700 ; =0x021D54B0
|
||||
ldr r4, [r2, #0x4]
|
||||
cmp r4, #0x0
|
||||
ldmeqia sp!, {r4,lr}
|
||||
bxeq lr
|
||||
ldr r1, [r2, #0x8]
|
||||
mov r3, #0x0
|
||||
str r3, [r2, #0x4]
|
||||
blx r4
|
||||
ldmia sp!, {r4,lr}
|
||||
bx lr
|
||||
.balign 4
|
||||
_020D4700: .word 0x021D54B0
|
||||
_020D4704: .word 0x027FFF94
|
||||
|
||||
arm_func_start MIC_GetLastSamplingAddress
|
||||
MIC_GetLastSamplingAddress: ; 0x020D4708
|
||||
ldr r0, _020D4714 ; =0x027FFF90
|
||||
ldr r0, [r0, #0x0]
|
||||
bx lr
|
||||
.balign 4
|
||||
_020D4714: .word 0x027FFF90
|
||||
|
||||
arm_func_start MIC_StopAutoSampling
|
||||
MIC_StopAutoSampling: ; 0x020D4718
|
||||
stmdb sp!, {lr}
|
||||
sub sp, sp, #0x4
|
||||
ldr r0, _020D4754 ; =MicGetResultCallback
|
||||
mov r1, #0x0
|
||||
bl MIC_StopAutoSamplingAsync
|
||||
ldr r1, _020D4758 ; =0x021D54B0
|
||||
cmp r0, #0x0
|
||||
str r0, [r1, #0xc]
|
||||
bne _020D4740
|
||||
bl MicWaitBusy
|
||||
_020D4740:
|
||||
ldr r0, _020D4758 ; =0x021D54B0
|
||||
ldr r0, [r0, #0xc]
|
||||
add sp, sp, #0x4
|
||||
ldmia sp!, {lr}
|
||||
bx lr
|
||||
.balign 4
|
||||
_020D4754: .word MicGetResultCallback
|
||||
_020D4758: .word 0x021D54B0
|
||||
|
||||
arm_func_start MIC_StopAutoSamplingAsync
|
||||
MIC_StopAutoSamplingAsync: ; 0x020D475C
|
||||
stmdb sp!, {r4-r5,lr}
|
||||
sub sp, sp, #0x4
|
||||
mov r5, r0
|
||||
mov r4, r1
|
||||
bl OS_DisableInterrupts
|
||||
ldr r1, _020D47C8 ; =0x021D54B0
|
||||
ldr r2, [r1, #0x0]
|
||||
cmp r2, #0x0
|
||||
beq _020D4794
|
||||
bl OS_RestoreInterrupts
|
||||
add sp, sp, #0x4
|
||||
mov r0, #0x1
|
||||
ldmia sp!, {r4-r5,lr}
|
||||
bx lr
|
||||
_020D4794:
|
||||
mov r2, #0x1
|
||||
str r2, [r1, #0x0]
|
||||
bl OS_RestoreInterrupts
|
||||
ldr r0, _020D47C8 ; =0x021D54B0
|
||||
str r5, [r0, #0x4]
|
||||
str r4, [r0, #0x8]
|
||||
bl MicStopAutoSampling
|
||||
_020D47B0:
|
||||
cmp r0, #0x0
|
||||
movne r0, #0x0
|
||||
moveq r0, #0x3
|
||||
add sp, sp, #0x4
|
||||
ldmia sp!, {r4-r5, lr}
|
||||
bx lr
|
||||
_020D47C8: .word 0x021D54B0
|
||||
|
||||
arm_func_start MIC_StartAutoSampling
|
||||
MIC_StartAutoSampling: ; 0x020D47CC
|
||||
stmdb sp!, {lr}
|
||||
sub sp, sp, #0x4
|
||||
ldr r1, _020D4808 ; =MicGetResultCallback
|
||||
mov r2, #0x0
|
||||
bl MIC_StartAutoSamplingAsync
|
||||
ldr r1, _020D480C ; =0x021D54B0
|
||||
cmp r0, #0x0
|
||||
str r0, [r1, #0xc]
|
||||
bne _020D47F4
|
||||
bl MicWaitBusy
|
||||
_020D47F4:
|
||||
ldr r0, _020D480C ; =0x021D54B0
|
||||
ldr r0, [r0, #0xc]
|
||||
add sp, sp, #0x4
|
||||
ldmia sp!, {lr}
|
||||
bx lr
|
||||
.balign 4
|
||||
_020D4808: .word MicGetResultCallback
|
||||
_020D480C: .word 0x021D54B0
|
||||
|
||||
arm_func_start MIC_StartAutoSamplingAsync
|
||||
MIC_StartAutoSamplingAsync: ; 0x020D4810
|
||||
stmdb sp!, {r4-r7,lr}
|
||||
sub sp, sp, #0x4
|
||||
mov r7, r0
|
||||
ldr r0, [r7, #0x4]
|
||||
mov r6, r1
|
||||
ands r0, r0, #0x1f
|
||||
mov r5, r2
|
||||
addne sp, sp, #0x4
|
||||
movne r0, #0x2
|
||||
ldmneia sp!, {r4-r7,lr}
|
||||
bxne lr
|
||||
ldr r1, [r7, #0x8]
|
||||
ands r0, r1, #0x1f
|
||||
addne sp, sp, #0x4
|
||||
movne r0, #0x2
|
||||
ldmneia sp!, {r4-r7,lr}
|
||||
bxne lr
|
||||
cmp r1, #0x0
|
||||
addeq sp, sp, #0x4
|
||||
moveq r0, #0x2
|
||||
ldmeqia sp!, {r4-r7,lr}
|
||||
bxeq lr
|
||||
ldr r0, [r7, #0xc]
|
||||
cmp r0, #0x400
|
||||
addcc sp, sp, #0x4
|
||||
movcc r0, #0x2
|
||||
ldmccia sp!, {r4-r7,lr}
|
||||
bxcc lr
|
||||
ldr r0, [r7, #0x0]
|
||||
cmp r0, #0x5
|
||||
addls pc, pc, r0, lsl #0x2
|
||||
b _020D48D8
|
||||
_020D4890:
|
||||
b _020D48A8
|
||||
b _020D48B0
|
||||
b _020D48B8
|
||||
b _020D48C0
|
||||
b _020D48C8
|
||||
b _020D48D0
|
||||
_020D48A8:
|
||||
mov r1, #0x0
|
||||
b _020D48E8
|
||||
_020D48B0:
|
||||
mov r1, #0x1
|
||||
b _020D48E8
|
||||
_020D48B8:
|
||||
mov r1, #0x2
|
||||
b _020D48E8
|
||||
_020D48C0:
|
||||
mov r1, #0x3
|
||||
b _020D48E8
|
||||
_020D48C8:
|
||||
mov r1, #0x5
|
||||
b _020D48E8
|
||||
_020D48D0:
|
||||
mov r1, #0x7
|
||||
b _020D48E8
|
||||
_020D48D8:
|
||||
add sp, sp, #0x4
|
||||
mov r0, #0x2
|
||||
ldmia sp!, {r4-r7,lr}
|
||||
bx lr
|
||||
_020D48E8:
|
||||
ldr r0, [r7, #0x10]
|
||||
cmp r0, #0x0
|
||||
orrne r0, r1, #0x10
|
||||
andne r0, r0, #0xff
|
||||
andeq r0, r1, #0xff
|
||||
and r4, r0, #0xff
|
||||
bl OS_DisableInterrupts
|
||||
ldr r1, _020D497C
|
||||
ldr r2, [r1]
|
||||
cmp r2, #0x0
|
||||
beq _020D4928
|
||||
bl OS_RestoreInterrupts
|
||||
add sp, sp, #0x4
|
||||
mov r0, #0x1
|
||||
ldmia sp!, {r4-r7,lr}
|
||||
bx lr
|
||||
_020D4928:
|
||||
mov r2, #0x1
|
||||
str r2, [r1]
|
||||
bl OS_RestoreInterrupts
|
||||
ldr r0, _020D497C
|
||||
mov r3, r4
|
||||
str r6, [r0, #0x4]
|
||||
str r5, [r0, #0x8]
|
||||
ldr r1, [r7, #0x14]
|
||||
str r1, [r0, #0x10]
|
||||
ldr r1, [r7, #0x18]
|
||||
str r1, [r0, #0x14]
|
||||
ldr r0, [r7, #0x4]
|
||||
ldr r1, [r7, #0x8]
|
||||
ldr r2, [r7, #0xC]
|
||||
bl MicStartAutoSampling
|
||||
cmp r0, #0x0
|
||||
movne r0, #0x0
|
||||
moveq r0, #0x3
|
||||
add sp, sp, #0x4
|
||||
ldmia sp!, {r4-r7,lr}
|
||||
bx lr
|
||||
_020D497C: .word 0x021D54B0
|
||||
|
||||
arm_func_start MIC_DoSamplingAsync
|
||||
MIC_DoSamplingAsync: ; 0x020D4980
|
||||
stmdb sp!, {r4-r7,lr}
|
||||
sub sp, sp, #0x4
|
||||
cmp r0, #0x6
|
||||
mov r7, r1
|
||||
mov r6, r2
|
||||
mov r5, r3
|
||||
addge sp, sp, #0x4
|
||||
movge r0, #0x2
|
||||
ldmgeia sp!, {r4-r7,lr}
|
||||
bxge lr
|
||||
cmp r0, #0x3
|
||||
addls pc, pc, r0, lsl #0x2
|
||||
b _020D49E4
|
||||
_020D49B4:
|
||||
b _020D49C4
|
||||
b _020D49CC
|
||||
b _020D49D4
|
||||
b _020D49DC
|
||||
_020D49C4:
|
||||
mov r4, #0x0
|
||||
b _020D49F4
|
||||
_020D49CC:
|
||||
mov r4, #0x1
|
||||
b _020D49F4
|
||||
_020D49D4:
|
||||
mov r4, #0x2
|
||||
b _020D49F4
|
||||
_020D49DC:
|
||||
mov r4, #0x3
|
||||
b _020D49F4
|
||||
_020D49E4:
|
||||
add sp, sp, #0x4
|
||||
mov r0, #0x2
|
||||
ldmia sp!, {r4-r7,lr}
|
||||
bx lr
|
||||
_020D49F4:
|
||||
bl OS_DisableInterrupts
|
||||
ldr r1, _020D4A58
|
||||
ldr r2, [r1]
|
||||
cmp r2, #0x0
|
||||
beq _020D4A1C
|
||||
bl OS_RestoreInterrupts
|
||||
add sp, sp, #0x4
|
||||
mov r0, #0x1
|
||||
ldmia sp!, {r4-r7,lr}
|
||||
bx lr
|
||||
_020D4A1C:
|
||||
mov r2, #0x1
|
||||
str r2, [r1]
|
||||
bl OS_RestoreInterrupts
|
||||
ldr r1, _020D4A58
|
||||
mov r0, r4
|
||||
str r6, [r1, #0x4]
|
||||
str r5, [r1, #0x8]
|
||||
str r7, [r1, #0x18]
|
||||
bl MicDoSampling
|
||||
cmp r0, #0x0
|
||||
movne r0, #0x0
|
||||
moveq r0, #0x3
|
||||
add sp, sp, #0x4
|
||||
ldmia sp!, {r4-r7,lr}
|
||||
bx lr
|
||||
_020D4A58: .word 0x021D54B0
|
||||
|
||||
arm_func_start MIC_Init
|
||||
MIC_Init: ; 0x020D4A5C
|
||||
stmdb sp!, {r4-r5,lr}
|
||||
sub sp, sp, #0x4
|
||||
ldr r1, _020D4AD8 ; =0x021D54AC
|
||||
ldrh r0, [r1, #0x0]
|
||||
cmp r0, #0x0
|
||||
addne sp, sp, #0x4
|
||||
ldmneia sp!, {r4-r5,lr}
|
||||
bxne lr
|
||||
ldr r0, _020D4ADC ; =0x021D54B0
|
||||
mov r2, #0x0
|
||||
mov r3, #0x1
|
||||
strh r3, [r1, #0x0]
|
||||
str r2, [r0, #0x0]
|
||||
str r2, [r0, #0x4]
|
||||
bl PXI_Init
|
||||
mov r5, #0x9
|
||||
mov r4, #0x1
|
||||
_020D4AA0:
|
||||
mov r0, r5
|
||||
mov r1, r4
|
||||
bl PXI_IsCallbackReady
|
||||
_020D4AAC:
|
||||
cmp r0, #0x0
|
||||
beq _020D4AA0
|
||||
ldr r2, _020D4AE0
|
||||
mov r3, #0x0
|
||||
ldr r1, _020D4AE4
|
||||
mov r0, #0x9
|
||||
str r3, [r2]
|
||||
bl PXI_SetFifoRecvCallback
|
||||
add sp, sp, #0x4
|
||||
ldmia sp!, {r4-r5, lr}
|
||||
bx lr
|
||||
_020D4AD8: .word 0x021D54AC
|
||||
_020D4ADC: .word 0x021D54B0
|
||||
_020D4AE0: .word 0x027FFF90
|
||||
_020D4AE4: .word MicCommonCallback
|
||||
@@ -25,22 +25,22 @@ _020D4B14: .word 0x021D54D8
|
||||
|
||||
arm_func_start PM_AppendPostSleepCallback
|
||||
PM_AppendPostSleepCallback: ; 0x020D4B18
|
||||
ldr ip, _020D4B28 ; =FUN_020D4BC4
|
||||
ldr ip, _020D4B28 ; =PMi_AppendList
|
||||
mov r1, r0
|
||||
ldr r0, _020D4B2C ; =0x021D54E0
|
||||
bx r12
|
||||
.balign 4
|
||||
_020D4B28: .word FUN_020D4BC4
|
||||
_020D4B28: .word PMi_AppendList
|
||||
_020D4B2C: .word 0x021D54E0
|
||||
|
||||
arm_func_start PM_PrependPreSleepCallback
|
||||
PM_PrependPreSleepCallback: ; 0x020D4B30
|
||||
ldr ip, _020D4B40 ; =FUN_020D4C0C
|
||||
ldr ip, _020D4B40 ; =PMi_PrependList
|
||||
mov r1, r0
|
||||
ldr r0, _020D4B44 ; =0x021D54D8
|
||||
bx r12
|
||||
.balign 4
|
||||
_020D4B40: .word FUN_020D4C0C
|
||||
_020D4B40: .word PMi_PrependList
|
||||
_020D4B44: .word 0x021D54D8
|
||||
|
||||
arm_func_start PMi_ExecuteList
|
||||
@@ -59,8 +59,8 @@ _020D4B58:
|
||||
ldmia sp!, {r4,lr}
|
||||
bx lr
|
||||
|
||||
arm_func_start FUN_020D4B78
|
||||
FUN_020D4B78:
|
||||
arm_func_start PMi_DeleteList
|
||||
PMi_DeleteList:
|
||||
cmp r0, #0x0
|
||||
bxeq lr
|
||||
ldr r3, [r0]
|
||||
@@ -83,8 +83,8 @@ _020D4BB0:
|
||||
bne _020D4B90
|
||||
bx lr
|
||||
|
||||
arm_func_start FUN_020D4BC4
|
||||
FUN_020D4BC4: ; 0x020D4BC4
|
||||
arm_func_start PMi_AppendList
|
||||
PMi_AppendList: ; 0x020D4BC4
|
||||
cmp r0, #0x0
|
||||
bxeq lr
|
||||
ldr r2, [r0, #0x0]
|
||||
@@ -106,8 +106,8 @@ _020D4C00:
|
||||
str r1, [r2, #0x8]
|
||||
bx lr
|
||||
|
||||
arm_func_start FUN_020D4C0C
|
||||
FUN_020D4C0C: ; 0x020D4C0C
|
||||
arm_func_start PMi_PrependList
|
||||
PMi_PrependList: ; 0x020D4C0C
|
||||
cmp r0, #0x0
|
||||
ldrne r2, [r0, #0x0]
|
||||
strne r2, [r1, #0x8]
|
||||
@@ -508,23 +508,23 @@ _020D5120:
|
||||
|
||||
arm_func_start PM_SetAmpGain
|
||||
PM_SetAmpGain: ; 0x020D5150
|
||||
ldr ip, _020D5164 ; =FUN_020D53DC
|
||||
ldr ip, _020D5164 ; =PMi_WriteRegister
|
||||
mov r0, r0, lsl #0x10
|
||||
mov r1, r0, lsr #0x10
|
||||
mov r0, #0x3
|
||||
bx r12
|
||||
.balign 4
|
||||
_020D5164: .word FUN_020D53DC
|
||||
_020D5164: .word PMi_WriteRegister
|
||||
|
||||
arm_func_start PM_SetAmp
|
||||
PM_SetAmp: ; 0x020D5168
|
||||
ldr ip, _020D517C ; =FUN_020D53DC
|
||||
ldr ip, _020D517C ; =PMi_WriteRegister
|
||||
mov r0, r0, lsl #0x10
|
||||
mov r1, r0, lsr #0x10
|
||||
mov r0, #0x2
|
||||
bx r12
|
||||
.balign 4
|
||||
_020D517C: .word FUN_020D53DC
|
||||
_020D517C: .word PMi_WriteRegister
|
||||
|
||||
arm_func_start PM_ForceToPowerOff
|
||||
PM_ForceToPowerOff: ; 0x020D5180
|
||||
@@ -722,8 +722,8 @@ _020D53B4:
|
||||
.balign 4
|
||||
_020D53D8: .word 0x0000FFFF
|
||||
|
||||
arm_func_start FUN_020D53DC
|
||||
FUN_020D53DC: ; 0x020D53DC
|
||||
arm_func_start PMi_WriteRegister
|
||||
PMi_WriteRegister: ; 0x020D53DC
|
||||
stmdb sp!, {lr}
|
||||
sub sp, sp, #0x4
|
||||
ldr r2, _020D5414 ; =PMi_DummyCallback
|
||||
@@ -1,6 +1,7 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "global.inc"
|
||||
.section .text
|
||||
|
||||
.text
|
||||
|
||||
arm_func_start TP_CheckError
|
||||
TP_CheckError: ; 0x020D36C4
|
||||
@@ -961,527 +962,3 @@ _020D43EC:
|
||||
_020D43FC: .word 0x021D5474
|
||||
_020D4400: .word 0x027FFFAA
|
||||
_020D4404: .word 0x027FFFAC
|
||||
|
||||
arm_func_start MicWaitBusy
|
||||
MicWaitBusy: ; 0x020D4408
|
||||
ldr ip, _020D441C ; =0x021D54B0
|
||||
_020D440C:
|
||||
ldr r0, [r12, #0x0]
|
||||
cmp r0, #0x1
|
||||
beq _020D440C
|
||||
bx lr
|
||||
.balign 4
|
||||
_020D441C: .word 0x021D54B0
|
||||
|
||||
arm_func_start MicGetResultCallback
|
||||
MicGetResultCallback: ; 0x020D4420
|
||||
ldr r1, _020D442C ; =0x021D54B0
|
||||
str r0, [r1, #0xc]
|
||||
bx lr
|
||||
.balign 4
|
||||
_020D442C: .word 0x021D54B0
|
||||
|
||||
arm_func_start MicStopAutoSampling
|
||||
MicStopAutoSampling:
|
||||
stmdb sp!, {lr}
|
||||
sub sp, sp, #0x4
|
||||
ldr r1, _020D4460 ; =0x03004200
|
||||
mov r0, #0x9
|
||||
mov r2, #0x0
|
||||
bl PXI_SendWordByFifo
|
||||
_020D4448:
|
||||
cmp r0, #0x0
|
||||
movge r0, #0x1
|
||||
movlt r0, #0x0
|
||||
add sp, sp, #4
|
||||
ldmfd sp!, {lr}
|
||||
bx lr
|
||||
_020D4460: .word 0x03004200
|
||||
|
||||
arm_func_start MicStartAutoSampling
|
||||
MicStartAutoSampling: ; 0x020D4464
|
||||
stmdb sp!, {r4-r6,lr}
|
||||
ldr ip, _020D4584 ; =0x02004100
|
||||
mov r6, r0
|
||||
mov r5, r1
|
||||
mov r4, r2
|
||||
orr r1, r3, r12
|
||||
mov r0, #0x9
|
||||
mov r2, #0x0
|
||||
bl PXI_SendWordByFifo
|
||||
_020D4488:
|
||||
cmp r0, #0x0
|
||||
movlt r0, #0x0
|
||||
ldmltia sp!, {r4-r6, lr}
|
||||
bxlt lr
|
||||
mov r0, r6, lsr #0x10
|
||||
orr r1, r0, #0x10000
|
||||
mov r0, #0x9
|
||||
mov r2, #0x0
|
||||
bl PXI_SendWordByFifo
|
||||
cmp r0, #0x0
|
||||
movlt r0, #0x0
|
||||
ldmltia sp!, {r4-r6, lr}
|
||||
bxlt lr
|
||||
ldr r1, _020D4588
|
||||
mov r0, #0x9
|
||||
and r1, r6, r1
|
||||
orr r1, r1, #0x20000
|
||||
mov r2, #0x0
|
||||
bl PXI_SendWordByFifo
|
||||
cmp r0, #0x0
|
||||
movlt r0, #0x0
|
||||
ldmltia sp!, {r4-r6, lr}
|
||||
bxlt lr
|
||||
mov r0, r5, lsr #0x10
|
||||
orr r1, r0, #0x30000
|
||||
mov r0, #0x9
|
||||
mov r2, #0x0
|
||||
bl PXI_SendWordByFifo
|
||||
cmp r0, #0x0
|
||||
movlt r0, #0x0
|
||||
ldmltia sp!, {r4-r6, lr}
|
||||
bxlt lr
|
||||
ldr r1, _020D4588
|
||||
mov r0, #0x9
|
||||
and r1, r5, r1
|
||||
orr r1, r1, #0x40000
|
||||
mov r2, #0x0
|
||||
bl PXI_SendWordByFifo
|
||||
cmp r0, #0x0
|
||||
movlt r0, #0x0
|
||||
ldmltia sp!, {r4-r6, lr}
|
||||
bxlt lr
|
||||
mov r0, r4, lsr #0x10
|
||||
orr r1, r0, #0x50000
|
||||
mov r0, #0x9
|
||||
mov r2, #0x0
|
||||
bl PXI_SendWordByFifo
|
||||
cmp r0, #0x0
|
||||
movlt r0, #0x0
|
||||
ldmltia sp!, {r4-r6, lr}
|
||||
bxlt lr
|
||||
ldr r0, _020D4588
|
||||
ldr r1, _020D458C
|
||||
and r0, r4, r0
|
||||
orr r1, r0, r1
|
||||
mov r0, #0x9
|
||||
mov r2, #0x0
|
||||
bl PXI_SendWordByFifo
|
||||
cmp r0, #0x0
|
||||
movge r0, #0x1
|
||||
movlt r0, #0x0
|
||||
ldmia sp!, {r4-r6, lr}
|
||||
bx lr
|
||||
_020D4584: .word 0x02004100
|
||||
_020D4588: .word 0x0000FFFF
|
||||
_020D458C: .word 0x01060000
|
||||
|
||||
arm_func_start MicDoSampling
|
||||
MicDoSampling: ; 0x020D4590
|
||||
stmdb sp!, {lr}
|
||||
sub sp, sp, #0x4
|
||||
ldr r1, _020D45C4 ; =0x03004000
|
||||
mov r2, #0x0
|
||||
orr r1, r0, r1
|
||||
mov r0, #0x9
|
||||
bl PXI_SendWordByFifo
|
||||
_020D45AC:
|
||||
cmp r0, #0x0
|
||||
movge r0, #0x1
|
||||
movlt r0, #0x0
|
||||
add sp, sp, #0x4
|
||||
ldmfd sp!, {lr}
|
||||
bx lr
|
||||
_020D45C4: .word 0x03004000
|
||||
|
||||
arm_func_start MicCommonCallback
|
||||
MicCommonCallback: ; 0x020D45C8
|
||||
stmdb sp!, {r4,lr}
|
||||
mov r4, r1
|
||||
cmp r2, #0x0
|
||||
beq _020D4610
|
||||
ldr r0, _020D4700 ; =0x021D54B0
|
||||
ldr r2, _020D4700 ; =0x021D54B0
|
||||
ldr r1, [r0, #0x0]
|
||||
ldr r12, [r2, #0x4]
|
||||
cmp r1, #0x0
|
||||
movne r1, #0x0
|
||||
strne r1, [r0, #0x0]
|
||||
cmp r12, #0x0
|
||||
beq _020D4610
|
||||
ldr r1, [r2, #0x8]
|
||||
mov r3, #0x0
|
||||
mov r0, #0x6
|
||||
str r3, [r2, #0x4]
|
||||
blx r12
|
||||
_020D4610:
|
||||
and r0, r4, #0xff
|
||||
mov r1, r0, lsl #0x10
|
||||
and r2, r4, #0x7f00
|
||||
mov r0, r2, lsl #0x8
|
||||
mov r1, r1, lsr #0x10
|
||||
cmp r1, #0x4
|
||||
mov r2, r0, lsr #0x10
|
||||
addls pc, pc, r1, lsl #0x2
|
||||
b _020D4670
|
||||
_020D4634:
|
||||
b _020D4648
|
||||
b _020D4650
|
||||
b _020D4658
|
||||
b _020D4660
|
||||
b _020D4668
|
||||
_020D4648:
|
||||
mov r0, #0x0
|
||||
b _020D4674
|
||||
_020D4650:
|
||||
mov r0, #0x4
|
||||
b _020D4674
|
||||
_020D4658:
|
||||
mov r0, #0x2
|
||||
b _020D4674
|
||||
_020D4660:
|
||||
mov r0, #0x5
|
||||
b _020D4674
|
||||
_020D4668:
|
||||
mov r0, #0x1
|
||||
b _020D4674
|
||||
_020D4670:
|
||||
mov r0, #0x6
|
||||
_020D4674:
|
||||
cmp r2, #0x51
|
||||
bne _020D46A0
|
||||
ldr r1, _020D4700 ; =0x021D54B0
|
||||
ldr r2, [r1, #0x10]
|
||||
cmp r2, #0x0
|
||||
ldmeqia sp!, {r4,lr}
|
||||
bxeq lr
|
||||
ldr r1, [r1, #0x14]
|
||||
blx r2
|
||||
ldmia sp!, {r4,lr}
|
||||
bx lr
|
||||
_020D46A0:
|
||||
cmp r2, #0x40
|
||||
bne _020D46C0
|
||||
ldr r1, _020D4700 ; =0x021D54B0
|
||||
ldr r2, [r1, #0x18]
|
||||
cmp r2, #0x0
|
||||
ldrne r1, _020D4704 ; =0x027FFF94
|
||||
ldrneh r1, [r1, #0x0]
|
||||
strneh r1, [r2, #0x0]
|
||||
_020D46C0:
|
||||
ldr r1, _020D4700 ; =0x021D54B0
|
||||
ldr r2, [r1, #0x0]
|
||||
cmp r2, #0x0
|
||||
movne r2, #0x0
|
||||
strne r2, [r1, #0x0]
|
||||
ldr r2, _020D4700 ; =0x021D54B0
|
||||
ldr r4, [r2, #0x4]
|
||||
cmp r4, #0x0
|
||||
ldmeqia sp!, {r4,lr}
|
||||
bxeq lr
|
||||
ldr r1, [r2, #0x8]
|
||||
mov r3, #0x0
|
||||
str r3, [r2, #0x4]
|
||||
blx r4
|
||||
ldmia sp!, {r4,lr}
|
||||
bx lr
|
||||
.balign 4
|
||||
_020D4700: .word 0x021D54B0
|
||||
_020D4704: .word 0x027FFF94
|
||||
|
||||
arm_func_start MIC_GetLastSamplingAddress
|
||||
MIC_GetLastSamplingAddress: ; 0x020D4708
|
||||
ldr r0, _020D4714 ; =0x027FFF90
|
||||
ldr r0, [r0, #0x0]
|
||||
bx lr
|
||||
.balign 4
|
||||
_020D4714: .word 0x027FFF90
|
||||
|
||||
arm_func_start MIC_StopAutoSampling
|
||||
MIC_StopAutoSampling: ; 0x020D4718
|
||||
stmdb sp!, {lr}
|
||||
sub sp, sp, #0x4
|
||||
ldr r0, _020D4754 ; =MicGetResultCallback
|
||||
mov r1, #0x0
|
||||
bl MIC_StopAutoSamplingAsync
|
||||
ldr r1, _020D4758 ; =0x021D54B0
|
||||
cmp r0, #0x0
|
||||
str r0, [r1, #0xc]
|
||||
bne _020D4740
|
||||
bl MicWaitBusy
|
||||
_020D4740:
|
||||
ldr r0, _020D4758 ; =0x021D54B0
|
||||
ldr r0, [r0, #0xc]
|
||||
add sp, sp, #0x4
|
||||
ldmia sp!, {lr}
|
||||
bx lr
|
||||
.balign 4
|
||||
_020D4754: .word MicGetResultCallback
|
||||
_020D4758: .word 0x021D54B0
|
||||
|
||||
arm_func_start MIC_StopAutoSamplingAsync
|
||||
MIC_StopAutoSamplingAsync: ; 0x020D475C
|
||||
stmdb sp!, {r4-r5,lr}
|
||||
sub sp, sp, #0x4
|
||||
mov r5, r0
|
||||
mov r4, r1
|
||||
bl OS_DisableInterrupts
|
||||
ldr r1, _020D47C8 ; =0x021D54B0
|
||||
ldr r2, [r1, #0x0]
|
||||
cmp r2, #0x0
|
||||
beq _020D4794
|
||||
bl OS_RestoreInterrupts
|
||||
add sp, sp, #0x4
|
||||
mov r0, #0x1
|
||||
ldmia sp!, {r4-r5,lr}
|
||||
bx lr
|
||||
_020D4794:
|
||||
mov r2, #0x1
|
||||
str r2, [r1, #0x0]
|
||||
bl OS_RestoreInterrupts
|
||||
ldr r0, _020D47C8 ; =0x021D54B0
|
||||
str r5, [r0, #0x4]
|
||||
str r4, [r0, #0x8]
|
||||
bl MicStopAutoSampling
|
||||
_020D47B0:
|
||||
cmp r0, #0x0
|
||||
movne r0, #0x0
|
||||
moveq r0, #0x3
|
||||
add sp, sp, #0x4
|
||||
ldmia sp!, {r4-r5, lr}
|
||||
bx lr
|
||||
_020D47C8: .word 0x021D54B0
|
||||
|
||||
arm_func_start MIC_StartAutoSampling
|
||||
MIC_StartAutoSampling: ; 0x020D47CC
|
||||
stmdb sp!, {lr}
|
||||
sub sp, sp, #0x4
|
||||
ldr r1, _020D4808 ; =MicGetResultCallback
|
||||
mov r2, #0x0
|
||||
bl MIC_StartAutoSamplingAsync
|
||||
ldr r1, _020D480C ; =0x021D54B0
|
||||
cmp r0, #0x0
|
||||
str r0, [r1, #0xc]
|
||||
bne _020D47F4
|
||||
bl MicWaitBusy
|
||||
_020D47F4:
|
||||
ldr r0, _020D480C ; =0x021D54B0
|
||||
ldr r0, [r0, #0xc]
|
||||
add sp, sp, #0x4
|
||||
ldmia sp!, {lr}
|
||||
bx lr
|
||||
.balign 4
|
||||
_020D4808: .word MicGetResultCallback
|
||||
_020D480C: .word 0x021D54B0
|
||||
|
||||
arm_func_start MIC_StartAutoSamplingAsync
|
||||
MIC_StartAutoSamplingAsync: ; 0x020D4810
|
||||
stmdb sp!, {r4-r7,lr}
|
||||
sub sp, sp, #0x4
|
||||
mov r7, r0
|
||||
ldr r0, [r7, #0x4]
|
||||
mov r6, r1
|
||||
ands r0, r0, #0x1f
|
||||
mov r5, r2
|
||||
addne sp, sp, #0x4
|
||||
movne r0, #0x2
|
||||
ldmneia sp!, {r4-r7,lr}
|
||||
bxne lr
|
||||
ldr r1, [r7, #0x8]
|
||||
ands r0, r1, #0x1f
|
||||
addne sp, sp, #0x4
|
||||
movne r0, #0x2
|
||||
ldmneia sp!, {r4-r7,lr}
|
||||
bxne lr
|
||||
cmp r1, #0x0
|
||||
addeq sp, sp, #0x4
|
||||
moveq r0, #0x2
|
||||
ldmeqia sp!, {r4-r7,lr}
|
||||
bxeq lr
|
||||
ldr r0, [r7, #0xc]
|
||||
cmp r0, #0x400
|
||||
addcc sp, sp, #0x4
|
||||
movcc r0, #0x2
|
||||
ldmccia sp!, {r4-r7,lr}
|
||||
bxcc lr
|
||||
ldr r0, [r7, #0x0]
|
||||
cmp r0, #0x5
|
||||
addls pc, pc, r0, lsl #0x2
|
||||
b _020D48D8
|
||||
_020D4890:
|
||||
b _020D48A8
|
||||
b _020D48B0
|
||||
b _020D48B8
|
||||
b _020D48C0
|
||||
b _020D48C8
|
||||
b _020D48D0
|
||||
_020D48A8:
|
||||
mov r1, #0x0
|
||||
b _020D48E8
|
||||
_020D48B0:
|
||||
mov r1, #0x1
|
||||
b _020D48E8
|
||||
_020D48B8:
|
||||
mov r1, #0x2
|
||||
b _020D48E8
|
||||
_020D48C0:
|
||||
mov r1, #0x3
|
||||
b _020D48E8
|
||||
_020D48C8:
|
||||
mov r1, #0x5
|
||||
b _020D48E8
|
||||
_020D48D0:
|
||||
mov r1, #0x7
|
||||
b _020D48E8
|
||||
_020D48D8:
|
||||
add sp, sp, #0x4
|
||||
mov r0, #0x2
|
||||
ldmia sp!, {r4-r7,lr}
|
||||
bx lr
|
||||
_020D48E8:
|
||||
ldr r0, [r7, #0x10]
|
||||
cmp r0, #0x0
|
||||
orrne r0, r1, #0x10
|
||||
andne r0, r0, #0xff
|
||||
andeq r0, r1, #0xff
|
||||
and r4, r0, #0xff
|
||||
bl OS_DisableInterrupts
|
||||
ldr r1, _020D497C
|
||||
ldr r2, [r1]
|
||||
cmp r2, #0x0
|
||||
beq _020D4928
|
||||
bl OS_RestoreInterrupts
|
||||
add sp, sp, #0x4
|
||||
mov r0, #0x1
|
||||
ldmia sp!, {r4-r7,lr}
|
||||
bx lr
|
||||
_020D4928:
|
||||
mov r2, #0x1
|
||||
str r2, [r1]
|
||||
bl OS_RestoreInterrupts
|
||||
ldr r0, _020D497C
|
||||
mov r3, r4
|
||||
str r6, [r0, #0x4]
|
||||
str r5, [r0, #0x8]
|
||||
ldr r1, [r7, #0x14]
|
||||
str r1, [r0, #0x10]
|
||||
ldr r1, [r7, #0x18]
|
||||
str r1, [r0, #0x14]
|
||||
ldr r0, [r7, #0x4]
|
||||
ldr r1, [r7, #0x8]
|
||||
ldr r2, [r7, #0xC]
|
||||
bl MicStartAutoSampling
|
||||
cmp r0, #0x0
|
||||
movne r0, #0x0
|
||||
moveq r0, #0x3
|
||||
add sp, sp, #0x4
|
||||
ldmia sp!, {r4-r7,lr}
|
||||
bx lr
|
||||
_020D497C: .word 0x021D54B0
|
||||
|
||||
arm_func_start MIC_DoSamplingAsync
|
||||
MIC_DoSamplingAsync: ; 0x020D4980
|
||||
stmdb sp!, {r4-r7,lr}
|
||||
sub sp, sp, #0x4
|
||||
cmp r0, #0x6
|
||||
mov r7, r1
|
||||
mov r6, r2
|
||||
mov r5, r3
|
||||
addge sp, sp, #0x4
|
||||
movge r0, #0x2
|
||||
ldmgeia sp!, {r4-r7,lr}
|
||||
bxge lr
|
||||
cmp r0, #0x3
|
||||
addls pc, pc, r0, lsl #0x2
|
||||
b _020D49E4
|
||||
_020D49B4:
|
||||
b _020D49C4
|
||||
b _020D49CC
|
||||
b _020D49D4
|
||||
b _020D49DC
|
||||
_020D49C4:
|
||||
mov r4, #0x0
|
||||
b _020D49F4
|
||||
_020D49CC:
|
||||
mov r4, #0x1
|
||||
b _020D49F4
|
||||
_020D49D4:
|
||||
mov r4, #0x2
|
||||
b _020D49F4
|
||||
_020D49DC:
|
||||
mov r4, #0x3
|
||||
b _020D49F4
|
||||
_020D49E4:
|
||||
add sp, sp, #0x4
|
||||
mov r0, #0x2
|
||||
ldmia sp!, {r4-r7,lr}
|
||||
bx lr
|
||||
_020D49F4:
|
||||
bl OS_DisableInterrupts
|
||||
ldr r1, _020D4A58
|
||||
ldr r2, [r1]
|
||||
cmp r2, #0x0
|
||||
beq _020D4A1C
|
||||
bl OS_RestoreInterrupts
|
||||
add sp, sp, #0x4
|
||||
mov r0, #0x1
|
||||
ldmia sp!, {r4-r7,lr}
|
||||
bx lr
|
||||
_020D4A1C:
|
||||
mov r2, #0x1
|
||||
str r2, [r1]
|
||||
bl OS_RestoreInterrupts
|
||||
ldr r1, _020D4A58
|
||||
mov r0, r4
|
||||
str r6, [r1, #0x4]
|
||||
str r5, [r1, #0x8]
|
||||
str r7, [r1, #0x18]
|
||||
bl MicDoSampling
|
||||
cmp r0, #0x0
|
||||
movne r0, #0x0
|
||||
moveq r0, #0x3
|
||||
add sp, sp, #0x4
|
||||
ldmia sp!, {r4-r7,lr}
|
||||
bx lr
|
||||
_020D4A58: .word 0x021D54B0
|
||||
|
||||
arm_func_start MIC_Init
|
||||
MIC_Init: ; 0x020D4A5C
|
||||
stmdb sp!, {r4-r5,lr}
|
||||
sub sp, sp, #0x4
|
||||
ldr r1, _020D4AD8 ; =0x021D54AC
|
||||
ldrh r0, [r1, #0x0]
|
||||
cmp r0, #0x0
|
||||
addne sp, sp, #0x4
|
||||
ldmneia sp!, {r4-r5,lr}
|
||||
bxne lr
|
||||
ldr r0, _020D4ADC ; =0x021D54B0
|
||||
mov r2, #0x0
|
||||
mov r3, #0x1
|
||||
strh r3, [r1, #0x0]
|
||||
str r2, [r0, #0x0]
|
||||
str r2, [r0, #0x4]
|
||||
bl PXI_Init
|
||||
mov r5, #0x9
|
||||
mov r4, #0x1
|
||||
_020D4AA0:
|
||||
mov r0, r5
|
||||
mov r1, r4
|
||||
bl PXI_IsCallbackReady
|
||||
_020D4AAC:
|
||||
cmp r0, #0x0
|
||||
beq _020D4AA0
|
||||
ldr r2, _020D4AE0
|
||||
mov r3, #0x0
|
||||
ldr r1, _020D4AE4
|
||||
mov r0, #0x9
|
||||
str r3, [r2]
|
||||
bl PXI_SetFifoRecvCallback
|
||||
add sp, sp, #0x4
|
||||
ldmia sp!, {r4-r5, lr}
|
||||
bx lr
|
||||
_020D4AD8: .word 0x021D54AC
|
||||
_020D4ADC: .word 0x021D54B0
|
||||
_020D4AE0: .word 0x027FFF90
|
||||
_020D4AE4: .word MicCommonCallback
|
||||
Reference in New Issue
Block a user