mirror of
https://github.com/pret/pokediamond.git
synced 2026-08-20 07:44:54 -05:00
283 lines
7.5 KiB
ArmAsm
283 lines
7.5 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "global.inc"
|
|
.section .text
|
|
.balign 4, 0
|
|
|
|
thumb_func_start MOD52_021D74E0
|
|
MOD52_021D74E0: ; 0x021D74E0
|
|
push {r3, lr}
|
|
mov r2, #2
|
|
mov r0, #3
|
|
mov r1, #0x4d
|
|
lsl r2, r2, #0x10
|
|
bl FUN_0201681C
|
|
bl InitializeMainRNG
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD52_021D74E0
|
|
|
|
thumb_func_start MOD52_021D74F8
|
|
MOD52_021D74F8: ; 0x021D74F8
|
|
push {r3, lr}
|
|
bl FUN_0200628C
|
|
ldr r1, [r0, #8]
|
|
mov r0, #0x4d
|
|
bl MOD52_021D769C
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD52_021D74F8
|
|
|
|
thumb_func_start MOD52_021D750C
|
|
MOD52_021D750C: ; 0x021D750C
|
|
push {r3, lr}
|
|
mov r0, #0x4d
|
|
bl FUN_020168D0
|
|
mov r0, #0
|
|
ldr r1, _021D7524 ; =UNK_020FD144
|
|
mvn r0, r0
|
|
bl FUN_02000E7C
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
nop
|
|
_021D7524: .word UNK_020FD144
|
|
thumb_func_end MOD52_021D750C
|
|
|
|
thumb_func_start MOD52_021D7528
|
|
MOD52_021D7528: ; 0x021D7528
|
|
push {r3, lr}
|
|
mov r2, #2
|
|
mov r0, #3
|
|
mov r1, #0x4d
|
|
lsl r2, r2, #0x10
|
|
bl FUN_0201681C
|
|
bl InitializeMainRNG
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD52_021D7528
|
|
|
|
thumb_func_start MOD52_021D7540
|
|
MOD52_021D7540: ; 0x021D7540
|
|
push {r4, lr}
|
|
bl FUN_0200628C
|
|
ldr r4, [r0, #8]
|
|
mov r0, #0x4d
|
|
add r1, r4, #0
|
|
mov r2, #1
|
|
bl MOD52_021D7604
|
|
add r0, r4, #0
|
|
bl FUN_02023918
|
|
bl FUN_02015E3C
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
thumb_func_end MOD52_021D7540
|
|
|
|
thumb_func_start MOD52_021D7560
|
|
MOD52_021D7560: ; 0x021D7560
|
|
push {r3, lr}
|
|
mov r0, #0x4d
|
|
bl FUN_020168D0
|
|
mov r0, #0
|
|
ldr r1, _021D7578 ; =0x020F2B7C
|
|
mvn r0, r0
|
|
bl FUN_02000E7C
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
nop
|
|
_021D7578: .word 0x020F2B7C
|
|
thumb_func_end MOD52_021D7560
|
|
|
|
thumb_func_start MOD52_021D757C
|
|
MOD52_021D757C: ; 0x021D757C
|
|
push {r3, lr}
|
|
mov r2, #2
|
|
mov r0, #3
|
|
mov r1, #0x4d
|
|
lsl r2, r2, #0x10
|
|
bl FUN_0201681C
|
|
bl InitializeMainRNG
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD52_021D757C
|
|
|
|
thumb_func_start MOD52_021D7594
|
|
MOD52_021D7594: ; 0x021D7594
|
|
push {r3, r4, r5, lr}
|
|
bl FUN_0200628C
|
|
ldr r4, [r0, #8]
|
|
add r0, r4, #0
|
|
bl FUN_02023788
|
|
add r5, r0, #0
|
|
mov r0, #0x4d
|
|
add r1, r4, #0
|
|
bl MOD52_021D7688
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl FUN_02024F9C
|
|
add r0, r5, #0
|
|
bl FUN_020237CC
|
|
cmp r0, #0
|
|
beq _021D75C8
|
|
add r0, r5, #0
|
|
bl FUN_020237FC
|
|
cmp r0, #0
|
|
bne _021D75D8
|
|
_021D75C8:
|
|
add r0, r4, #0
|
|
bl FUN_02023794
|
|
bl FUN_020238A4
|
|
add r0, r5, #0
|
|
bl FUN_020237A0
|
|
_021D75D8:
|
|
add r0, r4, #0
|
|
bl FUN_02023918
|
|
bl FUN_02015E3C
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD52_021D7594
|
|
|
|
thumb_func_start MOD52_021D75E8
|
|
MOD52_021D75E8: ; 0x021D75E8
|
|
push {r3, lr}
|
|
mov r0, #0x4d
|
|
bl FUN_020168D0
|
|
mov r0, #0
|
|
ldr r1, _021D7600 ; =0x020F2B8C
|
|
mvn r0, r0
|
|
bl FUN_02000E7C
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
nop
|
|
_021D7600: .word 0x020F2B8C
|
|
thumb_func_end MOD52_021D75E8
|
|
|
|
thumb_func_start MOD52_021D7604
|
|
MOD52_021D7604: ; 0x021D7604
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r6, r2, #0
|
|
bl FUN_02023788
|
|
bl FUN_020237A0
|
|
add r0, r5, #0
|
|
bl FUN_02023794
|
|
bl FUN_02023840
|
|
add r0, r5, #0
|
|
bl FUN_0202881C
|
|
add r4, r0, #0
|
|
bl rand_MT
|
|
add r2, r0, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl FUN_02028788
|
|
add r0, r5, #0
|
|
bl FUN_0206007C
|
|
add r0, r5, #0
|
|
bl FUN_020238F4
|
|
add r4, r0, #0
|
|
bl rand_MT
|
|
add r7, r0, #0
|
|
cmp r6, #0
|
|
beq _021D7656
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl FUN_020239B8
|
|
_021D7656:
|
|
add r0, r4, #0
|
|
bl FUN_020239CC
|
|
add r1, r0, #0
|
|
add r0, r7, #0
|
|
mov r2, #0
|
|
bl FUN_02053678
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
bl FUN_02023A2C
|
|
add r0, r5, #0
|
|
bl FUN_02024ECC
|
|
ldr r1, [sp]
|
|
ldr r2, _021D7684 ; =0x021D76F8
|
|
mov r3, #0x76
|
|
bl FUN_020250C4
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021D7684: .word 0x021D76F8
|
|
thumb_func_end MOD52_021D7604
|
|
|
|
thumb_func_start MOD52_021D7688
|
|
MOD52_021D7688: ; 0x021D7688
|
|
push {r3, lr}
|
|
add r0, r1, #0
|
|
bl FUN_020226FC
|
|
cmp r0, #0
|
|
bne _021D769A
|
|
mov r0, #0
|
|
bl OS_ResetSystem
|
|
_021D769A:
|
|
pop {r3, pc}
|
|
thumb_func_end MOD52_021D7688
|
|
|
|
thumb_func_start MOD52_021D769C
|
|
MOD52_021D769C: ; 0x021D769C
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
bl FUN_020227DC
|
|
add r0, r4, #0
|
|
bl FUN_020377E0
|
|
add r0, r4, #0
|
|
bl FUN_020238F4
|
|
ldr r1, _021D76C4 ; =0x00000BB8
|
|
bl FUN_02023A14
|
|
add r0, r4, #0
|
|
bl FUN_020462AC
|
|
bl FUN_0205ECD4
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021D76C4: .word 0x00000BB8
|
|
thumb_func_end MOD52_021D769C
|
|
|
|
.section .rodata
|
|
; 0x021D76C8
|
|
.global MOD52_UNK_021D76C8
|
|
MOD52_UNK_021D76C8: ; 0x021D76C8
|
|
.byte 0x7D, 0x75, 0x1D, 0x02, 0x95, 0x75, 0x1D, 0x02, 0xE9, 0x75, 0x1D, 0x02, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x29, 0x75, 0x1D, 0x02, 0x41, 0x75, 0x1D, 0x02, 0x61, 0x75, 0x1D, 0x02, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0xE1, 0x74, 0x1D, 0x02, 0xF9, 0x74, 0x1D, 0x02, 0x0D, 0x75, 0x1D, 0x02, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x9B, 0x00, 0x01, 0x00, 0x95, 0x00, 0x01, 0x00, 0x96, 0x00, 0x01, 0x00, 0x97, 0x00, 0x01, 0x00
|
|
.byte 0x9B, 0x00, 0x01, 0x00, 0x97, 0x00, 0x01, 0x00, 0xA4, 0x00, 0x02, 0x00, 0xA5, 0x00, 0x02, 0x00
|
|
.byte 0x95, 0x00, 0x01, 0x00, 0x9B, 0x00, 0x02, 0x00, 0x9E, 0x00, 0x01, 0x00, 0xA7, 0x00, 0x02, 0x00
|
|
.byte 0xA7, 0x00, 0x02, 0x00, 0xAA, 0x00, 0x01, 0x00, 0x95, 0x00, 0x01, 0x00, 0x97, 0x00, 0x01, 0x00
|
|
.byte 0x9B, 0x00, 0x01, 0x00, 0x9B, 0x00, 0x01, 0x00, 0x98, 0x00, 0x01, 0x00, 0x98, 0x00, 0x01, 0x00
|
|
.byte 0xA4, 0x00, 0x01, 0x00, 0xA4, 0x00, 0x01, 0x00, 0x95, 0x00, 0x01, 0x00, 0x9B, 0x00, 0x01, 0x00
|
|
.byte 0x9B, 0x00, 0x01, 0x00, 0xA5, 0x00, 0x01, 0x00, 0xA6, 0x00, 0x02, 0x00, 0xA4, 0x00, 0x02, 0x00
|
|
.byte 0xA5, 0x00, 0x02, 0x00, 0xA8, 0x00, 0x02, 0x00, 0x9A, 0x00, 0x01, 0x00, 0x96, 0x00, 0x01, 0x00
|
|
.byte 0xA4, 0x00, 0x01, 0x00, 0xA4, 0x00, 0x01, 0x00, 0x9C, 0x00, 0x01, 0x00, 0xA6, 0x00, 0x01, 0x00
|
|
.byte 0xA6, 0x00, 0x01, 0x00, 0x9F, 0x00, 0x01, 0x00, 0x99, 0x00, 0x01, 0x00, 0x99, 0x00, 0x01, 0x00
|
|
.byte 0xA4, 0x00, 0x01, 0x00, 0xA8, 0x00, 0x01, 0x00, 0x9E, 0x00, 0x01, 0x00, 0x96, 0x00, 0x01, 0x00
|
|
.byte 0xA0, 0x00, 0x01, 0x00, 0xA2, 0x00, 0x01, 0x00, 0x97, 0x00, 0x01, 0x00, 0x99, 0x00, 0x01, 0x00
|
|
.byte 0xA3, 0x00, 0x01, 0x00, 0xAD, 0x00, 0x01, 0x00, 0x9E, 0x00, 0x01, 0x00, 0x99, 0x00, 0x01, 0x00
|
|
.byte 0xAE, 0x00, 0x01, 0x00, 0x9D, 0x00, 0x01, 0x00, 0x97, 0x00, 0x01, 0x00, 0xA8, 0x00, 0x01, 0x00
|
|
.byte 0xA8, 0x00, 0x01, 0x00, 0xA8, 0x00, 0x01, 0x00, 0x9C, 0x00, 0x01, 0x00, 0x9C, 0x00, 0x01, 0x00
|
|
.byte 0xA6, 0x00, 0x01, 0x00, 0xA6, 0x00, 0x01, 0x00, 0xA2, 0x00, 0x01, 0x00, 0xA3, 0x00, 0x01, 0x00
|
|
.byte 0x98, 0x00, 0x01, 0x00, 0x98, 0x00, 0x01, 0x00, 0x95, 0x00, 0x01, 0x00, 0x9E, 0x00, 0x01, 0x00
|
|
.byte 0x96, 0x00, 0x01, 0x00, 0xA9, 0x00, 0x01, 0x00, 0x97, 0x00, 0x02, 0x00, 0xA5, 0x00, 0x02, 0x00
|
|
.byte 0xA0, 0x00, 0x01, 0x00, 0xA1, 0x00, 0x01, 0x00, 0x98, 0x00, 0x01, 0x00, 0x9C, 0x00, 0x01, 0x00
|
|
.byte 0x9F, 0x00, 0x01, 0x00, 0xA8, 0x00, 0x02, 0x00, 0x9A, 0x00, 0x01, 0x00, 0x97, 0x00, 0x01, 0x00
|
|
.byte 0xA1, 0x00, 0x01, 0x00, 0xAC, 0x00, 0x01, 0x00, 0xA0, 0x00, 0x02, 0x00, 0xA1, 0x00, 0x02, 0x00
|
|
.byte 0xA2, 0x00, 0x02, 0x00, 0xAB, 0x00, 0x01, 0x00, 0x9E, 0x00, 0x02, 0x00, 0xA5, 0x00, 0x03, 0x00
|
|
.byte 0xA6, 0x00, 0x03, 0x00, 0xA7, 0x00, 0x03, 0x00, 0xA9, 0x00, 0x01, 0x00, 0xA9, 0x00, 0x01, 0x00
|
|
.byte 0xAC, 0x00, 0x02, 0x00, 0xAC, 0x00, 0x02, 0x00, 0xAA, 0x00, 0x01, 0x00, 0xAA, 0x00, 0x01, 0x00
|
|
.byte 0xAE, 0x00, 0x01, 0x00, 0xAE, 0x00, 0x01, 0x00, 0xAB, 0x00, 0x01, 0x00, 0xAB, 0x00, 0x01, 0x00
|
|
.byte 0xA9, 0x00, 0x01, 0x00, 0xA9, 0x00, 0x01, 0x00, 0xAC, 0x00, 0x01, 0x00, 0xAC, 0x00, 0x01, 0x00
|
|
.byte 0xAE, 0x00, 0x01, 0x00, 0xAE, 0x00, 0x01, 0x00, 0xAD, 0x00, 0x01, 0x00, 0xAD, 0x00, 0x01, 0x00
|
|
.byte 0xAB, 0x00, 0x01, 0x00, 0xAB, 0x00, 0x01, 0x00, 0x9D, 0x00, 0x01, 0x00, 0x9A, 0x00, 0x01, 0x00
|
|
.byte 0xAB, 0x00, 0x02, 0x00, 0xAD, 0x00, 0x02, 0x00, 0xAA, 0x00, 0x02, 0x00, 0xAA, 0x00, 0x02, 0x00
|
|
.byte 0xAD, 0x00, 0x01, 0x00, 0xAD, 0x00, 0x01, 0x00
|