no longer need a rom to compile the game

the files:
- sound_data_compressed.ctl
- sound_data_compressed.tbl
- sequences_compressed.bin
are now added as files that are generated by assemble_sound.py, they're compressed, and are decompressed at compile time.
rom assets have been removed from these files, so they are now just metadata for loading the sounds that are extracted at runtime.
This commit is contained in:
Isaac0-dev 2025-03-08 12:43:29 +10:00
parent 99b8f31900
commit 0810f01396
11 changed files with 72 additions and 442 deletions

View file

@ -469,16 +469,6 @@ TOOLS_DIR := tools
PYTHON := python3
ifeq ($(filter clean distclean print-%,$(MAKECMDGOALS)),)
# Make sure assets exist
NOEXTRACT ?= 0
ifeq ($(NOEXTRACT),0)
DUMMY != $(PYTHON) extract_assets.py $(VERSION) >&2 || echo FAIL
ifeq ($(DUMMY),FAIL)
$(error Failed to extract assets)
endif
endif
ifeq ($(WINDOWS_AUTO_BUILDER),0)
$(info Building tools...)
DUMMY != $(MAKE) -C $(TOOLS_DIR) >&2 || echo FAIL
@ -1248,8 +1238,6 @@ endif
$(BUILD_DIR)/src/game/characters.o: $(SOUND_SAMPLE_TABLES)
$(SOUND_BIN_DIR)/sound_data.o: $(SOUND_BIN_DIR)/sound_data.ctl.inc.c $(SOUND_BIN_DIR)/sound_data.tbl.inc.c $(SOUND_BIN_DIR)/sequences.bin.inc.c $(SOUND_BIN_DIR)/bank_sets.inc.c
$(SOUND_BIN_DIR)/samples_assets.o: $(SOUND_BIN_DIR)/samples_offsets.inc.c
$(SOUND_BIN_DIR)/sequences_assets.o: $(SOUND_BIN_DIR)/sequences_offsets.inc.c
$(BUILD_DIR)/levels/scripts.o: $(BUILD_DIR)/include/level_headers.h
ifeq ($(VERSION),sh)
@ -1378,12 +1366,17 @@ $(ENDIAN_BITWIDTH): $(TOOLS_DIR)/determine-endian-bitwidth.c
@$(RM) $@.dummy1
@$(RM) $@.dummy2
$(SOUND_BIN_DIR)/sound_data.ctl: sound/sound_banks/ $(SOUND_BANK_FILES) $(SOUND_SAMPLE_AIFCS) $(ENDIAN_BITWIDTH)
@$(PRINT) "$(GREEN)Generating: $(BLUE)$@ $(NO_COL)\n"
$(V)$(PYTHON) $(TOOLS_DIR)/assemble_sound.py $(BUILD_DIR)/sound/samples/ sound/sound_banks/ $(SOUND_BIN_DIR)/sound_data.ctl $(SOUND_BIN_DIR)/ctl_header $(SOUND_BIN_DIR)/sound_data.tbl $(SOUND_BIN_DIR)/tbl_header $(C_DEFINES) $$(cat $(ENDIAN_BITWIDTH))
$(SOUND_BIN_DIR)/sound_data.tbl: sound/sound_data_compressed.tbl
@$(PRINT) "$(GREEN)Decompressing: $(BLUE)$@ $(NO_COL)\n"
$(V)$(PYTHON) $(TOOLS_DIR)/decompress.py sound/sound_data_compressed.tbl $(SOUND_BIN_DIR)/sound_data.tbl
$(SOUND_BIN_DIR)/sound_data.tbl: $(SOUND_BIN_DIR)/sound_data.ctl
@true
$(SOUND_BIN_DIR)/sound_data.ctl: sound/sound_data_compressed.ctl
@$(PRINT) "$(GREEN)Decompressing: $(BLUE)$@ $(NO_COL)\n"
$(V)$(PYTHON) $(TOOLS_DIR)/decompress.py sound/sound_data_compressed.ctl $(SOUND_BIN_DIR)/sound_data.ctl
$(SOUND_BIN_DIR)/bank_sets: sound/bank_sets_compressed
@$(PRINT) "$(GREEN)Decompressing: $(BLUE)$@ $(NO_COL)\n"
$(V)$(PYTHON) $(TOOLS_DIR)/decompress.py sound/bank_sets_compressed $(SOUND_BIN_DIR)/bank_sets
$(SOUND_BIN_DIR)/ctl_header: $(SOUND_BIN_DIR)/sound_data.ctl
@true
@ -1391,22 +1384,13 @@ $(SOUND_BIN_DIR)/ctl_header: $(SOUND_BIN_DIR)/sound_data.ctl
$(SOUND_BIN_DIR)/tbl_header: $(SOUND_BIN_DIR)/sound_data.ctl
@true
$(SOUND_BIN_DIR)/samples_offsets.inc.c: $(SOUND_BIN_DIR)/sound_data.ctl
@true
$(SOUND_BIN_DIR)/sequences.bin: $(SOUND_BANK_FILES) sound/sequences.json $(SOUND_SEQUENCE_DIRS) $(SOUND_SEQUENCE_FILES) $(ENDIAN_BITWIDTH)
@$(PRINT) "$(GREEN)Generating: $(BLUE)$@ $(NO_COL)\n"
$(V)$(PYTHON) $(TOOLS_DIR)/assemble_sound.py --sequences $@ $(SOUND_BIN_DIR)/sequences_header $(SOUND_BIN_DIR)/bank_sets sound/sound_banks/ sound/sequences.json $(SOUND_SEQUENCE_FILES) $(C_DEFINES) $$(cat $(ENDIAN_BITWIDTH))
$(SOUND_BIN_DIR)/bank_sets: $(SOUND_BIN_DIR)/sequences.bin
@true
$(SOUND_BIN_DIR)/sequences.bin:
@$(PRINT) "$(GREEN)Decompressing: $(BLUE)$@ $(NO_COL)\n"
$(V)$(PYTHON) $(TOOLS_DIR)/decompress.py sound/sequences_compressed.bin $(SOUND_BIN_DIR)/sequences.bin
$(SOUND_BIN_DIR)/sequences_header: $(SOUND_BIN_DIR)/sequences.bin
@true
$(SOUND_BIN_DIR)/sequences_offsets.inc.c: $(SOUND_BIN_DIR)/sequences.bin
@true
$(SOUND_BIN_DIR)/%.m64: $(SOUND_BIN_DIR)/%.o
$(call print,Converting to M64:,$<,$@)
$(V)$(OBJCOPY) -j .rodata $< -O binary $@

BIN
sound/bank_sets_compressed Normal file

Binary file not shown.

View file

@ -1,302 +0,0 @@
#include "pc/rom_assets.h"
#include "sound_data.h"
#include "sound/samples_offsets.inc.c"
ROM_ASSET_LOAD_SAMPLE(sfx_1_00_twirl_aifc, &gSoundDataRaw[SAMPLE_sfx_1_00_twirl_aifc], 0x005936a0, 1774, 0x00000000, 1774);
ROM_ASSET_LOAD_SAMPLE(sfx_1_01_brushing_aifc, &gSoundDataRaw[SAMPLE_sfx_1_01_brushing_aifc], 0x00593d90, 10440, 0x00000000, 10440);
ROM_ASSET_LOAD_SAMPLE(sfx_1_02_hand_touch_aifc, &gSoundDataRaw[SAMPLE_sfx_1_02_hand_touch_aifc], 0x00596660, 810, 0x00000000, 810);
ROM_ASSET_LOAD_SAMPLE(sfx_1_03_yoshi_aifc, &gSoundDataRaw[SAMPLE_sfx_1_03_yoshi_aifc], 0x00596990, 4554, 0x00000000, 4554);
ROM_ASSET_LOAD_SAMPLE(sfx_1_04_plop_aifc, &gSoundDataRaw[SAMPLE_sfx_1_04_plop_aifc], 0x00597b60, 4492, 0x00000000, 4492);
ROM_ASSET_LOAD_SAMPLE(sfx_1_05_heavy_landing_aifc, &gSoundDataRaw[SAMPLE_sfx_1_05_heavy_landing_aifc], 0x00598cf0, 6984, 0x00000000, 6984);
ROM_ASSET_LOAD_SAMPLE(sfx_terrain_00_step_default_aifc, &gSoundDataRaw[SAMPLE_sfx_terrain_00_step_default_aifc], 0x0059a840, 82, 0x00000000, 82);
ROM_ASSET_LOAD_SAMPLE(sfx_terrain_01_step_grass_aifc, &gSoundDataRaw[SAMPLE_sfx_terrain_01_step_grass_aifc], 0x0059a8a0, 684, 0x00000000, 684);
ROM_ASSET_LOAD_SAMPLE(sfx_terrain_02_step_stone_aifc, &gSoundDataRaw[SAMPLE_sfx_terrain_02_step_stone_aifc], 0x0059ab50, 568, 0x00000000, 568);
ROM_ASSET_LOAD_SAMPLE(sfx_terrain_03_step_spooky_aifc, &gSoundDataRaw[SAMPLE_sfx_terrain_03_step_spooky_aifc], 0x0059ad90, 1666, 0x00000000, 1666);
ROM_ASSET_LOAD_SAMPLE(sfx_terrain_04_step_snow_aifc, &gSoundDataRaw[SAMPLE_sfx_terrain_04_step_snow_aifc], 0x0059b420, 1656, 0x00000000, 1656);
ROM_ASSET_LOAD_SAMPLE(sfx_terrain_05_step_ice_aifc, &gSoundDataRaw[SAMPLE_sfx_terrain_05_step_ice_aifc], 0x0059baa0, 352, 0x00000000, 352);
ROM_ASSET_LOAD_SAMPLE(sfx_terrain_06_step_metal_aifc, &gSoundDataRaw[SAMPLE_sfx_terrain_06_step_metal_aifc], 0x0059bc00, 6616, 0x00000000, 6616);
ROM_ASSET_LOAD_SAMPLE(sfx_terrain_07_step_sand_aifc, &gSoundDataRaw[SAMPLE_sfx_terrain_07_step_sand_aifc], 0x0059d5e0, 3114, 0x00000000, 3114);
ROM_ASSET_LOAD_SAMPLE(sfx_water_00_plunge_aifc, &gSoundDataRaw[SAMPLE_sfx_water_00_plunge_aifc], 0x0059e210, 14212, 0x00000000, 14212);
ROM_ASSET_LOAD_SAMPLE(sfx_water_01_splash_aifc, &gSoundDataRaw[SAMPLE_sfx_water_01_splash_aifc], 0x005a19a0, 5346, 0x00000000, 5346);
ROM_ASSET_LOAD_SAMPLE(sfx_water_02_swim_aifc, &gSoundDataRaw[SAMPLE_sfx_water_02_swim_aifc], 0x005a2e90, 7048, 0x00000000, 7048);
ROM_ASSET_LOAD_SAMPLE(sfx_4_00_aifc, &gSoundDataRaw[SAMPLE_sfx_4_00_aifc], 0x005a4a20, 7308, 0x00000000, 7308);
ROM_ASSET_LOAD_SAMPLE(sfx_4_01_aifc, &gSoundDataRaw[SAMPLE_sfx_4_01_aifc], 0x005a66b0, 4546, 0x00000000, 4546);
ROM_ASSET_LOAD_SAMPLE(sfx_4_02_aifc, &gSoundDataRaw[SAMPLE_sfx_4_02_aifc], 0x005a7880, 4284, 0x00000000, 4284);
ROM_ASSET_LOAD_SAMPLE(sfx_4_03_aifc, &gSoundDataRaw[SAMPLE_sfx_4_03_aifc], 0x005a8940, 5328, 0x00000000, 5328);
ROM_ASSET_LOAD_SAMPLE(sfx_4_04_aifc, &gSoundDataRaw[SAMPLE_sfx_4_04_aifc], 0x005a9e10, 2736, 0x00000000, 2736);
ROM_ASSET_LOAD_SAMPLE(sfx_4_05_aifc, &gSoundDataRaw[SAMPLE_sfx_4_05_aifc], 0x005aa8c0, 2826, 0x00000000, 2826);
ROM_ASSET_LOAD_SAMPLE(sfx_4_06_aifc, &gSoundDataRaw[SAMPLE_sfx_4_06_aifc], 0x005ab3d0, 2628, 0x00000000, 2628);
ROM_ASSET_LOAD_SAMPLE(sfx_4_07_aifc, &gSoundDataRaw[SAMPLE_sfx_4_07_aifc], 0x005abe20, 3672, 0x00000000, 3672);
ROM_ASSET_LOAD_SAMPLE(sfx_4_08_aifc, &gSoundDataRaw[SAMPLE_sfx_4_08_aifc], 0x005acc80, 10368, 0x00000000, 10368);
ROM_ASSET_LOAD_SAMPLE(sfx_4_09_aifc, &gSoundDataRaw[SAMPLE_sfx_4_09_aifc], 0x005af500, 1990, 0x00000000, 1990);
ROM_ASSET_LOAD_SAMPLE(sfx_5_00_aifc, &gSoundDataRaw[SAMPLE_sfx_5_00_aifc], 0x005afcd0, 5590, 0x00000000, 5590);
ROM_ASSET_LOAD_SAMPLE(sfx_5_01_aifc, &gSoundDataRaw[SAMPLE_sfx_5_01_aifc], 0x005b12b0, 4140, 0x00000000, 4140);
ROM_ASSET_LOAD_SAMPLE(sfx_5_02_aifc, &gSoundDataRaw[SAMPLE_sfx_5_02_aifc], 0x005b22e0, 11386, 0x00000000, 11386);
ROM_ASSET_LOAD_SAMPLE(sfx_5_03_aifc, &gSoundDataRaw[SAMPLE_sfx_5_03_aifc], 0x005b4f60, 6066, 0x00000000, 6066);
ROM_ASSET_LOAD_SAMPLE(sfx_5_04_aifc, &gSoundDataRaw[SAMPLE_sfx_5_04_aifc], 0x005b6720, 4600, 0x00000000, 4600);
ROM_ASSET_LOAD_SAMPLE(sfx_5_05_aifc, &gSoundDataRaw[SAMPLE_sfx_5_05_aifc], 0x005b7920, 14238, 0x00000000, 14238);
ROM_ASSET_LOAD_SAMPLE(sfx_5_06_aifc, &gSoundDataRaw[SAMPLE_sfx_5_06_aifc], 0x005bb0c0, 1954, 0x00000000, 1954);
ROM_ASSET_LOAD_SAMPLE(sfx_5_07_aifc, &gSoundDataRaw[SAMPLE_sfx_5_07_aifc], 0x005bb870, 9072, 0x00000000, 9072);
ROM_ASSET_LOAD_SAMPLE(sfx_5_08_aifc, &gSoundDataRaw[SAMPLE_sfx_5_08_aifc], 0x005bdbe0, 2682, 0x00000000, 2682);
ROM_ASSET_LOAD_SAMPLE(sfx_5_09_aifc, &gSoundDataRaw[SAMPLE_sfx_5_09_aifc], 0x005be660, 1800, 0x00000000, 1800);
ROM_ASSET_LOAD_SAMPLE(sfx_5_0A_aifc, &gSoundDataRaw[SAMPLE_sfx_5_0A_aifc], 0x005bed70, 1476, 0x00000000, 1476);
ROM_ASSET_LOAD_SAMPLE(sfx_5_0B_aifc, &gSoundDataRaw[SAMPLE_sfx_5_0B_aifc], 0x005bf340, 11268, 0x00000000, 11268);
ROM_ASSET_LOAD_SAMPLE(sfx_5_0C_aifc, &gSoundDataRaw[SAMPLE_sfx_5_0C_aifc], 0x005c1f50, 22788, 0x00000000, 22788);
ROM_ASSET_LOAD_SAMPLE(sfx_5_0D_aifc, &gSoundDataRaw[SAMPLE_sfx_5_0D_aifc], 0x005c7860, 32328, 0x00000000, 32328);
ROM_ASSET_LOAD_SAMPLE(sfx_5_0E_aifc, &gSoundDataRaw[SAMPLE_sfx_5_0E_aifc], 0x005cf6b0, 4204, 0x00000000, 4204);
ROM_ASSET_LOAD_SAMPLE(sfx_5_0F_aifc, &gSoundDataRaw[SAMPLE_sfx_5_0F_aifc], 0x005d0720, 9388, 0x00000000, 9388);
ROM_ASSET_LOAD_SAMPLE(sfx_5_10_aifc, &gSoundDataRaw[SAMPLE_sfx_5_10_aifc], 0x005d2bd0, 1080, 0x00000000, 1080);
ROM_ASSET_LOAD_SAMPLE(sfx_5_11_aifc, &gSoundDataRaw[SAMPLE_sfx_5_11_aifc], 0x005d3010, 14058, 0x00000000, 14058);
ROM_ASSET_LOAD_SAMPLE(sfx_5_12_aifc, &gSoundDataRaw[SAMPLE_sfx_5_12_aifc], 0x005d6700, 3204, 0x00000000, 3204);
ROM_ASSET_LOAD_SAMPLE(sfx_5_13_aifc, &gSoundDataRaw[SAMPLE_sfx_5_13_aifc], 0x005d7390, 14544, 0x00000000, 14544);
ROM_ASSET_LOAD_SAMPLE(sfx_5_14_aifc, &gSoundDataRaw[SAMPLE_sfx_5_14_aifc], 0x005dac60, 10504, 0x00000000, 10504);
ROM_ASSET_LOAD_SAMPLE(sfx_5_15_aifc, &gSoundDataRaw[SAMPLE_sfx_5_15_aifc], 0x005dd570, 1998, 0x00000000, 1998);
ROM_ASSET_LOAD_SAMPLE(sfx_5_16_aifc, &gSoundDataRaw[SAMPLE_sfx_5_16_aifc], 0x005ddd40, 2476, 0x00000000, 2476);
ROM_ASSET_LOAD_SAMPLE(sfx_5_17_aifc, &gSoundDataRaw[SAMPLE_sfx_5_17_aifc], 0x005de6f0, 3924, 0x00000000, 3924);
ROM_ASSET_LOAD_SAMPLE(sfx_5_18_aifc, &gSoundDataRaw[SAMPLE_sfx_5_18_aifc], 0x005df650, 2080, 0x00000000, 2080);
ROM_ASSET_LOAD_SAMPLE(sfx_5_19_aifc, &gSoundDataRaw[SAMPLE_sfx_5_19_aifc], 0x005dfe70, 810, 0x00000000, 810);
ROM_ASSET_LOAD_SAMPLE(sfx_5_1A_aifc, &gSoundDataRaw[SAMPLE_sfx_5_1A_aifc], 0x005e01a0, 10278, 0x00000000, 10278);
ROM_ASSET_LOAD_SAMPLE(sfx_5_1B_aifc, &gSoundDataRaw[SAMPLE_sfx_5_1B_aifc], 0x005e29d0, 6562, 0x00000000, 6562);
ROM_ASSET_LOAD_SAMPLE(sfx_5_1C_aifc, &gSoundDataRaw[SAMPLE_sfx_5_1C_aifc], 0x005e4380, 4222, 0x00000000, 4222);
ROM_ASSET_LOAD_SAMPLE(sfx_6_00_aifc, &gSoundDataRaw[SAMPLE_sfx_6_00_aifc], 0x005e5400, 2178, 0x00000000, 2178);
ROM_ASSET_LOAD_SAMPLE(sfx_6_01_aifc, &gSoundDataRaw[SAMPLE_sfx_6_01_aifc], 0x005e5c90, 3250, 0x00000000, 3250);
ROM_ASSET_LOAD_SAMPLE(sfx_6_02_aifc, &gSoundDataRaw[SAMPLE_sfx_6_02_aifc], 0x005e6950, 8974, 0x00000000, 8974);
ROM_ASSET_LOAD_SAMPLE(sfx_6_03_aifc, &gSoundDataRaw[SAMPLE_sfx_6_03_aifc], 0x005e8c60, 15786, 0x00000000, 15786);
ROM_ASSET_LOAD_SAMPLE(sfx_6_04_aifc, &gSoundDataRaw[SAMPLE_sfx_6_04_aifc], 0x005eca10, 2790, 0x00000000, 2790);
ROM_ASSET_LOAD_SAMPLE(sfx_6_05_aifc, &gSoundDataRaw[SAMPLE_sfx_6_05_aifc], 0x005ed500, 6588, 0x00000000, 6588);
ROM_ASSET_LOAD_SAMPLE(sfx_6_06_aifc, &gSoundDataRaw[SAMPLE_sfx_6_06_aifc], 0x005eeec0, 1720, 0x00000000, 1720);
ROM_ASSET_LOAD_SAMPLE(sfx_6_07_aifc, &gSoundDataRaw[SAMPLE_sfx_6_07_aifc], 0x005ef580, 1324, 0x00000000, 1324);
ROM_ASSET_LOAD_SAMPLE(sfx_6_08_aifc, &gSoundDataRaw[SAMPLE_sfx_6_08_aifc], 0x005efab0, 7308, 0x00000000, 7308);
ROM_ASSET_LOAD_SAMPLE(sfx_6_09_aifc, &gSoundDataRaw[SAMPLE_sfx_6_09_aifc], 0x005f1740, 2332, 0x00000000, 2332);
ROM_ASSET_LOAD_SAMPLE(sfx_6_0A_aifc, &gSoundDataRaw[SAMPLE_sfx_6_0A_aifc], 0x005f2060, 2430, 0x00000000, 2430);
ROM_ASSET_LOAD_SAMPLE(sfx_6_0B_aifc, &gSoundDataRaw[SAMPLE_sfx_6_0B_aifc], 0x005f29e0, 2188, 0x00000000, 2188);
ROM_ASSET_LOAD_SAMPLE(sfx_6_0C_aifc, &gSoundDataRaw[SAMPLE_sfx_6_0C_aifc], 0x005f3270, 5284, 0x00000000, 5284);
ROM_ASSET_LOAD_SAMPLE(sfx_6_0D_aifc, &gSoundDataRaw[SAMPLE_sfx_6_0D_aifc], 0x005f4720, 10360, 0x00000000, 10360);
ROM_ASSET_LOAD_SAMPLE(sfx_7_00_aifc, &gSoundDataRaw[SAMPLE_sfx_7_00_aifc], 0x005f6fa0, 1216, 0x00000000, 1216);
ROM_ASSET_LOAD_SAMPLE(sfx_7_01_aifc, &gSoundDataRaw[SAMPLE_sfx_7_01_aifc], 0x005f7460, 3664, 0x00000000, 3664);
ROM_ASSET_LOAD_SAMPLE(sfx_7_02_aifc, &gSoundDataRaw[SAMPLE_sfx_7_02_aifc], 0x005f82b0, 1206, 0x00000000, 1206);
ROM_ASSET_LOAD_SAMPLE(sfx_7_03_aifc, &gSoundDataRaw[SAMPLE_sfx_7_03_aifc], 0x005f8770, 10584, 0x00000000, 10584);
ROM_ASSET_LOAD_SAMPLE(sfx_7_04_aifc, &gSoundDataRaw[SAMPLE_sfx_7_04_aifc], 0x005fb0d0, 10810, 0x00000000, 10810);
ROM_ASSET_LOAD_SAMPLE(sfx_7_05_aifc, &gSoundDataRaw[SAMPLE_sfx_7_05_aifc], 0x005fdb10, 4104, 0x00000000, 4104);
ROM_ASSET_LOAD_SAMPLE(sfx_7_06_aifc, &gSoundDataRaw[SAMPLE_sfx_7_06_aifc], 0x005feb20, 4806, 0x00000000, 4806);
ROM_ASSET_LOAD_SAMPLE(sfx_7_07_aifc, &gSoundDataRaw[SAMPLE_sfx_7_07_aifc], 0x005ffdf0, 5076, 0x00000000, 5076);
ROM_ASSET_LOAD_SAMPLE(sfx_7_08_aifc, &gSoundDataRaw[SAMPLE_sfx_7_08_aifc], 0x006011d0, 1378, 0x00000000, 1378);
ROM_ASSET_LOAD_SAMPLE(sfx_7_09_aifc, &gSoundDataRaw[SAMPLE_sfx_7_09_aifc], 0x00601740, 3906, 0x00000000, 3906);
ROM_ASSET_LOAD_SAMPLE(sfx_7_0A_aifc, &gSoundDataRaw[SAMPLE_sfx_7_0A_aifc], 0x00602690, 6210, 0x00000000, 6210);
ROM_ASSET_LOAD_SAMPLE(sfx_7_0B_aifc, &gSoundDataRaw[SAMPLE_sfx_7_0B_aifc], 0x00603ee0, 5526, 0x00000000, 5526);
ROM_ASSET_LOAD_SAMPLE(sfx_7_0C_aifc, &gSoundDataRaw[SAMPLE_sfx_7_0C_aifc], 0x00605480, 8938, 0x00000000, 8938);
ROM_ASSET_LOAD_SAMPLE(sfx_7_0D_chain_chomp_bark_aifc, &gSoundDataRaw[SAMPLE_sfx_7_0D_chain_chomp_bark_aifc], 0x00607770, 1818, 0x00000000, 1818);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_00_mario_jump_hoo_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_00_mario_jump_hoo_aifc], 0x00607e90, 1882, 0x00000000, 1882);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_01_mario_jump_wah_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_01_mario_jump_wah_aifc], 0x006085f0, 2052, 0x00000000, 2052);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_02_mario_yah_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_02_mario_yah_aifc], 0x00608e00, 2692, 0x00000000, 2692);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_03_mario_haha_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_03_mario_haha_aifc], 0x00609890, 6912, 0x00000000, 6912);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_04_mario_yahoo_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_04_mario_yahoo_aifc], 0x0060b390, 8524, 0x00000000, 8524);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_05_mario_uh_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_05_mario_uh_aifc], 0x0060d4e0, 2808, 0x00000000, 2808);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_06_mario_hrmm_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_06_mario_hrmm_aifc], 0x0060dfe0, 4474, 0x00000000, 4474);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_07_mario_wah2_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_07_mario_wah2_aifc], 0x0060f160, 2692, 0x00000000, 2692);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_08_mario_whoa_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_08_mario_whoa_aifc], 0x0060fbf0, 8334, 0x00000000, 8334);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_09_mario_eeuh_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_09_mario_eeuh_aifc], 0x00611c80, 6436, 0x00000000, 6436);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_0A_mario_attacked_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_0A_mario_attacked_aifc], 0x006135b0, 5644, 0x00000000, 5644);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_0B_mario_ooof_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_0B_mario_ooof_aifc], 0x00614bc0, 5544, 0x00000000, 5544);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_0C_mario_here_we_go_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_0C_mario_here_we_go_aifc], 0x00616170, 12808, 0x00000000, 12808);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_0D_mario_yawning_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_0D_mario_yawning_aifc], 0x00619380, 14580, 0x00000000, 14580);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_0E_mario_snoring1_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_0E_mario_snoring1_aifc], 0x0061cc80, 8416, 0x00000000, 8416);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_0F_mario_snoring2_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_0F_mario_snoring2_aifc], 0x0061ed60, 3006, 0x00000000, 3006);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_10_mario_doh_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_10_mario_doh_aifc], 0x0061f920, 5140, 0x00000000, 5140);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_11_mario_game_over_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_11_mario_game_over_aifc], 0x00620d40, 6444, 0x00000000, 6444);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_12_mario_hello_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_12_mario_hello_aifc], 0x00622670, 6930, 0x00000000, 6930);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_13_mario_press_start_to_play_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_13_mario_press_start_to_play_aifc], 0x00624190, 13770, 0x00000000, 13770);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_14_mario_twirl_bounce_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_14_mario_twirl_bounce_aifc], 0x00627760, 4410, 0x00000000, 4410);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_15_mario_snoring3_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_15_mario_snoring3_aifc], 0x006288a0, 98226, 0x00000000, 98226);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_16_mario_so_longa_bowser_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_16_mario_so_longa_bowser_aifc], 0x00640860, 13482, 0x00000000, 13482);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_17_mario_ima_tired_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_17_mario_ima_tired_aifc], 0x00643d10, 11394, 0x00000000, 11394);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_18_mario_waha_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_18_mario_waha_aifc], 0x006469a0, 9694, 0x00000000, 9694);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_19_mario_yippee_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_19_mario_yippee_aifc], 0x00648f80, 9018, 0x00000000, 9018);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_1A_mario_lets_a_go_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_1A_mario_lets_a_go_aifc], 0x0064b2c0, 8334, 0x00000000, 8334);
ROM_ASSET_LOAD_SAMPLE(sfx_9_00_aifc, &gSoundDataRaw[SAMPLE_sfx_9_00_aifc], 0x0064d350, 6012, 0x00000000, 6012);
ROM_ASSET_LOAD_SAMPLE(sfx_9_01_aifc, &gSoundDataRaw[SAMPLE_sfx_9_01_aifc], 0x0064ead0, 3006, 0x00000000, 3006);
ROM_ASSET_LOAD_SAMPLE(sfx_9_02_aifc, &gSoundDataRaw[SAMPLE_sfx_9_02_aifc], 0x0064f690, 11044, 0x00000000, 11044);
ROM_ASSET_LOAD_SAMPLE(sfx_9_03_aifc, &gSoundDataRaw[SAMPLE_sfx_9_03_aifc], 0x006521c0, 8460, 0x00000000, 8460);
ROM_ASSET_LOAD_SAMPLE(sfx_9_04_camera_buzz_aifc, &gSoundDataRaw[SAMPLE_sfx_9_04_camera_buzz_aifc], 0x006542d0, 3700, 0x00000000, 3700);
ROM_ASSET_LOAD_SAMPLE(sfx_9_05_camera_shutter_aifc, &gSoundDataRaw[SAMPLE_sfx_9_05_camera_shutter_aifc], 0x00655150, 1674, 0x00000000, 1674);
ROM_ASSET_LOAD_SAMPLE(sfx_9_06_aifc, &gSoundDataRaw[SAMPLE_sfx_9_06_aifc], 0x006557e0, 9910, 0x00000000, 9910);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_peach_00_mario_waaaooow_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_peach_00_mario_waaaooow_aifc], 0x00657ea0, 24768, 0x00000000, 24768);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_peach_01_mario_hoohoo_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_peach_01_mario_hoohoo_aifc], 0x0065df60, 5598, 0x00000000, 5598);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_peach_02_mario_panting_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_peach_02_mario_panting_aifc], 0x0065f540, 5248, 0x00000000, 5248);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_peach_03_mario_dying_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_peach_03_mario_dying_aifc], 0x006609c0, 15786, 0x00000000, 15786);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_peach_04_mario_on_fire_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_peach_04_mario_on_fire_aifc], 0x00664770, 18136, 0x00000000, 18136);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_peach_05_mario_uh2_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_peach_05_mario_uh2_aifc], 0x00668e50, 2278, 0x00000000, 2278);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_peach_06_mario_coughing_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_peach_06_mario_coughing_aifc], 0x00669740, 2556, 0x00000000, 2556);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_peach_07_mario_its_a_me_mario_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_peach_07_mario_its_a_me_mario_aifc], 0x0066a140, 17020, 0x00000000, 17020);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_peach_08_mario_punch_yah_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_peach_08_mario_punch_yah_aifc], 0x0066e3c0, 2206, 0x00000000, 2206);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_peach_09_mario_punch_hoo_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_peach_09_mario_punch_hoo_aifc], 0x0066ec60, 5724, 0x00000000, 5724);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_peach_0A_mario_mama_mia_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_peach_0A_mario_mama_mia_aifc], 0x006702c0, 8244, 0x00000000, 8244);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_peach_0B_mario_okey_dokey_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_peach_0B_mario_okey_dokey_aifc], 0x00672300, 8236, 0x00000000, 8236);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_peach_0C_mario_drowning_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_peach_0C_mario_drowning_aifc], 0x00674330, 12070, 0x00000000, 12070);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_peach_0D_mario_thank_you_playing_my_game_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_peach_0D_mario_thank_you_playing_my_game_aifc], 0x00677260, 21610, 0x00000000, 21610);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_peach_0E_peach_dear_mario_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_peach_0E_peach_dear_mario_aifc], 0x0067c6d0, 87336, 0x00000000, 87336);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_peach_0F_peach_mario_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_peach_0F_peach_mario_aifc], 0x00691c00, 7336, 0x00000000, 7336);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_peach_10_peach_power_of_the_stars_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_peach_10_peach_power_of_the_stars_aifc], 0x006938b0, 30052, 0x00000000, 30052);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_peach_11_peach_thanks_to_you_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_peach_11_peach_thanks_to_you_aifc], 0x0069ae20, 15490, 0x00000000, 15490);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_peach_12_peach_thank_you_mario_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_peach_12_peach_thank_you_mario_aifc], 0x0069eab0, 14202, 0x00000000, 14202);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_peach_13_peach_something_special_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_peach_13_peach_something_special_aifc], 0x006a2230, 24138, 0x00000000, 24138);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_peach_14_peach_bake_a_cake_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_peach_14_peach_bake_a_cake_aifc], 0x006a8080, 39564, 0x00000000, 39564);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_peach_15_peach_for_mario_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_peach_15_peach_for_mario_aifc], 0x006b1b10, 9252, 0x00000000, 9252);
ROM_ASSET_LOAD_SAMPLE(sfx_mario_peach_16_peach_mario2_aifc, &gSoundDataRaw[SAMPLE_sfx_mario_peach_16_peach_mario2_aifc], 0x006b3f40, 7092, 0x00000000, 7092);
ROM_ASSET_LOAD_SAMPLE(instruments_00_aifc, &gSoundDataRaw[SAMPLE_instruments_00_aifc], 0x006b5b00, 11826, 0x00000000, 11826);
ROM_ASSET_LOAD_SAMPLE(instruments_01_banjo_1_aifc, &gSoundDataRaw[SAMPLE_instruments_01_banjo_1_aifc], 0x006b8940, 10396, 0x00000000, 10396);
ROM_ASSET_LOAD_SAMPLE(instruments_02_aifc, &gSoundDataRaw[SAMPLE_instruments_02_aifc], 0x006bb1e0, 17352, 0x00000000, 17352);
ROM_ASSET_LOAD_SAMPLE(instruments_03_human_whistle_aifc, &gSoundDataRaw[SAMPLE_instruments_03_human_whistle_aifc], 0x006bf5b0, 17136, 0x00000000, 17136);
ROM_ASSET_LOAD_SAMPLE(instruments_04_bright_piano_aifc, &gSoundDataRaw[SAMPLE_instruments_04_bright_piano_aifc], 0x006c38a0, 7696, 0x00000000, 7696);
ROM_ASSET_LOAD_SAMPLE(instruments_05_acoustic_bass_aifc, &gSoundDataRaw[SAMPLE_instruments_05_acoustic_bass_aifc], 0x006c56b0, 14212, 0x00000000, 14212);
ROM_ASSET_LOAD_SAMPLE(instruments_06_kick_drum_1_aifc, &gSoundDataRaw[SAMPLE_instruments_06_kick_drum_1_aifc], 0x006c8e40, 1980, 0x00000000, 1980);
ROM_ASSET_LOAD_SAMPLE(instruments_07_rimshot_aifc, &gSoundDataRaw[SAMPLE_instruments_07_rimshot_aifc], 0x006c9600, 2952, 0x00000000, 2952);
ROM_ASSET_LOAD_SAMPLE(instruments_08_aifc, &gSoundDataRaw[SAMPLE_instruments_08_aifc], 0x006ca190, 5238, 0x00000000, 5238);
ROM_ASSET_LOAD_SAMPLE(instruments_09_aifc, &gSoundDataRaw[SAMPLE_instruments_09_aifc], 0x006cb610, 6840, 0x00000000, 6840);
ROM_ASSET_LOAD_SAMPLE(instruments_0A_tambourine_aifc, &gSoundDataRaw[SAMPLE_instruments_0A_tambourine_aifc], 0x006cd0d0, 9684, 0x00000000, 9684);
ROM_ASSET_LOAD_SAMPLE(instruments_0B_aifc, &gSoundDataRaw[SAMPLE_instruments_0B_aifc], 0x006cf6b0, 7200, 0x00000000, 7200);
ROM_ASSET_LOAD_SAMPLE(instruments_0C_conga_stick_aifc, &gSoundDataRaw[SAMPLE_instruments_0C_conga_stick_aifc], 0x006d12d0, 4500, 0x00000000, 4500);
ROM_ASSET_LOAD_SAMPLE(instruments_0D_clave_aifc, &gSoundDataRaw[SAMPLE_instruments_0D_clave_aifc], 0x006d2470, 4608, 0x00000000, 4608);
ROM_ASSET_LOAD_SAMPLE(instruments_0E_hihat_closed_aifc, &gSoundDataRaw[SAMPLE_instruments_0E_hihat_closed_aifc], 0x006d3670, 2116, 0x00000000, 2116);
ROM_ASSET_LOAD_SAMPLE(instruments_0F_hihat_open_aifc, &gSoundDataRaw[SAMPLE_instruments_0F_hihat_open_aifc], 0x006d3ec0, 12178, 0x00000000, 12178);
ROM_ASSET_LOAD_SAMPLE(instruments_10_cymbal_bell_aifc, &gSoundDataRaw[SAMPLE_instruments_10_cymbal_bell_aifc], 0x006d6e60, 12672, 0x00000000, 12672);
ROM_ASSET_LOAD_SAMPLE(instruments_11_splash_cymbal_aifc, &gSoundDataRaw[SAMPLE_instruments_11_splash_cymbal_aifc], 0x006d9fe0, 18190, 0x00000000, 18190);
ROM_ASSET_LOAD_SAMPLE(instruments_12_snare_drum_1_aifc, &gSoundDataRaw[SAMPLE_instruments_12_snare_drum_1_aifc], 0x006de6f0, 7120, 0x00000000, 7120);
ROM_ASSET_LOAD_SAMPLE(instruments_13_snare_drum_2_aifc, &gSoundDataRaw[SAMPLE_instruments_13_snare_drum_2_aifc], 0x006e02c0, 9838, 0x00000000, 9838);
ROM_ASSET_LOAD_SAMPLE(instruments_14_strings_5_aifc, &gSoundDataRaw[SAMPLE_instruments_14_strings_5_aifc], 0x006e2930, 20296, 0x00000000, 20296);
ROM_ASSET_LOAD_SAMPLE(instruments_15_strings_4_aifc, &gSoundDataRaw[SAMPLE_instruments_15_strings_4_aifc], 0x006e7880, 19278, 0x00000000, 19278);
ROM_ASSET_LOAD_SAMPLE(instruments_16_french_horns_aifc, &gSoundDataRaw[SAMPLE_instruments_16_french_horns_aifc], 0x006ec3d0, 14662, 0x00000000, 14662);
ROM_ASSET_LOAD_SAMPLE(instruments_17_trumpet_aifc, &gSoundDataRaw[SAMPLE_instruments_17_trumpet_aifc], 0x006efd20, 14302, 0x00000000, 14302);
ROM_ASSET_LOAD_SAMPLE(instruments_18_timpani_aifc, &gSoundDataRaw[SAMPLE_instruments_18_timpani_aifc], 0x006f3500, 19872, 0x00000000, 19872);
ROM_ASSET_LOAD_SAMPLE(instruments_19_brass_aifc, &gSoundDataRaw[SAMPLE_instruments_19_brass_aifc], 0x006f82a0, 18118, 0x00000000, 18118);
ROM_ASSET_LOAD_SAMPLE(instruments_1A_slap_bass_aifc, &gSoundDataRaw[SAMPLE_instruments_1A_slap_bass_aifc], 0x006fc970, 9046, 0x00000000, 9046);
ROM_ASSET_LOAD_SAMPLE(instruments_1B_organ_2_aifc, &gSoundDataRaw[SAMPLE_instruments_1B_organ_2_aifc], 0x006fecd0, 15760, 0x00000000, 15760);
ROM_ASSET_LOAD_SAMPLE(instruments_1C_aifc, &gSoundDataRaw[SAMPLE_instruments_1C_aifc], 0x00702a60, 6598, 0x00000000, 6598);
ROM_ASSET_LOAD_SAMPLE(instruments_1D_aifc, &gSoundDataRaw[SAMPLE_instruments_1D_aifc], 0x00704430, 23598, 0x00000000, 23598);
ROM_ASSET_LOAD_SAMPLE(instruments_1E_closed_triangle_aifc, &gSoundDataRaw[SAMPLE_instruments_1E_closed_triangle_aifc], 0x0070a060, 1018, 0x00000000, 1018);
ROM_ASSET_LOAD_SAMPLE(instruments_1F_open_triangle_aifc, &gSoundDataRaw[SAMPLE_instruments_1F_open_triangle_aifc], 0x0070a460, 6264, 0x00000000, 6264);
ROM_ASSET_LOAD_SAMPLE(instruments_20_cabasa_aifc, &gSoundDataRaw[SAMPLE_instruments_20_cabasa_aifc], 0x0070bce0, 4240, 0x00000000, 4240);
ROM_ASSET_LOAD_SAMPLE(instruments_21_sine_bass_aifc, &gSoundDataRaw[SAMPLE_instruments_21_sine_bass_aifc], 0x0070cd70, 7408, 0x00000000, 7408);
ROM_ASSET_LOAD_SAMPLE(instruments_22_boys_choir_aifc, &gSoundDataRaw[SAMPLE_instruments_22_boys_choir_aifc], 0x0070ea60, 14086, 0x00000000, 14086);
ROM_ASSET_LOAD_SAMPLE(instruments_23_strings_1_aifc, &gSoundDataRaw[SAMPLE_instruments_23_strings_1_aifc], 0x00712170, 15886, 0x00000000, 15886);
ROM_ASSET_LOAD_SAMPLE(instruments_24_strings_2_aifc, &gSoundDataRaw[SAMPLE_instruments_24_strings_2_aifc], 0x00715f80, 18154, 0x00000000, 18154);
ROM_ASSET_LOAD_SAMPLE(instruments_25_strings_3_aifc, &gSoundDataRaw[SAMPLE_instruments_25_strings_3_aifc], 0x0071a670, 17496, 0x00000000, 17496);
ROM_ASSET_LOAD_SAMPLE(instruments_26_crystal_rhodes_aifc, &gSoundDataRaw[SAMPLE_instruments_26_crystal_rhodes_aifc], 0x0071ead0, 28908, 0x00000000, 28908);
ROM_ASSET_LOAD_SAMPLE(instruments_27_harpsichord_aifc, &gSoundDataRaw[SAMPLE_instruments_27_harpsichord_aifc], 0x00725bc0, 26190, 0x00000000, 26190);
ROM_ASSET_LOAD_SAMPLE(instruments_28_sitar_1_aifc, &gSoundDataRaw[SAMPLE_instruments_28_sitar_1_aifc], 0x0072c210, 15858, 0x00000000, 15858);
ROM_ASSET_LOAD_SAMPLE(instruments_29_orchestra_hit_aifc, &gSoundDataRaw[SAMPLE_instruments_29_orchestra_hit_aifc], 0x00730010, 12672, 0x00000000, 12672);
ROM_ASSET_LOAD_SAMPLE(instruments_2A_aifc, &gSoundDataRaw[SAMPLE_instruments_2A_aifc], 0x00733190, 14040, 0x00000000, 14040);
ROM_ASSET_LOAD_SAMPLE(instruments_2B_aifc, &gSoundDataRaw[SAMPLE_instruments_2B_aifc], 0x00736870, 7660, 0x00000000, 7660);
ROM_ASSET_LOAD_SAMPLE(instruments_2C_aifc, &gSoundDataRaw[SAMPLE_instruments_2C_aifc], 0x00738660, 17982, 0x00000000, 17982);
ROM_ASSET_LOAD_SAMPLE(instruments_2D_trombone_aifc, &gSoundDataRaw[SAMPLE_instruments_2D_trombone_aifc], 0x0073cca0, 15372, 0x00000000, 15372);
ROM_ASSET_LOAD_SAMPLE(instruments_2E_accordion_aifc, &gSoundDataRaw[SAMPLE_instruments_2E_accordion_aifc], 0x007408b0, 18234, 0x00000000, 18234);
ROM_ASSET_LOAD_SAMPLE(instruments_2F_sleigh_bells_aifc, &gSoundDataRaw[SAMPLE_instruments_2F_sleigh_bells_aifc], 0x00744ff0, 20844, 0x00000000, 20844);
ROM_ASSET_LOAD_SAMPLE(instruments_30_rarefaction_lahna_aifc, &gSoundDataRaw[SAMPLE_instruments_30_rarefaction_lahna_aifc], 0x0074a160, 17956, 0x00000000, 17956);
ROM_ASSET_LOAD_SAMPLE(instruments_31_rarefaction_convolution_aifc, &gSoundDataRaw[SAMPLE_instruments_31_rarefaction_convolution_aifc], 0x0074e790, 15418, 0x00000000, 15418);
ROM_ASSET_LOAD_SAMPLE(instruments_32_metal_rimshot_aifc, &gSoundDataRaw[SAMPLE_instruments_32_metal_rimshot_aifc], 0x007523d0, 16776, 0x00000000, 16776);
ROM_ASSET_LOAD_SAMPLE(instruments_33_kick_drum_2_aifc, &gSoundDataRaw[SAMPLE_instruments_33_kick_drum_2_aifc], 0x00756560, 4546, 0x00000000, 4546);
ROM_ASSET_LOAD_SAMPLE(instruments_34_alto_flute_aifc, &gSoundDataRaw[SAMPLE_instruments_34_alto_flute_aifc], 0x00757730, 9370, 0x00000000, 9370);
ROM_ASSET_LOAD_SAMPLE(instruments_35_gospel_organ_aifc, &gSoundDataRaw[SAMPLE_instruments_35_gospel_organ_aifc], 0x00759bd0, 10756, 0x00000000, 10756);
ROM_ASSET_LOAD_SAMPLE(instruments_36_sawtooth_synth_aifc, &gSoundDataRaw[SAMPLE_instruments_36_sawtooth_synth_aifc], 0x0075c5e0, 8326, 0x00000000, 8326);
ROM_ASSET_LOAD_SAMPLE(instruments_37_square_synth_aifc, &gSoundDataRaw[SAMPLE_instruments_37_square_synth_aifc], 0x0075e670, 7444, 0x00000000, 7444);
ROM_ASSET_LOAD_SAMPLE(instruments_38_electric_kick_drum_aifc, &gSoundDataRaw[SAMPLE_instruments_38_electric_kick_drum_aifc], 0x00760390, 2494, 0x00000000, 2494);
ROM_ASSET_LOAD_SAMPLE(instruments_39_sitar_2_aifc, &gSoundDataRaw[SAMPLE_instruments_39_sitar_2_aifc], 0x00760d50, 21096, 0x00000000, 21096);
ROM_ASSET_LOAD_SAMPLE(instruments_3A_music_box_aifc, &gSoundDataRaw[SAMPLE_instruments_3A_music_box_aifc], 0x00765fc0, 14976, 0x00000000, 14976);
ROM_ASSET_LOAD_SAMPLE(instruments_3B_banjo_2_aifc, &gSoundDataRaw[SAMPLE_instruments_3B_banjo_2_aifc], 0x00769a40, 23148, 0x00000000, 23148);
ROM_ASSET_LOAD_SAMPLE(instruments_3C_acoustic_guitar_aifc, &gSoundDataRaw[SAMPLE_instruments_3C_acoustic_guitar_aifc], 0x0076f4b0, 19234, 0x00000000, 19234);
ROM_ASSET_LOAD_SAMPLE(instruments_3D_aifc, &gSoundDataRaw[SAMPLE_instruments_3D_aifc], 0x00773fe0, 12430, 0x00000000, 12430);
ROM_ASSET_LOAD_SAMPLE(instruments_3E_monk_choir_aifc, &gSoundDataRaw[SAMPLE_instruments_3E_monk_choir_aifc], 0x00777070, 11484, 0x00000000, 11484);
ROM_ASSET_LOAD_SAMPLE(instruments_3F_aifc, &gSoundDataRaw[SAMPLE_instruments_3F_aifc], 0x00779d50, 19872, 0x00000000, 19872);
ROM_ASSET_LOAD_SAMPLE(instruments_40_bell_aifc, &gSoundDataRaw[SAMPLE_instruments_40_bell_aifc], 0x0077eaf0, 15444, 0x00000000, 15444);
ROM_ASSET_LOAD_SAMPLE(instruments_41_pan_flute_aifc, &gSoundDataRaw[SAMPLE_instruments_41_pan_flute_aifc], 0x00782750, 17982, 0x00000000, 17982);
ROM_ASSET_LOAD_SAMPLE(instruments_42_vibraphone_aifc, &gSoundDataRaw[SAMPLE_instruments_42_vibraphone_aifc], 0x00786d90, 2988, 0x00000000, 2988);
ROM_ASSET_LOAD_SAMPLE(instruments_43_harmonica_aifc, &gSoundDataRaw[SAMPLE_instruments_43_harmonica_aifc], 0x00787940, 12718, 0x00000000, 12718);
ROM_ASSET_LOAD_SAMPLE(instruments_44_grand_piano_aifc, &gSoundDataRaw[SAMPLE_instruments_44_grand_piano_aifc], 0x0078aaf0, 15238, 0x00000000, 15238);
ROM_ASSET_LOAD_SAMPLE(instruments_45_french_horns_lq_aifc, &gSoundDataRaw[SAMPLE_instruments_45_french_horns_lq_aifc], 0x0078e680, 7362, 0x00000000, 7362);
ROM_ASSET_LOAD_SAMPLE(instruments_46_pizzicato_strings_1_aifc, &gSoundDataRaw[SAMPLE_instruments_46_pizzicato_strings_1_aifc], 0x00790350, 11386, 0x00000000, 11386);
ROM_ASSET_LOAD_SAMPLE(instruments_47_pizzicato_strings_2_aifc, &gSoundDataRaw[SAMPLE_instruments_47_pizzicato_strings_2_aifc], 0x00792fd0, 13356, 0x00000000, 13356);
ROM_ASSET_LOAD_SAMPLE(instruments_48_steel_drum_aifc, &gSoundDataRaw[SAMPLE_instruments_48_steel_drum_aifc], 0x00796400, 14788, 0x00000000, 14788);
ROM_ASSET_LOAD_SAMPLE(piranha_music_box_00_music_box_aifc, &gSoundDataRaw[SAMPLE_piranha_music_box_00_music_box_aifc], 0x00765fc0, 14976, 0x00000000, 14976);
ROM_ASSET_LOAD_SAMPLE(course_start_00_la_aifc, &gSoundDataRaw[SAMPLE_course_start_00_la_aifc], 0x0079d850, 6480, 0x00000000, 6480);
ROM_ASSET_LOAD_SAMPLE(bowser_organ_00_organ_1_aifc, &gSoundDataRaw[SAMPLE_bowser_organ_00_organ_1_aifc], 0x0079f1a0, 40438, 0x00000000, 40438);
ROM_ASSET_LOAD_SAMPLE(bowser_organ_01_organ_1_lq_aifc, &gSoundDataRaw[SAMPLE_bowser_organ_01_organ_1_lq_aifc], 0x007a8fa0, 16786, 0x00000000, 16786);
ROM_ASSET_LOAD_SAMPLE(bowser_organ_02_boys_choir_aifc, &gSoundDataRaw[SAMPLE_bowser_organ_02_boys_choir_aifc], 0x0070ea60, 14086, 0x00000000, 14086);
ROM_ASSET_LOAD_SAMPLE(extended_00_aifc, &gSoundDataRaw[SAMPLE_extended_00_aifc], 0x006b5b00, 11826, 0x00000000, 11826);
ROM_ASSET_LOAD_SAMPLE(extended_00_la_aifc, &gSoundDataRaw[SAMPLE_extended_00_la_aifc], 0x0079d850, 6480, 0x00000000, 6480);
ROM_ASSET_LOAD_SAMPLE(extended_00_music_box_aifc, &gSoundDataRaw[SAMPLE_extended_00_music_box_aifc], 0x00765fc0, 14976, 0x00000000, 14976);
ROM_ASSET_LOAD_SAMPLE(extended_00_organ_1_aifc, &gSoundDataRaw[SAMPLE_extended_00_organ_1_aifc], 0x0079f1a0, 40438, 0x00000000, 40438);
ROM_ASSET_LOAD_SAMPLE(extended_01_banjo_1_aifc, &gSoundDataRaw[SAMPLE_extended_01_banjo_1_aifc], 0x006b8940, 10396, 0x00000000, 10396);
ROM_ASSET_LOAD_SAMPLE(extended_01_organ_1_lq_aifc, &gSoundDataRaw[SAMPLE_extended_01_organ_1_lq_aifc], 0x007a8fa0, 16786, 0x00000000, 16786);
ROM_ASSET_LOAD_SAMPLE(extended_02_aifc, &gSoundDataRaw[SAMPLE_extended_02_aifc], 0x006bb1e0, 17352, 0x00000000, 17352);
ROM_ASSET_LOAD_SAMPLE(extended_02_boys_choir_aifc, &gSoundDataRaw[SAMPLE_extended_02_boys_choir_aifc], 0x0070ea60, 14086, 0x00000000, 14086);
ROM_ASSET_LOAD_SAMPLE(extended_03_human_whistle_aifc, &gSoundDataRaw[SAMPLE_extended_03_human_whistle_aifc], 0x006bf5b0, 17136, 0x00000000, 17136);
ROM_ASSET_LOAD_SAMPLE(extended_04_bright_piano_aifc, &gSoundDataRaw[SAMPLE_extended_04_bright_piano_aifc], 0x006c38a0, 7696, 0x00000000, 7696);
ROM_ASSET_LOAD_SAMPLE(extended_05_acoustic_bass_aifc, &gSoundDataRaw[SAMPLE_extended_05_acoustic_bass_aifc], 0x006c56b0, 14212, 0x00000000, 14212);
ROM_ASSET_LOAD_SAMPLE(extended_06_kick_drum_1_aifc, &gSoundDataRaw[SAMPLE_extended_06_kick_drum_1_aifc], 0x006c8e40, 1980, 0x00000000, 1980);
ROM_ASSET_LOAD_SAMPLE(extended_07_rimshot_aifc, &gSoundDataRaw[SAMPLE_extended_07_rimshot_aifc], 0x006c9600, 2952, 0x00000000, 2952);
ROM_ASSET_LOAD_SAMPLE(extended_08_aifc, &gSoundDataRaw[SAMPLE_extended_08_aifc], 0x006ca190, 5238, 0x00000000, 5238);
ROM_ASSET_LOAD_SAMPLE(extended_09_aifc, &gSoundDataRaw[SAMPLE_extended_09_aifc], 0x006cb610, 6840, 0x00000000, 6840);
ROM_ASSET_LOAD_SAMPLE(extended_0A_tambourine_aifc, &gSoundDataRaw[SAMPLE_extended_0A_tambourine_aifc], 0x006cd0d0, 9684, 0x00000000, 9684);
ROM_ASSET_LOAD_SAMPLE(extended_0B_aifc, &gSoundDataRaw[SAMPLE_extended_0B_aifc], 0x006cf6b0, 7200, 0x00000000, 7200);
ROM_ASSET_LOAD_SAMPLE(extended_0C_conga_stick_aifc, &gSoundDataRaw[SAMPLE_extended_0C_conga_stick_aifc], 0x006d12d0, 4500, 0x00000000, 4500);
ROM_ASSET_LOAD_SAMPLE(extended_0D_clave_aifc, &gSoundDataRaw[SAMPLE_extended_0D_clave_aifc], 0x006d2470, 4608, 0x00000000, 4608);
ROM_ASSET_LOAD_SAMPLE(extended_0E_hihat_closed_aifc, &gSoundDataRaw[SAMPLE_extended_0E_hihat_closed_aifc], 0x006d3670, 2116, 0x00000000, 2116);
ROM_ASSET_LOAD_SAMPLE(extended_0F_hihat_open_aifc, &gSoundDataRaw[SAMPLE_extended_0F_hihat_open_aifc], 0x006d3ec0, 12178, 0x00000000, 12178);
ROM_ASSET_LOAD_SAMPLE(extended_10_cymbal_bell_aifc, &gSoundDataRaw[SAMPLE_extended_10_cymbal_bell_aifc], 0x006d6e60, 12672, 0x00000000, 12672);
ROM_ASSET_LOAD_SAMPLE(extended_11_splash_cymbal_aifc, &gSoundDataRaw[SAMPLE_extended_11_splash_cymbal_aifc], 0x006d9fe0, 18190, 0x00000000, 18190);
ROM_ASSET_LOAD_SAMPLE(extended_12_snare_drum_1_aifc, &gSoundDataRaw[SAMPLE_extended_12_snare_drum_1_aifc], 0x006de6f0, 7120, 0x00000000, 7120);
ROM_ASSET_LOAD_SAMPLE(extended_13_snare_drum_2_aifc, &gSoundDataRaw[SAMPLE_extended_13_snare_drum_2_aifc], 0x006e02c0, 9838, 0x00000000, 9838);
ROM_ASSET_LOAD_SAMPLE(extended_14_strings_5_aifc, &gSoundDataRaw[SAMPLE_extended_14_strings_5_aifc], 0x006e2930, 20296, 0x00000000, 20296);
ROM_ASSET_LOAD_SAMPLE(extended_15_strings_4_aifc, &gSoundDataRaw[SAMPLE_extended_15_strings_4_aifc], 0x006e7880, 19278, 0x00000000, 19278);
ROM_ASSET_LOAD_SAMPLE(extended_16_french_horns_aifc, &gSoundDataRaw[SAMPLE_extended_16_french_horns_aifc], 0x006ec3d0, 14662, 0x00000000, 14662);
ROM_ASSET_LOAD_SAMPLE(extended_17_trumpet_aifc, &gSoundDataRaw[SAMPLE_extended_17_trumpet_aifc], 0x006efd20, 14302, 0x00000000, 14302);
ROM_ASSET_LOAD_SAMPLE(extended_18_timpani_aifc, &gSoundDataRaw[SAMPLE_extended_18_timpani_aifc], 0x006f3500, 19872, 0x00000000, 19872);
ROM_ASSET_LOAD_SAMPLE(extended_19_brass_aifc, &gSoundDataRaw[SAMPLE_extended_19_brass_aifc], 0x006f82a0, 18118, 0x00000000, 18118);
ROM_ASSET_LOAD_SAMPLE(extended_1A_slap_bass_aifc, &gSoundDataRaw[SAMPLE_extended_1A_slap_bass_aifc], 0x006fc970, 9046, 0x00000000, 9046);
ROM_ASSET_LOAD_SAMPLE(extended_1B_organ_2_aifc, &gSoundDataRaw[SAMPLE_extended_1B_organ_2_aifc], 0x006fecd0, 15760, 0x00000000, 15760);
ROM_ASSET_LOAD_SAMPLE(extended_1C_aifc, &gSoundDataRaw[SAMPLE_extended_1C_aifc], 0x00702a60, 6598, 0x00000000, 6598);
ROM_ASSET_LOAD_SAMPLE(extended_1D_aifc, &gSoundDataRaw[SAMPLE_extended_1D_aifc], 0x00704430, 23598, 0x00000000, 23598);
ROM_ASSET_LOAD_SAMPLE(extended_1E_closed_triangle_aifc, &gSoundDataRaw[SAMPLE_extended_1E_closed_triangle_aifc], 0x0070a060, 1018, 0x00000000, 1018);
ROM_ASSET_LOAD_SAMPLE(extended_1F_open_triangle_aifc, &gSoundDataRaw[SAMPLE_extended_1F_open_triangle_aifc], 0x0070a460, 6264, 0x00000000, 6264);
ROM_ASSET_LOAD_SAMPLE(extended_20_cabasa_aifc, &gSoundDataRaw[SAMPLE_extended_20_cabasa_aifc], 0x0070bce0, 4240, 0x00000000, 4240);
ROM_ASSET_LOAD_SAMPLE(extended_21_sine_bass_aifc, &gSoundDataRaw[SAMPLE_extended_21_sine_bass_aifc], 0x0070cd70, 7408, 0x00000000, 7408);
ROM_ASSET_LOAD_SAMPLE(extended_22_boys_choir_aifc, &gSoundDataRaw[SAMPLE_extended_22_boys_choir_aifc], 0x0070ea60, 14086, 0x00000000, 14086);
ROM_ASSET_LOAD_SAMPLE(extended_23_strings_1_aifc, &gSoundDataRaw[SAMPLE_extended_23_strings_1_aifc], 0x00712170, 15886, 0x00000000, 15886);
ROM_ASSET_LOAD_SAMPLE(extended_24_strings_2_aifc, &gSoundDataRaw[SAMPLE_extended_24_strings_2_aifc], 0x00715f80, 18154, 0x00000000, 18154);
ROM_ASSET_LOAD_SAMPLE(extended_25_strings_3_aifc, &gSoundDataRaw[SAMPLE_extended_25_strings_3_aifc], 0x0071a670, 17496, 0x00000000, 17496);
ROM_ASSET_LOAD_SAMPLE(extended_26_crystal_rhodes_aifc, &gSoundDataRaw[SAMPLE_extended_26_crystal_rhodes_aifc], 0x0071ead0, 28908, 0x00000000, 28908);
ROM_ASSET_LOAD_SAMPLE(extended_27_harpsichord_aifc, &gSoundDataRaw[SAMPLE_extended_27_harpsichord_aifc], 0x00725bc0, 26190, 0x00000000, 26190);
ROM_ASSET_LOAD_SAMPLE(extended_28_sitar_1_aifc, &gSoundDataRaw[SAMPLE_extended_28_sitar_1_aifc], 0x0072c210, 15858, 0x00000000, 15858);
ROM_ASSET_LOAD_SAMPLE(extended_29_orchestra_hit_aifc, &gSoundDataRaw[SAMPLE_extended_29_orchestra_hit_aifc], 0x00730010, 12672, 0x00000000, 12672);
ROM_ASSET_LOAD_SAMPLE(extended_2A_aifc, &gSoundDataRaw[SAMPLE_extended_2A_aifc], 0x00733190, 14040, 0x00000000, 14040);
ROM_ASSET_LOAD_SAMPLE(extended_2B_aifc, &gSoundDataRaw[SAMPLE_extended_2B_aifc], 0x00736870, 7660, 0x00000000, 7660);
ROM_ASSET_LOAD_SAMPLE(extended_2C_aifc, &gSoundDataRaw[SAMPLE_extended_2C_aifc], 0x00738660, 17982, 0x00000000, 17982);
ROM_ASSET_LOAD_SAMPLE(extended_2D_trombone_aifc, &gSoundDataRaw[SAMPLE_extended_2D_trombone_aifc], 0x0073cca0, 15372, 0x00000000, 15372);
ROM_ASSET_LOAD_SAMPLE(extended_2E_accordion_aifc, &gSoundDataRaw[SAMPLE_extended_2E_accordion_aifc], 0x007408b0, 18234, 0x00000000, 18234);
ROM_ASSET_LOAD_SAMPLE(extended_2F_sleigh_bells_aifc, &gSoundDataRaw[SAMPLE_extended_2F_sleigh_bells_aifc], 0x00744ff0, 20844, 0x00000000, 20844);
ROM_ASSET_LOAD_SAMPLE(extended_30_rarefaction_lahna_aifc, &gSoundDataRaw[SAMPLE_extended_30_rarefaction_lahna_aifc], 0x0074a160, 17956, 0x00000000, 17956);
ROM_ASSET_LOAD_SAMPLE(extended_31_rarefaction_convolution_aifc, &gSoundDataRaw[SAMPLE_extended_31_rarefaction_convolution_aifc], 0x0074e790, 15418, 0x00000000, 15418);
ROM_ASSET_LOAD_SAMPLE(extended_32_metal_rimshot_aifc, &gSoundDataRaw[SAMPLE_extended_32_metal_rimshot_aifc], 0x007523d0, 16776, 0x00000000, 16776);
ROM_ASSET_LOAD_SAMPLE(extended_33_kick_drum_2_aifc, &gSoundDataRaw[SAMPLE_extended_33_kick_drum_2_aifc], 0x00756560, 4546, 0x00000000, 4546);
ROM_ASSET_LOAD_SAMPLE(extended_34_alto_flute_aifc, &gSoundDataRaw[SAMPLE_extended_34_alto_flute_aifc], 0x00757730, 9370, 0x00000000, 9370);
ROM_ASSET_LOAD_SAMPLE(extended_35_gospel_organ_aifc, &gSoundDataRaw[SAMPLE_extended_35_gospel_organ_aifc], 0x00759bd0, 10756, 0x00000000, 10756);
ROM_ASSET_LOAD_SAMPLE(extended_36_sawtooth_synth_aifc, &gSoundDataRaw[SAMPLE_extended_36_sawtooth_synth_aifc], 0x0075c5e0, 8326, 0x00000000, 8326);
ROM_ASSET_LOAD_SAMPLE(extended_37_square_synth_aifc, &gSoundDataRaw[SAMPLE_extended_37_square_synth_aifc], 0x0075e670, 7444, 0x00000000, 7444);
ROM_ASSET_LOAD_SAMPLE(extended_38_electric_kick_drum_aifc, &gSoundDataRaw[SAMPLE_extended_38_electric_kick_drum_aifc], 0x00760390, 2494, 0x00000000, 2494);
ROM_ASSET_LOAD_SAMPLE(extended_39_sitar_2_aifc, &gSoundDataRaw[SAMPLE_extended_39_sitar_2_aifc], 0x00760d50, 21096, 0x00000000, 21096);
ROM_ASSET_LOAD_SAMPLE(extended_3A_music_box_aifc, &gSoundDataRaw[SAMPLE_extended_3A_music_box_aifc], 0x00765fc0, 14976, 0x00000000, 14976);
ROM_ASSET_LOAD_SAMPLE(extended_3B_banjo_2_aifc, &gSoundDataRaw[SAMPLE_extended_3B_banjo_2_aifc], 0x00769a40, 23148, 0x00000000, 23148);
ROM_ASSET_LOAD_SAMPLE(extended_3C_acoustic_guitar_aifc, &gSoundDataRaw[SAMPLE_extended_3C_acoustic_guitar_aifc], 0x0076f4b0, 19234, 0x00000000, 19234);
ROM_ASSET_LOAD_SAMPLE(extended_3D_aifc, &gSoundDataRaw[SAMPLE_extended_3D_aifc], 0x00773fe0, 12430, 0x00000000, 12430);
ROM_ASSET_LOAD_SAMPLE(extended_3E_monk_choir_aifc, &gSoundDataRaw[SAMPLE_extended_3E_monk_choir_aifc], 0x00777070, 11484, 0x00000000, 11484);
ROM_ASSET_LOAD_SAMPLE(extended_3F_aifc, &gSoundDataRaw[SAMPLE_extended_3F_aifc], 0x00779d50, 19872, 0x00000000, 19872);
ROM_ASSET_LOAD_SAMPLE(extended_40_bell_aifc, &gSoundDataRaw[SAMPLE_extended_40_bell_aifc], 0x0077eaf0, 15444, 0x00000000, 15444);
ROM_ASSET_LOAD_SAMPLE(extended_41_pan_flute_aifc, &gSoundDataRaw[SAMPLE_extended_41_pan_flute_aifc], 0x00782750, 17982, 0x00000000, 17982);
ROM_ASSET_LOAD_SAMPLE(extended_42_vibraphone_aifc, &gSoundDataRaw[SAMPLE_extended_42_vibraphone_aifc], 0x00786d90, 2988, 0x00000000, 2988);
ROM_ASSET_LOAD_SAMPLE(extended_43_harmonica_aifc, &gSoundDataRaw[SAMPLE_extended_43_harmonica_aifc], 0x00787940, 12718, 0x00000000, 12718);
ROM_ASSET_LOAD_SAMPLE(extended_44_grand_piano_aifc, &gSoundDataRaw[SAMPLE_extended_44_grand_piano_aifc], 0x0078aaf0, 15238, 0x00000000, 15238);
ROM_ASSET_LOAD_SAMPLE(extended_45_french_horns_lq_aifc, &gSoundDataRaw[SAMPLE_extended_45_french_horns_lq_aifc], 0x0078e680, 7362, 0x00000000, 7362);
ROM_ASSET_LOAD_SAMPLE(extended_46_pizzicato_strings_1_aifc, &gSoundDataRaw[SAMPLE_extended_46_pizzicato_strings_1_aifc], 0x00790350, 11386, 0x00000000, 11386);
ROM_ASSET_LOAD_SAMPLE(extended_47_pizzicato_strings_2_aifc, &gSoundDataRaw[SAMPLE_extended_47_pizzicato_strings_2_aifc], 0x00792fd0, 13356, 0x00000000, 13356);
ROM_ASSET_LOAD_SAMPLE(extended_48_steel_drum_aifc, &gSoundDataRaw[SAMPLE_extended_48_steel_drum_aifc], 0x00796400, 14788, 0x00000000, 14788);

View file

@ -1,39 +0,0 @@
#include "pc/rom_assets.h"
#include "sound_data.h"
#include "sound/sequences_offsets.inc.c"
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_01_cutscene_collect_star_m64, &gMusicData[SEQUENCE_us_01_cutscene_collect_star_m64], 0x007b3e10, 619, 0x00000000, 619);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_02_menu_title_screen_m64, &gMusicData[SEQUENCE_us_02_menu_title_screen_m64], 0x007b4080, 8254, 0x00000000, 8254);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_03_level_grass_m64, &gMusicData[SEQUENCE_us_03_level_grass_m64], 0x007b60c0, 5122, 0x00000000, 5122);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_04_level_inside_castle_m64, &gMusicData[SEQUENCE_us_04_level_inside_castle_m64], 0x007b74d0, 2494, 0x00000000, 2494);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_05_level_water_m64, &gMusicData[SEQUENCE_us_05_level_water_m64], 0x007b7e90, 4780, 0x00000000, 4780);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_06_level_hot_m64, &gMusicData[SEQUENCE_us_06_level_hot_m64], 0x007b9140, 2451, 0x00000000, 2451);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_07_level_boss_koopa_m64, &gMusicData[SEQUENCE_us_07_level_boss_koopa_m64], 0x007b9ae0, 3418, 0x00000000, 3418);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_08_level_snow_m64, &gMusicData[SEQUENCE_us_08_level_snow_m64], 0x007ba840, 8143, 0x00000000, 8143);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_09_level_slide_m64, &gMusicData[SEQUENCE_us_09_level_slide_m64], 0x007bc810, 7432, 0x00000000, 7432);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_0A_level_spooky_m64, &gMusicData[SEQUENCE_us_0A_level_spooky_m64], 0x007be520, 5674, 0x00000000, 5674);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_0B_event_piranha_plant_m64, &gMusicData[SEQUENCE_us_0B_event_piranha_plant_m64], 0x007bfb50, 1395, 0x00000000, 1395);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_0C_level_underground_m64, &gMusicData[SEQUENCE_us_0C_level_underground_m64], 0x007c00d0, 4887, 0x00000000, 4887);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_0D_menu_star_select_m64, &gMusicData[SEQUENCE_us_0D_menu_star_select_m64], 0x007c13f0, 134, 0x00000000, 134);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_0E_event_powerup_m64, &gMusicData[SEQUENCE_us_0E_event_powerup_m64], 0x007c1480, 3129, 0x00000000, 3129);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_0F_event_metal_cap_m64, &gMusicData[SEQUENCE_us_0F_event_metal_cap_m64], 0x007c20c0, 2770, 0x00000000, 2770);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_10_event_koopa_message_m64, &gMusicData[SEQUENCE_us_10_event_koopa_message_m64], 0x007c2ba0, 552, 0x00000000, 552);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_11_level_koopa_road_m64, &gMusicData[SEQUENCE_us_11_level_koopa_road_m64], 0x007c2dd0, 4741, 0x00000000, 4741);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_12_event_high_score_m64, &gMusicData[SEQUENCE_us_12_event_high_score_m64], 0x007c4060, 271, 0x00000000, 271);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_13_event_merry_go_round_m64, &gMusicData[SEQUENCE_us_13_event_merry_go_round_m64], 0x007c4170, 1657, 0x00000000, 1657);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_14_event_race_m64, &gMusicData[SEQUENCE_us_14_event_race_m64], 0x007c47f0, 197, 0x00000000, 197);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_15_cutscene_star_spawn_m64, &gMusicData[SEQUENCE_us_15_cutscene_star_spawn_m64], 0x007c48c0, 644, 0x00000000, 644);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_16_event_boss_m64, &gMusicData[SEQUENCE_us_16_event_boss_m64], 0x007c4b50, 3435, 0x00000000, 3435);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_17_cutscene_collect_key_m64, &gMusicData[SEQUENCE_us_17_cutscene_collect_key_m64], 0x007c58c0, 671, 0x00000000, 671);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_18_event_endless_stairs_m64, &gMusicData[SEQUENCE_us_18_event_endless_stairs_m64], 0x007c5b60, 1777, 0x00000000, 1777);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_19_level_boss_koopa_final_m64, &gMusicData[SEQUENCE_us_19_level_boss_koopa_final_m64], 0x007c6260, 3515, 0x00000000, 3515);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_1A_cutscene_credits_m64, &gMusicData[SEQUENCE_us_1A_cutscene_credits_m64], 0x007c7020, 14313, 0x00000000, 14313);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_1B_event_solve_puzzle_m64, &gMusicData[SEQUENCE_us_1B_event_solve_puzzle_m64], 0x007ca810, 216, 0x00000000, 216);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_1C_event_toad_message_m64, &gMusicData[SEQUENCE_us_1C_event_toad_message_m64], 0x007ca8f0, 208, 0x00000000, 208);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_1D_event_peach_message_m64, &gMusicData[SEQUENCE_us_1D_event_peach_message_m64], 0x007ca9c0, 432, 0x00000000, 432);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_1E_cutscene_intro_m64, &gMusicData[SEQUENCE_us_1E_cutscene_intro_m64], 0x007cab70, 1764, 0x00000000, 1764);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_1F_cutscene_victory_m64, &gMusicData[SEQUENCE_us_1F_cutscene_victory_m64], 0x007cb260, 2058, 0x00000000, 2058);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_20_cutscene_ending_m64, &gMusicData[SEQUENCE_us_20_cutscene_ending_m64], 0x007cba70, 1882, 0x00000000, 1882);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_21_menu_file_select_m64, &gMusicData[SEQUENCE_us_21_menu_file_select_m64], 0x007cc1d0, 781, 0x00000000, 781);
ROM_ASSET_LOAD_SEQUENCE(SEQUENCE_us_22_cutscene_lakitu_m64, &gMusicData[SEQUENCE_us_22_cutscene_lakitu_m64], 0x007cc4e0, 313, 0x00000000, 313);

Binary file not shown.

View file

@ -1,14 +1,18 @@
#include "sound_data.h"
#include "pc/rom_assets.h"
#define SAMPLES_SIZE 0x5b8200
#define SEQUENCES_SIZE 0x1ca00
unsigned char gSoundDataADSR[] = {
#include "sound/sound_data.ctl.inc.c"
};
unsigned char gSoundDataRaw[] = {
unsigned char gSoundDataRaw[SAMPLES_SIZE] = {
#include "sound/sound_data.tbl.inc.c"
};
unsigned char gMusicData[] = {
unsigned char gMusicData[SEQUENCES_SIZE] = {
#include "sound/sequences.bin.inc.c"
};
@ -16,4 +20,13 @@ unsigned char gMusicData[] = {
unsigned char gBankSetsData[] = {
#include "sound/bank_sets.inc.c"
};
#endif
#endif
// 0x2e0 is the offset to the first sample
// header is not extracted because it uses pointers that are 32 bits
// in size in the rom, where in coop, the size of a pointer may be larger
ROM_ASSET_LOAD_SAMPLE(sample_body_data, &gSoundDataRaw[0x2e0], 0x005936a0, 2123556, 0x00000000, 2123556);
// 0x41c0 is the offset to the first sequence
// 00_sound_player is modified in coop, so only overwrite the music data
ROM_ASSET_LOAD_SEQUENCE(sequence_body_data, &gMusicData[0x41c0], 0x007b3e10, 100368, 0x00000000, 100368);

Binary file not shown.

Binary file not shown.

View file

@ -3,6 +3,8 @@
#include "pc/debuglog.h"
#include "rom_checker.h"
#define ROM_ASSET_LOAD_DATA(bits) for (u##bits *data = asset->ptr; asset->cursor < asset->segmentedSize; data++) { *data = READ##bits(asset); }
struct RomAsset {
void* ptr;
enum RomAssetType assetType;
@ -30,6 +32,7 @@ static s32 READ32(struct RomAsset* asset) {
asset->cursor += sizeof(s32);
return value;
}
static s16 READ16(struct RomAsset* asset) {
s64 index = (asset->segmentedAddress + asset->cursor);
if (index < 0 || index >= sCurrentSegmentSize) { return 0; }
@ -144,66 +147,18 @@ static void rom_asset_load_vtx(struct RomAsset* asset) {
}
}
static void rom_asset_load_texture(struct RomAsset* asset) {
Texture* texture = asset->ptr;
while (asset->cursor < asset->segmentedSize) {
*texture = READ8(asset);
texture++;
}
}
static void rom_asset_load_sample(struct RomAsset* asset) {
u8* sample = asset->ptr;
while (asset->cursor < asset->segmentedSize) {
*sample = READ8(asset);
sample++;
}
}
static void rom_asset_load_collision(struct RomAsset* asset) {
Collision* col = asset->ptr;
while (asset->cursor < asset->segmentedSize) {
*col = READ16(asset);
col++;
}
}
static void rom_asset_load_anim(struct RomAsset* asset) {
u16* anim = asset->ptr;
while (asset->cursor < asset->segmentedSize) {
*anim = READ16(asset);
anim++;
}
}
static void rom_asset_load_dialog(struct RomAsset* asset) {
u8* dialog = asset->ptr;
while (asset->cursor < asset->segmentedSize) {
*dialog = READ8(asset);
dialog++;
}
}
static void rom_asset_load_demo(struct RomAsset* asset) {
u8* demo = asset->ptr;
while (asset->cursor < asset->segmentedSize) {
*demo = READ8(asset);
demo++;
}
}
static void rom_asset_load(struct RomAsset* asset) {
if (!rom_asset_load_segment(asset->physicalAddress, asset->physicalSize)) {
return;
}
switch (asset->assetType) {
case ROM_ASSET_VTX: rom_asset_load_vtx(asset); break;
case ROM_ASSET_TEXTURE: rom_asset_load_texture(asset); break;
case ROM_ASSET_SAMPLE: rom_asset_load_sample(asset); break;
case ROM_ASSET_COLLISION: rom_asset_load_collision(asset); break;
case ROM_ASSET_ANIM: rom_asset_load_anim(asset); break;
case ROM_ASSET_DIALOG: rom_asset_load_dialog(asset); break;
case ROM_ASSET_DEMO: rom_asset_load_demo(asset); break;
case ROM_ASSET_VTX: rom_asset_load_vtx(asset); break;
case ROM_ASSET_TEXTURE: ROM_ASSET_LOAD_DATA(8); break;
case ROM_ASSET_SAMPLE: ROM_ASSET_LOAD_DATA(8); break;
case ROM_ASSET_COLLISION: ROM_ASSET_LOAD_DATA(16); break;
case ROM_ASSET_ANIM: ROM_ASSET_LOAD_DATA(16); break;
case ROM_ASSET_DIALOG: ROM_ASSET_LOAD_DATA(8); break;
case ROM_ASSET_DEMO: ROM_ASSET_LOAD_DATA(8); break;
default:
LOG_ERROR("Could not load unknown asset type %u!", asset->assetType);
}

View file

@ -6,6 +6,7 @@ import re
import struct
import subprocess
import sys
import zlib
TYPE_CTL = 1
TYPE_TBL = 2
@ -747,23 +748,29 @@ def serialize_seqfile(
for index in entry_list:
table.append(pack("P", entry_offsets[index] + data_start))
table.append(pack("IX", entry_lens[index]))
with open(out_filename, "wb") as f:
f.write(ser.finish())
data = ser.finish()
compress = False
if out_filename.endswith('sound_data.tbl'):
out_offsets_filename = out_filename.replace('sound_data.tbl', 'samples_offsets.inc.c')
with open(out_offsets_filename, "w") as f:
for fname in asset_offsets:
macro_name = 'SAMPLE_' + fname.split('/samples/')[-1].replace('/', '_').replace('.', '_').replace('-', '_')
f.write(f'#define {macro_name} {hex(asset_offsets[fname] + data_start)} // {fname}\n')
data = data[:entry_offsets[0] + data_start] # remove the fake data
out_filename = 'sound/sound_data_compressed.tbl'
compress = True
if out_filename.endswith('sequences.bin'):
out_offsets_filename = out_filename.replace('sequences.bin', 'sequences_offsets.inc.c')
with open(out_offsets_filename, "w") as f:
for fname in asset_offsets:
macro_name = 'SEQUENCE_' + fname.split('/sequences/')[-1].replace('/', '_').replace('.', '_').replace('-', '_')
f.write(f'#define {macro_name} {hex(asset_offsets[fname] + data_start)} // {fname}\n')
data = data[:entry_offsets[1] + data_start] # remove the fake data
out_filename = 'sound/sequences_compressed.bin'
compress = True
if out_filename.endswith('sound_data.ctl'):
out_filename = 'sound/sound_data_compressed.ctl'
compress = True
with open(out_filename, "wb") as f:
if compress:
f.write(zlib.compress(data))
else:
f.write(data)
def validate_and_normalize_sequence_json(json, bank_names, defines):
validate(isinstance(json, dict), "must have a top-level object")
@ -899,6 +906,8 @@ def write_sequences(
extra_padding=False,
)
compress = True
out_bank_sets = 'sound/bank_sets_compressed'
with open(out_bank_sets, "wb") as f:
ser = ReserveSerializer()
table = ser.reserve(len(ind_to_name) * 2)
@ -909,8 +918,11 @@ def write_sequences(
for bank in bank_set[::-1]:
ser.add(bytes([bank_names.index(bank)]))
ser.align(16)
f.write(ser.finish())
data = ser.finish()
if compress:
f.write(zlib.compress(data))
else:
f.write(data)
def main():
global STACK_TRACES

7
tools/decompress.py Normal file
View file

@ -0,0 +1,7 @@
import sys
import zlib
with open(sys.argv[1], "rb") as f:
data = zlib.decompress(f.read())
with open(sys.argv[2], "wb") as f:
f.write(data)