2015-10-05 15:03:59 +02:00
|
|
|
ENTRY(Start)
|
|
|
|
|
2016-09-03 10:11:14 +02:00
|
|
|
gNumMusicPlayers = 4;
|
|
|
|
gMaxLines = 60;
|
|
|
|
|
2015-10-05 15:03:59 +02:00
|
|
|
SECTIONS {
|
2016-11-01 19:35:16 +01:00
|
|
|
. = 0x2000000;
|
2016-09-03 10:11:14 +02:00
|
|
|
|
|
|
|
ewram (NOLOAD) :
|
|
|
|
ALIGN(4)
|
|
|
|
{
|
2016-11-01 19:35:16 +01:00
|
|
|
. = 0x20000;
|
|
|
|
|
|
|
|
<EWRAM>
|
|
|
|
|
|
|
|
. = 0x40000;
|
2016-09-03 10:11:14 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
. = 0x3000000;
|
|
|
|
|
|
|
|
iwram (NOLOAD) :
|
|
|
|
ALIGN(4)
|
|
|
|
{
|
2016-11-01 19:35:16 +01:00
|
|
|
/* .bss starts at 0x3000000 */
|
|
|
|
<BSS>
|
|
|
|
|
|
|
|
/* .bss.code starts at 0x3001AA8 */
|
|
|
|
. += 0x800;
|
|
|
|
|
|
|
|
/* COMMON starts at 0x30022A8 */
|
|
|
|
<COMMON>
|
|
|
|
|
|
|
|
. = 0x8000;
|
2016-09-03 10:11:14 +02:00
|
|
|
}
|
|
|
|
|
2015-10-05 15:03:59 +02:00
|
|
|
. = 0x8000000;
|
2016-09-03 10:11:14 +02:00
|
|
|
|
|
|
|
.text :
|
|
|
|
ALIGN(4)
|
|
|
|
{
|
|
|
|
asm/crt0.o(.text);
|
|
|
|
asm/main.o(.text);
|
|
|
|
src/malloc.o(.text);
|
|
|
|
asm/dma3_manager.o(.text);
|
|
|
|
src/gpu_regs.o(.text);
|
2016-11-01 18:08:48 +01:00
|
|
|
asm/bg.o(.text);
|
|
|
|
asm/blit.o(.text);
|
2016-09-03 10:11:14 +02:00
|
|
|
asm/window.o(.text);
|
2016-11-01 18:08:48 +01:00
|
|
|
asm/text.o(.text);
|
|
|
|
asm/sprite.o(.text);
|
2016-09-03 10:11:14 +02:00
|
|
|
asm/string_util.o(.text);
|
2016-11-01 18:08:48 +01:00
|
|
|
asm/link.o(.text);
|
2016-09-03 10:11:14 +02:00
|
|
|
asm/rtc.o(.text);
|
|
|
|
asm/main_menu.o(.text);
|
2016-11-01 18:08:48 +01:00
|
|
|
asm/rom3.o(.text);
|
|
|
|
asm/decompress.o(.text);
|
|
|
|
asm/rom_8034C54.o(.text);
|
|
|
|
asm/pokemon_1.o(.text);
|
|
|
|
asm/calculate_base_damage.o(.text);
|
|
|
|
asm/pokemon_2.o(.text);
|
|
|
|
asm/rom_806BD04.o(.text);
|
|
|
|
asm/trig.o(.text);
|
|
|
|
asm/rng.o(.text);
|
|
|
|
asm/rom_806F640.o(.text);
|
|
|
|
asm/blend_palette.o(.text);
|
|
|
|
asm/daycare.o(.text);
|
|
|
|
asm/egg_hatch.o(.text);
|
|
|
|
asm/rom_8072304.o(.text);
|
|
|
|
asm/load_save.o(.text);
|
|
|
|
asm/trade.o(.text);
|
|
|
|
asm/berry_blender.o(.text);
|
|
|
|
asm/play_time.o(.text);
|
|
|
|
asm/new_game.o(.text);
|
|
|
|
asm/rom4.o(.text);
|
|
|
|
asm/fieldmap.o(.text);
|
|
|
|
asm/metatile_behavior.o(.text);
|
|
|
|
asm/field_camera.o(.text);
|
|
|
|
asm/field_door.o(.text);
|
|
|
|
asm/field_player_avatar.o(.text);
|
|
|
|
asm/field_map_obj.o(.text);
|
|
|
|
asm/field_ground_effect.o(.text);
|
|
|
|
asm/map_obj_8097404.o(.text);
|
|
|
|
asm/field_message_box.o(.text);
|
|
|
|
asm/map_obj_lock.o(.text);
|
|
|
|
asm/text_window.o(.text);
|
|
|
|
asm/script.o(.text);
|
|
|
|
asm/scrcmd.o(.text);
|
|
|
|
asm/rom_809BEDC.o(.text);
|
|
|
|
asm/var.o(.text);
|
|
|
|
asm/flag.o(.text);
|
|
|
|
asm/rom_809D7BC.o(.text);
|
|
|
|
asm/reset_rtc_screen.o(.text);
|
|
|
|
asm/start_menu.o(.text);
|
|
|
|
asm/tileset.o(.text);
|
|
|
|
asm/palette.o(.text);
|
|
|
|
asm/sound.o(.text);
|
|
|
|
asm/rom_80A3934.o(.text);
|
2016-10-31 09:14:22 +01:00
|
|
|
src/task.o(.text);
|
2016-11-01 18:08:48 +01:00
|
|
|
asm/rom5.o(.text);
|
|
|
|
asm/title_screen.o(.text);
|
|
|
|
asm/weather.o(.text);
|
|
|
|
asm/rom_80AEFFC.o(.text);
|
|
|
|
asm/battle_setup.o(.text);
|
|
|
|
asm/cable_club.o(.text);
|
|
|
|
asm/trainer_see.o(.text);
|
|
|
|
asm/fldeff_emotion.o(.text);
|
|
|
|
asm/wild_encounter.o(.text);
|
|
|
|
asm/field_effect.o(.text);
|
|
|
|
asm/rom_80B5E6C.o(.text);
|
|
|
|
asm/option_menu.o(.text);
|
|
|
|
asm/pokedex.o(.text);
|
|
|
|
asm/trainer_card.o(.text);
|
|
|
|
asm/rom_80C6FA0.o(.text);
|
|
|
|
asm/item.o(.text);
|
|
|
|
asm/contest.o(.text);
|
|
|
|
asm/shop.o(.text);
|
|
|
|
asm/berry.o(.text);
|
|
|
|
asm/script_menu.o(.text);
|
|
|
|
asm/naming_screen.o(.text);
|
|
|
|
asm/money.o(.text);
|
|
|
|
asm/contest_effect.o(.text);
|
|
|
|
asm/record_mixing.o(.text);
|
|
|
|
asm/secret_base.o(.text);
|
|
|
|
asm/tv.o(.text);
|
|
|
|
asm/contest_link_80F57C4.o(.text);
|
|
|
|
asm/script_pokemon_util_80F87D8.o(.text);
|
|
|
|
asm/field_poison.o(.text);
|
|
|
|
asm/big_shroomish_barboach.o(.text);
|
|
|
|
asm/fldeff_80F9BCC.o(.text);
|
|
|
|
asm/truck_scene.o(.text);
|
|
|
|
asm/porthole.o(.text);
|
|
|
|
asm/rotating_gate.o(.text);
|
|
|
|
asm/safari_zone.o(.text);
|
|
|
|
asm/contest_link_80FC4F4.o(.text);
|
|
|
|
asm/item_use.o(.text);
|
|
|
|
asm/battle_anim_80FE840.o(.text);
|
|
|
|
asm/bike.o(.text);
|
|
|
|
asm/easy_chat.o(.text);
|
|
|
|
asm/mon_markings.o(.text);
|
|
|
|
asm/mauville_old_man.o(.text);
|
|
|
|
asm/mail.o(.text);
|
|
|
|
asm/menu_helpers.o(.text);
|
|
|
|
asm/dewford_trend.o(.text);
|
|
|
|
asm/heal_location.o(.text);
|
|
|
|
asm/region_map.o(.text);
|
|
|
|
asm/cute_sketch.o(.text);
|
|
|
|
asm/decoration.o(.text);
|
|
|
|
asm/slot_machine.o(.text);
|
|
|
|
asm/contest_painting.o(.text);
|
|
|
|
asm/battle_ai.o(.text);
|
|
|
|
asm/trader.o(.text);
|
|
|
|
asm/starter_choose.o(.text);
|
|
|
|
asm/wallclock.o(.text);
|
|
|
|
asm/rom6.o(.text);
|
|
|
|
asm/battle_records.o(.text);
|
|
|
|
asm/rom_813C5BC.o(.text);
|
|
|
|
asm/pokedex_area_screen.o(.text);
|
|
|
|
asm/evolution_scene.o(.text);
|
|
|
|
asm/roulette.o(.text);
|
|
|
|
asm/pokedex_cry_screen.o(.text);
|
|
|
|
asm/coins.o(.text);
|
|
|
|
asm/landmark.o(.text);
|
|
|
|
asm/fldeff_strength.o(.text);
|
|
|
|
asm/rom_8145E84.o(.text);
|
|
|
|
asm/battle_transition.o(.text);
|
|
|
|
asm/battle_814AEAC.o(.text);
|
|
|
|
asm/battle_message.o(.text);
|
|
|
|
asm/cable_car.o(.text);
|
|
|
|
asm/rom_8151534.o(.text);
|
|
|
|
asm/roulette_util.o(.text);
|
|
|
|
asm/cable_car_util.o(.text);
|
|
|
|
asm/save.o(.text);
|
|
|
|
asm/mystery_event_script.o(.text);
|
|
|
|
asm/field_effect_helpers.o(.text);
|
|
|
|
asm/contest_ai.o(.text);
|
|
|
|
asm/rom_8158B30.o(.text);
|
|
|
|
asm/player_pc.o(.text);
|
|
|
|
asm/intro.o(.text);
|
|
|
|
asm/rom_816F318.o(.text);
|
|
|
|
asm/lottery_corner.o(.text);
|
|
|
|
asm/diploma.o(.text);
|
|
|
|
asm/berry_tag_screen.o(.text);
|
|
|
|
asm/mystery_event_menu.o(.text);
|
|
|
|
asm/save_failed_screen.o(.text);
|
|
|
|
asm/rom_81795E8.o(.text);
|
|
|
|
asm/clear_save_data_screen.o(.text);
|
|
|
|
asm/rom_817B064.o(.text);
|
|
|
|
asm/front_pic_anim.o(.text);
|
|
|
|
asm/rom_8184DA4.o(.text);
|
2016-09-03 10:11:14 +02:00
|
|
|
asm/multiboot.o(.text);
|
|
|
|
asm/rom_81BAD84.o(.text);
|
|
|
|
} =0
|
|
|
|
|
|
|
|
script_data :
|
|
|
|
ALIGN(4)
|
|
|
|
{
|
2016-09-03 19:20:06 +02:00
|
|
|
data/event_scripts.o(script_data);
|
|
|
|
data/battle_anim_scripts.o(script_data);
|
|
|
|
data/battle_scripts_1.o(script_data);
|
|
|
|
data/field_effect_scripts.o(script_data);
|
|
|
|
data/battle_scripts_2.o(script_data);
|
|
|
|
data/battle_ai_scripts.o(script_data);
|
|
|
|
data/contest_ai_scripts.o(script_data);
|
|
|
|
data/script_funcs.o(script_data);
|
2016-09-03 10:11:14 +02:00
|
|
|
} =0
|
|
|
|
|
|
|
|
lib_text :
|
|
|
|
ALIGN(4)
|
|
|
|
{
|
|
|
|
asm/libgcnmultiboot.o(.text);
|
|
|
|
asm/libmks4agb.o(.text);
|
2016-11-01 20:15:48 +01:00
|
|
|
src/agb_flash.o(.text);
|
|
|
|
src/agb_flash_1m.o(.text);
|
|
|
|
src/agb_flash_mx.o(.text);
|
2016-09-03 10:11:14 +02:00
|
|
|
asm/librtc.o(.text);
|
|
|
|
asm/librfu.o(.text);
|
|
|
|
asm/libagbsyscall.o(.text);
|
2016-09-03 13:11:10 +02:00
|
|
|
tools/agbcc/lib/libgcc.a:_call_via_rX.o(.text);
|
|
|
|
tools/agbcc/lib/libgcc.a:_divdi3.o(.text);
|
|
|
|
tools/agbcc/lib/libgcc.a:_divsi3.o(.text);
|
|
|
|
tools/agbcc/lib/libgcc.a:_dvmd_tls.o(.text);
|
|
|
|
tools/agbcc/lib/libgcc.a:_fixunsdfsi.o(.text);
|
|
|
|
tools/agbcc/lib/libgcc.a:_fixunssfsi.o(.text);
|
|
|
|
tools/agbcc/lib/libgcc.a:_modsi3.o(.text);
|
|
|
|
tools/agbcc/lib/libgcc.a:_muldi3.o(.text);
|
|
|
|
tools/agbcc/lib/libgcc.a:_udivdi3.o(.text);
|
|
|
|
tools/agbcc/lib/libgcc.a:_udivsi3.o(.text);
|
|
|
|
tools/agbcc/lib/libgcc.a:_umodsi3.o(.text);
|
|
|
|
tools/agbcc/lib/libgcc.a:dp-bit.o(.text);
|
|
|
|
tools/agbcc/lib/libgcc.a:fp-bit.o(.text);
|
|
|
|
tools/agbcc/lib/libgcc.a:_lshrdi3.o(.text);
|
|
|
|
tools/agbcc/lib/libgcc.a:_negdi2.o(.text);
|
2016-11-01 16:17:40 +01:00
|
|
|
src/libc.o(.text);
|
2016-09-03 10:11:14 +02:00
|
|
|
} =0
|
|
|
|
|
|
|
|
.rodata :
|
|
|
|
ALIGN(4)
|
|
|
|
{
|
|
|
|
data/data2.o(.rodata);
|
2016-09-03 18:25:58 +02:00
|
|
|
data/m4a_tables.o(.rodata);
|
|
|
|
data/sound_data.o(.rodata);
|
2016-09-03 10:11:14 +02:00
|
|
|
} =0
|
|
|
|
|
2016-09-03 13:11:10 +02:00
|
|
|
lib_rodata :
|
|
|
|
ALIGN(4)
|
|
|
|
{
|
2016-11-01 20:15:48 +01:00
|
|
|
src/agb_flash.o(.rodata);
|
|
|
|
src/agb_flash_1m.o(.rodata);
|
|
|
|
src/agb_flash_mx.o(.rodata);
|
|
|
|
src/agb_flash_le.o(.rodata);
|
2016-09-03 18:25:58 +02:00
|
|
|
data/librtc_rodata.o(.rodata);
|
2016-09-03 13:29:59 +02:00
|
|
|
data/librfu_rodata.o(.rodata);
|
2016-09-03 13:11:10 +02:00
|
|
|
tools/agbcc/lib/libgcc.a:_divdi3.o(.rodata);
|
|
|
|
tools/agbcc/lib/libgcc.a:_udivdi3.o(.rodata);
|
|
|
|
} =0
|
|
|
|
|
|
|
|
other_data :
|
|
|
|
ALIGN(4)
|
|
|
|
{
|
|
|
|
data/unknown_serial_data.o(.rodata);
|
|
|
|
data/multiboot_berry_glitch_fix.o(.rodata);
|
|
|
|
data/multiboot_pokemon_colosseum.o(.rodata);
|
|
|
|
} =0
|
|
|
|
|
2016-09-03 12:03:50 +02:00
|
|
|
gap1 :
|
|
|
|
{
|
|
|
|
gap1_start = ABSOLUTE(.);
|
|
|
|
BYTE(0x00)
|
|
|
|
. = 0x8B00000 - gap1_start;
|
|
|
|
} =0
|
|
|
|
|
|
|
|
anim_mon_front_pic_data :
|
|
|
|
ALIGN(4)
|
|
|
|
{
|
|
|
|
data/anim_mon_front_pics.o(anim_mon_front_pic_data);
|
|
|
|
} =0
|
|
|
|
|
|
|
|
gap2 :
|
|
|
|
{
|
|
|
|
gap2_start = ABSOLUTE(.);
|
|
|
|
BYTE(0x00)
|
|
|
|
. = 0x8C00000 - gap2_start;
|
|
|
|
} =0
|
|
|
|
|
|
|
|
gfx_data :
|
|
|
|
ALIGN(4)
|
|
|
|
{
|
|
|
|
data/graphics.o(gfx_data);
|
|
|
|
} =0
|
|
|
|
|
2016-09-03 10:11:14 +02:00
|
|
|
/* Discard everything not specifically mentioned above. */
|
|
|
|
/DISCARD/ :
|
|
|
|
{
|
|
|
|
*(*);
|
|
|
|
}
|
2015-10-05 15:03:59 +02:00
|
|
|
}
|