diff options
-rw-r--r-- | arm9/arm9.lcf | 180 | ||||
-rw-r--r-- | arm9/modules/19/asm/module_19.s | 4 | ||||
-rw-r--r-- | arm9/modules/20/asm/module_20.s | 4 | ||||
-rw-r--r-- | arm9/modules/21/asm/module_21.s | 13 | ||||
-rw-r--r-- | arm9/modules/22/asm/module_22.s | 7 | ||||
-rw-r--r-- | arm9/modules/23/asm/module_23.s | 12 | ||||
-rw-r--r-- | arm9/modules/24/asm/module_24.s | 7 | ||||
-rw-r--r-- | arm9/modules/25/asm/module_25.s | 7 | ||||
-rw-r--r-- | arm9/modules/26/asm/module_26.s | 7 | ||||
-rw-r--r-- | arm9/modules/27/asm/module_27.s | 12 |
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: |