mirror of
https://github.com/pret/pokeheartgold.git
synced 2025-03-01 17:46:40 +00:00
Split sdk.s and rename
This commit is contained in:
parent
66131e7cee
commit
2ca5bc2d8d
@ -3,12 +3,9 @@
|
||||
|
||||
.bss
|
||||
|
||||
_021D43B8:
|
||||
spl_rndm_seed:
|
||||
.space 0x4
|
||||
|
||||
_021D43BC:
|
||||
.space 0xC
|
||||
|
||||
.text
|
||||
|
||||
arm_func_start sub_02097FF4
|
||||
@ -4546,7 +4543,7 @@ sub_0209C1B0: ; 0x0209C1B0
|
||||
addle sp, sp, #0x24
|
||||
ldmleia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
||||
bxle lr
|
||||
ldr sb, _0209C4C0 ; =_021D43B8
|
||||
ldr sb, _0209C4C0 ; =spl_rndm_seed
|
||||
str r0, [sp, #0x18]
|
||||
str r0, [sp, #0x14]
|
||||
str r0, [sp, #0x1c]
|
||||
@ -4722,7 +4719,7 @@ _0209C458:
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0209C4C0: .word _021D43B8
|
||||
_0209C4C0: .word spl_rndm_seed
|
||||
_0209C4C4: .word 0x5EEDF715
|
||||
_0209C4C8: .word 0x1B0CB173
|
||||
_0209C4CC: .word 0x0000FFFF
|
||||
@ -4774,7 +4771,7 @@ _0209C540:
|
||||
mov r0, #0x1000
|
||||
str r0, [sp, #0x34]
|
||||
ldr r0, [sp, #8]
|
||||
ldr r6, _0209D1E0 ; =_021D43B8
|
||||
ldr r6, _0209D1E0 ; =spl_rndm_seed
|
||||
ldr r4, _0209D1E4 ; =0x5EEDF715
|
||||
ldr r5, _0209D1E8 ; =0x1B0CB173
|
||||
str r0, [sp, #0x38]
|
||||
@ -5593,7 +5590,7 @@ _0209D168:
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0209D1DC: .word 0x00000FFF
|
||||
_0209D1E0: .word _021D43B8
|
||||
_0209D1E0: .word spl_rndm_seed
|
||||
_0209D1E4: .word 0x5EEDF715
|
||||
_0209D1E8: .word 0x1B0CB173
|
||||
_0209D1EC: .word _021094DC
|
||||
@ -5983,7 +5980,7 @@ _0209D72C:
|
||||
bl _s32_div_f
|
||||
add r0, r0, r6, lsr #27
|
||||
_0209D768:
|
||||
ldr r3, _0209D7BC ; =_021D43B8
|
||||
ldr r3, _0209D7BC ; =spl_rndm_seed
|
||||
ldr r1, _0209D7C0 ; =0x5EEDF715
|
||||
ldr ip, [r3]
|
||||
ldr r2, _0209D7C4 ; =0x1B0CB173
|
||||
@ -6005,7 +6002,7 @@ _0209D768:
|
||||
ldmia sp!, {r4, r5, r6, lr}
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0209D7BC: .word _021D43B8
|
||||
_0209D7BC: .word spl_rndm_seed
|
||||
_0209D7C0: .word 0x5EEDF715
|
||||
_0209D7C4: .word 0x1B0CB173
|
||||
arm_func_end sub_0209D6EC
|
||||
@ -6405,7 +6402,7 @@ sub_0209DD30: ; 0x0209DD30
|
||||
addne sp, sp, #4
|
||||
ldmneia sp!, {r4, r5, lr}
|
||||
bxne lr
|
||||
ldr r2, _0209DDEC ; =_021D43B8
|
||||
ldr r2, _0209DDEC ; =spl_rndm_seed
|
||||
ldr r0, _0209DDF0 ; =0x5EEDF715
|
||||
ldr r3, [r2]
|
||||
ldr r1, _0209DDF4 ; =0x1B0CB173
|
||||
@ -6442,7 +6439,7 @@ sub_0209DD30: ; 0x0209DD30
|
||||
ldmia sp!, {r4, r5, lr}
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0209DDEC: .word _021D43B8
|
||||
_0209DDEC: .word spl_rndm_seed
|
||||
_0209DDF0: .word 0x5EEDF715
|
||||
_0209DDF4: .word 0x1B0CB173
|
||||
arm_func_end sub_0209DD30
|
||||
@ -6555,7 +6552,7 @@ _0209DF38:
|
||||
arm_func_start sub_0209DF48
|
||||
sub_0209DF48: ; 0x0209DF48
|
||||
stmdb sp!, {r4, lr}
|
||||
ldr ip, _0209DF98 ; =_021D43B8
|
||||
ldr ip, _0209DF98 ; =spl_rndm_seed
|
||||
ldr r2, _0209DF9C ; =0x5EEDF715
|
||||
ldr r4, [ip]
|
||||
ldr r3, _0209DFA0 ; =0x1B0CB173
|
||||
@ -6575,7 +6572,7 @@ sub_0209DF48: ; 0x0209DF48
|
||||
ldmia sp!, {r4, lr}
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0209DF98: .word _021D43B8
|
||||
_0209DF98: .word spl_rndm_seed
|
||||
_0209DF9C: .word 0x5EEDF715
|
||||
_0209DFA0: .word 0x1B0CB173
|
||||
arm_func_end sub_0209DF48
|
||||
@ -6583,7 +6580,7 @@ _0209DFA0: .word 0x1B0CB173
|
||||
arm_func_start sub_0209DFA4
|
||||
sub_0209DFA4: ; 0x0209DFA4
|
||||
stmdb sp!, {r4, lr}
|
||||
ldr ip, _0209E000 ; =_021D43B8
|
||||
ldr ip, _0209E000 ; =spl_rndm_seed
|
||||
ldr r2, _0209E004 ; =0x5EEDF715
|
||||
ldr r4, [ip]
|
||||
ldr r3, _0209E008 ; =0x1B0CB173
|
||||
@ -6606,307 +6603,11 @@ sub_0209DFA4: ; 0x0209DFA4
|
||||
ldmia sp!, {r4, lr}
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0209E000: .word _021D43B8
|
||||
_0209E000: .word spl_rndm_seed
|
||||
_0209E004: .word 0x5EEDF715
|
||||
_0209E008: .word 0x1B0CB173
|
||||
arm_func_end sub_0209DFA4
|
||||
|
||||
arm_func_start sub_0209E00C
|
||||
sub_0209E00C: ; 0x0209E00C
|
||||
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
||||
mov r7, r0
|
||||
mov r6, r1
|
||||
mov r5, r2
|
||||
bl PXI_Init
|
||||
mov r0, #0xf
|
||||
mov r1, #1
|
||||
bl PXI_IsCallbackReady
|
||||
cmp r0, #0
|
||||
moveq r0, #2
|
||||
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
|
||||
ldr r8, _0209E234 ; =_021D43BC
|
||||
ldrh r0, [r8]
|
||||
cmp r0, #0
|
||||
bne _0209E06C
|
||||
mvn r4, #2
|
||||
_0209E04C:
|
||||
bl OS_GetLockID
|
||||
cmp r0, r4
|
||||
moveq r0, #7
|
||||
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
|
||||
strh r0, [r8]
|
||||
ldrh r0, [r8]
|
||||
cmp r0, #0
|
||||
beq _0209E04C
|
||||
_0209E06C:
|
||||
bl OS_DisableInterrupts
|
||||
ldr r1, _0209E234 ; =_021D43BC
|
||||
mov r4, r0
|
||||
ldr r2, [r1, #8]
|
||||
cmp r2, #0
|
||||
beq _0209E090
|
||||
bl OS_RestoreInterrupts
|
||||
mov r0, #5
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
||||
_0209E090:
|
||||
ldrh r2, [r1, #2]
|
||||
cmp r2, #0
|
||||
beq _0209E0A8
|
||||
bl OS_RestoreInterrupts
|
||||
mov r0, #5
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
||||
_0209E0A8:
|
||||
cmp r7, #4
|
||||
beq _0209E0C4
|
||||
cmp r7, #8
|
||||
beq _0209E104
|
||||
cmp r7, #0xc
|
||||
beq _0209E144
|
||||
b _0209E18C
|
||||
_0209E0C4:
|
||||
ldrh r1, [r1]
|
||||
mov r0, #4
|
||||
bl OSi_TryLockVram
|
||||
cmp r0, #0
|
||||
bne _0209E0E8
|
||||
mov r0, r4
|
||||
bl OS_RestoreInterrupts
|
||||
mov r0, #6
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
||||
_0209E0E8:
|
||||
ldr r0, _0209E234 ; =_021D43BC
|
||||
mov r2, #4
|
||||
ldr r1, _0209E238 ; =0x04000242
|
||||
strh r2, [r0, #2]
|
||||
mov r0, #0x82
|
||||
strb r0, [r1]
|
||||
b _0209E198
|
||||
_0209E104:
|
||||
ldrh r1, [r1]
|
||||
mov r0, #8
|
||||
bl OSi_TryLockVram
|
||||
cmp r0, #0
|
||||
bne _0209E128
|
||||
mov r0, r4
|
||||
bl OS_RestoreInterrupts
|
||||
mov r0, #6
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
||||
_0209E128:
|
||||
ldr r0, _0209E234 ; =_021D43BC
|
||||
mov r2, #8
|
||||
ldr r1, _0209E23C ; =0x04000243
|
||||
strh r2, [r0, #2]
|
||||
mov r0, #0x82
|
||||
strb r0, [r1]
|
||||
b _0209E198
|
||||
_0209E144:
|
||||
ldrh r1, [r1]
|
||||
mov r0, #0xc
|
||||
bl OSi_TryLockVram
|
||||
cmp r0, #0
|
||||
bne _0209E168
|
||||
mov r0, r4
|
||||
bl OS_RestoreInterrupts
|
||||
mov r0, #6
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
||||
_0209E168:
|
||||
ldr r0, _0209E234 ; =_021D43BC
|
||||
mov r2, #0xc
|
||||
ldr r1, _0209E238 ; =0x04000242
|
||||
strh r2, [r0, #2]
|
||||
mov r0, #0x82
|
||||
strb r0, [r1]
|
||||
mov r0, #0x8a
|
||||
strb r0, [r1, #1]
|
||||
b _0209E198
|
||||
_0209E18C:
|
||||
bl OS_RestoreInterrupts
|
||||
mov r0, #3
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
||||
_0209E198:
|
||||
mov r0, #0xf
|
||||
mov r1, #0
|
||||
bl PXI_IsCallbackReady
|
||||
cmp r0, #0
|
||||
bne _0209E1B8
|
||||
ldr r1, _0209E240 ; =sub_0209E328
|
||||
mov r0, #0xf
|
||||
bl PXI_SetFifoRecvCallback
|
||||
_0209E1B8:
|
||||
cmp r6, #0
|
||||
ldrne r0, _0209E234 ; =_021D43BC
|
||||
strne r6, [r0, #8]
|
||||
bne _0209E1D4
|
||||
ldr r1, _0209E244 ; =sub_0209E400
|
||||
ldr r0, _0209E234 ; =_021D43BC
|
||||
str r1, [r0, #8]
|
||||
_0209E1D4:
|
||||
ldr r3, _0209E234 ; =_021D43BC
|
||||
mov r0, #0xf
|
||||
mov r1, #0x10000
|
||||
mov r2, #0
|
||||
str r5, [r3, #4]
|
||||
bl PXI_SendWordByFifo
|
||||
cmp r0, #0
|
||||
bge _0209E224
|
||||
ldr r1, _0209E234 ; =_021D43BC
|
||||
ldrh r0, [r1, #2]
|
||||
ldrh r1, [r1]
|
||||
bl OSi_UnlockVram
|
||||
ldr r1, _0209E234 ; =_021D43BC
|
||||
mov r2, #0
|
||||
strh r2, [r1, #2]
|
||||
mov r0, r4
|
||||
str r2, [r1, #8]
|
||||
bl OS_RestoreInterrupts
|
||||
mov r0, #4
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
||||
_0209E224:
|
||||
mov r0, r4
|
||||
bl OS_RestoreInterrupts
|
||||
mov r0, #1
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
||||
.align 2, 0
|
||||
_0209E234: .word _021D43BC
|
||||
_0209E238: .word 0x04000242
|
||||
_0209E23C: .word 0x04000243
|
||||
_0209E240: .word sub_0209E328
|
||||
_0209E244: .word sub_0209E400
|
||||
arm_func_end sub_0209E00C
|
||||
|
||||
arm_func_start sub_0209E248
|
||||
sub_0209E248: ; 0x0209E248
|
||||
stmdb sp!, {r4, r5, r6, lr}
|
||||
mov r6, r0
|
||||
mov r5, r1
|
||||
bl PXI_Init
|
||||
mov r0, #0xf
|
||||
mov r1, #1
|
||||
bl PXI_IsCallbackReady
|
||||
cmp r0, #0
|
||||
moveq r0, #2
|
||||
ldmeqia sp!, {r4, r5, r6, pc}
|
||||
bl OS_DisableInterrupts
|
||||
ldr r1, _0209E31C ; =_021D43BC
|
||||
mov r4, r0
|
||||
ldr r1, [r1, #8]
|
||||
cmp r1, #0
|
||||
beq _0209E294
|
||||
bl OS_RestoreInterrupts
|
||||
mov r0, #5
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
_0209E294:
|
||||
mov r0, #0xf
|
||||
mov r1, #0
|
||||
bl PXI_IsCallbackReady
|
||||
cmp r0, #0
|
||||
bne _0209E2B4
|
||||
ldr r1, _0209E320 ; =sub_0209E328
|
||||
mov r0, #0xf
|
||||
bl PXI_SetFifoRecvCallback
|
||||
_0209E2B4:
|
||||
cmp r6, #0
|
||||
ldrne r0, _0209E31C ; =_021D43BC
|
||||
strne r6, [r0, #8]
|
||||
bne _0209E2D0
|
||||
ldr r1, _0209E324 ; =sub_0209E400
|
||||
ldr r0, _0209E31C ; =_021D43BC
|
||||
str r1, [r0, #8]
|
||||
_0209E2D0:
|
||||
ldr r3, _0209E31C ; =_021D43BC
|
||||
mov r0, #0xf
|
||||
mov r1, #0x20000
|
||||
mov r2, #0
|
||||
str r5, [r3, #4]
|
||||
bl PXI_SendWordByFifo
|
||||
cmp r0, #0
|
||||
bge _0209E30C
|
||||
ldr r1, _0209E31C ; =_021D43BC
|
||||
mov r2, #0
|
||||
mov r0, r4
|
||||
str r2, [r1, #8]
|
||||
bl OS_RestoreInterrupts
|
||||
mov r0, #4
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
_0209E30C:
|
||||
mov r0, r4
|
||||
bl OS_RestoreInterrupts
|
||||
mov r0, #1
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0209E31C: .word _021D43BC
|
||||
_0209E320: .word sub_0209E328
|
||||
_0209E324: .word sub_0209E400
|
||||
arm_func_end sub_0209E248
|
||||
|
||||
arm_func_start sub_0209E328
|
||||
sub_0209E328: ; 0x0209E328
|
||||
stmdb sp!, {r4, r5, r6, lr}
|
||||
mov r0, #0x10000
|
||||
ldr r2, _0209E3FC ; =_021D43BC
|
||||
rsb r0, r0, #0
|
||||
and r0, r1, r0
|
||||
cmp r0, #0x10000
|
||||
and r6, r1, #0xff
|
||||
ldr r4, [r2, #8]
|
||||
ldr r5, [r2, #4]
|
||||
beq _0209E35C
|
||||
cmp r0, #0x20000
|
||||
beq _0209E394
|
||||
b _0209E3D4
|
||||
_0209E35C:
|
||||
cmp r6, #7
|
||||
bne _0209E3D4
|
||||
ldrh r0, [r2, #2]
|
||||
cmp r0, #0
|
||||
ldrneh r0, [r2]
|
||||
cmpne r0, #0
|
||||
beq _0209E3D4
|
||||
ldrh r0, [r2, #2]
|
||||
ldrh r1, [r2]
|
||||
bl OSi_UnlockVram
|
||||
ldr r0, _0209E3FC ; =_021D43BC
|
||||
mov r1, #0
|
||||
strh r1, [r0, #2]
|
||||
b _0209E3D4
|
||||
_0209E394:
|
||||
cmp r6, #0
|
||||
bne _0209E3C8
|
||||
ldrh r0, [r2, #2]
|
||||
cmp r0, #0
|
||||
ldrneh r0, [r2]
|
||||
cmpne r0, #0
|
||||
beq _0209E3C8
|
||||
ldrh r0, [r2, #2]
|
||||
ldrh r1, [r2]
|
||||
bl OSi_UnlockVram
|
||||
ldr r0, _0209E3FC ; =_021D43BC
|
||||
mov r1, #0
|
||||
strh r1, [r0, #2]
|
||||
_0209E3C8:
|
||||
mov r0, #0xf
|
||||
mov r1, #0
|
||||
bl PXI_SetFifoRecvCallback
|
||||
_0209E3D4:
|
||||
cmp r4, #0
|
||||
ldmeqia sp!, {r4, r5, r6, pc}
|
||||
ldr r2, _0209E3FC ; =_021D43BC
|
||||
mov r3, #0
|
||||
str r3, [r2, #8]
|
||||
mov r0, r5
|
||||
mov r1, r6
|
||||
str r3, [r2, #4]
|
||||
blx r4
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0209E3FC: .word _021D43BC
|
||||
arm_func_end sub_0209E328
|
||||
|
||||
arm_func_start sub_0209E400
|
||||
sub_0209E400: ; 0x0209E400
|
||||
bx lr
|
||||
arm_func_end sub_0209E400
|
||||
|
||||
.data
|
||||
|
||||
_021105DC:
|
305
lib/asm/wvr.s
Normal file
305
lib/asm/wvr.s
Normal file
@ -0,0 +1,305 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "global.inc"
|
||||
|
||||
.bss
|
||||
|
||||
_021D43BC:
|
||||
.space 0xC
|
||||
|
||||
.text
|
||||
|
||||
arm_func_start sub_0209E00C
|
||||
sub_0209E00C: ; 0x0209E00C
|
||||
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
||||
mov r7, r0
|
||||
mov r6, r1
|
||||
mov r5, r2
|
||||
bl PXI_Init
|
||||
mov r0, #0xf
|
||||
mov r1, #1
|
||||
bl PXI_IsCallbackReady
|
||||
cmp r0, #0
|
||||
moveq r0, #2
|
||||
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
|
||||
ldr r8, _0209E234 ; =_021D43BC
|
||||
ldrh r0, [r8]
|
||||
cmp r0, #0
|
||||
bne _0209E06C
|
||||
mvn r4, #2
|
||||
_0209E04C:
|
||||
bl OS_GetLockID
|
||||
cmp r0, r4
|
||||
moveq r0, #7
|
||||
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
|
||||
strh r0, [r8]
|
||||
ldrh r0, [r8]
|
||||
cmp r0, #0
|
||||
beq _0209E04C
|
||||
_0209E06C:
|
||||
bl OS_DisableInterrupts
|
||||
ldr r1, _0209E234 ; =_021D43BC
|
||||
mov r4, r0
|
||||
ldr r2, [r1, #8]
|
||||
cmp r2, #0
|
||||
beq _0209E090
|
||||
bl OS_RestoreInterrupts
|
||||
mov r0, #5
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
||||
_0209E090:
|
||||
ldrh r2, [r1, #2]
|
||||
cmp r2, #0
|
||||
beq _0209E0A8
|
||||
bl OS_RestoreInterrupts
|
||||
mov r0, #5
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
||||
_0209E0A8:
|
||||
cmp r7, #4
|
||||
beq _0209E0C4
|
||||
cmp r7, #8
|
||||
beq _0209E104
|
||||
cmp r7, #0xc
|
||||
beq _0209E144
|
||||
b _0209E18C
|
||||
_0209E0C4:
|
||||
ldrh r1, [r1]
|
||||
mov r0, #4
|
||||
bl OSi_TryLockVram
|
||||
cmp r0, #0
|
||||
bne _0209E0E8
|
||||
mov r0, r4
|
||||
bl OS_RestoreInterrupts
|
||||
mov r0, #6
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
||||
_0209E0E8:
|
||||
ldr r0, _0209E234 ; =_021D43BC
|
||||
mov r2, #4
|
||||
ldr r1, _0209E238 ; =0x04000242
|
||||
strh r2, [r0, #2]
|
||||
mov r0, #0x82
|
||||
strb r0, [r1]
|
||||
b _0209E198
|
||||
_0209E104:
|
||||
ldrh r1, [r1]
|
||||
mov r0, #8
|
||||
bl OSi_TryLockVram
|
||||
cmp r0, #0
|
||||
bne _0209E128
|
||||
mov r0, r4
|
||||
bl OS_RestoreInterrupts
|
||||
mov r0, #6
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
||||
_0209E128:
|
||||
ldr r0, _0209E234 ; =_021D43BC
|
||||
mov r2, #8
|
||||
ldr r1, _0209E23C ; =0x04000243
|
||||
strh r2, [r0, #2]
|
||||
mov r0, #0x82
|
||||
strb r0, [r1]
|
||||
b _0209E198
|
||||
_0209E144:
|
||||
ldrh r1, [r1]
|
||||
mov r0, #0xc
|
||||
bl OSi_TryLockVram
|
||||
cmp r0, #0
|
||||
bne _0209E168
|
||||
mov r0, r4
|
||||
bl OS_RestoreInterrupts
|
||||
mov r0, #6
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
||||
_0209E168:
|
||||
ldr r0, _0209E234 ; =_021D43BC
|
||||
mov r2, #0xc
|
||||
ldr r1, _0209E238 ; =0x04000242
|
||||
strh r2, [r0, #2]
|
||||
mov r0, #0x82
|
||||
strb r0, [r1]
|
||||
mov r0, #0x8a
|
||||
strb r0, [r1, #1]
|
||||
b _0209E198
|
||||
_0209E18C:
|
||||
bl OS_RestoreInterrupts
|
||||
mov r0, #3
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
||||
_0209E198:
|
||||
mov r0, #0xf
|
||||
mov r1, #0
|
||||
bl PXI_IsCallbackReady
|
||||
cmp r0, #0
|
||||
bne _0209E1B8
|
||||
ldr r1, _0209E240 ; =sub_0209E328
|
||||
mov r0, #0xf
|
||||
bl PXI_SetFifoRecvCallback
|
||||
_0209E1B8:
|
||||
cmp r6, #0
|
||||
ldrne r0, _0209E234 ; =_021D43BC
|
||||
strne r6, [r0, #8]
|
||||
bne _0209E1D4
|
||||
ldr r1, _0209E244 ; =sub_0209E400
|
||||
ldr r0, _0209E234 ; =_021D43BC
|
||||
str r1, [r0, #8]
|
||||
_0209E1D4:
|
||||
ldr r3, _0209E234 ; =_021D43BC
|
||||
mov r0, #0xf
|
||||
mov r1, #0x10000
|
||||
mov r2, #0
|
||||
str r5, [r3, #4]
|
||||
bl PXI_SendWordByFifo
|
||||
cmp r0, #0
|
||||
bge _0209E224
|
||||
ldr r1, _0209E234 ; =_021D43BC
|
||||
ldrh r0, [r1, #2]
|
||||
ldrh r1, [r1]
|
||||
bl OSi_UnlockVram
|
||||
ldr r1, _0209E234 ; =_021D43BC
|
||||
mov r2, #0
|
||||
strh r2, [r1, #2]
|
||||
mov r0, r4
|
||||
str r2, [r1, #8]
|
||||
bl OS_RestoreInterrupts
|
||||
mov r0, #4
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
||||
_0209E224:
|
||||
mov r0, r4
|
||||
bl OS_RestoreInterrupts
|
||||
mov r0, #1
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
||||
.align 2, 0
|
||||
_0209E234: .word _021D43BC
|
||||
_0209E238: .word 0x04000242
|
||||
_0209E23C: .word 0x04000243
|
||||
_0209E240: .word sub_0209E328
|
||||
_0209E244: .word sub_0209E400
|
||||
arm_func_end sub_0209E00C
|
||||
|
||||
arm_func_start sub_0209E248
|
||||
sub_0209E248: ; 0x0209E248
|
||||
stmdb sp!, {r4, r5, r6, lr}
|
||||
mov r6, r0
|
||||
mov r5, r1
|
||||
bl PXI_Init
|
||||
mov r0, #0xf
|
||||
mov r1, #1
|
||||
bl PXI_IsCallbackReady
|
||||
cmp r0, #0
|
||||
moveq r0, #2
|
||||
ldmeqia sp!, {r4, r5, r6, pc}
|
||||
bl OS_DisableInterrupts
|
||||
ldr r1, _0209E31C ; =_021D43BC
|
||||
mov r4, r0
|
||||
ldr r1, [r1, #8]
|
||||
cmp r1, #0
|
||||
beq _0209E294
|
||||
bl OS_RestoreInterrupts
|
||||
mov r0, #5
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
_0209E294:
|
||||
mov r0, #0xf
|
||||
mov r1, #0
|
||||
bl PXI_IsCallbackReady
|
||||
cmp r0, #0
|
||||
bne _0209E2B4
|
||||
ldr r1, _0209E320 ; =sub_0209E328
|
||||
mov r0, #0xf
|
||||
bl PXI_SetFifoRecvCallback
|
||||
_0209E2B4:
|
||||
cmp r6, #0
|
||||
ldrne r0, _0209E31C ; =_021D43BC
|
||||
strne r6, [r0, #8]
|
||||
bne _0209E2D0
|
||||
ldr r1, _0209E324 ; =sub_0209E400
|
||||
ldr r0, _0209E31C ; =_021D43BC
|
||||
str r1, [r0, #8]
|
||||
_0209E2D0:
|
||||
ldr r3, _0209E31C ; =_021D43BC
|
||||
mov r0, #0xf
|
||||
mov r1, #0x20000
|
||||
mov r2, #0
|
||||
str r5, [r3, #4]
|
||||
bl PXI_SendWordByFifo
|
||||
cmp r0, #0
|
||||
bge _0209E30C
|
||||
ldr r1, _0209E31C ; =_021D43BC
|
||||
mov r2, #0
|
||||
mov r0, r4
|
||||
str r2, [r1, #8]
|
||||
bl OS_RestoreInterrupts
|
||||
mov r0, #4
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
_0209E30C:
|
||||
mov r0, r4
|
||||
bl OS_RestoreInterrupts
|
||||
mov r0, #1
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0209E31C: .word _021D43BC
|
||||
_0209E320: .word sub_0209E328
|
||||
_0209E324: .word sub_0209E400
|
||||
arm_func_end sub_0209E248
|
||||
|
||||
arm_func_start sub_0209E328
|
||||
sub_0209E328: ; 0x0209E328
|
||||
stmdb sp!, {r4, r5, r6, lr}
|
||||
mov r0, #0x10000
|
||||
ldr r2, _0209E3FC ; =_021D43BC
|
||||
rsb r0, r0, #0
|
||||
and r0, r1, r0
|
||||
cmp r0, #0x10000
|
||||
and r6, r1, #0xff
|
||||
ldr r4, [r2, #8]
|
||||
ldr r5, [r2, #4]
|
||||
beq _0209E35C
|
||||
cmp r0, #0x20000
|
||||
beq _0209E394
|
||||
b _0209E3D4
|
||||
_0209E35C:
|
||||
cmp r6, #7
|
||||
bne _0209E3D4
|
||||
ldrh r0, [r2, #2]
|
||||
cmp r0, #0
|
||||
ldrneh r0, [r2]
|
||||
cmpne r0, #0
|
||||
beq _0209E3D4
|
||||
ldrh r0, [r2, #2]
|
||||
ldrh r1, [r2]
|
||||
bl OSi_UnlockVram
|
||||
ldr r0, _0209E3FC ; =_021D43BC
|
||||
mov r1, #0
|
||||
strh r1, [r0, #2]
|
||||
b _0209E3D4
|
||||
_0209E394:
|
||||
cmp r6, #0
|
||||
bne _0209E3C8
|
||||
ldrh r0, [r2, #2]
|
||||
cmp r0, #0
|
||||
ldrneh r0, [r2]
|
||||
cmpne r0, #0
|
||||
beq _0209E3C8
|
||||
ldrh r0, [r2, #2]
|
||||
ldrh r1, [r2]
|
||||
bl OSi_UnlockVram
|
||||
ldr r0, _0209E3FC ; =_021D43BC
|
||||
mov r1, #0
|
||||
strh r1, [r0, #2]
|
||||
_0209E3C8:
|
||||
mov r0, #0xf
|
||||
mov r1, #0
|
||||
bl PXI_SetFifoRecvCallback
|
||||
_0209E3D4:
|
||||
cmp r4, #0
|
||||
ldmeqia sp!, {r4, r5, r6, pc}
|
||||
ldr r2, _0209E3FC ; =_021D43BC
|
||||
mov r3, #0
|
||||
str r3, [r2, #8]
|
||||
mov r0, r5
|
||||
mov r1, r6
|
||||
str r3, [r2, #4]
|
||||
blx r4
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0209E3FC: .word _021D43BC
|
||||
arm_func_end sub_0209E328
|
||||
|
||||
arm_func_start sub_0209E400
|
||||
sub_0209E400: ; 0x0209E400
|
||||
bx lr
|
||||
arm_func_end sub_0209E400
|
Loading…
x
Reference in New Issue
Block a user