summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <PikalaxALT@users.noreply.github.com>2020-07-27 10:59:58 -0400
committerGitHub <noreply@github.com>2020-07-27 10:59:58 -0400
commitbb6d2a9a3178b421ed5c6cb738e93257834d1f54 (patch)
treef410221677f32a44ebb71c93eeb4609c6217c48b
parent8e1946da03f96b5696d3f8f248a2b675ba80d594 (diff)
parent1a6f96cf99c403b5fa22bd94a45db55c0adaff9e (diff)
Merge pull request #245 from red031000/master
finish poketch sinit sections + 62 sinit + arm7 RTC cleanup
-rw-r--r--arm7/arm7.lsf1
-rw-r--r--arm7/asm/RTC_external.s673
-rw-r--r--arm7/asm/RTC_unk_03805064.s665
-rw-r--r--arm7/global.inc4
-rw-r--r--arm9/arm9.lsf12
-rw-r--r--arm9/lib/src/MI_dma_gxcommand.c2
-rw-r--r--arm9/modules/31/asm/module_31.s15
-rw-r--r--arm9/modules/31/src/module_31_sinit.c13
-rw-r--r--arm9/modules/33/asm/module_33.s15
-rw-r--r--arm9/modules/33/src/module_33_sinit.c13
-rw-r--r--arm9/modules/35/asm/module_35.s15
-rw-r--r--arm9/modules/35/src/module_35_sinit.c13
-rw-r--r--arm9/modules/37/asm/module_37.s15
-rw-r--r--arm9/modules/37/src/module_37_sinit.c13
-rw-r--r--arm9/modules/38/asm/module_38.s15
-rw-r--r--arm9/modules/38/src/module_38_sinit.c13
-rw-r--r--arm9/modules/40/asm/module_40.s15
-rw-r--r--arm9/modules/40/src/module_40_sinit.c13
-rw-r--r--arm9/modules/45/asm/module_45.s15
-rw-r--r--arm9/modules/45/src/module_45_sinit.c13
-rw-r--r--arm9/modules/46/asm/module_46.s15
-rw-r--r--arm9/modules/46/src/module_46_sinit.c13
-rw-r--r--arm9/modules/48/asm/module_48.s15
-rw-r--r--arm9/modules/48/src/module_48_sinit.c13
-rw-r--r--arm9/modules/49/asm/module_49.s15
-rw-r--r--arm9/modules/49/src/module_49_sinit.c13
-rw-r--r--arm9/modules/50/asm/module_50.s15
-rw-r--r--arm9/modules/50/src/module_50_sinit.c13
-rw-r--r--arm9/modules/62/asm/module_62.s14
-rw-r--r--arm9/modules/62/src/module_62_sinit.c13
30 files changed, 836 insertions, 856 deletions
diff --git a/arm7/arm7.lsf b/arm7/arm7.lsf
index 7be05a3a..a1911846 100644
--- a/arm7/arm7.lsf
+++ b/arm7/arm7.lsf
@@ -70,7 +70,6 @@ Autoload WRAM
Object CTRDG.o
Object CTRDG_sp.o
Object NVRAM.o
- Object RTC_unk_03805064.o
Object RTC_external.o
Object wram2.o
Object wram_bss.o
diff --git a/arm7/asm/RTC_external.s b/arm7/asm/RTC_external.s
index 2b45b9e3..6dc893cb 100644
--- a/arm7/asm/RTC_external.s
+++ b/arm7/asm/RTC_external.s
@@ -3,12 +3,671 @@
.section .bss
+ .global _0380A038
+_0380A038: ;0x0380A038
+ .space 0x0380A03C - 0x0380A038
+
+ .global _0380A03C
+_0380A03C: ;0x0380A03C
+ .space 0x0380A05C - 0x0380A03C
+
+ .global _0380A05C
+_0380A05C: ;0x0380A05C
+ .space 0x0380A06C - 0x0380A05C
+
+ .global _0380A06C
+_0380A06C: ;0x0380A06C
+ .space 0x0380A13C - 0x0380A06C
+
+ .global _0380A13C
+_0380A13C: ;0x0380A13C
+ .space 0x0380A210 - 0x0380A13C
+
.global _0380A210
_0380A210: ;0x0380A210
.space 0x0380A3F0 - 0x0380A210
.section .text
+ arm_func_start RtcBCD2HEX
+RtcBCD2HEX: ;@ 0x03805064
+ stmfd sp!, {lr}
+ sub sp, sp, #4
+ mov lr, #0
+ mov r2, lr
+ b _03805094
+_03805078:
+ mov r1, r2, lsl #2
+ mov r1, r0, lsr r1
+ and r1, r1, #15
+ cmp r1, #10
+ movcs r0, #0
+ bcs _038050D0
+ add r2, r2, #1
+_03805094:
+ cmp r2, #8
+ blt _03805078
+ mov r3, #0
+ mov ip, #1
+ mov r2, #10
+_038050A8:
+ mov r1, r3, lsl #2
+ mov r1, r0, lsr r1
+ and r1, r1, #15
+ mla lr, ip, r1, lr
+ add r3, r3, #1
+ mul r1, ip, r2
+ mov ip, r1
+ cmp r3, #8
+ blt _038050A8
+ mov r0, lr
+_038050D0:
+ add sp, sp, #4
+ ldmia sp!, {lr}
+ bx lr
+
+ arm_func_start RtcGetDayOfWeek
+RtcGetDayOfWeek: ;@ 0x038050DC
+ stmdb sp!, {r4, r5, r6, r7, r8, lr}
+ mov r8, r0
+ mov r7, r1
+ mov r6, r2
+ sub r0, r7, #1
+ cmp r0, #1
+ subls r8, r8, #1
+ addls r7, r7, #12
+ mov r0, r8
+ mov r1, #400 ;@ 0x190
+ bl _u32_div_f
+ mov r5, r0
+ mov r0, r8
+ mov r1, #100 ;@ 0x64
+ bl _u32_div_f
+ mov r4, r0
+ mov r0, #13
+ mul r0, r7, r0
+ add r0, r0, #8
+ mov r1, #5
+ bl _u32_div_f
+ add r1, r8, r8, lsr #2
+ sub r1, r1, r4
+ add r1, r5, r1
+ add r0, r1, r0
+ add r0, r6, r0
+ mov r1, #7
+ bl _u32_div_f
+ mov r0, r1
+ ldmia sp!, {r4, r5, r6, r7, r8, lr}
+ bx lr
+
+ arm_func_start RtcInitialize
+RtcInitialize: ;@ 0x03805158
+ stmdb sp!, {r4, r5, lr}
+ sub sp, sp, #4
+ add r0, sp, #0
+ bl RTC_ReadStatus1
+ add r0, sp, #2
+ bl RTC_ReadStatus2
+ ldrh r0, [sp]
+ mov r1, r0, lsl #24
+ movs r1, r1, lsr #31
+ bne _0380519C
+ mov r0, r0, lsl #25
+ movs r0, r0, lsr #31
+ bne _0380519C
+ ldrh r0, [sp, #2]
+ mov r0, r0, lsl #24
+ movs r0, r0, lsr #31
+ beq _038051B4
+_0380519C:
+ ldrh r0, [sp]
+ bic r0, r0, #1
+ orr r0, r0, #1
+ strh r0, [sp]
+ add r0, sp, #0
+ bl RTC_WriteStatus1
+_038051B4:
+ ldrh r0, [sp]
+ mov r1, r0, lsl #27
+ movs r1, r1, lsr #31
+ bne _038051D0
+ mov r0, r0, lsl #26
+ movs r0, r0, lsr #31
+ beq _038051F0
+_038051D0:
+ ldrh r0, [sp, #2]
+ bic r0, r0, #15
+ strh r0, [sp, #2]
+ ldrh r0, [sp, #2]
+ bic r0, r0, #64 ;@ 0x40
+ strh r0, [sp, #2]
+ add r0, sp, #2
+ bl RTC_WriteStatus2
+_038051F0:
+ ldr r0, _03805288 ;@ =0x027FFDE8
+ bl RTC_ReadDateTime
+ ldr r0, _03805288 ;@ =0x027FFDE8
+ ldrb r0, [r0]
+ bl RtcBCD2HEX
+ mov r4, r0
+ ldr r0, _03805288 ;@ =0x027FFDE8
+ ldr r0, [r0]
+ mov r0, r0, lsl #19
+ mov r0, r0, lsr #27
+ bl RtcBCD2HEX
+ mov r5, r0
+ ldr r0, _03805288 ;@ =0x027FFDE8
+ ldr r0, [r0]
+ mov r0, r0, lsl #10
+ mov r0, r0, lsr #26
+ bl RtcBCD2HEX
+ mov r2, r0
+ add r0, r4, #2000 ;@ 0x7d0
+ mov r1, r5
+ bl RtcGetDayOfWeek
+ ldr r2, _03805288 ;@ =0x027FFDE8
+ ldr r1, [r2]
+ mov r3, r1, lsl #5
+ mov r3, r3, lsr #29
+ cmp r3, r0
+ beq _03805274
+ bic r1, r1, #117440512 ;@ 0x7000000
+ and r0, r0, #7
+ orr r0, r1, r0, lsl #24
+ str r0, [r2]
+ mov r0, r2
+ bl RTC_WriteDateTime
+_03805274:
+ mov r0, #1
+ bl RTC_SetHourFormat
+ add sp, sp, #4
+ ldmia sp!, {r4, r5, lr}
+ bx lr
+_03805288: .word 0x027FFDE8
+
+ arm_func_start RtcAlarmIntr
+RtcAlarmIntr: ;@ 0x0380528C
+ stmdb sp!, {r4, lr}
+ sub sp, sp, #8
+ add r0, sp, #0
+ bl RTC_ReadStatus1
+ ldrh r0, [sp]
+ mov r1, r0, lsl #27
+ movs r1, r1, lsr #31
+ bne _038052B8
+ mov r0, r0, lsl #26
+ movs r0, r0, lsr #31
+ beq _03805310
+_038052B8:
+ add r0, sp, #2
+ bl RTC_ReadStatus2
+ mov r4, #0
+ ldrh r0, [sp]
+ mov r0, r0, lsl #27
+ movs r0, r0, lsr #31
+ orrne r4, r4, #1
+ ldrneh r0, [sp, #2]
+ bicne r0, r0, #15
+ strneh r0, [sp, #2]
+ ldrh r0, [sp]
+ mov r0, r0, lsl #26
+ movs r0, r0, lsr #31
+ orrne r4, r4, #2
+ ldrneh r0, [sp, #2]
+ bicne r0, r0, #64 ;@ 0x40
+ strneh r0, [sp, #2]
+ add r0, sp, #2
+ bl RTC_WriteStatus2
+ mov r0, #48 ;@ 0x30
+ mov r1, r4
+ bl RtcReturnResult
+_03805310:
+ add sp, sp, #8
+ ldmia sp!, {r4, lr}
+ bx lr
+
+ arm_func_start RtcThread
+RtcThread: ;@ 0x0380531C
+ stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ sub sp, sp, #76 ;@ 0x4c
+ ldr r6, _038057CC ;@ =0x027FFDE8
+ add r5, r6, #4
+ mov r7, #0
+ ldr r9, _038057D0 ;@ =_0380A03C
+ mov r8, #1
+ mov r0, #16
+ str r0, [sp]
+ mov r0, #17
+ str r0, [sp, #4]
+ mov r0, #18
+ str r0, [sp, #8]
+ mov sl, #19
+ mov r4, #2
+ mov fp, #20
+ mov r0, #21
+ str r0, [sp, #12]
+ mov r0, #22
+ str r0, [sp, #16]
+ mov r0, #23
+ str r0, [sp, #20]
+ mov r0, #24
+ str r0, [sp, #24]
+ mov r0, #25
+ str r0, [sp, #28]
+ mov r0, #32
+ str r0, [sp, #32]
+ mov r0, #33 ;@ 0x21
+ str r0, [sp, #36] ;@ 0x24
+ mov r0, #34 ;@ 0x22
+ str r0, [sp, #40] ;@ 0x28
+ mov r0, #35 ;@ 0x23
+ str r0, [sp, #44] ;@ 0x2c
+ mov r0, #36 ;@ 0x24
+ str r0, [sp, #48] ;@ 0x30
+ mov r0, #37 ;@ 0x25
+ str r0, [sp, #52] ;@ 0x34
+ mov r0, #38 ;@ 0x26
+ str r0, [sp, #56] ;@ 0x38
+ mov r0, #39 ;@ 0x27
+ str r0, [sp, #60] ;@ 0x3c
+ mov r0, #40 ;@ 0x28
+ str r0, [sp, #64] ;@ 0x40
+ mov r0, #41 ;@ 0x29
+ str r0, [sp, #68] ;@ 0x44
+_038053D4:
+ mov r0, r9
+ add r1, sp, #72 ;@ 0x48
+ mov r2, r8
+ bl OS_ReceiveMessage
+ ldr r0, _038057D4 ;@ =_0380A13C
+ ldrh r0, [r0, #216] ;@ 0xd8
+ cmp r0, #41 ;@ 0x29
+ addls pc, pc, r0, lsl #2
+ b _038057BC
+ b _038054A0
+ b _038054B8
+ b _038057BC
+ b _038057BC
+ b _038057BC
+ b _038057BC
+ b _038057BC
+ b _038057BC
+ b _038057BC
+ b _038057BC
+ b _038057BC
+ b _038057BC
+ b _038057BC
+ b _038057BC
+ b _038057BC
+ b _038057BC
+ b _038054DC
+ b _038054F8
+ b _03805514
+ b _03805530
+ b _03805568
+ b _038055A0
+ b _038055D8
+ b _038055F4
+ b _03805610
+ b _0380562C
+ b _038057BC
+ b _038057BC
+ b _038057BC
+ b _038057BC
+ b _038057BC
+ b _038057BC
+ b _03805648
+ b _03805664
+ b _03805688
+ b _038056A4
+ b _038056DC
+ b _03805714
+ b _0380574C
+ b _03805768
+ b _03805784
+ b _038057A0
+_038054A0:
+ bl RTC_Reset
+ str r7, [r9, #468] ;@ 0x1d4
+ mov r0, r7
+ mov r1, r7
+ bl RtcReturnResult
+ b _038053D4
+_038054B8:
+ ldrh r0, [r6]
+ mov r0, r0, lsl #30
+ mov r0, r0, lsr #31
+ bl RTC_SetHourFormat
+ str r7, [r9, #468] ;@ 0x1d4
+ mov r0, r8
+ mov r1, r7
+ bl RtcReturnResult
+ b _038053D4
+_038054DC:
+ mov r0, r6
+ bl RTC_ReadDateTime
+ str r7, [r9, #468] ;@ 0x1d4
+ ldr r0, [sp]
+ mov r1, r7
+ bl RtcReturnResult
+ b _038053D4
+_038054F8:
+ mov r0, r6
+ bl RTC_ReadDate
+ str r7, [r9, #468] ;@ 0x1d4
+ ldr r0, [sp, #4]
+ mov r1, r7
+ bl RtcReturnResult
+ b _038053D4
+_03805514:
+ add r0, r6, #4
+ bl RTC_ReadTime
+ str r7, [r9, #468] ;@ 0x1d4
+ ldr r0, [sp, #8]
+ mov r1, r7
+ bl RtcReturnResult
+ b _038053D4
+_03805530:
+ mov r0, r5
+ bl RTC_ReadPulse
+ cmp r0, #0
+ bne _03805554
+ str r7, [r9, #468] ;@ 0x1d4
+ mov r0, sl
+ mov r1, r4
+ bl RtcReturnResult
+ b _038053D4
+_03805554:
+ str r7, [r9, #468] ;@ 0x1d4
+ mov r0, sl
+ mov r1, r7
+ bl RtcReturnResult
+ b _038053D4
+_03805568:
+ mov r0, r5
+ bl RTC_ReadAlarm1
+ cmp r0, #0
+ bne _0380558C
+ str r7, [r9, #468] ;@ 0x1d4
+ mov r0, fp
+ mov r1, r4
+ bl RtcReturnResult
+ b _038053D4
+_0380558C:
+ str r7, [r9, #468] ;@ 0x1d4
+ mov r0, fp
+ mov r1, r7
+ bl RtcReturnResult
+ b _038053D4
+_038055A0:
+ mov r0, r5
+ bl RTC_ReadAlarm2
+ cmp r0, #0
+ bne _038055C4
+ str r7, [r9, #468] ;@ 0x1d4
+ ldr r0, [sp, #12]
+ mov r1, r4
+ bl RtcReturnResult
+ b _038053D4
+_038055C4:
+ str r7, [r9, #468] ;@ 0x1d4
+ ldr r0, [sp, #12]
+ mov r1, r7
+ bl RtcReturnResult
+ b _038053D4
+_038055D8:
+ mov r0, r6
+ bl RTC_ReadStatus1
+ str r7, [r9, #468] ;@ 0x1d4
+ ldr r0, [sp, #16]
+ mov r1, r7
+ bl RtcReturnResult
+ b _038053D4
+_038055F4:
+ add r0, r6, #2
+ bl RTC_ReadStatus2
+ str r7, [r9, #468] ;@ 0x1d4
+ ldr r0, [sp, #20]
+ mov r1, r7
+ bl RtcReturnResult
+ b _038053D4
+_03805610:
+ add r0, r6, #4
+ bl RTC_ReadAdjust
+ str r7, [r9, #468] ;@ 0x1d4
+ ldr r0, [sp, #24]
+ mov r1, r7
+ bl RtcReturnResult
+ b _038053D4
+_0380562C:
+ add r0, r6, #4
+ bl RTC_ReadFree
+ str r7, [r9, #468] ;@ 0x1d4
+ ldr r0, [sp, #28]
+ mov r1, r7
+ bl RtcReturnResult
+ b _038053D4
+_03805648:
+ mov r0, r6
+ bl RTC_WriteDateTime
+ str r7, [r9, #468] ;@ 0x1d4
+ ldr r0, [sp, #32]
+ mov r1, r7
+ bl RtcReturnResult
+ b _038053D4
+_03805664:
+ add r0, r6, #4
+ bl RTC_ReadTime
+ mov r0, r6
+ bl RTC_WriteDateTime
+ str r7, [r9, #468] ;@ 0x1d4
+ ldr r0, [sp, #36] ;@ 0x24
+ mov r1, r7
+ bl RtcReturnResult
+ b _038053D4
+_03805688:
+ add r0, r6, #4
+ bl RTC_WriteTime
+ str r7, [r9, #468] ;@ 0x1d4
+ ldr r0, [sp, #40] ;@ 0x28
+ mov r1, r7
+ bl RtcReturnResult
+ b _038053D4
+_038056A4:
+ mov r0, r5
+ bl RTC_WritePulse
+ cmp r0, #0
+ bne _038056C8
+ str r7, [r9, #468] ;@ 0x1d4
+ ldr r0, [sp, #44] ;@ 0x2c
+ mov r1, r4
+ bl RtcReturnResult
+ b _038053D4
+_038056C8:
+ str r7, [r9, #468] ;@ 0x1d4
+ ldr r0, [sp, #44] ;@ 0x2c
+ mov r1, r7
+ bl RtcReturnResult
+ b _038053D4
+_038056DC:
+ mov r0, r5
+ bl RTC_WriteAlarm1
+ cmp r0, #0
+ bne _03805700
+ str r7, [r9, #468] ;@ 0x1d4
+ ldr r0, [sp, #48] ;@ 0x30
+ mov r1, r4
+ bl RtcReturnResult
+ b _038053D4
+_03805700:
+ str r7, [r9, #468] ;@ 0x1d4
+ ldr r0, [sp, #48] ;@ 0x30
+ mov r1, r7
+ bl RtcReturnResult
+ b _038053D4
+_03805714:
+ mov r0, r5
+ bl RTC_WriteAlarm2
+ cmp r0, #0
+ bne _03805738
+ str r7, [r9, #468] ;@ 0x1d4
+ ldr r0, [sp, #52] ;@ 0x34
+ mov r1, r4
+ bl RtcReturnResult
+ b _038053D4
+_03805738:
+ str r7, [r9, #468] ;@ 0x1d4
+ ldr r0, [sp, #52] ;@ 0x34
+ mov r1, r7
+ bl RtcReturnResult
+ b _038053D4
+_0380574C:
+ mov r0, r6
+ bl RTC_WriteStatus1
+ str r7, [r9, #468] ;@ 0x1d4
+ ldr r0, [sp, #56] ;@ 0x38
+ mov r1, r7
+ bl RtcReturnResult
+ b _038053D4
+_03805768:
+ add r0, r6, #2
+ bl RTC_WriteStatus2
+ str r7, [r9, #468] ;@ 0x1d4
+ ldr r0, [sp, #60] ;@ 0x3c
+ mov r1, r7
+ bl RtcReturnResult
+ b _038053D4
+_03805784:
+ add r0, r6, #4
+ bl RTC_WriteAdjust
+ str r7, [r9, #468] ;@ 0x1d4
+ ldr r0, [sp, #64] ;@ 0x40
+ mov r1, r7
+ bl RtcReturnResult
+ b _038053D4
+_038057A0:
+ add r0, r6, #4
+ bl RTC_WriteFree
+ str r7, [r9, #468] ;@ 0x1d4
+ ldr r0, [sp, #68] ;@ 0x44
+ mov r1, r7
+ bl RtcReturnResult
+ b _038053D4
+_038057BC:
+ str r7, [r9, #468] ;@ 0x1d4
+ mov r1, r8
+ bl RtcReturnResult
+ b _038053D4
+_038057CC: .word 0x027FFDE8
+_038057D0: .word _0380A03C
+_038057D4: .word _0380A13C
+
+ arm_func_start RtcReturnResult
+RtcReturnResult: ;@ 0x038057D8
+ stmdb sp!, {r4, r5, r6, lr}
+ mov r0, r0, lsl #8
+ and r0, r0, #32512 ;@ 0x7f00
+ orr r2, r0, #32768 ;@ 0x8000
+ and r0, r1, #255 ;@ 0xff
+ orr r6, r2, r0
+ mov r5, #5
+ mov r4, #0
+_038057F8:
+ mov r0, r5
+ mov r1, r6
+ mov r2, r4
+ bl PXI_SendWordByFifo
+ cmp r0, #0
+ blt _038057F8
+ ldmia sp!, {r4, r5, r6, lr}
+ bx lr
+
+ arm_func_start RtcPxiCallback
+RtcPxiCallback: ;@ 0x03805818
+ stmdb sp!, {r4, lr}
+ cmp r2, #0
+ bne _03805944
+ and r0, r1, #32512 ;@ 0x7f00
+ mov r0, r0, lsl #8
+ mov r4, r0, lsr #16
+ cmp r4, #41 ;@ 0x29
+ addls pc, pc, r4, lsl #2
+ b _03805938
+ b _038058E4
+ b _038058E4
+ b _03805938
+ b _03805938
+ b _03805938
+ b _03805938
+ b _03805938
+ b _03805938
+ b _03805938
+ b _03805938
+ b _03805938
+ b _03805938
+ b _03805938
+ b _03805938
+ b _03805938
+ b _03805938
+ b _038058E4
+ b _038058E4
+ b _038058E4
+ b _038058E4
+ b _038058E4
+ b _038058E4
+ b _038058E4
+ b _038058E4
+ b _038058E4
+ b _038058E4
+ b _03805938
+ b _03805938
+ b _03805938
+ b _03805938
+ b _03805938
+ b _03805938
+ b _03805938
+ b _03805938
+ b _03805938
+ b _038058E4
+ b _038058E4
+ b _038058E4
+ b _038058E4
+ b _038058E4
+ b _038058E4
+ b _038058E4
+_038058E4:
+ ldr r0, _0380594C ;@ =_0380A03C
+ ldr r1, [r0, #468] ;@ 0x1d4
+ cmp r1, #0
+ beq _03805904
+ mov r0, r4
+ mov r1, #3
+ bl RtcReturnResult
+ b _03805944
+_03805904:
+ mov r1, #1
+ str r1, [r0, #468] ;@ 0x1d4
+ ldr r1, _03805950 ;@ =_0380A13C
+ strh r4, [r1, #216] ;@ 0xd8
+ mov r1, #0
+ mov r2, r1
+ bl OS_SendMessage
+ cmp r0, #0
+ bne _03805944
+ mov r0, r4
+ mov r1, #4
+ bl RtcReturnResult
+ b _03805944
+_03805938:
+ mov r0, r4
+ mov r1, #1
+ bl RtcReturnResult
+_03805944:
+ ldmia sp!, {r4, lr}
+ bx lr
+_0380594C: .word _0380A03C
+_03805950: .word _0380A13C
+
arm_func_start RTC_Init
RTC_Init: ;@ 0x03805954
stmdb sp!, {r4, lr}
@@ -22,13 +681,13 @@ RTC_Init: ;@ 0x03805954
strh r1, [r0]
ldr r0, _03805A2C ;@ =_0380A03C
str r1, [r0, #468] ;@ 0x1d4
- bl FUN_03805158
+ bl RtcInitialize
mov r1, #0
ldr r0, _03805A2C ;@ =_0380A03C
str r1, [r0, #468] ;@ 0x1d4
bl PXI_Init
mov r0, #5
- ldr r1, _03805A30 ;@ =FUN_03805818
+ ldr r1, _03805A30 ;@ =RtcPxiCallback
bl PXI_SetFifoRecvCallback
ldr r0, _03805A2C ;@ =_0380A03C
ldr r1, _03805A34 ;@ =_0380A05C
@@ -38,7 +697,7 @@ RTC_Init: ;@ 0x03805954
str r0, [sp]
str r4, [sp, #4]
ldr r0, _03805A38 ;@ =_0380A06C
- ldr r1, _03805A3C ;@ =FUN_0380531C
+ ldr r1, _03805A3C ;@ =RtcThread
mov r2, #0
ldr r3, _03805A40 ;@ =_0380A210
bl OS_CreateThread
@@ -55,7 +714,7 @@ RTC_Init: ;@ 0x03805954
bl OS_DisableInterrupts
mov r4, r0
mov r0, #128 ;@ 0x80
- ldr r1, _03805A44 ;@ =FUN_0380528C
+ ldr r1, _03805A44 ;@ =RtcAlarmIntr
bl OS_SetIrqFunction
mov r0, #128 ;@ 0x80
bl OS_EnableIrqMask
@@ -67,9 +726,9 @@ _03805A1C:
bx lr
_03805A28: .word _0380A038
_03805A2C: .word _0380A03C
-_03805A30: .word FUN_03805818
+_03805A30: .word RtcPxiCallback
_03805A34: .word _0380A05C
_03805A38: .word _0380A06C
-_03805A3C: .word FUN_0380531C
+_03805A3C: .word RtcThread
_03805A40: .word _0380A210
-_03805A44: .word FUN_0380528C
+_03805A44: .word RtcAlarmIntr
diff --git a/arm7/asm/RTC_unk_03805064.s b/arm7/asm/RTC_unk_03805064.s
deleted file mode 100644
index 095d0149..00000000
--- a/arm7/asm/RTC_unk_03805064.s
+++ /dev/null
@@ -1,665 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .section .bss
-
- .global _0380A038
-_0380A038: ;0x0380A038
- .space 0x0380A03C - 0x0380A038
-
- .global _0380A03C
-_0380A03C: ;0x0380A03C
- .space 0x0380A05C - 0x0380A03C
-
- .global _0380A05C
-_0380A05C: ;0x0380A05C
- .space 0x0380A06C - 0x0380A05C
-
- .global _0380A06C
-_0380A06C: ;0x0380A06C
- .space 0x0380A13C - 0x0380A06C
-
- .global _0380A13C
-_0380A13C: ;0x0380A13C
- .space 0x0380A210 - 0x0380A13C
-
- .section .text
-
- arm_func_start FUN_03805064
-FUN_03805064: ;@ 0x03805064
- stmfd sp!, {lr}
- sub sp, sp, #4
- mov lr, #0
- mov r2, lr
- b _03805094
-_03805078:
- mov r1, r2, lsl #2
- mov r1, r0, lsr r1
- and r1, r1, #15
- cmp r1, #10
- movcs r0, #0
- bcs _038050D0
- add r2, r2, #1
-_03805094:
- cmp r2, #8
- blt _03805078
- mov r3, #0
- mov ip, #1
- mov r2, #10
-_038050A8:
- mov r1, r3, lsl #2
- mov r1, r0, lsr r1
- and r1, r1, #15
- mla lr, ip, r1, lr
- add r3, r3, #1
- mul r1, ip, r2
- mov ip, r1
- cmp r3, #8
- blt _038050A8
- mov r0, lr
-_038050D0:
- add sp, sp, #4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start FUN_038050DC
-FUN_038050DC: ;@ 0x038050DC
- stmdb sp!, {r4, r5, r6, r7, r8, lr}
- mov r8, r0
- mov r7, r1
- mov r6, r2
- sub r0, r7, #1
- cmp r0, #1
- subls r8, r8, #1
- addls r7, r7, #12
- mov r0, r8
- mov r1, #400 ;@ 0x190
- bl _u32_div_f
- mov r5, r0
- mov r0, r8
- mov r1, #100 ;@ 0x64
- bl _u32_div_f
- mov r4, r0
- mov r0, #13
- mul r0, r7, r0
- add r0, r0, #8
- mov r1, #5
- bl _u32_div_f
- add r1, r8, r8, lsr #2
- sub r1, r1, r4
- add r1, r5, r1
- add r0, r1, r0
- add r0, r6, r0
- mov r1, #7
- bl _u32_div_f
- mov r0, r1
- ldmia sp!, {r4, r5, r6, r7, r8, lr}
- bx lr
-
- arm_func_start FUN_03805158
-FUN_03805158: ;@ 0x03805158
- stmdb sp!, {r4, r5, lr}
- sub sp, sp, #4
- add r0, sp, #0
- bl RTC_ReadStatus1
- add r0, sp, #2
- bl RTC_ReadStatus2
- ldrh r0, [sp]
- mov r1, r0, lsl #24
- movs r1, r1, lsr #31
- bne _0380519C
- mov r0, r0, lsl #25
- movs r0, r0, lsr #31
- bne _0380519C
- ldrh r0, [sp, #2]
- mov r0, r0, lsl #24
- movs r0, r0, lsr #31
- beq _038051B4
-_0380519C:
- ldrh r0, [sp]
- bic r0, r0, #1
- orr r0, r0, #1
- strh r0, [sp]
- add r0, sp, #0
- bl RTC_WriteStatus1
-_038051B4:
- ldrh r0, [sp]
- mov r1, r0, lsl #27
- movs r1, r1, lsr #31
- bne _038051D0
- mov r0, r0, lsl #26
- movs r0, r0, lsr #31
- beq _038051F0
-_038051D0:
- ldrh r0, [sp, #2]
- bic r0, r0, #15
- strh r0, [sp, #2]
- ldrh r0, [sp, #2]
- bic r0, r0, #64 ;@ 0x40
- strh r0, [sp, #2]
- add r0, sp, #2
- bl RTC_WriteStatus2
-_038051F0:
- ldr r0, _03805288 ;@ =0x027FFDE8
- bl RTC_ReadDateTime
- ldr r0, _03805288 ;@ =0x027FFDE8
- ldrb r0, [r0]
- bl FUN_03805064
- mov r4, r0
- ldr r0, _03805288 ;@ =0x027FFDE8
- ldr r0, [r0]
- mov r0, r0, lsl #19
- mov r0, r0, lsr #27
- bl FUN_03805064
- mov r5, r0
- ldr r0, _03805288 ;@ =0x027FFDE8
- ldr r0, [r0]
- mov r0, r0, lsl #10
- mov r0, r0, lsr #26
- bl FUN_03805064
- mov r2, r0
- add r0, r4, #2000 ;@ 0x7d0
- mov r1, r5
- bl FUN_038050DC
- ldr r2, _03805288 ;@ =0x027FFDE8
- ldr r1, [r2]
- mov r3, r1, lsl #5
- mov r3, r3, lsr #29
- cmp r3, r0
- beq _03805274
- bic r1, r1, #117440512 ;@ 0x7000000
- and r0, r0, #7
- orr r0, r1, r0, lsl #24
- str r0, [r2]
- mov r0, r2
- bl RTC_WriteDateTime
-_03805274:
- mov r0, #1
- bl RTC_SetHourFormat
- add sp, sp, #4
- ldmia sp!, {r4, r5, lr}
- bx lr
-_03805288: .word 0x027FFDE8
-
- arm_func_start FUN_0380528C
-FUN_0380528C: ;@ 0x0380528C
- stmdb sp!, {r4, lr}
- sub sp, sp, #8
- add r0, sp, #0
- bl RTC_ReadStatus1
- ldrh r0, [sp]
- mov r1, r0, lsl #27
- movs r1, r1, lsr #31
- bne _038052B8
- mov r0, r0, lsl #26
- movs r0, r0, lsr #31
- beq _03805310
-_038052B8:
- add r0, sp, #2
- bl RTC_ReadStatus2
- mov r4, #0
- ldrh r0, [sp]
- mov r0, r0, lsl #27
- movs r0, r0, lsr #31
- orrne r4, r4, #1
- ldrneh r0, [sp, #2]
- bicne r0, r0, #15
- strneh r0, [sp, #2]
- ldrh r0, [sp]
- mov r0, r0, lsl #26
- movs r0, r0, lsr #31
- orrne r4, r4, #2
- ldrneh r0, [sp, #2]
- bicne r0, r0, #64 ;@ 0x40
- strneh r0, [sp, #2]
- add r0, sp, #2
- bl RTC_WriteStatus2
- mov r0, #48 ;@ 0x30
- mov r1, r4
- bl FUN_038057D8
-_03805310:
- add sp, sp, #8
- ldmia sp!, {r4, lr}
- bx lr
-
- arm_func_start FUN_0380531C
-FUN_0380531C: ;@ 0x0380531C
- stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
- sub sp, sp, #76 ;@ 0x4c
- ldr r6, _038057CC ;@ =0x027FFDE8
- add r5, r6, #4
- mov r7, #0
- ldr r9, _038057D0 ;@ =_0380A03C
- mov r8, #1
- mov r0, #16
- str r0, [sp]
- mov r0, #17
- str r0, [sp, #4]
- mov r0, #18
- str r0, [sp, #8]
- mov sl, #19
- mov r4, #2
- mov fp, #20
- mov r0, #21
- str r0, [sp, #12]
- mov r0, #22
- str r0, [sp, #16]
- mov r0, #23
- str r0, [sp, #20]
- mov r0, #24
- str r0, [sp, #24]
- mov r0, #25
- str r0, [sp, #28]
- mov r0, #32
- str r0, [sp, #32]
- mov r0, #33 ;@ 0x21
- str r0, [sp, #36] ;@ 0x24
- mov r0, #34 ;@ 0x22
- str r0, [sp, #40] ;@ 0x28
- mov r0, #35 ;@ 0x23
- str r0, [sp, #44] ;@ 0x2c
- mov r0, #36 ;@ 0x24
- str r0, [sp, #48] ;@ 0x30
- mov r0, #37 ;@ 0x25
- str r0, [sp, #52] ;@ 0x34
- mov r0, #38 ;@ 0x26
- str r0, [sp, #56] ;@ 0x38
- mov r0, #39 ;@ 0x27
- str r0, [sp, #60] ;@ 0x3c
- mov r0, #40 ;@ 0x28
- str r0, [sp, #64] ;@ 0x40
- mov r0, #41 ;@ 0x29
- str r0, [sp, #68] ;@ 0x44
-_038053D4:
- mov r0, r9
- add r1, sp, #72 ;@ 0x48
- mov r2, r8
- bl OS_ReceiveMessage
- ldr r0, _038057D4 ;@ =_0380A13C
- ldrh r0, [r0, #216] ;@ 0xd8
- cmp r0, #41 ;@ 0x29
- addls pc, pc, r0, lsl #2
- b _038057BC
- b _038054A0
- b _038054B8
- b _038057BC
- b _038057BC
- b _038057BC
- b _038057BC
- b _038057BC
- b _038057BC
- b _038057BC
- b _038057BC
- b _038057BC
- b _038057BC
- b _038057BC
- b _038057BC
- b _038057BC
- b _038057BC
- b _038054DC
- b _038054F8
- b _03805514
- b _03805530
- b _03805568
- b _038055A0
- b _038055D8
- b _038055F4
- b _03805610
- b _0380562C
- b _038057BC
- b _038057BC
- b _038057BC
- b _038057BC
- b _038057BC
- b _038057BC
- b _03805648
- b _03805664
- b _03805688
- b _038056A4
- b _038056DC
- b _03805714
- b _0380574C
- b _03805768
- b _03805784
- b _038057A0
-_038054A0:
- bl RTC_Reset
- str r7, [r9, #468] ;@ 0x1d4
- mov r0, r7
- mov r1, r7
- bl FUN_038057D8
- b _038053D4
-_038054B8:
- ldrh r0, [r6]
- mov r0, r0, lsl #30
- mov r0, r0, lsr #31
- bl RTC_SetHourFormat
- str r7, [r9, #468] ;@ 0x1d4
- mov r0, r8
- mov r1, r7
- bl FUN_038057D8
- b _038053D4
-_038054DC:
- mov r0, r6
- bl RTC_ReadDateTime
- str r7, [r9, #468] ;@ 0x1d4
- ldr r0, [sp]
- mov r1, r7
- bl FUN_038057D8
- b _038053D4
-_038054F8:
- mov r0, r6
- bl RTC_ReadDate
- str r7, [r9, #468] ;@ 0x1d4
- ldr r0, [sp, #4]
- mov r1, r7
- bl FUN_038057D8
- b _038053D4
-_03805514:
- add r0, r6, #4
- bl RTC_ReadTime
- str r7, [r9, #468] ;@ 0x1d4
- ldr r0, [sp, #8]
- mov r1, r7
- bl FUN_038057D8
- b _038053D4
-_03805530:
- mov r0, r5
- bl RTC_ReadPulse
- cmp r0, #0
- bne _03805554
- str r7, [r9, #468] ;@ 0x1d4
- mov r0, sl
- mov r1, r4
- bl FUN_038057D8
- b _038053D4
-_03805554:
- str r7, [r9, #468] ;@ 0x1d4
- mov r0, sl
- mov r1, r7
- bl FUN_038057D8
- b _038053D4
-_03805568:
- mov r0, r5
- bl RTC_ReadAlarm1
- cmp r0, #0
- bne _0380558C
- str r7, [r9, #468] ;@ 0x1d4
- mov r0, fp
- mov r1, r4
- bl FUN_038057D8
- b _038053D4
-_0380558C:
- str r7, [r9, #468] ;@ 0x1d4
- mov r0, fp
- mov r1, r7
- bl FUN_038057D8
- b _038053D4
-_038055A0:
- mov r0, r5
- bl RTC_ReadAlarm2
- cmp r0, #0
- bne _038055C4
- str r7, [r9, #468] ;@ 0x1d4
- ldr r0, [sp, #12]
- mov r1, r4
- bl FUN_038057D8
- b _038053D4
-_038055C4:
- str r7, [r9, #468] ;@ 0x1d4
- ldr r0, [sp, #12]
- mov r1, r7
- bl FUN_038057D8
- b _038053D4
-_038055D8:
- mov r0, r6
- bl RTC_ReadStatus1
- str r7, [r9, #468] ;@ 0x1d4
- ldr r0, [sp, #16]
- mov r1, r7
- bl FUN_038057D8
- b _038053D4
-_038055F4:
- add r0, r6, #2
- bl RTC_ReadStatus2
- str r7, [r9, #468] ;@ 0x1d4
- ldr r0, [sp, #20]
- mov r1, r7
- bl FUN_038057D8
- b _038053D4
-_03805610:
- add r0, r6, #4
- bl RTC_ReadAdjust
- str r7, [r9, #468] ;@ 0x1d4
- ldr r0, [sp, #24]
- mov r1, r7
- bl FUN_038057D8
- b _038053D4
-_0380562C:
- add r0, r6, #4
- bl RTC_ReadFree
- str r7, [r9, #468] ;@ 0x1d4
- ldr r0, [sp, #28]
- mov r1, r7
- bl FUN_038057D8
- b _038053D4
-_03805648:
- mov r0, r6
- bl RTC_WriteDateTime
- str r7, [r9, #468] ;@ 0x1d4
- ldr r0, [sp, #32]
- mov r1, r7
- bl FUN_038057D8
- b _038053D4
-_03805664:
- add r0, r6, #4
- bl RTC_ReadTime
- mov r0, r6
- bl RTC_WriteDateTime
- str r7, [r9, #468] ;@ 0x1d4
- ldr r0, [sp, #36] ;@ 0x24
- mov r1, r7
- bl FUN_038057D8
- b _038053D4
-_03805688:
- add r0, r6, #4
- bl RTC_WriteTime
- str r7, [r9, #468] ;@ 0x1d4
- ldr r0, [sp, #40] ;@ 0x28
- mov r1, r7
- bl FUN_038057D8
- b _038053D4
-_038056A4:
- mov r0, r5
- bl RTC_WritePulse
- cmp r0, #0
- bne _038056C8
- str r7, [r9, #468] ;@ 0x1d4
- ldr r0, [sp, #44] ;@ 0x2c
- mov r1, r4
- bl FUN_038057D8
- b _038053D4
-_038056C8:
- str r7, [r9, #468] ;@ 0x1d4
- ldr r0, [sp, #44] ;@ 0x2c
- mov r1, r7
- bl FUN_038057D8
- b _038053D4
-_038056DC:
- mov r0, r5
- bl RTC_WriteAlarm1
- cmp r0, #0
- bne _03805700
- str r7, [r9, #468] ;@ 0x1d4
- ldr r0, [sp, #48] ;@ 0x30
- mov r1, r4
- bl FUN_038057D8
- b _038053D4
-_03805700:
- str r7, [r9, #468] ;@ 0x1d4
- ldr r0, [sp, #48] ;@ 0x30
- mov r1, r7
- bl FUN_038057D8
- b _038053D4
-_03805714:
- mov r0, r5
- bl RTC_WriteAlarm2
- cmp r0, #0
- bne _03805738
- str r7, [r9, #468] ;@ 0x1d4
- ldr r0, [sp, #52] ;@ 0x34
- mov r1, r4
- bl FUN_038057D8
- b _038053D4
-_03805738:
- str r7, [r9, #468] ;@ 0x1d4
- ldr r0, [sp, #52] ;@ 0x34
- mov r1, r7
- bl FUN_038057D8
- b _038053D4
-_0380574C:
- mov r0, r6
- bl RTC_WriteStatus1
- str r7, [r9, #468] ;@ 0x1d4
- ldr r0, [sp, #56] ;@ 0x38
- mov r1, r7
- bl FUN_038057D8
- b _038053D4
-_03805768:
- add r0, r6, #2
- bl RTC_WriteStatus2
- str r7, [r9, #468] ;@ 0x1d4
- ldr r0, [sp, #60] ;@ 0x3c
- mov r1, r7
- bl FUN_038057D8
- b _038053D4
-_03805784:
- add r0, r6, #4
- bl RTC_WriteAdjust
- str r7, [r9, #468] ;@ 0x1d4
- ldr r0, [sp, #64] ;@ 0x40
- mov r1, r7
- bl FUN_038057D8
- b _038053D4
-_038057A0:
- add r0, r6, #4
- bl RTC_WriteFree
- str r7, [r9, #468] ;@ 0x1d4
- ldr r0, [sp, #68] ;@ 0x44
- mov r1, r7
- bl FUN_038057D8
- b _038053D4
-_038057BC:
- str r7, [r9, #468] ;@ 0x1d4
- mov r1, r8
- bl FUN_038057D8
- b _038053D4
-_038057CC: .word 0x027FFDE8
-_038057D0: .word _0380A03C
-_038057D4: .word _0380A13C
-
- arm_func_start FUN_038057D8
-FUN_038057D8: ;@ 0x038057D8
- stmdb sp!, {r4, r5, r6, lr}
- mov r0, r0, lsl #8
- and r0, r0, #32512 ;@ 0x7f00
- orr r2, r0, #32768 ;@ 0x8000
- and r0, r1, #255 ;@ 0xff
- orr r6, r2, r0
- mov r5, #5
- mov r4, #0
-_038057F8:
- mov r0, r5
- mov r1, r6
- mov r2, r4
- bl PXI_SendWordByFifo
- cmp r0, #0
- blt _038057F8
- ldmia sp!, {r4, r5, r6, lr}
- bx lr
-
- arm_func_start FUN_03805818
-FUN_03805818: ;@ 0x03805818
- stmdb sp!, {r4, lr}
- cmp r2, #0
- bne _03805944
- and r0, r1, #32512 ;@ 0x7f00
- mov r0, r0, lsl #8
- mov r4, r0, lsr #16
- cmp r4, #41 ;@ 0x29
- addls pc, pc, r4, lsl #2
- b _03805938
- b _038058E4
- b _038058E4
- b _03805938
- b _03805938
- b _03805938
- b _03805938
- b _03805938
- b _03805938
- b _03805938
- b _03805938
- b _03805938
- b _03805938
- b _03805938
- b _03805938
- b _03805938
- b _03805938
- b _038058E4
- b _038058E4
- b _038058E4
- b _038058E4
- b _038058E4
- b _038058E4
- b _038058E4
- b _038058E4
- b _038058E4
- b _038058E4
- b _03805938
- b _03805938
- b _03805938
- b _03805938
- b _03805938
- b _03805938
- b _03805938
- b _03805938
- b _03805938
- b _038058E4
- b _038058E4
- b _038058E4
- b _038058E4
- b _038058E4
- b _038058E4
- b _038058E4
-_038058E4:
- ldr r0, _0380594C ;@ =_0380A03C
- ldr r1, [r0, #468] ;@ 0x1d4
- cmp r1, #0
- beq _03805904
- mov r0, r4
- mov r1, #3
- bl FUN_038057D8
- b _03805944
-_03805904:
- mov r1, #1
- str r1, [r0, #468] ;@ 0x1d4
- ldr r1, _03805950 ;@ =_0380A13C
- strh r4, [r1, #216] ;@ 0xd8
- mov r1, #0
- mov r2, r1
- bl OS_SendMessage
- cmp r0, #0
- bne _03805944
- mov r0, r4
- mov r1, #4
- bl FUN_038057D8
- b _03805944
-_03805938:
- mov r0, r4
- mov r1, #1
- bl FUN_038057D8
-_03805944:
- ldmia sp!, {r4, lr}
- bx lr
-_0380594C: .word _0380A03C
-_03805950: .word _0380A13C
diff --git a/arm7/global.inc b/arm7/global.inc
index d0593646..fa46d16a 100644
--- a/arm7/global.inc
+++ b/arm7/global.inc
@@ -277,10 +277,6 @@
.extern RTC_WriteStatus1
.extern RTC_WriteStatus2
.extern RTC_WriteTime
-.extern FUN_03805158
-.extern FUN_0380528C
-.extern FUN_0380531C
-.extern FUN_03805818
.extern WVR_Shutdown
.extern WVR_Init
.extern FUN_038073EC
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf
index 9c13b534..008ca0ad 100644
--- a/arm9/arm9.lsf
+++ b/arm9/arm9.lsf
@@ -716,6 +716,7 @@ Overlay MODULE_31
{
##Pokétch Counter##
After MODULE_20
+ Object module_31_sinit.o
Object module_31.o
}
@@ -729,6 +730,7 @@ Overlay MODULE_32
Overlay MODULE_33
{
After MODULE_20
+ Object module_33_sinit.o
Object module_33.o
}
@@ -743,6 +745,7 @@ Overlay MODULE_35
{
##Daycare Checker##
After MODULE_20
+ Object module_35_sinit.o
Object module_35.o
}
@@ -757,6 +760,7 @@ Overlay MODULE_37
{
##Coin Toss##
After MODULE_20
+ Object module_37_sinit.o
Object module_37.o
}
@@ -764,6 +768,7 @@ Overlay MODULE_38
{
##Move Checker##
After MODULE_20
+ Object module_38_sinit.o
Object module_38.o
}
@@ -777,6 +782,7 @@ Overlay MODULE_39
Overlay MODULE_40
{
After MODULE_20
+ Object module_40_sinit.o
Object module_40.o
}
@@ -813,12 +819,14 @@ Overlay MODULE_44
Overlay MODULE_45
{
After MODULE_20
+ Object module_45_sinit.o
Object module_45.o
}
Overlay MODULE_46
{
After MODULE_20
+ Object module_46_sinit.o
Object module_46.o
}
@@ -833,6 +841,7 @@ Overlay MODULE_47
Overlay MODULE_48
{
After MODULE_20
+ Object module_48_sinit.o
Object module_48.o
}
@@ -840,12 +849,14 @@ Overlay MODULE_49
{
##Pokemon History##
After MODULE_20
+ Object module_49_sinit.o
Object module_49.o
}
Overlay MODULE_50
{
After MODULE_20
+ Object module_50_sinit.o
Object module_50.o
}
@@ -922,6 +933,7 @@ Overlay MODULE_61
Overlay MODULE_62
{
After MODULE_08
+ Object module_62_sinit.o
Object module_62.o
}
diff --git a/arm9/lib/src/MI_dma_gxcommand.c b/arm9/lib/src/MI_dma_gxcommand.c
index 781f1f73..26231999 100644
--- a/arm9/lib/src/MI_dma_gxcommand.c
+++ b/arm9/lib/src/MI_dma_gxcommand.c
@@ -110,6 +110,7 @@ ARM_FUNC static void MIi_FIFOCallback(void)
ARM_FUNC static void MIi_DMACallback(void *arg)
{
+#pragma unused(arg)
(void)OS_DisableIrqMask(OS_IE_GXFIFO);
G3X_SetFifoIntrCond(MIi_GXDmaParams.fifoCond);
@@ -147,6 +148,7 @@ ARM_FUNC void MI_SendGXCommandAsyncFast(u32 dmaNo, const void *src, u32 commandL
ARM_FUNC static void MIi_DMAFastCallback(void *arg)
{
+#pragma unused(arg)
MIi_GXDmaParams.isBusy = FALSE;
MIi_CallCallback(MIi_GXDmaParams.callback, MIi_GXDmaParams.arg);
diff --git a/arm9/modules/31/asm/module_31.s b/arm9/modules/31/asm/module_31.s
index 47018f81..8bdedda5 100644
--- a/arm9/modules/31/asm/module_31.s
+++ b/arm9/modules/31/asm/module_31.s
@@ -3,18 +3,6 @@
.section .text
.balign 4, 0
- thumb_func_start MOD31_02254840
-MOD31_02254840: ; 0x02254840
- ldr r3, _02254848 ; =Poketch_InitApp
- ldr r0, _0225484C ; =MOD31_02254854
- ldr r1, _02254850 ; =MOD31_02254954
- bx r3
- .align 2, 0
-_02254848: .word Poketch_InitApp
-_0225484C: .word MOD31_02254854
-_02254850: .word MOD31_02254954
- thumb_func_end MOD31_02254840
-
thumb_func_start MOD31_02254854
MOD31_02254854: ; 0x02254854
push {r3, r4, r5, r6, r7, lr}
@@ -749,6 +737,3 @@ MOD31_02254DE4: ; 0x02254DE4
.word 0x02, MOD31_02254CB8, 0x00
.word 0x03, MOD31_02254CF8, 0x00
.word 0x00, 0x00000000, 0x00
-
- .section .sinit
- .word MOD31_02254840
diff --git a/arm9/modules/31/src/module_31_sinit.c b/arm9/modules/31/src/module_31_sinit.c
new file mode 100644
index 00000000..89eadae8
--- /dev/null
+++ b/arm9/modules/31/src/module_31_sinit.c
@@ -0,0 +1,13 @@
+#include "global.h"
+
+extern void Poketch_InitApp(void *func1, void *func2);
+extern void MOD31_02254854();
+extern void MOD31_02254954();
+
+THUMB_FUNC static void MOD31_02254840(void)
+{
+ Poketch_InitApp(MOD31_02254854, MOD31_02254954);
+}
+
+#define NitroStaticInit MOD31_02254840
+#include "sinit.h"
diff --git a/arm9/modules/33/asm/module_33.s b/arm9/modules/33/asm/module_33.s
index e7d626bc..6db0efdf 100644
--- a/arm9/modules/33/asm/module_33.s
+++ b/arm9/modules/33/asm/module_33.s
@@ -3,18 +3,6 @@
.section .text
.balign 4, 0
- thumb_func_start MOD33_02254840
-MOD33_02254840: ; 0x02254840
- ldr r3, _02254848 ; =Poketch_InitApp
- ldr r0, _0225484C ; =MOD33_02254854
- ldr r1, _02254850 ; =MOD33_02254908
- bx r3
- .align 2, 0
-_02254848: .word Poketch_InitApp
-_0225484C: .word MOD33_02254854
-_02254850: .word MOD33_02254908
- thumb_func_end MOD33_02254840
-
thumb_func_start MOD33_02254854
MOD33_02254854: ; 0x02254854
push {r3, r4, r5, r6, r7, lr}
@@ -408,6 +396,3 @@ MOD33_02254B1C: ; 0x02254B1C
.word 0x00, MOD33_02254A38, 0x00
.word 0x01, MOD33_02254AD8, 0x00
.word 0x00, 0x00000000, 0x00
-
- .section .sinit
- .word MOD33_02254840
diff --git a/arm9/modules/33/src/module_33_sinit.c b/arm9/modules/33/src/module_33_sinit.c
new file mode 100644
index 00000000..6ea456ad
--- /dev/null
+++ b/arm9/modules/33/src/module_33_sinit.c
@@ -0,0 +1,13 @@
+#include "global.h"
+
+extern void Poketch_InitApp(void *func1, void *func2);
+extern void MOD33_02254854();
+extern void MOD33_02254908();
+
+THUMB_FUNC static void MOD33_02254840(void)
+{
+ Poketch_InitApp(MOD33_02254854, MOD33_02254908);
+}
+
+#define NitroStaticInit MOD33_02254840
+#include "sinit.h"
diff --git a/arm9/modules/35/asm/module_35.s b/arm9/modules/35/asm/module_35.s
index 48953e9f..7b347ca5 100644
--- a/arm9/modules/35/asm/module_35.s
+++ b/arm9/modules/35/asm/module_35.s
@@ -3,18 +3,6 @@
.section .text
.balign 4, 0
- thumb_func_start MOD35_02254840
-MOD35_02254840: ; 0x02254840
- ldr r3, _02254848 ; =Poketch_InitApp
- ldr r0, _0225484C ; =MOD35_02254854
- ldr r1, _02254850 ; =MOD35_02254924
- bx r3
- .align 2, 0
-_02254848: .word Poketch_InitApp
-_0225484C: .word MOD35_02254854
-_02254850: .word MOD35_02254924
- thumb_func_end MOD35_02254840
-
thumb_func_start MOD35_02254854
MOD35_02254854: ; 0x02254854
push {r3, r4, r5, r6, r7, lr}
@@ -1167,6 +1155,3 @@ MOD35_02255110: ; 0x02255110
.byte 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x80, 0x02, 0x00
.byte 0x0A, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0C, 0x00, 0x00, 0x80, 0x02, 0x00
.byte 0x0A, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00
-
- .section .sinit
- .word MOD35_02254840
diff --git a/arm9/modules/35/src/module_35_sinit.c b/arm9/modules/35/src/module_35_sinit.c
new file mode 100644
index 00000000..85fe5344
--- /dev/null
+++ b/arm9/modules/35/src/module_35_sinit.c
@@ -0,0 +1,13 @@
+#include "global.h"
+
+extern void Poketch_InitApp(void *func1, void *func2);
+extern void MOD35_02254854();
+extern void MOD35_02254924();
+
+THUMB_FUNC static void MOD35_02254840(void)
+{
+ Poketch_InitApp(MOD35_02254854, MOD35_02254924);
+}
+
+#define NitroStaticInit MOD35_02254840
+#include "sinit.h"
diff --git a/arm9/modules/37/asm/module_37.s b/arm9/modules/37/asm/module_37.s
index 8135b43b..3c7f412c 100644
--- a/arm9/modules/37/asm/module_37.s
+++ b/arm9/modules/37/asm/module_37.s
@@ -3,18 +3,6 @@
.section .text
.balign 4, 0
- thumb_func_start MOD37_02254840
-MOD37_02254840: ; 0x02254840
- ldr r3, _02254848 ; =Poketch_InitApp
- ldr r0, _0225484C ; =MOD37_02254854
- ldr r1, _02254850 ; =MOD37_02254934
- bx r3
- .align 2, 0
-_02254848: .word Poketch_InitApp
-_0225484C: .word MOD37_02254854
-_02254850: .word MOD37_02254934
- thumb_func_end MOD37_02254840
-
thumb_func_start MOD37_02254854
MOD37_02254854: ; 0x02254854
push {r3, r4, r5, r6, r7, lr}
@@ -693,9 +681,6 @@ MOD37_02254D60: ; 0x02254D60
.word 0x02, MOD37_02254C44, 0x00
.word 0x00, 0x00000000, 0x00
- .section .sinit
- .word MOD37_02254840
-
.section .bss
.global MOD37_02254DA0
MOD37_02254DA0: ; 0x02254DA0
diff --git a/arm9/modules/37/src/module_37_sinit.c b/arm9/modules/37/src/module_37_sinit.c
new file mode 100644
index 00000000..ba3df423
--- /dev/null
+++ b/arm9/modules/37/src/module_37_sinit.c
@@ -0,0 +1,13 @@
+#include "global.h"
+
+extern void Poketch_InitApp(void *func1, void *func2);
+extern void MOD37_02254854();
+extern void MOD37_02254934();
+
+THUMB_FUNC static void MOD37_02254840(void)
+{
+ Poketch_InitApp(MOD37_02254854, MOD37_02254934);
+}
+
+#define NitroStaticInit MOD37_02254840
+#include "sinit.h"
diff --git a/arm9/modules/38/asm/module_38.s b/arm9/modules/38/asm/module_38.s
index 59871d4a..fafafb07 100644
--- a/arm9/modules/38/asm/module_38.s
+++ b/arm9/modules/38/asm/module_38.s
@@ -3,18 +3,6 @@
.section .text
.balign 4, 0
- thumb_func_start MOD38_02254840
-MOD38_02254840: ; 0x02254840
- ldr r3, _02254848 ; =Poketch_InitApp
- ldr r0, _0225484C ; =MOD38_02254854
- ldr r1, _02254850 ; =MOD38_02254990
- bx r3
- .align 2, 0
-_02254848: .word Poketch_InitApp
-_0225484C: .word MOD38_02254854
-_02254850: .word MOD38_02254990
- thumb_func_end MOD38_02254840
-
thumb_func_start MOD38_02254854
MOD38_02254854: ; 0x02254854
push {r3, r4, r5, r6, r7, lr}
@@ -1254,6 +1242,3 @@ MOD38_02255300: ; 0x02255300
.byte 0x00, 0x40, 0x0C, 0x00, 0x00, 0x80, 0x02, 0x00, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0xC0, 0x06, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x40, 0x0C, 0x00, 0x00, 0x80, 0x04, 0x00, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00
-
- .section .sinit
- .word MOD38_02254840
diff --git a/arm9/modules/38/src/module_38_sinit.c b/arm9/modules/38/src/module_38_sinit.c
new file mode 100644
index 00000000..6c41dda8
--- /dev/null
+++ b/arm9/modules/38/src/module_38_sinit.c
@@ -0,0 +1,13 @@
+#include "global.h"
+
+extern void Poketch_InitApp(void *func1, void *func2);
+extern void MOD38_02254854();
+extern void MOD38_02254990();
+
+THUMB_FUNC static void MOD38_02254840(void)
+{
+ Poketch_InitApp(MOD38_02254854, MOD38_02254990);
+}
+
+#define NitroStaticInit MOD38_02254840
+#include "sinit.h"
diff --git a/arm9/modules/40/asm/module_40.s b/arm9/modules/40/asm/module_40.s
index e46b1f2a..409892d9 100644
--- a/arm9/modules/40/asm/module_40.s
+++ b/arm9/modules/40/asm/module_40.s
@@ -3,18 +3,6 @@
.section .text
.balign 4, 0
- thumb_func_start MOD40_02254840
-MOD40_02254840: ; 0x02254840
- ldr r3, _02254848 ; =Poketch_InitApp
- ldr r0, _0225484C ; =MOD40_02254854
- ldr r1, _02254850 ; =MOD40_022549D4
- bx r3
- .align 2, 0
-_02254848: .word Poketch_InitApp
-_0225484C: .word MOD40_02254854
-_02254850: .word MOD40_022549D4
- thumb_func_end MOD40_02254840
-
thumb_func_start MOD40_02254854
MOD40_02254854: ; 0x02254854
push {r3, r4, r5, r6, r7, lr}
@@ -1453,6 +1441,3 @@ MOD40_022553B0: ; 0x022553B0
.byte 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00
.byte 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00
.byte 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00
-
- .section .sinit
- .word MOD40_02254840
diff --git a/arm9/modules/40/src/module_40_sinit.c b/arm9/modules/40/src/module_40_sinit.c
new file mode 100644
index 00000000..fc2d56c5
--- /dev/null
+++ b/arm9/modules/40/src/module_40_sinit.c
@@ -0,0 +1,13 @@
+#include "global.h"
+
+extern void Poketch_InitApp(void *func1, void *func2);
+extern void MOD40_02254854();
+extern void MOD40_022549D4();
+
+THUMB_FUNC static void MOD40_02254840(void)
+{
+ Poketch_InitApp(MOD40_02254854, MOD40_022549D4);
+}
+
+#define NitroStaticInit MOD40_02254840
+#include "sinit.h"
diff --git a/arm9/modules/45/asm/module_45.s b/arm9/modules/45/asm/module_45.s
index effe8de8..182774aa 100644
--- a/arm9/modules/45/asm/module_45.s
+++ b/arm9/modules/45/asm/module_45.s
@@ -3,18 +3,6 @@
.section .text
.balign 4, 0
- thumb_func_start MOD45_02254840
-MOD45_02254840: ; 0x02254840
- ldr r3, _02254848 ; =Poketch_InitApp
- ldr r0, _0225484C ; =MOD45_02254854
- ldr r1, _02254850 ; =MOD45_02254A30
- bx r3
- .align 2, 0
-_02254848: .word Poketch_InitApp
-_0225484C: .word MOD45_02254854
-_02254850: .word MOD45_02254A30
- thumb_func_end MOD45_02254840
-
thumb_func_start MOD45_02254854
MOD45_02254854: ; 0x02254854
push {r3, r4, r5, r6, r7, lr}
@@ -1110,6 +1098,3 @@ MOD45_02255140: ; 0x02255140
.word 0x01, MOD45_02254D70, 0x00
.word 0x02, MOD45_02254D94, 0x00
.word 0x00, 0x00000000, 0x00
-
- .section .sinit
- .word MOD45_02254840
diff --git a/arm9/modules/45/src/module_45_sinit.c b/arm9/modules/45/src/module_45_sinit.c
new file mode 100644
index 00000000..6bfb10f7
--- /dev/null
+++ b/arm9/modules/45/src/module_45_sinit.c
@@ -0,0 +1,13 @@
+#include "global.h"
+
+extern void Poketch_InitApp(void *func1, void *func2);
+extern void MOD45_02254854();
+extern void MOD45_02254A30();
+
+THUMB_FUNC static void MOD45_02254840(void)
+{
+ Poketch_InitApp(MOD45_02254854, MOD45_02254A30);
+}
+
+#define NitroStaticInit MOD45_02254840
+#include "sinit.h"
diff --git a/arm9/modules/46/asm/module_46.s b/arm9/modules/46/asm/module_46.s
index 02956d4b..9e4c3dc5 100644
--- a/arm9/modules/46/asm/module_46.s
+++ b/arm9/modules/46/asm/module_46.s
@@ -3,18 +3,6 @@
.section .text
.balign 4, 0
- thumb_func_start MOD46_02254840
-MOD46_02254840: ; 0x02254840
- ldr r3, _02254848 ; =Poketch_InitApp
- ldr r0, _0225484C ; =MOD46_02254854
- ldr r1, _02254850 ; =MOD46_02254908
- bx r3
- .align 2, 0
-_02254848: .word Poketch_InitApp
-_0225484C: .word MOD46_02254854
-_02254850: .word MOD46_02254908
- thumb_func_end MOD46_02254840
-
thumb_func_start MOD46_02254854
MOD46_02254854: ; 0x02254854
push {r3, r4, r5, r6, r7, lr}
@@ -408,6 +396,3 @@ MOD46_02254B1C: ; 0x02254B1C
.word 0x00, MOD46_02254A38, 0x00
.word 0x01, MOD46_02254AD8, 0x00
.word 0x00, 0x00000000, 0x00
-
- .section .sinit
- .word MOD46_02254840
diff --git a/arm9/modules/46/src/module_46_sinit.c b/arm9/modules/46/src/module_46_sinit.c
new file mode 100644
index 00000000..96fe680a
--- /dev/null
+++ b/arm9/modules/46/src/module_46_sinit.c
@@ -0,0 +1,13 @@
+#include "global.h"
+
+extern void Poketch_InitApp(void *func1, void *func2);
+extern void MOD46_02254854();
+extern void MOD46_02254908();
+
+THUMB_FUNC static void MOD46_02254840(void)
+{
+ Poketch_InitApp(MOD46_02254854, MOD46_02254908);
+}
+
+#define NitroStaticInit MOD46_02254840
+#include "sinit.h"
diff --git a/arm9/modules/48/asm/module_48.s b/arm9/modules/48/asm/module_48.s
index 32b5d3c8..ed66d753 100644
--- a/arm9/modules/48/asm/module_48.s
+++ b/arm9/modules/48/asm/module_48.s
@@ -3,18 +3,6 @@
.section .text
.balign 4, 0
- thumb_func_start MOD48_02254840
-MOD48_02254840: ; 0x02254840
- ldr r3, _02254848 ; =Poketch_InitApp
- ldr r0, _0225484C ; =MOD48_02254854
- ldr r1, _02254850 ; =MOD48_0225498C
- bx r3
- .align 2, 0
-_02254848: .word Poketch_InitApp
-_0225484C: .word MOD48_02254854
-_02254850: .word MOD48_0225498C
- thumb_func_end MOD48_02254840
-
thumb_func_start MOD48_02254854
MOD48_02254854: ; 0x02254854
push {r3, r4, r5, r6, r7, lr}
@@ -996,6 +984,3 @@ MOD48_02254FD0: ; 0x02254FD0
.byte 0x00, 0x40, 0x02, 0x00, 0x00, 0x80, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x00, 0x00, 0x00
.byte 0x00, 0xC0, 0x02, 0x00, 0x00, 0x80, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x00, 0x00, 0x00
.byte 0x00, 0x40, 0x03, 0x00, 0x00, 0x80, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x00, 0x00, 0x00
-
- .section .sinit
- .word MOD48_02254840
diff --git a/arm9/modules/48/src/module_48_sinit.c b/arm9/modules/48/src/module_48_sinit.c
new file mode 100644
index 00000000..6d2a342d
--- /dev/null
+++ b/arm9/modules/48/src/module_48_sinit.c
@@ -0,0 +1,13 @@
+#include "global.h"
+
+extern void Poketch_InitApp(void *func1, void *func2);
+extern void MOD48_02254854();
+extern void MOD48_0225498C();
+
+THUMB_FUNC static void MOD48_02254840(void)
+{
+ Poketch_InitApp(MOD48_02254854, MOD48_0225498C);
+}
+
+#define NitroStaticInit MOD48_02254840
+#include "sinit.h"
diff --git a/arm9/modules/49/asm/module_49.s b/arm9/modules/49/asm/module_49.s
index a3ab2dcf..8c011bb6 100644
--- a/arm9/modules/49/asm/module_49.s
+++ b/arm9/modules/49/asm/module_49.s
@@ -3,18 +3,6 @@
.section .text
.balign 4, 0
- thumb_func_start MOD49_02254840
-MOD49_02254840: ; 0x02254840
- ldr r3, _02254848 ; =Poketch_InitApp
- ldr r0, _0225484C ; =MOD49_02254854
- ldr r1, _02254850 ; =MOD49_02254974
- bx r3
- .align 2, 0
-_02254848: .word Poketch_InitApp
-_0225484C: .word MOD49_02254854
-_02254850: .word MOD49_02254974
- thumb_func_end MOD49_02254840
-
thumb_func_start MOD49_02254854
MOD49_02254854: ; 0x02254854
push {r3, r4, r5, r6, r7, lr}
@@ -670,6 +658,3 @@ MOD49_02254D60: ; 0x02254D60
.byte 0x00, 0x00, 0x09, 0x00, 0x04, 0x00, 0x00, 0x02, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00
.byte 0x00, 0x00, 0x09, 0x00, 0x04, 0x00, 0x00, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x80, 0x0A, 0x00
.byte 0x00, 0x00, 0x09, 0x00, 0x04, 0x00, 0x00, 0x02, 0x01, 0x01, 0x00, 0x00
-
- .section .sinit
- .word MOD49_02254840
diff --git a/arm9/modules/49/src/module_49_sinit.c b/arm9/modules/49/src/module_49_sinit.c
new file mode 100644
index 00000000..23e5419d
--- /dev/null
+++ b/arm9/modules/49/src/module_49_sinit.c
@@ -0,0 +1,13 @@
+#include "global.h"
+
+extern void Poketch_InitApp(void *func1, void *func2);
+extern void MOD49_02254854();
+extern void MOD49_02254974();
+
+THUMB_FUNC static void MOD49_02254840(void)
+{
+ Poketch_InitApp(MOD49_02254854, MOD49_02254974);
+}
+
+#define NitroStaticInit MOD49_02254840
+#include "sinit.h"
diff --git a/arm9/modules/50/asm/module_50.s b/arm9/modules/50/asm/module_50.s
index ad870e7a..f91ae977 100644
--- a/arm9/modules/50/asm/module_50.s
+++ b/arm9/modules/50/asm/module_50.s
@@ -3,18 +3,6 @@
.section .text
.balign 4, 0
- thumb_func_start MOD50_02254840
-MOD50_02254840: ; 0x02254840
- ldr r3, _02254848 ; =Poketch_InitApp
- ldr r0, _0225484C ; =MOD50_02254854
- ldr r1, _02254850 ; =MOD50_02254908
- bx r3
- .align 2, 0
-_02254848: .word Poketch_InitApp
-_0225484C: .word MOD50_02254854
-_02254850: .word MOD50_02254908
- thumb_func_end MOD50_02254840
-
thumb_func_start MOD50_02254854
MOD50_02254854: ; 0x02254854
push {r3, r4, r5, r6, r7, lr}
@@ -418,6 +406,3 @@ MOD50_02254B2C: ; 0x02254B2C
.word 0x00, MOD50_02254A48, 0x00
.word 0x01, MOD50_02254AE8, 0x00
.word 0x00, 0x00000000, 0x00
-
- .section .sinit
- .word MOD50_02254840
diff --git a/arm9/modules/50/src/module_50_sinit.c b/arm9/modules/50/src/module_50_sinit.c
new file mode 100644
index 00000000..c16e885f
--- /dev/null
+++ b/arm9/modules/50/src/module_50_sinit.c
@@ -0,0 +1,13 @@
+#include "global.h"
+
+extern void Poketch_InitApp(void *func1, void *func2);
+extern void MOD50_02254854();
+extern void MOD50_02254908();
+
+THUMB_FUNC static void MOD50_02254840(void)
+{
+ Poketch_InitApp(MOD50_02254854, MOD50_02254908);
+}
+
+#define NitroStaticInit MOD50_02254840
+#include "sinit.h"
diff --git a/arm9/modules/62/asm/module_62.s b/arm9/modules/62/asm/module_62.s
index 33e331d3..ff70fe6d 100644
--- a/arm9/modules/62/asm/module_62.s
+++ b/arm9/modules/62/asm/module_62.s
@@ -3,17 +3,6 @@
.section .text
.balign 4, 0
- thumb_func_start MOD62_0222D5C0
-MOD62_0222D5C0: ; 0x0222D5C0
- ldr r3, _0222D5C8 ; =HandleLoadOverlay
- ldr r0, _0222D5CC ; =SDK_OVERLAY_MODULE_08_ID
- mov r1, #2
- bx r3
- .align 2, 0
-_0222D5C8: .word HandleLoadOverlay
-_0222D5CC: .word SDK_OVERLAY_MODULE_08_ID
- thumb_func_end MOD62_0222D5C0
-
thumb_func_start MOD62_0222D5D0
MOD62_0222D5D0: ; 0x0222D5D0
add r3, r2, #0
@@ -7631,6 +7620,3 @@ MOD62_02231358: ; 0x02231358
.word 0x02, MOD62_0222F94C
.word 0x03, MOD62_0222F970
.word 0x04, MOD62_0222F980
-
- .section .sinit
- .word MOD62_0222D5C0
diff --git a/arm9/modules/62/src/module_62_sinit.c b/arm9/modules/62/src/module_62_sinit.c
new file mode 100644
index 00000000..db679e41
--- /dev/null
+++ b/arm9/modules/62/src/module_62_sinit.c
@@ -0,0 +1,13 @@
+#include "global.h"
+#include "poke_overlay.h"
+#include "FS_overlay.h"
+
+FS_EXTERN_OVERLAY(MODULE_08);
+
+THUMB_FUNC static void MOD62_0222D5C0(void)
+{
+ HandleLoadOverlay(FS_OVERLAY_ID(MODULE_08), 2);
+}
+
+#define NitroStaticInit MOD62_0222D5C0
+#include "sinit.h"