diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2020-08-20 16:30:08 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2020-08-20 16:30:08 -0400 |
commit | 684cde0b321e955fdec5b86e125d9993ebb318c6 (patch) | |
tree | 98a6891a6627e60c1ef0313cdf9062d0b514c002 | |
parent | d3991f920ce0e1d4f9fd34dccdd7b37a239d4192 (diff) |
Decompile game_init.c
81 files changed, 1187 insertions, 1570 deletions
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf index ee9448ae..83eedb94 100644 --- a/arm9/arm9.lsf +++ b/arm9/arm9.lsf @@ -47,7 +47,7 @@ Static arm9 Object unk_02015CC0.o Object unk_02015D14.o Object unk_02015E30.o - Object unk_02015EA0.o + Object game_init.o Object unk_020166C8.o Object unk_02016B94.o Object unk_0201B1A8.o diff --git a/arm9/asm/scrcmd.s b/arm9/asm/scrcmd.s index 876bd329..0c72444d 100644 --- a/arm9/asm/scrcmd.s +++ b/arm9/asm/scrcmd.s @@ -6,7 +6,6 @@ .extern UNK_020F34FC .extern UNK_020F3538 .extern gMain - .extern gUnk021C4918 .section .bss @@ -11112,13 +11111,13 @@ FUN_0203F234: ; 0x0203F234 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl GetVarPointer - ldr r1, _0203F250 ; =gUnk021C4918 + ldr r1, _0203F250 ; =gMain + 0x60 ldrb r1, [r1, #0x6] strh r1, [r0, #0x0] mov r0, #0x1 pop {r4, pc} .balign 4 -_0203F250: .word gUnk021C4918 +_0203F250: .word gMain + 0x60 thumb_func_start FUN_0203F254 FUN_0203F254: ; 0x0203F254 diff --git a/arm9/asm/unk_020023C0.s b/arm9/asm/unk_020023C0.s index 110db7ea..a84fda87 100644 --- a/arm9/asm/unk_020023C0.s +++ b/arm9/asm/unk_020023C0.s @@ -3,7 +3,7 @@ .section .bss - .extern UNK_021C48F8 + .extern gMain .extern gMain .global gTextFlags @@ -57,7 +57,7 @@ _020023F0: lsr r0, r0, #0x1f bne _02002414 _02002402: - ldr r0, _0200265C ; =UNK_021C48F8 + ldr r0, _0200265C ; =gMain + 0x40 ldrh r0, [r0, #0x22] cmp r0, #0x0 beq _02002432 @@ -111,7 +111,7 @@ _02002432: mov r1, #0x3 tst r1, r2 bne _02002478 - ldr r1, _0200265C ; =UNK_021C48F8 + ldr r1, _0200265C ; =gMain + 0x40 ldrh r1, [r1, #0x20] cmp r1, #0x0 beq _02002486 @@ -375,7 +375,7 @@ _0200264E: b _020026CA .balign 4 _02002658: .word gMain -_0200265C: .word UNK_021C48F8 +_0200265C: .word gMain + 0x40 _02002660: .word gTextFlags _02002664: .word 0x0000F0FD _02002668: .word 0x000025BD @@ -915,7 +915,7 @@ FUN_02002A94: ; 0x02002A94 mov r0, #0x3 tst r0, r1 bne _02002AB2 - ldr r0, _02002AD0 ; =UNK_021C48F8 + ldr r0, _02002AD0 ; =gMain + 0x40 ldrh r0, [r0, #0x20] cmp r0, #0x0 beq _02002AC6 @@ -939,7 +939,7 @@ _02002AC6: pop {r3, pc} nop _02002ACC: .word gMain -_02002AD0: .word UNK_021C48F8 +_02002AD0: .word gMain + 0x40 _02002AD4: .word gTextFlags _02002AD8: .word 0x000005DC diff --git a/arm9/asm/unk_02015EA0.s b/arm9/asm/unk_02015EA0.s deleted file mode 100644 index 047d2a6b..00000000 --- a/arm9/asm/unk_02015EA0.s +++ /dev/null @@ -1,1099 +0,0 @@ - .include "asm/macros.inc" - .include "global.inc" - - .section .rodata - - .global UNK_020EDB10 -UNK_020EDB10: ; 0x020EDB10 - .byte 0x00, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00 - - .section .bss - - .global gMain -gMain: ; 0x021C48B8 - .space 0x40 - - .global UNK_021C48F8 -UNK_021C48F8: ; 0x021C48F8 - .space 0x20 - - .global gUnk021C4918 -gUnk021C4918: ; 0x021C4918 - .space 0x10 - - .global UNK_021C4928 -UNK_021C4928: ; 0x021C4928 - .space 0x4 - - .global UNK_021C492C -UNK_021C492C: ; 0x021C492C - .space 0x3f4 - - .global UNK_021C4D20 -UNK_021C4D20: ; 0x021C4D20 - .space 0x8 - - .text - - thumb_func_start FUN_02015EA0 -FUN_02015EA0: ; 0x02015EA0 - push {r3, lr} - ldr r3, _02015EC8 ; =0x027E0000 - ldr r1, _02015ECC ; =0x00003FF8 - mov r0, #0x1 - ldr r2, [r3, r1] - orr r0, r2 - str r0, [r3, r1] - mov r0, #0x3 - bl MI_WaitDma - ldr r0, _02015ED0 ; =gMain - ldr r0, [r0, #0x1c] - bl FUN_0201B5CC - ldr r0, _02015ED0 ; =gMain - ldr r1, [r0, #0x30] - add r1, r1, #0x1 - str r1, [r0, #0x30] - pop {r3, pc} - nop -_02015EC8: .word 0x027E0000 -_02015ECC: .word 0x00003FF8 -_02015ED0: .word gMain - - thumb_func_start FUN_02015ED4 -FUN_02015ED4: ; 0x02015ED4 - ldr r3, _02015EE8 ; =0x027E0000 - ldr r1, _02015EEC ; =0x00003FF8 - mov r0, #0x1 - ldr r2, [r3, r1] - orr r0, r2 - str r0, [r3, r1] - ldr r3, _02015EF0 ; =MI_WaitDma - mov r0, #0x3 - bx r3 - nop -_02015EE8: .word 0x027E0000 -_02015EEC: .word 0x00003FF8 -_02015EF0: .word MI_WaitDma - - thumb_func_start FUN_02015EF4 -FUN_02015EF4: ; 0x02015EF4 - push {r3, lr} - mov r0, #0x1 - bl OS_DisableIrqMask - ldr r1, _02015F0C ; =FUN_02015ED4 - mov r0, #0x1 - bl OS_SetIrqFunction - mov r0, #0x1 - bl OS_EnableIrqMask - pop {r3, pc} - .balign 4 -_02015F0C: .word FUN_02015ED4 - - thumb_func_start FUN_02015F10 -FUN_02015F10: ; 0x02015F10 - ldr r2, _02015F18 ; =gMain - str r0, [r2, #0x0] - str r1, [r2, #0x4] - bx lr - .balign 4 -_02015F18: .word gMain - - thumb_func_start FUN_02015F1C -FUN_02015F1C: ; 0x02015F1C - push {r3, lr} - mov r0, #0x0 - bl FUN_02015F80 - ldr r0, _02015F30 ; =gMain - mov r1, #0x0 - str r1, [r0, #0x8] - str r1, [r0, #0xc] - pop {r3, pc} - nop -_02015F30: .word gMain - - thumb_func_start FUN_02015F34 -FUN_02015F34: ; 0x02015F34 - push {r3, lr} - cmp r0, #0x0 - bne _02015F4C - mov r0, #0x0 - bl FUN_02015F80 - ldr r0, _02015F68 ; =gMain - mov r1, #0x0 - str r1, [r0, #0x8] - str r1, [r0, #0xc] - mov r0, #0x1 - pop {r3, pc} -_02015F4C: - ldr r2, _02015F68 ; =gMain - ldr r3, [r2, #0x8] - cmp r3, #0x0 - bne _02015F62 - str r1, [r2, #0xc] - str r0, [r2, #0x8] - mov r0, #0x1 - bl FUN_02015F80 - mov r0, #0x1 - pop {r3, pc} -_02015F62: - mov r0, #0x0 - pop {r3, pc} - nop -_02015F68: .word gMain - - thumb_func_start FUN_02015F6C -FUN_02015F6C: ; 0x02015F6C - push {r3, lr} - ldr r0, _02015F7C ; =gMain - ldr r1, [r0, #0x8] - cmp r1, #0x0 - beq _02015F7A - ldr r0, [r0, #0xc] - blx r1 -_02015F7A: - pop {r3, pc} - .balign 4 -_02015F7C: .word gMain - - thumb_func_start FUN_02015F80 -FUN_02015F80: ; 0x02015F80 - push {r3, lr} - ldr r2, _02015FC0 ; =0x04000208 - ldrh r1, [r2, #0x0] - mov r1, #0x0 - strh r1, [r2, #0x0] - cmp r0, #0x0 - bne _02015F9E - ldr r0, [r2, #0x8] - mov r0, #0x2 - bl OS_DisableIrqMask - mov r0, #0x0 - bl GX_HBlankIntr - b _02015FB4 -_02015F9E: - ldr r0, [r2, #0x8] - ldr r1, _02015FC4 ; =FUN_02015F6C - mov r0, #0x2 - bl OS_SetIrqFunction - mov r0, #0x2 - bl OS_EnableIrqMask - mov r0, #0x1 - bl GX_HBlankIntr -_02015FB4: - ldr r1, _02015FC0 ; =0x04000208 - ldrh r0, [r1, #0x0] - mov r0, #0x1 - strh r0, [r1, #0x0] - pop {r3, pc} - nop -_02015FC0: .word 0x04000208 -_02015FC4: .word FUN_02015F6C - - thumb_func_start FUN_02015FC8 -FUN_02015FC8: ; 0x02015FC8 - push {r3, lr} - sub sp, #0x30 - add r0, sp, #0x10 - bl OS_GetLowEntropyData - add r0, sp, #0x0 - add r1, sp, #0x10 - mov r2, #0x20 - bl MATH_CalcMD5 - mov r3, #0x0 - add r1, r3, #0x0 - add r2, sp, #0x0 -_02015FE2: - ldrb r0, [r2, #0x0] - add r1, r1, #0x1 - add r2, r2, #0x1 - add r3, r3, r0 - cmp r1, #0x10 - blo _02015FE2 - lsl r0, r3, #0x18 - lsr r3, r0, #0x18 - mov r0, #0x3 - tst r0, r3 - beq _02016002 - mov r0, #0x3 -_02015FFA: - add r3, r3, #0x1 - add r1, r3, #0x0 - tst r1, r0 - bne _02015FFA -_02016002: - ldr r0, _02016010 ; =UNK_020EDB10 - mov r1, #0x4 - mov r2, #0x5c - bl FUN_020166C8 - add sp, #0x30 - pop {r3, pc} - .balign 4 -_02016010: .word UNK_020EDB10 - - thumb_func_start InitSystemForTheGame -InitSystemForTheGame: ; 0x02016014 - push {r3-r5, lr} - bl OS_Init - bl FX_Init - ldr r2, _02016124 ; =0x04000304 - ldr r0, _02016128 ; =0xFFFFFDF1 - ldrh r1, [r2, #0x0] - and r1, r0 - ldr r0, _0201612C ; =0x0000020E - orr r0, r1 - strh r0, [r2, #0x0] - bl GX_Init - bl OS_InitTick - bl FUN_02015FC8 - mov r0, #0xa0 - bl FUN_0201B578 - add r1, r0, #0x0 - mov r0, #0x0 - mov r2, #0x4 - bl OS_AllocFromArenaLo - add r1, r0, #0x0 - mov r0, #0xa0 - bl FUN_0201B580 - ldr r1, _02016130 ; =gMain - str r0, [r1, #0x18] - mov r0, #0x10 - bl FUN_0201B578 - add r1, r0, #0x0 - mov r0, #0x0 - mov r2, #0x4 - bl OS_AllocFromArenaLo - add r1, r0, #0x0 - mov r0, #0x10 - bl FUN_0201B580 - ldr r1, _02016130 ; =gMain - str r0, [r1, #0x1c] - mov r0, #0x20 - bl FUN_0201B578 - add r1, r0, #0x0 - mov r0, #0x0 - mov r2, #0x4 - bl OS_AllocFromArenaLo - add r1, r0, #0x0 - mov r0, #0x20 - bl FUN_0201B580 - ldr r1, _02016130 ; =gMain - str r0, [r1, #0x20] - mov r0, #0x4 - bl FUN_0201B578 - add r1, r0, #0x0 - mov r0, #0x0 - mov r2, #0x4 - bl OS_AllocFromArenaLo - add r1, r0, #0x0 - mov r0, #0x4 - bl FUN_0201B580 - ldr r1, _02016130 ; =gMain - str r0, [r1, #0x24] - bl GX_DispOff - ldr r2, _02016134 ; =0x04001000 - ldr r0, _02016138 ; =0xFFFEFFFF - ldr r1, [r2, #0x0] - and r0, r1 - str r0, [r2, #0x0] - ldr r2, _02016124 ; =0x04000304 - ldrh r1, [r2, #0x0] - lsr r0, r2, #0xb - orr r0, r1 - strh r0, [r2, #0x0] - ldr r1, _0201613C ; =FUN_02015EA0 - mov r0, #0x1 - bl OS_SetIrqFunction - mov r0, #0x1 - bl OS_EnableIrqMask - mov r0, #0x1 - lsl r0, r0, #0x12 - bl OS_EnableIrqMask - ldr r1, _02016140 ; =0x04000208 - ldrh r0, [r1, #0x0] - mov r0, #0x1 - strh r0, [r1, #0x0] - bl GX_VBlankIntr - mov r0, #0x1 - bl FS_Init - bl FUN_02022450 - mov r0, #0x0 - add r1, r0, #0x0 - bl FS_TryLoadTable - add r4, r0, #0x0 - mov r0, #0x0 - add r1, r4, #0x0 - mov r2, #0x4 - bl OS_AllocFromArenaLo - add r5, r0, #0x0 - bne _02016108 - bl ErrorHandling -_02016108: - add r0, r5, #0x0 - add r1, r4, #0x0 - bl FS_TryLoadTable - ldr r0, _02016130 ; =gMain - mov r1, #0x0 - str r1, [r0, #0x0] - str r1, [r0, #0x8] - str r1, [r0, #0x10] - str r1, [r0, #0x14] - str r1, [r0, #0x2c] - ldr r0, _02016144 ; =gUnk021C4918 - strb r1, [r0, #0x5] - pop {r3-r5, pc} - .balign 4 -_02016124: .word 0x04000304 -_02016128: .word 0xFFFFFDF1 -_0201612C: .word 0x0000020E -_02016130: .word gMain -_02016134: .word 0x04001000 -_02016138: .word 0xFFFEFFFF -_0201613C: .word FUN_02015EA0 -_02016140: .word 0x04000208 -_02016144: .word gUnk021C4918 - - thumb_func_start InitGraphicMemory -InitGraphicMemory: ; 0x02016148 - push {r3, lr} - ldr r0, _02016198 ; =0x000001FF - bl GX_SetBankForLCDC - mov r1, #0x1a - mov r2, #0x29 - mov r0, #0x0 - lsl r1, r1, #0x16 - lsl r2, r2, #0xe - bl MIi_CpuClearFast - bl GX_DisableBankForLCDC - mov r1, #0x7 - mov r2, #0x1 - mov r0, #0xc0 - lsl r1, r1, #0x18 - lsl r2, r2, #0xa - bl MIi_CpuClearFast - mov r2, #0x1 - ldr r1, _0201619C ; =0x07000400 - mov r0, #0xc0 - lsl r2, r2, #0xa - bl MIi_CpuClearFast - mov r1, #0x5 - mov r2, #0x1 - mov r0, #0x0 - lsl r1, r1, #0x18 - lsl r2, r2, #0xa - bl MIi_CpuClearFast - mov r2, #0x1 - ldr r1, _020161A0 ; =0x05000400 - mov r0, #0x0 - lsl r2, r2, #0xa - bl MIi_CpuClearFast - pop {r3, pc} - .balign 4 -_02016198: .word 0x000001FF -_0201619C: .word 0x07000400 -_020161A0: .word 0x05000400 - - thumb_func_start FUN_020161A4 -FUN_020161A4: ; 0x020161A4 - push {r4-r6, lr} - sub sp, #0x48 - add r6, r0, #0x0 - add r4, r1, #0x0 - add r0, sp, #0x0 - bl FS_InitFile - add r0, sp, #0x0 - add r1, r4, #0x0 - bl FS_OpenFile - cmp r0, #0x0 - beq _020161F0 - ldr r1, [sp, #0x28] - ldr r0, [sp, #0x24] - sub r5, r1, r0 - add r0, r6, #0x0 - add r1, r5, #0x0 - bl AllocFromHeap - add r4, r0, #0x0 - beq _020161E8 - add r0, sp, #0x0 - add r1, r4, #0x0 - add r2, r5, #0x0 - bl FS_ReadFile - cmp r5, r0 - beq _020161E8 - add r0, r6, #0x0 - add r1, r4, #0x0 - bl FUN_02016A8C - mov r4, #0x0 -_020161E8: - add r0, sp, #0x0 - bl FS_CloseFile - b _020161F2 -_020161F0: - mov r4, #0x0 -_020161F2: - add r0, r4, #0x0 - add sp, #0x48 - pop {r4-r6, pc} - - thumb_func_start FUN_020161F8 -FUN_020161F8: ; 0x020161F8 - push {r3-r5, lr} - sub sp, #0x48 - add r5, r0, #0x0 - add r0, sp, #0x0 - add r4, r1, #0x0 - bl FS_InitFile - add r0, sp, #0x0 - add r1, r5, #0x0 - bl FS_OpenFile - cmp r0, #0x0 - beq _0201622A - ldr r1, [sp, #0x28] - ldr r0, [sp, #0x24] - sub r2, r1, r0 - ldr r1, [r4, #0x0] - cmp r1, #0x0 - beq _02016224 - add r0, sp, #0x0 - bl FS_ReadFile -_02016224: - add r0, sp, #0x0 - bl FS_CloseFile -_0201622A: - add sp, #0x48 - pop {r3-r5, pc} - .balign 4 - - thumb_func_start FUN_02016230 -FUN_02016230: ; 0x02016230 - push {r3-r7, lr} - sub sp, #0x8 - str r0, [sp, #0x0] - bl strlen - lsl r0, r0, #0x10 - lsr r3, r0, #0x10 - lsr r2, r3, #0x1f - lsl r1, r3, #0x1e - sub r1, r1, r2 - mov r0, #0x1e - ror r1, r0 - add r0, r2, r1 - beq _02016258 - lsr r0, r3, #0x2 - add r0, r0, #0x1 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - str r0, [sp, #0x4] - b _0201625E -_02016258: - lsl r0, r3, #0xe - lsr r0, r0, #0x10 - str r0, [sp, #0x4] -_0201625E: - ldr r0, [sp, #0x4] - mov r7, #0x0 - mov r12, r7 - cmp r0, #0x0 - ble _0201629A - add r6, r7, #0x0 - add r4, r7, #0x0 -_0201626C: - ldr r2, [sp, #0x0] - mov r1, #0x0 - add r0, r1, #0x0 - add r2, r2, r6 - add r3, r1, #0x0 -_02016276: - ldrsb r5, [r2, r4] - cmp r5, #0x0 - beq _0201628A - lsl r5, r3 - add r0, r0, #0x1 - orr r1, r5 - add r2, r2, #0x1 - add r3, #0x8 - cmp r0, #0x4 - blt _02016276 -_0201628A: - mov r0, r12 - eor r7, r1 - add r1, r0, #0x1 - ldr r0, [sp, #0x4] - add r6, r6, #0x4 - mov r12, r1 - cmp r1, r0 - blt _0201626C -_0201629A: - add r0, r7, #0x0 - add sp, #0x8 - pop {r3-r7, pc} - - thumb_func_start FUN_020162A0 -FUN_020162A0: ; 0x020162A0 - ldr r3, _020162C4 ; =UNK_021C4928 - mov r2, #0x0 -_020162A4: - ldr r1, [r3, #0x4] - cmp r0, r1 - bne _020162B4 - ldr r1, [r3, #0x0] - cmp r1, #0x0 - beq _020162B4 - add r0, r2, #0x0 - bx lr -_020162B4: - add r2, r2, #0x1 - add r3, #0x8 - cmp r2, #0x80 - blt _020162A4 - mov r0, #0x0 - mvn r0, r0 - bx lr - nop -_020162C4: .word UNK_021C4928 - - thumb_func_start FUN_020162C8 -FUN_020162C8: ; 0x020162C8 - push {r3-r4} - ldr r3, _020162F4 ; =UNK_021C4928 - mov r4, #0x0 -_020162CE: - ldr r2, [r3, #0x0] - cmp r2, #0x0 - bne _020162E4 - ldr r2, _020162F4 ; =UNK_021C4928 - lsl r3, r4, #0x3 - str r0, [r2, r3] - ldr r0, _020162F8 ; =UNK_021C492C - str r1, [r0, r3] - add r0, r4, #0x0 - pop {r3-r4} - bx lr -_020162E4: - add r4, r4, #0x1 - add r3, #0x8 - cmp r4, #0x80 - blt _020162CE - mov r0, #0x0 - mvn r0, r0 - pop {r3-r4} - bx lr - .balign 4 -_020162F4: .word UNK_021C4928 -_020162F8: .word UNK_021C492C - - thumb_func_start FUN_020162FC -FUN_020162FC: ; 0x020162FC - push {r3-r7, lr} - mov r6, #0x0 - ldr r5, _02016320 ; =UNK_021C4D20 - mov r4, #0x7f - sub r7, r6, #0x1 -_02016306: - ldr r0, [r5, #0x0] - cmp r0, #0x0 - beq _02016314 - bl FreeToHeap - str r6, [r5, #0x0] - str r6, [r5, #0x4] -_02016314: - sub r4, r4, #0x1 - sub r5, #0x8 - cmp r4, r7 - bgt _02016306 - pop {r3-r7, pc} - nop -_02016320: .word UNK_021C4D20 - - thumb_func_start FUN_02016324 -FUN_02016324: ; 0x02016324 - push {r3-r7, lr} - sub sp, #0x68 - add r2, r0, #0x0 - mov r5, #0x0 - ldrsb r0, [r2, r5] - add r4, r1, #0x0 - cmp r0, #0x21 - add r0, sp, #0x0 - bne _02016340 - add r1, r2, #0x1 - bl strcpy - mov r5, #0x1 - b _02016346 -_02016340: - add r1, r2, #0x0 - bl strcpy -_02016346: - add r0, sp, #0x0 - bl FUN_02016230 - add r7, r0, #0x0 - bl FUN_020162A0 - cmp r0, #0x0 - blt _02016362 - cmp r5, #0x0 - bne _02016362 - lsl r1, r0, #0x3 - ldr r0, _020163B8 ; =UNK_021C4928 - ldr r4, [r0, r1] - b _020163B2 -_02016362: - add r0, sp, #0x20 - bl FS_InitFile - add r0, sp, #0x20 - add r1, sp, #0x0 - bl FS_OpenFile - cmp r0, #0x0 - beq _020163B0 - ldr r1, [sp, #0x48] - ldr r0, [sp, #0x44] - sub r6, r1, r0 - add r0, r4, #0x0 - add r1, r6, #0x0 - bl AllocFromHeap - add r4, r0, #0x0 - beq _0201639C - add r0, sp, #0x20 - add r1, r4, #0x0 - add r2, r6, #0x0 - bl FS_ReadFile - cmp r6, r0 - beq _0201639C - add r0, r4, #0x0 - bl FreeToHeap - mov r4, #0x0 -_0201639C: - add r0, sp, #0x20 - bl FS_CloseFile - cmp r5, #0x0 - bne _020163B2 - add r0, r4, #0x0 - add r1, r7, #0x0 - bl FUN_020162C8 - b _020163B2 -_020163B0: - mov r4, #0x0 -_020163B2: - add r0, r4, #0x0 - add sp, #0x68 - pop {r3-r7, pc} - .balign 4 -_020163B8: .word UNK_021C4928 - - thumb_func_start FUN_020163BC -FUN_020163BC: ; 0x020163BC - push {r3, lr} - sub sp, #0x8 - ldr r0, _0201641C ; =gMain - mov r2, #0x0 - str r2, [r0, #0x34] - str r2, [r0, #0x38] - str r2, [r0, #0x3c] - str r2, [r0, #0x40] - str r2, [r0, #0x44] - str r2, [r0, #0x48] - str r2, [r0, #0x4c] - str r2, [r0, #0x50] - mov r1, #0x8 - str r1, [r0, #0x54] - mov r1, #0xf - str r1, [r0, #0x58] - ldr r0, _02016420 ; =UNK_021C48F8 - strh r2, [r0, #0x1c] - strh r2, [r0, #0x1e] - strh r2, [r0, #0x20] - strh r2, [r0, #0x22] - ldr r0, _02016424 ; =gUnk021C4918 - strb r2, [r0, #0x4] - bl TP_Init - add r0, sp, #0x0 - bl TP_GetUserInfo - cmp r0, #0x1 - add r0, sp, #0x0 - bne _02016402 - bl TP_SetCalibrateParam - add sp, #0x8 - pop {r3, pc} -_02016402: - ldr r1, _02016428 ; =0x000002AE - strh r1, [r0, #0x0] - ldr r1, _0201642C ; =0x0000058C - strh r1, [r0, #0x2] - ldr r1, _02016430 ; =0x00000E25 - strh r1, [r0, #0x4] - ldr r1, _02016434 ; =0x00001208 - strh r1, [r0, #0x6] - add r0, sp, #0x0 - bl TP_SetCalibrateParam - add sp, #0x8 - pop {r3, pc} - .balign 4 -_0201641C: .word gMain -_02016420: .word UNK_021C48F8 -_02016424: .word gUnk021C4918 -_02016428: .word 0x000002AE -_0201642C: .word 0x0000058C -_02016430: .word 0x00000E25 -_02016434: .word 0x00001208 - - thumb_func_start FUN_02016438 -FUN_02016438: ; 0x02016438 - ldr r1, _02016440 ; =gUnk021C4918 - strb r0, [r1, #0x6] - bx lr - nop -_02016440: .word gUnk021C4918 - - thumb_func_start FUN_02016444 -FUN_02016444: ; 0x02016444 - ldr r1, _02016450 ; =gUnk021C4918 - ldrb r2, [r1, #0x7] - orr r0, r2 - strb r0, [r1, #0x7] - bx lr - nop -_02016450: .word gUnk021C4918 - - thumb_func_start FUN_02016454 -FUN_02016454: ; 0x02016454 - ldr r1, _02016460 ; =gUnk021C4918 - mvn r0, r0 - ldrb r2, [r1, #0x7] - and r0, r2 - strb r0, [r1, #0x7] - bx lr - .balign 4 -_02016460: .word gUnk021C4918 - - thumb_func_start FUN_02016464 -FUN_02016464: ; 0x02016464 - push {r4, lr} - sub sp, #0x10 - ldr r2, _02016550 ; =0x027FFFA8 - mov r0, #0x2 - ldrh r1, [r2, #0x0] - lsl r0, r0, #0xe - and r0, r1 - asr r0, r0, #0xf - beq _0201648A - ldr r0, _02016554 ; =gMain - mov r1, #0x0 - str r1, [r0, #0x48] - str r1, [r0, #0x44] - str r1, [r0, #0x4c] - ldr r0, _02016558 ; =UNK_021C48F8 - add sp, #0x10 - strh r1, [r0, #0x20] - strh r1, [r0, #0x22] - pop {r4, pc} -_0201648A: - ldr r0, _0201655C ; =0x04000130 - ldrh r1, [r0, #0x0] - ldrh r0, [r2, #0x0] - orr r1, r0 - ldr r0, _02016560 ; =0x00002FFF - eor r1, r0 - and r0, r1 - ldr r1, _02016554 ; =gMain - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - ldr r2, [r1, #0x38] - add r3, r0, #0x0 - eor r3, r2 - and r3, r0 - str r3, [r1, #0x3c] - str r3, [r1, #0x40] - cmp r0, #0x0 - beq _020164C2 - cmp r2, r0 - bne _020164C2 - ldr r2, [r1, #0x50] - sub r2, r2, #0x1 - str r2, [r1, #0x50] - bne _020164C8 - str r0, [r1, #0x40] - ldr r2, [r1, #0x54] - str r2, [r1, #0x50] - b _020164C8 -_020164C2: - ldr r1, _02016554 ; =gMain - ldr r2, [r1, #0x58] - str r2, [r1, #0x50] -_020164C8: - ldr r1, _02016554 ; =gMain - str r0, [r1, #0x38] - ldr r2, [r1, #0x3c] - str r2, [r1, #0x48] - str r0, [r1, #0x44] - ldr r0, [r1, #0x40] - str r0, [r1, #0x4c] - bl FUN_02016568 - ldr r0, _02016564 ; =gUnk021C4918 - ldrb r0, [r0, #0x4] - cmp r0, #0x0 - bne _020164F4 - add r4, sp, #0x8 -_020164E4: - bl TP_RequestSamplingAsync - add r0, r4, #0x0 - bl TP_WaitRawResult - cmp r0, #0x0 - bne _020164E4 - b _020164FA -_020164F4: - add r0, sp, #0x8 - bl TP_GetLatestRawPointInAuto -_020164FA: - add r0, sp, #0x0 - add r1, sp, #0x8 - bl TP_GetCalibratedPoint - add r1, sp, #0x0 - ldrh r3, [r1, #0x6] - cmp r3, #0x0 - bne _02016516 - ldrh r2, [r1, #0x0] - ldr r0, _02016558 ; =UNK_021C48F8 - strh r2, [r0, #0x1c] - ldrh r1, [r1, #0x2] - strh r1, [r0, #0x1e] - b _0201653A -_02016516: - ldr r0, _02016558 ; =UNK_021C48F8 - ldrh r2, [r0, #0x22] - cmp r2, #0x0 - beq _02016536 - cmp r3, #0x1 - beq _0201652A - cmp r3, #0x2 - beq _02016530 - cmp r3, #0x3 - b _0201653A -_0201652A: - ldrh r1, [r1, #0x2] - strh r1, [r0, #0x1e] - b _0201653A -_02016530: - ldrh r1, [r1, #0x0] - strh r1, [r0, #0x1c] - b _0201653A -_02016536: - mov r0, #0x0 - strh r0, [r1, #0x4] -_0201653A: - add r0, sp, #0x0 - ldrh r2, [r0, #0x4] - ldr r0, _02016558 ; =UNK_021C48F8 - ldrh r1, [r0, #0x22] - eor r1, r2 - and r1, r2 - strh r1, [r0, #0x20] - strh r2, [r0, #0x22] - add sp, #0x10 - pop {r4, pc} - nop -_02016550: .word 0x027FFFA8 -_02016554: .word gMain -_02016558: .word UNK_021C48F8 -_0201655C: .word 0x04000130 -_02016560: .word 0x00002FFF -_02016564: .word gUnk021C4918 - - thumb_func_start FUN_02016568 -FUN_02016568: ; 0x02016568 - ldr r0, _02016690 ; =gMain - ldr r1, [r0, #0x34] - cmp r1, #0x3 - bls _02016572 - b _0201668C -_02016572: - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #0x6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_0201657E: ; jump table (using 16-bit offset) - .short _0201668C - _0201657E - 2; case 0 - .short _02016586 - _0201657E - 2; case 1 - .short _020165BC - _0201657E - 2; case 2 - .short _02016642 - _0201657E - 2; case 3 -_02016586: - ldr r2, [r0, #0x48] - mov r1, #0x8 - add r3, r2, #0x0 - tst r3, r1 - beq _02016596 - lsl r1, r1, #0x7 - orr r1, r2 - str r1, [r0, #0x48] -_02016596: - ldr r1, _02016690 ; =gMain - mov r0, #0x8 - ldr r2, [r1, #0x44] - add r3, r2, #0x0 - tst r3, r0 - beq _020165A8 - lsl r0, r0, #0x7 - orr r0, r2 - str r0, [r1, #0x44] -_020165A8: - ldr r1, _02016690 ; =gMain - mov r0, #0x8 - ldr r2, [r1, #0x4c] - add r3, r2, #0x0 - tst r3, r0 - beq _0201668C - lsl r0, r0, #0x7 - orr r0, r2 - str r0, [r1, #0x4c] - bx lr -_020165BC: - ldr r3, [r0, #0x48] - mov r0, #0x1 - lsl r0, r0, #0xa - add r2, r3, #0x0 - mov r1, #0x0 - tst r2, r0 - beq _020165CE - lsl r0, r0, #0x1 - orr r1, r0 -_020165CE: - mov r0, #0x2 - lsl r0, r0, #0xa - add r2, r3, #0x0 - tst r2, r0 - beq _020165DC - lsr r0, r0, #0x1 - orr r1, r0 -_020165DC: - ldr r2, _02016690 ; =gMain - ldr r0, _02016694 ; =0x0000F3FF - ldr r3, [r2, #0x48] - and r0, r3 - orr r0, r1 - str r0, [r2, #0x48] - ldr r3, [r2, #0x44] - mov r1, #0x1 - lsl r1, r1, #0xa - add r2, r3, #0x0 - mov r0, #0x0 - tst r2, r1 - beq _020165FA - lsl r1, r1, #0x1 - orr r0, r1 -_020165FA: - mov r1, #0x2 - lsl r1, r1, #0xa - add r2, r3, #0x0 - tst r2, r1 - beq _02016608 - lsr r1, r1, #0x1 - orr r0, r1 -_02016608: - ldr r2, _02016690 ; =gMain - ldr r1, _02016694 ; =0x0000F3FF - ldr r3, [r2, #0x44] - and r1, r3 - orr r0, r1 - str r0, [r2, #0x44] - ldr r3, [r2, #0x4c] - mov r1, #0x1 - lsl r1, r1, #0xa - add r2, r3, #0x0 - mov r0, #0x0 - tst r2, r1 - beq _02016626 - lsl r1, r1, #0x1 - orr r0, r1 -_02016626: - mov r1, #0x2 - lsl r1, r1, #0xa - add r2, r3, #0x0 - tst r2, r1 - beq _02016634 - lsr r1, r1, #0x1 - orr r0, r1 -_02016634: - ldr r2, _02016690 ; =gMain - ldr r1, _02016694 ; =0x0000F3FF - ldr r3, [r2, #0x4c] - and r1, r3 - orr r0, r1 - str r0, [r2, #0x4c] - bx lr -_02016642: - mov r1, #0x2 - ldr r2, [r0, #0x48] - lsl r1, r1, #0x8 - tst r1, r2 - beq _02016652 - mov r1, #0x1 - orr r1, r2 - str r1, [r0, #0x48] -_02016652: - ldr r1, _02016690 ; =gMain - mov r0, #0x2 - ldr r2, [r1, #0x44] - lsl r0, r0, #0x8 - tst r0, r2 - beq _02016664 - mov r0, #0x1 - orr r0, r2 - str r0, [r1, #0x44] -_02016664: - ldr r1, _02016690 ; =gMain - mov r0, #0x2 - ldr r2, [r1, #0x4c] - lsl r0, r0, #0x8 - tst r0, r2 - beq _02016676 - mov r0, #0x1 - orr r0, r2 - str r0, [r1, #0x4c] -_02016676: - ldr r1, _02016690 ; =gMain - ldr r0, _02016698 ; =0x0000FCFF - ldr r2, [r1, #0x48] - and r2, r0 - str r2, [r1, #0x48] - ldr r2, [r1, #0x44] - and r2, r0 - str r2, [r1, #0x44] - ldr r2, [r1, #0x4c] - and r0, r2 - str r0, [r1, #0x4c] -_0201668C: - bx lr - nop -_02016690: .word gMain -_02016694: .word 0x0000F3FF -_02016698: .word 0x0000FCFF - - thumb_func_start FUN_0201669C -FUN_0201669C: ; 0x0201669C - ldr r2, _020166A4 ; =gMain - str r0, [r2, #0x54] - str r1, [r2, #0x58] - bx lr - .balign 4 -_020166A4: .word gMain - - thumb_func_start FUN_020166A8 -FUN_020166A8: ; 0x020166A8 - ldr r1, _020166B4 ; =gUnk021C4918 - ldrb r2, [r1, #0x8] - orr r0, r2 - strb r0, [r1, #0x8] - bx lr - nop -_020166B4: .word gUnk021C4918 - - thumb_func_start FUN_020166B8 -FUN_020166B8: ; 0x020166B8 - ldr r1, _020166C4 ; =gUnk021C4918 - mvn r0, r0 - ldrb r2, [r1, #0x8] - and r0, r2 - strb r0, [r1, #0x8] - bx lr - .balign 4 -_020166C4: .word gUnk021C4918 diff --git a/arm9/asm/unk_0201CC08.s b/arm9/asm/unk_0201CC08.s index 4c198931..c35c4b23 100644 --- a/arm9/asm/unk_0201CC08.s +++ b/arm9/asm/unk_0201CC08.s @@ -1,7 +1,7 @@ .include "asm/macros.inc" .include "global.inc" - .extern gUnk021C4918 + .extern gMain .section .bss @@ -88,7 +88,7 @@ FUN_0201CC78: ; 0x0201CC78 push {r4, lr} ldr r4, _0201CC9C ; =UNK_021C5978 strh r0, [r4, #0x18] - ldr r0, _0201CCA0 ; =gUnk021C4918 + ldr r0, _0201CCA0 ; =gMain + 0x60 strb r1, [r0, #0x4] ldr r0, _0201CCA4 ; =UNK_021C5938 ldr r1, [sp, #0xc] @@ -103,7 +103,7 @@ FUN_0201CC78: ; 0x0201CC78 pop {r4, pc} nop _0201CC9C: .word UNK_021C5978 -_0201CCA0: .word gUnk021C4918 +_0201CCA0: .word gMain + 0x60 _0201CCA4: .word UNK_021C5938 _0201CCA8: .word UNK_021C5944 diff --git a/arm9/asm/unk_0201E66C.s b/arm9/asm/unk_0201E66C.s index 84e97898..5f5dcb68 100644 --- a/arm9/asm/unk_0201E66C.s +++ b/arm9/asm/unk_0201E66C.s @@ -1,7 +1,7 @@ .include "asm/macros.inc" .include "global.inc" - .extern gUnk021C4918 + .extern gMain .section .bss @@ -167,7 +167,7 @@ _0201E79C: .word 0x04001000 thumb_func_start FUN_0201E7A0 FUN_0201E7A0: ; 0x0201E7A0 - ldr r0, _0201E7C0 ; =gUnk021C4918 + ldr r0, _0201E7C0 ; =gMain + 0x60 ldr r2, _0201E7C4 ; =0x04000304 ldrb r0, [r0, #0x5] cmp r0, #0x0 @@ -184,7 +184,7 @@ _0201E7B4: strh r0, [r2, #0x0] bx lr nop -_0201E7C0: .word gUnk021C4918 +_0201E7C0: .word gMain + 0x60 _0201E7C4: .word 0x04000304 _0201E7C8: .word 0xFFFF7FFF diff --git a/arm9/asm/unk_020208B8.s b/arm9/asm/unk_020208B8.s index ce42a526..11027cff 100644 --- a/arm9/asm/unk_020208B8.s +++ b/arm9/asm/unk_020208B8.s @@ -1,7 +1,7 @@ .include "asm/macros.inc" .include "global.inc" - .extern UNK_021C48F8 + .extern gMain .text @@ -118,7 +118,7 @@ _02020960: thumb_func_start FUN_02020968 FUN_02020968: ; 0x02020968 push {r3, lr} - ldr r2, _02020984 ; =UNK_021C48F8 + ldr r2, _02020984 ; =gMain + 0x40 ldrh r1, [r2, #0x22] cmp r1, #0x0 beq _0202097C @@ -131,12 +131,12 @@ _0202097C: mvn r0, r0 pop {r3, pc} nop -_02020984: .word UNK_021C48F8 +_02020984: .word gMain + 0x40 thumb_func_start FUN_02020988 FUN_02020988: ; 0x02020988 push {r3, lr} - ldr r2, _020209A4 ; =UNK_021C48F8 + ldr r2, _020209A4 ; =gMain + 0x40 ldrh r1, [r2, #0x20] cmp r1, #0x0 beq _0202099C @@ -149,12 +149,12 @@ _0202099C: mvn r0, r0 pop {r3, pc} nop -_020209A4: .word UNK_021C48F8 +_020209A4: .word gMain + 0x40 thumb_func_start FUN_020209A8 FUN_020209A8: ; 0x020209A8 push {r3-r7, lr} - ldr r7, _020209F0 ; =UNK_021C48F8 + ldr r7, _020209F0 ; =gMain + 0x40 add r5, r0, #0x0 ldrh r0, [r7, #0x22] cmp r0, #0x0 @@ -192,12 +192,12 @@ _020209EA: mvn r0, r0 pop {r3-r7, pc} .balign 4 -_020209F0: .word UNK_021C48F8 +_020209F0: .word gMain + 0x40 thumb_func_start FUN_020209F4 FUN_020209F4: ; 0x020209F4 push {r3-r7, lr} - ldr r7, _02020A3C ; =UNK_021C48F8 + ldr r7, _02020A3C ; =gMain + 0x40 add r5, r0, #0x0 ldrh r0, [r7, #0x20] cmp r0, #0x0 @@ -235,12 +235,12 @@ _02020A36: mvn r0, r0 pop {r3-r7, pc} .balign 4 -_02020A3C: .word UNK_021C48F8 +_02020A3C: .word gMain + 0x40 thumb_func_start FUN_02020A40 FUN_02020A40: ; 0x02020A40 push {r3, lr} - ldr r2, _02020A68 ; =UNK_021C48F8 + ldr r2, _02020A68 ; =gMain + 0x40 ldrh r1, [r2, #0x22] cmp r1, #0x0 beq _02020A62 @@ -259,12 +259,12 @@ _02020A62: mov r0, #0x0 pop {r3, pc} nop -_02020A68: .word UNK_021C48F8 +_02020A68: .word gMain + 0x40 thumb_func_start FUN_02020A6C FUN_02020A6C: ; 0x02020A6C push {r3, lr} - ldr r2, _02020A94 ; =UNK_021C48F8 + ldr r2, _02020A94 ; =gMain + 0x40 ldrh r1, [r2, #0x20] cmp r1, #0x0 beq _02020A8E @@ -283,27 +283,27 @@ _02020A8E: mov r0, #0x0 pop {r3, pc} nop -_02020A94: .word UNK_021C48F8 +_02020A94: .word gMain + 0x40 thumb_func_start FUN_02020A98 FUN_02020A98: ; 0x02020A98 - ldr r0, _02020AA0 ; =UNK_021C48F8 + ldr r0, _02020AA0 ; =gMain + 0x40 ldrh r0, [r0, #0x22] bx lr nop -_02020AA0: .word UNK_021C48F8 +_02020AA0: .word gMain + 0x40 thumb_func_start FUN_02020AA4 FUN_02020AA4: ; 0x02020AA4 - ldr r0, _02020AAC ; =UNK_021C48F8 + ldr r0, _02020AAC ; =gMain + 0x40 ldrh r0, [r0, #0x20] bx lr nop -_02020AAC: .word UNK_021C48F8 +_02020AAC: .word gMain + 0x40 thumb_func_start FUN_02020AB0 FUN_02020AB0: ; 0x02020AB0 - ldr r2, _02020AC8 ; =UNK_021C48F8 + ldr r2, _02020AC8 ; =gMain + 0x40 ldrh r3, [r2, #0x22] cmp r3, #0x0 beq _02020AC4 @@ -317,11 +317,11 @@ _02020AC4: mov r0, #0x0 bx lr .balign 4 -_02020AC8: .word UNK_021C48F8 +_02020AC8: .word gMain + 0x40 thumb_func_start FUN_02020ACC FUN_02020ACC: ; 0x02020ACC - ldr r2, _02020AE4 ; =UNK_021C48F8 + ldr r2, _02020AE4 ; =gMain + 0x40 ldrh r3, [r2, #0x20] cmp r3, #0x0 beq _02020AE0 @@ -335,7 +335,7 @@ _02020AE0: mov r0, #0x0 bx lr .balign 4 -_02020AE4: .word UNK_021C48F8 +_02020AE4: .word gMain + 0x40 thumb_func_start FUN_02020AE8 FUN_02020AE8: ; 0x02020AE8 diff --git a/arm9/asm/unk_02031734.s b/arm9/asm/unk_02031734.s index e28c8c38..5a054d51 100644 --- a/arm9/asm/unk_02031734.s +++ b/arm9/asm/unk_02031734.s @@ -1,7 +1,7 @@ .include "asm/macros.inc" .include "global.inc" - .extern gUnk021C4918 + .extern gMain .section .rodata .global UNK_020EEC48 UNK_020EEC48: ; 0x020EEC48 @@ -4062,7 +4062,7 @@ _02033622: ldr r0, [r0, #0x0] ldr r0, [r0, #0x28] bl FUN_0202287C - ldr r1, _02033674 ; =gUnk021C4918 + ldr r1, _02033674 ; =gMain + 0x60 mov r0, #0x1 strb r0, [r1, #0x4] ldr r1, _02033670 ; =UNK_021C5A00 @@ -4092,7 +4092,7 @@ _0203366C: pop {r3, pc} nop _02033670: .word UNK_021C5A00 -_02033674: .word gUnk021C4918 +_02033674: .word gMain + 0x60 thumb_func_start FUN_02033678 FUN_02033678: ; 0x02033678 diff --git a/arm9/asm/unk_02033F50.s b/arm9/asm/unk_02033F50.s index d514a9d6..e4dd5814 100644 --- a/arm9/asm/unk_02033F50.s +++ b/arm9/asm/unk_02033F50.s @@ -1,7 +1,7 @@ .include "asm/macros.inc" .include "global.inc" - .extern gUnk021C4918 + .extern gMain .section .rodata @@ -92,7 +92,7 @@ _02033FA4: bl OS_EnableIrqMask mov r0, #0x0 add r1, r0, #0x0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0x0 add r1, r0, #0x0 bl FUN_02015F34 @@ -111,7 +111,7 @@ _02033FA4: mov r0, #0x4 mov r1, #0x8 bl FUN_0201669C - ldr r0, _02034160 ; =gUnk021C4918 + ldr r0, _02034160 ; =gMain + 0x60 mov r1, #0x0 strb r1, [r0, #0x5] bl FUN_0201E7A0 @@ -254,7 +254,7 @@ _02033FA4: _02034154: .word FUN_02033F50 _02034158: .word 0xFFFFE0FF _0203415C: .word 0x04001000 -_02034160: .word gUnk021C4918 +_02034160: .word gMain + 0x60 _02034164: .word 0x04000050 _02034168: .word 0x04001050 _0203416C: .word 0xFFFF1FFF diff --git a/arm9/asm/unk_02034188.s b/arm9/asm/unk_02034188.s index f84f094a..d8b35c57 100644 --- a/arm9/asm/unk_02034188.s +++ b/arm9/asm/unk_02034188.s @@ -1,7 +1,7 @@ .include "asm/macros.inc" .include "global.inc" - .extern gUnk021C4918 + .extern gMain .section .rodata @@ -40,7 +40,7 @@ FUN_02034188: ; 0x02034188 bl FUN_02015EF4 mov r0, #0x0 add r1, r0, #0x0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0x0 add r1, r0, #0x0 bl FUN_02015F34 @@ -59,7 +59,7 @@ FUN_02034188: ; 0x02034188 mov r0, #0x4 mov r1, #0x8 bl FUN_0201669C - ldr r0, _02034370 ; =gUnk021C4918 + ldr r0, _02034370 ; =gMain + 0x60 mov r1, #0x0 strb r1, [r0, #0x5] bl FUN_0201E7A0 @@ -226,7 +226,7 @@ _02034308: nop _02034368: .word 0xFFFFE0FF _0203436C: .word 0x04001000 -_02034370: .word gUnk021C4918 +_02034370: .word gMain + 0x60 _02034374: .word 0x04000050 _02034378: .word 0x04001050 _0203437C: .word 0xFFFF1FFF diff --git a/arm9/asm/unk_02048904.s b/arm9/asm/unk_02048904.s index 4f852dbe..4ca21350 100644 --- a/arm9/asm/unk_02048904.s +++ b/arm9/asm/unk_02048904.s @@ -1,7 +1,7 @@ .include "asm/macros.inc" .include "global.inc" - .extern gUnk021C4918 + .extern gMain .section .rodata @@ -146,11 +146,11 @@ _020489EA: ldr r0, [r0, #0x0] lsl r0, r0, #0x10 lsr r1, r0, #0x1c - ldr r0, _020489F8 ; =gUnk021C4918 + ldr r0, _020489F8 ; =gMain + 0x60 strb r1, [r0, #0x5] pop {r4, pc} .balign 4 -_020489F8: .word gUnk021C4918 +_020489F8: .word gMain + 0x60 thumb_func_start FUN_020489FC FUN_020489FC: ; 0x020489FC diff --git a/arm9/asm/unk_0206C700.s b/arm9/asm/unk_0206C700.s index a11f74e3..e1447b33 100644 --- a/arm9/asm/unk_0206C700.s +++ b/arm9/asm/unk_0206C700.s @@ -294,7 +294,7 @@ FUN_0206C92C: ; 0x0206C92C bl FUN_0200E3A0 mov r0, #0x0 add r1, r0, #0x0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB ldr r0, [r4, #0x4] mov r1, #0x1 bl FUN_020191A4 @@ -2513,7 +2513,7 @@ _0206DA26: bl FUN_0201E6E4 ldr r0, _0206DC44 ; =FUN_0206DD08 add r1, r5, #0x0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB add sp, #0xb8 pop {r4-r6, pc} .balign 4 diff --git a/arm9/asm/unk_0206F3FC.s b/arm9/asm/unk_0206F3FC.s index 7a1729d2..e21f2541 100644 --- a/arm9/asm/unk_0206F3FC.s +++ b/arm9/asm/unk_0206F3FC.s @@ -1,7 +1,7 @@ .include "asm/macros.inc" .include "global.inc" - .extern UNK_021C48F8 + .extern gMain .extern gMain .section .rodata @@ -119,7 +119,7 @@ FUN_0206F3FC: ; 0x0206F3FC add r4, r0, #0x0 mov r0, #0x0 add r1, r0, #0x0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -290,7 +290,7 @@ _0206F564: _0206F582: ldr r0, _0206F5A8 ; =FUN_0206FB58 add r1, r4, #0x0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02033F20 mov r0, #0x1 add sp, #0xc @@ -964,7 +964,7 @@ FUN_0206FAA4: ; 0x0206FAA4 add r6, r0, #0x0 mov r0, #0x0 add r1, r0, #0x0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB add r0, r6, #0x0 bl FUN_02073A2C add r0, r6, #0x0 @@ -4688,7 +4688,7 @@ _02071886: strh r1, [r0, #0x0] add r0, sp, #0x4 str r0, [sp, #0x0] - ldr r3, _020718C8 ; =UNK_021C48F8 + ldr r3, _020718C8 ; =gMain + 0x40 ldr r0, [r5, #0x0] ldrh r2, [r3, #0x1c] ldrh r3, [r3, #0x1e] @@ -4707,7 +4707,7 @@ _020718BA: .balign 4 _020718C0: .word UNK_020F94B8 _020718C4: .word 0x0000FFFE -_020718C8: .word UNK_021C48F8 +_020718C8: .word gMain + 0x40 thumb_func_start FUN_020718CC FUN_020718CC: ; 0x020718CC diff --git a/arm9/asm/unk_020772F0.s b/arm9/asm/unk_020772F0.s index 863b9270..48657261 100644 --- a/arm9/asm/unk_020772F0.s +++ b/arm9/asm/unk_020772F0.s @@ -1,8 +1,8 @@ .include "asm/macros.inc" .include "global.inc" - .extern UNK_021C48F8 - .extern gUnk021C4918 + .extern gMain + .extern gMain .extern gMain .section .rodata @@ -387,7 +387,7 @@ _020772FC: _020772FE: mov r0, #0x0 add r1, r0, #0x0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -470,7 +470,7 @@ _020772FE: bl FUN_02002C50 ldr r0, _020774A0 ; =FUN_02077AE8 mov r1, #0x0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB add r0, r4, #0x0 add r1, r6, #0x0 bl FUN_02077CD4 @@ -518,7 +518,7 @@ _020772FE: bl FUN_0200E1D0 mov r0, #0x1 bl FUN_02077C84 - ldr r0, _020774A8 ; =gUnk021C4918 + ldr r0, _020774A8 ; =gMain + 0x60 mov r1, #0x1 strb r1, [r0, #0x5] bl FUN_0201E7A0 @@ -563,7 +563,7 @@ _02077498: .word 0xFFFFE0FF _0207749C: .word 0x04001000 _020774A0: .word FUN_02077AE8 _020774A4: .word 0x000004C4 -_020774A8: .word gUnk021C4918 +_020774A8: .word gMain + 0x60 _020774AC: .word 0x000004B8 _020774B0: .word UNK_021C5C54 _020774B4: .word 0x000005C4 @@ -1256,10 +1256,10 @@ _02077A0C: bl OverlayManager_FreeData mov r0, #0x0 add r1, r0, #0x0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0x12 bl FUN_020168D0 - ldr r0, _02077A80 ; =gUnk021C4918 + ldr r0, _02077A80 ; =gMain + 0x60 mov r1, #0x0 strb r1, [r0, #0x5] bl FUN_0201E7A0 @@ -1272,7 +1272,7 @@ _02077A70: .word 0x000004AC _02077A74: .word 0x000004B4 _02077A78: .word 0x000004BC _02077A7C: .word 0xFFFF1FFF -_02077A80: .word gUnk021C4918 +_02077A80: .word gMain + 0x60 thumb_func_start FUN_02077A84 FUN_02077A84: ; 0x02077A84 @@ -5126,7 +5126,7 @@ FUN_02079930: ; 0x02079930 mov r0, #0x4 mov r12, r0 _02079944: - ldr r2, _020799E0 ; =UNK_021C48F8 + ldr r2, _020799E0 ; =gMain + 0x40 ldrh r0, [r2, #0x20] cmp r0, #0x0 beq _020799DA @@ -5211,5 +5211,5 @@ _020799DA: mov r0, #0x0 pop {r3-r7, pc} nop -_020799E0: .word UNK_021C48F8 +_020799E0: .word gMain + 0x40 _020799E4: .word UNK_020FA264 diff --git a/arm9/asm/unk_02079C70.s b/arm9/asm/unk_02079C70.s index c49c2d67..9e91ca0e 100644 --- a/arm9/asm/unk_02079C70.s +++ b/arm9/asm/unk_02079C70.s @@ -59,7 +59,7 @@ FUN_02079C7C: ; 0x02079C7C add r4, r0, #0x0 mov r0, #0x0 add r1, r0, #0x0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -156,7 +156,7 @@ FUN_02079C7C: ; 0x02079C7C bl FUN_0207F098 ldr r0, _02079DB0 ; =FUN_02079F24 add r1, r5, #0x0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_0201E788 mov r1, #0x0 mov r0, #0x3d @@ -318,7 +318,7 @@ FUN_02079ECC: ; 0x02079ECC add r5, r0, #0x0 mov r0, #0x0 add r1, r0, #0x0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB add r0, r5, #0x0 bl FUN_0207F068 add r0, r5, #0x0 diff --git a/arm9/asm/unk_0207F95C.s b/arm9/asm/unk_0207F95C.s index d53dcbdf..cface8d1 100644 --- a/arm9/asm/unk_0207F95C.s +++ b/arm9/asm/unk_0207F95C.s @@ -1,7 +1,7 @@ .include "asm/macros.inc" .include "global.inc" - .extern UNK_021C48F8 + .extern gMain .section .rodata .global UNK_020FB6F8 @@ -274,7 +274,7 @@ _0207FADA: strh r1, [r0, #0x0] add r0, sp, #0x4 str r0, [sp, #0x0] - ldr r3, _0207FB24 ; =UNK_021C48F8 + ldr r3, _0207FB24 ; =gMain + 0x40 ldr r0, [r5, #0x0] ldrh r2, [r3, #0x1c] ldrh r3, [r3, #0x1e] @@ -294,7 +294,7 @@ _0207FB12: _0207FB18: .word 0x0000068F _0207FB1C: .word UNK_0210613C _0207FB20: .word 0x0000FFFE -_0207FB24: .word UNK_021C48F8 +_0207FB24: .word gMain + 0x40 thumb_func_start FUN_0207FB28 FUN_0207FB28: ; 0x0207FB28 diff --git a/arm9/asm/unk_020859C0.s b/arm9/asm/unk_020859C0.s index efd11044..1a38e392 100644 --- a/arm9/asm/unk_020859C0.s +++ b/arm9/asm/unk_020859C0.s @@ -285,7 +285,7 @@ _02085A9A: bl MOD62_022300E4 ldr r0, _02085BAC ; =MOD62_022310CC add r1, r4, #0x0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB add r0, r4, #0x0 bl MOD62_0222DD1C mov r1, #0x0 diff --git a/arm9/asm/unk_02086084.s b/arm9/asm/unk_02086084.s index 9e58b5cc..6ef3d150 100644 --- a/arm9/asm/unk_02086084.s +++ b/arm9/asm/unk_02086084.s @@ -17,7 +17,7 @@ FUN_02086084: ; 0x02086084 add r5, r0, #0x0 mov r0, #0x0 add r1, r0, #0x0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C mov r2, #0x1 mov r0, #0x3 @@ -95,7 +95,7 @@ FUN_02086084: ; 0x02086084 bl FUN_0200541C ldr r0, _02086164 ; =FUN_02086664 add r1, r4, #0x0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0x1 pop {r3-r5, pc} nop diff --git a/arm9/asm/unk_02089498.s b/arm9/asm/unk_02089498.s index 3962942c..82d06472 100644 --- a/arm9/asm/unk_02089498.s +++ b/arm9/asm/unk_02089498.s @@ -101,7 +101,7 @@ _020894FC: bl FUN_0200E3A0 add r0, r6, #0x0 add r1, r0, #0x0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB add r0, r6, #0x0 add r1, r0, #0x0 bl FUN_02015F34 @@ -126,7 +126,7 @@ _020894FC: bl FUN_02089734 ldr r0, _020895EC ; =FUN_02089610 add r1, r4, #0x0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_0201E788 mov r0, #0x6 mov r1, #0x1 @@ -176,7 +176,7 @@ _020895BC: bl FUN_020896E0 add r0, r6, #0x0 add r1, r0, #0x0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r6, #0x1 _020895DA: add r0, r6, #0x0 diff --git a/arm9/asm/unk_02089960.s b/arm9/asm/unk_02089960.s index 2154cdf9..575eade7 100644 --- a/arm9/asm/unk_02089960.s +++ b/arm9/asm/unk_02089960.s @@ -83,7 +83,7 @@ _020899B8: bl FUN_0200E3A0 add r0, r4, #0x0 add r1, r0, #0x0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB add r0, r4, #0x0 add r1, r0, #0x0 bl FUN_02015F34 @@ -123,7 +123,7 @@ _02089A20: bl FUN_02089B2C add r0, r4, #0x0 add r1, r0, #0x0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r4, #0x1 _02089A34: add r0, r4, #0x0 diff --git a/arm9/asm/unk_02089D90.s b/arm9/asm/unk_02089D90.s index b4a6a662..b8c341df 100644 --- a/arm9/asm/unk_02089D90.s +++ b/arm9/asm/unk_02089D90.s @@ -1,7 +1,7 @@ .include "asm/macros.inc" .include "global.inc" - .extern gUnk021C4918 + .extern gMain .section .rodata @@ -39,7 +39,7 @@ FUN_02089D90: ; 0x02089D90 bl FUN_0200E3A0 mov r0, #0x0 add r1, r0, #0x0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0x0 add r1, r0, #0x0 bl FUN_02015F34 @@ -58,7 +58,7 @@ FUN_02089D90: ; 0x02089D90 mov r0, #0x4 mov r1, #0x8 bl FUN_0201669C - ldr r0, _02089EFC ; =gUnk021C4918 + ldr r0, _02089EFC ; =gMain + 0x60 mov r1, #0x0 strb r1, [r0, #0x5] bl FUN_0201E7A0 @@ -176,7 +176,7 @@ _02089EE4: nop _02089EF4: .word 0xFFFFE0FF _02089EF8: .word 0x04001000 -_02089EFC: .word gUnk021C4918 +_02089EFC: .word gMain + 0x60 _02089F00: .word 0x04000050 _02089F04: .word 0x04001050 _02089F08: .word 0xFFFF1FFF diff --git a/arm9/asm/unk_02089F24.s b/arm9/asm/unk_02089F24.s index 8dfe9755..5c84eabc 100644 --- a/arm9/asm/unk_02089F24.s +++ b/arm9/asm/unk_02089F24.s @@ -1,7 +1,7 @@ .include "asm/macros.inc" .include "global.inc" - .extern gUnk021C4918 + .extern gMain .extern UNK_020FF3E4 .extern UNK_020FF3EC .extern UNK_020FF3FC @@ -43,7 +43,7 @@ FUN_02089F24: ; 0x02089F24 bl FUN_0200E3A0 mov r0, #0x0 add r1, r0, #0x0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0x0 add r1, r0, #0x0 bl FUN_02015F34 @@ -62,7 +62,7 @@ FUN_02089F24: ; 0x02089F24 mov r0, #0x4 mov r1, #0x8 bl FUN_0201669C - ldr r0, _0208A090 ; =gUnk021C4918 + ldr r0, _0208A090 ; =gMain + 0x60 mov r1, #0x0 strb r1, [r0, #0x5] bl FUN_0201E7A0 @@ -180,7 +180,7 @@ _0208A078: nop _0208A088: .word 0xFFFFE0FF _0208A08C: .word 0x04001000 -_0208A090: .word gUnk021C4918 +_0208A090: .word gMain + 0x60 _0208A094: .word 0x04000050 _0208A098: .word 0x04001050 _0208A09C: .word 0xFFFF1FFF @@ -212,7 +212,7 @@ _0208A0C8: bl FUN_02015EF4 mov r0, #0x0 add r1, r0, #0x0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0x0 add r1, r0, #0x0 bl FUN_02015F34 @@ -231,7 +231,7 @@ _0208A0C8: mov r0, #0x4 mov r1, #0x8 bl FUN_0201669C - ldr r0, _0208A230 ; =gUnk021C4918 + ldr r0, _0208A230 ; =gMain + 0x60 mov r1, #0x0 strb r1, [r0, #0x5] bl FUN_0201E7A0 @@ -350,7 +350,7 @@ _0208A21A: .balign 4 _0208A228: .word 0xFFFFE0FF _0208A22C: .word 0x04001000 -_0208A230: .word gUnk021C4918 +_0208A230: .word gMain + 0x60 _0208A234: .word 0x04000050 _0208A238: .word 0x04001050 _0208A23C: .word 0xFFFF1FFF diff --git a/arm9/asm/unk_0208A998.s b/arm9/asm/unk_0208A998.s index 4b3a5510..14a02753 100644 --- a/arm9/asm/unk_0208A998.s +++ b/arm9/asm/unk_0208A998.s @@ -1,7 +1,7 @@ .include "asm/macros.inc" .include "global.inc" - .extern gUnk021C4918 + .extern gMain .section .rodata @@ -94,7 +94,7 @@ _0208A9C6: bl OS_EnableIrqMask mov r0, #0x0 add r1, r0, #0x0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0x0 add r1, r0, #0x0 bl FUN_02015F34 @@ -113,7 +113,7 @@ _0208A9C6: mov r0, #0x4 mov r1, #0x8 bl FUN_0201669C - ldr r0, _0208ABDC ; =gUnk021C4918 + ldr r0, _0208ABDC ; =gMain + 0x60 mov r1, #0x0 strb r1, [r0, #0x5] bl FUN_0201E7A0 @@ -278,7 +278,7 @@ _0208ABCC: .word UNK_020FF4A4 _0208ABD0: .word FUN_0208A998 _0208ABD4: .word 0xFFFFE0FF _0208ABD8: .word 0x04001000 -_0208ABDC: .word gUnk021C4918 +_0208ABDC: .word gMain + 0x60 _0208ABE0: .word 0x04000050 _0208ABE4: .word 0x04001050 _0208ABE8: .word 0xFFFF1FFF diff --git a/arm9/global.inc b/arm9/global.inc index a6708fd8..92e50e25 100644 --- a/arm9/global.inc +++ b/arm9/global.inc @@ -1007,7 +1007,7 @@ .extern FUN_02015E3C .extern FUN_02015E60 .extern FUN_02015EF4 -.extern FUN_02015F10 +.extern Main_SetVBlankIntrCB .extern FUN_02015F1C .extern FUN_02015F34 .extern FUN_020161A4 @@ -8162,7 +8162,7 @@ .extern UNK_020FD6D4 .extern UNK_021064B8 .extern UNK_021064C0 -.extern UNK_021C48F8 +.extern gMain .extern UNK_021C8ECC .extern UNK_021C8ED0 .extern UNK_021C8ED4 @@ -8209,8 +8209,6 @@ .extern UNK_02105BB8 .extern UNK_021064BC .extern UNK_021064C4 -.extern gMain -.extern gUnk021C4918 .extern UNK_021CED20 .extern UNK_021CED98 .extern UNK_021CEDD4 diff --git a/arm9/lib/include/OS_interrupt.h b/arm9/lib/include/OS_interrupt.h index 893e6d65..08417872 100644 --- a/arm9/lib/include/OS_interrupt.h +++ b/arm9/lib/include/OS_interrupt.h @@ -4,6 +4,11 @@ #include "consts.h" #include "nitro/OS_interrupt_shared.h" +#define REG_OS_IME_IME_SHIFT 0 + +#define OS_IME_DISABLE (0UL << REG_OS_IME_IME_SHIFT) +#define OS_IME_ENABLE (1UL << REG_OS_IME_IME_SHIFT) + #define OS_IE_V_COUNT (1UL << REG_OS_IE_VE_SHIFT) #define OS_IE_TIMER0 (1UL << REG_OS_IE_T0_SHIFT) #define OS_IE_TIMER1 (1UL << REG_OS_IE_T1_SHIFT) @@ -22,4 +27,23 @@ OSIrqMask OS_DisableIrqMask(OSIrqMask mask); OSIrqMask OS_ResetRequestIrqMask(OSIrqMask mask); void OS_SetIrqStackChecker(void); +static inline BOOL OS_DisableIrq(void) +{ + u16 prep = reg_OS_IME; + reg_OS_IME = OS_IME_DISABLE; + return (BOOL)prep; +} + +static inline BOOL OS_EnableIrq(void) +{ + u16 prep = reg_OS_IME; + reg_OS_IME = OS_IME_ENABLE; + return (BOOL)prep; +} + +static inline OSIrqMask OS_GetIrqMask(void) +{ + return reg_OS_IE; +} + #endif //POKEDIAMOND_ARM9_OS_INTERRUPT_H diff --git a/arm9/lib/include/PAD_pad.h b/arm9/lib/include/PAD_pad.h index 0cb8a6f0..327d306d 100644 --- a/arm9/lib/include/PAD_pad.h +++ b/arm9/lib/include/PAD_pad.h @@ -30,6 +30,12 @@ #define PAD_BUTTON_Y 0x0800 // Y #define PAD_BUTTON_DEBUG 0x2000 // Debug button +static inline u16 PAD_Read(void) +{ + return (u16)(((reg_PAD_KEYINPUT | *(vu16 *)HW_BUTTON_XY_BUF) ^ + (PAD_PLUS_KEY_MASK | PAD_BUTTON_MASK)) & (PAD_PLUS_KEY_MASK | PAD_BUTTON_MASK)); +} + static inline BOOL PAD_DetectFold(void) { return (BOOL)((*(vu16 *)HW_BUTTON_XY_BUF & PAD_DETECT_FOLD_MASK) >> 15); diff --git a/arm9/lib/include/ioreg_GX.h b/arm9/lib/include/ioreg_GX.h new file mode 100644 index 00000000..d6f7f448 --- /dev/null +++ b/arm9/lib/include/ioreg_GX.h @@ -0,0 +1,32 @@ +#ifndef NITRO_IOREG_GX_H_ +#define NITRO_IOREG_GX_H_ + +#define REG_GX_POWCNT_GE_SHIFT 3 +#define REG_GX_POWCNT_GE_SIZE 1 +#define REG_GX_POWCNT_GE_MASK 0x0008 + +#define REG_GX_POWCNT_RE_SHIFT 2 +#define REG_GX_POWCNT_RE_SIZE 1 +#define REG_GX_POWCNT_RE_MASK 0x0004 + +#define REG_GX_POWCNT_E2DG_SHIFT 1 +#define REG_GX_POWCNT_E2DG_SIZE 1 +#define REG_GX_POWCNT_E2DG_MASK 0x0002 + +#define REG_GX_POWCNT_LCD_SHIFT 0 +#define REG_GX_POWCNT_LCD_SIZE 1 +#define REG_GX_POWCNT_LCD_MASK 0x0001 + +#define REG_GX_POWCNT_LCDB_SHIFT 8 +#define REG_GX_POWCNT_LCDB_SIZE 1 +#define REG_GX_POWCNT_LCDB_MASK 0x0100 + +#define REG_GX_POWCNT_E2DGB_SHIFT 9 +#define REG_GX_POWCNT_E2DGB_SIZE 1 +#define REG_GX_POWCNT_E2DGB_MASK 0x0200 + +#define REG_GX_POWCNT_DSEL_SHIFT 15 +#define REG_GX_POWCNT_DSEL_SIZE 1 +#define REG_GX_POWCNT_DSEL_MASK 0x8000 + +#endif //NITRO_IOREG_GX_H_ diff --git a/arm9/lib/include/mmap.h b/arm9/lib/include/mmap.h index 8b30ffc8..81d47a7e 100644 --- a/arm9/lib/include/mmap.h +++ b/arm9/lib/include/mmap.h @@ -56,4 +56,32 @@ extern u32 SDK_AUTOLOAD_DTCM_START[]; #define OSi_WRAM_MAIN_ARENA_HI_DEFAULT (HW_WRAM) #define OSi_WRAM_MAIN_ARENA_LO_DEFAULT (HW_WRAM) +#define HW_BG_PLTT 0x05000000 +#define HW_BG_PLTT_END 0x05000200 +#define HW_BG_PLTT_SIZE (HW_BG_PLTT_END-HW_BG_PLTT) +#define HW_OBJ_PLTT 0x05000200 +#define HW_OBJ_PLTT_END 0x05000400 +#define HW_OBJ_PLTT_SIZE (HW_OBJ_PLTT_END-HW_OBJ_PLTT) +#define HW_PLTT HW_BG_PLTT +#define HW_PLTT_END HW_OBJ_PLTT_END +#define HW_PLTT_SIZE (HW_PLTT_END-HW_PLTT) +#define HW_DB_BG_PLTT 0x05000400 +#define HW_DB_BG_PLTT_END 0x05000600 +#define HW_DB_BG_PLTT_SIZE (HW_DB_BG_PLTT_END-HW_DB_BG_PLTT) +#define HW_DB_OBJ_PLTT 0x05000600 +#define HW_DB_OBJ_PLTT_END 0x05000800 +#define HW_DB_OBJ_PLTT_SIZE (HW_DB_OBJ_PLTT_END-HW_DB_OBJ_PLTT) +#define HW_DB_PLTT HW_DB_BG_PLTT +#define HW_DB_PLTT_END HW_DB_OBJ_PLTT_END +#define HW_DB_PLTT_SIZE (HW_DB_PLTT_END-HW_DB_PLTT) +#define HW_LCDC_VRAM 0x6800000 +#define HW_LCDC_VRAM_END 0x68a4000 +#define HW_LCDC_VRAM_SIZE (HW_LCDC_VRAM_END - HW_LCDC_VRAM) +#define HW_OAM 0x07000000 +#define HW_OAM_END 0x07000400 +#define HW_OAM_SIZE (HW_OAM_END-HW_OAM) +#define HW_DB_OAM 0x07000400 +#define HW_DB_OAM_END 0x07000800 +#define HW_DB_OAM_SIZE (HW_DB_OAM_END-HW_DB_OAM) + #endif //POKEDIAMOND_ARM9_MMAP_H
\ No newline at end of file diff --git a/arm9/lib/include/tp.h b/arm9/lib/include/tp.h new file mode 100644 index 00000000..6692863f --- /dev/null +++ b/arm9/lib/include/tp.h @@ -0,0 +1,41 @@ +// +// Created by Scott Norton on 8/20/20. +// + +#ifndef NITRO_TP_H_ +#define NITRO_TP_H_ + +// Touch panel input structure +typedef struct +{ + u16 x; // x coordinate ( 0 - 4095 ) + u16 y; // y coordinate ( 0 - 4095 ) + u16 touch; // Touch yes/no + u16 validity; // Valid yes/no +} +TPData; + +typedef struct NvTpData +{ + s16 x0; // X origin coordinate + s16 y0; // Y origin coordinate + s16 xDotSize; // X dot size + s16 yDotSize; // Y dot size +} +TPCalibrateParam; + +void TP_Init(void); +void TP_SetCalibrateParam(const TPCalibrateParam *param); +BOOL TP_GetUserInfo(TPCalibrateParam *calibrate); +void TP_RequestSamplingAsync(void); +u32 TP_WaitRawResult(TPData *result); +void TP_GetLatestRawPointInAuto(TPData *result); +void TP_GetCalibratedPoint(TPData *disp, const TPData *raw); + +static inline u32 TP_RequestRawSampling(TPData *result) +{ + TP_RequestSamplingAsync(); + return TP_WaitRawResult(result); +} + +#endif //NITRO_TP_H_ diff --git a/arm9/modules/05/asm/mod05_021D74E0.s b/arm9/modules/05/asm/mod05_021D74E0.s index ad9d0939..24743c4b 100644 --- a/arm9/modules/05/asm/mod05_021D74E0.s +++ b/arm9/modules/05/asm/mod05_021D74E0.s @@ -44,7 +44,7 @@ _021D7524: ; jump table _021D752C: add r0, r6, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C ldr r1, _021D7670 ; =0x04000050 add r0, r6, #0 @@ -353,7 +353,7 @@ _021D7806: bl MOD05_021D7F9C mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB ldr r0, [r4, #8] bl FreeToHeap ldr r0, [r4, #4] @@ -1146,7 +1146,7 @@ MOD05_021D7E4C: ; 0x021D7E4C bl MOD05_021F38B8 ldr r0, _021D7EE4 ; =MOD05_021D74E0 add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB pop {r3, r4, r5, pc} nop _021D7EE4: .word MOD05_021D74E0 diff --git a/arm9/modules/06/asm/module_06.s b/arm9/modules/06/asm/module_06.s index 4b2128f2..a40c9c9b 100644 --- a/arm9/modules/06/asm/module_06.s +++ b/arm9/modules/06/asm/module_06.s @@ -39953,7 +39953,7 @@ MOD06_0224CDA0: ; 0x0224CDA0 MOD06_0224CDB8: ; 0x0224CDB8 cmp r1, #0 beq _0224CE2A - ldr r1, _0224CE2C ; =gUnk021C4918 + ldr r1, _0224CE2C ; =gMain + 0x60 ldrb r1, [r1, #6] cmp r1, #5 bhi _0224CE2A @@ -40017,7 +40017,7 @@ _0224CE1C: _0224CE2A: bx lr .align 2, 0 -_0224CE2C: .word gUnk021C4918 +_0224CE2C: .word gMain + 0x60 thumb_func_start MOD06_0224CE30 MOD06_0224CE30: ; 0x0224CE30 diff --git a/arm9/modules/07/asm/module_07.s b/arm9/modules/07/asm/module_07.s index 2b139a82..5efdd51b 100644 --- a/arm9/modules/07/asm/module_07.s +++ b/arm9/modules/07/asm/module_07.s @@ -124,7 +124,7 @@ MOD07_02211F34: ; 0x02211F34 mov r0, #0 strh r0, [r1] add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -253,7 +253,7 @@ _0221202E: bl FUN_02079A70 ldr r0, _02212078 ; =MOD07_02212D68 add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #1 pop {r4, pc} _02212068: @@ -301,7 +301,7 @@ _022120B8: bl FUN_02079A70 ldr r0, _022120F8 ; =MOD07_02212D68 add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB ldr r1, _022120F4 ; =0x00000B82 mov r0, #0 strb r0, [r4, r1] @@ -359,7 +359,7 @@ _02212132: bl FUN_02079A70 ldr r0, _02212170 ; =MOD07_02212D68 add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB ldr r1, _0221216C ; =0x00000B82 mov r0, #0 strb r0, [r4, r1] @@ -1617,7 +1617,7 @@ MOD07_02212B64: ; 0x02212B64 _02212B76: mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB ldr r0, [r4] add r0, #0x28 ldrb r0, [r0] diff --git a/arm9/modules/11/asm/module_11_thumb1.s b/arm9/modules/11/asm/module_11_thumb1.s index c24d5e86..e7b9b013 100644 --- a/arm9/modules/11/asm/module_11_thumb1.s +++ b/arm9/modules/11/asm/module_11_thumb1.s @@ -319,7 +319,7 @@ MOD11_0222D840: ; 0x0222D840 add r4, r0, #0 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0x67 lsl r0, r0, #2 ldr r0, [r4, r0] @@ -611,7 +611,7 @@ _0222D99A: bl FUN_0201E74C ldr r0, _0222DB4C ; =MOD11_0222F01C add r1, r5, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB ldr r0, _0222DB38 ; =0x000023FB mov r3, #2 ldrb r1, [r5, r0] @@ -1631,7 +1631,7 @@ _0222E2F0: bl FUN_0201E74C ldr r0, _0222E46C ; =MOD11_0222F01C add r1, r5, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB add sp, #0x9c pop {r4, r5, r6, r7, pc} .align 2, 0 diff --git a/arm9/modules/11/asm/module_11_thumb2.s b/arm9/modules/11/asm/module_11_thumb2.s index a87f7d23..dc3dccda 100644 --- a/arm9/modules/11/asm/module_11_thumb2.s +++ b/arm9/modules/11/asm/module_11_thumb2.s @@ -222,7 +222,7 @@ _0222F30E: bl DestroyMsgData ldr r0, _0222F4D8 ; =MOD11_0222F0D4 add r1, r5, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0x10 str r0, [sp] mov r3, #0 @@ -799,7 +799,7 @@ MOD11_0222F93C: ; 0x0222F93C add r4, r0, #0 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0 add r1, r0, #0 bl FUN_0200E3A0 @@ -90807,7 +90807,7 @@ MOD11_0225B824: ; 0x0225B824 mov r1, #1 bl FUN_02003204 add r4, r0, #0 - ldr r0, _0225B8AC ; =UNK_021C48F8 + ldr r0, _0225B8AC ; =gMain + 0x40 ldrh r0, [r0, #0x22] cmp r0, #0 beq _0225B888 @@ -90849,7 +90849,7 @@ _0225B888: _0225B8A8: pop {r3, r4, r5, r6, r7, pc} nop -_0225B8AC: .word UNK_021C48F8 +_0225B8AC: .word gMain + 0x40 thumb_func_start MOD11_0225B8B0 MOD11_0225B8B0: ; 0x0225B8B0 diff --git a/arm9/modules/12/asm/module_12.s b/arm9/modules/12/asm/module_12.s index 5d8f7ae6..63b143f4 100644 --- a/arm9/modules/12/asm/module_12.s +++ b/arm9/modules/12/asm/module_12.s @@ -10,7 +10,7 @@ MOD12_0222D5C0: ; 0x0222D5C0 add r5, r0, #0 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -272,7 +272,7 @@ _0222D7BC: bl FUN_020833D4 ldr r0, _0222D898 ; =MOD12_0222DAE4 add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #1 add sp, #0x14 pop {r4, r5, r6, r7, pc} @@ -518,7 +518,7 @@ MOD12_0222D9B0: ; 0x0222D9B0 bl OverlayManager_FreeData mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C mov r0, #0x15 bl FUN_020168D0 @@ -3145,7 +3145,7 @@ MOD12_0222EF04: ; 0x0222EF04 add r4, r0, #0 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -3376,7 +3376,7 @@ MOD12_0222EF04: ; 0x0222EF04 bl FUN_020833D4 ldr r0, _0222F194 ; =MOD12_0222F458 add r1, r5, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB ldr r0, _0222F198 ; =0x00000605 bl FUN_020054C8 mov r0, #1 @@ -3683,7 +3683,7 @@ _0222F3AE: bl OverlayManager_FreeData mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C mov r0, #0x16 bl FUN_020168D0 @@ -4985,7 +4985,7 @@ MOD12_0222FE4C: ; 0x0222FE4C add r4, r0, #0 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -5243,7 +5243,7 @@ MOD12_0222FE4C: ; 0x0222FE4C bl FUN_020054C8 ldr r0, _02230124 ; =MOD12_022303C0 add r1, r5, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #1 add sp, #0xc pop {r4, r5, pc} @@ -5527,7 +5527,7 @@ _02230296: bl OverlayManager_FreeData mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C mov r0, #0x17 bl FUN_020168D0 @@ -28412,7 +28412,7 @@ _0223B14C: mov r0, #1 tst r0, r1 bne _0223B174 - ldr r0, _0223B34C ; =UNK_021C48F8 + ldr r0, _0223B34C ; =gMain + 0x40 ldrh r0, [r0, #0x20] cmp r0, #0 beq _0223B186 @@ -28665,7 +28665,7 @@ _0223B340: .align 2, 0 _0223B344: .word 0x00000171 _0223B348: .word gMain -_0223B34C: .word UNK_021C48F8 +_0223B34C: .word gMain + 0x40 _0223B350: .word 0x000006ED _0223B354: .word MOD12_02245F84 _0223B358: .word MOD12_02245F8C @@ -41072,7 +41072,7 @@ MOD12_02241210: ; 0x02241210 add r4, r0, #0 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -41293,7 +41293,7 @@ MOD12_02241210: ; 0x02241210 bl FUN_020833D4 ldr r0, _02241484 ; =MOD12_02241754 add r1, r5, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB ldr r0, _02241488 ; =MOD12_02241814 add r1, r5, #0 mov r2, #0xa @@ -41574,7 +41574,7 @@ _022415D4: str r0, [r2] mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C mov r0, #0x18 bl FUN_020168D0 diff --git a/arm9/modules/14/asm/module_14.s b/arm9/modules/14/asm/module_14.s index 0f186c44..b7b80736 100644 --- a/arm9/modules/14/asm/module_14.s +++ b/arm9/modules/14/asm/module_14.s @@ -10493,7 +10493,7 @@ _021DC79C: mov r0, #0 add r1, r0, #0 mov r5, #1 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -10783,7 +10783,7 @@ MOD14_021DCA38: ; 0x021DCA38 add r4, r0, #0 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB ldr r0, [r4] bl FUN_0200CAB4 ldr r0, [r4, #4] diff --git a/arm9/modules/15/asm/module_15.s b/arm9/modules/15/asm/module_15.s index bd0ca04e..e633fc94 100644 --- a/arm9/modules/15/asm/module_15.s +++ b/arm9/modules/15/asm/module_15.s @@ -2588,7 +2588,7 @@ MOD15_021D87F8: ; 0x021D87F8 beq _021D8878 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C str r5, [r4, #0x18] str r6, [r4, #0x1c] @@ -2647,7 +2647,7 @@ MOD15_021D8888: ; 0x021D8888 beq _021D88CE mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r4, #0 add r5, r6, #0 _021D889A: diff --git a/arm9/modules/16/asm/module_16.s b/arm9/modules/16/asm/module_16.s index 515f1d08..c3c739e5 100644 --- a/arm9/modules/16/asm/module_16.s +++ b/arm9/modules/16/asm/module_16.s @@ -38,7 +38,7 @@ _021D750E: add r5, r0, #0 ldr r0, _021D7584 ; =MOD16_021D7650 add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201CC08 mov r0, #4 @@ -157,7 +157,7 @@ MOD16_021D7614: ; 0x021D7614 bl OverlayManager_GetData mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_0201CD04 cmp r0, #1 beq _021D7630 @@ -5718,7 +5718,7 @@ _021D9F88: .word FUN_02024CC4 thumb_func_start MOD16_021D9F8C MOD16_021D9F8C: ; 0x021D9F8C - ldr r1, _021D9FAC ; =UNK_021C48F8 + ldr r1, _021D9FAC ; =gMain + 0x40 ldrh r1, [r1, #0x22] cmp r1, #0 beq _021D9F9C @@ -5737,7 +5737,7 @@ _021D9F9C: _021D9FAA: bx lr .align 2, 0 -_021D9FAC: .word UNK_021C48F8 +_021D9FAC: .word gMain + 0x40 _021D9FB0: .word 0x00001758 _021D9FB4: .word gMain thumb_func_end MOD16_021D9F8C @@ -14617,7 +14617,7 @@ MOD16_021DE108: ; 0x021DE108 beq _021DE12E b _021DE1D6 _021DE122: - ldr r0, _021DE1DC ; =UNK_021C48F8 + ldr r0, _021DE1DC ; =gMain + 0x40 ldrh r1, [r0, #0x1c] str r1, [r4, #0x14] ldrh r0, [r0, #0x1e] @@ -14706,7 +14706,7 @@ _021DE1A2: mov r0, #0 str r0, [r4, #0xc] _021DE1C6: - ldr r0, _021DE1DC ; =UNK_021C48F8 + ldr r0, _021DE1DC ; =gMain + 0x40 ldrh r1, [r0, #0x1c] str r1, [r4, #0x14] ldrh r0, [r0, #0x1e] @@ -14720,7 +14720,7 @@ _021DE1D6: str r0, [r4, #0x20] pop {r4, r5, r6, pc} .align 2, 0 -_021DE1DC: .word UNK_021C48F8 +_021DE1DC: .word gMain + 0x40 thumb_func_end MOD16_021DE108 thumb_func_start MOD16_021DE1E0 @@ -15553,7 +15553,7 @@ MOD16_021DE8A0: ; 0x021DE8A0 mov r0, #0x83 lsl r0, r0, #2 str r0, [sp] - ldr r3, _021DE8CC ; =UNK_021C48F8 + ldr r3, _021DE8CC ; =gMain + 0x40 ldr r0, [r4, #0x14] ldrh r2, [r3, #0x1c] ldrh r3, [r3, #0x1e] @@ -15569,7 +15569,7 @@ MOD16_021DE8A0: ; 0x021DE8A0 add sp, #4 pop {r3, r4, pc} .align 2, 0 -_021DE8CC: .word UNK_021C48F8 +_021DE8CC: .word gMain + 0x40 thumb_func_end MOD16_021DE8A0 thumb_func_start MOD16_021DE8D0 @@ -28665,7 +28665,7 @@ MOD16_021E482C: ; 0x021E482C MOD16_021E4850: ; 0x021E4850 push {r3, r4, r5, lr} add r5, r0, #0 - ldr r0, _021E48B4 ; =UNK_021C48F8 + ldr r0, _021E48B4 ; =gMain + 0x40 add r4, r1, #0 ldrh r0, [r0, #0x22] cmp r0, #0 @@ -28712,7 +28712,7 @@ _021E48A0: _021E48B2: pop {r3, r4, r5, pc} .align 2, 0 -_021E48B4: .word UNK_021C48F8 +_021E48B4: .word gMain + 0x40 _021E48B8: .word gMain thumb_func_end MOD16_021E4850 @@ -28726,7 +28726,7 @@ MOD16_021E48BC: ; 0x021E48BC add r4, r1, #0 cmp r3, #0 beq _021E492E - ldr r0, _021E4934 ; =UNK_021C48F8 + ldr r0, _021E4934 ; =gMain + 0x40 ldrh r1, [r0, #0x22] cmp r1, #0 beq _021E492A @@ -28782,7 +28782,7 @@ _021E492E: bl MOD16_021E4850 pop {r3, r4, r5, pc} .align 2, 0 -_021E4934: .word UNK_021C48F8 +_021E4934: .word gMain + 0x40 thumb_func_end MOD16_021E48BC thumb_func_start MOD16_021E4938 @@ -28795,7 +28795,7 @@ MOD16_021E4938: ; 0x021E4938 bl FUN_020054C8 mov r0, #1 str r0, [r4, #0x20] - ldr r0, _021E4964 ; =UNK_021C48F8 + ldr r0, _021E4964 ; =gMain + 0x40 ldr r1, [r4] ldrh r2, [r0, #0x1c] sub r1, r2, r1 @@ -28808,7 +28808,7 @@ _021E495C: pop {r4, pc} nop _021E4960: .word 0x000005DD -_021E4964: .word UNK_021C48F8 +_021E4964: .word gMain + 0x40 thumb_func_end MOD16_021E4938 thumb_func_start MOD16_021E4968 @@ -43280,7 +43280,7 @@ _021EB50A: add r0, r4, #0 bl MOD16_021EC000 _021EB516: - ldr r0, _021EB564 ; =UNK_021C48F8 + ldr r0, _021EB564 ; =gMain + 0x40 ldrh r0, [r0, #0x1c] str r0, [r4, #0x38] mov r0, #1 @@ -43295,7 +43295,7 @@ _021EB522: _021EB52E: mov r0, #1 str r0, [r4, #0x4c] - ldr r0, _021EB564 ; =UNK_021C48F8 + ldr r0, _021EB564 ; =gMain + 0x40 ldrh r1, [r0, #0x1c] str r1, [r4, #0x54] ldrh r0, [r0, #0x1e] @@ -43320,7 +43320,7 @@ _021EB55C: str r0, [r4, #0x20] pop {r4, pc} nop -_021EB564: .word UNK_021C48F8 +_021EB564: .word gMain + 0x40 thumb_func_end MOD16_021EB4F8 thumb_func_start MOD16_021EB568 @@ -43338,7 +43338,7 @@ _021EB57A: ldr r0, [r4, #0x30] cmp r0, #1 bne _021EB638 - ldr r1, _021EB63C ; =UNK_021C48F8 + ldr r1, _021EB63C ; =gMain + 0x40 ldr r0, [r4, #0x38] ldrh r2, [r1, #0x1c] sub r2, r2, r0 @@ -43376,7 +43376,7 @@ _021EB5BA: bl MOD16_021EBC98 add r0, r4, #0 bl MOD16_021EBCC4 - ldr r0, _021EB63C ; =UNK_021C48F8 + ldr r0, _021EB63C ; =gMain + 0x40 ldrh r1, [r0, #0x1c] str r1, [r4, #0x54] ldrh r0, [r0, #0x1e] @@ -43396,7 +43396,7 @@ _021EB5DE: bl MOD16_021EC0C0 b _021EB632 _021EB5F8: - ldr r1, _021EB63C ; =UNK_021C48F8 + ldr r1, _021EB63C ; =gMain + 0x40 ldrh r0, [r1, #0x1e] cmp r0, #0x83 bhs _021EB626 @@ -43430,7 +43430,7 @@ _021EB632: _021EB638: pop {r4, pc} nop -_021EB63C: .word UNK_021C48F8 +_021EB63C: .word gMain + 0x40 _021EB640: .word 0x000005F7 _021EB644: .word 0xFFFFFA00 thumb_func_end MOD16_021EB568 @@ -44176,7 +44176,7 @@ MOD16_021EBC30: ; 0x021EBC30 add r5, r0, #0 mov r0, #0 str r0, [sp] - ldr r3, _021EBC94 ; =UNK_021C48F8 + ldr r3, _021EBC94 ; =gMain + 0x40 ldr r0, [r5, #0x54] ldrh r2, [r3, #0x1c] ldrh r3, [r3, #0x1e] @@ -44225,7 +44225,7 @@ _021EBC90: add sp, #4 pop {r3, r4, r5, r6, pc} .align 2, 0 -_021EBC94: .word UNK_021C48F8 +_021EBC94: .word gMain + 0x40 thumb_func_end MOD16_021EBC30 thumb_func_start MOD16_021EBC98 diff --git a/arm9/modules/17/asm/module_17.s b/arm9/modules/17/asm/module_17.s index 5c020257..cd2070e9 100644 --- a/arm9/modules/17/asm/module_17.s +++ b/arm9/modules/17/asm/module_17.s @@ -87,7 +87,7 @@ _021D756E: add r1, sp, #8 add r2, sp, #4 bl MOD17_021D7600 - ldr r0, _021D75D8 ; =UNK_021C48F8 + ldr r0, _021D75D8 ; =gMain + 0x40 ldr r1, [sp, #8] ldrh r2, [r0, #0x1c] sub r1, r2, r1 @@ -140,7 +140,7 @@ _021D75D2: add sp, #0xc pop {r4, r5, r6, r7, pc} .align 2, 0 -_021D75D8: .word UNK_021C48F8 +_021D75D8: .word gMain + 0x40 thumb_func_end MOD17_021D7554 thumb_func_start MOD17_021D75DC @@ -411,19 +411,19 @@ MOD17_021D7794: ; 0x021D7794 bl MOD17_021D7D08 bl MOD17_021D7D28 bl MOD17_021D7DB0 - ldr r0, _021D77B0 ; =gUnk021C4918 + ldr r0, _021D77B0 ; =gMain + 0x60 mov r1, #1 strb r1, [r0, #5] bl FUN_0201E7A0 pop {r3, pc} nop -_021D77B0: .word gUnk021C4918 +_021D77B0: .word gMain + 0x60 thumb_func_end MOD17_021D7794 thumb_func_start MOD17_021D77B4 MOD17_021D77B4: ; 0x021D77B4 push {r3, lr} - ldr r0, _021D77D0 ; =gUnk021C4918 + ldr r0, _021D77D0 ; =gMain + 0x60 mov r1, #0 strb r1, [r0, #5] bl FUN_0201E7A0 @@ -432,7 +432,7 @@ MOD17_021D77B4: ; 0x021D77B4 bl GX_ResetBankForTex pop {r3, pc} nop -_021D77D0: .word gUnk021C4918 +_021D77D0: .word gMain + 0x60 thumb_func_end MOD17_021D77B4 thumb_func_start MOD17_021D77D4 @@ -2058,7 +2058,7 @@ MOD17_021D83E4: ; 0x021D83E4 bl memset ldr r0, _021D84DC ; =MOD17_021D8FC8 add r1, r5, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C add r0, r4, #0 bl OverlayManager_GetField18 @@ -2242,7 +2242,7 @@ _021D85AA: ldr r1, [r0, #0x48] mov r0, #3 and r1, r0 - ldr r0, _021D872C ; =UNK_021C48F8 + ldr r0, _021D872C ; =gMain + 0x40 ldrh r0, [r0, #0x20] orr r0, r1 bne _021D85BC @@ -2424,7 +2424,7 @@ _021D871C: .word 0x00000554 _021D8720: .word 0x00000151 _021D8724: .word 0x000006CC _021D8728: .word gMain -_021D872C: .word UNK_021C48F8 +_021D872C: .word gMain + 0x40 _021D8730: .word 0x0000069C _021D8734: .word 0x0000048C thumb_func_end MOD17_021D84F0 @@ -2501,7 +2501,7 @@ _021D8780: bl MOD17_021D8D94 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201CD04 cmp r0, #1 @@ -2548,7 +2548,7 @@ MOD17_021D8818: ; 0x021D8818 bl memset ldr r0, _021D8980 ; =MOD17_021D8FC8 add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C add r0, r5, #0 bl OverlayManager_GetField18 @@ -3109,7 +3109,7 @@ MOD17_021D8C9C: ; 0x021D8C9C bl MOD17_021D8D94 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201CD04 cmp r0, #1 @@ -7839,7 +7839,7 @@ _021DAF60: .word MOD17_021DAFA0 thumb_func_start MOD17_021DAF64 MOD17_021DAF64: ; 0x021DAF64 push {r4, lr} - ldr r1, _021DAF9C ; =UNK_021C48F8 + ldr r1, _021DAF9C ; =gMain + 0x40 add r4, r0, #0 ldrh r2, [r1, #0x20] cmp r2, #0 @@ -7861,7 +7861,7 @@ _021DAF82: ldr r1, [r4, #8] blx r1 _021DAF8C: - ldr r0, _021DAF9C ; =UNK_021C48F8 + ldr r0, _021DAF9C ; =gMain + 0x40 ldrh r1, [r0, #0x1c] strh r1, [r4, #0x14] ldrh r1, [r0, #0x1e] @@ -7870,7 +7870,7 @@ _021DAF8C: strb r0, [r4, #0x18] pop {r4, pc} .align 2, 0 -_021DAF9C: .word UNK_021C48F8 +_021DAF9C: .word gMain + 0x40 thumb_func_end MOD17_021DAF64 thumb_func_start MOD17_021DAFA0 @@ -8397,7 +8397,7 @@ MOD17_021DB3A4: ; 0x021DB3A4 ldr r0, [r2, #0x10] cmp r0, #0 beq _021DB3C8 - ldr r3, _021DB3CC ; =UNK_021C48F8 + ldr r3, _021DB3CC ; =gMain + 0x40 ldr r1, _021DB3D0 ; =0x0000FFFF ldrh r4, [r3, #0x1c] cmp r4, r1 @@ -8412,7 +8412,7 @@ MOD17_021DB3A4: ; 0x021DB3A4 _021DB3C8: pop {r4, pc} nop -_021DB3CC: .word UNK_021C48F8 +_021DB3CC: .word gMain + 0x40 _021DB3D0: .word 0x0000FFFF thumb_func_end MOD17_021DB3A4 @@ -8449,7 +8449,7 @@ MOD17_021DB404: ; 0x021DB404 ldr r0, [r4, #0x10] cmp r0, #0 beq _021DB49E - ldr r1, _021DB4A4 ; =UNK_021C48F8 + ldr r1, _021DB4A4 ; =gMain + 0x40 ldrh r2, [r1, #0x1c] ldr r1, _021DB4A8 ; =0x0000FFFF cmp r2, r1 @@ -8462,7 +8462,7 @@ MOD17_021DB404: ; 0x021DB404 add r1, sp, #0x10 add r2, sp, #0xc bl MOD17_021DBC08 - ldr r0, _021DB4A4 ; =UNK_021C48F8 + ldr r0, _021DB4A4 ; =gMain + 0x40 ldr r1, [r4, #0x14] ldrh r2, [r0, #0x1c] ldr r3, [sp, #0xc] @@ -8522,7 +8522,7 @@ _021DB49E: add sp, #0x14 pop {r4, r5, r6, r7, pc} nop -_021DB4A4: .word UNK_021C48F8 +_021DB4A4: .word gMain + 0x40 _021DB4A8: .word 0x0000FFFF thumb_func_end MOD17_021DB404 @@ -9089,7 +9089,7 @@ _021DB89A: asr r2, r2, #1 sub r0, r0, r2 str r0, [sp] - ldr r0, _021DB8F4 ; =UNK_021C48F8 + ldr r0, _021DB8F4 ; =gMain + 0x40 str r1, [sp, #4] ldrh r2, [r0, #0x1c] mov r3, #0 @@ -9112,7 +9112,7 @@ _021DB8EE: add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 -_021DB8F4: .word UNK_021C48F8 +_021DB8F4: .word gMain + 0x40 thumb_func_end MOD17_021DB880 thumb_func_start MOD17_021DB8F8 @@ -13798,7 +13798,7 @@ MOD17_021DDB58: ; 0x021DDB58 bl memset ldr r0, _021DDC28 ; =MOD17_021DDD40 add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C add r0, r5, #0 bl OverlayManager_GetField18 @@ -13821,7 +13821,7 @@ _021DDBBC: ldr r0, [r5, #8] str r0, [r4, #0xc] bl MOD17_021D7794 - ldr r0, _021DDC2C ; =gUnk021C4918 + ldr r0, _021DDC2C ; =gMain + 0x60 mov r1, #0 strb r1, [r0, #5] bl FUN_0201E7A0 @@ -13864,7 +13864,7 @@ _021DDC02: pop {r3, r4, r5, pc} .align 2, 0 _021DDC28: .word MOD17_021DDD40 -_021DDC2C: .word gUnk021C4918 +_021DDC2C: .word gMain + 0x60 thumb_func_end MOD17_021DDB58 thumb_func_start MOD17_021DDC30 @@ -13985,7 +13985,7 @@ MOD17_021DDCF4: ; 0x021DDCF4 bl MOD17_021D77B4 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C add r0, r5, #0 bl OverlayManager_FreeData diff --git a/arm9/modules/18/asm/module_18.s b/arm9/modules/18/asm/module_18.s index a37cfb8a..bc34aa28 100644 --- a/arm9/modules/18/asm/module_18.s +++ b/arm9/modules/18/asm/module_18.s @@ -1756,7 +1756,7 @@ MOD18_0223A3D4: ; 0x0223A3D4 ldr r0, [r0] str r4, [r0, #4] ldr r0, _0223A4D0 ; =MOD18_0223C6CC - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl MOD18_0223D638 add r1, r4, #0 bl MOD18_0224DBB0 @@ -1974,7 +1974,7 @@ _0223A5F8: bl FUN_0201E08C mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB ldr r0, _0223A648 ; =0x02251380 ldr r0, [r0] ldr r0, [r0, #4] @@ -2247,7 +2247,7 @@ _0223A844: bl FUN_0201BD70 cmp r0, #0 bne _0223A922 - ldr r0, _0223AB08 ; =UNK_021C48F8 + ldr r0, _0223AB08 ; =gMain + 0x40 ldrh r0, [r0, #0x20] cmp r0, #0 bne _0223A86C @@ -2326,7 +2326,7 @@ _0223A8E4: ldr r0, [r4, #0x4c] sub r0, r0, #1 str r0, [r4, #0x4c] - ldr r0, _0223AB08 ; =UNK_021C48F8 + ldr r0, _0223AB08 ; =gMain + 0x40 ldrh r0, [r0, #0x20] cmp r0, #0 bne _0223A924 @@ -2380,7 +2380,7 @@ _0223A958: bl FUN_0201BD70 cmp r0, #0 bne _0223AA5A - ldr r0, _0223AB08 ; =UNK_021C48F8 + ldr r0, _0223AB08 ; =gMain + 0x40 ldrh r0, [r0, #0x20] cmp r0, #0 bne _0223A98A @@ -2558,7 +2558,7 @@ _0223AAF2: .align 2, 0 _0223AB00: .word 0x00000621 _0223AB04: .word MOD18_02251380 -_0223AB08: .word UNK_021C48F8 +_0223AB08: .word gMain + 0x40 _0223AB0C: .word gMain _0223AB10: .word 0x000005E3 _0223AB14: .word 0x000003D9 @@ -2665,7 +2665,7 @@ _0223ABDC: bl FUN_0201BD70 cmp r0, #0 bne _0223AC10 - ldr r0, _0223AC1C ; =UNK_021C48F8 + ldr r0, _0223AC1C ; =gMain + 0x40 ldrh r0, [r0, #0x20] cmp r0, #0 bne _0223AC04 @@ -2685,7 +2685,7 @@ _0223AC10: .align 2, 0 _0223AC14: .word MOD18_02251380 _0223AC18: .word 0x000006A1 -_0223AC1C: .word UNK_021C48F8 +_0223AC1C: .word gMain + 0x40 _0223AC20: .word gMain thumb_func_end MOD18_0223A64C @@ -5595,7 +5595,7 @@ MOD18_0223C1F0: ; 0x0223C1F0 mov r1, #0 strb r1, [r2, r0] _0223C216: - ldr r1, _0223C340 ; =UNK_021C48F8 + ldr r1, _0223C340 ; =gMain + 0x40 ldrh r0, [r1, #0x20] cmp r0, #0 beq _0223C29A @@ -5673,7 +5673,7 @@ _0223C29A: bl FUN_020054C8 _0223C2AC: ldr r0, _0223C338 ; =0x02251380 - ldr r2, _0223C340 ; =UNK_021C48F8 + ldr r2, _0223C340 ; =gMain + 0x40 ldr r3, [r0] ldr r4, _0223C33C ; =0x000009E5 ldr r0, [r3, #4] @@ -5741,7 +5741,7 @@ _0223C332: .align 2, 0 _0223C338: .word MOD18_02251380 _0223C33C: .word 0x000009E5 -_0223C340: .word UNK_021C48F8 +_0223C340: .word gMain + 0x40 _0223C344: .word 0x000009E4 _0223C348: .word 0x000009E7 _0223C34C: .word 0x000009E8 @@ -8588,7 +8588,7 @@ MOD18_0223D8F4: ; 0x0223D8F4 mov r0, #0 pop {r3, pc} _0223D912: - ldr r1, _0223D9DC ; =UNK_021C48F8 + ldr r1, _0223D9DC ; =gMain + 0x40 ldrh r1, [r1, #0x20] cmp r1, #0 beq _0223D9BA @@ -8625,7 +8625,7 @@ _0223D950: pop {r3, pc} _0223D962: ldr r3, _0223D9D4 ; =0x02251388 - ldr r2, _0223D9DC ; =UNK_021C48F8 + ldr r2, _0223D9DC ; =gMain + 0x40 ldr r3, [r3] ldrh r1, [r2, #0x1c] ldr r3, [r3, #0xc] @@ -8644,7 +8644,7 @@ _0223D962: strh r1, [r0] ldr r1, [sp, #4] strh r1, [r0, #2] - ldr r1, _0223D9DC ; =UNK_021C48F8 + ldr r1, _0223D9DC ; =gMain + 0x40 ldr r0, _0223D9D4 ; =0x02251388 ldrh r3, [r1, #0x1c] ldr r2, [r0] @@ -8682,7 +8682,7 @@ _0223D9CC: nop _0223D9D4: .word MOD18_02251388 _0223D9D8: .word 0x00000146 -_0223D9DC: .word UNK_021C48F8 +_0223D9DC: .word gMain + 0x40 thumb_func_end MOD18_0223D8F4 thumb_func_start MOD18_0223D9E0 @@ -14808,7 +14808,7 @@ _0224079E: add sp, #0x1c pop {r3, r4, pc} _022407DE: - ldr r1, _02240894 ; =UNK_021C48F8 + ldr r1, _02240894 ; =gMain + 0x40 ldrh r0, [r1, #0x22] cmp r0, #0 beq _02240816 @@ -14892,7 +14892,7 @@ _02240884: .word MOD18_022513A0 _02240888: .word 0x00000B3B _0224088C: .word MOD18_022500A8 _02240890: .word 0x00000661 -_02240894: .word UNK_021C48F8 +_02240894: .word gMain + 0x40 thumb_func_end MOD18_02240658 thumb_func_start MOD18_02240898 @@ -18413,7 +18413,7 @@ _022423E6: mov r0, #1 pop {r4, r5, r6, r7, pc} _022423F4: - ldr r0, _02242580 ; =UNK_021C48F8 + ldr r0, _02242580 ; =gMain + 0x40 ldrh r0, [r0, #0x20] cmp r0, #0 beq _022424C4 @@ -18429,14 +18429,14 @@ _0224240A: ldr r0, [r0] cmp r0, #0 bne _022424B6 - ldr r0, _02242580 ; =UNK_021C48F8 + ldr r0, _02242580 ; =gMain + 0x40 ldrh r0, [r0, #0x1e] lsl r1, r0, #0xc ldr r0, [r4, #0x48] sub r0, r1, r0 str r0, [sp, #0xc] asr r7, r0, #0x1f - ldr r0, _02242580 ; =UNK_021C48F8 + ldr r0, _02242580 ; =gMain + 0x40 ldrh r0, [r0, #0x1c] lsl r1, r0, #0xc ldr r0, [r4, #0x44] @@ -18611,7 +18611,7 @@ _02242570: add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 -_02242580: .word UNK_021C48F8 +_02242580: .word gMain + 0x40 _02242584: .word 0x00000000 _02242588: .word MOD18_022500C0 _0224258C: .word 0x00000626 @@ -19324,7 +19324,7 @@ _02242B0E: str r2, [r4, r0] b _02242E6C _02242B22: - ldr r1, _02242D78 ; =UNK_021C48F8 + ldr r1, _02242D78 ; =gMain + 0x40 ldrh r2, [r1, #0x20] cmp r2, #0 beq _02242BD2 @@ -19612,7 +19612,7 @@ _02242D68: .word MOD18_022513A0 _02242D6C: .word 0x0000065E _02242D70: .word 0x0000065D _02242D74: .word 0x00000B3B -_02242D78: .word UNK_021C48F8 +_02242D78: .word gMain + 0x40 _02242D7C: .word 0x00000627 _02242D80: .word 0x0000062A _02242D84: @@ -45740,7 +45740,7 @@ MOD18_0224FC18: ; 0x0224FC18 add r5, r1, #0 str r0, [sp] add r0, #0x88 - ldr r1, _0224FCD4 ; =UNK_021C48F8 + ldr r1, _0224FCD4 ; =gMain + 0x40 ldr r6, [r0] ldrh r0, [r1, #0x1c] ldrh r1, [r1, #0x1e] @@ -45825,7 +45825,7 @@ _0224FCCE: add sp, #0x24 pop {r4, r5, r6, r7, pc} nop -_0224FCD4: .word UNK_021C48F8 +_0224FCD4: .word gMain + 0x40 thumb_func_end MOD18_0224FC18 thumb_func_start MOD18_0224FCD8 @@ -45834,7 +45834,7 @@ MOD18_0224FCD8: ; 0x0224FCD8 sub sp, #0x1c add r4, r1, #0 add r0, #0x88 - ldr r1, _0224FD6C ; =UNK_021C48F8 + ldr r1, _0224FD6C ; =gMain + 0x40 ldr r5, [r0] ldrh r0, [r1, #0x1c] add r6, r2, #0 @@ -45902,7 +45902,7 @@ _0224FD66: add sp, #0x1c pop {r3, r4, r5, r6, pc} nop -_0224FD6C: .word UNK_021C48F8 +_0224FD6C: .word gMain + 0x40 thumb_func_end MOD18_0224FCD8 thumb_func_start MOD18_0224FD70 @@ -45910,7 +45910,7 @@ MOD18_0224FD70: ; 0x0224FD70 push {r3, r4, r5, lr} add r3, r0, #0 mov r0, #0 - ldr r4, _0224FDD0 ; =UNK_021C48F8 + ldr r4, _0224FDD0 ; =gMain + 0x40 str r0, [r2] ldrh r5, [r4, #0x20] cmp r5, #0 @@ -45959,7 +45959,7 @@ _0224FDC0: _0224FDCE: pop {r3, r4, r5, pc} .align 2, 0 -_0224FDD0: .word UNK_021C48F8 +_0224FDD0: .word gMain + 0x40 _0224FDD4: .word gMain _0224FDD8: .word 0x000004F8 thumb_func_end MOD18_0224FD70 @@ -45969,7 +45969,7 @@ MOD18_0224FDDC: ; 0x0224FDDC push {r3, r4, r5, lr} add r3, r0, #0 mov r0, #0 - ldr r4, _0224FE40 ; =UNK_021C48F8 + ldr r4, _0224FE40 ; =gMain + 0x40 str r0, [r2] ldrh r5, [r4, #0x20] cmp r5, #0 @@ -46020,7 +46020,7 @@ _0224FE30: _0224FE3E: pop {r3, r4, r5, pc} .align 2, 0 -_0224FE40: .word UNK_021C48F8 +_0224FE40: .word gMain + 0x40 _0224FE44: .word gMain _0224FE48: .word 0x000004F8 thumb_func_end MOD18_0224FDDC @@ -46030,7 +46030,7 @@ MOD18_0224FE4C: ; 0x0224FE4C push {r4, lr} add r3, r0, #0 mov r0, #0 - ldr r4, _0224FE88 ; =UNK_021C48F8 + ldr r4, _0224FE88 ; =gMain + 0x40 str r0, [r2] ldrh r4, [r4, #0x20] cmp r4, #0 @@ -46058,7 +46058,7 @@ _0224FE80: str r0, [r3, r1] pop {r4, pc} nop -_0224FE88: .word UNK_021C48F8 +_0224FE88: .word gMain + 0x40 _0224FE8C: .word gMain _0224FE90: .word 0x000004F8 thumb_func_end MOD18_0224FE4C @@ -46068,7 +46068,7 @@ MOD18_0224FE94: ; 0x0224FE94 push {r3, r4, r5, lr} add r3, r0, #0 mov r0, #0 - ldr r4, _0224FEF4 ; =UNK_021C48F8 + ldr r4, _0224FEF4 ; =gMain + 0x40 str r0, [r2] ldrh r5, [r4, #0x20] cmp r5, #0 @@ -46117,7 +46117,7 @@ _0224FEE4: _0224FEF2: pop {r3, r4, r5, pc} .align 2, 0 -_0224FEF4: .word UNK_021C48F8 +_0224FEF4: .word gMain + 0x40 _0224FEF8: .word gMain _0224FEFC: .word 0x000004F8 thumb_func_end MOD18_0224FE94 diff --git a/arm9/modules/53/asm/module_53.s b/arm9/modules/53/asm/module_53.s index 5b38d781..7f63bc2e 100644 --- a/arm9/modules/53/asm/module_53.s +++ b/arm9/modules/53/asm/module_53.s @@ -20,7 +20,7 @@ _021D74F4: _021D74F6: mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -91,7 +91,7 @@ _021D74F6: bl FUN_0201CC24 ldr r0, _021D7648 ; =MOD53_021D78A8 ldr r1, [r4] - bl FUN_02015F10 + bl Main_SetVBlankIntrCB add r0, r4, #0 bl MOD53_021D79F8 bl MOD53_021D7C54 @@ -322,7 +322,7 @@ _021D7794: bl FUN_02028AD4 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0x17 lsl r0, r0, #4 ldr r0, [r6, r0] @@ -415,7 +415,7 @@ _021D786E: bl OverlayManager_FreeData mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0x27 bl FUN_020168D0 mov r0, #2 @@ -1716,7 +1716,7 @@ _021D8316: bl FUN_02031190 lsl r1, r0, #2 ldr r0, [sp] - ldr r2, _021D83D0 ; =UNK_021C48F8 + ldr r2, _021D83D0 ; =gMain + 0x40 add r1, r0, r1 mov r0, #0x76 lsl r0, r0, #2 @@ -1774,7 +1774,7 @@ _021D83C0: .word 0x0000438B _021D83C4: .word 0x00004377 _021D83C8: .word 0x000005E5 _021D83CC: .word MOD53_021D94F0 -_021D83D0: .word UNK_021C48F8 +_021D83D0: .word gMain + 0x40 _021D83D4: .word 0x00004378 _021D83D8: .word 0x00004380 thumb_func_end MOD53_021D81B0 diff --git a/arm9/modules/54/asm/module_54.s b/arm9/modules/54/asm/module_54.s index 5dd265c7..1ff5c011 100644 --- a/arm9/modules/54/asm/module_54.s +++ b/arm9/modules/54/asm/module_54.s @@ -20,7 +20,7 @@ _021D74F4: _021D74F6: mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -90,7 +90,7 @@ _021D74F6: bl MOD54_021D7AA0 ldr r0, _021D7644 ; =MOD54_021D784C add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB add r0, r4, #0 bl MOD54_021D799C bl MOD54_021D7B8C @@ -331,7 +331,7 @@ _021D776C: bl FUN_02052B74 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0x33 bl FUN_020168D0 mov r0, #1 @@ -1968,7 +1968,7 @@ MOD54_021D84D4: ; 0x021D84D4 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 - ldr r0, _021D8514 ; =gUnk021C4918 + ldr r0, _021D8514 ; =gMain + 0x60 mov r1, #1 strb r1, [r0, #8] mov r0, #0x33 @@ -1993,7 +1993,7 @@ MOD54_021D84D4: ; 0x021D84D4 add r0, r4, #0 pop {r3, r4, r5, pc} nop -_021D8514: .word gUnk021C4918 +_021D8514: .word gMain + 0x60 thumb_func_end MOD54_021D84D4 thumb_func_start MOD54_021D8518 @@ -2035,7 +2035,7 @@ _021D852A: str r1, [r5, #0xc] lsl r0, r0, #4 str r1, [r5, r0] - ldr r0, _021D8580 ; =gUnk021C4918 + ldr r0, _021D8580 ; =gMain + 0x60 strb r1, [r0, #8] ldr r0, _021D8584 ; =0x00004A40 strb r1, [r5, r0] @@ -2044,7 +2044,7 @@ _021D8576: pop {r3, r4, r5, pc} nop _021D857C: .word 0x00000658 -_021D8580: .word gUnk021C4918 +_021D8580: .word gMain + 0x60 _021D8584: .word 0x00004A40 thumb_func_end MOD54_021D8518 diff --git a/arm9/modules/55/asm/module_55.s b/arm9/modules/55/asm/module_55.s index d6b9b522..860ecc6b 100644 --- a/arm9/modules/55/asm/module_55.s +++ b/arm9/modules/55/asm/module_55.s @@ -27,7 +27,7 @@ MOD55_021D7504: ; 0x021D7504 add r4, r0, #0 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -54,7 +54,7 @@ MOD55_021D7504: ; 0x021D7504 bl MOD55_021D7AE0 ldr r0, _021D7568 ; =MOD55_021D77D0 add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB add r0, r4, #0 bl MOD55_021D74E0 pop {r4, pc} @@ -327,7 +327,7 @@ MOD55_021D778C: ; 0x021D778C add r4, r0, #0 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB add r0, r4, #0 bl MOD55_021D7720 add r0, r4, #0 diff --git a/arm9/modules/56/asm/module_56.s b/arm9/modules/56/asm/module_56.s index 5bf21ef0..08b66924 100644 --- a/arm9/modules/56/asm/module_56.s +++ b/arm9/modules/56/asm/module_56.s @@ -251,7 +251,7 @@ MOD56_02211FD4: ; 0x02211FD4 add r4, r0, #0 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -304,7 +304,7 @@ MOD56_02211FD4: ; 0x02211FD4 bl MOD56_0221257C ldr r0, _02212080 ; =MOD56_0221228C add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl MOD56_0221269C add r0, r4, #0 bl MOD56_022126E0 @@ -485,7 +485,7 @@ MOD56_022121C4: ; 0x022121C4 add r6, r0, #0 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0xb lsl r0, r0, #6 ldr r0, [r6, r0] diff --git a/arm9/modules/57/asm/module_57.s b/arm9/modules/57/asm/module_57.s index 9bf62714..798a2bdb 100644 --- a/arm9/modules/57/asm/module_57.s +++ b/arm9/modules/57/asm/module_57.s @@ -10,7 +10,7 @@ MOD57_021D74E0: ; 0x021D74E0 add r5, r0, #0 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0 add r1, r0, #0 bl FUN_02015F34 @@ -221,7 +221,7 @@ _021D76A8: bl MOD57_021D8588 ldr r0, _021D7710 ; =MOD57_021D848C mov r1, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02033F20 mov r0, #1 mov r1, #0x2a @@ -559,7 +559,7 @@ MOD57_021D7944: ; 0x021D7944 bl OverlayManager_FreeData mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0x19 bl FUN_020168D0 mov r0, #1 @@ -1599,7 +1599,7 @@ MOD57_021D81F8: ; 0x021D81F8 ldr r0, _021D82A8 ; =0x000030D4 sub r1, r6, #1 str r1, [r5, r0] - ldr r1, _021D82AC ; =UNK_021C48F8 + ldr r1, _021D82AC ; =gMain + 0x40 add r4, r6, #0 ldrh r1, [r1, #0x20] cmp r1, #0 @@ -1634,7 +1634,7 @@ _021D8214: add r4, r6, #0 b _021D8288 _021D8248: - ldr r0, _021D82AC ; =UNK_021C48F8 + ldr r0, _021D82AC ; =gMain + 0x40 ldrh r0, [r0, #0x22] cmp r0, #0 beq _021D8282 @@ -1686,7 +1686,7 @@ _021D82A2: pop {r4, r5, r6, pc} nop _021D82A8: .word 0x000030D4 -_021D82AC: .word UNK_021C48F8 +_021D82AC: .word gMain + 0x40 _021D82B0: .word MOD57_021D9754 _021D82B4: .word 0x00003318 _021D82B8: .word gMain @@ -1696,7 +1696,7 @@ _021D82B8: .word gMain MOD57_021D82BC: ; 0x021D82BC push {r4, r5, r6, lr} add r5, r0, #0 - ldr r0, _021D83BC ; =UNK_021C48F8 + ldr r0, _021D83BC ; =gMain + 0x40 ldr r6, _021D83C0 ; =0x0000FFFF ldrh r3, [r0, #0x1c] mov r4, #0 @@ -1745,7 +1745,7 @@ _021D8312: blt _021D8358 cmp r2, #0x28 bgt _021D8358 - ldr r0, _021D83BC ; =UNK_021C48F8 + ldr r0, _021D83BC ; =gMain + 0x40 ldrh r1, [r0, #0x1e] ldr r0, _021D83CC ; =0x000030E0 ldr r0, [r5, r0] @@ -1778,7 +1778,7 @@ _021D834C: _021D8358: cmp r2, #0x28 bgt _021D8398 - ldr r0, _021D83BC ; =UNK_021C48F8 + ldr r0, _021D83BC ; =gMain + 0x40 ldrh r1, [r0, #0x1e] ldr r0, _021D83CC ; =0x000030E0 ldr r0, [r5, r0] @@ -1820,7 +1820,7 @@ _021D8398: lsr r1, r1, #0x18 bl MOD57_021D84AC _021D83AC: - ldr r1, _021D83BC ; =UNK_021C48F8 + ldr r1, _021D83BC ; =gMain + 0x40 ldr r0, _021D83C4 ; =0x000030DC ldrh r2, [r1, #0x1c] str r2, [r5, r0] @@ -1829,7 +1829,7 @@ _021D83AC: str r1, [r5, r0] pop {r4, r5, r6, pc} .align 2, 0 -_021D83BC: .word UNK_021C48F8 +_021D83BC: .word gMain + 0x40 _021D83C0: .word 0x0000FFFF _021D83C4: .word 0x000030DC _021D83C8: .word 0x00003302 @@ -2567,7 +2567,7 @@ MOD57_021D890C: ; 0x021D890C strh r1, [r0] add r0, sp, #4 str r0, [sp] - ldr r3, _021D8950 ; =UNK_021C48F8 + ldr r3, _021D8950 ; =gMain + 0x40 add r0, r5, #0 ldrh r2, [r3, #0x1c] ldrh r3, [r3, #0x1e] @@ -2585,7 +2585,7 @@ _021D894C: add sp, #8 pop {r3, r4, r5, pc} .align 2, 0 -_021D8950: .word UNK_021C48F8 +_021D8950: .word gMain + 0x40 thumb_func_end MOD57_021D890C thumb_func_start MOD57_021D8954 @@ -2607,7 +2607,7 @@ MOD57_021D8954: ; 0x021D8954 strh r1, [r0] add r0, sp, #4 str r0, [sp] - ldr r3, _021D8998 ; =UNK_021C48F8 + ldr r3, _021D8998 ; =gMain + 0x40 add r0, r5, #0 ldrh r2, [r3, #0x1c] ldrh r3, [r3, #0x1e] @@ -2625,7 +2625,7 @@ _021D8994: add sp, #8 pop {r3, r4, r5, pc} .align 2, 0 -_021D8998: .word UNK_021C48F8 +_021D8998: .word gMain + 0x40 thumb_func_end MOD57_021D8954 thumb_func_start MOD57_021D899C diff --git a/arm9/modules/58/asm/module_58.s b/arm9/modules/58/asm/module_58.s index 5f477c7b..0d391752 100644 --- a/arm9/modules/58/asm/module_58.s +++ b/arm9/modules/58/asm/module_58.s @@ -26,7 +26,7 @@ _021D9A36: bl FUN_0200E3A0 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -101,7 +101,7 @@ _021D9A36: bl FUN_0201CC24 ldr r0, _021D9B80 ; =MOD58_021D9CB4 ldr r1, [r4] - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #2 mov r1, #0x27 bl FUN_02002C50 @@ -217,7 +217,7 @@ MOD58_021D9BF0: ; 0x021D9BF0 bl MOD58_021DAC18 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0x5e lsl r0, r0, #2 ldr r0, [r6, r0] @@ -272,7 +272,7 @@ _021D9C40: strh r0, [r2] mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0x27 bl FUN_020168D0 mov r0, #1 @@ -2320,7 +2320,7 @@ _021DAC6E: thumb_func_start MOD58_021DAC7C MOD58_021DAC7C: ; 0x021DAC7C push {r3, r4, r5, lr} - ldr r1, _021DAD28 ; =UNK_021C48F8 + ldr r1, _021DAD28 ; =gMain + 0x40 add r4, r0, #0 ldrh r0, [r1, #0x1c] ldr r3, _021DAD2C ; =0x0000FFFF @@ -2353,7 +2353,7 @@ _021DACB0: blt _021DACE6 cmp r3, #0x28 bgt _021DACE6 - ldr r0, _021DAD28 ; =UNK_021C48F8 + ldr r0, _021DAD28 ; =gMain + 0x40 ldrh r2, [r0, #0x1e] ldr r0, _021DAD34 ; =0x00005CAC ldr r1, [r4, r0] @@ -2378,7 +2378,7 @@ _021DACD4: _021DACE6: cmp r3, #0x28 bgt _021DAD16 - ldr r0, _021DAD28 ; =UNK_021C48F8 + ldr r0, _021DAD28 ; =gMain + 0x40 ldrh r2, [r0, #0x1e] ldr r0, _021DAD34 ; =0x00005CAC ldr r1, [r4, r0] @@ -2402,7 +2402,7 @@ _021DAD02: add r0, r4, r0 bl MOD58_021DAD3C _021DAD16: - ldr r1, _021DAD28 ; =UNK_021C48F8 + ldr r1, _021DAD28 ; =gMain + 0x40 ldr r0, _021DAD30 ; =0x00005CA8 ldrh r2, [r1, #0x1c] str r2, [r4, r0] @@ -2411,7 +2411,7 @@ _021DAD16: str r1, [r4, r0] pop {r3, r4, r5, pc} nop -_021DAD28: .word UNK_021C48F8 +_021DAD28: .word gMain + 0x40 _021DAD2C: .word 0x0000FFFF _021DAD30: .word 0x00005CA8 _021DAD34: .word 0x00005CAC diff --git a/arm9/modules/59/asm/module_59.s b/arm9/modules/59/asm/module_59.s index 8e652086..746049b9 100644 --- a/arm9/modules/59/asm/module_59.s +++ b/arm9/modules/59/asm/module_59.s @@ -101,7 +101,7 @@ _021D7592: bl FUN_0200E3A0 add r0, r6, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB add r0, r6, #0 add r1, r0, #0 bl FUN_02015F34 @@ -128,7 +128,7 @@ _021D7592: bl MOD59_021D7A4C ldr r0, _021D76BC ; =MOD59_021D7724 add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_0201E788 mov r0, #1 str r0, [r5] @@ -180,7 +180,7 @@ _021D7642: bl MOD59_021D7A5C add r0, r6, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r6, #1 b _021D76AC _021D7668: @@ -195,7 +195,7 @@ _021D7668: bl MOD59_021D7A5C add r0, r6, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #4 str r0, [r5] b _021D76AC @@ -275,7 +275,7 @@ _021D772C: .word FUN_0201AB60 thumb_func_start MOD59_021D7730 MOD59_021D7730: ; 0x021D7730 push {r3, r4} - ldr r2, _021D7788 ; =UNK_021C48F8 + ldr r2, _021D7788 ; =gMain + 0x40 mov r0, #0 ldrh r1, [r2, #0x20] cmp r1, #0 @@ -324,7 +324,7 @@ _021D7784: pop {r3, r4} bx lr .align 2, 0 -_021D7788: .word UNK_021C48F8 +_021D7788: .word gMain + 0x40 thumb_func_end MOD59_021D7730 thumb_func_start MOD59_021D778C @@ -4471,7 +4471,7 @@ _021D98C6: bl FUN_0200E3A0 add r0, r6, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB add r0, r6, #0 add r1, r0, #0 bl FUN_02015F34 @@ -4496,7 +4496,7 @@ _021D98C6: bl MOD59_021D9C48 ldr r0, _021D99F0 ; =MOD59_021D9A14 add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_0201E788 mov r0, #0x3c str r0, [r4, #0x24] @@ -4586,7 +4586,7 @@ _021D99C0: bl MOD59_021D9BD0 add r0, r6, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r6, #1 _021D99E2: add r0, r6, #0 diff --git a/arm9/modules/60/asm/module_60.s b/arm9/modules/60/asm/module_60.s index 6c2094b1..28028e5f 100644 --- a/arm9/modules/60/asm/module_60.s +++ b/arm9/modules/60/asm/module_60.s @@ -436,7 +436,7 @@ MOD60_021D7834: ; 0x021D7834 _021D7848: mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -482,7 +482,7 @@ _021D78A2: bl FUN_02033F20 ldr r0, _021D78E4 ; =MOD60_021D77D4 add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0 str r0, [r4, #8] mov r0, #1 @@ -549,7 +549,7 @@ _021D7928: _021D7946: mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 diff --git a/arm9/modules/61/asm/module_61.s b/arm9/modules/61/asm/module_61.s index ac07287d..e82b9e44 100644 --- a/arm9/modules/61/asm/module_61.s +++ b/arm9/modules/61/asm/module_61.s @@ -555,7 +555,7 @@ _021D78EE: ; jump table _021D78FA: mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -590,7 +590,7 @@ _021D7940: _021D794E: ldr r0, _021D7A5C ; =MOD61_021D7A6C add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0x10 mov r1, #1 bl FUN_0201E6E4 @@ -680,7 +680,7 @@ _021D79FC: bl FUN_0200E3A0 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_0201E6D8 bl FUN_0201E740 mov r2, #1 diff --git a/arm9/modules/62/asm/module_62.s b/arm9/modules/62/asm/module_62.s index b02c4ff1..79190f60 100644 --- a/arm9/modules/62/asm/module_62.s +++ b/arm9/modules/62/asm/module_62.s @@ -39,7 +39,7 @@ MOD62_0222D5F8: ; 0x0222D5F8 beq _0222D64C cmp r2, #1 bne _0222D628 - ldr r3, _0222D650 ; =UNK_021C48F8 + ldr r3, _0222D650 ; =gMain + 0x40 mov r1, #0x1c mov r2, #0x1e ldrsh r1, [r3, r1] @@ -74,7 +74,7 @@ _0222D628: _0222D64C: pop {r3, r4, r5, pc} nop -_0222D650: .word UNK_021C48F8 +_0222D650: .word gMain + 0x40 thumb_func_end MOD62_0222D5F8 thumb_func_start MOD62_0222D654 @@ -7320,7 +7320,7 @@ MOD62_02230F3C: ; 0x02230F3C push {r3, lr} mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -7345,7 +7345,7 @@ MOD62_02230F70: ; 0x02230F70 push {r3, lr} mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C pop {r3, pc} thumb_func_end MOD62_02230F70 diff --git a/arm9/modules/63/asm/mod63_021D74E0.s b/arm9/modules/63/asm/mod63_021D74E0.s index 09884c1e..df0624f9 100644 --- a/arm9/modules/63/asm/mod63_021D74E0.s +++ b/arm9/modules/63/asm/mod63_021D74E0.s @@ -19,7 +19,7 @@ MOD63_021D74E0: ; 0x021D74E0 ldr r1, _021D758C ; =0x04000050 strh r0, [r1] add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0 add r1, r0, #0 bl FUN_02015F34 @@ -68,7 +68,7 @@ MOD63_021D74E0: ; 0x021D74E0 bl MOD63_021D7880 ldr r0, _021D7598 ; =MOD63_021D782C add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_0201E788 mov r0, #1 pop {r4, pc} @@ -355,7 +355,7 @@ MOD63_021D77B4: ; 0x021D77B4 mov r0, #0 add r1, r0, #0 ldr r4, [r6] - bl FUN_02015F10 + bl Main_SetVBlankIntrCB add r0, r6, #0 bl MOD63_021D78B0 add r0, r6, #0 @@ -1028,7 +1028,7 @@ _021D7C52: mov r0, #0x10 orr r0, r1 strh r0, [r2] - ldr r0, _021D7D70 ; =gUnk021C4918 + ldr r0, _021D7D70 ; =gMain + 0x60 mov r1, #1 strb r1, [r0, #5] bl FUN_0201E7A0 @@ -1043,7 +1043,7 @@ _021D7D60: .word 0x04000060 _021D7D64: .word 0xFFFFCFFF _021D7D68: .word 0x00007FFF _021D7D6C: .word 0x0000010E -_021D7D70: .word gUnk021C4918 +_021D7D70: .word gMain + 0x60 thumb_func_end MOD63_021D7C18 thumb_func_start MOD63_021D7D74 @@ -1853,7 +1853,7 @@ MOD63_021D8360: ; 0x021D8360 ldr r0, _021D83A0 ; =0x0000CFDF and r0, r1 strh r0, [r2] - ldr r0, _021D83A4 ; =gUnk021C4918 + ldr r0, _021D83A4 ; =gMain + 0x60 strb r3, [r0, #5] bl FUN_0201E7A0 mov r0, #1 @@ -1861,7 +1861,7 @@ MOD63_021D8360: ; 0x021D8360 .align 2, 0 _021D839C: .word 0x04000050 _021D83A0: .word 0x0000CFDF -_021D83A4: .word gUnk021C4918 +_021D83A4: .word gMain + 0x60 thumb_func_end MOD63_021D8360 thumb_func_start MOD63_021D83A8 diff --git a/arm9/modules/63/asm/mod63_021D8890.s b/arm9/modules/63/asm/mod63_021D8890.s index 7940564f..9c8b1d22 100644 --- a/arm9/modules/63/asm/mod63_021D8890.s +++ b/arm9/modules/63/asm/mod63_021D8890.s @@ -574,7 +574,7 @@ MOD63_021D8D10: ; 0x021D8D10 bl FUN_0200E3A0 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0 add r1, r0, #0 bl FUN_02015F34 @@ -604,7 +604,7 @@ MOD63_021D8D10: ; 0x021D8D10 str r1, [r4, #8] lsl r0, r0, #2 strb r1, [r4, r0] - ldr r0, _021D8D94 ; =gUnk021C4918 + ldr r0, _021D8D94 ; =gMain + 0x60 strb r1, [r0, #5] bl FUN_0201E7A0 bl GetLCRNGSeed @@ -615,7 +615,7 @@ MOD63_021D8D10: ; 0x021D8D10 pop {r4, pc} .align 2, 0 _021D8D90: .word 0x00007FFF -_021D8D94: .word gUnk021C4918 +_021D8D94: .word gMain + 0x60 thumb_func_end MOD63_021D8D10 thumb_func_start MOD63_021D8D98 @@ -826,7 +826,7 @@ MOD63_021D8F0C: ; 0x021D8F0C str r0, [r4, #0x2c] ldr r0, _021D8F34 ; =MOD63_021D8CA8 add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #1 strb r0, [r4, #0x1a] pop {r4, pc} @@ -1192,7 +1192,7 @@ MOD63_021D9234: ; 0x021D9234 add r4, r0, #0 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB ldrb r0, [r4, #0x1a] cmp r0, #0 beq _021D9286 @@ -1544,7 +1544,7 @@ MOD63_021D9498: ; 0x021D9498 ldr r0, [r5, #0xc] mov r1, #1 str r0, [r5, #0x40] - ldr r0, _021D9588 ; =gUnk021C4918 + ldr r0, _021D9588 ; =gMain + 0x60 strb r1, [r0, #5] bl FUN_0201E7A0 ldr r6, _021D958C ; =MOD63_021DBDE8 @@ -1595,7 +1595,7 @@ _021D950C: bl FUN_020B8390 ldr r0, _021D95A4 ; =MOD63_021D8CB0 add r1, r5, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0x10 mov r1, #1 mov r2, #2 @@ -1606,7 +1606,7 @@ _021D950C: add sp, #8 pop {r3, r4, r5, r6, r7, pc} nop -_021D9588: .word gUnk021C4918 +_021D9588: .word gMain + 0x60 _021D958C: .word MOD63_021DBDE8 _021D9590: .word MOD63_021DBAD0 _021D9594: .word 0x00004210 @@ -1728,7 +1728,7 @@ _021D965E: _021D9690: mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB pop {r4, r5, r6, pc} nop _021D969C: .word 0xFFFF1FFF diff --git a/arm9/modules/64/asm/module_64.s b/arm9/modules/64/asm/module_64.s index e979f20e..1dee0562 100644 --- a/arm9/modules/64/asm/module_64.s +++ b/arm9/modules/64/asm/module_64.s @@ -47,7 +47,7 @@ _021D7504: bl FUN_0201C24C ldr r0, _021D763C ; =MOD64_021D77A4 add r1, r5, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201CC08 mov r0, #4 @@ -245,7 +245,7 @@ MOD64_021D76F4: ; 0x021D76F4 add r6, r0, #0 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB ldr r0, [r4, #0x54] lsl r0, r0, #0x10 lsr r0, r0, #0x10 diff --git a/arm9/modules/65/asm/module_65.s b/arm9/modules/65/asm/module_65.s index d6b9d89f..7eac95d5 100644 --- a/arm9/modules/65/asm/module_65.s +++ b/arm9/modules/65/asm/module_65.s @@ -112,7 +112,7 @@ _021D7596: ; jump table _021D75A4: mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -220,7 +220,7 @@ _021D7684: bl FUN_0200E3A0 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_0201E6D8 bl FUN_0201E740 mov r2, #1 @@ -653,7 +653,7 @@ _021D79D2: bl MOD65_021D8280 ldr r0, _021D79FC ; =MOD65_021D76DC add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0 str r0, [r4, #8] mov r0, #1 @@ -2769,7 +2769,7 @@ _021D8A78: ; jump table _021D8A88: mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -2805,7 +2805,7 @@ _021D8ACE: _021D8ADE: ldr r0, _021D8BB8 ; =MOD65_021D8C88 add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB b _021D8BA4 _021D8AE8: ldr r1, [r4, #4] @@ -2881,7 +2881,7 @@ _021D8B68: bl FUN_0200E3A0 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_0201E6D8 bl FUN_0201E740 mov r2, #1 diff --git a/arm9/modules/66/asm/module_66.s b/arm9/modules/66/asm/module_66.s index 2967b0c9..8f27daeb 100644 --- a/arm9/modules/66/asm/module_66.s +++ b/arm9/modules/66/asm/module_66.s @@ -191,7 +191,7 @@ MOD66_021D7628: ; 0x021D7628 _021D763C: mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -285,7 +285,7 @@ _021D76E4: _021D7710: ldr r0, _021D7748 ; =MOD66_021D75C8 add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB ldrb r1, [r4] mov r0, #0x24 add r2, r1, #0 @@ -325,7 +325,7 @@ MOD66_021D7750: ; 0x021D7750 bl FUN_0201E74C mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C add r0, r5, #0 bl MOD66_021D91F4 @@ -1402,7 +1402,7 @@ _021D7FCE: strh r1, [r0] add r0, sp, #4 str r0, [sp] - ldr r3, _021D7FF8 ; =UNK_021C48F8 + ldr r3, _021D7FF8 ; =gMain + 0x40 ldr r0, [r5, #0x28] ldrh r2, [r3, #0x1c] ldrh r3, [r3, #0x1e] @@ -1418,7 +1418,7 @@ _021D7FEE: pop {r4, r5, r6, pc} .align 2, 0 _021D7FF4: .word MOD66_021D9720 -_021D7FF8: .word UNK_021C48F8 +_021D7FF8: .word gMain + 0x40 thumb_func_end MOD66_021D7FA4 thumb_func_start MOD66_021D7FFC diff --git a/arm9/modules/67/asm/module_67.s b/arm9/modules/67/asm/module_67.s index 4c85f4ff..6b7ae246 100644 --- a/arm9/modules/67/asm/module_67.s +++ b/arm9/modules/67/asm/module_67.s @@ -9,7 +9,7 @@ MOD67_021D74E0: ; 0x021D74E0 add r4, r0, #0 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -79,7 +79,7 @@ MOD67_021D74E0: ; 0x021D74E0 bl MOD67_021D7B84 ldr r0, _021D75CC ; =MOD67_021D7660 add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_0201E788 bl FUN_02033E74 mov r0, #0x10 @@ -153,7 +153,7 @@ MOD67_021D7624: ; 0x021D7624 add r4, r0, #0 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB add r0, r4, #0 bl MOD67_021D7D84 ldr r0, [r4] diff --git a/arm9/modules/68/asm/module_68.s b/arm9/modules/68/asm/module_68.s index ff21b695..469d30af 100644 --- a/arm9/modules/68/asm/module_68.s +++ b/arm9/modules/68/asm/module_68.s @@ -9,7 +9,7 @@ MOD68_021D74E0: ; 0x021D74E0 add r4, r0, #0 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -89,7 +89,7 @@ MOD68_021D74E0: ; 0x021D74E0 bl MOD68_021D8294 ldr r0, _021D75D4 ; =MOD68_021D7680 add r1, r5, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02033F20 mov r0, #0x10 mov r1, #1 @@ -171,7 +171,7 @@ MOD68_021D762C: ; 0x021D762C bl OverlayManager_FreeData mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0x24 bl FUN_020168D0 ldr r0, _021D767C ; =0x04000050 @@ -1183,7 +1183,7 @@ _021D7E50: mov r0, #2 tst r0, r1 bne _021D7E60 - ldr r0, _021D7E74 ; =UNK_021C48F8 + ldr r0, _021D7E74 ; =gMain + 0x40 ldrh r0, [r0, #0x20] cmp r0, #0 beq _021D7E6C @@ -1198,7 +1198,7 @@ _021D7E6C: pop {r4, pc} .align 2, 0 _021D7E70: .word gMain -_021D7E74: .word UNK_021C48F8 +_021D7E74: .word gMain + 0x40 thumb_func_end MOD68_021D7D9C thumb_func_start MOD68_021D7E78 diff --git a/arm9/modules/69/asm/module_69.s b/arm9/modules/69/asm/module_69.s index 74cfe028..686df4a1 100644 --- a/arm9/modules/69/asm/module_69.s +++ b/arm9/modules/69/asm/module_69.s @@ -9,7 +9,7 @@ HOF_OverlayInit: ; 0x0222D5C0 add r5, r0, #0 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #3 mov r1, #0x3f lsl r2, r0, #0x10 diff --git a/arm9/modules/70/asm/module_70.s b/arm9/modules/70/asm/module_70.s index f18bda67..9eeae0a5 100644 --- a/arm9/modules/70/asm/module_70.s +++ b/arm9/modules/70/asm/module_70.s @@ -475,7 +475,7 @@ MOD70_021D77CC: ; 0x021D77CC str r0, [r4, r1] ldr r0, _021D789C ; =MOD70_021D790C add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB _021D788C: add r0, r4, #0 add sp, #0x14 @@ -493,7 +493,7 @@ MOD70_021D78A0: ; 0x021D78A0 beq _021D790A mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0x66 lsl r0, r0, #2 ldr r0, [r4, r0] diff --git a/arm9/modules/71/asm/module_71.s b/arm9/modules/71/asm/module_71.s index 6337fcb9..d526414e 100644 --- a/arm9/modules/71/asm/module_71.s +++ b/arm9/modules/71/asm/module_71.s @@ -10,7 +10,7 @@ MOD71_0222D5C0: ; 0x0222D5C0 add r5, r0, #0 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -94,7 +94,7 @@ MOD71_0222D5C0: ; 0x0222D5C0 bl MOD71_0222E900 ldr r0, _0222D73C ; =MOD71_0222E4DC add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl MOD71_0222EA38 add r0, r4, #0 bl MOD71_0222EA68 @@ -366,7 +366,7 @@ MOD71_0222D820: ; 0x0222D820 bl FUN_020200A0 ldr r0, _0222D938 ; =MOD71_0222E4DC add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB add sp, #8 pop {r4, pc} nop @@ -1775,7 +1775,7 @@ MOD71_0222E438: ; 0x0222E438 bl OverlayManager_FreeData mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0x1a bl FUN_020168D0 mov r0, #1 diff --git a/arm9/modules/73/asm/module_73.s b/arm9/modules/73/asm/module_73.s index d46ff721..efabd4ae 100644 --- a/arm9/modules/73/asm/module_73.s +++ b/arm9/modules/73/asm/module_73.s @@ -67,7 +67,7 @@ _021D7536: str r1, [r5, r0] ldr r0, _021D7584 ; =MOD73_021D74E0 add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C ldr r1, _021D7588 ; =0x0000049F mov r0, #0xc @@ -189,7 +189,7 @@ MOD73_021D7640: ; 0x021D7640 bl MOD73_021D8E90 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201C29C ldr r2, _021D7688 ; =0x000015E8 @@ -1055,7 +1055,7 @@ _021D7D94: sub r0, r0, #1 str r0, [r4, #0x1c] bmi _021D7DAE - ldr r0, _021D7F50 ; =UNK_021C48F8 + ldr r0, _021D7F50 ; =gMain + 0x40 ldrh r0, [r0, #0x20] cmp r0, #0 bne _021D7DAE @@ -1101,7 +1101,7 @@ _021D7DF4: ldr r0, [r4, #0x1c] sub r0, r0, #1 str r0, [r4, #0x1c] - ldr r0, _021D7F50 ; =UNK_021C48F8 + ldr r0, _021D7F50 ; =gMain + 0x40 ldrh r0, [r0, #0x20] cmp r0, #0 bne _021D7E14 @@ -1214,7 +1214,7 @@ _021D7ED6: ldr r0, [r4, #0x1c] sub r0, r0, #1 str r0, [r4, #0x1c] - ldr r0, _021D7F50 ; =UNK_021C48F8 + ldr r0, _021D7F50 ; =gMain + 0x40 ldrh r0, [r0, #0x20] cmp r0, #0 bne _021D7EF4 @@ -1271,7 +1271,7 @@ _021D7F3E: _021D7F44: .word 0x0000063C _021D7F48: .word 0x00001410 _021D7F4C: .word 0x000006C3 -_021D7F50: .word UNK_021C48F8 +_021D7F50: .word gMain + 0x40 _021D7F54: .word gMain _021D7F58: .word 0x0000152C _021D7F5C: .word 0x00001420 @@ -2230,7 +2230,7 @@ MOD73_021D8630: ; 0x021D8630 bl MOD73_021DAFA8 add r0, r4, #0 bl MOD73_021D8BDC - ldr r0, _021D8758 ; =gUnk021C4918 + ldr r0, _021D8758 ; =gMain + 0x60 mov r1, #1 strb r1, [r0, #5] bl FUN_0201E7A0 @@ -2245,7 +2245,7 @@ _021D8748: .word 0x0000058C _021D874C: .word 0x0000061C _021D8750: .word 0x00000A84 _021D8754: .word 0x00000B04 -_021D8758: .word gUnk021C4918 +_021D8758: .word gMain + 0x60 thumb_func_end MOD73_021D8630 thumb_func_start MOD73_021D875C @@ -2299,7 +2299,7 @@ MOD73_021D875C: ; 0x021D875C bl MOD73_021D8BD0 add r0, r4, #0 bl MOD73_021D8D18 - ldr r0, _021D880C ; =gUnk021C4918 + ldr r0, _021D880C ; =gMain + 0x60 mov r1, #0 strb r1, [r0, #5] bl FUN_0201E7A0 @@ -2313,7 +2313,7 @@ _021D87FC: .word 0x00000598 _021D8800: .word 0x0000061C _021D8804: .word 0x00000A84 _021D8808: .word 0x00000B04 -_021D880C: .word gUnk021C4918 +_021D880C: .word gMain + 0x60 thumb_func_end MOD73_021D875C thumb_func_start MOD73_021D8810 @@ -8110,7 +8110,7 @@ MOD73_021DB318: ; 0x021DB318 push {r4, lr} sub sp, #8 add r4, r0, #0 - ldr r0, _021DB364 ; =UNK_021C48F8 + ldr r0, _021DB364 ; =gMain + 0x40 ldrh r1, [r0, #0x22] cmp r1, #0 beq _021DB33C @@ -8140,13 +8140,13 @@ _021DB33C: str r0, [r4, #8] ldr r0, [r4, #4] str r0, [r4, #0xc] - ldr r0, _021DB364 ; =UNK_021C48F8 + ldr r0, _021DB364 ; =gMain + 0x40 ldrh r0, [r0, #0x22] str r0, [r4, #0x14] add sp, #8 pop {r4, pc} .align 2, 0 -_021DB364: .word UNK_021C48F8 +_021DB364: .word gMain + 0x40 thumb_func_end MOD73_021DB318 thumb_func_start MOD73_021DB368 diff --git a/arm9/modules/74/asm/module_74.s b/arm9/modules/74/asm/module_74.s index 1aca7c52..4f8087ae 100644 --- a/arm9/modules/74/asm/module_74.s +++ b/arm9/modules/74/asm/module_74.s @@ -188,7 +188,7 @@ _021D763A: ; jump table _021D7644: mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -240,7 +240,7 @@ _021D76B6: _021D76C2: ldr r0, _021D76E4 ; =MOD74_021D7784 add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0 str r0, [r4, #4] mov r0, #1 @@ -287,7 +287,7 @@ _021D770E: _021D7722: mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 diff --git a/arm9/modules/75/asm/module_75.s b/arm9/modules/75/asm/module_75.s index f2852678..c2cbd1be 100644 --- a/arm9/modules/75/asm/module_75.s +++ b/arm9/modules/75/asm/module_75.s @@ -10,7 +10,7 @@ MOD75_021E6BA0: ; 0x021E6BA0 add r5, r0, #0 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -175,7 +175,7 @@ MOD75_021E6BA0: ; 0x021E6BA0 _021E6D3A: ldr r0, _021E6D68 ; =MOD75_021E700C add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r1, #0 mov r0, #0x33 add r2, r1, #0 @@ -458,7 +458,7 @@ MOD75_021E6F00: ; 0x021E6F00 bl OverlayManager_FreeData mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #6 bl FUN_020168D0 mov r0, #1 @@ -3040,7 +3040,7 @@ MOD75_021E8374: ; 0x021E8374 strh r1, [r0] add r0, sp, #4 str r0, [sp] - ldr r3, _021E83C8 ; =UNK_021C48F8 + ldr r3, _021E83C8 ; =gMain + 0x40 ldr r0, [r5] ldrh r2, [r3, #0x1c] ldrh r3, [r3, #0x1e] @@ -3060,7 +3060,7 @@ _021E83B6: _021E83BC: .word 0x00000424 _021E83C0: .word MOD75_021EC628 _021E83C4: .word 0x0000FFFE -_021E83C8: .word UNK_021C48F8 +_021E83C8: .word gMain + 0x40 thumb_func_end MOD75_021E8374 thumb_func_start MOD75_021E83CC @@ -3084,7 +3084,7 @@ MOD75_021E83CC: ; 0x021E83CC strh r1, [r0] add r0, sp, #4 str r0, [sp] - ldr r3, _021E8420 ; =UNK_021C48F8 + ldr r3, _021E8420 ; =gMain + 0x40 ldr r0, [r5] ldrh r2, [r3, #0x1c] ldrh r3, [r3, #0x1e] @@ -3104,7 +3104,7 @@ _021E840E: _021E8414: .word 0x00000424 _021E8418: .word MOD75_021EC628 _021E841C: .word 0x0000FFFE -_021E8420: .word UNK_021C48F8 +_021E8420: .word gMain + 0x40 thumb_func_end MOD75_021E83CC thumb_func_start MOD75_021E8424 @@ -3598,7 +3598,7 @@ MOD75_021E87B8: ; 0x021E87B8 strh r1, [r0] add r0, sp, #4 str r0, [sp] - ldr r3, _021E8804 ; =UNK_021C48F8 + ldr r3, _021E8804 ; =gMain + 0x40 ldr r0, [r4] ldrh r2, [r3, #0x1c] ldrh r3, [r3, #0x1e] @@ -3620,7 +3620,7 @@ _021E87F4: nop _021E87FC: .word MOD75_021EC3F4 _021E8800: .word 0x0000FFFE -_021E8804: .word UNK_021C48F8 +_021E8804: .word gMain + 0x40 thumb_func_end MOD75_021E87B8 thumb_func_start MOD75_021E8808 @@ -4493,7 +4493,7 @@ MOD75_021E8EB0: ; 0x021E8EB0 mov r0, #3 tst r0, r1 bne _021E8ED2 - ldr r0, _021E8F0C ; =UNK_021C48F8 + ldr r0, _021E8F0C ; =gMain + 0x40 ldrh r0, [r0, #0x20] cmp r0, #0 beq _021E8F00 @@ -4525,7 +4525,7 @@ _021E8F00: .align 2, 0 _021E8F04: .word 0x00000426 _021E8F08: .word gMain -_021E8F0C: .word UNK_021C48F8 +_021E8F0C: .word gMain + 0x40 thumb_func_end MOD75_021E8EB0 thumb_func_start MOD75_021E8F10 @@ -4712,7 +4712,7 @@ _021E9070: mov r0, #3 tst r0, r1 bne _021E908E - ldr r0, _021E91B4 ; =UNK_021C48F8 + ldr r0, _021E91B4 ; =gMain + 0x40 ldrh r0, [r0, #0x20] cmp r0, #0 beq _021E9132 @@ -4851,7 +4851,7 @@ _021E91A4: .word 0x00000483 _021E91A8: .word 0x000003D9 _021E91AC: .word 0x00000426 _021E91B0: .word gMain -_021E91B4: .word UNK_021C48F8 +_021E91B4: .word gMain + 0x40 thumb_func_end MOD75_021E8FD8 thumb_func_start MOD75_021E91B8 @@ -5128,7 +5128,7 @@ _021E93D2: mov r0, #3 tst r0, r1 bne _021E93F0 - ldr r0, _021E9438 ; =UNK_021C48F8 + ldr r0, _021E9438 ; =gMain + 0x40 ldrh r0, [r0, #0x20] cmp r0, #0 beq _021E9422 @@ -5164,7 +5164,7 @@ _021E9428: .word 0x00000483 _021E942C: .word 0x000003D9 _021E9430: .word 0x00000426 _021E9434: .word gMain -_021E9438: .word UNK_021C48F8 +_021E9438: .word gMain + 0x40 thumb_func_end MOD75_021E9394 thumb_func_start MOD75_021E943C @@ -5564,7 +5564,7 @@ MOD75_021E9750: ; 0x021E9750 mov r0, #3 tst r0, r1 bne _021E9772 - ldr r0, _021E97A0 ; =UNK_021C48F8 + ldr r0, _021E97A0 ; =gMain + 0x40 ldrh r0, [r0, #0x20] cmp r0, #0 beq _021E9794 @@ -5589,7 +5589,7 @@ _021E9794: .align 2, 0 _021E9798: .word 0x00000426 _021E979C: .word gMain -_021E97A0: .word UNK_021C48F8 +_021E97A0: .word gMain + 0x40 _021E97A4: .word 0x00000479 thumb_func_end MOD75_021E9750 @@ -5796,7 +5796,7 @@ MOD75_021E9930: ; 0x021E9930 mov r0, #3 tst r0, r1 bne _021E9952 - ldr r0, _021E997C ; =UNK_021C48F8 + ldr r0, _021E997C ; =gMain + 0x40 ldrh r0, [r0, #0x20] cmp r0, #0 beq _021E9970 @@ -5819,7 +5819,7 @@ _021E9970: .align 2, 0 _021E9974: .word 0x00000426 _021E9978: .word gMain -_021E997C: .word UNK_021C48F8 +_021E997C: .word gMain + 0x40 thumb_func_end MOD75_021E9930 thumb_func_start MOD75_021E9980 @@ -6547,7 +6547,7 @@ MOD75_021E9F74: ; 0x021E9F74 mov r0, #3 tst r0, r1 bne _021E9F96 - ldr r0, _021E9FD4 ; =UNK_021C48F8 + ldr r0, _021E9FD4 ; =gMain + 0x40 ldrh r0, [r0, #0x20] cmp r0, #0 beq _021E9FC8 @@ -6579,7 +6579,7 @@ _021E9FC8: .align 2, 0 _021E9FCC: .word 0x00000426 _021E9FD0: .word gMain -_021E9FD4: .word UNK_021C48F8 +_021E9FD4: .word gMain + 0x40 _021E9FD8: .word 0x00000479 thumb_func_end MOD75_021E9F74 @@ -6790,7 +6790,7 @@ MOD75_021EA148: ; 0x021EA148 add r0, r1, #2 str r2, [r5, r0] add r0, r1, #0 - ldr r2, _021EA2C0 ; =UNK_021C48F8 + ldr r2, _021EA2C0 ; =gMain + 0x40 add r0, #0xc ldrh r3, [r2, #0x1c] add r1, #0xe @@ -6812,7 +6812,7 @@ _021EA18A: mov r3, #0x50 ldr r1, _021EA2C4 ; =0x0000049E str r3, [sp] - ldr r4, _021EA2C0 ; =UNK_021C48F8 + ldr r4, _021EA2C0 ; =gMain + 0x40 ldrh r0, [r5, r1] add r1, r1, #2 ldrh r1, [r5, r1] @@ -6937,7 +6937,7 @@ _021EA274: ldr r0, _021EA2D4 ; =0x00000494 str r1, [r5, r0] _021EA298: - ldr r1, _021EA2C0 ; =UNK_021C48F8 + ldr r1, _021EA2C0 ; =gMain + 0x40 ldr r0, _021EA2C4 ; =0x0000049E ldrh r2, [r1, #0x1c] strh r2, [r5, r0] @@ -6959,7 +6959,7 @@ _021EA2B6: pop {r3, r4, r5, r6, r7, pc} nop _021EA2BC: .word 0x00000492 -_021EA2C0: .word UNK_021C48F8 +_021EA2C0: .word gMain + 0x40 _021EA2C4: .word 0x0000049E _021EA2C8: .word 0x0000049A _021EA2CC: .word 0x000001F6 diff --git a/arm9/modules/76/asm/module_76.s b/arm9/modules/76/asm/module_76.s index c062f14a..02dc181f 100644 --- a/arm9/modules/76/asm/module_76.s +++ b/arm9/modules/76/asm/module_76.s @@ -55,7 +55,7 @@ MOD76_021D74E0: ; 0x021D74E0 bl MOD76_021D8CD4 ldr r0, _021D7564 ; =MOD76_021D76E8 add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #1 pop {r3, r4, r5, pc} .align 2, 0 @@ -177,7 +177,7 @@ MOD76_021D7638: ; 0x021D7638 add r4, r0, #0 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -214,7 +214,7 @@ MOD76_021D7638: ; 0x021D7638 bl MOD76_021D7BE0 ldr r0, _021D76B4 ; =MOD76_021D76E8 add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB pop {r4, pc} .align 2, 0 _021D76AC: .word 0xFFFFE0FF @@ -238,7 +238,7 @@ MOD76_021D76B8: ; 0x021D76B8 bl FUN_0201C29C mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB pop {r4, pc} .align 2, 0 thumb_func_end MOD76_021D76B8 diff --git a/arm9/modules/77/asm/module_77.s b/arm9/modules/77/asm/module_77.s index 7219a909..cdfde984 100644 --- a/arm9/modules/77/asm/module_77.s +++ b/arm9/modules/77/asm/module_77.s @@ -9,7 +9,7 @@ MOD77_021D74E0: ; 0x021D74E0 add r4, r0, #0 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0 add r1, r0, #0 bl FUN_02015F34 @@ -94,7 +94,7 @@ _021D7540: mov r0, #0 add r1, #0x1c str r0, [r5, r1] - ldr r0, _021D7600 ; =gUnk021C4918 + ldr r0, _021D7600 ; =gMain + 0x60 mov r1, #1 strb r1, [r0, #5] bl FUN_0201E7A0 @@ -117,7 +117,7 @@ _021D75F0: .word 0x0000C324 _021D75F4: .word 0x0000C010 _021D75F8: .word 0x0000C070 _021D75FC: .word 0x0000C2CC -_021D7600: .word gUnk021C4918 +_021D7600: .word gMain + 0x60 thumb_func_end MOD77_021D74E0 thumb_func_start MOD77_021D7604 @@ -827,12 +827,12 @@ MOD77_021D7BAC: ; 0x021D7BAC bl FreeToHeap mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB add r0, r6, #0 bl OverlayManager_FreeData add r0, r5, #0 bl FUN_020168D0 - ldr r0, _021D7C20 ; =gUnk021C4918 + ldr r0, _021D7C20 ; =gMain + 0x60 mov r1, #0 strb r1, [r0, #5] mov r0, #1 @@ -841,7 +841,7 @@ MOD77_021D7BAC: ; 0x021D7BAC _021D7C14: .word 0x0000C2CC _021D7C18: .word 0x0000C070 _021D7C1C: .word 0x0000C010 -_021D7C20: .word gUnk021C4918 +_021D7C20: .word gMain + 0x60 thumb_func_end MOD77_021D7BAC thumb_func_start MOD77_021D7C24 @@ -1127,7 +1127,7 @@ MOD77_021D7E24: ; 0x021D7E24 ldr r0, _021D7F2C ; =0x0000C2F8 mov r1, #0 str r1, [r4, r0] - ldr r1, _021D7F30 ; =UNK_021C48F8 + ldr r1, _021D7F30 ; =gMain + 0x40 ldrh r2, [r1, #0x20] cmp r2, #0 beq _021D7E86 @@ -1160,7 +1160,7 @@ _021D7E54: str r2, [r4, r1] sub r1, r0, #4 str r2, [r4, r1] - ldr r2, _021D7F30 ; =UNK_021C48F8 + ldr r2, _021D7F30 ; =gMain + 0x40 add r1, r0, #4 ldrh r3, [r2, #0x1c] str r3, [r4, r1] @@ -1172,7 +1172,7 @@ _021D7E54: mov r1, #4 str r1, [r4, r0] _021D7E86: - ldr r0, _021D7F30 ; =UNK_021C48F8 + ldr r0, _021D7F30 ; =gMain + 0x40 ldrh r0, [r0, #0x22] cmp r0, #0 beq _021D7F02 @@ -1227,7 +1227,7 @@ _021D7EBA: add r0, #0x14 str r2, [r4, r0] add r0, r1, #0 - ldr r2, _021D7F30 ; =UNK_021C48F8 + ldr r2, _021D7F30 ; =gMain + 0x40 add r0, #8 ldrh r3, [r2, #0x1c] add r1, #0xc @@ -1260,7 +1260,7 @@ _021D7F10: pop {r4, pc} nop _021D7F2C: .word 0x0000C2F8 -_021D7F30: .word UNK_021C48F8 +_021D7F30: .word gMain + 0x40 _021D7F34: .word 0x0000C2FC _021D7F38: .word 0x0000C310 thumb_func_end MOD77_021D7E24 @@ -1269,7 +1269,7 @@ _021D7F38: .word 0x0000C310 MOD77_021D7F3C: ; 0x021D7F3C push {r3, r4, r5, r6, r7, lr} mov lr, r0 - ldr r0, _021D7FA4 ; =UNK_021C48F8 + ldr r0, _021D7FA4 ; =gMain + 0x40 mov ip, r1 ldrh r5, [r0, #0x1c] mov r1, #0 @@ -1298,7 +1298,7 @@ _021D7F6C: add r0, r3, #0 and r0, r1 str r0, [r6] - ldr r0, _021D7FA4 ; =UNK_021C48F8 + ldr r0, _021D7FA4 ; =gMain + 0x40 ldrh r3, [r0, #0x1e] ldr r0, _021D7FA8 ; =0x0000FFFF cmp r3, r0 @@ -1324,7 +1324,7 @@ _021D7F94: str r1, [r0] pop {r3, r4, r5, r6, r7, pc} .align 2, 0 -_021D7FA4: .word UNK_021C48F8 +_021D7FA4: .word gMain + 0x40 _021D7FA8: .word 0x0000FFFF thumb_func_end MOD77_021D7F3C diff --git a/arm9/modules/78/asm/module_78.s b/arm9/modules/78/asm/module_78.s index 60412019..6a0d80b3 100644 --- a/arm9/modules/78/asm/module_78.s +++ b/arm9/modules/78/asm/module_78.s @@ -269,7 +269,7 @@ MOD78_021D7708: ; 0x021D7708 push {r3, lr} mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 diff --git a/arm9/modules/80/asm/module_80.s b/arm9/modules/80/asm/module_80.s index d8d72189..b1e3f871 100644 --- a/arm9/modules/80/asm/module_80.s +++ b/arm9/modules/80/asm/module_80.s @@ -1373,7 +1373,7 @@ MOD80_0222DFD0: ; 0x0222DFD0 _0222DFE4: mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -1687,7 +1687,7 @@ MOD80_0222E25C: ; 0x0222E25C bl OverlayManager_FreeData mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0x3e bl FUN_020168D0 mov r0, #1 @@ -2347,7 +2347,7 @@ MOD80_0222E7C8: ; 0x0222E7C8 bl MOD80_0222E614 ldr r0, _0222E7EC ; =MOD80_0222E2E0 add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB pop {r4, pc} nop _0222E7EC: .word MOD80_0222E2E0 diff --git a/arm9/modules/81/asm/module_81.s b/arm9/modules/81/asm/module_81.s index d21611f4..d972789e 100644 --- a/arm9/modules/81/asm/module_81.s +++ b/arm9/modules/81/asm/module_81.s @@ -151,7 +151,7 @@ _02237F22: add r1, r1, #2 str r0, [r4, r1] add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -5496,7 +5496,7 @@ MOD81_0223A8C8: ; 0x0223A8C8 beq _0223A8F6 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB add r0, r4, #0 bl MOD81_0223ABC0 add r0, r4, #0 @@ -7029,7 +7029,7 @@ MOD81_0223B4E8: ; 0x0223B4E8 bl MOD81_0223B9A0 ldr r0, _0223B520 ; =MOD81_0223BCA8 add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB _0223B51C: add r0, r4, #0 pop {r3, r4, r5, pc} @@ -7044,7 +7044,7 @@ MOD81_0223B524: ; 0x0223B524 beq _0223B552 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB add r0, r4, #0 bl MOD81_0223B7D0 add r0, r4, #0 diff --git a/arm9/modules/82/asm/module_82.s b/arm9/modules/82/asm/module_82.s index cc15c1dc..07328905 100644 --- a/arm9/modules/82/asm/module_82.s +++ b/arm9/modules/82/asm/module_82.s @@ -623,7 +623,7 @@ MOD82_0222DA34: ; 0x0222DA34 _0222DA48: mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -885,7 +885,7 @@ MOD82_0222DC50: ; 0x0222DC50 bl OverlayManager_FreeData mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0x44 bl FUN_020168D0 mov r0, #1 @@ -1314,7 +1314,7 @@ MOD82_0222DFD4: ; 0x0222DFD4 bl MOD82_0222DE80 ldr r0, _0222DFF8 ; =MOD82_0222DCC4 mov r1, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB pop {r4, pc} nop _0222DFF8: .word MOD82_0222DCC4 diff --git a/arm9/modules/83/asm/module_83.s b/arm9/modules/83/asm/module_83.s index bb52eeb3..2ec14d72 100644 --- a/arm9/modules/83/asm/module_83.s +++ b/arm9/modules/83/asm/module_83.s @@ -1855,7 +1855,7 @@ _0222E3FE: bl FreeToHeap mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD83_0222E3B8 @@ -2099,7 +2099,7 @@ _0222E616: bl MOD83_0222DBD0 ldr r0, _0222E7A0 ; =MOD83_0222E464 ldr r1, [r4] - bl FUN_02015F10 + bl Main_SetVBlankIntrCB add r0, r4, #0 bl MOD83_0222E0DC ldr r1, [r4, #0x54] @@ -16268,7 +16268,7 @@ _02235512: str r0, [sp, #0x20] ldr r0, [sp, #0x1c] bl MOD83_TranslateAgbSpecies - ldr r2, _0223563C ; =gUnk021C4918 + ldr r2, _0223563C ; =gMain + 0x60 ldr r1, [sp, #0x20] ldrb r2, [r2, #6] bl MOD83_02235350 @@ -16365,7 +16365,7 @@ _02235602: nop _02235634: .word 0x0000E880 _02235638: .word 0x0000E884 -_0223563C: .word gUnk021C4918 +_0223563C: .word gMain + 0x60 _02235640: .word MOD83_022354AC _02235644: .word 0x00012604 thumb_func_end MOD83_022354F0 @@ -17527,7 +17527,7 @@ _02235F48: bl FUN_0201E66C ldr r0, [r4, #0x20] bl MOD83_02235E68 - ldr r0, _02235FB8 ; =gUnk021C4918 + ldr r0, _02235FB8 ; =gMain + 0x60 mov r1, #1 strb r1, [r0, #5] bl FUN_0201E7A0 @@ -17567,7 +17567,7 @@ _02235F48: pop {r3, r4, r5, pc} .align 2, 0 _02235FB4: .word MOD83_0223A59C -_02235FB8: .word gUnk021C4918 +_02235FB8: .word gMain + 0x60 thumb_func_end MOD83_02235F3C thumb_func_start MOD83_02235FBC @@ -17819,7 +17819,7 @@ _02236148: ldr r0, _02236288 ; =0x00000414 str r7, [sp] ldr r0, [r4, r0] - ldr r3, _0223628C ; =gUnk021C4918 + ldr r3, _0223628C ; =gMain + 0x60 str r0, [sp, #4] ldrb r3, [r3, #6] ldr r0, [sp, #0x14] @@ -17906,7 +17906,7 @@ _02236148: pop {r4, r5, r6, r7, pc} .align 2, 0 _02236288: .word 0x00000414 -_0223628C: .word gUnk021C4918 +_0223628C: .word gMain + 0x60 _02236290: .word MOD83_0223B280 _02236294: .word 0x000003D2 thumb_func_end MOD83_022360C8 @@ -17994,7 +17994,7 @@ MOD83_02236330: ; 0x02236330 add r6, r0, #0 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r7, #0x6a mov r4, #0 add r5, r6, #0 @@ -18091,7 +18091,7 @@ _022363E2: ldr r0, _02236448 ; =0x0000E88C ldr r0, [r6, r0] bl FUN_020145A8 - ldr r0, _0223644C ; =gUnk021C4918 + ldr r0, _0223644C ; =gMain + 0x60 mov r1, #0 strb r1, [r0, #5] bl FUN_0201E7A0 @@ -18113,7 +18113,7 @@ _0223643C: .word 0x00000478 _02236440: .word 0x00000488 _02236444: .word 0x00000498 _02236448: .word 0x0000E88C -_0223644C: .word gUnk021C4918 +_0223644C: .word gMain + 0x60 thumb_func_end MOD83_02236330 thumb_func_start MOD83_02236450 @@ -18476,7 +18476,7 @@ _02236712: mov r0, #1 pop {r3, r4, r5, pc} _02236730: - ldr r0, _0223675C ; =UNK_021C48F8 + ldr r0, _0223675C ; =gMain + 0x40 ldrh r0, [r0, #0x20] cmp r0, #0 bne _02236740 @@ -18497,7 +18497,7 @@ _02236750: .align 2, 0 _02236754: .word 0x000005DC _02236758: .word 0x00000474 -_0223675C: .word UNK_021C48F8 +_0223675C: .word gMain + 0x40 _02236760: .word gMain thumb_func_end MOD83_022366D0 @@ -18668,7 +18668,7 @@ _022368BA: bl MOD83_022357CC ldr r0, _02236B4C ; =MOD83_0223650C add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0x10 mov r1, #0 bl FUN_0201E6E4 @@ -18792,7 +18792,7 @@ _022369BC: str r0, [r5] b _02236D90 _022369CE: - ldr r0, _02236B54 ; =UNK_021C48F8 + ldr r0, _02236B54 ; =gMain + 0x40 ldrh r0, [r0, #0x20] cmp r0, #0 bne _022369DE @@ -18895,7 +18895,7 @@ _02236A88: bl MOD83_022354F0 ldr r0, _02236B4C ; =MOD83_0223650C add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0x10 mov r1, #1 bl FUN_0201E6E4 @@ -18972,7 +18972,7 @@ _02236B44: .word 0x000004AC _02236B48: .word 0x0000E880 _02236B4C: .word MOD83_0223650C _02236B50: .word 0x0000E88C -_02236B54: .word UNK_021C48F8 +_02236B54: .word gMain + 0x40 _02236B58: .word gMain _02236B5C: .word 0x00000498 _02236B60: .word 0x0000E898 @@ -19222,7 +19222,7 @@ _02236D36: bl FUN_020166B8 b _02236D90 _02236D54: - ldr r0, _02236DC8 ; =UNK_021C48F8 + ldr r0, _02236DC8 ; =gMain + 0x40 ldrh r0, [r0, #0x20] cmp r0, #0 bne _02236D64 @@ -19270,7 +19270,7 @@ _02236DB8: .word 0x0000E890 _02236DBC: .word 0x0000E898 _02236DC0: .word 0x0000061B _02236DC4: .word 0x0000042C -_02236DC8: .word UNK_021C48F8 +_02236DC8: .word gMain + 0x40 _02236DCC: .word gMain thumb_func_end MOD83_02236804 @@ -22458,7 +22458,7 @@ _022384AE: ldr r1, _022385F0 ; =0x00000182 cmp r0, r1 bne _022384FE - ldr r0, _022385F4 ; =gUnk021C4918 + ldr r0, _022385F4 ; =gMain + 0x60 ldrb r0, [r0, #6] cmp r0, #5 bhi _022384DE @@ -22598,7 +22598,7 @@ _0223853E: pop {r3, r4, r5, r6, r7, pc} nop _022385F0: .word 0x00000182 -_022385F4: .word gUnk021C4918 +_022385F4: .word gMain + 0x60 _022385F8: .word gGameLanguage thumb_func_end MigrateBoxMon @@ -23564,7 +23564,7 @@ _02238D1A: _02238D22: ldr r0, _02238D34 ; =MOD83_02238F00 mov r1, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB add sp, #0x38 pop {r3, r4, r5, r6, r7, pc} nop @@ -23789,7 +23789,7 @@ _02238EB0: bl FUN_0201E08C mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _02238EE8: .word MOD83_0223BE30 diff --git a/arm9/modules/84/asm/module_84_thumb1.s b/arm9/modules/84/asm/module_84_thumb1.s index 0a2c3e1b..405c33ef 100644 --- a/arm9/modules/84/asm/module_84_thumb1.s +++ b/arm9/modules/84/asm/module_84_thumb1.s @@ -36,7 +36,7 @@ _021D74FC: _021D7516: mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -142,7 +142,7 @@ _021D7516: str r0, [r4, r1] ldr r0, _021D769C ; =MOD84_021D7950 add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB _021D7618: ldr r0, [r5] add r0, r0, #1 @@ -234,7 +234,7 @@ _021D76CA: bl OS_RestoreInterrupts mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB ldr r0, [r4] add r0, r0, #1 str r0, [r4] diff --git a/arm9/modules/85/asm/module_85.s b/arm9/modules/85/asm/module_85.s index e7e4e431..d9175392 100644 --- a/arm9/modules/85/asm/module_85.s +++ b/arm9/modules/85/asm/module_85.s @@ -10,7 +10,7 @@ MOD85_021D74E0: ; 0x021D74E0 add r5, r0, #0 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 @@ -172,7 +172,7 @@ MOD85_021D7644: ; 0x021D7644 mov r0, #0 ldr r4, [r6, #4] add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB add r0, r6, #0 add r1, r4, #0 bl MOD85_021D769C @@ -346,7 +346,7 @@ MOD85_021D76FC: ; 0x021D76FC bl G2x_SetBlendAlpha_ ldr r0, _021D77D8 ; =MOD85_021D80DC add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021D77CC: .word 0x0000043C diff --git a/arm9/modules/86/asm/module_86.s b/arm9/modules/86/asm/module_86.s index 28089fba..aae7de3c 100644 --- a/arm9/modules/86/asm/module_86.s +++ b/arm9/modules/86/asm/module_86.s @@ -39,7 +39,7 @@ MOD86_021D74E0: ; 0x021D74E0 bl FUN_0200E3A0 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB mov r0, #0 add r1, r0, #0 bl FUN_02015F34 @@ -64,7 +64,7 @@ MOD86_021D74E0: ; 0x021D74E0 bl MOD86_021D78D4 ldr r0, _021D7588 ; =MOD86_021D76E0 add r1, r4, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB bl FUN_0201E788 mov r0, #1 pop {r3, r4, r5, pc} @@ -184,7 +184,7 @@ _021D765C: and r0, r1 cmp r0, #2 beq _021D7678 - ldr r0, _021D76AC ; =UNK_021C48F8 + ldr r0, _021D76AC ; =gMain + 0x40 ldrh r0, [r0, #0x20] cmp r0, #0 beq _021D76A0 @@ -214,7 +214,7 @@ _021D76A0: pop {r3, r4, r5, r6, pc} nop _021D76A8: .word gMain -_021D76AC: .word UNK_021C48F8 +_021D76AC: .word gMain + 0x40 thumb_func_end MOD86_021D758C thumb_func_start MOD86_021D76B0 @@ -229,7 +229,7 @@ MOD86_021D76B0: ; 0x021D76B0 bl MOD86_021D7858 mov r0, #0 add r1, r0, #0 - bl FUN_02015F10 + bl Main_SetVBlankIntrCB add r0, r5, #0 bl OverlayManager_FreeData add r0, r4, #0 diff --git a/arm9/src/game_init.c b/arm9/src/game_init.c new file mode 100644 index 00000000..8fdeb44b --- /dev/null +++ b/arm9/src/game_init.c @@ -0,0 +1,532 @@ +#include "global.h" +#include "gx.h" +#include "math.h" +#include "main.h" +#include "FS_rom.h" +#include "PAD_pad.h" +#include "heap.h" +#include "MWC_string.h" +#include "tp.h" +#include "unk_0201B4E8.h" +#include "game_init.h" +#include "ioreg_GX.h" + +#pragma thumb on + +extern void FUN_020166C8(const u32 (*)[2], int, int, int); +extern void FUN_02022450(void); + +typedef volatile struct +{ + u8 sys_and_irq_stack[0x3F80]; + u8 svc_stack[0x40]; + u8 reserved[0x38]; + u32 intr_check; + void * intr_vector; +} +OS_DTCM; + +#define DTCM (*(OS_DTCM *)HW_DTCM) + +static struct { + void * contents; + u32 name_hash; +} UNK_021C4928[128]; + +struct Main gMain; + +void Main_HBlankIntr(BOOL); +void FUN_0201B5CC(void *); + +void FUN_02015EA0(void) +{ + DTCM.intr_check |= 1; + MI_WaitDma(3); + FUN_0201B5CC(gMain.unk1C); + gMain.unk30++; +} + +void FUN_02015ED4(void) +{ + DTCM.intr_check |= 1; + MI_WaitDma(3); +} + +void FUN_02015EF4(void) +{ + OS_DisableIrqMask(1); + OS_SetIrqFunction(1, FUN_02015ED4); + OS_EnableIrqMask(1); +} + +void Main_SetVBlankIntrCB(void (*a0)(void *), void * a1) +{ + gMain.vBlankIntr = a0; + gMain.vBlankIntrArg = a1; +} + +void FUN_02015F1C(void) +{ + Main_HBlankIntr(FALSE); + gMain.hBlankIntr = NULL; + gMain.hBlankIntrArg = NULL; +} + +BOOL FUN_02015F34(void (*a0)(void *), void * a1) +{ + if (a0 == 0) + { + Main_HBlankIntr(FALSE); + gMain.hBlankIntr = NULL; + gMain.hBlankIntrArg = NULL; + return TRUE; + } + else if (gMain.hBlankIntr == NULL) + { + gMain.hBlankIntrArg = a1; + gMain.hBlankIntr = a0; + Main_HBlankIntr(TRUE); + return TRUE; + } + else + { + return FALSE; + } +} + +void FUN_02015F6C(void) +{ + if (gMain.hBlankIntr != NULL) + gMain.hBlankIntr(gMain.hBlankIntrArg); +} + +void Main_HBlankIntr(BOOL a0) +{ + (void)OS_DisableIrq(); + if (!a0) + { + (void)OS_GetIrqMask(); + OS_DisableIrqMask(2); + GX_HBlankIntr(FALSE); + } + else + { + (void)OS_GetIrqMask(); + OS_SetIrqFunction(2, FUN_02015F6C); + OS_EnableIrqMask(2); + GX_HBlankIntr(TRUE); + } + (void)OS_EnableIrq(); +} + +const u32 UNK_020EDB10[][2] = { + { 0x0000D000, 0x00000000 }, + { 0x00021000, 0x00000000 }, + { 0x00001000, 0x00000000 }, + { 0x0010D800, 0x00000000 } +}; + +void FUN_02015FC8(void) +{ + u32 data[8]; + u8 digest[16]; + OS_GetLowEntropyData(data); + MATH_CalcMD5(digest, data, 32); + u32 csum = 0, i; + for (i = 0; i < sizeof(digest); i++) + { + csum += digest[i]; + } + csum = (csum << 24) >> 24; + while (csum & 3) + { + csum++; + } + FUN_020166C8(UNK_020EDB10, 4, 92, (int)csum); +} + +void InitSystemForTheGame(void) +{ + OS_Init(); + FX_Init(); + reg_GX_POWCNT = (REGType16v)((reg_GX_POWCNT & ~(REG_GX_POWCNT_GE_MASK | REG_GX_POWCNT_RE_MASK | REG_GX_POWCNT_E2DG_MASK | REG_GX_POWCNT_E2DGB_MASK)) | (REG_GX_POWCNT_GE_MASK | REG_GX_POWCNT_RE_MASK | REG_GX_POWCNT_E2DG_MASK | REG_GX_POWCNT_E2DGB_MASK)); + GX_Init(); + OS_InitTick(); + FUN_02015FC8(); + gMain.unk18 = FUN_0201B580(0xa0, OS_AllocFromArenaLo(OS_ARENA_MAIN, FUN_0201B578(0xa0), 4)); + gMain.unk1C = FUN_0201B580(0x10, OS_AllocFromArenaLo(OS_ARENA_MAIN, FUN_0201B578(0x10), 4)); + gMain.unk20 = FUN_0201B580(0x20, OS_AllocFromArenaLo(OS_ARENA_MAIN, FUN_0201B578(0x20), 4)); + gMain.unk24 = FUN_0201B580(0x04, OS_AllocFromArenaLo(OS_ARENA_MAIN, FUN_0201B578(0x04), 4)); + GX_DispOff(); + reg_GXS_DB_DISPCNT &= ~0x10000; + reg_GX_POWCNT |= REG_GX_POWCNT_DSEL_MASK; + OS_SetIrqFunction(1, FUN_02015EA0); + OS_EnableIrqMask(1); + OS_EnableIrqMask(0x40000); + (void)OS_EnableIrq(); + GX_VBlankIntr(TRUE); + FS_Init(1); + FUN_02022450(); + u32 size = FS_TryLoadTable(NULL, 0); + void * table = OS_AllocFromArenaLo(OS_ARENA_MAIN, size, 4); + GF_ASSERT(table != NULL); + FS_TryLoadTable(table, size); + gMain.vBlankIntr = NULL; + gMain.hBlankIntr = NULL; + gMain.unk10 = 0; + gMain.unk14 = 0; + gMain.unk2C = 0; + gMain.unk65 = 0; +} + +void InitGraphicMemory(void) +{ + GX_SetBankForLCDC(0x1FF); + MIi_CpuClearFast(0, (void *)HW_LCDC_VRAM, HW_LCDC_VRAM_SIZE); + GX_DisableBankForLCDC(); + MIi_CpuClearFast(0xC0, (void *)HW_OAM, HW_OAM_SIZE); + MIi_CpuClearFast(0xC0, (void *)HW_DB_OAM, HW_DB_OAM_SIZE); + MIi_CpuClearFast(0, (void *)HW_PLTT, HW_PLTT_SIZE); + MIi_CpuClearFast(0, (void *)HW_DB_PLTT, HW_DB_PLTT_SIZE); +} + +void * FUN_020161A4(u32 heap_id, const char * path) +{ + void * ret; + + FSFile file; + FS_InitFile(&file); + if (FS_OpenFile(&file, path)) + { + u32 size = file.prop.file.bottom - file.prop.file.top; + ret = AllocFromHeap(heap_id, size); + if (ret != NULL) + { + if (size != FS_ReadFile(&file, ret, (s32)size)) + { + FUN_02016A8C(heap_id, ret); + ret = NULL; + } + } + FS_CloseFile(&file); + } + else + ret = NULL; + return ret; +} + +void FUN_020161F8(const char * path, void ** ptr) +{ + FSFile file; + FS_InitFile(&file); + if (FS_OpenFile(&file, path)) + { + u32 size = file.prop.file.bottom - file.prop.file.top; + if (*ptr != NULL) + FS_ReadFile(&file, *ptr, (s32)size); + FS_CloseFile(&file); + } +} + +u32 FUN_02016230(const s8 * str) +{ + u16 len = (u16)strlen(str); + u16 sp4; + if ((len % 4) != 0) + sp4 = (u16)((len / 4) + 1); + else + sp4 = (u16)(len / 4); + u32 r7 = 0; + s32 i, j; + for (i = 0; i < sp4; i++) + { + u32 r1 = 0; + for (j = 0; j < 4; j++) + { + int r5 = str[4 * i + j]; + if (r5 == 0) + break; + r1 |= r5 << (8 * j); + } + r7 ^= r1; + } + return r7; +} + +int FUN_020162A0(u32 a0) +{ + for (int i = 0; i < 128; i++) + { + if (UNK_021C4928[i].name_hash == a0 && UNK_021C4928[i].contents != NULL) + return i; + } + return -1; +} + +int FUN_020162C8(void * a0, u32 a1) +{ + for (int i = 0; i < 128; i++) + { + if (UNK_021C4928[i].contents == NULL) + { + UNK_021C4928[i].contents = a0; + UNK_021C4928[i].name_hash = a1; + return i; + } + } + return -1; +} + +void FUN_020162FC(void) +{ + for (int i = 127; i > -1; i--) + { + if (UNK_021C4928[i].contents != NULL) + { + FreeToHeap(UNK_021C4928[i].contents); + UNK_021C4928[i].contents = NULL; + UNK_021C4928[i].name_hash = 0; + } + } +} + +void * FUN_02016324(const s8 * str, u32 heap_id) +{ + s8 sp0[32]; + FSFile file; + void * ret; + int r5 = 0; + + if (str[0] == '!') + { + strcpy(sp0, str + 1); + r5 = 1; + } + else + { + strcpy(sp0, str); + } + u32 r7 = FUN_02016230(sp0); + s32 r0 = FUN_020162A0(r7); + if (r0 >= 0 && r5 == 0) + { + ret = UNK_021C4928[r0].contents; + } + else + { + FS_InitFile(&file); + if (FS_OpenFile(&file, (const char *)sp0)) + { + u32 size = file.prop.file.bottom - file.prop.file.top; + ret = AllocFromHeap(heap_id, size); + if (ret != NULL) + { + if (size != FS_ReadFile(&file, ret, (s32)size)) + { + FreeToHeap(ret); + ret = NULL; + } + } + FS_CloseFile(&file); + if (r5 == 0) + FUN_020162C8(ret, r7); + } + else + ret = NULL; + } + return ret; +} + +void FUN_020163BC(void) +{ + TPCalibrateParam tp; + gMain.unk34 = 0; + gMain.unk38 = 0; + gMain.unk3C = 0; + gMain.unk40 = 0; + gMain.unk44 = 0; + gMain.unk48 = 0; + gMain.unk4C = 0; + gMain.unk50 = 0; + gMain.unk54 = 8; + gMain.unk58 = 15; + gMain.unk5C = 0; + gMain.unk5E = 0; + gMain.unk60 = 0; + gMain.unk62 = 0; + gMain.unk64 = 0; + TP_Init(); + if (TP_GetUserInfo(&tp) == TRUE) + TP_SetCalibrateParam(&tp); + else + { + tp.x0 = 686; + tp.y0 = 1420; + tp.xDotSize = 3621; + tp.yDotSize = 4616; + TP_SetCalibrateParam(&tp); + } +} + +void FUN_02016438(u8 a0) +{ + gMain.unk66 = a0; +} + +void FUN_02016444(u8 a0) +{ + gMain.unk67 |= a0; +} + +void FUN_02016454(u8 a0) +{ + gMain.unk67 &= ~a0; +} + +void FUN_02016464(void) +{ + TPData raw, calib; + if (PAD_DetectFold()) + { + gMain.unk48 = 0; + gMain.unk44 = 0; + gMain.unk4C = 0; + gMain.unk60 = 0; + gMain.unk62 = 0; + return; + } + u32 r0 = PAD_Read(); + gMain.unk40 = gMain.unk3C = (r0 ^ gMain.unk38) & r0; + if (r0 != 0 && gMain.unk38 == r0) + { + if (--gMain.unk50 == 0) + { + gMain.unk40 = r0; + gMain.unk50 = gMain.unk54; + } + } + else + { + gMain.unk50 = gMain.unk58; + } + gMain.unk38 = r0; + gMain.unk48 = gMain.unk3C; + gMain.unk44 = r0; + gMain.unk4C = gMain.unk40; + FUN_02016568(); + if (gMain.unk64 == 0) + { + while (TP_RequestRawSampling(&raw)) + ; + } + else + TP_GetLatestRawPointInAuto(&raw); + TP_GetCalibratedPoint(&calib, &raw); + if (calib.validity == 0) + { + gMain.unk5C = calib.x; + gMain.unk5E = calib.y; + } + else if (gMain.unk62) + { + switch (calib.validity) + { + case 1: + gMain.unk5E = calib.y; + break; + case 2: + gMain.unk5C = calib.x; + break; + case 3: + break; + } + } + else + calib.touch = 0; + gMain.unk60 = (u16)((gMain.unk62 ^ calib.touch) & calib.touch); + gMain.unk62 = calib.touch; +} + +void FUN_02016568(void) +{ + switch (gMain.unk34) + { + case 0: // Normal + break; + case 1: // Start = X + if (gMain.unk48 & PAD_BUTTON_START) + gMain.unk48 |= PAD_BUTTON_X; + if (gMain.unk44 & PAD_BUTTON_START) + gMain.unk44 |= PAD_BUTTON_X; + if (gMain.unk4C & PAD_BUTTON_START) + gMain.unk4C |= PAD_BUTTON_X; + break; + case 2: // Swap X and Y; unused in the retail game + { + u32 r1 = 0; + if (gMain.unk48 & PAD_BUTTON_X) + { + r1 |= PAD_BUTTON_Y; + } + if (gMain.unk48 & PAD_BUTTON_Y) + { + r1 |= PAD_BUTTON_X; + } + gMain.unk48 &= 0xF3FF; + gMain.unk48 |= r1; + } + { + u32 r1 = 0; + if (gMain.unk44 & PAD_BUTTON_X) + { + r1 |= PAD_BUTTON_Y; + } + if (gMain.unk44 & PAD_BUTTON_Y) + { + r1 |= PAD_BUTTON_X; + } + gMain.unk44 &= 0xF3FF; + gMain.unk44 |= r1; + } + { + u32 r1 = 0; + if (gMain.unk4C & PAD_BUTTON_X) + { + r1 |= PAD_BUTTON_Y; + } + if (gMain.unk4C & PAD_BUTTON_Y) + { + r1 |= PAD_BUTTON_X; + } + gMain.unk4C &= 0xF3FF; + gMain.unk4C |= r1; + } + break; + case 3: // L = A + if (gMain.unk48 & PAD_BUTTON_L) + gMain.unk48 |= PAD_BUTTON_A; + if (gMain.unk44 & PAD_BUTTON_L) + gMain.unk44 |= PAD_BUTTON_A; + if (gMain.unk4C & PAD_BUTTON_L) + gMain.unk4C |= PAD_BUTTON_A; + gMain.unk48 &= 0xFCFF; + gMain.unk44 &= 0xFCFF; + gMain.unk4C &= 0xFCFF; + } +} + +void FUN_0201669C(int x, int y) +{ + gMain.unk54 = x; + gMain.unk58 = y; +} + +void FUN_020166A8(u8 a0) +{ + gMain.unk68 |= a0; +} + +void FUN_020166B8(u8 a0) +{ + gMain.unk68 &= ~a0; +} diff --git a/arm9/src/main.c b/arm9/src/main.c index 06673b65..e1c8fb38 100644 --- a/arm9/src/main.c +++ b/arm9/src/main.c @@ -5,6 +5,7 @@ #include "CTRDG_common.h" #include "PAD_pad.h" #include "main.h" +#include "game_init.h" #include "poke_overlay.h" #include "player_data.h" #include "sound.h" @@ -22,12 +23,9 @@ extern void OverlayManager_delete(int); extern BOOL FUN_02033678(void); extern u32 FUN_020335B8(void); extern BOOL FUN_0202FB80(void); -extern void FUN_02016464(void); -extern void FUN_02016438(s32); extern void InitSystemForTheGame(void); extern void InitGraphicMemory(void); -extern void FUN_020163BC(void); extern void FUN_02022294(void); extern void FUN_0201259C(void); extern void FUN_02002C14(void); @@ -41,7 +39,7 @@ extern int FUN_020227FC(struct SaveBlock2 *); extern void FUN_02089D90(int); extern void FUN_0200A2AC(void); extern void FUN_02015E30(void); -extern void FUN_0201B5CC(int); +extern void FUN_0201B5CC(void *); extern void FUN_020125D4(void); extern void FUN_02015E60(void); extern void FUN_020222C4(void); @@ -112,7 +110,7 @@ THUMB_FUNC void NitroMain(void) FUN_02000EE8(); HandleDSLidAction(); FUN_02016464(); - if ((gMain.unk38 & SOFT_RESET_KEY) == SOFT_RESET_KEY && !gUnk021C4918.unk8) // soft reset? + if ((gMain.unk38 & SOFT_RESET_KEY) == SOFT_RESET_KEY && !gMain.unk68) // soft reset? { DoSoftReset(0); // soft reset? } @@ -136,8 +134,8 @@ THUMB_FUNC void NitroMain(void) gMain.unk30 = 0; FUN_0200A318(); FUN_0200E2D8(); - if (gMain.unk0) - gMain.unk0(gMain.unk4); + if (gMain.vBlankIntr) + gMain.vBlankIntr(gMain.vBlankIntrArg); DoSoundUpdateFrame(); FUN_0201B5CC(gMain.unk20); } @@ -187,8 +185,8 @@ THUMB_FUNC void FUN_02000E9C(void) OS_WaitIrq(TRUE, OS_IE_V_BLANK); gMain.unk2C++; gMain.unk30 = 0; - if (gMain.unk0 != NULL) - gMain.unk0(gMain.unk4); + if (gMain.vBlankIntr != NULL) + gMain.vBlankIntr(gMain.vBlankIntrArg); } THUMB_FUNC void FUN_02000EC8(u32 parameter) @@ -289,7 +287,7 @@ THUMB_FUNC void HandleDSLidAction(void) PMBackLightSwitch top, bottom; if (PAD_DetectFold()) { - if (!gUnk021C4918.unk7) + if (!gMain.unk67) { FUN_0201CE04(); if (CTRDG_IsPulledOut() == TRUE) @@ -301,7 +299,7 @@ THUMB_FUNC void HandleDSLidAction(void) while (1) { PMWakeUpTrigger trigger = PM_TRIGGER_COVER_OPEN | PM_TRIGGER_CARD; - if (gUnk021C4918.unk6 && !r1) + if (gMain.unk66 && !r1) trigger |= PM_TRIGGER_CARTRIDGE; PM_GoSleepMode(trigger, PM_PAD_LOGIC_OR, 0); if (CARD_IsPulledOut()) diff --git a/arm9/src/poke_overlay.c b/arm9/src/poke_overlay.c index 237cdc26..4dd98670 100644 --- a/arm9/src/poke_overlay.c +++ b/arm9/src/poke_overlay.c @@ -40,7 +40,7 @@ THUMB_FUNC s32 GetOverlayLoadDestination(FSOverlayID id) end = (u8 *)HW_ITCM_END; if (info.header.ram_address <= end && info.header.ram_address >= start) return OVERLAY_LOAD_ITCM; - start = (u8 *)SDK_AUTOLOAD_DTCM_START; + start = (u8 *)HW_DTCM; end = start + HW_DTCM_SIZE; if (info.header.ram_address <= end && info.header.ram_address >= start) return OVERLAY_LOAD_DTCM; diff --git a/arm9/src/unk_0200CA44.c b/arm9/src/unk_0200CA44.c index 86dac59d..fc4656b2 100644 --- a/arm9/src/unk_0200CA44.c +++ b/arm9/src/unk_0200CA44.c @@ -2,7 +2,7 @@ #include "main.h" #include "unk_0200CA44.h" -extern void FUN_0201B60C(s32, void (*)(void *, void *), void *, void *); +extern void FUN_0201B60C(void *, void (*)(void *, void *), void *, void *); extern void FUN_0201B6A0(s32); THUMB_FUNC void FUN_0200CA44(void (*r0)(void *, void *), void * r1, void * r2) diff --git a/include/MWC_string.h b/include/MWC_string.h index 79639239..8e30b47e 100644 --- a/include/MWC_string.h +++ b/include/MWC_string.h @@ -5,5 +5,7 @@ void * memset(void *, int, u32); void * memcpy(void *, const void *, u32); +u32 strlen(const s8 *); +void strcpy(s8 * dest, const s8 * src); #endif //GUARD_MWC_STRING_H diff --git a/include/game_init.h b/include/game_init.h new file mode 100644 index 00000000..7a6e34fb --- /dev/null +++ b/include/game_init.h @@ -0,0 +1,34 @@ +#ifndef POKEDIAMOND_GAME_INIT_H +#define POKEDIAMOND_GAME_INIT_H + +#include "main.h" + +void FUN_02015EA0(void); +void FUN_02015ED4(void); +void FUN_02015EF4(void); +void Main_SetVBlankIntrCB(void (*a0)(void *), void * a1); +void FUN_02015F1C(void); +BOOL FUN_02015F34(void (*a0)(void *), void * a1); +void FUN_02015F6C(void); +void Main_HBlankIntr(BOOL a0); +void FUN_02015FC8(void); +void InitSystemForTheGame(void); +void InitGraphicMemory(void); +void * FUN_020161A4(u32 heap_id, const char * path); +void FUN_020161F8(const char * path, void ** ptr); +u32 FUN_02016230(const s8 * str); +int FUN_020162A0(u32 a0); +int FUN_020162C8(void * a0, u32 a1); +void FUN_020162FC(void); +void * FUN_02016324(const s8 * str, u32 heap_id); +void FUN_020163BC(void); +void FUN_02016438(u8 a0); +void FUN_02016444(u8 a0); +void FUN_02016454(u8 a0); +void FUN_02016464(void); +void FUN_02016568(void); +void FUN_0201669C(int x, int y); +void FUN_020166A8(u8 a0); +void FUN_020166B8(u8 a0); + +#endif //POKEDIAMOND_GAME_INIT_H diff --git a/include/main.h b/include/main.h index fa31953c..499861a8 100644 --- a/include/main.h +++ b/include/main.h @@ -54,29 +54,6 @@ struct Unk21C4828 u32 unk8; }; -struct Unk21C48B8 -{ - void (*unk0)(s32); - s32 unk4; - s32 unk8; - s32 unkC; - s32 unk10; - s32 unk14; - s32 unk18; - s32 unk1C; - s32 unk20; - s32 unk24; - s32 unk28; - u32 unk2C; - s32 unk30; - s32 unk34; - s32 unk38; - u8 filler3C[0xC]; - s32 unk48; - u8 filler4C[0x20]; - s32 unk6C; -}; - struct UnkStruct_021C4918 { s32 unk0; u8 unk4; @@ -87,14 +64,52 @@ struct UnkStruct_021C4918 { u8 padding[3]; }; -extern struct UnkStruct_021C4918 gUnk021C4918; +struct Main +{ + void (*vBlankIntr)(void *); + void * vBlankIntrArg; + void (*hBlankIntr)(void *); + void * hBlankIntrArg; + s32 unk10; + s32 unk14; + void * unk18; + void * unk1C; + void * unk20; + void * unk24; + s32 unk28; + u32 unk2C; + s32 unk30; + u32 unk34; + u32 unk38; + u32 unk3C; + u32 unk40; + u32 unk44; + u32 unk48; + u32 unk4C; + s32 unk50; + s32 unk54; + s32 unk58; + u16 unk5C; + u16 unk5E; + u16 unk60; + u16 unk62; + u8 unk64; + u8 unk65; + u8 unk66; + u8 unk67; + u8 unk68; + u8 padding_69[3]; + s32 unk6C; +}; + +//extern struct UnkStruct_021C4918 gMain + 0x60; extern struct Unk2106FA0 gBacklightTop; extern struct Unk2106FA0 gBacklightTop_2; // same as the first one, it's referenced twice in the constant pool... void NitroMain(void); -extern struct Unk21C48B8 gMain; +extern struct Main gMain; void FUN_02000DF4(void); void Main_RunOverlayManager(void); diff --git a/include/unk_0201B4E8.h b/include/unk_0201B4E8.h new file mode 100644 index 00000000..d29b198c --- /dev/null +++ b/include/unk_0201B4E8.h @@ -0,0 +1,7 @@ +#ifndef POKEDIAMOND_UNK_0201B4E8_H +#define POKEDIAMOND_UNK_0201B4E8_H + +void * FUN_0201B580(u32, void *); +u32 FUN_0201B578(u32); + +#endif //POKEDIAMOND_UNK_0201B4E8_H |