From 051e30eedbb86cb76b7faa6d6d091e58c9a741e9 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 9 May 2020 17:23:04 -0400 Subject: module 11 init --- arm9/arm9.lcf | 37 +++++++++++++++++++++++++++++++++++ arm9/modules/00/asm/module_00_dummy.s | 1 + arm9/modules/02/asm/module_02_dummy.s | 1 + arm9/modules/03/asm/module_03_dummy.s | 1 + arm9/modules/05/asm/module_05.s | 8 ++++++-- arm9/modules/10/asm/module_10_dummy.s | 6 +----- arm9/modules/11/asm/module_11.s | 20 ++++++++++++++++--- 7 files changed, 64 insertions(+), 10 deletions(-) diff --git a/arm9/arm9.lcf b/arm9/arm9.lcf index 0269d601..1bcc9243 100644 --- a/arm9/arm9.lcf +++ b/arm9/arm9.lcf @@ -420,6 +420,7 @@ SECTIONS { . = ALIGN(32); module_00_dummy.o (.sdata) module_00_dummy.o (.data) + . = ALIGN(32); SDK_OVERLAY.MODULE_00.END = .; SDK_OVERLAY.MODULE_00.SIZE = SDK_OVERLAY.MODULE_00.END - SDK_OVERLAY.MODULE_00.START; } > MODULE_00 @@ -429,6 +430,7 @@ SECTIONS { SDK_OVERLAY.MODULE_00.BSS_START = .; module_00_dummy.o (.sbss) module_00_dummy.o (.bss) + . = ALIGN(32); SDK_OVERLAY.MODULE_00.BSS_END = .; SDK_OVERLAY.MODULE_00.BSS_SIZE = SDK_OVERLAY.MODULE_00.BSS_END - SDK_OVERLAY.MODULE_00.BSS_START; } >> MODULE_00 @@ -477,6 +479,7 @@ SECTIONS { . = ALIGN(32); module_02_dummy.o (.sdata) module_02_dummy.o (.data) + . = ALIGN(32); SDK_OVERLAY.MODULE_02.END = .; SDK_OVERLAY.MODULE_02.SIZE = SDK_OVERLAY.MODULE_02.END - SDK_OVERLAY.MODULE_02.START; } > MODULE_02 @@ -486,6 +489,7 @@ SECTIONS { SDK_OVERLAY.MODULE_02.BSS_START = .; module_02_dummy.o (.sbss) module_02_dummy.o (.bss) + . = ALIGN(32); SDK_OVERLAY.MODULE_02.BSS_END = .; SDK_OVERLAY.MODULE_02.BSS_SIZE = SDK_OVERLAY.MODULE_02.BSS_END - SDK_OVERLAY.MODULE_02.BSS_START; } >> MODULE_02 @@ -505,6 +509,7 @@ SECTIONS { . = ALIGN(32); module_03_dummy.o (.sdata) module_03_dummy.o (.data) + . = ALIGN(32); SDK_OVERLAY.MODULE_03.END = .; SDK_OVERLAY.MODULE_03.SIZE = SDK_OVERLAY.MODULE_03.END - SDK_OVERLAY.MODULE_03.START; } > MODULE_03 @@ -514,6 +519,7 @@ SECTIONS { SDK_OVERLAY.MODULE_03.BSS_START = .; module_03_dummy.o (.sbss) module_03_dummy.o (.bss) + . = ALIGN(32); SDK_OVERLAY.MODULE_03.BSS_END = .; SDK_OVERLAY.MODULE_03.BSS_SIZE = SDK_OVERLAY.MODULE_03.BSS_END - SDK_OVERLAY.MODULE_03.BSS_START; } >> MODULE_03 @@ -540,6 +546,7 @@ SECTIONS { arm_04.o (.sdata) thumb_04.o (.data) arm_04.o (.data) + . = ALIGN(32); SDK_OVERLAY.MODULE_04.END = .; SDK_OVERLAY.MODULE_04.SIZE = SDK_OVERLAY.MODULE_04.END - SDK_OVERLAY.MODULE_04.START; } > MODULE_04 @@ -551,6 +558,7 @@ SECTIONS { arm_04.o (.sbss) thumb_04.o (.bss) arm_04.o (.bss) + . = ALIGN(32); SDK_OVERLAY.MODULE_04.BSS_END = .; SDK_OVERLAY.MODULE_04.BSS_SIZE = SDK_OVERLAY.MODULE_04.BSS_END - SDK_OVERLAY.MODULE_04.BSS_START; } >> MODULE_04 @@ -560,8 +568,17 @@ SECTIONS { ALIGNALL(4); . = ALIGN(32); SDK_OVERLAY.MODULE_05.START = .; module_05.o (.text) + module_05.o (.rodata) + module_05.o (.init) + SDK_OVERLAY.MODULE_05.SINIT_START = .; + module_05.o (.ctor) + module_05.o (.sinit) + WRITEW 0; + SDK_OVERLAY.MODULE_05.SINIT_END = .; + . = ALIGN(32); module_05.o (.sdata) module_05.o (.data) + . = ALIGN(32); SDK_OVERLAY.MODULE_05.END = .; SDK_OVERLAY.MODULE_05.SIZE = SDK_OVERLAY.MODULE_05.END - SDK_OVERLAY.MODULE_05.START; } > MODULE_05 @@ -663,8 +680,17 @@ SECTIONS { ALIGNALL(4); . = ALIGN(32); SDK_OVERLAY.MODULE_10.START = .; module_10_dummy.o (.text) + module_10_dummy.o (.rodata) + module_10_dummy.o (.init) + SDK_OVERLAY.MODULE_10.SINIT_START = .; + module_10_dummy.o (.ctor) + module_10_dummy.o (.sinit) + WRITEW 0; + SDK_OVERLAY.MODULE_10.SINIT_END = .; + . = ALIGN(32); module_10_dummy.o (.sdata) module_10_dummy.o (.data) + . = ALIGN(32); SDK_OVERLAY.MODULE_10.END = .; SDK_OVERLAY.MODULE_10.SIZE = SDK_OVERLAY.MODULE_10.END - SDK_OVERLAY.MODULE_10.START; } > MODULE_10 @@ -675,6 +701,7 @@ SECTIONS { SDK_OVERLAY.MODULE_10.BSS_START = .; module_10_dummy.o (.sbss) module_10_dummy.o (.bss) + . = ALIGN(32); SDK_OVERLAY.MODULE_10.BSS_END = .; SDK_OVERLAY.MODULE_10.BSS_SIZE = SDK_OVERLAY.MODULE_10.BSS_END - SDK_OVERLAY.MODULE_10.BSS_START; } >> MODULE_10 @@ -684,8 +711,17 @@ SECTIONS { ALIGNALL(4); . = ALIGN(32); SDK_OVERLAY.MODULE_11.START = .; module_11.o (.text) + module_11.o (.rodata) + module_11.o (.init) + // SDK_OVERLAY.MODULE_11.SINIT_START = .; + module_11.o (.ctor) + module_11.o (.sinit) + // SDK_OVERLAY.MODULE_11.SINIT_END = .; + // WRITEW 0; + . = ALIGN(32); module_11.o (.sdata) module_11.o (.data) + . = ALIGN(32); SDK_OVERLAY.MODULE_11.END = .; SDK_OVERLAY.MODULE_11.SIZE = SDK_OVERLAY.MODULE_11.END - SDK_OVERLAY.MODULE_11.START; } > MODULE_11 @@ -696,6 +732,7 @@ SECTIONS { SDK_OVERLAY.MODULE_11.BSS_START = .; module_11.o (.sbss) module_11.o (.bss) + . = ALIGN(32); SDK_OVERLAY.MODULE_11.BSS_END = .; SDK_OVERLAY.MODULE_11.BSS_SIZE = SDK_OVERLAY.MODULE_11.BSS_END - SDK_OVERLAY.MODULE_11.BSS_START; } >> MODULE_11 diff --git a/arm9/modules/00/asm/module_00_dummy.s b/arm9/modules/00/asm/module_00_dummy.s index e69de29b..8b137891 100644 --- a/arm9/modules/00/asm/module_00_dummy.s +++ b/arm9/modules/00/asm/module_00_dummy.s @@ -0,0 +1 @@ + diff --git a/arm9/modules/02/asm/module_02_dummy.s b/arm9/modules/02/asm/module_02_dummy.s index e69de29b..8b137891 100644 --- a/arm9/modules/02/asm/module_02_dummy.s +++ b/arm9/modules/02/asm/module_02_dummy.s @@ -0,0 +1 @@ + diff --git a/arm9/modules/03/asm/module_03_dummy.s b/arm9/modules/03/asm/module_03_dummy.s index e69de29b..8b137891 100644 --- a/arm9/modules/03/asm/module_03_dummy.s +++ b/arm9/modules/03/asm/module_03_dummy.s @@ -0,0 +1 @@ + diff --git a/arm9/modules/05/asm/module_05.s b/arm9/modules/05/asm/module_05.s index 085ce35d..2588e8a9 100644 --- a/arm9/modules/05/asm/module_05.s +++ b/arm9/modules/05/asm/module_05.s @@ -63948,9 +63948,13 @@ _021F6424: .align 2, 0 _021F6428: .word MOD05_021F57F0 - .section .data + .section .rodata ; 0x021F642C - .incbin "baserom.nds", 0x16434c, 0x7254 + .incbin "baserom.nds", 0x16434c, 0x6d9c + + .section .data + ; 0x021FD1E0 + .incbin "baserom.nds", 0x16b100, 0x4A0 .section .bss ; 0x021FD680 diff --git a/arm9/modules/10/asm/module_10_dummy.s b/arm9/modules/10/asm/module_10_dummy.s index bae0dc2d..8b137891 100644 --- a/arm9/modules/10/asm/module_10_dummy.s +++ b/arm9/modules/10/asm/module_10_dummy.s @@ -1,5 +1 @@ - .include "asm/macros.inc" - .include "global.inc" - .section .data - .balign 4, 0 - .space 32 + diff --git a/arm9/modules/11/asm/module_11.s b/arm9/modules/11/asm/module_11.s index 8288a770..21746e52 100644 --- a/arm9/modules/11/asm/module_11.s +++ b/arm9/modules/11/asm/module_11.s @@ -3379,7 +3379,7 @@ _0222F27C: _0222F280: .word 0x00002434 thumb_func_start MOD11_0222F284 -MOD11_0222F284: ; 0x0222F284 +MOD11_0222F284: ; 0x0222F284 __sinit push {r3, lr} bl FUN_02033590 cmp r0, #0 @@ -98632,6 +98632,20 @@ MOD11_0225D98C: ; 0x0225D98C strb r1, [r0, #0x1e] bx lr - .section .data + .section .rodata ; 0x0225D998 - .incbin "baserom.nds", 0x1dd7d8, 0x2608 + .incbin "baserom.nds", 0x1dd7d8, 0x2580 + + ; Stupid hack to override alignment + ; .section .sinit + ; 0x0225FF18 + .global SDK_OVERLAY.MODULE_11.SINIT_START + .global SDK_OVERLAY.MODULE_11.SINIT_END +SDK_OVERLAY.MODULE_11.SINIT_START: + .word MOD11_0222F284 + .word 0 +SDK_OVERLAY.MODULE_11.SINIT_END: + + .section .data + ; 0x0225FF20 + .incbin "baserom.nds", 0x1dfd60, 0x80 -- cgit v1.2.3