SECTIONS
{
    /* start of ewram */
    . = 0x02000000;
    ewram (NOLOAD) :
    ALIGN(4)
    {
<EWRAM>
        /* COMMON starts at ??? */
<COMMON>
    }

    /* start of iwram */
    . = 0x03000000;
    iwram (NOLOAD) :
    ALIGN(4)
    {
        /* .bss starts at 0x3000000 */
<BSS>
        . = 0x7400;
        /* .bss.code starts at 0x3007400 */
        src/m4a.o(.bss.code);

        . = 0x8000;
    }

    /* start of ROM */
    . = 0x08000000;
    .text :
    {
        src/crt0.o(.text);
        src/util.o(.text);
        src/rom_850.o(.text);
        src/main.o(.text);
        src/gbplayer.o(.text);
        src/link.o(.text);
        asm/rom_2414.o(.text);
        src/rom_2414.o(.text);
        src/bonus_field_select.o(.text);
        src/ereader.o(.text);
        src/pokedex.o(.text);
        asm/pokedex.o(.text);
        src/pokedex_end.o(.text);
        src/field_select.o(.text);
        src/intro.o(.text);
        asm/intro.o(.text);
        src/high_scores.o(.text);
        asm/high_scores.o(.text);
        src/rom_1068C.o(.text);
        src/titlescreen.o(.text);
        asm/rom_11B9C.o(.text);
        src/rom_31F6C.o(.text);
        asm/rom_3219C.o(.text);
        src/options.o(.text);
        src/rom_528AC.o(.text);
        src/m4a_1.o(.text);
        src/m4a.o(.text);
        src/libagbsyscall.o(.text);
        src/agb_sram.o(.text);
        *libgcc.a:_call_via_rX.o(.text);
        *libgcc.a:_divsi3.o(.text);
        *libgcc.a:_dvmd_tls.o(.text);
        *libgcc.a:_modsi3.o(.text);
        *libgcc.a:_udivsi3.o(.text);
        *libgcc.a:_umodsi3.o(.text);
        *libc.a:memcpy.o(.text);
        *libc.a:memset.o(.text);
        *libc.a:strlen.o(.text);
    }=0

    .rodata :
    {
        data/rom.o(.rodata)
    }=0xFF

    /* Discard everything not specifically mentioned above. */
    /DISCARD/ :
    {
        *(*);
    }
}

/* m4a parameters */
gMaxLines = 0x3C;
gNumMusicPlayers = 0x4;
