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);
        src/rom_2414.o(.text);
        src/bonus_field_select.o(.text);
        src/ereader.o(.text);
        src/pokedex.o(.text);
        src/field_select.o(.text);
        src/intro.o(.text);
        src/high_scores.o(.text);
        src/rom_1068C.o(.text);
        src/titlescreen.o(.text);
        src/board_process5.o(.text);
        src/board_process7.o(.text);
        src/board_process6.o(.text);
        src/collision_checks.o(.text);
        src/game_idle.o(.text);
        src/board_process4.o(.text);
        src/board_process3_ruby.o(.text);
        src/rom_1A0F4.o(.text);
        src/rom_1A98C.o(.text);
        src/rom_201B8.o(.text);
        src/rom_27E08.o(.text);
        src/rom_27F94.o(.text);
        src/rom_2C538.o(.text);
        src/rom_2E67C.o(.text);
        src/rom_30480.o(.text);
        src/rom_31BE8.o(.text);
        src/rom_31CF8.o(.text);
        src/catch_hatch_picker.o(.text);
        src/board_process3_sapphire.o(.text);
        src/board_process3_dusclops.o(.text);
        src/rom_356A0.o(.text);
        src/board_process3_kecleon.o(.text);
        src/board_process3_kyogre.o(.text);
        src/board_process3_groudon.o(.text);
        src/board_process3_rayquaza.o(.text);
        src/board_process3_spheal.o(.text);
        src/rom_467F4.o(.text);
        src/board_process1.o(.text);
        src/debug_menu.o(.text);
        src/pause_game.o(.text);
        src/pinball_game_main.o(.text);
        src/board_process8.o(.text);
        src/board_process2.o(.text);
        src/rom_4F258.o(.text);
        src/rom_50AD4.o(.text);
        src/board_process0.o(.text);
        src/options.o(.text);
        src/pokemon_cry.o(.text);
        src/save.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_1.o(.rodata)
        data/sound_data.o(.rodata)
        src/data.o(.rodata)
        data/rom_2.o(.rodata)
    }=0xFF

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

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