summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2020-05-09 20:22:56 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2020-05-09 20:22:56 -0400
commit84760b73c3b53a83144c966f81ef1c521b297323 (patch)
tree7ca3b24d9d984b725de263dc3760ba999e5e794d
parent3a4f708cc54d990e0f7e0b4603548291e77a2278 (diff)
static init for modules 19-27
-rw-r--r--arm9/arm9.lcf180
-rw-r--r--arm9/modules/19/asm/module_19.s4
-rw-r--r--arm9/modules/20/asm/module_20.s4
-rw-r--r--arm9/modules/21/asm/module_21.s13
-rw-r--r--arm9/modules/22/asm/module_22.s7
-rw-r--r--arm9/modules/23/asm/module_23.s12
-rw-r--r--arm9/modules/24/asm/module_24.s7
-rw-r--r--arm9/modules/25/asm/module_25.s7
-rw-r--r--arm9/modules/26/asm/module_26.s7
-rw-r--r--arm9/modules/27/asm/module_27.s12
10 files changed, 226 insertions, 27 deletions
diff --git a/arm9/arm9.lcf b/arm9/arm9.lcf
index 6e40a693..dddf0f69 100644
--- a/arm9/arm9.lcf
+++ b/arm9/arm9.lcf
@@ -1026,8 +1026,17 @@ SECTIONS {
ALIGNALL(4); . = ALIGN(32);
SDK_OVERLAY.MODULE_19.START = .;
module_19.o (.text)
+ module_19.o (.rodata)
+ module_19.o (.init)
+ SDK_OVERLAY.MODULE_19.SINIT_START = .;
+ module_19.o (.ctor)
+ module_19.o (.sinit)
+ WRITEW 0;
+ SDK_OVERLAY.MODULE_19.SINIT_END = .;
+ . = ALIGN(32);
module_19.o (.sdata)
module_19.o (.data)
+ . = ALIGN(32);
SDK_OVERLAY.MODULE_19.END = .;
SDK_OVERLAY.MODULE_19.SIZE = SDK_OVERLAY.MODULE_19.END - SDK_OVERLAY.MODULE_19.START;
} > MODULE_19
@@ -1038,6 +1047,7 @@ SECTIONS {
SDK_OVERLAY.MODULE_19.BSS_START = .;
module_19.o (.sbss)
module_19.o (.bss)
+ . = ALIGN(32);
SDK_OVERLAY.MODULE_19.BSS_END = .;
SDK_OVERLAY.MODULE_19.BSS_SIZE = SDK_OVERLAY.MODULE_19.BSS_END - SDK_OVERLAY.MODULE_19.BSS_START;
} >> MODULE_19
@@ -1047,8 +1057,17 @@ SECTIONS {
ALIGNALL(4); . = ALIGN(32);
SDK_OVERLAY.MODULE_20.START = .;
module_20.o (.text)
+ module_20.o (.rodata)
+ module_20.o (.init)
+ SDK_OVERLAY.MODULE_20.SINIT_START = .;
+ module_20.o (.ctor)
+ module_20.o (.sinit)
+ WRITEW 0;
+ SDK_OVERLAY.MODULE_20.SINIT_END = .;
+ . = ALIGN(32);
module_20.o (.sdata)
module_20.o (.data)
+ . = ALIGN(32);
SDK_OVERLAY.MODULE_20.END = .;
SDK_OVERLAY.MODULE_20.SIZE = SDK_OVERLAY.MODULE_20.END - SDK_OVERLAY.MODULE_20.START;
} > MODULE_20
@@ -1059,6 +1078,7 @@ SECTIONS {
SDK_OVERLAY.MODULE_20.BSS_START = .;
module_20.o (.sbss)
module_20.o (.bss)
+ . = ALIGN(32);
SDK_OVERLAY.MODULE_20.BSS_END = .;
SDK_OVERLAY.MODULE_20.BSS_SIZE = SDK_OVERLAY.MODULE_20.BSS_END - SDK_OVERLAY.MODULE_20.BSS_START;
} >> MODULE_20
@@ -1068,8 +1088,17 @@ SECTIONS {
ALIGNALL(4); . = ALIGN(32);
SDK_OVERLAY.MODULE_21.START = .;
module_21.o (.text)
+ module_21.o (.rodata)
+ module_21.o (.init)
+ // SDK_OVERLAY.MODULE_21.SINIT_START = .;
+ module_21.o (.ctor)
+ module_21.o (.sinit)
+ // WRITEW 0;
+ // SDK_OVERLAY.MODULE_21.SINIT_END = ;
+ . = ALIGN(32);
module_21.o (.sdata)
module_21.o (.data)
+ . = ALIGN(32);
SDK_OVERLAY.MODULE_21.END = .;
SDK_OVERLAY.MODULE_21.SIZE = SDK_OVERLAY.MODULE_21.END - SDK_OVERLAY.MODULE_21.START;
} > MODULE_21
@@ -1080,6 +1109,7 @@ SECTIONS {
SDK_OVERLAY.MODULE_21.BSS_START = .;
module_21.o (.sbss)
module_21.o (.bss)
+ . = ALIGN(32);
SDK_OVERLAY.MODULE_21.BSS_END = .;
SDK_OVERLAY.MODULE_21.BSS_SIZE = SDK_OVERLAY.MODULE_21.BSS_END - SDK_OVERLAY.MODULE_21.BSS_START;
} >> MODULE_21
@@ -1089,8 +1119,17 @@ SECTIONS {
ALIGNALL(4); . = ALIGN(32);
SDK_OVERLAY.MODULE_22.START = .;
module_22.o (.text)
+ module_22.o (.rodata)
+ module_22.o (.init)
+ SDK_OVERLAY.MODULE_22.SINIT_START = .;
+ module_22.o (.ctor)
+ module_22.o (.sinit)
+ WRITEW 0;
+ SDK_OVERLAY.MODULE_22.SINIT_END = .;
+ . = ALIGN(32);
module_22.o (.sdata)
module_22.o (.data)
+ . = ALIGN(32);
SDK_OVERLAY.MODULE_22.END = .;
SDK_OVERLAY.MODULE_22.SIZE = SDK_OVERLAY.MODULE_22.END - SDK_OVERLAY.MODULE_22.START;
} > MODULE_22
@@ -1101,6 +1140,7 @@ SECTIONS {
SDK_OVERLAY.MODULE_22.BSS_START = .;
module_22.o (.sbss)
module_22.o (.bss)
+ . = ALIGN(32);
SDK_OVERLAY.MODULE_22.BSS_END = .;
SDK_OVERLAY.MODULE_22.BSS_SIZE = SDK_OVERLAY.MODULE_22.BSS_END - SDK_OVERLAY.MODULE_22.BSS_START;
} >> MODULE_22
@@ -1110,8 +1150,17 @@ SECTIONS {
ALIGNALL(4); . = ALIGN(32);
SDK_OVERLAY.MODULE_23.START = .;
module_23.o (.text)
+ module_23.o (.rodata)
+ module_23.o (.init)
+ // SDK_OVERLAY.MODULE_23.SINIT_START = .;
+ module_23.o (.ctor)
+ module_23.o (.sinit)
+ // WRITEW 0;
+ // SDK_OVERLAY.MODULE_23.SINIT_END = .;
+ . = ALIGN(32);
module_23.o (.sdata)
module_23.o (.data)
+ . = ALIGN(32);
SDK_OVERLAY.MODULE_23.END = .;
SDK_OVERLAY.MODULE_23.SIZE = SDK_OVERLAY.MODULE_23.END - SDK_OVERLAY.MODULE_23.START;
} > MODULE_23
@@ -1122,6 +1171,7 @@ SECTIONS {
SDK_OVERLAY.MODULE_23.BSS_START = .;
module_23.o (.sbss)
module_23.o (.bss)
+ . = ALIGN(32);
SDK_OVERLAY.MODULE_23.BSS_END = .;
SDK_OVERLAY.MODULE_23.BSS_SIZE = SDK_OVERLAY.MODULE_23.BSS_END - SDK_OVERLAY.MODULE_23.BSS_START;
} >> MODULE_23
@@ -1131,8 +1181,17 @@ SECTIONS {
ALIGNALL(4); . = ALIGN(32);
SDK_OVERLAY.MODULE_24.START = .;
module_24.o (.text)
+ module_24.o (.rodata)
+ module_24.o (.init)
+ SDK_OVERLAY.MODULE_24.SINIT_START = .;
+ module_24.o (.ctor)
+ module_24.o (.sinit)
+ WRITEW 0;
+ SDK_OVERLAY.MODULE_24.SINIT_END = .;
+ . = ALIGN(32);
module_24.o (.sdata)
module_24.o (.data)
+ . = ALIGN(32);
SDK_OVERLAY.MODULE_24.END = .;
SDK_OVERLAY.MODULE_24.SIZE = SDK_OVERLAY.MODULE_24.END - SDK_OVERLAY.MODULE_24.START;
} > MODULE_24
@@ -1143,6 +1202,7 @@ SECTIONS {
SDK_OVERLAY.MODULE_24.BSS_START = .;
module_24.o (.sbss)
module_24.o (.bss)
+ . = ALIGN(32);
SDK_OVERLAY.MODULE_24.BSS_END = .;
SDK_OVERLAY.MODULE_24.BSS_SIZE = SDK_OVERLAY.MODULE_24.BSS_END - SDK_OVERLAY.MODULE_24.BSS_START;
} >> MODULE_24
@@ -1152,8 +1212,17 @@ SECTIONS {
ALIGNALL(4); . = ALIGN(32);
SDK_OVERLAY.MODULE_25.START = .;
module_25.o (.text)
+ module_25.o (.rodata)
+ module_25.o (.init)
+ SDK_OVERLAY.MODULE_25.SINIT_START = .;
+ module_25.o (.ctor)
+ module_25.o (.sinit)
+ WRITEW 0;
+ SDK_OVERLAY.MODULE_25.SINIT_END = .;
+ . = ALIGN(32);
module_25.o (.sdata)
module_25.o (.data)
+ . = ALIGN(32);
SDK_OVERLAY.MODULE_25.END = .;
SDK_OVERLAY.MODULE_25.SIZE = SDK_OVERLAY.MODULE_25.END - SDK_OVERLAY.MODULE_25.START;
} > MODULE_25
@@ -1164,6 +1233,7 @@ SECTIONS {
SDK_OVERLAY.MODULE_25.BSS_START = .;
module_25.o (.sbss)
module_25.o (.bss)
+ . = ALIGN(32);
SDK_OVERLAY.MODULE_25.BSS_END = .;
SDK_OVERLAY.MODULE_25.BSS_SIZE = SDK_OVERLAY.MODULE_25.BSS_END - SDK_OVERLAY.MODULE_25.BSS_START;
} >> MODULE_25
@@ -1173,8 +1243,17 @@ SECTIONS {
ALIGNALL(4); . = ALIGN(32);
SDK_OVERLAY.MODULE_26.START = .;
module_26.o (.text)
+ module_26.o (.rodata)
+ module_26.o (.init)
+ SDK_OVERLAY.MODULE_26.SINIT_START = .;
+ module_26.o (.ctor)
+ module_26.o (.sinit)
+ WRITEW 0;
+ SDK_OVERLAY.MODULE_26.SINIT_END = .;
+ . = ALIGN(32);
module_26.o (.sdata)
module_26.o (.data)
+ . = ALIGN(32);
SDK_OVERLAY.MODULE_26.END = .;
SDK_OVERLAY.MODULE_26.SIZE = SDK_OVERLAY.MODULE_26.END - SDK_OVERLAY.MODULE_26.START;
} > MODULE_26
@@ -1185,6 +1264,7 @@ SECTIONS {
SDK_OVERLAY.MODULE_26.BSS_START = .;
module_26.o (.sbss)
module_26.o (.bss)
+ . = ALIGN(32);
SDK_OVERLAY.MODULE_26.BSS_END = .;
SDK_OVERLAY.MODULE_26.BSS_SIZE = SDK_OVERLAY.MODULE_26.BSS_END - SDK_OVERLAY.MODULE_26.BSS_START;
} >> MODULE_26
@@ -1194,8 +1274,17 @@ SECTIONS {
ALIGNALL(4); . = ALIGN(32);
SDK_OVERLAY.MODULE_27.START = .;
module_27.o (.text)
+ module_27.o (.rodata)
+ module_27.o (.init)
+ // SDK_OVERLAY.MODULE_27.SINIT_START = .;
+ module_27.o (.ctor)
+ module_27.o (.sinit)
+ // WRITEW 0;
+ // SDK_OVERLAY.MODULE_27.SINIT_END = .;
+ . = ALIGN(32);
module_27.o (.sdata)
module_27.o (.data)
+ . = ALIGN(32);
SDK_OVERLAY.MODULE_27.END = .;
SDK_OVERLAY.MODULE_27.SIZE = SDK_OVERLAY.MODULE_27.END - SDK_OVERLAY.MODULE_27.START;
} > MODULE_27
@@ -1206,6 +1295,7 @@ SECTIONS {
SDK_OVERLAY.MODULE_27.BSS_START = .;
module_27.o (.sbss)
module_27.o (.bss)
+ . = ALIGN(32);
SDK_OVERLAY.MODULE_27.BSS_END = .;
SDK_OVERLAY.MODULE_27.BSS_SIZE = SDK_OVERLAY.MODULE_27.BSS_END - SDK_OVERLAY.MODULE_27.BSS_START;
} >> MODULE_27
@@ -2636,15 +2726,87 @@ SECTIONS {
WRITEW SDK_OVERLAY_MODULE_18_ID;
WRITEW 0;
- OVERLAY_TABLE(MODULE_19, 19)
- OVERLAY_TABLE(MODULE_20, 20)
- OVERLAY_TABLE(MODULE_21, 21)
- OVERLAY_TABLE(MODULE_22, 22)
- OVERLAY_TABLE(MODULE_23, 23)
- OVERLAY_TABLE(MODULE_24, 24)
- OVERLAY_TABLE(MODULE_25, 25)
- OVERLAY_TABLE(MODULE_26, 26)
- OVERLAY_TABLE(MODULE_27, 27)
+ WRITEW SDK_OVERLAY_MODULE_19_ID;
+ WRITEW SDK_OVERLAY.MODULE_19.START;
+ WRITEW SDK_OVERLAY.MODULE_19.SIZE;
+ WRITEW SDK_OVERLAY.MODULE_19.BSS_SIZE;
+ WRITEW SDK_OVERLAY.MODULE_19.SINIT_START;
+ WRITEW SDK_OVERLAY.MODULE_19.SINIT_END;
+ WRITEW SDK_OVERLAY_MODULE_19_ID;
+ WRITEW 0;
+
+ WRITEW SDK_OVERLAY_MODULE_20_ID;
+ WRITEW SDK_OVERLAY.MODULE_20.START;
+ WRITEW SDK_OVERLAY.MODULE_20.SIZE;
+ WRITEW SDK_OVERLAY.MODULE_20.BSS_SIZE;
+ WRITEW SDK_OVERLAY.MODULE_20.SINIT_START;
+ WRITEW SDK_OVERLAY.MODULE_20.SINIT_END;
+ WRITEW SDK_OVERLAY_MODULE_20_ID;
+ WRITEW 0;
+
+ WRITEW SDK_OVERLAY_MODULE_21_ID;
+ WRITEW SDK_OVERLAY.MODULE_21.START;
+ WRITEW SDK_OVERLAY.MODULE_21.SIZE;
+ WRITEW SDK_OVERLAY.MODULE_21.BSS_SIZE;
+ WRITEW SDK_OVERLAY.MODULE_21.SINIT_START;
+ WRITEW SDK_OVERLAY.MODULE_21.SINIT_END;
+ WRITEW SDK_OVERLAY_MODULE_21_ID;
+ WRITEW 0;
+
+ WRITEW SDK_OVERLAY_MODULE_22_ID;
+ WRITEW SDK_OVERLAY.MODULE_22.START;
+ WRITEW SDK_OVERLAY.MODULE_22.SIZE;
+ WRITEW SDK_OVERLAY.MODULE_22.BSS_SIZE;
+ WRITEW SDK_OVERLAY.MODULE_22.SINIT_START;
+ WRITEW SDK_OVERLAY.MODULE_22.SINIT_END;
+ WRITEW SDK_OVERLAY_MODULE_22_ID;
+ WRITEW 0;
+
+ WRITEW SDK_OVERLAY_MODULE_23_ID;
+ WRITEW SDK_OVERLAY.MODULE_23.START;
+ WRITEW SDK_OVERLAY.MODULE_23.SIZE;
+ WRITEW SDK_OVERLAY.MODULE_23.BSS_SIZE;
+ WRITEW SDK_OVERLAY.MODULE_23.SINIT_START;
+ WRITEW SDK_OVERLAY.MODULE_23.SINIT_END;
+ WRITEW SDK_OVERLAY_MODULE_23_ID;
+ WRITEW 0;
+
+ WRITEW SDK_OVERLAY_MODULE_24_ID;
+ WRITEW SDK_OVERLAY.MODULE_24.START;
+ WRITEW SDK_OVERLAY.MODULE_24.SIZE;
+ WRITEW SDK_OVERLAY.MODULE_24.BSS_SIZE;
+ WRITEW SDK_OVERLAY.MODULE_24.SINIT_START;
+ WRITEW SDK_OVERLAY.MODULE_24.SINIT_END;
+ WRITEW SDK_OVERLAY_MODULE_24_ID;
+ WRITEW 0;
+
+ WRITEW SDK_OVERLAY_MODULE_25_ID;
+ WRITEW SDK_OVERLAY.MODULE_25.START;
+ WRITEW SDK_OVERLAY.MODULE_25.SIZE;
+ WRITEW SDK_OVERLAY.MODULE_25.BSS_SIZE;
+ WRITEW SDK_OVERLAY.MODULE_25.SINIT_START;
+ WRITEW SDK_OVERLAY.MODULE_25.SINIT_END;
+ WRITEW SDK_OVERLAY_MODULE_25_ID;
+ WRITEW 0;
+
+ WRITEW SDK_OVERLAY_MODULE_26_ID;
+ WRITEW SDK_OVERLAY.MODULE_26.START;
+ WRITEW SDK_OVERLAY.MODULE_26.SIZE;
+ WRITEW SDK_OVERLAY.MODULE_26.BSS_SIZE;
+ WRITEW SDK_OVERLAY.MODULE_26.SINIT_START;
+ WRITEW SDK_OVERLAY.MODULE_26.SINIT_END;
+ WRITEW SDK_OVERLAY_MODULE_26_ID;
+ WRITEW 0;
+
+ WRITEW SDK_OVERLAY_MODULE_27_ID;
+ WRITEW SDK_OVERLAY.MODULE_27.START;
+ WRITEW SDK_OVERLAY.MODULE_27.SIZE;
+ WRITEW SDK_OVERLAY.MODULE_27.BSS_SIZE;
+ WRITEW SDK_OVERLAY.MODULE_27.SINIT_START;
+ WRITEW SDK_OVERLAY.MODULE_27.SINIT_END;
+ WRITEW SDK_OVERLAY_MODULE_27_ID;
+ WRITEW 0;
+
OVERLAY_TABLE(MODULE_28, 28)
OVERLAY_TABLE(MODULE_29, 29)
OVERLAY_TABLE(MODULE_30, 30)
diff --git a/arm9/modules/19/asm/module_19.s b/arm9/modules/19/asm/module_19.s
index 76dad3e4..52c045cc 100644
--- a/arm9/modules/19/asm/module_19.s
+++ b/arm9/modules/19/asm/module_19.s
@@ -101,6 +101,6 @@ MOD19_02252504: ; 0x02252504
bx lr
thumb_func_end MOD19_02252504
- .section .data
+ .section .rodata
; 0x02252508
- .incbin "baserom.nds", 0x2830C8, 0x38
+ .incbin "baserom.nds", 0x2830C8, 0x1c
diff --git a/arm9/modules/20/asm/module_20.s b/arm9/modules/20/asm/module_20.s
index afe8646c..1c3ba821 100644
--- a/arm9/modules/20/asm/module_20.s
+++ b/arm9/modules/20/asm/module_20.s
@@ -4565,6 +4565,6 @@ _022544BC: .word 0x022547C4
_022544C0: .word 0x022547C5
thumb_func_end MOD20_02254488
- .section .data
+ .section .rodata
; 0x022544C4
- .incbin "baserom.nds", 0x285284, 0x37C
+ .incbin "baserom.nds", 0x285284, 0x374
diff --git a/arm9/modules/21/asm/module_21.s b/arm9/modules/21/asm/module_21.s
index cea8f6e8..0c30eb9a 100644
--- a/arm9/modules/21/asm/module_21.s
+++ b/arm9/modules/21/asm/module_21.s
@@ -721,6 +721,15 @@ _02254D78: .word 0x040002A0
_02254D7C: .word 0x040002A8
thumb_func_end MOD21_02254C5C
- .section .data
+ .section .rodata
; 0x02254D80
- .incbin "baserom.nds", 0x285B40, 0x80
+ .incbin "baserom.nds", 0x285B40, 0x68
+
+ ; Dumb hack because the compiler aligns to 16 instead of 8
+ ;.section .sinit
+ .global SDK_OVERLAY.MODULE_21.SINIT_START
+ .global SDK_OVERLAY.MODULE_21.SINIT_END
+SDK_OVERLAY.MODULE_21.SINIT_START:
+ .word MOD21_02254840
+ .word 0
+SDK_OVERLAY.MODULE_21.SINIT_END:
diff --git a/arm9/modules/22/asm/module_22.s b/arm9/modules/22/asm/module_22.s
index 77e6bff4..610d0a55 100644
--- a/arm9/modules/22/asm/module_22.s
+++ b/arm9/modules/22/asm/module_22.s
@@ -1840,6 +1840,9 @@ _02255604:
.align 2, 0
thumb_func_end MOD22_022555FC
- .section .data
+ .section .rodata
; 0x02255618
- .incbin "baserom.nds", 0x2869D8, 0x128
+ .incbin "baserom.nds", 0x2869D8, 0x118
+
+ .section .sinit
+ .word MOD22_02254840
diff --git a/arm9/modules/23/asm/module_23.s b/arm9/modules/23/asm/module_23.s
index 6688578e..a5adabbb 100644
--- a/arm9/modules/23/asm/module_23.s
+++ b/arm9/modules/23/asm/module_23.s
@@ -2789,6 +2789,14 @@ _02255C96:
_02255CB8: .word 0x022560D0
thumb_func_end MOD23_02255C6C
- .section .data
+ .section .rodata
; 0x02255CBC
- .incbin "baserom.nds", 0x28807C, 0x484
+ .incbin "baserom.nds", 0x28807C, 0x46C
+
+ ; .section .sinit
+ .global SDK_OVERLAY.MODULE_23.SINIT_START
+ .global SDK_OVERLAY.MODULE_23.SINIT_END
+SDK_OVERLAY.MODULE_23.SINIT_START:
+ .word MOD23_02254840
+ .word 0
+SDK_OVERLAY.MODULE_23.SINIT_END:
diff --git a/arm9/modules/24/asm/module_24.s b/arm9/modules/24/asm/module_24.s
index e3b9a327..ba2c3f32 100644
--- a/arm9/modules/24/asm/module_24.s
+++ b/arm9/modules/24/asm/module_24.s
@@ -1179,6 +1179,9 @@ _022550DC:
.align 2, 0
thumb_func_end MOD24_022550D4
- .section .data
+ .section .rodata
; 0x022550F8
- .incbin "baserom.nds", 0x288EB8, 0xE8
+ .incbin "baserom.nds", 0x288EB8, 0xC8
+
+ .section .sinit
+ .word MOD24_02254840
diff --git a/arm9/modules/25/asm/module_25.s b/arm9/modules/25/asm/module_25.s
index 6df522da..e1d7b555 100644
--- a/arm9/modules/25/asm/module_25.s
+++ b/arm9/modules/25/asm/module_25.s
@@ -658,6 +658,9 @@ _02254CE6:
pop {r4, r5, r6, pc}
thumb_func_end MOD25_02254CD8
- .section .data
+ .section .rodata
; 0x02254CF8
- .incbin "baserom.nds", 0x2894B8, 0xA8
+ .incbin "baserom.nds", 0x2894B8, 0x88
+
+ .section .sinit
+ .word MOD25_02254840
diff --git a/arm9/modules/26/asm/module_26.s b/arm9/modules/26/asm/module_26.s
index 2511101e..0b8d99df 100644
--- a/arm9/modules/26/asm/module_26.s
+++ b/arm9/modules/26/asm/module_26.s
@@ -788,6 +788,9 @@ _02254DC2:
_02254DE0: .word 0x02254FD0
thumb_func_end MOD26_02254DAC
- .section .data
+ .section .rodata
; 0x02254DE4
- .incbin "baserom.nds", 0x289BA4, 0x25C
+ .incbin "baserom.nds", 0x289BA4, 0x23C
+
+ .section .sinit
+ .word MOD26_02254840
diff --git a/arm9/modules/27/asm/module_27.s b/arm9/modules/27/asm/module_27.s
index b9a2d1ca..13a97851 100644
--- a/arm9/modules/27/asm/module_27.s
+++ b/arm9/modules/27/asm/module_27.s
@@ -1448,6 +1448,14 @@ MOD27_022552D0: ; 0x022552D0
_02255338: .word 0x00000669
thumb_func_end MOD27_022552D0
- .section .data
+ .section .rodata
; 0x0225533C
- .incbin "baserom.nds", 0x28A8FC, 0xA4
+ .incbin "baserom.nds", 0x28A8FC, 0x88
+
+ ; .section .sinit
+ .global SDK_OVERLAY.MODULE_27.SINIT_START
+ .global SDK_OVERLAY.MODULE_27.SINIT_END
+SDK_OVERLAY.MODULE_27.SINIT_START:
+ .word MOD27_02254840
+ .word 0
+SDK_OVERLAY.MODULE_27.SINIT_END: