diff --git a/config.mk b/config.mk index 3c8508cd..a6075bba 100644 --- a/config.mk +++ b/config.mk @@ -1,10 +1,59 @@ ### Build Configuration ### -# Default variables +# Default platform variables +PLATFORM ?= gba +CPU_ARCH ?= arm +MIDI_COMMENTS := "arm" +THUMB_SUPPORT ?= 1 # Supports ARM's Thumb instruction set +COMPARE ?= 1 + + +ifeq ($(CPU_ARCH),arm) + ifneq ($(PLATFORM),gba) + THUMB_SUPPORT ?= 0 + endif + + MIDI_COMMENTS := "arm" +# This is 'i386' because that's the arch's name in GNU Linker scripts +else ifeq ($(CPU_ARCH),i386) + THUMB_SUPPORT ?= 0 + MIDI_COMMENTS := "x86" +else + $(error unknown arch: $(CPU_ARCH)) +endif + +LDSCRIPT := ldscript + +NON_MATCHING ?= 0 +ifeq ($(PLATFORM),gba) +ifeq ($(DEBUG),1) + # Debug + PORTABLE := 0 + NON_MATCHING := 1 + ENABLE_DECOMP_CREDITS := 1 + COMPARE ?= 0 + LDSCRIPT := $(LDSCRIPT).txt +else + # Original + PORTABLE := 0 + NON_MATCHING := 0 + ENABLE_DECOMP_CREDITS := 0 + COMPARE ?= 1 + LDSCRIPT := $(LDSCRIPT).txt +endif +else + # Other + PORTABLE := 1 + NON_MATCHING := 1 + ENABLE_DECOMP_CREDITS := 1 + COMPARE ?= 0 + LDSCRIPT := $(LDSCRIPT).txt +endif + +# Default game variables GAME_REVISION ?= 0 GAME_REGION ?= EUROPE DEBUG ?= 0 -COMPARE ?= 1 # For gbafix MAKER_CODE := 8P @@ -35,6 +84,12 @@ else endif endif +ifeq ($(CREATE_PDB),1) + # If the user wants a PDB, the output needs to include debug info + # TODO: Is there a way to ECHO here? + DEBUG := 1 +endif + # Debug ifeq ($(DEBUG), 1) COMPARE := 0 diff --git a/graphics.mk b/graphics.mk new file mode 100644 index 00000000..885f3756 --- /dev/null +++ b/graphics.mk @@ -0,0 +1 @@ +# Empty in SA3 for now diff --git a/include/gba/types.h b/include/gba/types.h index 47537521..53da294a 100644 --- a/include/gba/types.h +++ b/include/gba/types.h @@ -14,8 +14,8 @@ typedef int64_t s64; // If the DISPLAY_HEIGHT was >255, scanline effects would break, // so we have to -#ifdef PORTABLE -typedef u32 int_vcount; +#if PORTABLE +typedef u16 int_vcount; #else typedef u8 int_vcount; #endif diff --git a/include/global.h b/include/global.h index 05aa3e28..4c71dd2c 100644 --- a/include/global.h +++ b/include/global.h @@ -16,12 +16,12 @@ typedef void (*VoidFn)(void); // helper macros -#if ((defined PORTABLE) || (defined NON_MATCHING)) +#if (PORTABLE || (defined NON_MATCHING)) #define BUG_FIX #define UB_FIX #endif -#if ((defined PORTABLE) && !(defined NON_MATCHING)) +#if (PORTABLE && !(defined NON_MATCHING)) #define NON_MATCHING 1 #endif diff --git a/include/task.h b/include/task.h index 39486240..62de18b0 100644 --- a/include/task.h +++ b/include/task.h @@ -11,7 +11,7 @@ typedef void (*TaskDestructor)(struct Task *); // The task system uses the GBA's unique memory layout to halve the size of pointers. // Other platforms need to have the same logical behavior, but done differently. -#ifndef PORTABLE +#if !PORTABLE typedef u16 TaskPtr; // Mainly used to silence (void* -> u16) warnings @@ -61,7 +61,7 @@ struct Task { #endif }; -#ifndef PORTABLE +#if !PORTABLE typedef u16 IwramNodePtr; typedef u32 IwramNodePtr32; #else diff --git a/ldscript.txt b/ldscript.txt index 29f4ce28..825c0fd2 100644 --- a/ldscript.txt +++ b/ldscript.txt @@ -6,164 +6,164 @@ SECTIONS { . = 0x2000000; EWRAM (NOLOAD) : ALIGN(4) { - INCLUDE "sym_ewram.txt" + INCLUDE "../../../sym_ewram.txt" } . = 0x03000000; IWRAM (NOLOAD) : ALIGN(4) { - INCLUDE "sym_iwram.txt" + INCLUDE "../../../sym_iwram.txt" } . = 0x8000000; ROM : ALIGN(4) { - build/sa3/asm/rom_header.o(.text); - build/sa3/asm/crt0.o(.text); - build/sa3/asm/code_0.o(.text); - build/sa3/src/game/interactables/zone_warp.o(.text); - build/sa3/src/game/interactables/spring.o(.text); - build/sa3/src/game/interactables/toggle_player_layer.o(.text); - build/sa3/src/game/interactables/warp.o(.text); - build/sa3/src/game/interactables/015.o(.text); - build/sa3/src/game/interactables/platform.o(.text); - build/sa3/src/game/interactables/blue_red_button.o(.text); - build/sa3/src/game/interactables/spikes.o(.text); - build/sa3/src/game/interactables/booster.o(.text); - build/sa3/src/game/interactables/trampoline.o(.text); - build/sa3/src/game/interactables/ramp.o(.text); - build/sa3/src/game/interactables/rotating_handle.o(.text); - build/sa3/src/game/interactables/lift.o(.text); - build/sa3/src/game/interactables/button_spring.o(.text); - build/sa3/src/game/interactables/checkpoint.o(.text); - build/sa3/src/game/interactables/goal_ring.o(.text); - build/sa3/src/game/interactables/bouncy_bar.o(.text); - build/sa3/src/game/interactables/breakable_wall.o(.text); - build/sa3/src/game/interactables/dash_ring.o(.text); - build/sa3/src/game/interactables/060.o(.text); - build/sa3/src/game/interactables/platform_raising_wheel.o(.text); - build/sa3/src/game/interactables/platform_raising_wheel_platform.o(.text); - build/sa3/asm/ia_seesaw.o(.text); - build/sa3/src/game/interactables/deco_rock.o(.text); - build/sa3/src/game/interactables/flat_spring.o(.text); - build/sa3/src/game/interactables/omochao.o(.text); - build/sa3/src/game/interactables/platform_enabled_by_button.o(.text); - build/sa3/src/game/interactables/platform_crumbling.o(.text); - build/sa3/src/game/interactables/grind_rail.o(.text); - build/sa3/src/game/interactables/bonus_game_capsule.o(.text); - build/sa3/src/game/interactables/bonus_game_enemies.o(.text); - build/sa3/src/game/interactables/081_and_082.o(.text); - build/sa3/src/game/interactables/085.o(.text); - build/sa3/src/game/interactables/slow_chaos_lift.o(.text); - build/sa3/src/game/interactables/trigger_boss_and_goal_ring.o(.text); - build/sa3/src/game/interactables/platform_attached.o(.text); - build/sa3/src/game/interactables/water_cannon.o(.text); - build/sa3/src/game/interactables/090.o(.text); - build/sa3/src/game/interactables/accordion_spring.o(.text); - build/sa3/src/game/interactables/bungee_cord.o(.text); - build/sa3/src/game/interactables/waggle_coil.o(.text); - build/sa3/src/game/interactables/pole.o(.text); - build/sa3/src/game/interactables/waterfall_resist.o(.text); - build/sa3/src/game/interactables/act_ring.o(.text); - build/sa3/src/game/interactables/special_spring.o(.text); - build/sa3/src/game/interactables/factory_ring.o(.text); - build/sa3/src/game/interactables/bonus_ufo.o(.text); - build/sa3/src/game/interactables/death_crusher.o(.text); - build/sa3/src/game/interactables/platform_on_a_path.o(.text); - build/sa3/src/game/interactables/platform_propelled.o(.text); - build/sa3/src/game/interactables/platform_3_falling.o(.text); - build/sa3/src/game/interactables/suction.o(.text); - build/sa3/src/game/interactables/air_bubbles.o(.text); - build/sa3/src/game/interactables/ice_spike.o(.text); - build/sa3/src/game/interactables/platform_square.o(.text); - build/sa3/src/game/interactables/sunset_bridge.o(.text); - build/sa3/src/game/interactables/platform_spiked.o(.text); - build/sa3/src/game/interactables/spring_in_a_box.o(.text); - build/sa3/src/game/interactables/rocket.o(.text); - build/sa3/src/game/interactables/goal_ring_impl.o(.text); - build/sa3/src/game/interactables/ferris_wheel.o(.text); - build/sa3/src/game/interactables/windup_block.o(.text); - build/sa3/src/game/interactables/minecart.o(.text); - build/sa3/src/game/interactables/panda_cart.o(.text); - build/sa3/src/game/interactables/116.o(.text); - build/sa3/src/game/interactables/toggle_gravity.o(.text); - build/sa3/src/game/interactables/gondola.o(.text); - build/sa3/src/game/interactables/boulder.o(.text); - build/sa3/src/game/interactables/ufo_platform.o(.text); - build/sa3/src/game/interactables/closing_wall.o(.text); - build/sa3/src/game/interactables/ice_launcher.o(.text); - build/sa3/src/game/interactables/125_and_126.o(.text); - build/sa3/src/game/interactables/127_and_128.o(.text); - build/sa3/src/game/interactables/toy_balloon.o(.text); - build/sa3/src/game/interactables/pendulum.o(.text); - build/sa3/src/game/interactables/spring_platform.o(.text); - build/sa3/src/game/interactables/134.o(.text); - build/sa3/src/game/interactables/135.o(.text); - build/sa3/src/game/interactables/maze.o(.text); - build/sa3/src/game/interactables/platform_chaos_angel.o(.text); - build/sa3/src/game/interactables/platform_shared.o(.text); - build/sa3/src/game/interactables/chao.o(.text); - build/sa3/src/game/interactables/special_key.o(.text); - build/sa3/src/game/interactables/item_box_mp.o(.text); - build/sa3/src/game/interactables/mp_chao.o(.text); - build/sa3/src/game/interactables/final_zone_ring.o(.text); - build/sa3/src/game/interactables/emerald_in_playground.o(.text); - build/sa3/asm/code_1.o(.text); - build/sa3/src/game/final_boss_init.o(.text); - build/sa3/src/game/enemies/akatento.o(.text); - build/sa3/src/game/enemies/aotento.o(.text); - build/sa3/src/game/enemies/spinner.o(.text); - build/sa3/src/game/enemies/condor.o(.text); - build/sa3/src/game/enemies/gekogeko.o(.text); - build/sa3/src/game/enemies/buzzer.o(.text); - build/sa3/src/game/enemies/ape.o(.text); - build/sa3/src/game/enemies/minimole.o(.text); - build/sa3/src/game/enemies/takkon.o(.text); - build/sa3/src/game/enemies/jousun.o(.text); - build/sa3/asm/enemy_unknown_code.o(.text); - build/sa3/asm/enemy_uutsubo.o(.text); - build/sa3/src/game/enemies/gaogao.o(.text); - build/sa3/asm/enemy_juggling.o(.text); - build/sa3/asm/enemy_bu_bu.o(.text); - build/sa3/asm/enemy_guard.o(.text); - build/sa3/src/game/enemies/yadokk.o(.text); - build/sa3/src/game/enemies/ginpe.o(.text); - build/sa3/asm/enemy_yukigasen.o(.text); - build/sa3/asm/enemy_hariisen.o(.text); - build/sa3/asm/enemy_muukaden.o(.text); - build/sa3/asm/enemy_marun.o(.text); - build/sa3/asm/enemy_clam.o(.text); - build/sa3/asm/enemy_kamaki.o(.text); - build/sa3/src/game/enemies/guruguru.o(.text); - build/sa3/asm/enemy_guruguru.o(.text); - build/sa3/asm/enemy_kyacchaa.o(.text); - build/sa3/asm/code.o(.text); - build/sa3/src/game/math.o(.text); - build/sa3/asm/code_x.o(.text); - build/sa3/src/lib/m4a/m4a0.o(.text); - build/sa3/src/lib/m4a/m4a.o(.text); - build/sa3/asm/game_init.o(.text); - build/sa3/src/main.o(.text); - build/sa3/src/task.o(.text); - build/sa3/src/background.o(.text); - build/sa3/src/sprite.o(.text); - build/sa3/src/bg_triangles.o(.text); - build/sa3/src/malloc_vram.o(.text); - build/sa3/src/multi_sio.o(.text); - build/sa3/src/multi_boot.o(.text); - build/sa3/src/sio32_multi_load.o(.text); - build/sa3/src/input_recorder.o(.text); - build/sa3/asm/code_z_1.o(.text); - build/sa3/src/multi_sio_asm.o(.text); - build/sa3/src/malloc_ewram.o(.text); + asm/rom_header.o(.text); + asm/crt0.o(.text); + asm/code_0.o(.text); + src/game/interactables/zone_warp.o(.text); + src/game/interactables/spring.o(.text); + src/game/interactables/toggle_player_layer.o(.text); + src/game/interactables/warp.o(.text); + src/game/interactables/015.o(.text); + src/game/interactables/platform.o(.text); + src/game/interactables/blue_red_button.o(.text); + src/game/interactables/spikes.o(.text); + src/game/interactables/booster.o(.text); + src/game/interactables/trampoline.o(.text); + src/game/interactables/ramp.o(.text); + src/game/interactables/rotating_handle.o(.text); + src/game/interactables/lift.o(.text); + src/game/interactables/button_spring.o(.text); + src/game/interactables/checkpoint.o(.text); + src/game/interactables/goal_ring.o(.text); + src/game/interactables/bouncy_bar.o(.text); + src/game/interactables/breakable_wall.o(.text); + src/game/interactables/dash_ring.o(.text); + src/game/interactables/060.o(.text); + src/game/interactables/platform_raising_wheel.o(.text); + src/game/interactables/platform_raising_wheel_platform.o(.text); + asm/ia_seesaw.o(.text); + src/game/interactables/deco_rock.o(.text); + src/game/interactables/flat_spring.o(.text); + src/game/interactables/omochao.o(.text); + src/game/interactables/platform_enabled_by_button.o(.text); + src/game/interactables/platform_crumbling.o(.text); + src/game/interactables/grind_rail.o(.text); + src/game/interactables/bonus_game_capsule.o(.text); + src/game/interactables/bonus_game_enemies.o(.text); + src/game/interactables/081_and_082.o(.text); + src/game/interactables/085.o(.text); + src/game/interactables/slow_chaos_lift.o(.text); + src/game/interactables/trigger_boss_and_goal_ring.o(.text); + src/game/interactables/platform_attached.o(.text); + src/game/interactables/water_cannon.o(.text); + src/game/interactables/090.o(.text); + src/game/interactables/accordion_spring.o(.text); + src/game/interactables/bungee_cord.o(.text); + src/game/interactables/waggle_coil.o(.text); + src/game/interactables/pole.o(.text); + src/game/interactables/waterfall_resist.o(.text); + src/game/interactables/act_ring.o(.text); + src/game/interactables/special_spring.o(.text); + src/game/interactables/factory_ring.o(.text); + src/game/interactables/bonus_ufo.o(.text); + src/game/interactables/death_crusher.o(.text); + src/game/interactables/platform_on_a_path.o(.text); + src/game/interactables/platform_propelled.o(.text); + src/game/interactables/platform_3_falling.o(.text); + src/game/interactables/suction.o(.text); + src/game/interactables/air_bubbles.o(.text); + src/game/interactables/ice_spike.o(.text); + src/game/interactables/platform_square.o(.text); + src/game/interactables/sunset_bridge.o(.text); + src/game/interactables/platform_spiked.o(.text); + src/game/interactables/spring_in_a_box.o(.text); + src/game/interactables/rocket.o(.text); + src/game/interactables/goal_ring_impl.o(.text); + src/game/interactables/ferris_wheel.o(.text); + src/game/interactables/windup_block.o(.text); + src/game/interactables/minecart.o(.text); + src/game/interactables/panda_cart.o(.text); + src/game/interactables/116.o(.text); + src/game/interactables/toggle_gravity.o(.text); + src/game/interactables/gondola.o(.text); + src/game/interactables/boulder.o(.text); + src/game/interactables/ufo_platform.o(.text); + src/game/interactables/closing_wall.o(.text); + src/game/interactables/ice_launcher.o(.text); + src/game/interactables/125_and_126.o(.text); + src/game/interactables/127_and_128.o(.text); + src/game/interactables/toy_balloon.o(.text); + src/game/interactables/pendulum.o(.text); + src/game/interactables/spring_platform.o(.text); + src/game/interactables/134.o(.text); + src/game/interactables/135.o(.text); + src/game/interactables/maze.o(.text); + src/game/interactables/platform_chaos_angel.o(.text); + src/game/interactables/platform_shared.o(.text); + src/game/interactables/chao.o(.text); + src/game/interactables/special_key.o(.text); + src/game/interactables/item_box_mp.o(.text); + src/game/interactables/mp_chao.o(.text); + src/game/interactables/final_zone_ring.o(.text); + src/game/interactables/emerald_in_playground.o(.text); + asm/code_1.o(.text); + src/game/final_boss_init.o(.text); + src/game/enemies/akatento.o(.text); + src/game/enemies/aotento.o(.text); + src/game/enemies/spinner.o(.text); + src/game/enemies/condor.o(.text); + src/game/enemies/gekogeko.o(.text); + src/game/enemies/buzzer.o(.text); + src/game/enemies/ape.o(.text); + src/game/enemies/minimole.o(.text); + src/game/enemies/takkon.o(.text); + src/game/enemies/jousun.o(.text); + asm/enemy_unknown_code.o(.text); + asm/enemy_uutsubo.o(.text); + src/game/enemies/gaogao.o(.text); + asm/enemy_juggling.o(.text); + asm/enemy_bu_bu.o(.text); + asm/enemy_guard.o(.text); + src/game/enemies/yadokk.o(.text); + src/game/enemies/ginpe.o(.text); + asm/enemy_yukigasen.o(.text); + asm/enemy_hariisen.o(.text); + asm/enemy_muukaden.o(.text); + asm/enemy_marun.o(.text); + asm/enemy_clam.o(.text); + asm/enemy_kamaki.o(.text); + src/game/enemies/guruguru.o(.text); + asm/enemy_guruguru.o(.text); + asm/enemy_kyacchaa.o(.text); + asm/code.o(.text); + src/game/math.o(.text); + asm/code_x.o(.text); + src/lib/m4a/m4a0.o(.text); + src/lib/m4a/m4a.o(.text); + asm/game_init.o(.text); + src/main.o(.text); + src/task.o(.text); + src/background.o(.text); + src/sprite.o(.text); + src/bg_triangles.o(.text); + src/malloc_vram.o(.text); + src/multi_sio.o(.text); + src/multi_boot.o(.text); + src/sio32_multi_load.o(.text); + src/input_recorder.o(.text); + asm/code_z_1.o(.text); + src/multi_sio_asm.o(.text); + src/malloc_ewram.o(.text); /* agb_lib_text */ - build/sa3/src/lib/agb_flash/agb_flash.o(.text); - build/sa3/src/lib/agb_flash/agb_flash_1m.o(.text); - build/sa3/src/lib/agb_flash/agb_flash_mx.o(.text); - build/sa3/src/lib/agb_flash/agb_flash_sst.o(.text); + src/lib/agb_flash/agb_flash.o(.text); + src/lib/agb_flash/agb_flash_1m.o(.text); + src/lib/agb_flash/agb_flash_mx.o(.text); + src/lib/agb_flash/agb_flash_sst.o(.text); *libagbsyscall.a:ArcTan2.o(.text); *libagbsyscall.a:CpuFastSet.o(.text); *libagbsyscall.a:CpuSet.o(.text); @@ -188,424 +188,424 @@ SECTIONS { *libc.a:vsprintf.o(.text); */ - tools/agbcc/lib/libc.a:wf_pow.o(.text); - tools/agbcc/lib/libc.a:ef_pow.o(.text); - tools/agbcc/lib/libc.a:ef_sqrt.o(.text); - tools/agbcc/lib/libc.a:s_matherr.o(.text); - tools/agbcc/lib/libc.a:s_rint.o(.text); - tools/agbcc/lib/libc.a:sf_fabs.o(.text); - tools/agbcc/lib/libc.a:sf_finite.o(.text); - tools/agbcc/lib/libc.a:sf_isnan.o(.text); - tools/agbcc/lib/libc.a:sf_scalbn.o(.text); - tools/agbcc/lib/libc.a:sf_copysign.o(.text); - tools/agbcc/lib/libgcc.a:_ashrdi3.o(.text); - 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:_modsi3.o(.text); - tools/agbcc/lib/libgcc.a:_muldi3.o(.text); - tools/agbcc/lib/libgcc.a:_negdi2.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); + *libc.a:wf_pow.o(.text); + *libc.a:ef_pow.o(.text); + *libc.a:ef_sqrt.o(.text); + *libc.a:s_matherr.o(.text); + *libc.a:s_rint.o(.text); + *libc.a:sf_fabs.o(.text); + *libc.a:sf_finite.o(.text); + *libc.a:sf_isnan.o(.text); + *libc.a:sf_scalbn.o(.text); + *libc.a:sf_copysign.o(.text); + *libgcc.a:_ashrdi3.o(.text); + *libgcc.a:_call_via_rX.o(.text); + *libgcc.a:_divdi3.o(.text); + *libgcc.a:_divsi3.o(.text); + *libgcc.a:_dvmd_tls.o(.text); + *libgcc.a:_modsi3.o(.text); + *libgcc.a:_muldi3.o(.text); + *libgcc.a:_negdi2.o(.text); + *libgcc.a:_udivsi3.o(.text); + *libgcc.a:_umodsi3.o(.text); + *libgcc.a:dp-bit.o(.text); + *libgcc.a:fp-bit.o(.text); + *libgcc.a:_lshrdi3.o(.text); - tools/agbcc/lib/libc.a:errno.o(.text); - tools/agbcc/lib/libc.a:memcpy.o(.text); - tools/agbcc/lib/libc.a:memset.o(.text); - tools/agbcc/lib/libc.a:sprintf.o(.text); - tools/agbcc/lib/libc.a:vfprintf.o(.text); - tools/agbcc/lib/libc.a:wsetup.o(.text); - tools/agbcc/lib/libc.a:dtoa.o(.text); - tools/agbcc/lib/libc.a:fflush.o(.text); - tools/agbcc/lib/libc.a:findfp.o(.text); - tools/agbcc/lib/libc.a:freer.o(.text); - tools/agbcc/lib/libc.a:fvwrite.o(.text); - tools/agbcc/lib/libc.a:fwalk.o(.text); - tools/agbcc/lib/libc.a:locale.o(.text); - tools/agbcc/lib/libc.a:makebuf.o(.text); - tools/agbcc/lib/libc.a:mallocr.o(.text); - tools/agbcc/lib/libc.a:mbtowc_r.o(.text); - tools/agbcc/lib/libc.a:memchr.o(.text); - tools/agbcc/lib/libc.a:memmove.o(.text); - tools/agbcc/lib/libc.a:mlock.o(.text); - tools/agbcc/lib/libc.a:mprec.o(.text); - tools/agbcc/lib/libc.a:s_isinf.o(.text); - tools/agbcc/lib/libc.a:s_isnan.o(.text); - tools/agbcc/lib/libc.a:sbrkr.o(.text); - tools/agbcc/lib/libc.a:stdio.o(.text); - tools/agbcc/lib/libc.a:strcmp.o(.text); - tools/agbcc/lib/libc.a:strlen.o(.text); - tools/agbcc/lib/libc.a:syscalls.o(.text); - tools/agbcc/lib/libc.a:writer.o(.text); - tools/agbcc/lib/libc.a:callocr.o(.text); - tools/agbcc/lib/libc.a:closer.o(.text); - tools/agbcc/lib/libc.a:fstatr.o(.text); - tools/agbcc/lib/libc.a:libcfunc.o(.text); - tools/agbcc/lib/libc.a:lseekr.o(.text); - tools/agbcc/lib/libc.a:readr.o(.text); + *libc.a:errno.o(.text); + *libc.a:memcpy.o(.text); + *libc.a:memset.o(.text); + *libc.a:sprintf.o(.text); + *libc.a:vfprintf.o(.text); + *libc.a:wsetup.o(.text); + *libc.a:dtoa.o(.text); + *libc.a:fflush.o(.text); + *libc.a:findfp.o(.text); + *libc.a:freer.o(.text); + *libc.a:fvwrite.o(.text); + *libc.a:fwalk.o(.text); + *libc.a:locale.o(.text); + *libc.a:makebuf.o(.text); + *libc.a:mallocr.o(.text); + *libc.a:mbtowc_r.o(.text); + *libc.a:memchr.o(.text); + *libc.a:memmove.o(.text); + *libc.a:mlock.o(.text); + *libc.a:mprec.o(.text); + *libc.a:s_isinf.o(.text); + *libc.a:s_isnan.o(.text); + *libc.a:sbrkr.o(.text); + *libc.a:stdio.o(.text); + *libc.a:strcmp.o(.text); + *libc.a:strlen.o(.text); + *libc.a:syscalls.o(.text); + *libc.a:writer.o(.text); + *libc.a:callocr.o(.text); + *libc.a:closer.o(.text); + *libc.a:fstatr.o(.text); + *libc.a:libcfunc.o(.text); + *libc.a:lseekr.o(.text); + *libc.a:readr.o(.text); /* data */ - build/sa3/data/data.o(.rodata); - build/sa3/src/game/math.o(.rodata); - build/sa3/data/data_x.o(.rodata); - build/sa3/src/lib/m4a/m4a_tables.o(.rodata); - build/sa3/data/sound.o(.rodata); - build/sa3/sound/songs/song000.o(.rodata); - build/sa3/sound/songs/song001.o(.rodata); - build/sa3/sound/songs/song002.o(.rodata); - build/sa3/sound/songs/song003.o(.rodata); - build/sa3/sound/songs/song004.o(.rodata); - build/sa3/sound/songs/song005.o(.rodata); - build/sa3/sound/songs/song006.o(.rodata); - build/sa3/sound/songs/song007.o(.rodata); - build/sa3/sound/songs/song008.o(.rodata); - build/sa3/sound/songs/song010.o(.rodata); - build/sa3/sound/songs/song011.o(.rodata); - build/sa3/sound/songs/song012.o(.rodata); - build/sa3/sound/songs/song013.o(.rodata); - build/sa3/sound/songs/song014.o(.rodata); - build/sa3/sound/songs/song015.o(.rodata); - build/sa3/sound/songs/song016.o(.rodata); - build/sa3/sound/songs/song017.o(.rodata); - build/sa3/sound/songs/song018.o(.rodata); - build/sa3/sound/songs/song020.o(.rodata); - build/sa3/sound/songs/song021.o(.rodata); - build/sa3/sound/songs/song022.o(.rodata); - build/sa3/sound/songs/song024.o(.rodata); - build/sa3/sound/songs/song025.o(.rodata); - build/sa3/sound/songs/song026.o(.rodata); - build/sa3/sound/songs/song028.o(.rodata); - build/sa3/sound/songs/song029.o(.rodata); - build/sa3/sound/songs/song030.o(.rodata); - build/sa3/sound/songs/song032.o(.rodata); - build/sa3/sound/songs/song033.o(.rodata); - build/sa3/sound/songs/song034.o(.rodata); - build/sa3/sound/songs/song036.o(.rodata); - build/sa3/sound/songs/song037.o(.rodata); - build/sa3/sound/songs/song038.o(.rodata); - build/sa3/sound/songs/song040.o(.rodata); - build/sa3/sound/songs/song041.o(.rodata); - build/sa3/sound/songs/song042.o(.rodata); - build/sa3/sound/songs/song044.o(.rodata); - build/sa3/sound/songs/song045.o(.rodata); - build/sa3/sound/songs/song046.o(.rodata); - build/sa3/sound/songs/song050.o(.rodata); - build/sa3/sound/songs/song051.o(.rodata); - build/sa3/sound/songs/song052.o(.rodata); - build/sa3/sound/songs/song053.o(.rodata); - build/sa3/sound/songs/song054.o(.rodata); - build/sa3/sound/songs/song055.o(.rodata); - build/sa3/sound/songs/song056.o(.rodata); - build/sa3/sound/songs/song057.o(.rodata); - build/sa3/sound/songs/song058.o(.rodata); - build/sa3/sound/songs/song059.o(.rodata); - build/sa3/sound/songs/song060.o(.rodata); - build/sa3/sound/songs/song061.o(.rodata); - build/sa3/sound/songs/song062.o(.rodata); - build/sa3/sound/songs/song063.o(.rodata); - build/sa3/sound/songs/song064.o(.rodata); - build/sa3/sound/songs/song065.o(.rodata); - build/sa3/sound/songs/song066.o(.rodata); - build/sa3/sound/songs/song067.o(.rodata); - build/sa3/sound/songs/song068.o(.rodata); - build/sa3/sound/songs/song069.o(.rodata); - build/sa3/sound/songs/song070.o(.rodata); - build/sa3/sound/songs/song071.o(.rodata); - build/sa3/sound/songs/song072.o(.rodata); - build/sa3/sound/songs/song073.o(.rodata); - build/sa3/sound/songs/song075.o(.rodata); - build/sa3/sound/songs/song076.o(.rodata); - build/sa3/sound/songs/song078.o(.rodata); - build/sa3/sound/songs/song079.o(.rodata); - build/sa3/sound/songs/song081.o(.rodata); - build/sa3/sound/songs/song082.o(.rodata); - build/sa3/sound/songs/song083.o(.rodata); - build/sa3/sound/songs/song084.o(.rodata); - build/sa3/sound/songs/song085.o(.rodata); - build/sa3/sound/songs/song086.o(.rodata); - build/sa3/sound/songs/song087.o(.rodata); - build/sa3/sound/songs/song088.o(.rodata); - build/sa3/sound/songs/song089.o(.rodata); - build/sa3/sound/songs/song091.o(.rodata); - build/sa3/sound/songs/song092.o(.rodata); - build/sa3/sound/songs/song095.o(.rodata); - build/sa3/sound/songs/song096.o(.rodata); - build/sa3/sound/songs/song097.o(.rodata); - build/sa3/sound/songs/song098.o(.rodata); - build/sa3/sound/songs/song099.o(.rodata); - build/sa3/sound/songs/song100.o(.rodata); - build/sa3/sound/songs/song102.o(.rodata); - build/sa3/sound/songs/song103.o(.rodata); - build/sa3/sound/songs/song104.o(.rodata); - build/sa3/sound/songs/song105.o(.rodata); - build/sa3/sound/songs/song106.o(.rodata); - build/sa3/sound/songs/song107.o(.rodata); - build/sa3/sound/songs/song108.o(.rodata); - build/sa3/sound/songs/song109.o(.rodata); - build/sa3/sound/songs/song110.o(.rodata); - build/sa3/sound/songs/song111.o(.rodata); - build/sa3/sound/songs/song112.o(.rodata); - build/sa3/sound/songs/song113.o(.rodata); - build/sa3/sound/songs/song114.o(.rodata); - build/sa3/sound/songs/song115.o(.rodata); - build/sa3/sound/songs/song116.o(.rodata); - build/sa3/sound/songs/song117.o(.rodata); - build/sa3/sound/songs/song118.o(.rodata); - build/sa3/sound/songs/song119.o(.rodata); - build/sa3/sound/songs/song120.o(.rodata); - build/sa3/sound/songs/song121.o(.rodata); - build/sa3/sound/songs/song125.o(.rodata); - build/sa3/sound/songs/song126.o(.rodata); - build/sa3/sound/songs/song128.o(.rodata); - build/sa3/sound/songs/song129.o(.rodata); - build/sa3/sound/songs/song131.o(.rodata); - build/sa3/sound/songs/song135.o(.rodata); - build/sa3/sound/songs/song138.o(.rodata); - build/sa3/sound/songs/song139.o(.rodata); - build/sa3/sound/songs/song142.o(.rodata); - build/sa3/sound/songs/song143.o(.rodata); - build/sa3/sound/songs/song144.o(.rodata); - build/sa3/sound/songs/song148.o(.rodata); - build/sa3/sound/songs/song149.o(.rodata); - build/sa3/sound/songs/song150.o(.rodata); - build/sa3/sound/songs/song151.o(.rodata); - build/sa3/sound/songs/song152.o(.rodata); - build/sa3/sound/songs/song154.o(.rodata); - build/sa3/sound/songs/song155.o(.rodata); - build/sa3/sound/songs/song156.o(.rodata); - build/sa3/sound/songs/song157.o(.rodata); - build/sa3/sound/songs/song158.o(.rodata); - build/sa3/sound/songs/song169.o(.rodata); - build/sa3/sound/songs/song170.o(.rodata); - build/sa3/sound/songs/song220.o(.rodata); - build/sa3/sound/songs/song221.o(.rodata); - build/sa3/sound/songs/song222.o(.rodata); - build/sa3/sound/songs/song223.o(.rodata); - build/sa3/sound/songs/song224.o(.rodata); - build/sa3/sound/songs/song226.o(.rodata); - build/sa3/sound/songs/song227.o(.rodata); - build/sa3/sound/songs/song230.o(.rodata); - build/sa3/sound/songs/song231.o(.rodata); - build/sa3/sound/songs/song235.o(.rodata); - build/sa3/sound/songs/song237.o(.rodata); - build/sa3/sound/songs/song276.o(.rodata); - build/sa3/sound/songs/song277.o(.rodata); - build/sa3/sound/songs/song280.o(.rodata); - build/sa3/sound/songs/song281.o(.rodata); - build/sa3/sound/songs/song282.o(.rodata); - build/sa3/sound/songs/song290.o(.rodata); - build/sa3/sound/songs/song500.o(.rodata); - build/sa3/sound/songs/song501.o(.rodata); - build/sa3/sound/songs/song502.o(.rodata); - build/sa3/sound/songs/song503.o(.rodata); - build/sa3/sound/songs/song504.o(.rodata); - build/sa3/sound/songs/song505.o(.rodata); - build/sa3/sound/songs/song506.o(.rodata); - build/sa3/sound/songs/song507.o(.rodata); - build/sa3/sound/songs/song508.o(.rodata); - build/sa3/sound/songs/song509.o(.rodata); - build/sa3/sound/songs/song510.o(.rodata); - build/sa3/sound/songs/song511.o(.rodata); - build/sa3/sound/songs/song512.o(.rodata); - build/sa3/sound/songs/song513.o(.rodata); - build/sa3/sound/songs/song514.o(.rodata); - build/sa3/sound/songs/song515.o(.rodata); - build/sa3/sound/songs/song516.o(.rodata); - build/sa3/sound/songs/song517.o(.rodata); - build/sa3/sound/songs/song518.o(.rodata); - build/sa3/sound/songs/song519.o(.rodata); - build/sa3/sound/songs/song520.o(.rodata); - build/sa3/sound/songs/song521.o(.rodata); - build/sa3/sound/songs/song522.o(.rodata); - build/sa3/sound/songs/song523.o(.rodata); - build/sa3/sound/songs/song524.o(.rodata); - build/sa3/sound/songs/song525.o(.rodata); - build/sa3/sound/songs/song526.o(.rodata); - build/sa3/sound/songs/song527.o(.rodata); - build/sa3/sound/songs/song528.o(.rodata); - build/sa3/sound/songs/song529.o(.rodata); - build/sa3/sound/songs/song530.o(.rodata); - build/sa3/sound/songs/song531.o(.rodata); - build/sa3/sound/songs/song532.o(.rodata); - build/sa3/sound/songs/song533.o(.rodata); - build/sa3/sound/songs/song534.o(.rodata); - build/sa3/sound/songs/song535.o(.rodata); - build/sa3/sound/songs/song536.o(.rodata); - build/sa3/sound/songs/song537.o(.rodata); - build/sa3/sound/songs/song538.o(.rodata); - build/sa3/sound/songs/song539.o(.rodata); - build/sa3/sound/songs/song540.o(.rodata); - build/sa3/sound/songs/song541.o(.rodata); - build/sa3/sound/songs/song542.o(.rodata); - build/sa3/sound/songs/song543.o(.rodata); - build/sa3/sound/songs/song544.o(.rodata); - build/sa3/sound/songs/song545.o(.rodata); - build/sa3/sound/songs/song546.o(.rodata); - build/sa3/sound/songs/song547.o(.rodata); - build/sa3/sound/songs/song548.o(.rodata); - build/sa3/sound/songs/song549.o(.rodata); - build/sa3/sound/songs/song550.o(.rodata); - build/sa3/sound/songs/song551.o(.rodata); - build/sa3/sound/songs/song552.o(.rodata); - build/sa3/sound/songs/song553.o(.rodata); - build/sa3/sound/songs/song554.o(.rodata); - build/sa3/sound/songs/song555.o(.rodata); - build/sa3/sound/songs/song556.o(.rodata); - build/sa3/sound/songs/song557.o(.rodata); - build/sa3/sound/songs/song558.o(.rodata); - build/sa3/sound/songs/song559.o(.rodata); - build/sa3/sound/songs/song560.o(.rodata); - build/sa3/sound/songs/song561.o(.rodata); - build/sa3/sound/songs/song562.o(.rodata); - build/sa3/sound/songs/song563.o(.rodata); - build/sa3/sound/songs/song564.o(.rodata); - build/sa3/sound/songs/song565.o(.rodata); - build/sa3/sound/songs/song566.o(.rodata); - build/sa3/sound/songs/song567.o(.rodata); - build/sa3/sound/songs/song568.o(.rodata); - build/sa3/sound/songs/song569.o(.rodata); - build/sa3/sound/songs/song570.o(.rodata); - build/sa3/sound/songs/song571.o(.rodata); - build/sa3/sound/songs/song572.o(.rodata); - build/sa3/sound/songs/song573.o(.rodata); - build/sa3/sound/songs/song574.o(.rodata); - build/sa3/sound/songs/song575.o(.rodata); - build/sa3/sound/songs/song576.o(.rodata); - build/sa3/sound/songs/song577.o(.rodata); - build/sa3/sound/songs/song578.o(.rodata); - build/sa3/sound/songs/song579.o(.rodata); - build/sa3/sound/songs/song580.o(.rodata); - build/sa3/sound/songs/song581.o(.rodata); - build/sa3/sound/songs/song582.o(.rodata); - build/sa3/sound/songs/song583.o(.rodata); - build/sa3/sound/songs/song584.o(.rodata); - build/sa3/sound/songs/song585.o(.rodata); - build/sa3/sound/songs/song586.o(.rodata); - build/sa3/sound/songs/song587.o(.rodata); - build/sa3/sound/songs/song588.o(.rodata); - build/sa3/sound/songs/song589.o(.rodata); - build/sa3/sound/songs/song590.o(.rodata); - build/sa3/sound/songs/song591.o(.rodata); - build/sa3/sound/songs/song592.o(.rodata); - build/sa3/sound/songs/song593.o(.rodata); - build/sa3/sound/songs/song594.o(.rodata); - build/sa3/sound/songs/song595.o(.rodata); - build/sa3/sound/songs/song596.o(.rodata); - build/sa3/sound/songs/song597.o(.rodata); - build/sa3/sound/songs/song598.o(.rodata); - build/sa3/sound/songs/song599.o(.rodata); - build/sa3/sound/songs/song600.o(.rodata); - build/sa3/sound/songs/song601.o(.rodata); - build/sa3/sound/songs/song602.o(.rodata); - build/sa3/sound/songs/song603.o(.rodata); - build/sa3/sound/songs/song604.o(.rodata); - build/sa3/sound/songs/song605.o(.rodata); - build/sa3/sound/songs/song606.o(.rodata); - build/sa3/sound/songs/song607.o(.rodata); - build/sa3/sound/songs/song608.o(.rodata); - build/sa3/sound/songs/song609.o(.rodata); - build/sa3/sound/songs/song610.o(.rodata); - build/sa3/sound/songs/song611.o(.rodata); - build/sa3/sound/songs/song612.o(.rodata); - build/sa3/sound/songs/song613.o(.rodata); - build/sa3/sound/songs/song614.o(.rodata); - build/sa3/sound/songs/song615.o(.rodata); - build/sa3/sound/songs/song616.o(.rodata); - build/sa3/sound/songs/song617.o(.rodata); - build/sa3/sound/songs/song618.o(.rodata); - build/sa3/sound/songs/song619.o(.rodata); - build/sa3/sound/songs/song620.o(.rodata); - build/sa3/sound/songs/song621.o(.rodata); - build/sa3/sound/songs/song622.o(.rodata); - build/sa3/sound/songs/song624.o(.rodata); - build/sa3/sound/songs/song625.o(.rodata); - build/sa3/sound/songs/song626.o(.rodata); - build/sa3/sound/songs/song627.o(.rodata); - build/sa3/sound/songs/song628.o(.rodata); - build/sa3/sound/songs/song629.o(.rodata); - build/sa3/sound/songs/song630.o(.rodata); - build/sa3/sound/songs/song631.o(.rodata); - build/sa3/sound/songs/song632.o(.rodata); - build/sa3/sound/songs/song633.o(.rodata); - build/sa3/sound/songs/song634.o(.rodata); - build/sa3/sound/songs/song635.o(.rodata); - build/sa3/sound/songs/song636.o(.rodata); - build/sa3/sound/songs/song637.o(.rodata); - build/sa3/sound/songs/song638.o(.rodata); - build/sa3/sound/songs/song665.o(.rodata); - build/sa3/sound/songs/song666.o(.rodata); - build/sa3/sound/songs/song667.o(.rodata); - build/sa3/sound/songs/song668.o(.rodata); - build/sa3/sound/songs/song669.o(.rodata); - build/sa3/sound/songs/song670.o(.rodata); - build/sa3/sound/songs/song671.o(.rodata); - build/sa3/sound/songs/song672.o(.rodata); - build/sa3/sound/songs/song673.o(.rodata); - build/sa3/sound/songs/song801.o(.rodata); - build/sa3/sound/songs/song802.o(.rodata); - build/sa3/sound/songs/song803.o(.rodata); - build/sa3/sound/songs/song805.o(.rodata); - build/sa3/sound/songs/song810.o(.rodata); - build/sa3/sound/songs/song811.o(.rodata); - build/sa3/sound/songs/song812.o(.rodata); - build/sa3/sound/songs/song813.o(.rodata); - build/sa3/sound/songs/song814.o(.rodata); - build/sa3/sound/songs/song819.o(.rodata); - build/sa3/sound/songs/song820.o(.rodata); - build/sa3/sound/songs/song821.o(.rodata); - build/sa3/sound/songs/song822.o(.rodata); - build/sa3/sound/songs/song823.o(.rodata); - build/sa3/sound/songs/song825.o(.rodata); - build/sa3/sound/songs/song826.o(.rodata); - build/sa3/sound/songs/song827.o(.rodata); - build/sa3/sound/songs/song828.o(.rodata); + data/data.o(.rodata); + src/game/math.o(.rodata); + data/data_x.o(.rodata); + src/lib/m4a/m4a_tables.o(.rodata); + data/sound.o(.rodata); + sound/songs/song000.o(.rodata); + sound/songs/song001.o(.rodata); + sound/songs/song002.o(.rodata); + sound/songs/song003.o(.rodata); + sound/songs/song004.o(.rodata); + sound/songs/song005.o(.rodata); + sound/songs/song006.o(.rodata); + sound/songs/song007.o(.rodata); + sound/songs/song008.o(.rodata); + sound/songs/song010.o(.rodata); + sound/songs/song011.o(.rodata); + sound/songs/song012.o(.rodata); + sound/songs/song013.o(.rodata); + sound/songs/song014.o(.rodata); + sound/songs/song015.o(.rodata); + sound/songs/song016.o(.rodata); + sound/songs/song017.o(.rodata); + sound/songs/song018.o(.rodata); + sound/songs/song020.o(.rodata); + sound/songs/song021.o(.rodata); + sound/songs/song022.o(.rodata); + sound/songs/song024.o(.rodata); + sound/songs/song025.o(.rodata); + sound/songs/song026.o(.rodata); + sound/songs/song028.o(.rodata); + sound/songs/song029.o(.rodata); + sound/songs/song030.o(.rodata); + sound/songs/song032.o(.rodata); + sound/songs/song033.o(.rodata); + sound/songs/song034.o(.rodata); + sound/songs/song036.o(.rodata); + sound/songs/song037.o(.rodata); + sound/songs/song038.o(.rodata); + sound/songs/song040.o(.rodata); + sound/songs/song041.o(.rodata); + sound/songs/song042.o(.rodata); + sound/songs/song044.o(.rodata); + sound/songs/song045.o(.rodata); + sound/songs/song046.o(.rodata); + sound/songs/song050.o(.rodata); + sound/songs/song051.o(.rodata); + sound/songs/song052.o(.rodata); + sound/songs/song053.o(.rodata); + sound/songs/song054.o(.rodata); + sound/songs/song055.o(.rodata); + sound/songs/song056.o(.rodata); + sound/songs/song057.o(.rodata); + sound/songs/song058.o(.rodata); + sound/songs/song059.o(.rodata); + sound/songs/song060.o(.rodata); + sound/songs/song061.o(.rodata); + sound/songs/song062.o(.rodata); + sound/songs/song063.o(.rodata); + sound/songs/song064.o(.rodata); + sound/songs/song065.o(.rodata); + sound/songs/song066.o(.rodata); + sound/songs/song067.o(.rodata); + sound/songs/song068.o(.rodata); + sound/songs/song069.o(.rodata); + sound/songs/song070.o(.rodata); + sound/songs/song071.o(.rodata); + sound/songs/song072.o(.rodata); + sound/songs/song073.o(.rodata); + sound/songs/song075.o(.rodata); + sound/songs/song076.o(.rodata); + sound/songs/song078.o(.rodata); + sound/songs/song079.o(.rodata); + sound/songs/song081.o(.rodata); + sound/songs/song082.o(.rodata); + sound/songs/song083.o(.rodata); + sound/songs/song084.o(.rodata); + sound/songs/song085.o(.rodata); + sound/songs/song086.o(.rodata); + sound/songs/song087.o(.rodata); + sound/songs/song088.o(.rodata); + sound/songs/song089.o(.rodata); + sound/songs/song091.o(.rodata); + sound/songs/song092.o(.rodata); + sound/songs/song095.o(.rodata); + sound/songs/song096.o(.rodata); + sound/songs/song097.o(.rodata); + sound/songs/song098.o(.rodata); + sound/songs/song099.o(.rodata); + sound/songs/song100.o(.rodata); + sound/songs/song102.o(.rodata); + sound/songs/song103.o(.rodata); + sound/songs/song104.o(.rodata); + sound/songs/song105.o(.rodata); + sound/songs/song106.o(.rodata); + sound/songs/song107.o(.rodata); + sound/songs/song108.o(.rodata); + sound/songs/song109.o(.rodata); + sound/songs/song110.o(.rodata); + sound/songs/song111.o(.rodata); + sound/songs/song112.o(.rodata); + sound/songs/song113.o(.rodata); + sound/songs/song114.o(.rodata); + sound/songs/song115.o(.rodata); + sound/songs/song116.o(.rodata); + sound/songs/song117.o(.rodata); + sound/songs/song118.o(.rodata); + sound/songs/song119.o(.rodata); + sound/songs/song120.o(.rodata); + sound/songs/song121.o(.rodata); + sound/songs/song125.o(.rodata); + sound/songs/song126.o(.rodata); + sound/songs/song128.o(.rodata); + sound/songs/song129.o(.rodata); + sound/songs/song131.o(.rodata); + sound/songs/song135.o(.rodata); + sound/songs/song138.o(.rodata); + sound/songs/song139.o(.rodata); + sound/songs/song142.o(.rodata); + sound/songs/song143.o(.rodata); + sound/songs/song144.o(.rodata); + sound/songs/song148.o(.rodata); + sound/songs/song149.o(.rodata); + sound/songs/song150.o(.rodata); + sound/songs/song151.o(.rodata); + sound/songs/song152.o(.rodata); + sound/songs/song154.o(.rodata); + sound/songs/song155.o(.rodata); + sound/songs/song156.o(.rodata); + sound/songs/song157.o(.rodata); + sound/songs/song158.o(.rodata); + sound/songs/song169.o(.rodata); + sound/songs/song170.o(.rodata); + sound/songs/song220.o(.rodata); + sound/songs/song221.o(.rodata); + sound/songs/song222.o(.rodata); + sound/songs/song223.o(.rodata); + sound/songs/song224.o(.rodata); + sound/songs/song226.o(.rodata); + sound/songs/song227.o(.rodata); + sound/songs/song230.o(.rodata); + sound/songs/song231.o(.rodata); + sound/songs/song235.o(.rodata); + sound/songs/song237.o(.rodata); + sound/songs/song276.o(.rodata); + sound/songs/song277.o(.rodata); + sound/songs/song280.o(.rodata); + sound/songs/song281.o(.rodata); + sound/songs/song282.o(.rodata); + sound/songs/song290.o(.rodata); + sound/songs/song500.o(.rodata); + sound/songs/song501.o(.rodata); + sound/songs/song502.o(.rodata); + sound/songs/song503.o(.rodata); + sound/songs/song504.o(.rodata); + sound/songs/song505.o(.rodata); + sound/songs/song506.o(.rodata); + sound/songs/song507.o(.rodata); + sound/songs/song508.o(.rodata); + sound/songs/song509.o(.rodata); + sound/songs/song510.o(.rodata); + sound/songs/song511.o(.rodata); + sound/songs/song512.o(.rodata); + sound/songs/song513.o(.rodata); + sound/songs/song514.o(.rodata); + sound/songs/song515.o(.rodata); + sound/songs/song516.o(.rodata); + sound/songs/song517.o(.rodata); + sound/songs/song518.o(.rodata); + sound/songs/song519.o(.rodata); + sound/songs/song520.o(.rodata); + sound/songs/song521.o(.rodata); + sound/songs/song522.o(.rodata); + sound/songs/song523.o(.rodata); + sound/songs/song524.o(.rodata); + sound/songs/song525.o(.rodata); + sound/songs/song526.o(.rodata); + sound/songs/song527.o(.rodata); + sound/songs/song528.o(.rodata); + sound/songs/song529.o(.rodata); + sound/songs/song530.o(.rodata); + sound/songs/song531.o(.rodata); + sound/songs/song532.o(.rodata); + sound/songs/song533.o(.rodata); + sound/songs/song534.o(.rodata); + sound/songs/song535.o(.rodata); + sound/songs/song536.o(.rodata); + sound/songs/song537.o(.rodata); + sound/songs/song538.o(.rodata); + sound/songs/song539.o(.rodata); + sound/songs/song540.o(.rodata); + sound/songs/song541.o(.rodata); + sound/songs/song542.o(.rodata); + sound/songs/song543.o(.rodata); + sound/songs/song544.o(.rodata); + sound/songs/song545.o(.rodata); + sound/songs/song546.o(.rodata); + sound/songs/song547.o(.rodata); + sound/songs/song548.o(.rodata); + sound/songs/song549.o(.rodata); + sound/songs/song550.o(.rodata); + sound/songs/song551.o(.rodata); + sound/songs/song552.o(.rodata); + sound/songs/song553.o(.rodata); + sound/songs/song554.o(.rodata); + sound/songs/song555.o(.rodata); + sound/songs/song556.o(.rodata); + sound/songs/song557.o(.rodata); + sound/songs/song558.o(.rodata); + sound/songs/song559.o(.rodata); + sound/songs/song560.o(.rodata); + sound/songs/song561.o(.rodata); + sound/songs/song562.o(.rodata); + sound/songs/song563.o(.rodata); + sound/songs/song564.o(.rodata); + sound/songs/song565.o(.rodata); + sound/songs/song566.o(.rodata); + sound/songs/song567.o(.rodata); + sound/songs/song568.o(.rodata); + sound/songs/song569.o(.rodata); + sound/songs/song570.o(.rodata); + sound/songs/song571.o(.rodata); + sound/songs/song572.o(.rodata); + sound/songs/song573.o(.rodata); + sound/songs/song574.o(.rodata); + sound/songs/song575.o(.rodata); + sound/songs/song576.o(.rodata); + sound/songs/song577.o(.rodata); + sound/songs/song578.o(.rodata); + sound/songs/song579.o(.rodata); + sound/songs/song580.o(.rodata); + sound/songs/song581.o(.rodata); + sound/songs/song582.o(.rodata); + sound/songs/song583.o(.rodata); + sound/songs/song584.o(.rodata); + sound/songs/song585.o(.rodata); + sound/songs/song586.o(.rodata); + sound/songs/song587.o(.rodata); + sound/songs/song588.o(.rodata); + sound/songs/song589.o(.rodata); + sound/songs/song590.o(.rodata); + sound/songs/song591.o(.rodata); + sound/songs/song592.o(.rodata); + sound/songs/song593.o(.rodata); + sound/songs/song594.o(.rodata); + sound/songs/song595.o(.rodata); + sound/songs/song596.o(.rodata); + sound/songs/song597.o(.rodata); + sound/songs/song598.o(.rodata); + sound/songs/song599.o(.rodata); + sound/songs/song600.o(.rodata); + sound/songs/song601.o(.rodata); + sound/songs/song602.o(.rodata); + sound/songs/song603.o(.rodata); + sound/songs/song604.o(.rodata); + sound/songs/song605.o(.rodata); + sound/songs/song606.o(.rodata); + sound/songs/song607.o(.rodata); + sound/songs/song608.o(.rodata); + sound/songs/song609.o(.rodata); + sound/songs/song610.o(.rodata); + sound/songs/song611.o(.rodata); + sound/songs/song612.o(.rodata); + sound/songs/song613.o(.rodata); + sound/songs/song614.o(.rodata); + sound/songs/song615.o(.rodata); + sound/songs/song616.o(.rodata); + sound/songs/song617.o(.rodata); + sound/songs/song618.o(.rodata); + sound/songs/song619.o(.rodata); + sound/songs/song620.o(.rodata); + sound/songs/song621.o(.rodata); + sound/songs/song622.o(.rodata); + sound/songs/song624.o(.rodata); + sound/songs/song625.o(.rodata); + sound/songs/song626.o(.rodata); + sound/songs/song627.o(.rodata); + sound/songs/song628.o(.rodata); + sound/songs/song629.o(.rodata); + sound/songs/song630.o(.rodata); + sound/songs/song631.o(.rodata); + sound/songs/song632.o(.rodata); + sound/songs/song633.o(.rodata); + sound/songs/song634.o(.rodata); + sound/songs/song635.o(.rodata); + sound/songs/song636.o(.rodata); + sound/songs/song637.o(.rodata); + sound/songs/song638.o(.rodata); + sound/songs/song665.o(.rodata); + sound/songs/song666.o(.rodata); + sound/songs/song667.o(.rodata); + sound/songs/song668.o(.rodata); + sound/songs/song669.o(.rodata); + sound/songs/song670.o(.rodata); + sound/songs/song671.o(.rodata); + sound/songs/song672.o(.rodata); + sound/songs/song673.o(.rodata); + sound/songs/song801.o(.rodata); + sound/songs/song802.o(.rodata); + sound/songs/song803.o(.rodata); + sound/songs/song805.o(.rodata); + sound/songs/song810.o(.rodata); + sound/songs/song811.o(.rodata); + sound/songs/song812.o(.rodata); + sound/songs/song813.o(.rodata); + sound/songs/song814.o(.rodata); + sound/songs/song819.o(.rodata); + sound/songs/song820.o(.rodata); + sound/songs/song821.o(.rodata); + sound/songs/song822.o(.rodata); + sound/songs/song823.o(.rodata); + sound/songs/song825.o(.rodata); + sound/songs/song826.o(.rodata); + sound/songs/song827.o(.rodata); + sound/songs/song828.o(.rodata); - build/sa3/data/data1.o(.rodata); - build/sa3/src/background.o(.rodata); - build/sa3/src/trig.o(.rodata); - build/sa3/src/sprite.o(.rodata); - build/sa3/src/bg_triangles.o(.rodata); - build/sa3/data/data1_2.o(.rodata); + data/data1.o(.rodata); + src/background.o(.rodata); + src/trig.o(.rodata); + src/sprite.o(.rodata); + src/bg_triangles.o(.rodata); + data/data1_2.o(.rodata); - build/sa3/src/lib/agb_flash/agb_flash.o(.rodata) - build/sa3/src/lib/agb_flash/agb_flash_1m.o(.rodata) - build/sa3/src/lib/agb_flash/agb_flash_mx.o(.rodata) - build/sa3/src/lib/agb_flash/agb_flash_sst.o(.rodata) + src/lib/agb_flash/agb_flash.o(.rodata) + src/lib/agb_flash/agb_flash_1m.o(.rodata) + src/lib/agb_flash/agb_flash_mx.o(.rodata) + src/lib/agb_flash/agb_flash_sst.o(.rodata) - tools/agbcc/lib/libc.a:wf_pow.o(.rodata); - tools/agbcc/lib/libc.a:ef_pow.o(.rodata); - tools/agbcc/lib/libc.a:ef_sqrt.o(.rodata); - tools/agbcc/lib/libc.a:s_infconst.o(.rodata); - tools/agbcc/lib/libc.a:s_lib_ver.o(.rodata); - tools/agbcc/lib/libc.a:ef_pow.o(.rodata); - tools/agbcc/lib/libc.a:s_rint.o(.rodata); + *libc.a:wf_pow.o(.rodata); + *libc.a:ef_pow.o(.rodata); + *libc.a:ef_sqrt.o(.rodata); + *libc.a:s_infconst.o(.rodata); + *libc.a:s_lib_ver.o(.rodata); + *libc.a:ef_pow.o(.rodata); + *libc.a:s_rint.o(.rodata); - build/sa3/data/data2.o(.rodata); - build/sa3/data/ia_bonus_capsule.o(.rodata); - *tools/agbcc/lib/libgcc.a:_divdi3.o(.rodata); - *tools/agbcc/lib/libgcc.a:_divsi3.o(.rodata); + data/data2.o(.rodata); + data/ia_bonus_capsule.o(.rodata); + *libgcc.a:_divdi3.o(.rodata); + *libgcc.a:_divsi3.o(.rodata); - *tools/agbcc/lib/libc.a:impure.o(.rodata); - *tools/agbcc/lib/libc.a:vfprintf.o(.rodata); - *tools/agbcc/lib/libc.a:dtoa.o(.rodata); - *tools/agbcc/lib/libc.a:locale.o(.rodata); - *tools/agbcc/lib/libc.a:mprec.o(.rodata); - *tools/agbcc/lib/libc.a:syscalls.o(.rodata); - build/sa3/data/data3.o(.rodata); - build/sa3/asm/rom_footer.o(.rodata); + *libc.a:impure.o(.rodata); + *libc.a:vfprintf.o(.rodata); + *libc.a:dtoa.o(.rodata); + *libc.a:locale.o(.rodata); + *libc.a:mprec.o(.rodata); + *libc.a:syscalls.o(.rodata); + data/data3.o(.rodata); + asm/rom_footer.o(.rodata); - *tools/agbcc/lib/libc.a:impure.o(.data); - *tools/agbcc/lib/libc.a:vfprintf.o(.data); - *tools/agbcc/lib/libc.a:dtoa.o(.data); - *tools/agbcc/lib/libc.a:locale.o(.data); - *tools/agbcc/lib/libc.a:mprec.o(.data); + *libc.a:impure.o(.data); + *libc.a:vfprintf.o(.data); + *libc.a:dtoa.o(.data); + *libc.a:locale.o(.data); + *libc.a:mprec.o(.data); - *tools/agbcc/lib/libc.a:locale.o(.rodata); - *tools/agbcc/lib/libc.a:mallocr.o(.rodata); - *tools/agbcc/lib/libc.a:mallocr.o(.data); + *libc.a:locale.o(.rodata); + *libc.a:mallocr.o(.rodata); + *libc.a:mallocr.o(.data); } = 0 /* DWARF debug sections. diff --git a/songs.mk b/songs.mk new file mode 100644 index 00000000..885f3756 --- /dev/null +++ b/songs.mk @@ -0,0 +1 @@ +# Empty in SA3 for now diff --git a/sound/songs/song602.s b/sound/songs/song602.s index 43029223..59b0225c 100644 --- a/sound/songs/song602.s +++ b/sound/songs/song602.s @@ -41,7 +41,7 @@ song602: @ 0x082B1DD4 .byte 25 @ priority .byte 128 @ reverb - .word voicegroup003 @ voicegroup/tone + .int voicegroup003 @ voicegroup/tone - .word song602_1 @ track - .word song602_2 @ track + .int song602_1 @ track + .int song602_2 @ track diff --git a/sym_ewram.txt b/sym_ewram.txt index 84bbcef1..c6f3bbae 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -1,6 +1,6 @@ -. = 0x00001400; build/sa3/src/lib/m4a/m4a.o(ewram_data); +. = 0x00001400; src/lib/m4a/m4a.o(ewram_data); -build/sa3/src/malloc_ewram.o(ewram_data); +src/malloc_ewram.o(ewram_data); ewram_end = .; . = 0x00035000; gUnknown_02035000 = .; diff --git a/sym_iwram.txt b/sym_iwram.txt index 26da369d..2ed5042b 100644 --- a/sym_iwram.txt +++ b/sym_iwram.txt @@ -1,19 +1,19 @@ -build/sa3/src/lib/m4a/m4a.o(.bss.code); +src/lib/m4a/m4a.o(.bss.code); /* NOTE: If you rename some sa2__ variable or procedure, ensure that all three codebases share the same name! */ . = 0x0000041c; -build/sa3/src/multi_boot.o(.bss) +src/multi_boot.o(.bss) . = 0x00000440; -build/sa3/src/lib/agb_flash/agb_flash.o(.bss); +src/lib/agb_flash/agb_flash.o(.bss); /* TODO: Remove the indivisual includes for 'dp-bit.o' or 'fp-bit.o' */ *libgcc.a(.bss); -tools/agbcc/lib/libgcc.a:dp-bit.o(.bss); -tools/agbcc/lib/libgcc.a:fp-bit.o(.bss); +*libgcc.a:dp-bit.o(.bss); +*libgcc.a:fp-bit.o(.bss); *libc.a(.bss); @@ -161,15 +161,15 @@ tools/agbcc/lib/libgcc.a:fp-bit.o(.bss); . = 0x00006868; gPseudoRandom = .; . = 0x00006870; -build/sa3/src/multi_sio.o(.data); -build/sa3/src/sio32_multi_load.o(.data); +src/multi_sio.o(.data); +src/sio32_multi_load.o(.data); . = 0x00006C10; -build/sa3/src/input_recorder.o(.data); +src/input_recorder.o(.data); . = 0x00006C20; gUnknown_03006C20 = .; . += 0x1; -build/sa3/src/lib/agb_flash/agb_flash.o(.data); +src/lib/agb_flash/agb_flash.o(.data); *libc.a:sbrkr.o(COMMON);