2019-06-26 20:12:40 -04:00
|
|
|
ENTRY(Start)
|
|
|
|
|
|
|
|
gNumMusicPlayers = 4;
|
|
|
|
gMaxLines = 0;
|
2022-12-24 05:13:42 +00:00
|
|
|
gInitialMainCB2 = CB2_InitCopyrightScreenAfterBootup;
|
2019-06-26 20:12:40 -04:00
|
|
|
|
2023-11-12 15:19:50 +13:00
|
|
|
MEMORY
|
|
|
|
{
|
|
|
|
EWRAM (rwx) : ORIGIN = 0x2000000, LENGTH = 256K
|
|
|
|
IWRAM (rwx) : ORIGIN = 0x3000000, LENGTH = 32K
|
2023-11-24 10:13:50 +13:00
|
|
|
ROM (rx) : ORIGIN = 0x8000000, LENGTH = 32M
|
2023-11-12 15:19:50 +13:00
|
|
|
}
|
2019-06-26 20:12:40 -04:00
|
|
|
|
|
|
|
SECTIONS {
|
2024-01-02 08:24:52 -06:00
|
|
|
|
|
|
|
|
|
|
|
.ewram ORIGIN(EWRAM) : AT (__ewram_lma)
|
2019-06-26 20:12:40 -04:00
|
|
|
ALIGN(4)
|
|
|
|
{
|
2024-01-02 08:24:52 -06:00
|
|
|
__ewram_start = .;
|
|
|
|
*(.ewram*)
|
2024-10-12 13:41:26 -05:00
|
|
|
. = ALIGN(4);
|
2024-01-02 08:24:52 -06:00
|
|
|
__ewram_end = .;
|
|
|
|
} > EWRAM
|
2019-06-26 20:12:40 -04:00
|
|
|
|
2024-01-02 08:24:52 -06:00
|
|
|
.ewram.sbss (NOLOAD) :
|
|
|
|
ALIGN(4)
|
|
|
|
{
|
2025-06-26 15:53:14 +02:00
|
|
|
*.o(.sbss);
|
2023-11-12 15:19:50 +13:00
|
|
|
} > EWRAM
|
2019-06-26 20:12:40 -04:00
|
|
|
|
2024-01-02 08:24:52 -06:00
|
|
|
.iwram ORIGIN(IWRAM) : AT (__iwram_lma)
|
|
|
|
ALIGN(4)
|
|
|
|
{
|
|
|
|
__iwram_start = .;
|
|
|
|
*(.iwram*);
|
2024-10-12 13:41:26 -05:00
|
|
|
. = ALIGN(4);
|
2024-01-02 08:24:52 -06:00
|
|
|
__iwram_end = .;
|
|
|
|
} > IWRAM
|
|
|
|
|
|
|
|
.iwram.bss (NOLOAD) :
|
2019-06-26 20:12:40 -04:00
|
|
|
ALIGN(4)
|
|
|
|
{
|
2025-06-26 15:53:14 +02:00
|
|
|
*.o(.bss*);
|
|
|
|
*.o(common_data);
|
2019-06-29 08:35:52 -04:00
|
|
|
src/*.o(COMMON);
|
2021-04-17 22:46:15 +02:00
|
|
|
*libc.a:*.o(COMMON);
|
|
|
|
*libnosys.a:*.o(COMMON);
|
2023-11-12 15:19:50 +13:00
|
|
|
} > IWRAM
|
2019-06-26 20:12:40 -04:00
|
|
|
|
2023-11-12 15:19:50 +13:00
|
|
|
/* BEGIN ROM DATA */
|
2019-06-26 20:12:40 -04:00
|
|
|
|
2024-01-02 08:24:52 -06:00
|
|
|
.text ORIGIN(ROM) :
|
2019-06-26 20:12:40 -04:00
|
|
|
ALIGN(4)
|
|
|
|
{
|
2021-11-04 17:28:41 -04:00
|
|
|
src/rom_header.o(.text*);
|
2025-07-02 09:06:23 +02:00
|
|
|
KEEP(*.o(.text.header_gf));
|
|
|
|
KEEP(*.o(.text.header_rhh));
|
2022-11-02 12:44:32 -04:00
|
|
|
src/crt0.o(.text);
|
2019-09-08 21:41:40 -04:00
|
|
|
*libagbsyscall.a:*.o(.text*);
|
2019-06-26 20:12:40 -04:00
|
|
|
*libgcc.a:*.o(.text*);
|
|
|
|
*libc.a:*.o(.text*);
|
2021-04-17 22:46:15 +02:00
|
|
|
*libnosys.a:*.o(.text*);
|
2025-06-26 15:53:14 +02:00
|
|
|
asm/*.o(.text*);
|
2025-07-02 09:06:23 +02:00
|
|
|
KEEP(*.o(.text.consts));
|
2025-06-26 15:53:14 +02:00
|
|
|
*.o(.text*);
|
|
|
|
*.o(.eh_frame);
|
2023-11-12 15:19:50 +13:00
|
|
|
} > ROM =0
|
2019-06-26 20:12:40 -04:00
|
|
|
|
2025-06-26 15:53:14 +02:00
|
|
|
script_data :
|
2019-06-26 20:12:40 -04:00
|
|
|
ALIGN(4)
|
|
|
|
{
|
2025-06-26 15:53:14 +02:00
|
|
|
data/*.o(script_data);
|
2023-11-12 15:19:50 +13:00
|
|
|
} > ROM =0
|
2019-06-26 20:12:40 -04:00
|
|
|
|
2025-06-26 15:53:14 +02:00
|
|
|
.rodata :
|
2019-06-26 20:12:40 -04:00
|
|
|
ALIGN(4)
|
|
|
|
{
|
2025-06-26 15:53:14 +02:00
|
|
|
*.o(.rodata*);
|
2019-06-26 20:12:40 -04:00
|
|
|
*libgcc.a:*.o(.rodata*);
|
|
|
|
*libc.a:*.o(.rodata*);
|
|
|
|
*libc.a:*.o(.data*);
|
2025-06-26 15:53:14 +02:00
|
|
|
sound/songs/*.o(.rodata);
|
2023-11-12 15:19:50 +13:00
|
|
|
} > ROM =0
|
2019-06-26 20:12:40 -04:00
|
|
|
|
2024-01-02 08:24:52 -06:00
|
|
|
.data.iwram :
|
|
|
|
ALIGN(4)
|
|
|
|
{
|
|
|
|
__iwram_lma = .;
|
|
|
|
. = . + (__iwram_end - __iwram_start);
|
|
|
|
} > ROM = 0
|
|
|
|
|
|
|
|
.data.ewram :
|
|
|
|
ALIGN(4)
|
|
|
|
{
|
|
|
|
__ewram_lma = .;
|
|
|
|
. = . + (__ewram_end - __ewram_start);
|
|
|
|
} > ROM = 0
|
|
|
|
|
2023-10-23 21:12:17 +01:00
|
|
|
__rom_end = .;
|
|
|
|
|
2019-06-26 20:12:40 -04:00
|
|
|
/* DWARF debug sections.
|
|
|
|
Symbols in the DWARF debugging sections are relative to the beginning
|
|
|
|
of the section so we begin them at 0. */
|
|
|
|
|
|
|
|
/* DWARF 1 */
|
|
|
|
.debug 0 : { *(.debug) }
|
|
|
|
.line 0 : { *(.line) }
|
|
|
|
|
|
|
|
/* GNU DWARF 1 extensions */
|
|
|
|
.debug_srcinfo 0 : { *(.debug_srcinfo) }
|
|
|
|
.debug_sfnames 0 : { *(.debug_sfnames) }
|
|
|
|
|
|
|
|
/* DWARF 1.1 and DWARF 2 */
|
|
|
|
.debug_aranges 0 : { *(.debug_aranges) }
|
|
|
|
.debug_pubnames 0 : { *(.debug_pubnames) }
|
|
|
|
|
|
|
|
/* DWARF 2 */
|
|
|
|
.debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
|
|
|
|
.debug_abbrev 0 : { *(.debug_abbrev) }
|
|
|
|
.debug_line 0 : { *(.debug_line) }
|
|
|
|
.debug_frame 0 : { *(.debug_frame) }
|
|
|
|
.debug_str 0 : { *(.debug_str) }
|
|
|
|
.debug_loc 0 : { *(.debug_loc) }
|
|
|
|
.debug_macinfo 0 : { *(.debug_macinfo) }
|
|
|
|
|
|
|
|
/* Discard everything not specifically mentioned above. */
|
|
|
|
/DISCARD/ :
|
|
|
|
{
|
|
|
|
*(*);
|
|
|
|
}
|
|
|
|
}
|