diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2020-05-09 17:23:04 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2020-05-09 17:23:04 -0400 |
commit | 051e30eedbb86cb76b7faa6d6d091e58c9a741e9 (patch) | |
tree | 9c3fb3e258798cbc02bbe59297fa0fd0021d3951 | |
parent | aa6e5b3edc83c5223199fc52e8d92f2f0f4c338e (diff) |
module 11 init
-rw-r--r-- | arm9/arm9.lcf | 37 | ||||
-rw-r--r-- | arm9/modules/00/asm/module_00_dummy.s | 1 | ||||
-rw-r--r-- | arm9/modules/02/asm/module_02_dummy.s | 1 | ||||
-rw-r--r-- | arm9/modules/03/asm/module_03_dummy.s | 1 | ||||
-rw-r--r-- | arm9/modules/05/asm/module_05.s | 8 | ||||
-rw-r--r-- | arm9/modules/10/asm/module_10_dummy.s | 6 | ||||
-rw-r--r-- | 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
|