summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arm9/arm9.lcf125
-rw-r--r--arm9/modules/28/asm/module_28.s16
-rw-r--r--arm9/modules/29/asm/module_29.s12
-rw-r--r--arm9/modules/30/asm/module_30.s10
-rw-r--r--arm9/modules/31/asm/module_31.s7
-rw-r--r--arm9/modules/32/asm/module_32.s12
-rw-r--r--arm9/modules/33/asm/module_33.s7
7 files changed, 171 insertions, 18 deletions
diff --git a/arm9/arm9.lcf b/arm9/arm9.lcf
index dddf0f69..c3841d9e 100644
--- a/arm9/arm9.lcf
+++ b/arm9/arm9.lcf
@@ -1305,8 +1305,17 @@ SECTIONS {
ALIGNALL(4); . = ALIGN(32);
SDK_OVERLAY.MODULE_28.START = .;
module_28.o (.text)
+ module_28.o (.rodata)
+ module_28.o (.init)
+ // SDK_OVERLAY.MODULE_28.SINIT_START = .;
+ module_28.o (.ctor)
+ module_28.o (.sinit)
+ // WRITEW 0;
+ // SDK_OVERLAY.MODULE_28.SINIT_END = .;
+ . = ALIGN(32);
module_28.o (.sdata)
module_28.o (.data)
+ . = ALIGN(32);
SDK_OVERLAY.MODULE_28.END = .;
SDK_OVERLAY.MODULE_28.SIZE = SDK_OVERLAY.MODULE_28.END - SDK_OVERLAY.MODULE_28.START;
} > MODULE_28
@@ -1317,6 +1326,7 @@ SECTIONS {
SDK_OVERLAY.MODULE_28.BSS_START = .;
module_28.o (.sbss)
module_28.o (.bss)
+ . = ALIGN(32);
SDK_OVERLAY.MODULE_28.BSS_END = .;
SDK_OVERLAY.MODULE_28.BSS_SIZE = SDK_OVERLAY.MODULE_28.BSS_END - SDK_OVERLAY.MODULE_28.BSS_START;
} >> MODULE_28
@@ -1326,8 +1336,17 @@ SECTIONS {
ALIGNALL(4); . = ALIGN(32);
SDK_OVERLAY.MODULE_29.START = .;
module_29.o (.text)
+ module_29.o (.rodata)
+ module_29.o (.init)
+ // SDK_OVERLAY.MODULE_29.SINIT_START = .;
+ module_29.o (.ctor)
+ module_29.o (.sinit)
+ // WRITEW 0;
+ // SDK_OVERLAY.MODULE_29.SINIT_END = .;
+ . = ALIGN(32);
module_29.o (.sdata)
module_29.o (.data)
+ . = ALIGN(32);
SDK_OVERLAY.MODULE_29.END = .;
SDK_OVERLAY.MODULE_29.SIZE = SDK_OVERLAY.MODULE_29.END - SDK_OVERLAY.MODULE_29.START;
} > MODULE_29
@@ -1338,6 +1357,7 @@ SECTIONS {
SDK_OVERLAY.MODULE_29.BSS_START = .;
module_29.o (.sbss)
module_29.o (.bss)
+ . = ALIGN(32);
SDK_OVERLAY.MODULE_29.BSS_END = .;
SDK_OVERLAY.MODULE_29.BSS_SIZE = SDK_OVERLAY.MODULE_29.BSS_END - SDK_OVERLAY.MODULE_29.BSS_START;
} >> MODULE_29
@@ -1347,8 +1367,17 @@ SECTIONS {
ALIGNALL(4); . = ALIGN(32);
SDK_OVERLAY.MODULE_30.START = .;
module_30.o (.text)
+ module_30.o (.rodata)
+ module_30.o (.init)
+ // SDK_OVERLAY.MODULE_30.SINIT_START = .;
+ module_30.o (.ctor)
+ module_30.o (.sinit)
+ // WRITEW 0;
+ // SDK_OVERLAY.MODULE_30.SINIT_END = .;
+ . = ALIGN(32);
module_30.o (.sdata)
module_30.o (.data)
+ . = ALIGN(32);
SDK_OVERLAY.MODULE_30.END = .;
SDK_OVERLAY.MODULE_30.SIZE = SDK_OVERLAY.MODULE_30.END - SDK_OVERLAY.MODULE_30.START;
} > MODULE_30
@@ -1359,6 +1388,7 @@ SECTIONS {
SDK_OVERLAY.MODULE_30.BSS_START = .;
module_30.o (.sbss)
module_30.o (.bss)
+ . = ALIGN(32);
SDK_OVERLAY.MODULE_30.BSS_END = .;
SDK_OVERLAY.MODULE_30.BSS_SIZE = SDK_OVERLAY.MODULE_30.BSS_END - SDK_OVERLAY.MODULE_30.BSS_START;
} >> MODULE_30
@@ -1368,8 +1398,17 @@ SECTIONS {
ALIGNALL(4); . = ALIGN(32);
SDK_OVERLAY.MODULE_31.START = .;
module_31.o (.text)
+ module_31.o (.rodata)
+ module_31.o (.init)
+ SDK_OVERLAY.MODULE_31.SINIT_START = .;
+ module_31.o (.ctor)
+ module_31.o (.sinit)
+ WRITEW 0;
+ SDK_OVERLAY.MODULE_31.SINIT_END = .;
+ . = ALIGN(32);
module_31.o (.sdata)
module_31.o (.data)
+ . = ALIGN(32);
SDK_OVERLAY.MODULE_31.END = .;
SDK_OVERLAY.MODULE_31.SIZE = SDK_OVERLAY.MODULE_31.END - SDK_OVERLAY.MODULE_31.START;
} > MODULE_31
@@ -1380,6 +1419,7 @@ SECTIONS {
SDK_OVERLAY.MODULE_31.BSS_START = .;
module_31.o (.sbss)
module_31.o (.bss)
+ . = ALIGN(32);
SDK_OVERLAY.MODULE_31.BSS_END = .;
SDK_OVERLAY.MODULE_31.BSS_SIZE = SDK_OVERLAY.MODULE_31.BSS_END - SDK_OVERLAY.MODULE_31.BSS_START;
} >> MODULE_31
@@ -1389,8 +1429,17 @@ SECTIONS {
ALIGNALL(4); . = ALIGN(32);
SDK_OVERLAY.MODULE_32.START = .;
module_32.o (.text)
+ module_32.o (.rodata)
+ module_32.o (.init)
+ // SDK_OVERLAY.MODULE_32.SINIT_START = .;
+ module_32.o (.ctor)
+ module_32.o (.sinit)
+ // WRITEW 0;
+ // SDK_OVERLAY.MODULE_32.SINIT_END = .;
+ . = ALIGN(32);
module_32.o (.sdata)
module_32.o (.data)
+ . = ALIGN(32);
SDK_OVERLAY.MODULE_32.END = .;
SDK_OVERLAY.MODULE_32.SIZE = SDK_OVERLAY.MODULE_32.END - SDK_OVERLAY.MODULE_32.START;
} > MODULE_32
@@ -1401,14 +1450,25 @@ SECTIONS {
SDK_OVERLAY.MODULE_32.BSS_START = .;
module_32.o (.sbss)
module_32.o (.bss)
+ . = ALIGN(32);
SDK_OVERLAY.MODULE_32.BSS_END = .;
SDK_OVERLAY.MODULE_32.BSS_SIZE = SDK_OVERLAY.MODULE_32.BSS_END - SDK_OVERLAY.MODULE_32.BSS_START;
} >> MODULE_32
- .MODULE.33: {
+ .MODULE.33 :
+ {
ALIGNALL(4); . = ALIGN(32);
SDK_OVERLAY.MODULE_33.START = .;
- module_33.o (.text) /* 0x289E00 */
+ module_33.o (.text)
+ module_33.o (.rodata)
+ module_33.o (.init)
+ SDK_OVERLAY.MODULE_33.SINIT_START = .;
+ module_33.o (.ctor)
+ module_33.o (.sinit)
+ WRITEW 0;
+ SDK_OVERLAY.MODULE_33.SINIT_END = .;
+ . = ALIGN(32);
+ module_33.o (.sdata)
module_33.o (.data)
. = ALIGN(32);
SDK_OVERLAY.MODULE_33.END = .;
@@ -1419,6 +1479,7 @@ SECTIONS {
{
ALIGNALL(4); . = ALIGN(32);
SDK_OVERLAY.MODULE_33.BSS_START = .;
+ module_33.o (.sbss)
module_33.o (.bss)
. = ALIGN(32);
SDK_OVERLAY.MODULE_33.BSS_END = .;
@@ -2807,12 +2868,60 @@ SECTIONS {
WRITEW SDK_OVERLAY_MODULE_27_ID;
WRITEW 0;
- OVERLAY_TABLE(MODULE_28, 28)
- OVERLAY_TABLE(MODULE_29, 29)
- OVERLAY_TABLE(MODULE_30, 30)
- OVERLAY_TABLE(MODULE_31, 31)
- OVERLAY_TABLE(MODULE_32, 32)
- OVERLAY_TABLE(MODULE_33, 33)
+ WRITEW SDK_OVERLAY_MODULE_28_ID;
+ WRITEW SDK_OVERLAY.MODULE_28.START;
+ WRITEW SDK_OVERLAY.MODULE_28.SIZE;
+ WRITEW SDK_OVERLAY.MODULE_28.BSS_SIZE;
+ WRITEW SDK_OVERLAY.MODULE_28.SINIT_START;
+ WRITEW SDK_OVERLAY.MODULE_28.SINIT_END;
+ WRITEW SDK_OVERLAY_MODULE_28_ID;
+ WRITEW 0;
+
+ WRITEW SDK_OVERLAY_MODULE_29_ID;
+ WRITEW SDK_OVERLAY.MODULE_29.START;
+ WRITEW SDK_OVERLAY.MODULE_29.SIZE;
+ WRITEW SDK_OVERLAY.MODULE_29.BSS_SIZE;
+ WRITEW SDK_OVERLAY.MODULE_29.SINIT_START;
+ WRITEW SDK_OVERLAY.MODULE_29.SINIT_END;
+ WRITEW SDK_OVERLAY_MODULE_29_ID;
+ WRITEW 0;
+
+ WRITEW SDK_OVERLAY_MODULE_30_ID;
+ WRITEW SDK_OVERLAY.MODULE_30.START;
+ WRITEW SDK_OVERLAY.MODULE_30.SIZE;
+ WRITEW SDK_OVERLAY.MODULE_30.BSS_SIZE;
+ WRITEW SDK_OVERLAY.MODULE_30.SINIT_START;
+ WRITEW SDK_OVERLAY.MODULE_30.SINIT_END;
+ WRITEW SDK_OVERLAY_MODULE_30_ID;
+ WRITEW 0;
+
+ WRITEW SDK_OVERLAY_MODULE_31_ID;
+ WRITEW SDK_OVERLAY.MODULE_31.START;
+ WRITEW SDK_OVERLAY.MODULE_31.SIZE;
+ WRITEW SDK_OVERLAY.MODULE_31.BSS_SIZE;
+ WRITEW SDK_OVERLAY.MODULE_31.SINIT_START;
+ WRITEW SDK_OVERLAY.MODULE_31.SINIT_END;
+ WRITEW SDK_OVERLAY_MODULE_31_ID;
+ WRITEW 0;
+
+ WRITEW SDK_OVERLAY_MODULE_32_ID;
+ WRITEW SDK_OVERLAY.MODULE_32.START;
+ WRITEW SDK_OVERLAY.MODULE_32.SIZE;
+ WRITEW SDK_OVERLAY.MODULE_32.BSS_SIZE;
+ WRITEW SDK_OVERLAY.MODULE_32.SINIT_START;
+ WRITEW SDK_OVERLAY.MODULE_32.SINIT_END;
+ WRITEW SDK_OVERLAY_MODULE_32_ID;
+ WRITEW 0;
+
+ WRITEW SDK_OVERLAY_MODULE_33_ID;
+ WRITEW SDK_OVERLAY.MODULE_33.START;
+ WRITEW SDK_OVERLAY.MODULE_33.SIZE;
+ WRITEW SDK_OVERLAY.MODULE_33.BSS_SIZE;
+ WRITEW SDK_OVERLAY.MODULE_33.SINIT_START;
+ WRITEW SDK_OVERLAY.MODULE_33.SINIT_END;
+ WRITEW SDK_OVERLAY_MODULE_33_ID;
+ WRITEW 0;
+
OVERLAY_TABLE(MODULE_34, 34)
OVERLAY_TABLE(MODULE_35, 35)
OVERLAY_TABLE(MODULE_36, 36)
diff --git a/arm9/modules/28/asm/module_28.s b/arm9/modules/28/asm/module_28.s
index 0ad10077..e1a1d741 100644
--- a/arm9/modules/28/asm/module_28.s
+++ b/arm9/modules/28/asm/module_28.s
@@ -2963,5 +2963,19 @@ _02255E6E:
nop
_02255E74: .word 0x00000163
thumb_func_end MOD28_02255920
+
+ .section .rodata
; 0x02255E78
- .incbin "baserom.nds", 0x28C038, 0x148
+ .incbin "baserom.nds", 0x28C038, 0xa0
+
+ ; .section .sinit
+ .global SDK_OVERLAY.MODULE_28.SINIT_START
+ .global SDK_OVERLAY.MODULE_28.SINIT_END
+SDK_OVERLAY.MODULE_28.SINIT_START:
+ .word MOD28_02254840
+ .word 0
+SDK_OVERLAY.MODULE_28.SINIT_END:
+
+ .section .data
+ ; 0x02255F20
+ .incbin "baserom.nds", 0x28C0E0, 0xa0
diff --git a/arm9/modules/29/asm/module_29.s b/arm9/modules/29/asm/module_29.s
index 818f41aa..db3f5ab8 100644
--- a/arm9/modules/29/asm/module_29.s
+++ b/arm9/modules/29/asm/module_29.s
@@ -1121,6 +1121,14 @@ MOD29_0225508C: ; 0x0225508C
.align 2, 0
thumb_func_end MOD29_0225508C
- .section .data
+ .section .rodata
; 0x0225509C
- .incbin "baserom.nds", 0x28CA5C, 0xA4
+ .incbin "baserom.nds", 0x28CA5C, 0x90
+
+ ; .section .sinit
+ .global SDK_OVERLAY.MODULE_29.SINIT_START
+ .global SDK_OVERLAY.MODULE_29.SINIT_END
+SDK_OVERLAY.MODULE_29.SINIT_START:
+ .word MOD29_02254840
+ .word 0
+SDK_OVERLAY.MODULE_29.SINIT_END:
diff --git a/arm9/modules/30/asm/module_30.s b/arm9/modules/30/asm/module_30.s
index 36581e76..924f7ad0 100644
--- a/arm9/modules/30/asm/module_30.s
+++ b/arm9/modules/30/asm/module_30.s
@@ -731,4 +731,12 @@ _02254D9C: .word 0x040002A8
.section .data
; 0x02254DA0
- .incbin "baserom.nds", 0x28D160, 0xA0
+ .incbin "baserom.nds", 0x28D160, 0x88
+
+ ; .section .sinit
+ .global SDK_OVERLAY.MODULE_30.SINIT_START
+ .global SDK_OVERLAY.MODULE_30.SINIT_END
+SDK_OVERLAY.MODULE_30.SINIT_START:
+ .word MOD30_02254840
+ .word 0
+SDK_OVERLAY.MODULE_30.SINIT_END:
diff --git a/arm9/modules/31/asm/module_31.s b/arm9/modules/31/asm/module_31.s
index cdf3282a..e9c70424 100644
--- a/arm9/modules/31/asm/module_31.s
+++ b/arm9/modules/31/asm/module_31.s
@@ -719,6 +719,9 @@ _02254D90: .word 0x040002A0
_02254D94: .word 0x040002A8
thumb_func_end MOD31_02254D1C
- .section .data
+ .section .rodata
; 0x02254D98
- .incbin "baserom.nds", 0x28D758, 0xA8
+ .incbin "baserom.nds", 0x28D758, 0x88
+
+ .section .sinit
+ .word MOD31_02254840
diff --git a/arm9/modules/32/asm/module_32.s b/arm9/modules/32/asm/module_32.s
index 135a9b15..299432f1 100644
--- a/arm9/modules/32/asm/module_32.s
+++ b/arm9/modules/32/asm/module_32.s
@@ -571,6 +571,14 @@ _02254C48:
_02254C50: .word 0x00000663
thumb_func_end MOD32_02254C08
- .section .data
+ .section .rodata
; 0x02254C54
- .incbin "baserom.nds", 0x28DC14, 0x8C
+ .incbin "baserom.nds", 0x28DC14, 0x70
+
+ ; .section .sinit
+ .global SDK_OVERLAY.MODULE_32.SINIT_START
+ .global SDK_OVERLAY.MODULE_32.SINIT_END
+SDK_OVERLAY.MODULE_32.SINIT_START:
+ .word MOD32_02254840
+ .word 0
+SDK_OVERLAY.MODULE_32.SINIT_END:
diff --git a/arm9/modules/33/asm/module_33.s b/arm9/modules/33/asm/module_33.s
index d1b6ad49..67ec554d 100644
--- a/arm9/modules/33/asm/module_33.s
+++ b/arm9/modules/33/asm/module_33.s
@@ -391,6 +391,9 @@ MOD33_02254AD8: ; 0x02254AD8
.align 2, 0
thumb_func_end MOD33_02254AD8
- .section .data
+ .section .rodata
; 0x02254AF4
- .incbin "baserom.nds", 0x28E0B4, 0x6C
+ .incbin "baserom.nds", 0x28E0B4, 0x4C
+
+ .section .sinit
+ .word MOD33_02254840