ENTRY(__start)

MEMORY {
    ewram (w!x) : ORIGIN = 0x02000000, LENGTH = 256K
    iwram (w!x) : ORIGIN = 0x03000000, LENGTH = 32K
    rom (rx) : ORIGIN = 0x08000000, LENGTH = 32M
}

SECTIONS {
    ewram (NOLOAD) : ALIGN(4) {
        . = 0x00000006; gUnk_02000006 = .;
        . = 0x00000010; gUnk_02000010 = .;
        . = 0x00000020; gUnk_02000020 = .;
        . = 0x00000030; gUnk_02000030 = .;
        . = 0x00000040; gUnk_02000040 = .;
        . = 0x00000050; gTextBox = .;
        . = 0x0000005C; gUnk_0200005C = .;
        . = 0x00000070; gUnk_02000070 = .;
        . = 0x00000080; gMenu = .;
        . = 0x00000080; gIntroState = .;
        . = 0x00000080; gChooseFileState = .;
        . = 0x00000090; gUnk_02000090 = .;
        . = 0x000000B0; gUnk_020000B0 = .;
        . = 0x000000C0; gUnk_020000C0 = .;
        . = 0x00000CC0; gUnk_02000CC0 = .;
        . = 0x00000D00; gUnk_02000D00 = .;
        . = 0x00001A00; gUnk_02001A00 = .;
        . = 0x00001A3C; gUnk_02001A3C = .;
        . = 0x00001A40; gBG3Buffer = .;
        . = 0x00001B40; gUnk_02001B40 = .;
        . = 0x00002A40; gSave = .;
        . = 0x00002AA0; gUnk_02002AA0 = .;
        . = 0x00002AC0; gUnk_02002AC0 = .;
        . = 0x00002AC8; gUnk_02002AC8 = .;
        . = 0x00002AE8; gStats = .;
        . = 0x00002B0E; gUnk_02002B0E = .;
        . = 0x00002B32; gUnk_02002B32 = .;
        . = 0x00002B54; gUnk_02002B54 = .;
        . = 0x00002B58; gUnk_02002B58 = .;
        . = 0x00002B6B; gUnk_02002B6B = .;
        . = 0x00002C01; gUnk_02002C01 = .;
        . = 0x00002C81; gUnk_02002C81 = .;
        . = 0x00002C8E; gUnk_02002C8E = .;
        . = 0x00002C9C; gGlobalFlags = .;
        . = 0x00002E9C; gUnk_02002E9C = .;
        . = 0x00002ECC; gUnk_02002ECC = .;
        . = 0x00002F00; gMapDataTopSpecial = .;
        . = 0x00006F00; gUnk_02006F00 = .;
        . = 0x0000AF00; gUnk_0200AF00 = .;
        . = 0x0000AF13; gUnk_0200AF13 = .;
        . = 0x0000AF34; gUnk_0200AF34 = .;
        . = 0x0000B240; gUnk_0200B240 = .;
        . = 0x0000B640; gUnk_0200B640 = .;
        . = 0x0000B644; gUsedPalettes = .;
        . = 0x0000B650; gUnk_0200B650 = .;
        . = 0x0000B654; gMapDataTop = .;
        . = 0x0000D654; gUnk_0200D654 = .;
        . = 0x0000E654; gUnk_0200E654 = .;
        . = 0x00010654; gMetatileTypesTop = .;
        . = 0x00011654; gUnk_02011654 = .;
        . = 0x00012654; gMetatilesTop = .;
        . = 0x00016654; gUnk_02016654 = .;
        . = 0x00017654; gUnk_02017654 = .;
        . = 0x00017660; gUnk_02017660 = .;
        . = 0x000176A0; gPaletteBuffer = .;
        . = 0x000176E0; gUnk_020176E0 = .;
        . = 0x00017700; gUnk_02017700 = .;
        . = 0x00017830; gUnk_02017830 = .;
        . = 0x000178E0; gUnk_020178E0 = .;
        . = 0x00017AA0; gUnk_02017AA0 = .;
        . = 0x00017BA0; gUnk_02017BA0 = .;
        . = 0x00018EA0; gUnk_02018EA0 = .;
        . = 0x00018EB0; gUnk_02018EB0 = .;
        . = 0x00018EE0; gUnk_02018EE0 = .;
        . = 0x00019EE0; gUnk_02019EE0 = .;
        . = 0x00019F6C; gUnk_02019F6C = .;
        . = 0x0001AEE0; gUnk_0201AEE0 = .;
        . = 0x00021EE0; gUnk_02021EE0 = .;
        . = 0x00021F00; gUnk_02021F00 = .;
        . = 0x00021F20; gUnk_02021F20 = .;
        . = 0x00021F30; gBG1Buffer = .;
        . = 0x00021F70; gUnk_02021F70 = .;
        . = 0x00022030; gUnk_02022030 = .;
        . = 0x00022130; gUnk_02022130 = .;
        . = 0x00022730; gUnk_02022730 = .;
        . = 0x00022740; gUnk_02022740 = .;
        . = 0x00022750; gPlayerScriptExecutionContext = .;
        . = 0x00022780; gUnk_02022780 = .;
        . = 0x000227DC; gUnk_020227DC = .;
        . = 0x000227E8; gUnk_020227E8 = .;
        . = 0x000227F0; gUnk_020227F0 = .;
        . = 0x000227F8; gUnk_020227F8 = .;
        . = 0x00022800; gUnk_02022800 = .;
        . = 0x0002281E; gUnk_0202281E = .;
        . = 0x00022830; gUnk_02022830 = .;
        . = 0x00024030; gUnk_02024030 = .;
        . = 0x00024048; gUnk_02024048 = .;
        . = 0x00024050; gUnk_02024050 = .;
        . = 0x00024090; gUnk_02024090 = .;
        . = 0x00024490; gUnk_02024490 = .;
        . = 0x00024494; gUnk_02024494 = .;
        . = 0x000246B0; gUnk_020246B0 = .;
        . = 0x00025EB0; gUnk_02025EB0 = .;
        . = 0x00025EB4; gMapDataBottom = .;
        . = 0x00027EB4; gUnk_02027EB4 = .;
        . = 0x00028EB4; gUnk_02028EB4 = .;
        . = 0x0002AEB4; gMetatileTypesBottom = .;
        . = 0x0002BEB4; gUnk_0202BEB4 = .;
        . = 0x0002CEB4; gMetatilesBottom = .;
        . = 0x00030EB4; gUnk_02030EB4 = .;
        . = 0x00031EC0; gUnk_02031EC0 = .;
        . = 0x00032EC0; gUnk_02032EC0 = .;
        . = 0x00032EDC; gUnk_02032EDC = .;
        . = 0x00032F14; gUnk_02032F14 = .;
        . = 0x00033280; gActiveScriptInfo = .;
        . = 0x00033290; gUnk_02033290 = .;
        . = 0x00033A90; gArea = .;
        . = 0x00033AB8; gUnk_02033AB8 = .;
        . = 0x00033ACC; gUnk_02033ACC = .;
        . = 0x000342CC; gUnk_020342CC = .;
        . = 0x000342F8; gUnk_020342F8 = .;
        . = 0x00034330; gUnk_02034330 = .;
        . = 0x00034350; gRoomVars = .;
        . = 0x00034364; gRoomFlags = .;
        . = 0x00034398; gUnk_02034398 = .;
        . = 0x00034480; gUnk_02034480 = .;
        . = 0x00034490; gUnk_02034490 = .;
        . = 0x00034492; gUnk_02034492 = .;
        . = 0x000344A0; gUnk_020344A0 = .;
        . = 0x000344B0; gBG2Buffer = .;
        . = 0x000344F0; gUnk_020344F0 = .;
        . = 0x00034CB0; gBG0Buffer = .;
        . = 0x00034CB2; gUnk_02034CB2 = .;
        . = 0x00034CF0; gUnk_02034CF0 = .;
        . = 0x00034D30; gUnk_02034D30 = .;
        . = 0x00034DF0; gUnk_02034DF0 = .;
        . = 0x000350E2; gUnk_020350E2 = .;
        . = 0x000350F0; gUnk_020350F0 = .;
        . = 0x00035160; gUnk_02035160 = .;
        . = 0x000354B0; gUnk_020354B0 = .;
        . = 0x000354B4; gManagerCount = .;
        . = 0x000354C0; gUnk_020354C0 = .;
        . = 0x0003553E; gUnk_0203553E = .;
        . = 0x00035540; gzHeap = .;
        . = 0x00035542; gUnk_02035542 = .;
        . = 0x00036540; gUnk_02036540 = .;
        . = 0x00036570; gScriptExecutionContextArray = .;
        . = 0x000369F0; gUnk_020369F0 = .;
        . = 0x00036A38; gUnk_02036A38 = .;
        . = 0x00036A40; gUnk_02036A40 = .;
        . = 0x00036A50; gEEPROMConfig = .;
        . = 0x00036A58; gUnk_02036A58 = .;
        . = 0x00036AD8; gUnk_02036AD8 = .;
        . = 0x00036BB8; gUnk_02036BB8 = .;
        . = 0x00038560; gUnk_02038560 = .;
        . = 0x00040000;
    } >ewram

    iwram (NOLOAD) : ALIGN(4) {
        . = 0x00000000; gUnk_03000000 = .;
        . = 0x00000020; gUnk_03000020 = .;
        . = 0x00000420; gUnk_03000420 = .;
        . = 0x00000B80; gUnk_03000B80 = .;
        . = 0x00000BD4; gUnk_03000BD4 = .;
        . = 0x00000BF0; gRoomControls = .;
        . = 0x00000BF6; gUnk_03000BF6 = .;
        . = 0x00000BF8; gUnk_03000BF8 = .;
        . = 0x00000C24; gUnk_03000C24 = .;
        . = 0x00000C30; gUnk_03000C30 = .;
        . = 0x00000E10; gUnk_03000E10 = .;
        . = 0x00000F50; gScreen = .;
        . = 0x00000F58; gBG0Settings = .;
        . = 0x00000F64; gBG1Settings = .;
        . = 0x00000F70; gBGAffSettings = .;
        . = 0x00000F88; gBgControls = .;
        . = 0x00000FBC; gUnk_03000FBC = .;
        . = 0x00000FD0; gFadeControl = .;
        . = 0x00000FF0; gInput = .;
        . = 0x00001000; gMain = .;
        . = 0x00001010; gOamCmd = .;
        . = 0x00001020; gUnk_03001020 = .;
        . = 0x000010A0; gScreenTransition = .;
        . = 0x000010AC; gUnk_030010AC = .;
        . = 0x000010D8; gUnk_030010D8 = .;
        . = 0x000010EC; gUnk_030010EC = .;
        . = 0x0000110C; gUnk_0300110C = .;
        . = 0x00001150; gRand = .;
        . = 0x00001160; gPlayerEntity = .;
        . = 0x00001198; gUnk_03001198 = .;
        . = 0x000011E8; gUnk_030011E8 = .;
        . = 0x000015A0; gUnk_030015A0 = .;
        . = 0x00003BE0; gUnk_03003BE0 = .;
        . = 0x00003C70; gUnk_03003C70 = .;
        . = 0x00003D68; gUnk_03003D68 = .;
        . = 0x00003D70; gEntityLists = .;
        . = 0x00003D80; gUnk_03003D80 = .;
        . = 0x00003D90; gUnk_03003D90 = .;
        . = 0x00003DA0; gUnk_03003DA0 = .;
        . = 0x00003DA8; gUnk_03003DA8 = .;
        . = 0x00003DB0; gUnk_03003DB0 = .;
        . = 0x00003DB8; gHitboxCount = .;
        . = 0x00003DBC; gEntCount = .;
        . = 0x00003DC0; gUnk_03003DC0 = .;
        . = 0x00003DD0; gUnk_03003DD0 = .;
        . = 0x00003DE0; gUnk_03003DE0 = .;
        . = 0x00003DE4; gUnk_03003DE4 = .;
        . = 0x00003DF0; gUnk_03003DF0 = .;
        . = 0x00003DF8; gUnk_03003DF8 = .;
        . = 0x00003F80; gPlayerState = .;
        . = 0x00003FC0; gUnk_03003FC0 = .;
        . = 0x00004010; gUnk_03004010 = .;
        . = 0x00004020; gUnk_03004020 = .;
        . = 0x00004030; gUnk_03004030 = .;
        . = 0x00004040; gUnk_03004040 = .;
        . = 0x0000404C; gUnk_0300404C = .;
        . = 0x0000404D; gUnk_0300404D = .;
        . = 0x000043D0; gUnk_030043D0 = .;
        . = 0x00004D50; gUnk_03004D50 = .;
        . = 0x00004D54; gUnk_03004D54 = .;
        . = 0x00004DD8; gUnk_03004DD8 = .;
        . = 0x00004DDC; gUnk_03004DDC = .;
        . = 0x00004DE0; gUnk_03004DE0 = .;
        . = 0x000055E0; gUnk_030055E0 = .;
        . = 0x000056F0; gUnk_030056F0 = .;
        . = 0x000056F1; gUnk_030056F1 = .;
        . = 0x00005740; gUnk_03005740 = .;
        . = 0x0000574C; gUnk_0300574C = .;
        . = 0x00005760; gUnk_03005760 = .;
        . = 0x00005770; gUnk_03005770 = .;
        . = 0x00005778; gUnk_03005778 = .;
        . = 0x00005780; gUnk_03005780 = .;
        . = 0x0000579C; gUnk_0300579C = .;
        . = 0x000057A8; gUnk_030057A8 = .;
        . = 0x000057BC; gUnk_030057BC = .;
        . = 0x000057CC; gUnk_030057CC = .;
        . = 0x000057D4; gUnk_030057D4 = .;
        . = 0x00005800; gUnk_03005800 = .;
        . = 0x0000581C; gUnk_0300581C = .;
        . = 0x00005828; gUnk_03005828 = .;
        . = 0x0000583C; gUnk_0300583C = .;
        . = 0x0000584C; gUnk_0300584C = .;
        . = 0x00005854; gUnk_03005854 = .;
        . = 0x00005864; gUnk_03005864 = .;
        . = 0x00005880; gUnk_03005880 = .;
        . = 0x0000588C; gUnk_0300588C = .;
        . = 0x000058A0; gUnk_030058A0 = .;
        . = 0x000058B0; gUnk_030058B0 = .;
        . = 0x000058B8; gUnk_030058B8 = .;
        . = 0x000058C8; gUnk_030058C8 = .;
        . = 0x000058DC; gUnk_030058DC = .;
        . = 0x000058F8; gUnk_030058F8 = .;
        . = 0x00005918; gUnk_03005918 = .;
        . = 0x000059F0; gDoCollision = .;
        . = 0x00005CA4; gUnk_03005CA4 = .;
        . = 0x00005CD0; gUnk_03005CD0 = .;
        . = 0x00005CFC; gUnk_03005CFC = .;
        . = 0x00005D18; gUnk_03005D18 = .;
        . = 0x00005D24; gUnk_03005D24 = .;
        . = 0x00005D58; gUnk_03005D58 = .;
        . = 0x00005D5C; gUnk_03005D5C = .;
        . = 0x00005D90; IntrMain = .;
        . = 0x00005E60; gUnk_03005E60 = .;
        . = 0x00005E98; gUnk_03005E98 = .;
        . = 0x00005F24; _EntUpdate = .;
        . = 0x00005F40; gUnk_03005F40 = .;
        . = 0x00005FBC; gUnk_03005FBC = .;
        . = 0x00005FF0; gUnk_03005FF0 = .;
        . = 0x000060F0; gUnk_030060F0 = .;
        . = 0x00006164; gUnk_03006164 = .;
        . = 0x00006580; gUnk_03006580 = .;
        . = 0x0000659C; gUnk_0300659C = .;
        . = 0x000067E4; gUnk_030067E4 = .;
        . = 0x000068CC; gUnk_030068CC = .;
        . = 0x0000694C; gUnk_0300694C = .;
        . = 0x0000695C; gUnk_0300695C = .;
        . = 0x00007F00; gUnk_03007F00 = .;
        . = 0x00007FA0; gUnk_03007FA0 = .;
        . = 0x00007FFA; gUnk_03007FFA = .;
        . = 0x00008000;
    } >iwram

    rom : ALIGN(2) {

        /* handwritten assembly */
        asm/crt0.o(.text);
        asm/code_08000108.o(.text);
        data/data_08000360.o(.rodata);
        asm/code_08000E44.o(.text);
        asm/libgcc.o(.text);
        asm/code_08000F10.o(.text);
        data/data_08000F54.o(.rodata);
        asm/code_080011C4.o(.text);
        data/data_080029B4.o(.rodata);
        asm/code_08003FC4.o(.text);
        asm/code_080043E8.o(.text);
        data/data_08007DF4.o(.rodata);
        asm/code_0800857C.o(.text);
        /* scripts */
        data/scripts.o(.text);
        asm/code_08016984.o(.text);
        asm/sub_08016AE4.o(.text);


        /* C source compiled with interworking */
        asm/code_08016B30.o(.text);
        asm/updateBackgroundRegisters.o(.text);
        src/arm_proxy.o(.text);
        asm/code_08016DF8.o(.text);
        /* C source compiled without interworking */
        asm/code_08018500.o(.text);
        src/code_08018C58.o(.text);
        src/item11.o(.text);
        asm/item11.o(.text);
        src/createBowEntity.o(.text);
        asm/createBowEntity.o(.text);
        asm/bowUse.o(.text);
        asm/sub_08019410.o(.text);
        asm/code_08019444.o(.text);
        asm/cellOverwriteSet.o(.text);
        asm/code_0801C1D4.o(.text);
        asm/drawUI.o(.text);
        asm/code_0801C370.o(.text);
        asm/drawRupees.o(.text);
        asm/code_0801C5E0.o(.text);
        asm/drawHealth.o(.text);
        asm/sub_0801C824.o(.text);
        asm/code_0801C85C.o(.text);
        src/ezloNag.o(.text);
        asm/code_0801CEC0.o(.text);
        src/utils.o(.text);
        asm/code_0801D79C.o(.text);
        /* enemies */
        src/enemy/octorok.o(.text);
        src/enemy/chuchu.o(.text);
        src/enemy/leever.o(.text);
        src/enemy/peahat.o(.text);
        src/enemy/rollobite.o(.text);
        src/enemy/darkNut.o(.text);
        src/enemy/hangingSeed.o(.text);
        src/enemy/beetle.o(.text);
        src/enemy/keese.o(.text);
        src/enemy/doorMimic.o(.text);
        src/enemy/rockChuchu.o(.text);
        src/enemy/spinyChuchu.o(.text);
        src/enemy/cuccoChickAggr.o(.text);
        src/enemy/moldorm.o(.text);
        src/enemy/enemyE.o(.text);
        src/enemy/moldworm.o(.text);
        src/enemy/sluggula.o(.text);
        src/enemy/pesto.o(.text);
        src/enemy/puffstool.o(.text);
        src/enemy/chuchuBoss.o(.text);
        asm/chuchuBoss.o(.text);
        src/enemy/likeLike.o(.text);
        src/enemy/spearMoblin.o(.text);
        src/enemy/businessScrub.o(.text);
        src/enemy/rupeeLike.o(.text);
        src/enemy/madderpillar.o(.text);
        src/enemy/waterDrop.o(.text);
        src/enemy/wallMaster.o(.text);
        src/enemy/bombPeahat.o(.text);
        src/enemy/spark.o(.text);
        src/enemy/chaser.o(.text);
        src/enemy/spikedBeetle.o(.text);
        src/enemy/sensorBladeTrap.o(.text);
        src/enemy/helmasaur.o(.text);
        src/enemy/fallingBoulder.o(.text);
        src/enemy/bobomb.o(.text);
        src/enemy/wallMaster2.o(.text);
        asm/gleerok.o(.text);
        asm/vaatiEyesMacro.o(.text);
        src/enemy/tektite.o(.text);
        asm/wizzrobeWind.o(.text);
        asm/wizzrobeFire.o(.text);
        asm/wizzrobeIce.o(.text);
        src/code_080300AC.o(.text); /* ??? */
        asm/code_080300AC.o(.text); /* ??? */
        asm/armos.o(.text);
        asm/eyegore.o(.text);
        src/enemy/rope.o(.text);
        src/enemy/smallPesto.o(.text);
        src/enemy/acroBandits.o(.text);
        src/enemy/bladeTrap.o(.text);
        src/enemy/keaton.o(.text);
        asm/crow.o(.text);
        asm/mulldozer.o(.text);
        asm/bombarossa.o(.text);
        src/enemy/wisp.o(.text);
        asm/spinyBeetle.o(.text);
        asm/mazaalHead.o(.text);
        asm/mazaalMacro.o(.text);
        asm/mazaalHand.o(.text);
        asm/octorokBoss.o(.text);
        asm/flyingPot.o(.text);
        src/enemy/gibdo.o(.text);
        asm/octorokGolden.o(.text);
        src/enemy/tektiteGolden.o(.text);
        src/enemy/ropeGolden.o(.text);
        asm/cloudPiranha.o(.text);
        asm/scissorsBeetle.o(.text);
        asm/cuccoAggr.o(.text);
        asm/stalfos.o(.text);
        asm/flyingSkull.o(.text);
        asm/mazaalBracelet.o(.text);
        asm/takkuri.o(.text);
        src/enemy/bowMoblin.o(.text);
        asm/bowMoblin.o(.text);
        src/enemy/lakitu.o(.text);
        src/enemy/lakituCloud.o(.text);
        asm/enemy49.o(.text);
        asm/vaatiRebornEnemy.o(.text);
        asm/vaatiProjectile.o(.text);
        asm/ballChainSoldier.o(.text);
        src/enemy/enemy4D.o(.text);
        asm/enemy4D.o(.text);
        asm/ghini.o(.text);
        asm/vaatiTransfigured.o(.text);
        asm/enemy50.o(.text);
        asm/vaatiWrath.o(.text);
        asm/vaatiArm.o(.text);
        asm/dust.o(.text);
        src/enemy/vaatiBall.o(.text);
        src/enemy/slime.o(.text);
        asm/sub_080451CC.o(.text);
        src/enemy/miniSlime.o(.text);
        src/enemy/fireballGuy.o(.text);
        src/enemy/miniFireballGuy.o(.text);
        asm/enemy5A.o(.text);
        asm/businessScrubPrologue.o(.text);
        asm/gyorgFemale.o(.text);
        src/enemy/gyorgMale.o(.text);
        asm/curtain.o(.text);
        asm/enemy5F.o(.text);
        asm/gyorgChild.o(.text);
        asm/gyorgFemaleEye.o(.text);
        asm/enemy62.o(.text);
        asm/gyorgFemaleMouth.o(.text);
        asm/enemy64.o(.text);
        src/enemy/treeItem.o(.text);
        asm/enemy66.o(.text);
        /* END enemies */
        src/code_08049CD4.o(.text);
        asm/code_08049D30.o(.text);
        asm/sub_0804AA30.o(.text);
        src/createEnemy.o(.text);
        src/code_0804AA84.o(.text);
        asm/code_0804AA84.o(.text);
        src/loadRoomEntityList.o(.text);
        asm/loadRoomEntity.o(.text);
        asm/code_0804AEB0.o(.text);
        src/loadRoom.o(.text);
        asm/code_0804B058.o(.text);
        src/room.o(.text);
        asm/code_0804B9F8.o(.text);
        src/sub_08050008.o(.text);
        src/fade.o(.text);
        asm/code_08050038.o(.text);
        src/fileScreen.o(.text);
        asm/fileScreen.o(.text);
        src/game.o(.text);
        asm/code_080526F8.o(.text);
        asm/modBombs.o(.text);
        asm/modArrows.o(.text);
        src/code_0805436C.o(.text);
        asm/code_0805436C.o(.text);
        src/sub_08055E08.o(.text);
        src/main.o(.text);
        src/textbox.o(.text);
        asm/code_08056418.o(.text);
        src/manager/manager1.o(.text);
        asm/manager1.o(.text);
        src/manager/manager2.o(.text);
        asm/manager2.o(.text);
        src/manager/manager3.o(.text);
        src/manager/manager4.o(.text);
        src/manager/manager5.o(.text);
        src/manager/manager6.o(.text);
        src/manager/manager7.o(.text);
        src/manager/manager8.o(.text);
        src/manager/manager9.o(.text);
        src/manager/managerA.o(.text);
        src/manager/managerB.o(.text);
        src/manager/managerC.o(.text);
        asm/managerD.o(.text);
        src/manager/managerE.o(.text);
        asm/managerF.o(.text);
        asm/manager10.o(.text);
        asm/manager11.o(.text);
        asm/manager12.o(.text);
        asm/manager13.o(.text);
        asm/manager14.o(.text);
        src/manager/manager15.o(.text);
        asm/manager16.o(.text);
        asm/manager17.o(.text);
        asm/manager18.o(.text);
        asm/manager19.o(.text);
        src/manager/manager1A.o(.text);
        asm/manager1B.o(.text);
        asm/manager1C.o(.text);
        asm/manager1D.o(.text);
        src/manager/manager1E.o(.text);
        asm/manager1F.o(.text);
        src/manager/manager20.o(.text);
        asm/manager21.o(.text);
        asm/manager22.o(.text);
        asm/manager23.o(.text);
        asm/manager24.o(.text);
        asm/manager25.o(.text);
        src/manager/manager26.o(.text);
        src/manager/manager27.o(.text);
        src/manager/manager28.o(.text);
        asm/manager29.o(.text);
        asm/manager2A.o(.text);
        asm/manager2B.o(.text);
        asm/manager2C.o(.text);
        asm/manager2D.o(.text);
        src/manager/manager2E.o(.text);
        asm/manager2E.o(.text);
        asm/manager2F.o(.text);
        src/manager/manager30.o(.text);
        asm/manager31.o(.text);
        asm/manager32.o(.text);
        asm/manager33.o(.text);
        asm/manager34.o(.text);
        asm/manager35.o(.text);
        asm/manager36.o(.text);
        asm/manager37.o(.text);
        asm/manager38.o(.text);
        src/manager/manager39.o(.text);
        asm/sub_0805E248.o(.text);
        src/sub_0805E374.o(.text);
        src/sub_0805E3A0.o(.text);
        asm/code_0805E3B0.o(.text);
        asm/getEmptyEntity.o(.text);
        src/entity.o(.text);
        src/code_0805EC04.o(.text);
        asm/code_0805EC04.o(.text);
        src/code_0805F9A0.o(.text);
        src/debugScreen.o(.text);
        src/item14.o(.text);
        /* npcs */
        src/npc/gentari.o(.text);
        src/npc/festari.o(.text);
        asm/festari.o(.text);
        src/npc/forestMinish.o(.text);
        src/npc/postman.o(.text);
        asm/postman.o(.text);
        asm/npc5.o(.text);
        src/npc/townsperson.o(.text);
        asm/kid.o(.text);
        src/npc/npc9.o(.text);
        src/npc/stamp.o(.text);
        asm/marcy.o(.text);
        src/npc/wheaton.o(.text);
        asm/pita.o(.text);
        asm/minishEzlo.o(.text);
        src/npc/mailbox.o(.text);
        src/npc/beedle.o(.text);
        asm/brocco.o(.text);
        asm/sittingPerson.o(.text);
        asm/pina.o(.text);
        src/npc/guard.o(.text);
        asm/guardWithSpear.o(.text);
        asm/castleMaid.o(.text);
        asm/din.o(.text);
        asm/nayru.o(.text);
        asm/farore.o(.text);
        asm/sturgeon.o(.text);
        src/npc/tingleSiblings.o(.text);
        asm/tingleSiblings.o(.text);
        asm/stockwell.o(.text);
        src/npc/talon.o(.text);
        src/npc/malon.o(.text);
        src/npc/epona.o(.text);
        src/npc/milkCart.o(.text);
        asm/ghostBrothers.o(.text);
        src/npc/smith.o(.text);
        asm/npc23.o(.text);
        asm/kingDaltus.o(.text);
        asm/ministerPotho.o(.text);
        asm/npc26.o(.text);
        asm/vaati.o(.text);
        src/npc/zelda.o(.text);
        src/npc/mutoh.o(.text);
        src/npc/carpenter.o(.text);
        asm/carpenter.o(.text);
        asm/castorWildsStatue.o(.text);
        src/npc/cat.o(.text);
        asm/cat.o(.text);
        asm/mountainMinish.o(.text);
        src/npc/zeldaFollower.o(.text);
        asm/zeldaFollower.o(.text);
        src/npc/melari.o(.text);
        src/npc/bladeBrothers.o(.text);
        src/npc/cow.o(.text);
        src/npc/goron.o(.text);
        src/npc/goronMerchant.o(.text);
        asm/goronMerchant.o(.text);
        asm/gorman.o(.text);
        asm/dog.o(.text);
        src/npc/syrup.o(.text);
        asm/syrup.o(.text);
        src/npc/rem.o(.text);
        asm/rem.o(.text);
        src/npc/townMinish.o(.text);
        src/npc/librari.o(.text);
        src/npc/percy.o(.text);
        asm/percy.o(.text);
        asm/vaatiReborn.o(.text);
        src/npc/moblinLady.o(.text);
        asm/librarians.o(.text);
        asm/farmers.o(.text);
        src/npc/carlov.o(.text);
        src/npc/dampe.o(.text);
        asm/drLeft.o(.text);
        asm/kingGustaf.o(.text);
        asm/gina.o(.text);
        src/npc/simon.o(.text);
        src/npc/anju.o(.text);
        asm/mama.o(.text);
        src/npc/emma.o(.text);
        src/npc/teachers.o(.text);
        src/npc/windTribespeople.o(.text);
        asm/windTribespeople.o(.text);
        asm/gregal.o(.text);
        src/npc/mayorHagen.o(.text);
        src/npc/bigGoron.o(.text);
        asm/bigGoron.o(.text);
        src/npc/ezloCap.o(.text);
        asm/npc4E.o(.text);
        src/npc/clothesRack.o(.text);
        asm/clothesRack.o(.text);
        asm/picolyteBottles.o(.text);
        asm/smallTownMinish.o(.text);
        asm/hurdyGurdyMan.o(.text);
        asm/cucco.o(.text);
        asm/cuccoChick.o(.text);
        asm/fusionMenuNPC.o(.text);
        asm/phonograph.o(.text);
        asm/npc58.o(.text);
        /* END npcs */
        asm/code_0806EC20.o(.text);
        src/createNPC.o(.text);
        asm/code_0806ED78.o(.text);
        src/coord.o(.text);
        asm/code_0806FA6C.o(.text);
        src/player.o(.text);
        asm/code_08070698.o(.text);
        asm/stairsInteract.o(.text);
        asm/code_080732D0.o(.text);
        asm/ocarina.o(.text);
        src/item.o(.text);
        asm/code_08076C80.o(.text);
        asm/respawnPlayer.o(.text);
        src/code_08077B98.o(.text);
        src/code_08077DF4.o(.text);
        asm/code_08077B98.o(.text);
        src/code_08078778.o(.text);
        asm/code_08078778.o(.text);
        src/sub_0807B820.o(.text);
        asm/code_0807B9B8.o(.text);
        src/sub_0807C998.o(.text);
        asm/sub_0807CA18.o(.text);
        asm/getInventoryValue.o(.text);
        asm/code_0807CAA0.o(.text);
        src/flags.o(.text);
        src/save.o(.text);
        src/code_0807CC3C.o(.text);
        src/script.o(.text);
        asm/code_0807F0D8.o(.text);
        src/code_0808091C.o(.text);
        asm/code_0808091C.o(.text);
        /* objects */
        src/object/itemOnGround.o(.text);
        asm/deathFx.o(.text);
        asm/itemForSale.o(.text);
        src/object/button.o(.text);
        asm/object4.o(.text);
        src/object/pot.o(.text);
        asm/object6.o(.text);
        asm/blockPushed.o(.text);
        asm/lockedDoor.o(.text);
        asm/object9.o(.text);
        src/object/objectA.o(.text);
        asm/objectB.o(.text);
        src/object/chestSpawner.o(.text);
        asm/chestSpawner.o(.text);
        asm/objectD.o(.text);
        asm/objectE.o(.text);
        asm/specialFx.o(.text);
        asm/object10.o(.text);
        asm/object11.o(.text);
        asm/object12.o(.text);
        src/object/railtrack.o(.text);
        asm/lilypadLarge.o(.text);
        asm/object15.o(.text);
        asm/floatingPlatform.o(.text);
        asm/object17.o(.text);
        asm/evilSpirit.o(.text);
        src/object/houseDoorExterior.o(.text);
        src/object/object1A.o(.text);
        src/object/greatFairy.o(.text);
        src/object/object1C.o(.text);
        src/object/object1D.o(.text);
        asm/object1E.o(.text);
        asm/object1F.o(.text);
        asm/object20.o(.text);
        asm/object21.o(.text);
        asm/figurineDevice.o(.text);
        asm/eyeSwitch.o(.text);
        asm/object24.o(.text);
        asm/bigBarrel.o(.text);
        asm/object26.o(.text);
        asm/pushableStatue.o(.text);
        asm/object28.o(.text);
        asm/object29.o(.text);
        src/object/object2A.o(.text);
        asm/object2A.o(.text);
        asm/object2B.o(.text);
        asm/beanstalk.o(.text);
        src/object/smoke.o(.text);
        asm/pushableRock.o(.text);
        asm/hittableLever.o(.text);
        asm/object30.o(.text);
        asm/object31.o(.text);
        asm/pullableMushroom.o(.text);
        asm/bollard.o(.text);
        asm/warpPoint.o(.text);
        asm/object35.o(.text);
        asm/object36.o(.text);
        asm/object37.o(.text);
        asm/jarPortal.o(.text);
        asm/bossDoor.o(.text);
        asm/object3A.o(.text);
        asm/macroMushroomStalks.o(.text);
        asm/object75.o(.text); /* 75 and 76 are mislocated in base game */
        asm/object76.o(.text);
        asm/code_0808C964.o(.text);
        asm/macroPlayer.o(.text);
        asm/object3D.o(.text);
        asm/object3E.o(.text);
        src/object/giantLeaf.o(.text);
        asm/fairy.o(.text);
        asm/ladderUp.o(.text);
        asm/object42.o(.text);
        asm/object43.o(.text);
        asm/object44.o(.text);
        asm/object45.o(.text);
        asm/giantBookLadder.o(.text);
        src/object/heartContainer.o(.text);
        src/object/fileScreenObjects.o(.text);
        src/object/object49.o(.text);
        src/object/backgroundCloud.o(.text);
        asm/object4B.o(.text);
        asm/pushableFurniture.o(.text);
        asm/furniture.o(.text);
        src/object/minishSizedEntrance.o(.text);
        src/object/archway.o(.text);
        asm/giantRock.o(.text);
        asm/object51.o(.text);
        asm/object52.o(.text);
        asm/object53.o(.text);
        asm/pullableLever.o(.text);
        src/object/minecart.o(.text);
        asm/minecart.o(.text);
        src/object/thoughtBubble.o(.text);
        src/object/hiddenLadderDown.o(.text);
        asm/gentariCurtains.o(.text);
        asm/lavaPlatform.o(.text);
        asm/object5A.o(.text);
        asm/object5B.o(.text);
        src/object/mask.o(.text);
        asm/houseDoorInterior.o(.text);
        asm/whirlwind.o(.text);
        asm/objectBlockingStairs.o(.text);
        src/object/swordsmanNewsletter.o(.text);
        asm/object61.o(.text);
        asm/giantTwig.o(.text);
        asm/object63.o(.text);
        asm/object64.o(.text);
        asm/ladderHoleInBookshelf.o(.text);
        asm/object66.o(.text);
        asm/object67.o(.text);
        asm/object68.o(.text);
        asm/object69.o(.text);
        asm/object6A.o(.text);
        asm/crenalBeanSprout.o(.text);
        asm/minecartDoor.o(.text);
        asm/objectOnPillar.o(.text);
        src/object/mineralWaterSource.o(.text);
        src/object/minishSizedArchway.o(.text);
        asm/object70.o(.text);
        asm/pushableGrave.o(.text);
        asm/object72.o(.text);
        src/object/lilypadSmall.o(.text);
        asm/object74.o(.text);
        src/object/bell.o(.text);
        asm/macroDecorations.o(.text);
        asm/object79.o(.text);
        asm/steam.o(.text);
        asm/pushableLever.o(.text);
        asm/macroShoes.o(.text);
        asm/objectOnSpinyBeetle.o(.text);
        src/object/object7E.o(.text);
        asm/picoBloom.o(.text);
        asm/object80.o(.text);
        asm/object81.o(.text);
        src/object/bigVortex.o(.text);
        asm/bigPushableLever.o(.text);
        asm/smallIceBlock.o(.text);
        asm/bigIceBlock.o(.text);
        src/object/object86.o(.text);
        asm/object87.o(.text);
        asm/macroBook.o(.text);
        asm/object89.o(.text);
        asm/object8A.o(.text);
        asm/object8B.o(.text);
        asm/book.o(.text);
        asm/fireplace.o(.text);
        asm/object8E.o(.text);
        asm/frozenWaterElement.o(.text);
        asm/object90.o(.text);
        asm/object91.o(.text);
        src/object/bakerOven.o(.text);
        asm/object93.o(.text);
        src/object/windTribeFlag.o(.text);
        src/object/bird.o(.text);
        asm/bird.o(.text);
        asm/object96.o(.text);
        asm/object97.o(.text);
        asm/object98.o(.text);
        asm/object99.o(.text);
        asm/macroAcorn.o(.text);
        asm/object9B.o(.text);
        src/object/treeHidingPortal.o(.text);
        asm/treeHidingPortal.o(.text);
        src/object/lightableSwitch.o(.text);
        src/object/object9E.o(.text);
        src/object/fan.o(.text);
        asm/fan.o(.text);
        asm/objectA0.o(.text);
        src/object/palaceArchway.o(.text);
        src/object/objectA2.o(.text);
        src/object/cloud.o(.text);
        src/object/minishLight.o(.text);
        asm/objectA5.o(.text);
        asm/objectA6.o(.text);
        asm/objectA7.o(.text);
        src/object/objectA8.o(.text);
        asm/objectA8.o(.text);
        asm/objectA9.o(.text);
        asm/waterfallOpening.o(.text);
        asm/objectAB.o(.text);
        asm/fourElements.o(.text);
        asm/objectAD.o(.text);
        src/object/floatingBlock.o(.text);
        src/object/objectAF.o(.text);
        src/object/metalDoor.o(.text);
        src/object/jailBars.o(.text);
        src/object/objectB2.o(.text);
        asm/objectB3.o(.text);
        asm/objectB4.o(.text);
        asm/objectB5.o(.text);
        asm/objectB6.o(.text);
        src/object/well.o(.text);
        asm/windTribeTeleporter.o(.text);
        asm/objectB9.o(.text);
        asm/objectBA.o(.text);
        src/object/windcrest.o(.text);
        asm/litArea.o(.text);
        asm/objectBD.o(.text);
        src/object/pinwheel.o(.text);
        asm/objectBF.o(.text);
        asm/enemyItem.o(.text);
        asm/objectC1.o(.text);
        /* END objects */
        asm/sub_080A276C.o(.text);
        asm/sub_080A2838.o(.text);
        asm/sub_080A285C.o(.text);
        src/createObject.o(.text);
        asm/code_080A29BC.o(.text);
        asm/soundReq.o(.text);
        asm/code_080A3480.o(.text);
        src/sub_080A3B84.o(.text);
        asm/code_080A3BD0.o(.text);
        src/sub_080A554C.o(.text);
        asm/code_080A5574.o(.text);
        src/intro.o(.text);
        asm/sub_080AD8F0.o(.text);
        asm/code_080AD90C.o(.text);
        /* library functions */
        asm/m4a_asm.o(.text);
        asm/m4a.o(.text);
        asm/libagbsyscall.o(.text);
        src/eeprom.o(.text);
        *libc.a:memcpy.o(.text);

        /* handwritten assembly in arm mode */
        asm/intr.o(.text);
        /* data */
        data/data_080B2A70.o(.rodata);
        src/playerItem.o(.rodata);
        src/object.o(.rodata);
        src/manager.o(.rodata);
        src/npc.o(.rodata);
        data/data_080B3740.o(.rodata);
        src/coord.o(.rodata);
        data/data_080C93E0.o(.rodata);
        src/enemy/octorok.o(.rodata);
        data/animations/octorok.o(.rodata);
        src/enemy/chuchu.o(.rodata);
        data/animations/chuchu.o(.rodata);
        src/enemy/leever.o(.rodata);
        data/animations/leever.o(.rodata);
        src/enemy/peahat.o(.rodata);
        data/animations/peahat.o(.rodata);
        src/enemy/rollobite.o(.rodata);
        data/animations/rollobite.o(.rodata);
        src/enemy/darkNut.o(.rodata);
        data/animations/darkNut.o(.rodata);
        src/enemy/hangingSeed.o(.rodata);
        src/enemy/beetle.o(.rodata);
        data/animations/beetle.o(.rodata);
        src/enemy/keese.o(.rodata);
        data/animations/keese.o(.rodata);
        src/enemy/doorMimic.o(.rodata);
        data/animations/doorMimic.o(.rodata);
        src/enemy/rockChuchu.o(.rodata);
        data/animations/rockChuchu.o(.rodata);
        src/enemy/spinyChuchu.o(.rodata);
        data/animations/spinyChuchu.o(.rodata);
        src/enemy/cuccoChickAggr.o(.rodata);
        src/enemy/moldorm.o(.rodata);
        src/enemy/enemyE.o(.rodata);
        data/animations/enemyE.o(.rodata);
        src/enemy/moldworm.o(.rodata);
        data/animations/moldworm.o(.rodata);
        src/enemy/sluggula.o(.rodata);
        data/animations/sluggula.o(.rodata);
        src/enemy/pesto.o(.rodata);
        data/animations/pesto.o(.rodata);
        src/enemy/puffstool.o(.rodata);
        data/animations/puffstool.o(.rodata);
        src/enemy/chuchuBoss.o(.rodata);
        data/animations/chuchuBoss.o(.rodata);
        src/enemy/likeLike.o(.rodata);
        data/animations/likeLike.o(.rodata);
        src/enemy/spearMoblin.o(.rodata);
        data/animations/spearMoblin.o(.rodata);
        src/enemy/businessScrub.o(.rodata);
        data/animations/businessScrub.o(.rodata);
        src/enemy/rupeeLike.o(.rodata);
        data/animations/rupeeLike.o(.rodata);
        src/enemy/madderpillar.o(.rodata);
        data/animations/madderpillar.o(.rodata);
        src/enemy/waterDrop.o(.rodata);
        data/animations/waterDrop.o(.rodata);
        src/enemy/wallMaster.o(.rodata);
        data/animations/wallMaster.o(.rodata);
        src/enemy/bombPeahat.o(.rodata);
        data/animations/bombPeahat.o(.rodata);
        src/enemy/spark.o(.rodata);
        data/animations/spark.o(.rodata);
        src/enemy/chaser.o(.rodata);
        data/animations/chaser.o(.rodata);
        src/enemy/spikedBeetle.o(.rodata);
        data/animations/spikedBeetle.o(.rodata);
        src/enemy/sensorBladeTrap.o(.rodata);
        src/enemy/helmasaur.o(.rodata);
        data/animations/helmasaur.o(.rodata);
        src/enemy/fallingBoulder.o(.rodata);
        data/animations/fallingBoulder.o(.rodata);
        src/enemy/bobomb.o(.rodata);
        data/animations/bobomb.o(.rodata);
        src/enemy/wallMaster2.o(.rodata);
        data/data_080CC6FC.o(.rodata);
        src/enemy/lakitu.o(.rodata);
        data/data_080D015C.o(.rodata);
        src/enemy/lakituCloud.o(.rodata);
        data/data_080D0448.o(.rodata);
        src/enemy/gyorgMale.o(.rodata);
        data/data_080D1C70.o(.rodata);
        src/enemy.o(.rodata);
        data/data_080D3D94.o(.rodata);
        data/entity_headers.o(.rodata);
        data/data_080D5360.o(.rodata);
        src/fileScreen.o(.rodata);
        data/data_080FC8A4.o(.rodata);
        src/main.o(.rodata);
        data/tileset_headers.o(.rodata);
        data/metatile_headers.o(.rodata);
        data/map_headers.o(.rodata);
        src/textbox.o(.rodata);
        data/data_08107BC8.o(.rodata);
        src/manager/manager5.o(.rodata);
        src/manager/manager7.o(.rodata);
    . = ALIGN(4);
        src/manager/manager9.o(.rodata);
        src/manager/managerA.o(.rodata);
        src/manager/managerB.o(.rodata);
        src/manager/managerC.o(.rodata);
        data/data_08108308.o(.rodata);
        src/manager/manager1E.o(.rodata);
        data/data_08108C94.o(.rodata);
        src/manager/manager26.o(.rodata);
        src/manager/manager27.o(.rodata);
        src/manager/manager28.o(.rodata);
        data/data_08108D30.o(.rodata);
        src/npc/ezloCap.o(.rodata);
        data/data_08114208.o(.rodata);
        src/player.o(.rodata);
        data/data_0811B9E0.o(.rodata);
        src/item.o(.rodata);
        data/data_0811BD44.o(.rodata);
        data/room_headers.o(.rodata);
        src/save.o(.rodata);
        data/data_0811E454.o(.rodata);
        src/script.o(.rodata);
        data/data_0811E750.o(.rodata);
        src/object/greatFairy.o(.rodata);
        data/animations/greatFairy.o(.rodata);
        data/data_081208A0.o(.rodata);
        src/object/heartContainer.o(.rodata);
        data/data_08121C58.o(.rodata);
        src/object/objectA2.o(.rodata);
        data/data_08124712.o(.rodata);
        src/intro.o(.rodata);
        data/data_081320FC.o(.rodata);
        data/strings.o(.rodata);
        data/sprite_table.o(.rodata);
        data/data_089FC6C4.o(.rodata);
        src/eeprom.o(.rodata);
    } >rom

    /* DWARF 2 sections */
    .debug_aranges  0 : { *(.debug_aranges) }
    .debug_pubnames 0 : { *(.debug_pubnames) }
    .debug_info     0 : { *(.debug_info) }
    .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/ :
    {
        *(*);
    }
}
