diff options
-rw-r--r-- | arm9/arm9.lcf | 125 | ||||
-rw-r--r-- | arm9/modules/28/asm/module_28.s | 16 | ||||
-rw-r--r-- | arm9/modules/29/asm/module_29.s | 12 | ||||
-rw-r--r-- | arm9/modules/30/asm/module_30.s | 10 | ||||
-rw-r--r-- | arm9/modules/31/asm/module_31.s | 7 | ||||
-rw-r--r-- | arm9/modules/32/asm/module_32.s | 12 | ||||
-rw-r--r-- | arm9/modules/33/asm/module_33.s | 7 |
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 |