diff options
Diffstat (limited to 'arm9')
| -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 | 
