├── .gitattributes ├── .gitignore ├── Makefile ├── README.md ├── asm ├── code.s ├── macros.inc ├── macros │ ├── function.inc │ ├── m4a.inc │ └── music_voice.inc └── rom_header.inc ├── asmdiff.sh ├── build_tools.sh ├── checksum.sha1 ├── data └── data.s ├── include ├── agb_sram.h ├── gba.inc ├── gba │ ├── defines.h │ ├── flash_internal.h │ ├── gba.h │ ├── io_reg.h │ ├── isagbprint.h │ ├── m4a_internal.h │ ├── macro.h │ ├── multiboot.h │ ├── syscall.h │ └── types.h ├── m4a.h ├── m4a.inc └── macro.inc ├── ldscript.txt ├── sound ├── direct_sound_samples │ ├── 08AD5F28.bin │ ├── 08AD73FC.bin │ ├── 08AD8810.bin │ ├── 08AD9140.bin │ ├── 08AD98B0.bin │ ├── 08ADB1A4.bin │ ├── 08ADE2D0.bin │ ├── 08ADE918.bin │ ├── 08AE200C.bin │ ├── 08AE4FE8.bin │ ├── 08AE7F2C.bin │ ├── 08AE98B4.bin │ ├── 08AE9BB4.bin │ ├── 08AEA788.bin │ ├── 08AED36C.bin │ ├── 08AF0160.bin │ ├── 08AF2584.bin │ ├── 08AF2C98.bin │ ├── 08AF39C8.bin │ ├── 08AF5F44.bin │ ├── 08AF65D8.bin │ ├── 08AF6F80.bin │ ├── 08AFA040.bin │ ├── 08AFAD54.bin │ ├── 08AFDF30.bin │ ├── 08B00004.bin │ ├── 08B02518.bin │ ├── 08B04840.bin │ ├── 08B051E4.bin │ ├── 08B0C95C.bin │ ├── 08B0F724.bin │ ├── 08B109B8.bin │ ├── 08B18DD0.bin │ ├── 08B1E9F0.bin │ ├── 08B20204.bin │ ├── 08B21DC8.bin │ ├── 08B22678.bin │ ├── 08B232F0.bin │ ├── 08B24488.bin │ ├── 08B24D8C.bin │ ├── 08B257FC.bin │ ├── 08B2993C.bin │ ├── 08B2D744.bin │ ├── 08B2DEF8.bin │ ├── 08B2E708.bin │ ├── 08B2EEB8.bin │ ├── 08B2F9FC.bin │ ├── 08B3125C.bin │ ├── 08B36678.bin │ ├── 08B3B740.bin │ ├── 08B3D2F8.bin │ ├── 08B413E0.bin │ ├── 08B4603C.bin │ ├── 08B481E0.bin │ ├── 08B49D64.bin │ ├── 08B4BB5C.bin │ ├── 08B4C398.bin │ ├── 08B4F264.bin │ ├── 08B503F8.bin │ ├── 08B5121C.bin │ ├── 08B51EBC.bin │ ├── 08B53440.bin │ ├── 08B58484.bin │ ├── 08B5AA00.bin │ ├── 08B5C858.bin │ ├── 08B5F64C.bin │ ├── 08B61D94.bin │ ├── 08B6410C.bin │ ├── 08B65154.bin │ ├── 08B663E0.bin │ ├── 08B67464.bin │ ├── 08B688B8.bin │ ├── 08B6BA40.bin │ ├── 08B6FA94.bin │ ├── 08B70C1C.bin │ ├── 08B72E4C.bin │ ├── 08B756E4.bin │ ├── 08B78148.bin │ ├── 08B7A79C.bin │ ├── 08B7E428.bin │ ├── 08B80688.bin │ ├── 08B84450.bin │ ├── 08B8A5F8.bin │ ├── 08B91D70.bin │ ├── 08B940F0.bin │ ├── 08B98840.bin │ ├── 08B9A988.bin │ ├── 08B9AD68.bin │ ├── 08B9B1C0.bin │ ├── 08B9BB3C.bin │ ├── 08B9BF9C.bin │ ├── 08B9C408.bin │ ├── 08B9C894.bin │ ├── 08B9D1C0.bin │ ├── 08B9D718.bin │ ├── 08B9DB80.bin │ ├── 08BA2C60.bin │ ├── 08BA3AB8.bin │ ├── 08BA4DA4.bin │ ├── 08BA62E0.bin │ ├── 08BA6AA0.bin │ ├── 08BAA2DC.bin │ ├── 08BAFDC0.bin │ ├── 08BB152C.bin │ ├── 08BB2CAC.bin │ ├── 08BB4C60.bin │ ├── 08BB672C.bin │ ├── 08BB8F2C.bin │ ├── 08BBA360.bin │ ├── 08BBB180.bin │ ├── 08BBC26C.bin │ ├── 08BBD0E4.bin │ ├── 08BC0D9C.bin │ ├── 08BC311C.bin │ ├── 08BC3DD4.bin │ ├── 08BC6304.bin │ ├── 08BC7C58.bin │ ├── 08BCCBD4.bin │ ├── 08BCD1DC.bin │ ├── 08BCD85C.bin │ ├── 08BCDF04.bin │ ├── 08BCF078.bin │ ├── 08BCFC30.bin │ ├── 08BD0EC0.bin │ ├── 08BD154C.bin │ ├── 08BD26FC.bin │ ├── 08BD2F00.bin │ ├── 08BD3704.bin │ ├── 08BD4838.bin │ ├── 08BD554C.bin │ ├── 08BD624C.bin │ ├── 08BD69B0.bin │ ├── 08BD7148.bin │ ├── 08BD78B0.bin │ ├── 08BD8038.bin │ ├── 08BD8F8C.bin │ ├── 08BD974C.bin │ ├── 08BD9E98.bin │ ├── 08BDA604.bin │ ├── 08BDADF0.bin │ ├── 08BDB550.bin │ ├── 08BDBBDC.bin │ ├── 08BDC2B0.bin │ ├── 08BDC990.bin │ ├── 08BDD1E0.bin │ ├── 08BDD84C.bin │ ├── 08BDE000.bin │ ├── 08BDE740.bin │ ├── 08BDEE64.bin │ ├── 08BDF514.bin │ ├── 08BDFC2C.bin │ ├── 08BE0354.bin │ ├── 08BE0AC0.bin │ ├── 08BE11F0.bin │ ├── 08BE18E4.bin │ ├── 08BE2034.bin │ ├── 08BE2770.bin │ ├── 08BE2E54.bin │ ├── 08BE3350.bin │ ├── 08BE39D8.bin │ ├── 08BE3EBC.bin │ ├── 08BE4B28.bin │ ├── 08BE5160.bin │ ├── 08BE5720.bin │ ├── 08BE5CD4.bin │ ├── 08BE6294.bin │ ├── 08BE68B0.bin │ ├── 08BE6DE4.bin │ ├── 08BE7464.bin │ ├── 08BE79E8.bin │ ├── 08BE7F6C.bin │ ├── 08BE84CC.bin │ ├── 08BE8B70.bin │ ├── 08BE8F8C.bin │ ├── 08BE96B0.bin │ ├── 08BE9A64.bin │ ├── 08BEA558.bin │ ├── 08BEAC68.bin │ ├── 08BEB050.bin │ ├── 08BEB6F8.bin │ ├── 08BEBB08.bin │ ├── 08BEC1F4.bin │ ├── 08BEC5E0.bin │ ├── 08BECC28.bin │ ├── 08BED0D0.bin │ ├── 08BED77C.bin │ ├── 08BEDBC4.bin │ ├── 08BEE23C.bin │ ├── 08BEE66C.bin │ ├── 08BEECEC.bin │ ├── 08BEF12C.bin │ ├── 08BEF76C.bin │ ├── 08BEFBF8.bin │ ├── 08BF0268.bin │ ├── 08BF0708.bin │ ├── 08BF0DBC.bin │ ├── 08BF11CC.bin │ ├── 08BF1878.bin │ ├── 08BF1CA4.bin │ ├── 08BF27BC.bin │ ├── 08BF2DCC.bin │ ├── 08BF32F8.bin │ ├── 08BF3860.bin │ ├── 08BF3D74.bin │ ├── 08BF42D8.bin │ ├── 08BF4834.bin │ ├── 08BF4D94.bin │ ├── 08BF52B0.bin │ ├── 08BF5814.bin │ ├── 08BF5D34.bin │ ├── 08BF6250.bin │ ├── 08BF6774.bin │ ├── 08BF6C70.bin │ ├── 08BF7244.bin │ ├── 08BF7794.bin │ ├── 08BF7CBC.bin │ ├── 08BF820C.bin │ ├── 08BF92B4.bin │ ├── 08BF9DB0.bin │ ├── 08BFA5B8.bin │ ├── 08BFAE34.bin │ ├── 08BFBEEC.bin │ ├── 08BFCF88.bin │ ├── 08BFDA70.bin │ ├── 08BFDF50.bin │ ├── 08BFE458.bin │ ├── 08BFEA24.bin │ ├── 08BFEFA8.bin │ ├── 08BFF56C.bin │ ├── 08BFFAC0.bin │ ├── 08C00064.bin │ ├── 08C005CC.bin │ ├── 08C00A50.bin │ ├── 08C01068.bin │ ├── 08C015CC.bin │ ├── 08C01B38.bin │ ├── 08C020E4.bin │ ├── 08C025EC.bin │ ├── 08C02AF4.bin │ ├── 08C03000.bin │ ├── 08C03134.bin │ ├── 08C03674.bin │ ├── 08C03B7C.bin │ ├── 08C041A4.bin │ ├── 08C046A8.bin │ ├── 08C04C44.bin │ ├── 08C051BC.bin │ ├── 08C05700.bin │ ├── 08C05CB4.bin │ ├── 08C061F8.bin │ ├── 08C0673C.bin │ ├── 08C06C6C.bin │ ├── 08C071FC.bin │ ├── 08C07770.bin │ ├── 08C07C9C.bin │ ├── 08C081C0.bin │ ├── 08C086CC.bin │ ├── 08C087B4.bin │ ├── 08C08CD0.bin │ ├── 08C09240.bin │ ├── 08C097F0.bin │ ├── 08C09DC4.bin │ ├── 08C0A2B0.bin │ ├── 08C0A814.bin │ ├── 08C0ADC0.bin │ ├── 08C0B310.bin │ ├── 08C0B874.bin │ ├── 08C0BE18.bin │ ├── 08C0C3E4.bin │ ├── 08C0C89C.bin │ ├── 08C0CE1C.bin │ ├── 08C0D368.bin │ ├── 08C0D8A0.bin │ ├── 08C0DE50.bin │ ├── 08C0E9F8.bin │ ├── 08C0F12C.bin │ ├── 08C0F654.bin │ ├── 08C0FC88.bin │ ├── 08C10254.bin │ ├── 08C10934.bin │ ├── 08C10E74.bin │ ├── 08C1153C.bin │ ├── 08C11A60.bin │ ├── 08C12124.bin │ ├── 08C12674.bin │ ├── 08C12D24.bin │ ├── 08C13254.bin │ ├── 08C13928.bin │ ├── 08C13E3C.bin │ ├── 08C14524.bin │ ├── 08C14AA0.bin │ ├── 08C15164.bin │ ├── 08C15698.bin │ ├── 08C15C60.bin │ ├── 08C162A4.bin │ ├── 08C16970.bin │ ├── 08C16EB8.bin │ ├── 08C17584.bin │ ├── 08C17A94.bin │ ├── 08C18188.bin │ ├── 08C186E8.bin │ ├── 08C18D8C.bin │ ├── 08C192A8.bin │ ├── 08C1998C.bin │ ├── 08C19EB8.bin │ ├── 08C1A3F4.bin │ ├── 08C1A900.bin │ ├── 08C1AE50.bin │ ├── 08C1B380.bin │ ├── 08C1B928.bin │ ├── 08C1BE0C.bin │ ├── 08C1C378.bin │ ├── 08C1C884.bin │ ├── 08C1CDB8.bin │ ├── 08C1D2E0.bin │ ├── 08C1D7EC.bin │ ├── 08C1DD2C.bin │ ├── 08C1E29C.bin │ ├── 08C1E760.bin │ ├── 08C1ED70.bin │ ├── 08C1F268.bin │ ├── 08C1FD70.bin │ ├── 08C202D0.bin │ ├── 08C207D0.bin │ ├── 08C212B8.bin │ ├── 08C218C0.bin │ ├── 08C21D18.bin │ ├── 08C22298.bin │ ├── 08C22760.bin │ ├── 08C23218.bin │ ├── 08C23CA8.bin │ ├── 08C242A8.bin │ ├── 08C24730.bin │ ├── 08C24C80.bin │ ├── 08C2572C.bin │ ├── 08C25D2C.bin │ ├── 08C261B4.bin │ ├── 08C26724.bin │ ├── 08C26CA0.bin │ ├── 08C271B8.bin │ ├── 08C27770.bin │ ├── 08C27C58.bin │ ├── 08C281A8.bin │ ├── 08C28CFC.bin │ ├── 08C295D0.bin │ ├── 08C29BF0.bin │ ├── 08C2A158.bin │ ├── 08C2AC00.bin │ ├── 08C2B22C.bin │ ├── 08C2B6EC.bin │ ├── 08C2BC58.bin │ ├── 08C2C0F8.bin │ ├── 08C2CBC4.bin │ ├── 08C2D494.bin │ ├── 08C2DEF4.bin │ ├── 08C2E44C.bin │ ├── 08C2E8CC.bin │ ├── 08C2ED58.bin │ ├── 08C2F314.bin │ ├── 08C2F978.bin │ ├── 08C30F08.bin │ ├── 08C34DFC.bin │ ├── 08C35C68.bin │ ├── 08C37240.bin │ ├── 08C382F4.bin │ ├── 08C3A298.bin │ ├── 08C3BC34.bin │ ├── 08C3D53C.bin │ ├── 08C3F3E0.bin │ ├── 08C40314.bin │ ├── 08C41284.bin │ ├── 08C41820.bin │ ├── 08C42488.bin │ ├── 08C46A48.bin │ ├── 08C4991C.bin │ ├── 08C4C92C.bin │ ├── 08C4E120.bin │ ├── 08C50304.bin │ ├── 08C517B0.bin │ ├── 08C526AC.bin │ ├── 08C52BAC.bin │ └── 08C530E4.bin ├── programmable_wave_samples │ ├── 08AD4E44.pcm │ ├── 08AD4E8C.pcm │ ├── 08AD4E9C.pcm │ ├── 08AD4EAC.pcm │ ├── 08AD4EBC.pcm │ ├── 08AD4ECC.pcm │ ├── 08AD4EDC.pcm │ ├── 08AD4EEC.pcm │ ├── 08AD4EFC.pcm │ └── 08AD4F0C.pcm └── sound.s ├── sym_ewram.txt └── sym_iwram.txt /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Windows image file caches 2 | Thumbs.db 3 | ehthumbs.db 4 | 5 | # Folder config file 6 | Desktop.ini 7 | 8 | # Recycle Bin used on file shares 9 | $RECYCLE.BIN/ 10 | 11 | # Windows Installer files 12 | *.cab 13 | *.msi 14 | *.msm 15 | *.msp 16 | 17 | # Windows shortcuts 18 | *.lnk 19 | 20 | # ========================= 21 | # Operating System Files 22 | # ========================= 23 | 24 | # OSX 25 | # ========================= 26 | 27 | .DS_Store 28 | .AppleDouble 29 | .LSOverride 30 | 31 | # Thumbnails 32 | ._* 33 | 34 | # Files that might appear in the root of a volume 35 | .DocumentRevisions-V100 36 | .fseventsd 37 | .Spotlight-V100 38 | .TemporaryItems 39 | .Trashes 40 | .VolumeIcon.icns 41 | 42 | # Directories potentially created on remote AFP share 43 | .AppleDB 44 | .AppleDesktop 45 | Network Trash Folder 46 | Temporary Items 47 | .apdisk 48 | 49 | # ========================= 50 | # Build Outputs 51 | # ========================= 52 | 53 | *.gba 54 | *.sav 55 | *.elf 56 | *.map 57 | *.o 58 | *.dump 59 | build 60 | tools 61 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | #### Tools #### 2 | 3 | CC1 := tools/agbcc/bin/agbcc 4 | CC1_OLD := tools/agbcc/bin/old_agbcc 5 | CPP := $(DEVKITARM)/bin/arm-none-eabi-cpp 6 | AS := $(DEVKITARM)/bin/arm-none-eabi-as 7 | LD := $(DEVKITARM)/bin/arm-none-eabi-ld 8 | OBJCOPY := $(DEVKITARM)/bin/arm-none-eabi-objcopy 9 | 10 | GFX := tools/gbagfx/gbagfx 11 | AIF := tools/aif2pcm/aif2pcm 12 | MID := $(abspath tools/mid2agb/mid2agb) 13 | SCANINC := tools/scaninc/scaninc 14 | PREPROC := tools/preproc/preproc 15 | RAMSCRGEN := tools/ramscrgen/ramscrgen 16 | FIX := tools/gbafix/gbafix 17 | 18 | CC1FLAGS := -mthumb-interwork -Wimplicit -Wparentheses -O1 -fhex-asm 19 | CPPFLAGS := -I tools/agbcc/include -iquote include -nostdinc -undef 20 | ASFLAGS := -mcpu=arm7tdmi -mthumb-interwork -I asminclude 21 | 22 | 23 | #### Files #### 24 | OBJ_DIR:= build/sa2 25 | ROM := sa2.gba 26 | ELF := $(ROM:.gba=.elf) 27 | MAP := $(ROM:.gba=.map) 28 | LDSCRIPT := ldscript.txt 29 | 30 | C_SUBDIR = src 31 | ASM_SUBDIR = asm 32 | DATA_ASM_SUBDIR = data 33 | SOUND_ASM_SUBDIR = sound 34 | 35 | C_BUILDDIR = $(OBJ_DIR)/$(C_SUBDIR) 36 | ASM_BUILDDIR = $(OBJ_DIR)/$(ASM_SUBDIR) 37 | DATA_ASM_BUILDDIR = $(OBJ_DIR)/$(DATA_ASM_SUBDIR) 38 | SOUND_ASM_BUILDDIR = $(OBJ_DIR)/$(SOUND_ASM_SUBDIR) 39 | 40 | $(shell mkdir -p $(C_BUILDDIR) $(ASM_BUILDDIR) $(DATA_ASM_BUILDDIR) $(SOUND_ASM_BUILDDIR)) 41 | 42 | C_SRCS := $(wildcard $(C_SUBDIR)/*.c) 43 | C_OBJS := $(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(C_SRCS)) 44 | 45 | ASM_SRCS := $(wildcard $(ASM_SUBDIR)/*.s) 46 | ASM_OBJS := $(patsubst $(ASM_SUBDIR)/%.s,$(ASM_BUILDDIR)/%.o,$(ASM_SRCS)) 47 | 48 | DATA_ASM_SRCS := $(wildcard $(DATA_ASM_SUBDIR)/*.s) 49 | DATA_ASM_OBJS := $(patsubst $(DATA_ASM_SUBDIR)/%.s,$(DATA_ASM_BUILDDIR)/%.o,$(DATA_ASM_SRCS)) 50 | 51 | SOUND_ASM_SRCS := $(wildcard $(SOUND_ASM_SUBDIR)/*.s) 52 | SOUND_ASM_OBJS := $(patsubst $(SOUND_ASM_SUBDIR)/%.s,$(SOUND_ASM_BUILDDIR)/%.o,$(SOUND_ASM_SRCS)) 53 | 54 | OBJS := $(C_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) $(SOUND_ASM_OBJS) 55 | OBJS_REL := $(patsubst $(OBJ_DIR)/%,%,$(OBJS)) 56 | 57 | src/agb_sram.o: CC1FLAGS := -O1 -mthumb-interwork 58 | src/test.o: CC1FLAGS := -O0 -mthumb-interwork 59 | 60 | 61 | #### Main Targets #### 62 | 63 | compare: $(ROM) 64 | sha1sum -c checksum.sha1 65 | 66 | clean: 67 | $(RM) $(ROM) $(ELF) $(MAP) $(OBJS) src/*.s 68 | 69 | tidy: 70 | rm -f $(ROM) $(ELF) $(MAP) 71 | rm -r build/* 72 | 73 | #### Recipes #### 74 | 75 | $(ELF): $(OBJS) $(LDSCRIPT) 76 | $(LD) -T $(LDSCRIPT) -Map $(MAP) $(OBJS) tools/agbcc/lib/libgcc.a tools/agbcc/lib/libc.a -o $@ 77 | 78 | %.gba: %.elf 79 | $(OBJCOPY) -O binary --pad-to 0x8400000 $< $@ 80 | 81 | $(C_BUILDDIR)/%.o : $(C_SUBDIR)/%.c 82 | $(CPP) $(CPPFLAGS) $< | $(CC1) $(CC1FLAGS) -o $(C_BUILDDIR)/$*.s 83 | $(AS) $(ASFLAGS) -o $@ $(C_BUILDDIR)/$*.s 84 | 85 | $(ASM_BUILDDIR)/%.o: $(ASM_SUBDIR)/%.s 86 | $(AS) $(ASFLAGS) -o $@ $< 87 | 88 | $(DATA_ASM_BUILDDIR)/%.o: $(DATA_ASM_SUBDIR)/%.s 89 | $(AS) $(ASFLAGS) -o $@ $< 90 | 91 | $(SOUND_ASM_BUILDDIR)/%.o: $(SOUND_ASM_SUBDIR)/%.s 92 | $(AS) $(ASFLAGS) -o $@ $< -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Sonic Advance 2 (U) 2 | 3 | This is a disassembly of Sonic Advance 2 4 | 5 | It builds the following ROM: 6 | * sa2.gba `sha1: 7bcd6a07af7c894746fa28073fe0c0e34408022d` 7 | 8 | ### Setting up the repository 9 | 10 | * You must have a copy of the Sonic Advance 2 ROM named `baserom.gba` in the repository directory. 11 | 12 | * Install [**devkitARM**](http://devkitpro.org/wiki/Getting_Started/devkitARM). 13 | 14 | * Then get the build tools from https://github.com/pret/pokeruby-tools. Copy the `tools/` folder into the repository directory. 15 | 16 | * You can then build sa2 using `make` in the MSYS environment provided with devkitARM. 17 | -------------------------------------------------------------------------------- /asm/macros.inc: -------------------------------------------------------------------------------- 1 | .include "asm/macros/function.inc" 2 | -------------------------------------------------------------------------------- /asm/macros/function.inc: -------------------------------------------------------------------------------- 1 | .macro arm_func_start name 2 | .align 2, 0 3 | .global \name 4 | .arm 5 | .type \name, function 6 | .endm 7 | 8 | .macro arm_func_end name 9 | .size \name, .-\name 10 | .endm 11 | 12 | .macro THUMB_FUNC_START name 13 | .align 2, 0 14 | .global \name 15 | .thumb 16 | .thumb_func 17 | .type \name, function 18 | .endm 19 | 20 | .macro non_word_aligned_thumb_func_start name 21 | .global \name 22 | .thumb 23 | .thumb_func 24 | .type \name, function 25 | .endm 26 | 27 | .macro thumb_func_end name 28 | .size \name, .-\name 29 | .endm 30 | -------------------------------------------------------------------------------- /asm/macros/m4a.inc: -------------------------------------------------------------------------------- 1 | .macro song label, music_player, unknown 2 | .4byte \label 3 | .2byte \music_player 4 | .2byte \unknown 5 | .endm 6 | 7 | .macro music_player info_struct, track_struct, unknown_1, unknown_2 8 | .4byte \info_struct 9 | .4byte \track_struct 10 | .byte \unknown_1 11 | .space 1 12 | .2byte \unknown_2 13 | .endm 14 | -------------------------------------------------------------------------------- /asm/macros/music_voice.inc: -------------------------------------------------------------------------------- 1 | .macro voice_directsound base_midi_key, pan, sample_data_pointer, attack, decay, sustain, release 2 | .byte 0 3 | _voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release 4 | .endm 5 | 6 | .macro voice_directsound_no_resample base_midi_key, pan, sample_data_pointer, attack, decay, sustain, release 7 | .byte 8 8 | _voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release 9 | .endm 10 | 11 | .macro voice_directsound_alt base_midi_key, pan, sample_data_pointer, attack, decay, sustain, release 12 | .byte 16 13 | _voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release 14 | .endm 15 | 16 | .macro _voice_directsound base_midi_key, pan, sample_data_pointer, attack, decay, sustain, release 17 | .byte \base_midi_key 18 | .byte 0 19 | .if \pan != 0 20 | .byte (0x80 | \pan) 21 | .else 22 | .byte 0 23 | .endif 24 | .4byte \sample_data_pointer 25 | .byte \attack 26 | .byte \decay 27 | .byte \sustain 28 | .byte \release 29 | .endm 30 | 31 | .macro voice_square_1 sweep, duty_cycle, attack, decay, sustain, release 32 | _voice_square_1 1, \sweep, \duty_cycle, \attack, \decay, \sustain, \release 33 | .endm 34 | 35 | .macro voice_square_1_alt sweep, duty_cycle, attack, decay, sustain, release 36 | _voice_square_1 9, \sweep, \duty_cycle, \attack, \decay, \sustain, \release 37 | .endm 38 | 39 | .macro _voice_square_1 type, sweep, duty_cycle, attack, decay, sustain, release 40 | .byte \type, 60, 0 41 | .byte \sweep 42 | .byte (\duty_cycle & 0x3) 43 | .byte 0, 0, 0 44 | .byte (\attack & 0x7) 45 | .byte (\decay & 0x7) 46 | .byte (\sustain & 0xF) 47 | .byte (\release & 0x7) 48 | .endm 49 | 50 | .macro voice_square_2 duty_cycle, attack, decay, sustain, release 51 | _voice_square_2 2, \duty_cycle, \attack, \decay, \sustain, \release 52 | .endm 53 | 54 | .macro voice_square_2_alt duty_cycle, attack, decay, sustain, release 55 | _voice_square_2 10, \duty_cycle, \attack, \decay, \sustain, \release 56 | .endm 57 | 58 | .macro _voice_square_2 type, duty_cycle, attack, decay, sustain, release 59 | .byte \type, 60, 0, 0 60 | .byte (\duty_cycle & 0x3) 61 | .byte 0, 0, 0 62 | .byte (\attack & 0x7) 63 | .byte (\decay & 0x7) 64 | .byte (\sustain & 0xF) 65 | .byte (\release & 0x7) 66 | .endm 67 | 68 | .macro voice_programmable_wave wave_samples_pointer, attack, decay, sustain, release 69 | _voice_programmable_wave 3, \wave_samples_pointer, \attack, \decay, \sustain, \release 70 | .endm 71 | 72 | .macro voice_programmable_wave_alt wave_samples_pointer, attack, decay, sustain, release 73 | _voice_programmable_wave 11, \wave_samples_pointer, \attack, \decay, \sustain, \release 74 | .endm 75 | 76 | .macro _voice_programmable_wave type, wave_samples_pointer, attack, decay, sustain, release 77 | .byte \type, 60, 0, 0 78 | .4byte \wave_samples_pointer 79 | .byte (\attack & 0x7) 80 | .byte (\decay & 0x7) 81 | .byte (\sustain & 0xF) 82 | .byte (\release & 0x7) 83 | .endm 84 | 85 | .macro voice_noise unk1, unk2, unk3, period, attack, decay, sustain, release 86 | _voice_noise 4, \unk1, \unk2, \unk3, \period, \attack, \decay, \sustain, \release 87 | .endm 88 | 89 | .macro voice_noise_alt unk1, unk2, unk3, period, attack, decay, sustain, release 90 | _voice_noise 12, \unk1, \unk2, \unk3, \period, \attack, \decay, \sustain, \release 91 | .endm 92 | 93 | .macro _voice_noise type, unk1, unk2, unk3, period, attack, decay, sustain, release 94 | .byte \type, \unk1, \unk2, \unk3 95 | .byte (\period & 0x1) 96 | .byte 0, 0, 0 97 | .byte (\attack & 0x7) 98 | .byte (\decay & 0x7) 99 | .byte (\sustain & 0xF) 100 | .byte (\release & 0x7) 101 | .endm 102 | 103 | .macro voice_keysplit voice_group_pointer, keysplit_table_pointer 104 | .byte 0x40, 0, 0, 0 105 | .4byte \voice_group_pointer 106 | .4byte \keysplit_table_pointer 107 | .endm 108 | 109 | .macro voice_keysplit_all voice_group_pointer 110 | .byte 0x80, 0, 0, 0 111 | .4byte \voice_group_pointer 112 | .4byte 0 113 | .endm 114 | 115 | .macro cry sample 116 | .byte 0x20, 60, 0, 0 117 | .4byte \sample 118 | .byte 0xff, 0, 0xff, 0 119 | .endm 120 | 121 | .macro cry2 sample 122 | .byte 0x30, 60, 0, 0 123 | .4byte \sample 124 | .byte 0xff, 0, 0xff, 0 125 | .endm 126 | -------------------------------------------------------------------------------- /asm/rom_header.inc: -------------------------------------------------------------------------------- 1 | .global RomHeaderNintendoLogo 2 | RomHeaderNintendoLogo: 3 | .byte 0x24,0xff,0xae,0x51,0x69,0x9a,0xa2,0x21 4 | .byte 0x3d,0x84,0x82,0x0a,0x84,0xe4,0x09,0xad 5 | .byte 0x11,0x24,0x8b,0x98,0xc0,0x81,0x7f,0x21 6 | .byte 0xa3,0x52,0xbe,0x19,0x93,0x09,0xce,0x20 7 | .byte 0x10,0x46,0x4a,0x4a,0xf8,0x27,0x31,0xec 8 | .byte 0x58,0xc7,0xe8,0x33,0x82,0xe3,0xce,0xbf 9 | .byte 0x85,0xf4,0xdf,0x94,0xce,0x4b,0x09,0xc1 10 | .byte 0x94,0x56,0x8a,0xc0,0x13,0x72,0xa7,0xfc 11 | .byte 0x9f,0x84,0x4d,0x73,0xa3,0xca,0x9a,0x61 12 | .byte 0x58,0x97,0xa3,0x27,0xfc,0x03,0x98,0x76 13 | .byte 0x23,0x1d,0xc7,0x61,0x03,0x04,0xae,0x56 14 | .byte 0xbf,0x38,0x84,0x00,0x40,0xa7,0x0e,0xfd 15 | .byte 0xff,0x52,0xfe,0x03,0x6f,0x95,0x30,0xf1 16 | .byte 0x97,0xfb,0xc0,0x85,0x60,0xd6,0x80,0x25 17 | .byte 0xa9,0x63,0xbe,0x03,0x01,0x4e,0x38,0xe2 18 | .byte 0xf9,0xa2,0x34,0xff,0xbb,0x3e,0x03,0x44 19 | .byte 0x78,0x00,0x90,0xcb,0x88,0x11,0x3a,0x94 20 | .byte 0x65,0xc0,0x7c,0x63,0x87,0xf0,0x3c,0xaf 21 | .byte 0xd6,0x25,0xe4,0x8b,0x38,0x0a,0xac,0x72 22 | .byte 0x21,0xd4,0xf8,0x07 23 | 24 | RomHeaderGameTitle: 25 | .ascii "SONICADVANC2" 26 | 27 | RomHeaderGameCode: 28 | .ascii "A2NE" 29 | 30 | RomHeaderMakerCode: 31 | .ascii "78" 32 | 33 | RomHeaderMagic: 34 | .byte 0x96 35 | 36 | RomHeaderMainUnitCode: 37 | .byte 0 38 | 39 | RomHeaderDeviceType: 40 | .byte 0 41 | 42 | RomHeaderReserved1: 43 | .space 7 44 | 45 | RomHeaderSoftwareVersion: 46 | .byte 0 47 | 48 | RomHeaderChecksum: 49 | .byte 0x81 50 | 51 | RomHeaderReserved2: 52 | .space 2 53 | -------------------------------------------------------------------------------- /asmdiff.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | OBJDUMP="$DEVKITARM/bin/arm-none-eabi-objdump -D -bbinary -marmv4t -Mforce-thumb" 4 | OPTIONS="--start-address=$(($1)) --stop-address=$(($1 + $2))" 5 | $OBJDUMP $OPTIONS baserom.gba > baserom.dump 6 | $OBJDUMP $OPTIONS fireemblem8.gba > fireemblem8.dump 7 | diff baserom.dump fireemblem8.dump 8 | -------------------------------------------------------------------------------- /build_tools.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | make -C tools/gbagfx 3 | make -C tools/scaninc 4 | make -C tools/preproc 5 | make -C tools/bin2c 6 | make -C tools/rsfont 7 | make -C tools/aif2pcm 8 | make -C tools/ramscrgen 9 | -------------------------------------------------------------------------------- /checksum.sha1: -------------------------------------------------------------------------------- 1 | 7bcd6a07af7c894746fa28073fe0c0e34408022d sa2.gba -------------------------------------------------------------------------------- /include/agb_sram.h: -------------------------------------------------------------------------------- 1 | #ifndef GUARD_AGB_SRAM_H 2 | #define GUARD_AGB_SRAM_H 3 | 4 | void SetSramFastFunc(void); 5 | void WriteSramFast(const u8 *src, u8 *dest, u32 size); 6 | extern void (*ReadSramFast)(const u8 *src, u8 *dest, u32 size); 7 | extern u32 (*VerifySramFast)(const u8 *src, u8 *dest, u32 size); 8 | u32 WriteAndVerifySramFast(const u8 *src, u8 *dest, u32 size); 9 | 10 | #endif // GUARD_AGB_SRAM_H 11 | -------------------------------------------------------------------------------- /include/gba.inc: -------------------------------------------------------------------------------- 1 | @------------------------------------------------------------------------------- 2 | @ Program Status Register 3 | @------------------------------------------------------------------------------- 4 | 5 | PSR_USR_MODE = 0x00000010 6 | PSR_FIQ_MODE = 0x00000011 7 | PSR_IRQ_MODE = 0x00000012 8 | PSR_SVC_MODE = 0x00000013 9 | PSR_ABT_MODE = 0x00000017 10 | PSR_UND_MODE = 0x0000001B 11 | PSR_SYS_MODE = 0x0000001F 12 | PSR_MODE_MASK = 0x0000001F 13 | PSR_THUMB_BIT = 0x00000020 14 | PSR_FIQ_DISABLE_BIT = 0x00000040 15 | PSR_IRQ_DISABLE_BIT = 0x00000080 16 | 17 | 18 | @------------------------------------------------------------------------------- 19 | @ Memory 20 | @------------------------------------------------------------------------------- 21 | 22 | EWRAM_START = 0x02000000 23 | EWRAM_END = EWRAM_START + 0x40000 24 | 25 | IWRAM_START = 0x03000000 26 | IWRAM_END = IWRAM_START + 0x8000 27 | 28 | REG_BASE = 0x04000000 29 | 30 | PLTT = 0x05000000 31 | BG_PLTT = PLTT 32 | OBJ_PLTT = PLTT + 0x200 33 | 34 | VRAM = 0x06000000 35 | BG_VRAM = VRAM 36 | OBJ_VRAM0 = VRAM + 0x10000 @ text-mode BG 37 | OBJ_VRAM1 = VRAM + 0x14000 @ bitmap-mode BG 38 | 39 | OAM = 0x07000000 40 | 41 | SOUND_INFO_PTR = 0x3007FF0 42 | INTR_CHECK = 0x3007FF8 43 | INTR_VECTOR = 0x3007FFC 44 | 45 | ROM = 0x08000000 46 | 47 | @------------------------------------------------------------------------------- 48 | @ I/O Register Offsets 49 | @------------------------------------------------------------------------------- 50 | 51 | REG_OFFSET_DISPCNT = 0x0 52 | REG_OFFSET_DISPSTAT = 0x4 53 | REG_OFFSET_VCOUNT = 0x6 54 | REG_OFFSET_BG0CNT = 0x8 55 | REG_OFFSET_BG1CNT = 0xa 56 | REG_OFFSET_BG2CNT = 0xc 57 | REG_OFFSET_BG3CNT = 0xe 58 | REG_OFFSET_BG0HOFS = 0x10 59 | REG_OFFSET_BG0VOFS = 0x12 60 | REG_OFFSET_BG1HOFS = 0x14 61 | REG_OFFSET_BG1VOFS = 0x16 62 | REG_OFFSET_BG2HOFS = 0x18 63 | REG_OFFSET_BG2VOFS = 0x1a 64 | REG_OFFSET_BG3HOFS = 0x1c 65 | REG_OFFSET_BG3VOFS = 0x1e 66 | REG_OFFSET_BG2PA = 0x20 67 | REG_OFFSET_BG2PB = 0x22 68 | REG_OFFSET_BG2PC = 0x24 69 | REG_OFFSET_BG2PD = 0x26 70 | REG_OFFSET_BG2X_L = 0x28 71 | REG_OFFSET_BG2X_H = 0x2a 72 | REG_OFFSET_BG2Y_L = 0x2c 73 | REG_OFFSET_BG2Y_H = 0x2e 74 | REG_OFFSET_BG3PA = 0x30 75 | REG_OFFSET_BG3PB = 0x32 76 | REG_OFFSET_BG3PC = 0x34 77 | REG_OFFSET_BG3PD = 0x36 78 | REG_OFFSET_BG3X_L = 0x38 79 | REG_OFFSET_BG3X_H = 0x3a 80 | REG_OFFSET_BG3Y_L = 0x3c 81 | REG_OFFSET_BG3Y_H = 0x3e 82 | REG_OFFSET_WIN0H = 0x40 83 | REG_OFFSET_WIN1H = 0x42 84 | REG_OFFSET_WIN0V = 0x44 85 | REG_OFFSET_WIN1V = 0x46 86 | REG_OFFSET_WININ = 0x48 87 | REG_OFFSET_WINOUT = 0x4a 88 | REG_OFFSET_MOSAIC = 0x4c 89 | REG_OFFSET_BLDCNT = 0x50 90 | REG_OFFSET_BLDALPHA = 0x52 91 | REG_OFFSET_BLDY = 0x54 92 | 93 | REG_OFFSET_SOUND1CNT = 0x60 94 | REG_OFFSET_SOUND1CNT_L = 0x60 95 | REG_OFFSET_NR10 = 0x60 96 | REG_OFFSET_SOUND1CNT_H = 0x62 97 | REG_OFFSET_NR11 = 0x62 98 | REG_OFFSET_NR12 = 0x63 99 | REG_OFFSET_SOUND1CNT_X = 0x64 100 | REG_OFFSET_NR13 = 0x64 101 | REG_OFFSET_NR14 = 0x65 102 | REG_OFFSET_SOUND2CNT = 0x68 103 | REG_OFFSET_SOUND2CNT_L = 0x68 104 | REG_OFFSET_NR21 = 0x68 105 | REG_OFFSET_NR22 = 0x69 106 | REG_OFFSET_SOUND2CNT_H = 0x6c 107 | REG_OFFSET_NR23 = 0x6c 108 | REG_OFFSET_NR24 = 0x6d 109 | REG_OFFSET_SOUND3CNT = 0x70 110 | REG_OFFSET_SOUND3CNT_L = 0x70 111 | REG_OFFSET_NR30 = 0x70 112 | REG_OFFSET_SOUND3CNT_H = 0x72 113 | REG_OFFSET_NR31 = 0x72 114 | REG_OFFSET_NR32 = 0x73 115 | REG_OFFSET_SOUND3CNT_X = 0x74 116 | REG_OFFSET_NR33 = 0x74 117 | REG_OFFSET_NR34 = 0x75 118 | REG_OFFSET_SOUND4CNT = 0x78 119 | REG_OFFSET_SOUND4CNT_L = 0x78 120 | REG_OFFSET_NR41 = 0x78 121 | REG_OFFSET_NR42 = 0x79 122 | REG_OFFSET_SOUND4CNT_H = 0x7c 123 | REG_OFFSET_NR43 = 0x7c 124 | REG_OFFSET_NR44 = 0x7d 125 | REG_OFFSET_SOUNDCNT = 0x80 126 | REG_OFFSET_SOUNDCNT_L = 0x80 127 | REG_OFFSET_NR50 = 0x80 128 | REG_OFFSET_NR51 = 0x81 129 | REG_OFFSET_SOUNDCNT_H = 0x82 130 | REG_OFFSET_SOUNDCNT_X = 0x84 131 | REG_OFFSET_NR52 = 0x84 132 | REG_OFFSET_SOUNDBIAS = 0x88 133 | REG_OFFSET_WAVE_RAM = 0x90 134 | REG_OFFSET_WAVE_RAM0 = 0x90 135 | REG_OFFSET_WAVE_RAM0_L = 0x90 136 | REG_OFFSET_WAVE_RAM0_H = 0x92 137 | REG_OFFSET_WAVE_RAM1 = 0x94 138 | REG_OFFSET_WAVE_RAM1_L = 0x94 139 | REG_OFFSET_WAVE_RAM1_H = 0x96 140 | REG_OFFSET_WAVE_RAM2 = 0x98 141 | REG_OFFSET_WAVE_RAM2_L = 0x98 142 | REG_OFFSET_WAVE_RAM2_H = 0x9a 143 | REG_OFFSET_WAVE_RAM3 = 0x9c 144 | REG_OFFSET_WAVE_RAM3_L = 0x9c 145 | REG_OFFSET_WAVE_RAM3_H = 0x9e 146 | REG_OFFSET_FIFO = 0xa0 147 | REG_OFFSET_FIFO_A = 0xa0 148 | REG_OFFSET_FIFO_A_L = 0xa0 149 | REG_OFFSET_FIFO_A_H = 0xa2 150 | REG_OFFSET_FIFO_B = 0xa4 151 | REG_OFFSET_FIFO_B_L = 0xa4 152 | REG_OFFSET_FIFO_B_H = 0xa6 153 | 154 | REG_OFFSET_DMA0 = 0xb0 155 | REG_OFFSET_DMA0SAD = 0xb0 156 | REG_OFFSET_DMA0SAD_L = 0xb0 157 | REG_OFFSET_DMA0SAD_H = 0xb2 158 | REG_OFFSET_DMA0DAD = 0xb4 159 | REG_OFFSET_DMA0DAD_L = 0xb4 160 | REG_OFFSET_DMA0DAD_H = 0xb6 161 | REG_OFFSET_DMA0CNT = 0xb8 162 | REG_OFFSET_DMA0CNT_L = 0xb8 163 | REG_OFFSET_DMA0CNT_H = 0xba 164 | REG_OFFSET_DMA1 = 0xbc 165 | REG_OFFSET_DMA1SAD = 0xbc 166 | REG_OFFSET_DMA1SAD_L = 0xbc 167 | REG_OFFSET_DMA1SAD_H = 0xbe 168 | REG_OFFSET_DMA1DAD = 0xc0 169 | REG_OFFSET_DMA1DAD_L = 0xc0 170 | REG_OFFSET_DMA1DAD_H = 0xc2 171 | REG_OFFSET_DMA1CNT = 0xc4 172 | REG_OFFSET_DMA1CNT_L = 0xc4 173 | REG_OFFSET_DMA1CNT_H = 0xc6 174 | REG_OFFSET_DMA2 = 0xc8 175 | REG_OFFSET_DMA2SAD = 0xc8 176 | REG_OFFSET_DMA2SAD_L = 0xc8 177 | REG_OFFSET_DMA2SAD_H = 0xca 178 | REG_OFFSET_DMA2DAD = 0xcc 179 | REG_OFFSET_DMA2DAD_L = 0xcc 180 | REG_OFFSET_DMA2DAD_H = 0xce 181 | REG_OFFSET_DMA2CNT = 0xd0 182 | REG_OFFSET_DMA2CNT_L = 0xd0 183 | REG_OFFSET_DMA2CNT_H = 0xd2 184 | REG_OFFSET_DMA3 = 0xd4 185 | REG_OFFSET_DMA3SAD = 0xd4 186 | REG_OFFSET_DMA3SAD_L = 0xd4 187 | REG_OFFSET_DMA3SAD_H = 0xd6 188 | REG_OFFSET_DMA3DAD = 0xd8 189 | REG_OFFSET_DMA3DAD_L = 0xd8 190 | REG_OFFSET_DMA3DAD_H = 0xda 191 | REG_OFFSET_DMA3CNT = 0xdc 192 | REG_OFFSET_DMA3CNT_L = 0xdc 193 | REG_OFFSET_DMA3CNT_H = 0xde 194 | 195 | REG_OFFSET_TM0CNT = 0x100 196 | REG_OFFSET_TM0CNT_L = 0x100 197 | REG_OFFSET_TM0CNT_H = 0x102 198 | REG_OFFSET_TM1CNT = 0x104 199 | REG_OFFSET_TM1CNT_L = 0x104 200 | REG_OFFSET_TM1CNT_H = 0x106 201 | REG_OFFSET_TM2CNT = 0x108 202 | REG_OFFSET_TM2CNT_L = 0x108 203 | REG_OFFSET_TM2CNT_H = 0x10a 204 | REG_OFFSET_TM3CNT = 0x10c 205 | REG_OFFSET_TM3CNT_L = 0x10c 206 | REG_OFFSET_TM3CNT_H = 0x10e 207 | 208 | REG_OFFSET_SIOCNT = 0x128 209 | REG_OFFSET_SIODATA8 = 0x12a 210 | REG_OFFSET_SIODATA32 = 0x120 211 | REG_OFFSET_SIOMLT_SEND = 0x12a 212 | REG_OFFSET_SIOMLT_RECV = 0x120 213 | REG_OFFSET_SIOMULTI0 = 0x120 214 | REG_OFFSET_SIOMULTI1 = 0x122 215 | REG_OFFSET_SIOMULTI2 = 0x124 216 | REG_OFFSET_SIOMULTI3 = 0x126 217 | 218 | REG_OFFSET_KEYINPUT = 0x130 219 | REG_OFFSET_KEYCNT = 0x132 220 | 221 | REG_OFFSET_RCNT = 0x134 222 | 223 | REG_OFFSET_JOYCNT = 0x140 224 | REG_OFFSET_JOYSTAT = 0x158 225 | REG_OFFSET_JOY_RECV = 0x150 226 | REG_OFFSET_JOY_RECV_L = 0x150 227 | REG_OFFSET_JOY_RECV_H = 0x152 228 | REG_OFFSET_JOY_TRANS = 0x154 229 | REG_OFFSET_JOY_TRANS_L = 0x154 230 | REG_OFFSET_JOY_TRANS_H = 0x156 231 | 232 | REG_OFFSET_IME = 0x208 233 | REG_OFFSET_IE = 0x200 234 | REG_OFFSET_IF = 0x202 235 | 236 | REG_OFFSET_WAITCNT = 0x204 237 | 238 | 239 | @------------------------------------------------------------------------------- 240 | @ I/O Register Addresses 241 | @------------------------------------------------------------------------------- 242 | 243 | REG_DISPCNT = (REG_BASE + REG_OFFSET_DISPCNT) 244 | REG_DISPSTAT = (REG_BASE + REG_OFFSET_DISPSTAT) 245 | REG_VCOUNT = (REG_BASE + REG_OFFSET_VCOUNT) 246 | REG_BG0CNT = (REG_BASE + REG_OFFSET_BG0CNT) 247 | REG_BG1CNT = (REG_BASE + REG_OFFSET_BG1CNT) 248 | REG_BG2CNT = (REG_BASE + REG_OFFSET_BG2CNT) 249 | REG_BG3CNT = (REG_BASE + REG_OFFSET_BG3CNT) 250 | REG_BG0HOFS = (REG_BASE + REG_OFFSET_BG0HOFS) 251 | REG_BG0VOFS = (REG_BASE + REG_OFFSET_BG0VOFS) 252 | REG_BG1HOFS = (REG_BASE + REG_OFFSET_BG1HOFS) 253 | REG_BG1VOFS = (REG_BASE + REG_OFFSET_BG1VOFS) 254 | REG_BG2HOFS = (REG_BASE + REG_OFFSET_BG2HOFS) 255 | REG_BG2VOFS = (REG_BASE + REG_OFFSET_BG2VOFS) 256 | REG_BG3HOFS = (REG_BASE + REG_OFFSET_BG3HOFS) 257 | REG_BG3VOFS = (REG_BASE + REG_OFFSET_BG3VOFS) 258 | REG_BG2PA = (REG_BASE + REG_OFFSET_BG2PA) 259 | REG_BG2PB = (REG_BASE + REG_OFFSET_BG2PB) 260 | REG_BG2PC = (REG_BASE + REG_OFFSET_BG2PC) 261 | REG_BG2PD = (REG_BASE + REG_OFFSET_BG2PD) 262 | REG_BG2X_L = (REG_BASE + REG_OFFSET_BG2X_L) 263 | REG_BG2X_H = (REG_BASE + REG_OFFSET_BG2X_H) 264 | REG_BG2Y_L = (REG_BASE + REG_OFFSET_BG2Y_L) 265 | REG_BG2Y_H = (REG_BASE + REG_OFFSET_BG2Y_H) 266 | REG_BG3PA = (REG_BASE + REG_OFFSET_BG3PA) 267 | REG_BG3PB = (REG_BASE + REG_OFFSET_BG3PB) 268 | REG_BG3PC = (REG_BASE + REG_OFFSET_BG3PC) 269 | REG_BG3PD = (REG_BASE + REG_OFFSET_BG3PD) 270 | REG_BG3X_L = (REG_BASE + REG_OFFSET_BG3X_L) 271 | REG_BG3X_H = (REG_BASE + REG_OFFSET_BG3X_H) 272 | REG_BG3Y_L = (REG_BASE + REG_OFFSET_BG3Y_L) 273 | REG_BG3Y_H = (REG_BASE + REG_OFFSET_BG3Y_H) 274 | REG_WIN0H = (REG_BASE + REG_OFFSET_WIN0H) 275 | REG_WIN1H = (REG_BASE + REG_OFFSET_WIN1H) 276 | REG_WIN0V = (REG_BASE + REG_OFFSET_WIN0V) 277 | REG_WIN1V = (REG_BASE + REG_OFFSET_WIN1V) 278 | REG_WININ = (REG_BASE + REG_OFFSET_WININ) 279 | REG_WINOUT = (REG_BASE + REG_OFFSET_WINOUT) 280 | REG_MOSAIC = (REG_BASE + REG_OFFSET_MOSAIC) 281 | REG_BLDCNT = (REG_BASE + REG_OFFSET_BLDCNT) 282 | REG_BLDALPHA = (REG_BASE + REG_OFFSET_BLDALPHA) 283 | REG_BLDY = (REG_BASE + REG_OFFSET_BLDY) 284 | 285 | REG_SOUND1CNT = (REG_BASE + REG_OFFSET_SOUND1CNT) 286 | REG_SOUND1CNT_L = (REG_BASE + REG_OFFSET_SOUND1CNT_L) 287 | REG_NR10 = (REG_BASE + REG_OFFSET_NR10) 288 | REG_SOUND1CNT_H = (REG_BASE + REG_OFFSET_SOUND1CNT_H) 289 | REG_NR11 = (REG_BASE + REG_OFFSET_NR11) 290 | REG_NR12 = (REG_BASE + REG_OFFSET_NR12) 291 | REG_SOUND1CNT_X = (REG_BASE + REG_OFFSET_SOUND1CNT_X) 292 | REG_NR13 = (REG_BASE + REG_OFFSET_NR13) 293 | REG_NR14 = (REG_BASE + REG_OFFSET_NR14) 294 | REG_SOUND2CNT = (REG_BASE + REG_OFFSET_SOUND2CNT) 295 | REG_SOUND2CNT_L = (REG_BASE + REG_OFFSET_SOUND2CNT_L) 296 | REG_NR21 = (REG_BASE + REG_OFFSET_NR21) 297 | REG_NR22 = (REG_BASE + REG_OFFSET_NR22) 298 | REG_SOUND2CNT_H = (REG_BASE + REG_OFFSET_SOUND2CNT_H) 299 | REG_NR23 = (REG_BASE + REG_OFFSET_NR23) 300 | REG_NR24 = (REG_BASE + REG_OFFSET_NR24) 301 | REG_SOUND3CNT = (REG_BASE + REG_OFFSET_SOUND3CNT) 302 | REG_SOUND3CNT_L = (REG_BASE + REG_OFFSET_SOUND3CNT_L) 303 | REG_NR30 = (REG_BASE + REG_OFFSET_NR30) 304 | REG_SOUND3CNT_H = (REG_BASE + REG_OFFSET_SOUND3CNT_H) 305 | REG_NR31 = (REG_BASE + REG_OFFSET_NR31) 306 | REG_NR32 = (REG_BASE + REG_OFFSET_NR32) 307 | REG_SOUND3CNT_X = (REG_BASE + REG_OFFSET_SOUND3CNT_X) 308 | REG_NR33 = (REG_BASE + REG_OFFSET_NR33) 309 | REG_NR34 = (REG_BASE + REG_OFFSET_NR34) 310 | REG_SOUND4CNT = (REG_BASE + REG_OFFSET_SOUND4CNT) 311 | REG_SOUND4CNT_L = (REG_BASE + REG_OFFSET_SOUND4CNT_L) 312 | REG_NR41 = (REG_BASE + REG_OFFSET_NR41) 313 | REG_NR42 = (REG_BASE + REG_OFFSET_NR42) 314 | REG_SOUND4CNT_H = (REG_BASE + REG_OFFSET_SOUND4CNT_H) 315 | REG_NR43 = (REG_BASE + REG_OFFSET_NR43) 316 | REG_NR44 = (REG_BASE + REG_OFFSET_NR44) 317 | REG_SOUNDCNT = (REG_BASE + REG_OFFSET_SOUNDCNT) 318 | REG_SOUNDCNT_L = (REG_BASE + REG_OFFSET_SOUNDCNT_L) 319 | REG_NR50 = (REG_BASE + REG_OFFSET_NR50) 320 | REG_NR51 = (REG_BASE + REG_OFFSET_NR51) 321 | REG_SOUNDCNT_H = (REG_BASE + REG_OFFSET_SOUNDCNT_H) 322 | REG_SOUNDCNT_X = (REG_BASE + REG_OFFSET_SOUNDCNT_X) 323 | REG_NR52 = (REG_BASE + REG_OFFSET_NR52) 324 | REG_SOUNDBIAS = (REG_BASE + REG_OFFSET_SOUNDBIAS) 325 | REG_WAVE_RAM = (REG_BASE + REG_OFFSET_WAVE_RAM) 326 | REG_WAVE_RAM0 = (REG_BASE + REG_OFFSET_WAVE_RAM0) 327 | REG_WAVE_RAM0_L = (REG_BASE + REG_OFFSET_WAVE_RAM0_L) 328 | REG_WAVE_RAM0_H = (REG_BASE + REG_OFFSET_WAVE_RAM0_H) 329 | REG_WAVE_RAM1 = (REG_BASE + REG_OFFSET_WAVE_RAM1) 330 | REG_WAVE_RAM1_L = (REG_BASE + REG_OFFSET_WAVE_RAM1_L) 331 | REG_WAVE_RAM1_H = (REG_BASE + REG_OFFSET_WAVE_RAM1_H) 332 | REG_WAVE_RAM2 = (REG_BASE + REG_OFFSET_WAVE_RAM2) 333 | REG_WAVE_RAM2_L = (REG_BASE + REG_OFFSET_WAVE_RAM2_L) 334 | REG_WAVE_RAM2_H = (REG_BASE + REG_OFFSET_WAVE_RAM2_H) 335 | REG_WAVE_RAM3 = (REG_BASE + REG_OFFSET_WAVE_RAM3) 336 | REG_WAVE_RAM3_L = (REG_BASE + REG_OFFSET_WAVE_RAM3_L) 337 | REG_WAVE_RAM3_H = (REG_BASE + REG_OFFSET_WAVE_RAM3_H) 338 | REG_FIFO = (REG_BASE + REG_OFFSET_FIFO) 339 | REG_FIFO_A = (REG_BASE + REG_OFFSET_FIFO_A) 340 | REG_FIFO_A_L = (REG_BASE + REG_OFFSET_FIFO_A_L) 341 | REG_FIFO_A_H = (REG_BASE + REG_OFFSET_FIFO_A_H) 342 | REG_FIFO_B = (REG_BASE + REG_OFFSET_FIFO_B) 343 | REG_FIFO_B_L = (REG_BASE + REG_OFFSET_FIFO_B_L) 344 | REG_FIFO_B_H = (REG_BASE + REG_OFFSET_FIFO_B_H) 345 | 346 | REG_DMA0 = (REG_BASE + REG_OFFSET_DMA0) 347 | REG_DMA0SAD = (REG_BASE + REG_OFFSET_DMA0SAD) 348 | REG_DMA0SAD_L = (REG_BASE + REG_OFFSET_DMA0SAD_L) 349 | REG_DMA0SAD_H = (REG_BASE + REG_OFFSET_DMA0SAD_H) 350 | REG_DMA0DAD = (REG_BASE + REG_OFFSET_DMA0DAD) 351 | REG_DMA0DAD_L = (REG_BASE + REG_OFFSET_DMA0DAD_L) 352 | REG_DMA0DAD_H = (REG_BASE + REG_OFFSET_DMA0DAD_H) 353 | REG_DMA0CNT = (REG_BASE + REG_OFFSET_DMA0CNT) 354 | REG_DMA0CNT_L = (REG_BASE + REG_OFFSET_DMA0CNT_L) 355 | REG_DMA0CNT_H = (REG_BASE + REG_OFFSET_DMA0CNT_H) 356 | REG_DMA1 = (REG_BASE + REG_OFFSET_DMA1) 357 | REG_DMA1SAD = (REG_BASE + REG_OFFSET_DMA1SAD) 358 | REG_DMA1SAD_L = (REG_BASE + REG_OFFSET_DMA1SAD_L) 359 | REG_DMA1SAD_H = (REG_BASE + REG_OFFSET_DMA1SAD_H) 360 | REG_DMA1DAD = (REG_BASE + REG_OFFSET_DMA1DAD) 361 | REG_DMA1DAD_L = (REG_BASE + REG_OFFSET_DMA1DAD_L) 362 | REG_DMA1DAD_H = (REG_BASE + REG_OFFSET_DMA1DAD_H) 363 | REG_DMA1CNT = (REG_BASE + REG_OFFSET_DMA1CNT) 364 | REG_DMA1CNT_L = (REG_BASE + REG_OFFSET_DMA1CNT_L) 365 | REG_DMA1CNT_H = (REG_BASE + REG_OFFSET_DMA1CNT_H) 366 | REG_DMA2 = (REG_BASE + REG_OFFSET_DMA2) 367 | REG_DMA2SAD = (REG_BASE + REG_OFFSET_DMA2SAD) 368 | REG_DMA2SAD_L = (REG_BASE + REG_OFFSET_DMA2SAD_L) 369 | REG_DMA2SAD_H = (REG_BASE + REG_OFFSET_DMA2SAD_H) 370 | REG_DMA2DAD = (REG_BASE + REG_OFFSET_DMA2DAD) 371 | REG_DMA2DAD_L = (REG_BASE + REG_OFFSET_DMA2DAD_L) 372 | REG_DMA2DAD_H = (REG_BASE + REG_OFFSET_DMA2DAD_H) 373 | REG_DMA2CNT = (REG_BASE + REG_OFFSET_DMA2CNT) 374 | REG_DMA2CNT_L = (REG_BASE + REG_OFFSET_DMA2CNT_L) 375 | REG_DMA2CNT_H = (REG_BASE + REG_OFFSET_DMA2CNT_H) 376 | REG_DMA3 = (REG_BASE + REG_OFFSET_DMA3) 377 | REG_DMA3SAD = (REG_BASE + REG_OFFSET_DMA3SAD) 378 | REG_DMA3SAD_L = (REG_BASE + REG_OFFSET_DMA3SAD_L) 379 | REG_DMA3SAD_H = (REG_BASE + REG_OFFSET_DMA3SAD_H) 380 | REG_DMA3DAD = (REG_BASE + REG_OFFSET_DMA3DAD) 381 | REG_DMA3DAD_L = (REG_BASE + REG_OFFSET_DMA3DAD_L) 382 | REG_DMA3DAD_H = (REG_BASE + REG_OFFSET_DMA3DAD_H) 383 | REG_DMA3CNT = (REG_BASE + REG_OFFSET_DMA3CNT) 384 | REG_DMA3CNT_L = (REG_BASE + REG_OFFSET_DMA3CNT_L) 385 | REG_DMA3CNT_H = (REG_BASE + REG_OFFSET_DMA3CNT_H) 386 | 387 | REG_TM0CNT = (REG_BASE + REG_OFFSET_TM0CNT) 388 | REG_TM0CNT_L = (REG_BASE + REG_OFFSET_TM0CNT_L) 389 | REG_TM0CNT_H = (REG_BASE + REG_OFFSET_TM0CNT_H) 390 | REG_TM1CNT = (REG_BASE + REG_OFFSET_TM1CNT) 391 | REG_TM1CNT_L = (REG_BASE + REG_OFFSET_TM1CNT_L) 392 | REG_TM1CNT_H = (REG_BASE + REG_OFFSET_TM1CNT_H) 393 | REG_TM2CNT = (REG_BASE + REG_OFFSET_TM2CNT) 394 | REG_TM2CNT_L = (REG_BASE + REG_OFFSET_TM2CNT_L) 395 | REG_TM2CNT_H = (REG_BASE + REG_OFFSET_TM2CNT_H) 396 | REG_TM3CNT = (REG_BASE + REG_OFFSET_TM3CNT) 397 | REG_TM3CNT_L = (REG_BASE + REG_OFFSET_TM3CNT_L) 398 | REG_TM3CNT_H = (REG_BASE + REG_OFFSET_TM3CNT_H) 399 | 400 | REG_SIOCNT = (REG_BASE + REG_OFFSET_SIOCNT) 401 | REG_SIODATA8 = (REG_BASE + REG_OFFSET_SIODATA8) 402 | REG_SIODATA32 = (REG_BASE + REG_OFFSET_SIODATA32) 403 | REG_SIOMLT_SEND = (REG_BASE + REG_OFFSET_SIOMLT_SEND) 404 | REG_SIOMLT_RECV = (REG_BASE + REG_OFFSET_SIOMLT_RECV) 405 | REG_SIOMULTI0 = (REG_BASE + REG_OFFSET_SIOMULTI0) 406 | REG_SIOMULTI1 = (REG_BASE + REG_OFFSET_SIOMULTI1) 407 | REG_SIOMULTI2 = (REG_BASE + REG_OFFSET_SIOMULTI2) 408 | REG_SIOMULTI3 = (REG_BASE + REG_OFFSET_SIOMULTI3) 409 | 410 | REG_KEYINPUT = (REG_BASE + REG_OFFSET_KEYINPUT) 411 | REG_KEYCNT = (REG_BASE + REG_OFFSET_KEYCNT) 412 | 413 | REG_RCNT = (REG_BASE + REG_OFFSET_RCNT) 414 | 415 | REG_JOYCNT = (REG_BASE + REG_OFFSET_JOYCNT) 416 | REG_JOYSTAT = (REG_BASE + REG_OFFSET_JOYSTAT) 417 | REG_JOY_RECV = (REG_BASE + REG_OFFSET_JOY_RECV) 418 | REG_JOY_RECV_L = (REG_BASE + REG_OFFSET_JOY_RECV_L) 419 | REG_JOY_RECV_H = (REG_BASE + REG_OFFSET_JOY_RECV_H) 420 | REG_JOY_TRANS = (REG_BASE + REG_OFFSET_JOY_TRANS) 421 | REG_JOY_TRANS_L = (REG_BASE + REG_OFFSET_JOY_TRANS_L) 422 | REG_JOY_TRANS_H = (REG_BASE + REG_OFFSET_JOY_TRANS_H) 423 | 424 | REG_IME = (REG_BASE + REG_OFFSET_IME) 425 | REG_IE = (REG_BASE + REG_OFFSET_IE) 426 | REG_IF = (REG_BASE + REG_OFFSET_IF) 427 | 428 | REG_WAITCNT = (REG_BASE + REG_OFFSET_WAITCNT) 429 | 430 | @------------------------------------------------------------------------------- 431 | @ I/O Register Flags 432 | @------------------------------------------------------------------------------- 433 | 434 | @ DMA 435 | DMA_DEST_INC = 0x0000 436 | DMA_DEST_DEC = 0x0020 437 | DMA_DEST_FIXED = 0x0040 438 | DMA_DEST_RELOAD = 0x0060 439 | DMA_SRC_INC = 0x0000 440 | DMA_SRC_DEC = 0x0080 441 | DMA_SRC_FIXED = 0x0100 442 | DMA_REPEAT = 0x0200 443 | DMA_16BIT = 0x0000 444 | DMA_32BIT = 0x0400 445 | DMA_DREQ_ON = 0x0800 446 | DMA_START_NOW = 0x0000 447 | DMA_START_VBLANK = 0x1000 448 | DMA_START_HBLANK = 0x2000 449 | DMA_START_SPECIAL = 0x3000 450 | DMA_START_MASK = 0x3000 451 | DMA_INTR_ENABLE = 0x4000 452 | DMA_ENABLE = 0x8000 453 | 454 | @ Interrupt Flags 455 | INTR_FLAG_VBLANK = (1 << 0) 456 | INTR_FLAG_HBLANK = (1 << 1) 457 | INTR_FLAG_VCOUNT = (1 << 2) 458 | INTR_FLAG_TIMER0 = (1 << 3) 459 | INTR_FLAG_TIMER1 = (1 << 4) 460 | INTR_FLAG_TIMER2 = (1 << 5) 461 | INTR_FLAG_TIMER3 = (1 << 6) 462 | INTR_FLAG_SERIAL = (1 << 7) 463 | INTR_FLAG_DMA0 = (1 << 8) 464 | INTR_FLAG_DMA1 = (1 << 9) 465 | INTR_FLAG_DMA2 = (1 << 10) 466 | INTR_FLAG_DMA3 = (1 << 11) 467 | INTR_FLAG_KEYPAD = (1 << 12) 468 | INTR_FLAG_GAMEPAK = (1 << 13) 469 | 470 | VCOUNT_VBLANK = 160 471 | TOTAL_SCANLINES = 228 472 | -------------------------------------------------------------------------------- /include/gba/defines.h: -------------------------------------------------------------------------------- 1 | #ifndef GUARD_GBA_DEFINES 2 | #define GUARD_GBA_DEFINES 3 | 4 | #include 5 | 6 | #define TRUE 1 7 | #define FALSE 0 8 | 9 | #define IWRAM_DATA __attribute__((section("iwram_data"))) 10 | #define EWRAM_DATA __attribute__((section("ewram_data"))) 11 | 12 | #define ALIGNED(n) __attribute__((aligned(n))) 13 | 14 | #define SOUND_INFO_PTR (*(struct SoundInfo **)0x3007FF0) 15 | #define INTR_CHECK (*(u16 *)0x3007FF8) 16 | #define INTR_VECTOR (*(void **)0x3007FFC) 17 | 18 | #define EWRAM_START 0x02000000 19 | #define EWRAM_SIZE 0x40000 20 | #define IWRAM_START 0x03000000 21 | #define IWRAM_SIZE 0x7E00 22 | 23 | #define PLTT 0x5000000 24 | #define PLTT_SIZE 0x400 25 | 26 | #define BG_PLTT PLTT 27 | #define BG_PLTT_SIZE 0x200 28 | 29 | #define OBJ_PLTT (PLTT + 0x200) 30 | #define OBJ_PLTT_SIZE 0x200 31 | 32 | #define VRAM 0x6000000 33 | #define VRAM_SIZE 0x18000 34 | 35 | #define BG_VRAM VRAM 36 | #define BG_VRAM_SIZE 0x10000 37 | #define BG_CHAR_ADDR(n) (void *)(BG_VRAM + (0x4000 * (n))) 38 | #define BG_SCREEN_ADDR(n) (void *)(BG_VRAM + (0x800 * (n))) 39 | #define BG_TILE_ADDR(n) (void *)(BG_VRAM + (0x80 * (n))) 40 | 41 | // text-mode BG 42 | #define OBJ_VRAM0 (void *)(VRAM + 0x10000) 43 | #define OBJ_VRAM0_SIZE 0x8000 44 | 45 | // bitmap-mode BG 46 | #define OBJ_VRAM1 (void *)(VRAM + 0x14000) 47 | #define OBJ_VRAM1_SIZE 0x4000 48 | 49 | #define OAM 0x7000000 50 | #define OAM_SIZE 0x400 51 | 52 | #define DISPLAY_WIDTH 240 53 | #define DISPLAY_HEIGHT 160 54 | 55 | #define TILE_SIZE_4BPP 32 56 | #define TILE_SIZE_8BPP 64 57 | 58 | #define TOTAL_OBJ_TILE_COUNT 1024 59 | 60 | #define RGB(r, g, b) ((r) | ((g) << 5) | ((b) << 10)) 61 | 62 | #define RGB_BLACK RGB(0, 0, 0) 63 | #define RGB_WHITE RGB(31, 31, 31) 64 | 65 | #define WIN_RANGE(a, b) (((a) << 8) | (b)) 66 | 67 | #endif // GUARD_GBA_DEFINES 68 | -------------------------------------------------------------------------------- /include/gba/flash_internal.h: -------------------------------------------------------------------------------- 1 | #ifndef GUARD_GBA_FLASH_INTERNAL_H 2 | #define GUARD_GBA_FLASH_INTERNAL_H 3 | 4 | #define FLASH_BASE ((u8 *)0xE000000) 5 | 6 | #define FLASH_WRITE(addr, data) ((*(vu8 *)(FLASH_BASE + (addr))) = (data)) 7 | 8 | #define FLASH_ROM_SIZE_1M 131072 // 1 megabit ROM 9 | 10 | #define SECTORS_PER_BANK 16 11 | 12 | struct FlashSector 13 | { 14 | u32 size; 15 | u8 shift; 16 | u16 count; 17 | u16 top; 18 | }; 19 | 20 | struct FlashType { 21 | u32 romSize; 22 | struct FlashSector sector; 23 | u16 wait[2]; // game pak bus read/write wait 24 | 25 | // TODO: add support for anonymous unions/structs if possible 26 | union { 27 | struct { 28 | u8 makerId; 29 | u8 deviceId; 30 | } separate; 31 | u16 joined; 32 | } ids; 33 | }; 34 | 35 | struct FlashSetupInfo 36 | { 37 | u16 (*programFlashByte)(u16, u32, u8); 38 | u16 (*programFlashSector)(u16, void *); 39 | u16 (*eraseFlashChip)(void); 40 | u16 (*eraseFlashSector)(u16); 41 | u16 (*WaitForFlashWrite)(u8, u8 *, u8); 42 | const u16 *maxTime; 43 | struct FlashType type; 44 | }; 45 | 46 | extern u16 gFlashNumRemainingBytes; 47 | 48 | extern u16 (*ProgramFlashByte)(u16, u32, u8); 49 | extern u16 (*ProgramFlashSector)(u16, void *); 50 | extern u16 (*EraseFlashChip)(void); 51 | extern u16 (*EraseFlashSector)(u16); 52 | extern u16 (*WaitForFlashWrite)(u8, u8 *, u8); 53 | extern const u16 *gFlashMaxTime; 54 | extern const struct FlashType *gFlash; 55 | 56 | extern u8 (*PollFlashStatus)(u8 *); 57 | extern u8 gFlashTimeoutFlag; 58 | 59 | extern const struct FlashSetupInfo MX29L010; 60 | extern const struct FlashSetupInfo LE26FV10N1TS; 61 | extern const struct FlashSetupInfo DefaultFlash; 62 | 63 | void SwitchFlashBank(u8 bankNum); 64 | u16 ReadFlashId(void); 65 | void StartFlashTimer(u8 phase); 66 | void SetReadFlash1(u16 *dest); 67 | void StopFlashTimer(void); 68 | u16 SetFlashTimerIntr(u8 timerNum, void (**intrFunc)(void)); 69 | u32 ProgramFlashSectorAndVerify(u16 sectorNum, u8 *src); 70 | void ReadFlash(u16 sectorNum, u32 offset, void *dest, u32 size); 71 | u32 ProgramFlashSectorAndVerifyNBytes(u16 sectorNum, void *dataSrc, u32 n); 72 | 73 | u16 WaitForFlashWrite_Common(u8 phase, u8 *addr, u8 lastData); 74 | 75 | u16 EraseFlashChip_MX(void); 76 | u16 EraseFlashSector_MX(u16 sectorNum); 77 | u16 ProgramFlashByte_MX(u16 sectorNum, u32 offset, u8 data); 78 | u16 ProgramFlashSector_MX(u16 sectorNum, void *src); 79 | 80 | // agb_flash_1m 81 | u16 IdentifyFlash(void); 82 | 83 | #endif // GUARD_GBA_FLASH_INTERNAL_H 84 | -------------------------------------------------------------------------------- /include/gba/gba.h: -------------------------------------------------------------------------------- 1 | #ifndef GUARD_GBA_GBA_H 2 | #define GUARD_GBA_GBA_H 3 | 4 | #include "gba/defines.h" 5 | #include "gba/io_reg.h" 6 | #include "gba/types.h" 7 | #include "gba/multiboot.h" 8 | #include "gba/syscall.h" 9 | #include "gba/macro.h" 10 | #include "gba/isagbprint.h" 11 | 12 | #endif // GUARD_GBA_GBA_H 13 | -------------------------------------------------------------------------------- /include/gba/isagbprint.h: -------------------------------------------------------------------------------- 1 | #ifndef GUARD_GBA_ISAGBPRINT_H 2 | #define GUARD_GBA_ISAGBPRINT_H 3 | 4 | #ifdef NDEBUG 5 | #define AGBPrintInit() 6 | #define AGBPutc(cChr) 7 | #define AGBPrint(pBuf) 8 | #define AGBPrintf(pBuf, ...) 9 | #define AGBPrintFlush1Block() 10 | #define AGBPrintFlush() 11 | #define AGBAssert(pFile, nLine, pExpression, nStopProgram) 12 | #else 13 | void AGBPrintInit(void); 14 | void AGBPutc(const char cChr); 15 | void AGBPrint(const char *pBuf); 16 | void AGBPrintf(const char *pBuf, ...); 17 | void AGBPrintFlush1Block(void); 18 | void AGBPrintFlush(void); 19 | void AGBAssert(const char *pFile, int nLine, const char *pExpression, int nStopProgram); 20 | #endif 21 | 22 | #undef AGB_ASSERT 23 | #ifdef NDEBUG 24 | #define AGB_ASSERT(exp) 25 | #else 26 | #define AGB_ASSERT(exp) (exp) ? ((void*)0) : AGBAssert(__FILE__, __LINE__, #exp, 1); 27 | #endif 28 | 29 | #undef AGB_WARNING 30 | #ifdef NDEBUG 31 | #define AGB_WARNING(exp) 32 | #else 33 | #define AGB_WARNING(exp) (exp) ? ((void*)0) : AGBAssert(__FILE__, __LINE__, #exp, 0); 34 | #endif 35 | 36 | // for matching purposes 37 | 38 | #ifdef NDEBUG 39 | #define AGB_ASSERT_EX(exp, file, line) 40 | #else 41 | #define AGB_ASSERT_EX(exp, file, line) (exp) ? ((void*)0) : AGBAssert(file, line, #exp, 1); 42 | #endif 43 | 44 | #ifdef NDEBUG 45 | #define AGB_WARNING_EX(exp, file, line) 46 | #else 47 | #define AGB_WARNING_EX(exp, file, line) (exp) ? ((void*)0) : AGBAssert(file, line, #exp, 0); 48 | #endif 49 | 50 | #endif // GUARD_GBA_ISAGBPRINT_H 51 | -------------------------------------------------------------------------------- /include/gba/m4a_internal.h: -------------------------------------------------------------------------------- 1 | #ifndef GUARD_M4A_INTERNAL_H 2 | #define GUARD_M4A_INTERNAL_H 3 | 4 | #include "gba/gba.h" 5 | 6 | // ASCII encoding of 'Smsh' in reverse 7 | // This is presumably short for SMASH, the developer of MKS4AGB. 8 | #define ID_NUMBER 0x68736D53 9 | 10 | #define C_V 0x40 // center value for PAN, BEND, and TUNE 11 | 12 | #define SOUND_MODE_REVERB_VAL 0x0000007F 13 | #define SOUND_MODE_REVERB_SET 0x00000080 14 | #define SOUND_MODE_MAXCHN 0x00000F00 15 | #define SOUND_MODE_MAXCHN_SHIFT 8 16 | #define SOUND_MODE_MASVOL 0x0000F000 17 | #define SOUND_MODE_MASVOL_SHIFT 12 18 | #define SOUND_MODE_FREQ_05734 0x00010000 19 | #define SOUND_MODE_FREQ_07884 0x00020000 20 | #define SOUND_MODE_FREQ_10512 0x00030000 21 | #define SOUND_MODE_FREQ_13379 0x00040000 22 | #define SOUND_MODE_FREQ_15768 0x00050000 23 | #define SOUND_MODE_FREQ_18157 0x00060000 24 | #define SOUND_MODE_FREQ_21024 0x00070000 25 | #define SOUND_MODE_FREQ_26758 0x00080000 26 | #define SOUND_MODE_FREQ_31536 0x00090000 27 | #define SOUND_MODE_FREQ_36314 0x000A0000 28 | #define SOUND_MODE_FREQ_40137 0x000B0000 29 | #define SOUND_MODE_FREQ_42048 0x000C0000 30 | #define SOUND_MODE_FREQ 0x000F0000 31 | #define SOUND_MODE_FREQ_SHIFT 16 32 | #define SOUND_MODE_DA_BIT_9 0x00800000 33 | #define SOUND_MODE_DA_BIT_8 0x00900000 34 | #define SOUND_MODE_DA_BIT_7 0x00A00000 35 | #define SOUND_MODE_DA_BIT_6 0x00B00000 36 | #define SOUND_MODE_DA_BIT 0x00B00000 37 | #define SOUND_MODE_DA_BIT_SHIFT 20 38 | 39 | struct WaveData 40 | { 41 | u16 type; 42 | u16 status; 43 | u32 freq; 44 | u32 loopStart; 45 | u32 size; // number of samples 46 | s8 data[1]; // samples 47 | }; 48 | 49 | #define TONEDATA_TYPE_CGB 0x07 50 | #define TONEDATA_TYPE_FIX 0x08 51 | #define TONEDATA_TYPE_SPL 0x40 // key split 52 | #define TONEDATA_TYPE_RHY 0x80 // rhythm 53 | 54 | #define TONEDATA_P_S_PAN 0xc0 55 | #define TONEDATA_P_S_PAM TONEDATA_P_S_PAN 56 | 57 | struct ToneData 58 | { 59 | u8 type; 60 | u8 key; 61 | u8 length; // sound length (compatible sound) 62 | u8 pan_sweep; // pan or sweep (compatible sound ch. 1) 63 | struct WaveData *wav; 64 | u8 attack; 65 | u8 decay; 66 | u8 sustain; 67 | u8 release; 68 | }; 69 | 70 | struct CgbChannel 71 | { 72 | u8 sf; 73 | u8 ty; 74 | u8 rightVolume; 75 | u8 leftVolume; 76 | u8 at; 77 | u8 de; 78 | u8 su; 79 | u8 re; 80 | u8 ky; 81 | u8 ev; 82 | u8 eg; 83 | u8 ec; 84 | u8 echoVolume; 85 | u8 echoLength; 86 | u8 d1; 87 | u8 d2; 88 | u8 gt; 89 | u8 mk; 90 | u8 ve; 91 | u8 pr; 92 | u8 rp; 93 | u8 d3[3]; 94 | u8 d5; 95 | u8 sg; 96 | u8 n4; 97 | u8 pan; 98 | u8 panMask; 99 | u8 mo; 100 | u8 le; 101 | u8 sw; 102 | u32 fr; 103 | u32 wp; 104 | u32 cp; 105 | u32 tp; 106 | u32 pp; 107 | u32 np; 108 | u8 d4[8]; 109 | }; 110 | 111 | struct MusicPlayerTrack; 112 | 113 | struct SoundChannel 114 | { 115 | u8 status; 116 | u8 type; 117 | u8 rightVolume; 118 | u8 leftVolume; 119 | u8 attack; 120 | u8 decay; 121 | u8 sustain; 122 | u8 release; 123 | u8 ky; 124 | u8 ev; 125 | u8 er; 126 | u8 el; 127 | u8 echoVolume; 128 | u8 echoLength; 129 | u8 d1; 130 | u8 d2; 131 | u8 gt; 132 | u8 mk; 133 | u8 ve; 134 | u8 pr; 135 | u8 rp; 136 | u8 d3[3]; 137 | u32 ct; 138 | u32 fw; 139 | u32 freq; 140 | struct WaveData *wav; 141 | u32 cp; 142 | struct MusicPlayerTrack *track; 143 | u32 pp; 144 | u32 np; 145 | u32 d4; 146 | u16 xpi; 147 | u16 xpc; 148 | }; 149 | 150 | #define MAX_DIRECTSOUND_CHANNELS 12 151 | 152 | #define PCM_DMA_BUF_SIZE 1584 // size of Direct Sound buffer 153 | 154 | struct SoundInfo 155 | { 156 | // This field is normally equal to ID_NUMBER but it is set to other 157 | // values during sensitive operations for locking purposes. 158 | // This field should be volatile but isn't. This could potentially cause 159 | // race conditions. 160 | u32 ident; 161 | 162 | vu8 pcmDmaCounter; 163 | 164 | // Direct Sound 165 | u8 reverb; 166 | u8 maxChans; 167 | u8 masterVolume; 168 | u8 freq; 169 | 170 | u8 mode; 171 | u8 c15; 172 | u8 pcmDmaPeriod; // number of V-blanks per PCM DMA 173 | u8 maxLines; 174 | u8 gap[3]; 175 | s32 pcmSamplesPerVBlank; 176 | s32 pcmFreq; 177 | s32 divFreq; 178 | struct CgbChannel *cgbChans; 179 | u32 func; 180 | u32 intp; 181 | void (*CgbSound)(void); 182 | void (*CgbOscOff)(u8); 183 | u32 (*MidiKeyToCgbFreq)(u8, u8, u8); 184 | u32 MPlayJumpTable; 185 | u32 plynote; 186 | u32 ExtVolPit; 187 | u8 gap2[16]; 188 | struct SoundChannel chans[MAX_DIRECTSOUND_CHANNELS]; 189 | s8 pcmBuffer[PCM_DMA_BUF_SIZE * 2]; 190 | }; 191 | 192 | struct SongHeader 193 | { 194 | u8 trackCount; 195 | u8 blockCount; 196 | u8 priority; 197 | u8 reverb; 198 | struct ToneData *tone; 199 | u8 *part[1]; 200 | }; 201 | 202 | struct PokemonCrySong 203 | { 204 | u8 trackCount; 205 | u8 blockCount; 206 | u8 priority; 207 | u8 reverb; 208 | struct ToneData *tone; 209 | u8 *part[2]; 210 | u8 gap; 211 | u8 part0; // 0x11 212 | u8 tuneValue; // 0x12 213 | u8 gotoCmd; // 0x13 214 | u32 gotoTarget; // 0x14 215 | u8 part1; // 0x18 216 | u8 tuneValue2; // 0x19 217 | u8 cont[2]; // 0x1A 218 | u8 volCmd; // 0x1C 219 | u8 volumeValue; // 0x1D 220 | u8 unkCmd0D[2]; // 0x1E 221 | u32 unkCmd0DParam; // 0x20 222 | u8 xreleCmd[2]; // 0x24 223 | u8 releaseValue; // 0x26 224 | u8 panCmd; 225 | u8 panValue; // 0x28 226 | u8 tieCmd; // 0x29 227 | u8 tieKeyValue; // 0x2A 228 | u8 tieVelocityValue; // 0x2B 229 | u8 unkCmd0C[2]; // 0x2C 230 | u16 unkCmd0CParam; // 0x2E 231 | u8 end[2]; // 0x30 232 | }; 233 | 234 | #define MPT_FLG_VOLSET 0x01 235 | #define MPT_FLG_VOLCHG 0x03 236 | #define MPT_FLG_PITSET 0x04 237 | #define MPT_FLG_PITCHG 0x0C 238 | #define MPT_FLG_START 0x40 239 | #define MPT_FLG_EXIST 0x80 240 | 241 | struct MusicPlayerTrack 242 | { 243 | u8 flags; 244 | u8 wait; 245 | u8 patternLevel; 246 | u8 repN; 247 | u8 gateTime; 248 | u8 key; 249 | u8 velocity; 250 | u8 runningStatus; 251 | u8 keyM; 252 | u8 pitM; 253 | s8 keyShift; 254 | s8 keyShiftX; 255 | s8 tune; 256 | u8 pitX; 257 | s8 bend; 258 | u8 bendRange; 259 | u8 volMR; 260 | u8 volML; 261 | u8 vol; 262 | u8 volX; 263 | s8 pan; 264 | s8 panX; 265 | s8 modM; 266 | u8 mod; 267 | u8 modT; 268 | u8 lfoSpeed; 269 | u8 lfoSpeedC; 270 | u8 lfoDelay; 271 | u8 lfoDelayC; 272 | u8 priority; 273 | u8 echoVolume; 274 | u8 echoLength; 275 | struct SoundChannel *chan; 276 | struct ToneData tone; 277 | u8 gap[10]; 278 | u16 unk_3A; 279 | u32 unk_3C; 280 | u8 *cmdPtr; 281 | u8 *patternStack[3]; 282 | }; 283 | 284 | #define MUSICPLAYER_STATUS_TRACK 0x0000ffff 285 | #define MUSICPLAYER_STATUS_PAUSE 0x80000000 286 | 287 | #define MAX_MUSICPLAYER_TRACKS 16 288 | 289 | #define TEMPORARY_FADE 0x0001 290 | #define FADE_IN 0x0002 291 | #define FADE_VOL_MAX 64 292 | #define FADE_VOL_SHIFT 2 293 | 294 | struct MusicPlayerInfo 295 | { 296 | struct SongHeader *songHeader; 297 | u32 status; 298 | u8 trackCount; 299 | u8 priority; 300 | u8 cmd; 301 | u8 unk_B; 302 | u32 clock; 303 | u8 gap[8]; 304 | u8 *memAccArea; 305 | u16 tempoD; 306 | u16 tempoU; 307 | u16 tempoI; 308 | u16 tempoC; 309 | u16 fadeOI; 310 | u16 fadeOC; 311 | u16 fadeOV; 312 | struct MusicPlayerTrack *tracks; 313 | struct ToneData *tone; 314 | u32 ident; 315 | u32 func; 316 | u32 intp; 317 | }; 318 | 319 | struct MusicPlayer 320 | { 321 | struct MusicPlayerInfo *info; 322 | struct MusicPlayerTrack *track; 323 | u8 unk_8; 324 | u16 unk_A; 325 | }; 326 | 327 | struct Song 328 | { 329 | struct SongHeader *header; 330 | u16 ms; 331 | u16 me; 332 | }; 333 | 334 | extern const struct MusicPlayer gMPlayTable[]; 335 | extern const struct Song gSongTable[]; 336 | 337 | 338 | 339 | extern u8 gMPlayMemAccArea[]; 340 | 341 | extern char SoundMainRAM[]; 342 | 343 | extern void *gMPlayJumpTable[]; 344 | 345 | typedef void (*XcmdFunc)(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 346 | extern const XcmdFunc gXcmdTable[]; 347 | 348 | extern struct CgbChannel gCgbChans[]; 349 | 350 | extern const u8 gScaleTable[]; 351 | extern const u32 gFreqTable[]; 352 | extern const u16 gPcmSamplesPerVBlankTable[]; 353 | 354 | extern const u8 gCgbScaleTable[]; 355 | extern const s16 gCgbFreqTable[]; 356 | extern const u8 gNoiseTable[]; 357 | 358 | extern const struct PokemonCrySong gPokemonCrySongTemplate; 359 | 360 | extern const struct ToneData voicegroup_pokemon_cry; 361 | 362 | extern char gNumMusicPlayers[]; 363 | extern char gMaxLines[]; 364 | 365 | #define NUM_MUSIC_PLAYERS ((u16)gNumMusicPlayers) 366 | #define MAX_LINES ((u32)gMaxLines) 367 | 368 | u32 umul3232H32(u32 multiplier, u32 multiplicand); 369 | void SoundMain(void); 370 | void SoundMainBTM(void); 371 | void TrackStop(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track); 372 | void MPlayMain(void); 373 | void RealClearChain(void *x); 374 | 375 | void MPlayContinue(struct MusicPlayerInfo *mplayInfo); 376 | void MPlayStart(struct MusicPlayerInfo *mplayInfo, struct SongHeader *songHeader); 377 | void m4aMPlayStop(struct MusicPlayerInfo *mplayInfo); 378 | void FadeOutBody(struct MusicPlayerInfo *mplayInfo); 379 | void TrkVolPitSet(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track); 380 | void MPlayFadeOut(struct MusicPlayerInfo *mplayInfo, u16 speed); 381 | void ClearChain(void *x); 382 | void Clear64byte(void *addr); 383 | void SoundInit(struct SoundInfo *soundInfo); 384 | void MPlayExtender(struct CgbChannel *cgbChans); 385 | void m4aSoundMode(u32 mode); 386 | void MPlayOpen(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track, u8 a3); 387 | void CgbSound(void); 388 | void CgbOscOff(u8); 389 | u32 MidiKeyToCgbFreq(u8, u8, u8); 390 | void DummyFunc(void); 391 | void MPlayJumpTableCopy(void **mplayJumpTable); 392 | void SampleFreqSet(u32 freq); 393 | void m4aSoundVSyncOn(void); 394 | void m4aSoundVSyncOff(void); 395 | 396 | void ClearModM(struct MusicPlayerTrack *track); 397 | void m4aMPlayModDepthSet(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u8 modDepth); 398 | void m4aMPlayLFOSpeedSet(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u8 lfoSpeed); 399 | 400 | // sound command handler functions 401 | void ply_fine(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 402 | void ply_goto(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 403 | void ply_patt(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 404 | void ply_pend(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 405 | void ply_rept(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 406 | void ply_memacc(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 407 | void ply_prio(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 408 | void ply_tempo(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 409 | void ply_keysh(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 410 | void ply_voice(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 411 | void ply_vol(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 412 | void ply_pan(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 413 | void ply_bend(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 414 | void ply_bendr(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 415 | void ply_lfos(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 416 | void ply_lfodl(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 417 | void ply_mod(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 418 | void ply_modt(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 419 | void ply_tune(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 420 | void ply_port(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 421 | void ply_xcmd(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 422 | void ply_endtie(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 423 | void ply_note(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 424 | 425 | // extended sound command handler functions 426 | void ply_xxx(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 427 | void ply_xwave(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 428 | void ply_xtype(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 429 | void ply_xatta(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 430 | void ply_xdeca(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 431 | void ply_xsust(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 432 | void ply_xrele(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 433 | void ply_xiecv(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 434 | void ply_xiecl(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 435 | void ply_xleng(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 436 | void ply_xswee(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 437 | void ply_xcmd_0C(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 438 | void ply_xcmd_0D(struct MusicPlayerInfo *, struct MusicPlayerTrack *); 439 | 440 | #endif // GUARD_M4A_INTERNAL_H 441 | -------------------------------------------------------------------------------- /include/gba/macro.h: -------------------------------------------------------------------------------- 1 | #ifndef GUARD_GBA_MACRO_H 2 | #define GUARD_GBA_MACRO_H 3 | 4 | #define CPU_FILL(value, dest, size, bit) \ 5 | { \ 6 | vu##bit tmp = (vu##bit)(value); \ 7 | CpuSet((void *)&tmp, \ 8 | dest, \ 9 | CPU_SET_##bit##BIT | CPU_SET_SRC_FIXED | ((size)/(bit/8) & 0x1FFFFF)); \ 10 | } 11 | 12 | #define CpuFill16(value, dest, size) CPU_FILL(value, dest, size, 16) 13 | #define CpuFill32(value, dest, size) CPU_FILL(value, dest, size, 32) 14 | 15 | #define CPU_COPY(src, dest, size, bit) CpuSet(src, dest, CPU_SET_##bit##BIT | ((size)/(bit/8) & 0x1FFFFF)) 16 | 17 | #define CpuCopy16(src, dest, size) CPU_COPY(src, dest, size, 16) 18 | #define CpuCopy32(src, dest, size) CPU_COPY(src, dest, size, 32) 19 | 20 | #define CpuFastFill(value, dest, size) \ 21 | { \ 22 | vu32 tmp = (vu32)(value); \ 23 | CpuFastSet((void *)&tmp, \ 24 | dest, \ 25 | CPU_FAST_SET_SRC_FIXED | ((size)/(32/8) & 0x1FFFFF)); \ 26 | } 27 | 28 | #define CpuFastFill16(value, dest, size) CpuFastFill(((value) << 16) | (value), (dest), (size)) 29 | 30 | #define CpuFastCopy(src, dest, size) CpuFastSet(src, dest, ((size)/(32/8) & 0x1FFFFF)) 31 | 32 | #define DmaSet(dmaNum, src, dest, control) \ 33 | { \ 34 | vu32 *dmaRegs = (vu32 *)REG_ADDR_DMA##dmaNum; \ 35 | dmaRegs[0] = (vu32)(src); \ 36 | dmaRegs[1] = (vu32)(dest); \ 37 | dmaRegs[2] = (vu32)(control); \ 38 | dmaRegs[2]; \ 39 | } 40 | 41 | #define DMA_FILL(dmaNum, value, dest, size, bit) \ 42 | { \ 43 | vu##bit tmp = (vu##bit)(value); \ 44 | DmaSet(dmaNum, \ 45 | &tmp, \ 46 | dest, \ 47 | (DMA_ENABLE | DMA_START_NOW | DMA_##bit##BIT | DMA_SRC_FIXED | DMA_DEST_INC) << 16 \ 48 | | ((size)/(bit/8))); \ 49 | } 50 | 51 | #define DmaFill16(dmaNum, value, dest, size) DMA_FILL(dmaNum, value, dest, size, 16) 52 | #define DmaFill32(dmaNum, value, dest, size) DMA_FILL(dmaNum, value, dest, size, 32) 53 | 54 | // Note that the DMA clear macros cause the DMA control value to be calculated 55 | // at runtime rather than compile time. The size is divided by the DMA transfer 56 | // unit size (2 or 4 bytes) and then combined with the DMA control flags using a 57 | // bitwise OR operation. 58 | 59 | #define DMA_CLEAR(dmaNum, dest, size, bit) \ 60 | { \ 61 | vu##bit *_dest = (vu##bit *)(dest); \ 62 | u32 _size = size; \ 63 | DmaFill##bit(dmaNum, 0, _dest, _size); \ 64 | } 65 | 66 | #define DmaClear16(dmaNum, dest, size) DMA_CLEAR(dmaNum, dest, size, 16) 67 | #define DmaClear32(dmaNum, dest, size) DMA_CLEAR(dmaNum, dest, size, 32) 68 | 69 | #define DMA_COPY(dmaNum, src, dest, size, bit) \ 70 | DmaSet(dmaNum, \ 71 | src, \ 72 | dest, \ 73 | (DMA_ENABLE | DMA_START_NOW | DMA_##bit##BIT | DMA_SRC_INC | DMA_DEST_INC) << 16 \ 74 | | ((size)/(bit/8))) 75 | 76 | #define DmaCopy16(dmaNum, src, dest, size) DMA_COPY(dmaNum, src, dest, size, 16) 77 | #define DmaCopy32(dmaNum, src, dest, size) DMA_COPY(dmaNum, src, dest, size, 32) 78 | 79 | #define DmaStop(dmaNum) \ 80 | { \ 81 | vu16 *dmaRegs = (vu16 *)REG_ADDR_DMA##dmaNum; \ 82 | dmaRegs[5] &= ~(DMA_START_MASK | DMA_DREQ_ON | DMA_REPEAT); \ 83 | dmaRegs[5] &= ~DMA_ENABLE; \ 84 | dmaRegs[5]; \ 85 | } 86 | 87 | #define DmaCopyLarge(dmaNum, src, dest, size, block, bit) \ 88 | { \ 89 | const void *_src = src; \ 90 | void *_dest = (void *)(dest); \ 91 | u32 _size = size; \ 92 | while (1) \ 93 | { \ 94 | DmaCopy##bit(dmaNum, _src, _dest, (block)); \ 95 | _src += (block); \ 96 | _dest += (block); \ 97 | _size -= (block); \ 98 | if (_size <= (block)) \ 99 | { \ 100 | DmaCopy##bit(dmaNum, _src, _dest, _size); \ 101 | break; \ 102 | } \ 103 | } \ 104 | } 105 | 106 | #define DmaClearLarge(dmaNum, dest, size, block, bit) \ 107 | { \ 108 | void *_dest = dest; \ 109 | u32 _size = size; \ 110 | while (1) \ 111 | { \ 112 | DmaFill##bit(dmaNum, 0, _dest, (block)); \ 113 | _dest += (block); \ 114 | _size -= (block); \ 115 | if (_size <= (block)) \ 116 | { \ 117 | DmaFill##bit(dmaNum, 0, _dest, _size); \ 118 | break; \ 119 | } \ 120 | } \ 121 | } 122 | 123 | #define DmaCopyLarge16(dmaNum, src, dest, size, block) DmaCopyLarge(dmaNum, src, dest, size, block, 16) 124 | #define DmaCopyLarge32(dmaNum, src, dest, size, block) DmaCopyLarge(dmaNum, src, dest, size, block, 32) 125 | 126 | #define DmaClearLarge16(dmaNum, dest, size, block) DmaClearLarge(dmaNum, dest, size, block, 16) 127 | #define DmaClearLarge32(dmaNum, dest, size, block) DmaClearLarge(dmaNum, dest, size, block, 32) 128 | 129 | #define DmaCopyDefvars(dmaNum, src, dest, size, bit) \ 130 | { \ 131 | const void *_src = src; \ 132 | void *_dest = (void *)(dest); \ 133 | u32 _size = size; \ 134 | DmaCopy##bit(dmaNum, _src, _dest, _size); \ 135 | } 136 | 137 | #define DmaCopy16Defvars(dmaNum, src, dest, size) DmaCopyDefvars(dmaNum, src, dest, size, 16) 138 | #define DmaCopy32Defvars(dmaNum, src, dest, size) DmaCopyDefvars(dmaNum, src, dest, size, 32) 139 | 140 | #define DmaFillLarge(dmaNum, fillval, dest, size, block, bit) \ 141 | { \ 142 | void *_dest = (void *)(dest); \ 143 | u32 _size = (u32)(size); \ 144 | while (1) \ 145 | { \ 146 | DmaFill##bit(dmaNum, fillval, _dest, (block)); \ 147 | _dest += (block); \ 148 | _size -= (block); \ 149 | if (_size <= (block)) \ 150 | { \ 151 | DmaFill##bit(dmaNum, fillval, _dest, _size); \ 152 | break; \ 153 | } \ 154 | } \ 155 | } 156 | 157 | #define DmaFill16Large(dmaNum, fillval, dest, size, block) DmaFillLarge(dmaNum, fillval, dest, size, block, 16) 158 | #define DmaFill32Large(dmaNum, fillval, dest, size, block) DmaFillLarge(dmaNum, fillval, dest, size, block, 32) 159 | 160 | #define DmaFillDefvars(dmaNum, fillval, dest, size, bit) \ 161 | { \ 162 | void *_dest = (void *)(dest); \ 163 | u32 _size = (u##bit)(size); \ 164 | DmaFill##bit(dmaNum, fillval, _dest, _size); \ 165 | } 166 | 167 | #define DmaFill16Defvars(dmaNum, fillval, dest, size) DmaFillDefvars(dmaNum, fillval, dest, size, 16) 168 | #define DmaFill32Defvars(dmaNum, fillval, dest, size) DmaFillDefvars(dmaNum, fillval, dest, size, 32) 169 | 170 | // from pokeemerald 171 | // Maximum amount of data we will transfer in one operation 172 | #define MAX_DMA_BLOCK_SIZE 0x1000 173 | 174 | #define MAX_DMA_REQUESTS 128 175 | 176 | #define DMA_REQUEST_COPY32 1 177 | #define DMA_REQUEST_FILL32 2 178 | #define DMA_REQUEST_COPY16 3 179 | #define DMA_REQUEST_FILL16 4 180 | 181 | #define Dma3CopyLarge_(src, dest, size, bit) \ 182 | { \ 183 | const void *_src = src; \ 184 | void *_dest = dest; \ 185 | u32 _size = size; \ 186 | while (1) \ 187 | { \ 188 | if (_size <= MAX_DMA_BLOCK_SIZE) \ 189 | { \ 190 | DmaCopy##bit(3, _src, _dest, _size); \ 191 | break; \ 192 | } \ 193 | DmaCopy##bit(3, _src, _dest, MAX_DMA_BLOCK_SIZE); \ 194 | _src += MAX_DMA_BLOCK_SIZE; \ 195 | _dest += MAX_DMA_BLOCK_SIZE; \ 196 | _size -= MAX_DMA_BLOCK_SIZE; \ 197 | } \ 198 | } 199 | 200 | #define Dma3CopyLarge16_(src, dest, size) Dma3CopyLarge_(src, dest, size, 16) 201 | #define Dma3CopyLarge32_(src, dest, size) Dma3CopyLarge_(src, dest, size, 32) 202 | 203 | #define Dma3FillLarge_(value, dest, size, bit) \ 204 | { \ 205 | void *_dest = dest; \ 206 | u32 _size = size; \ 207 | while (1) \ 208 | { \ 209 | if (_size <= MAX_DMA_BLOCK_SIZE) \ 210 | { \ 211 | DmaFill##bit(3, value, _dest, _size); \ 212 | break; \ 213 | } \ 214 | DmaFill##bit(3, value, _dest, MAX_DMA_BLOCK_SIZE); \ 215 | _dest += MAX_DMA_BLOCK_SIZE; \ 216 | _size -= MAX_DMA_BLOCK_SIZE; \ 217 | } \ 218 | } 219 | 220 | #define Dma3FillLarge16_(value, dest, size) Dma3FillLarge_(value, dest, size, 16) 221 | #define Dma3FillLarge32_(value, dest, size) Dma3FillLarge_(value, dest, size, 32) 222 | 223 | #endif // GUARD_GBA_MACRO_H 224 | -------------------------------------------------------------------------------- /include/gba/multiboot.h: -------------------------------------------------------------------------------- 1 | #ifndef GUARD_GBA_MULTIBOOT_H 2 | #define GUARD_GBA_MULTIBOOT_H 3 | 4 | #define MULTIBOOT_NCHILD 3 // Maximum number of slaves 5 | #define MULTIBOOT_HEADER_SIZE 0xc0 // Header size 6 | #define MULTIBOOT_SEND_SIZE_MIN 0x100 // Minimum transmission size 7 | #define MULTIBOOT_SEND_SIZE_MAX 0x40000 // Maximum transmission size 8 | 9 | struct MultiBootParam 10 | { 11 | u32 system_work[5]; 12 | u8 handshake_data; 13 | u8 padding; 14 | u16 handshake_timeout; 15 | u8 probe_count; 16 | u8 client_data[MULTIBOOT_NCHILD]; 17 | u8 palette_data; 18 | u8 response_bit; 19 | u8 client_bit; 20 | u8 reserved1; 21 | u8 *boot_srcp; 22 | u8 *boot_endp; 23 | u8 *masterp; 24 | u8 *reserved2[MULTIBOOT_NCHILD]; 25 | u32 system_work2[4]; 26 | u8 sendflag; 27 | u8 probe_target_bit; 28 | u8 check_wait; 29 | u8 server_type; 30 | }; 31 | 32 | #define MULTIBOOT_ERROR_04 0x04 33 | #define MULTIBOOT_ERROR_08 0x08 34 | #define MULTIBOOT_ERROR_0c 0x0c 35 | #define MULTIBOOT_ERROR_40 0x40 36 | #define MULTIBOOT_ERROR_44 0x44 37 | #define MULTIBOOT_ERROR_48 0x48 38 | #define MULTIBOOT_ERROR_4c 0x4c 39 | #define MULTIBOOT_ERROR_80 0x80 40 | #define MULTIBOOT_ERROR_84 0x84 41 | #define MULTIBOOT_ERROR_88 0x88 42 | #define MULTIBOOT_ERROR_8c 0x8c 43 | #define MULTIBOOT_ERROR_NO_PROBE_TARGET 0x50 44 | #define MULTIBOOT_ERROR_NO_DLREADY 0x60 45 | #define MULTIBOOT_ERROR_BOOT_FAILURE 0x70 46 | #define MULTIBOOT_ERROR_HANDSHAKE_FAILURE 0x71 47 | 48 | #define MULTIBOOT_CONNECTION_CHECK_WAIT 15 49 | 50 | #define MULTIBOOT_SERVER_TYPE_NORMAL 0 51 | #define MULTIBOOT_SERVER_TYPE_QUICK 1 52 | 53 | #define MULTIBOOT_HANDSHAKE_TIMEOUT 400 54 | 55 | #endif // GUARD_GBA_MULTIBOOT_H 56 | -------------------------------------------------------------------------------- /include/gba/syscall.h: -------------------------------------------------------------------------------- 1 | #ifndef GUARD_GBA_SYSCALL_H 2 | #define GUARD_GBA_SYSCALL_H 3 | 4 | #define RESET_EWRAM 0x01 5 | #define RESET_IWRAM 0x02 6 | #define RESET_PALETTE 0x04 7 | #define RESET_VRAM 0x08 8 | #define RESET_OAM 0x10 9 | #define RESET_SIO_REGS 0x20 10 | #define RESET_SOUND_REGS 0x40 11 | #define RESET_REGS 0x80 12 | #define RESET_ALL 0xFF 13 | 14 | void SoftReset(u32 resetFlags); 15 | 16 | void RegisterRamReset(u32 resetFlags); 17 | 18 | void VBlankIntrWait(void); 19 | 20 | u16 Sqrt(u32 num); 21 | 22 | u16 ArcTan2(s16 x, s16 y); 23 | 24 | #define CPU_SET_SRC_FIXED 0x01000000 25 | #define CPU_SET_16BIT 0x00000000 26 | #define CPU_SET_32BIT 0x04000000 27 | 28 | void CpuSet(const void *src, void *dest, u32 control); 29 | 30 | #define CPU_FAST_SET_SRC_FIXED 0x01000000 31 | 32 | void CpuFastSet(const void *src, void *dest, u32 control); 33 | 34 | void BgAffineSet(struct BgAffineSrcData *src, struct BgAffineDstData *dest, s32 count); 35 | 36 | void ObjAffineSet(struct ObjAffineSrcData *src, void *dest, s32 count, s32 offset); 37 | 38 | void LZ77UnCompWram(const void *src, void *dest); 39 | 40 | void LZ77UnCompVram(const void *src, void *dest); 41 | 42 | void RLUnCompWram(const void *src, void *dest); 43 | 44 | void RLUnCompVram(const void *src, void *dest); 45 | 46 | int MultiBoot(struct MultiBootParam *mp); 47 | 48 | #endif // GUARD_GBA_SYSCALL_H 49 | -------------------------------------------------------------------------------- /include/gba/types.h: -------------------------------------------------------------------------------- 1 | #ifndef GUARD_GBA_TYPES_H 2 | #define GUARD_GBA_TYPES_H 3 | 4 | #include 5 | 6 | typedef uint8_t u8; 7 | typedef uint16_t u16; 8 | typedef uint32_t u32; 9 | typedef uint64_t u64; 10 | typedef int8_t s8; 11 | typedef int16_t s16; 12 | typedef int32_t s32; 13 | typedef int64_t s64; 14 | 15 | typedef volatile u8 vu8; 16 | typedef volatile u16 vu16; 17 | typedef volatile u32 vu32; 18 | typedef volatile u64 vu64; 19 | typedef volatile s8 vs8; 20 | typedef volatile s16 vs16; 21 | typedef volatile s32 vs32; 22 | typedef volatile s64 vs64; 23 | 24 | typedef float f32; 25 | typedef double f64; 26 | 27 | typedef u8 bool8; 28 | typedef u16 bool16; 29 | typedef u32 bool32; 30 | 31 | struct DispCnt 32 | { 33 | u16 mode:3; 34 | u16 cgbMode:1; // reserved, do not use 35 | u16 bmpFrameNum:1; 36 | u16 hblankIntervalFree:1; 37 | u16 obj1dMap:1; 38 | u16 forcedBlank:1; 39 | u16 bg0_on:1; 40 | u16 bg1_on:1; 41 | u16 bg2_on:1; 42 | u16 bg3_on:1; 43 | u16 obj_on:1; 44 | u16 win0_on:1; 45 | u16 win1_on:1; 46 | u16 objWin_on:1; 47 | }; 48 | 49 | struct DispStat 50 | { 51 | u16 vblankFlag:1; 52 | u16 hblankFlag:1; 53 | u16 vcountFlag:1; 54 | u16 vblankIrqEnable:1; 55 | u16 hblankIrqEnable:1; 56 | u16 vcountIrqEnable:1; 57 | u16 dummy:2; 58 | u8 vcountCompare; 59 | }; 60 | 61 | struct BgCnt 62 | { 63 | u16 priority:2; 64 | u16 charBaseBlock:2; 65 | u16 dummy:2; 66 | u16 mosaic:1; 67 | u16 colorMode:1; 68 | u16 screenBaseBlock:5; 69 | u16 areaOverflowMode:1; 70 | u16 screenSize:2; 71 | }; 72 | 73 | struct WinCnt 74 | { 75 | u8 win0_bg0_on:1; 76 | u8 win0_bg1_on:1; 77 | u8 win0_bg2_on:1; 78 | u8 win0_bg3_on:1; 79 | u8 win0_obj_on:1; 80 | u8 win0_blend_on:1; 81 | u8 dummy1:2; 82 | 83 | u8 win1_bg0_on:1; 84 | u8 win1_bg1_on:1; 85 | u8 win1_bg2_on:1; 86 | u8 win1_bg3_on:1; 87 | u8 win1_obj_on:1; 88 | u8 win1_blend_on:1; 89 | u8 dummy2:2; 90 | }; 91 | 92 | struct BlendCnt 93 | { 94 | u16 target1_bg0_on:1; 95 | u16 target1_bg1_on:1; 96 | u16 target1_bg2_on:1; 97 | u16 target1_bg3_on:1; 98 | u16 target1_obj_on:1; 99 | u16 target1_bd_on:1; 100 | u16 effect:2; 101 | u16 target2_bg0_on:1; 102 | u16 target2_bg1_on:1; 103 | u16 target2_bg2_on:1; 104 | u16 target2_bg3_on:1; 105 | u16 target2_obj_on:1; 106 | u16 target2_bd_on:1; 107 | }; 108 | 109 | struct PlttData 110 | { 111 | u16 r:5; // red 112 | u16 g:5; // green 113 | u16 b:5; // blue 114 | u16 unused_15:1; 115 | } /*__attribute__((packed))*/; 116 | 117 | struct OamData 118 | { 119 | /*0x00*/ u32 y:8; 120 | /*0x01*/ u32 affineMode:2; // 0x1, 0x2 = 0x3 121 | u32 objMode:2; // 0x4, 0x8 = 0xC 122 | u32 mosaic:1; // 0x10 123 | u32 bpp:1; // 0x20 124 | u32 shape:2; // 0x40, 0x80 125 | 126 | /*0x02*/ u32 x:9; 127 | u32 matrixNum:5; // bits 3/4 are h-flip/v-flip if not in affine mode 128 | u32 size:2; 129 | 130 | /*0x04*/ u16 tileNum:10; 131 | u16 priority:2; 132 | u16 paletteNum:4; 133 | /*0x06*/ u16 affineParam; 134 | }; 135 | 136 | #define ST_OAM_OBJ_NORMAL 0 137 | #define ST_OAM_OBJ_BLEND 1 138 | #define ST_OAM_OBJ_WINDOW 2 139 | 140 | #define ST_OAM_AFFINE_OFF 0 141 | #define ST_OAM_AFFINE_NORMAL 1 142 | #define ST_OAM_AFFINE_ERASE 2 143 | #define ST_OAM_AFFINE_DOUBLE 3 144 | 145 | #define ST_OAM_AFFINE_ON_MASK 1 146 | #define ST_OAM_AFFINE_DOUBLE_MASK 2 147 | 148 | #define ST_OAM_4BPP 0 149 | #define ST_OAM_8BPP 1 150 | 151 | #define ST_OAM_SQUARE 0 152 | #define ST_OAM_H_RECTANGLE 1 153 | #define ST_OAM_V_RECTANGLE 2 154 | 155 | struct BgAffineSrcData 156 | { 157 | s32 texX; 158 | s32 texY; 159 | s16 scrX; 160 | s16 scrY; 161 | s16 sx; 162 | s16 sy; 163 | u16 alpha; 164 | }; 165 | 166 | struct BgAffineDstData 167 | { 168 | s16 pa; 169 | s16 pb; 170 | s16 pc; 171 | s16 pd; 172 | s32 dx; 173 | s32 dy; 174 | }; 175 | 176 | struct ObjAffineSrcData 177 | { 178 | s16 xScale; 179 | s16 yScale; 180 | u16 rotation; 181 | }; 182 | 183 | // Multi-player SIO Control Structure 184 | struct SioMultiCnt 185 | { 186 | u16 baudRate:2; // baud rate 187 | u16 si:1; // SI terminal 188 | u16 sd:1; // SD terminal 189 | u16 id:2; // ID 190 | u16 error:1; // error flag 191 | u16 enable:1; // SIO enable 192 | u16 unused_11_8:4; 193 | u16 mode:2; // communication mode (should equal 2) 194 | u16 intrEnable:1; // IRQ enable 195 | u16 unused_15:1; 196 | u16 data; // data 197 | }; 198 | 199 | #define ST_SIO_MULTI_MODE 2 // Multi-player communication mode 200 | 201 | // baud rate 202 | #define ST_SIO_9600_BPS 0 // 9600 bps 203 | #define ST_SIO_38400_BPS 1 // 38400 bps 204 | #define ST_SIO_57600_BPS 2 // 57600 bps 205 | #define ST_SIO_115200_BPS 3 // 115200 bps 206 | 207 | struct WaitCnt 208 | { 209 | u16 sramWait:2; 210 | u16 rom0_1stAcc:2; 211 | u16 rom0_2ndAcc:1; 212 | u16 rom1_1stAcc:2; 213 | u16 rom1_2ndAcc:1; 214 | u16 rom2_1stAcc:2; 215 | u16 rom2_2ndAcc:1; 216 | u16 phiTerminalClock:2; 217 | u16 dummy:1; 218 | u16 prefetchBufEnable:1; 219 | u16 gamePakType:1; 220 | }; 221 | 222 | #endif // GUARD_GBA_TYPES_H 223 | -------------------------------------------------------------------------------- /include/m4a.h: -------------------------------------------------------------------------------- 1 | #ifndef GUARD_M4A_H 2 | #define GUARD_M4A_H 3 | 4 | #include "gba/m4a_internal.h" 5 | 6 | void m4aSoundVSync(void); 7 | 8 | void m4aSoundInit(void); 9 | void m4aSoundMain(void); 10 | void m4aSongNumStart(u16); 11 | void m4aSongNumStartOrChange(u16); 12 | void m4aSongNumStop(u16 n); 13 | void m4aMPlayAllStop(void); 14 | void m4aMPlayContinue(struct MusicPlayerInfo *mplayInfo); 15 | void m4aMPlayFadeOut(struct MusicPlayerInfo *mplayInfo, u16 speed); 16 | void m4aMPlayFadeOutTemporarily(struct MusicPlayerInfo *mplayInfo, u16 speed); 17 | void m4aMPlayFadeIn(struct MusicPlayerInfo *mplayInfo, u16 speed); 18 | void m4aMPlayImmInit(struct MusicPlayerInfo *mplayInfo); 19 | 20 | void m4aMPlayTempoControl(struct MusicPlayerInfo *mplayInfo, u16 tempo); 21 | void m4aMPlayVolumeControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u16 volume); 22 | void m4aMPlayPitchControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, s16 pitch); 23 | void m4aMPlayPanpotControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, s8 pan); 24 | 25 | #endif //GUARD_M4A_H 26 | -------------------------------------------------------------------------------- /include/m4a.inc: -------------------------------------------------------------------------------- 1 | .equiv ID_NUMBER, 0x68736d53 2 | 3 | .equiv PCM_DMA_BUF_SIZE, 1584 4 | 5 | .equiv TONEDATA_TYPE_CGB, 0x07 6 | .equiv TONEDATA_TYPE_FIX, 0x08 7 | .equiv TONEDATA_TYPE_SPL, 0x40 @ key split 8 | .equiv TONEDATA_TYPE_RHY, 0x80 @ rhythm 9 | 10 | .macro struct_begin 11 | .struct 0 12 | .endm 13 | 14 | .macro struct_field name, size 15 | \name: 16 | .struct \name + \size 17 | .endm 18 | 19 | struct_begin 20 | struct_field o_SoundInfo_ident, 4 21 | struct_field o_SoundInfo_pcmDmaCounter, 1 22 | struct_field o_SoundInfo_reverb, 1 23 | struct_field o_SoundInfo_maxChans, 1 24 | struct_field o_SoundInfo_masterVolume, 1 25 | struct_field o_SoundInfo_freq, 1 26 | struct_field o_SoundInfo_mode, 1 27 | struct_field o_SoundInfo_c15, 1 28 | struct_field o_SoundInfo_pcmDmaPeriod, 1 29 | struct_field o_SoundInfo_maxLines, 1 30 | struct_field o_SoundInfo_gap, 3 31 | struct_field o_SoundInfo_pcmSamplesPerVBlank, 4 32 | struct_field o_SoundInfo_pcmFreq, 4 33 | struct_field o_SoundInfo_divFreq, 4 34 | struct_field o_SoundInfo_cgbChans, 4 35 | struct_field o_SoundInfo_func, 4 36 | struct_field o_SoundInfo_intp, 4 37 | struct_field o_SoundInfo_CgbSound, 4 38 | struct_field o_SoundInfo_CgbOscOff, 4 39 | struct_field o_SoundInfo_MidiKeyToCgbFreq, 4 40 | struct_field o_SoundInfo_MPlayJumpTable, 4 41 | struct_field o_SoundInfo_plynote, 4 42 | struct_field o_SoundInfo_ExtVolPit, 4 43 | struct_field o_SoundInfo_gap2, 16 44 | struct_field o_SoundInfo_chans, 768 45 | struct_field o_SoundInfo_pcmBuffer, PCM_DMA_BUF_SIZE * 2 46 | struct_field SoundInfo_size, 0 47 | 48 | struct_begin 49 | struct_field o_SoundChannel_status, 1 50 | struct_field o_SoundChannel_type, 1 51 | struct_field o_SoundChannel_rightVolume, 1 52 | struct_field o_SoundChannel_leftVolume, 1 53 | struct_field o_SoundChannel_attack, 1 54 | struct_field o_SoundChannel_decay, 1 55 | struct_field o_SoundChannel_sustain, 1 56 | struct_field o_SoundChannel_release, 1 57 | struct_field o_SoundChannel_ky, 1 58 | struct_field o_SoundChannel_ev, 1 59 | struct_field o_SoundChannel_er, 1 60 | struct_field o_SoundChannel_el, 1 61 | struct_field o_SoundChannel_iev, 1 62 | struct_field o_SoundChannel_iel, 1 63 | struct_field o_SoundChannel_d1, 1 64 | struct_field o_SoundChannel_d2, 1 65 | struct_field o_SoundChannel_gt, 1 66 | struct_field o_SoundChannel_mk, 1 67 | struct_field o_SoundChannel_ve, 1 68 | struct_field o_SoundChannel_pr, 1 69 | struct_field o_SoundChannel_rp, 1 70 | struct_field o_SoundChannel_d3, 3 71 | struct_field o_SoundChannel_ct, 4 72 | struct_field o_SoundChannel_fw, 4 73 | struct_field o_SoundChannel_freq, 4 74 | struct_field o_SoundChannel_wav, 4 75 | struct_field o_SoundChannel_cp, 4 76 | struct_field o_SoundChannel_track, 4 77 | struct_field o_SoundChannel_pp, 4 78 | struct_field o_SoundChannel_np, 4 79 | struct_field o_SoundChannel_d4, 4 80 | struct_field o_SoundChannel_xpi, 2 81 | struct_field o_SoundChannel_xpc, 2 82 | struct_field SoundChannel_size, 0 83 | 84 | struct_begin 85 | struct_field o_MusicPlayerTrack_flags, 1 86 | struct_field o_MusicPlayerTrack_wait, 1 87 | struct_field o_MusicPlayerTrack_patternLevel, 1 88 | struct_field o_MusicPlayerTrack_repN, 1 89 | struct_field o_MusicPlayerTrack_gateTime, 1 90 | struct_field o_MusicPlayerTrack_key, 1 91 | struct_field o_MusicPlayerTrack_velocity, 1 92 | struct_field o_MusicPlayerTrack_runningStatus, 1 93 | struct_field o_MusicPlayerTrack_keyM, 1 94 | struct_field o_MusicPlayerTrack_pitM, 1 95 | struct_field o_MusicPlayerTrack_keyShift, 1 96 | struct_field o_MusicPlayerTrack_keyShiftX, 1 97 | struct_field o_MusicPlayerTrack_tune, 1 98 | struct_field o_MusicPlayerTrack_pitX, 1 99 | struct_field o_MusicPlayerTrack_bend, 1 100 | struct_field o_MusicPlayerTrack_bendRange, 1 101 | struct_field o_MusicPlayerTrack_volMR, 1 102 | struct_field o_MusicPlayerTrack_volML, 1 103 | struct_field o_MusicPlayerTrack_vol, 1 104 | struct_field o_MusicPlayerTrack_volX, 1 105 | struct_field o_MusicPlayerTrack_pan, 1 106 | struct_field o_MusicPlayerTrack_panX, 1 107 | struct_field o_MusicPlayerTrack_modM, 1 108 | struct_field o_MusicPlayerTrack_mod, 1 109 | struct_field o_MusicPlayerTrack_modT, 1 110 | struct_field o_MusicPlayerTrack_lfoSpeed, 1 111 | struct_field o_MusicPlayerTrack_lfoSpeedC, 1 112 | struct_field o_MusicPlayerTrack_lfoDelay, 1 113 | struct_field o_MusicPlayerTrack_lfoDelayC, 1 114 | struct_field o_MusicPlayerTrack_priority, 1 115 | struct_field o_MusicPlayerTrack_echoVolume, 1 116 | struct_field o_MusicPlayerTrack_echoLength, 1 117 | struct_field o_MusicPlayerTrack_chan, 4 118 | struct_field o_MusicPlayerTrack_ToneData_type, 1 119 | struct_field o_MusicPlayerTrack_ToneData_key, 1 120 | struct_field o_MusicPlayerTrack_ToneData_length, 1 121 | struct_field o_MusicPlayerTrack_ToneData_pan_sweep, 1 122 | struct_field o_MusicPlayerTrack_ToneData_wav, 4 123 | struct_field o_MusicPlayerTrack_ToneData_attack, 1 124 | struct_field o_MusicPlayerTrack_ToneData_decay, 1 125 | struct_field o_MusicPlayerTrack_ToneData_sustain, 1 126 | struct_field o_MusicPlayerTrack_ToneData_release, 1 127 | struct_field o_MusicPlayerTrack_gap, 10 128 | struct_field o_MusicPlayerTrack_unk_3A, 2 129 | struct_field o_MusicPlayerTrack_unk_3C, 4 130 | struct_field o_MusicPlayerTrack_cmdPtr, 4 131 | struct_field o_MusicPlayerTrack_patternStack, 12 132 | struct_field MusicPlayerTrack_size, 0 133 | 134 | .equiv o_MusicPlayerTrack_ToneData_keySplitTable, o_MusicPlayerTrack_ToneData_attack 135 | 136 | struct_begin 137 | struct_field o_MusicPlayerInfo_songHeader, 4 138 | struct_field o_MusicPlayerInfo_status, 4 139 | struct_field o_MusicPlayerInfo_trackCount, 1 140 | struct_field o_MusicPlayerInfo_priority, 1 141 | struct_field o_MusicPlayerInfo_cmd, 1 142 | struct_field o_MusicPlayerInfo_unk_B, 1 143 | struct_field o_MusicPlayerInfo_clock, 4 144 | struct_field o_MusicPlayerInfo_gap, 8 145 | struct_field o_MusicPlayerInfo_memAccArea, 4 146 | struct_field o_MusicPlayerInfo_tempoD, 2 147 | struct_field o_MusicPlayerInfo_tempoU, 2 148 | struct_field o_MusicPlayerInfo_tempoI, 2 149 | struct_field o_MusicPlayerInfo_tempoC, 2 150 | struct_field o_MusicPlayerInfo_fadeOI, 2 151 | struct_field o_MusicPlayerInfo_fadeOC, 2 152 | struct_field o_MusicPlayerInfo_fadeOV, 2 153 | struct_field o_MusicPlayerInfo_padding, 2 154 | struct_field o_MusicPlayerInfo_tracks, 4 155 | struct_field o_MusicPlayerInfo_tone, 4 156 | struct_field o_MusicPlayerInfo_ident, 4 157 | struct_field o_MusicPlayerInfo_func, 4 158 | struct_field o_MusicPlayerInfo_intp, 4 159 | struct_field MusicPlayerInfo_size, 0 160 | 161 | struct_begin 162 | struct_field o_CgbChannel_sf, 1 163 | struct_field o_CgbChannel_ty, 1 164 | struct_field o_CgbChannel_rightVolume, 1 165 | struct_field o_CgbChannel_leftVolume, 1 166 | struct_field o_CgbChannel_at, 1 167 | struct_field o_CgbChannel_de, 1 168 | struct_field o_CgbChannel_su, 1 169 | struct_field o_CgbChannel_re, 1 170 | struct_field o_CgbChannel_ky, 1 171 | struct_field o_CgbChannel_ev, 1 172 | struct_field o_CgbChannel_eg, 1 173 | struct_field o_CgbChannel_ec, 1 174 | struct_field o_CgbChannel_echoVolume, 1 175 | struct_field o_CgbChannel_echoLength, 1 176 | struct_field o_CgbChannel_d1, 1 177 | struct_field o_CgbChannel_d2, 1 178 | struct_field o_CgbChannel_gt, 1 179 | struct_field o_CgbChannel_mk, 1 180 | struct_field o_CgbChannel_ve, 1 181 | struct_field o_CgbChannel_pr, 1 182 | struct_field o_CgbChannel_rp, 1 183 | struct_field o_CgbChannel_d3, 3 184 | struct_field o_CgbChannel_d5, 1 185 | struct_field o_CgbChannel_sg, 1 186 | struct_field o_CgbChannel_n4, 1 187 | struct_field o_CgbChannel_pan, 1 188 | struct_field o_CgbChannel_panMask, 1 189 | struct_field o_CgbChannel_mo, 1 190 | struct_field o_CgbChannel_le, 1 191 | struct_field o_CgbChannel_sw, 1 192 | struct_field o_CgbChannel_fr, 4 193 | struct_field o_CgbChannel_wp, 4 194 | struct_field o_CgbChannel_cp, 4 195 | struct_field o_CgbChannel_tp, 4 196 | struct_field o_CgbChannel_pp, 4 197 | struct_field o_CgbChannel_np, 4 198 | struct_field o_CgbChannel_d4, 8 199 | struct_field CgbChannel_size, 0 200 | -------------------------------------------------------------------------------- /include/macro.inc: -------------------------------------------------------------------------------- 1 | .MACRO ARM_FUNC_START name 2 | .ALIGN 2, 0 3 | .GLOBAL \name 4 | .ARM 5 | .TYPE \name, function 6 | .ENDM 7 | 8 | .MACRO ARM_FUNC_END name 9 | .SIZE \name, .-\name 10 | .ENDM 11 | 12 | 13 | .MACRO THUMB_FUNC_START name 14 | .ALIGN 2, 0 15 | .GLOBAL \name 16 | .THUMB 17 | .THUMB_FUNC 18 | .TYPE \name, function 19 | .ENDM 20 | 21 | 22 | .MACRO THUMB_FUNC_END name 23 | .SIZE \name, .-\name 24 | .ENDM 25 | 26 | 27 | @ Generates a glue function to be used when calling 28 | @ the specified ARM function from THUMB code. 29 | .MACRO THUMB_INTERWORK_VENEER name 30 | .SECTION .glue_7t 31 | .GLOBAL \name\()_t 32 | .THUMB 33 | .ALIGN 2, 0 34 | \name\()_t: 35 | bx pc @ Use a bx instruction to switch into ARM mode. The value of PC is 36 | nop @ 4 bytes ahead of the current instruction, so we pad with a nop. 37 | .ARM 38 | b \name @ Now in ARM mode, jump to the actual function 39 | .SECTION .text 40 | .ENDM 41 | -------------------------------------------------------------------------------- /ldscript.txt: -------------------------------------------------------------------------------- 1 | OUTPUT_ARCH(arm) 2 | SECTIONS 3 | { 4 | . = 0x02000000; 5 | EWRAM (NOLOAD) : 6 | ALIGN(4) 7 | { 8 | INCLUDE "sym_ewram.txt" 9 | } 10 | 11 | . = 0x03000000; 12 | IWRAM (NOLOAD) : 13 | ALIGN(4) 14 | { 15 | INCLUDE "sym_iwram.txt" 16 | } 17 | 18 | . = 0x08000000; 19 | ROM : 20 | ALIGN(4) 21 | { 22 | build/sa2/asm/code.o(.text); 23 | 24 | /* Data */ 25 | build/sa2/data/data.o(.data); 26 | build/sa2/sound/sound.o(.data); 27 | build/sa2/data/data2.o(.data); 28 | 29 | } = 0 30 | 31 | /* Discard everything not specifically mentioned above. */ 32 | /DISCARD/ : 33 | { 34 | *(*); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /sound/direct_sound_samples/08AD5F28.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08AD5F28.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08AD73FC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08AD73FC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08AD8810.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08AD8810.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08AD9140.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08AD9140.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08AD98B0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08AD98B0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08ADB1A4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08ADB1A4.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08ADE2D0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08ADE2D0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08ADE918.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08ADE918.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08AE200C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08AE200C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08AE4FE8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08AE4FE8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08AE7F2C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08AE7F2C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08AE98B4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08AE98B4.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08AE9BB4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08AE9BB4.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08AEA788.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08AEA788.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08AED36C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08AED36C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08AF0160.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08AF0160.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08AF2584.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08AF2584.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08AF2C98.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08AF2C98.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08AF39C8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08AF39C8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08AF5F44.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08AF5F44.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08AF65D8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08AF65D8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08AF6F80.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08AF6F80.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08AFA040.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08AFA040.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08AFAD54.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08AFAD54.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08AFDF30.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08AFDF30.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B00004.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B00004.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B02518.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B02518.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B04840.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B04840.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B051E4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B051E4.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B0C95C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B0C95C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B0F724.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B0F724.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B109B8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B109B8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B18DD0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B18DD0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B1E9F0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B1E9F0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B20204.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B20204.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B21DC8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B21DC8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B22678.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B22678.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B232F0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B232F0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B24488.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B24488.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B24D8C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B24D8C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B257FC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B257FC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B2993C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B2993C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B2D744.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B2D744.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B2DEF8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B2DEF8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B2E708.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B2E708.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B2EEB8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B2EEB8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B2F9FC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B2F9FC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B3125C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B3125C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B36678.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B36678.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B3B740.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B3B740.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B3D2F8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B3D2F8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B413E0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B413E0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B4603C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B4603C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B481E0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B481E0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B49D64.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B49D64.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B4BB5C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B4BB5C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B4C398.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B4C398.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B4F264.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B4F264.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B503F8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B503F8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B5121C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B5121C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B51EBC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B51EBC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B53440.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B53440.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B58484.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B58484.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B5AA00.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B5AA00.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B5C858.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B5C858.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B5F64C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B5F64C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B61D94.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B61D94.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B6410C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B6410C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B65154.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B65154.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B663E0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B663E0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B67464.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B67464.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B688B8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B688B8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B6BA40.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B6BA40.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B6FA94.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B6FA94.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B70C1C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B70C1C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B72E4C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B72E4C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B756E4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B756E4.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B78148.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B78148.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B7A79C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B7A79C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B7E428.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B7E428.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B80688.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B80688.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B84450.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B84450.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B8A5F8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B8A5F8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B91D70.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B91D70.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B940F0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B940F0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B98840.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B98840.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B9A988.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B9A988.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B9AD68.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B9AD68.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B9B1C0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B9B1C0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B9BB3C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B9BB3C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B9BF9C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B9BF9C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B9C408.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B9C408.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B9C894.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B9C894.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B9D1C0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B9D1C0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B9D718.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B9D718.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08B9DB80.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08B9DB80.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BA2C60.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BA2C60.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BA3AB8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BA3AB8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BA4DA4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BA4DA4.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BA62E0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BA62E0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BA6AA0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BA6AA0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BAA2DC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BAA2DC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BAFDC0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BAFDC0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BB152C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BB152C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BB2CAC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BB2CAC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BB4C60.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BB4C60.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BB672C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BB672C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BB8F2C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BB8F2C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BBA360.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BBA360.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BBB180.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BBB180.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BBC26C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BBC26C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BBD0E4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BBD0E4.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BC0D9C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BC0D9C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BC311C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BC311C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BC3DD4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BC3DD4.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BC6304.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BC6304.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BC7C58.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BC7C58.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BCCBD4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BCCBD4.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BCD1DC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BCD1DC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BCD85C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BCD85C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BCDF04.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BCDF04.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BCF078.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BCF078.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BCFC30.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BCFC30.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BD0EC0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BD0EC0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BD154C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BD154C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BD26FC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BD26FC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BD2F00.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BD2F00.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BD3704.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BD3704.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BD4838.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BD4838.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BD554C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BD554C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BD624C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BD624C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BD69B0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BD69B0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BD7148.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BD7148.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BD78B0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BD78B0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BD8038.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BD8038.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BD8F8C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BD8F8C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BD974C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BD974C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BD9E98.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BD9E98.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BDA604.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BDA604.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BDADF0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BDADF0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BDB550.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BDB550.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BDBBDC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BDBBDC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BDC2B0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BDC2B0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BDC990.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BDC990.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BDD1E0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BDD1E0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BDD84C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BDD84C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BDE000.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BDE000.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BDE740.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BDE740.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BDEE64.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BDEE64.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BDF514.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BDF514.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BDFC2C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BDFC2C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BE0354.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BE0354.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BE0AC0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BE0AC0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BE11F0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BE11F0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BE18E4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BE18E4.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BE2034.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BE2034.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BE2770.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BE2770.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BE2E54.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BE2E54.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BE3350.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BE3350.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BE39D8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BE39D8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BE3EBC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BE3EBC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BE4B28.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BE4B28.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BE5160.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BE5160.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BE5720.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BE5720.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BE5CD4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BE5CD4.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BE6294.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BE6294.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BE68B0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BE68B0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BE6DE4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BE6DE4.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BE7464.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BE7464.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BE79E8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BE79E8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BE7F6C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BE7F6C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BE84CC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BE84CC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BE8B70.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BE8B70.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BE8F8C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BE8F8C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BE96B0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BE96B0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BE9A64.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BE9A64.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BEA558.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BEA558.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BEAC68.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BEAC68.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BEB050.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BEB050.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BEB6F8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BEB6F8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BEBB08.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BEBB08.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BEC1F4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BEC1F4.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BEC5E0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BEC5E0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BECC28.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BECC28.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BED0D0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BED0D0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BED77C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BED77C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BEDBC4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BEDBC4.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BEE23C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BEE23C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BEE66C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BEE66C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BEECEC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BEECEC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BEF12C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BEF12C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BEF76C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BEF76C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BEFBF8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BEFBF8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BF0268.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BF0268.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BF0708.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BF0708.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BF0DBC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BF0DBC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BF11CC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BF11CC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BF1878.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BF1878.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BF1CA4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BF1CA4.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BF27BC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BF27BC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BF2DCC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BF2DCC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BF32F8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BF32F8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BF3860.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BF3860.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BF3D74.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BF3D74.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BF42D8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BF42D8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BF4834.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BF4834.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BF4D94.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BF4D94.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BF52B0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BF52B0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BF5814.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BF5814.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BF5D34.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BF5D34.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BF6250.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BF6250.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BF6774.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BF6774.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BF6C70.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BF6C70.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BF7244.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BF7244.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BF7794.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BF7794.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BF7CBC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BF7CBC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BF820C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BF820C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BF92B4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BF92B4.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BF9DB0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BF9DB0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BFA5B8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BFA5B8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BFAE34.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BFAE34.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BFBEEC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BFBEEC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BFCF88.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BFCF88.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BFDA70.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BFDA70.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BFDF50.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BFDF50.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BFE458.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BFE458.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BFEA24.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BFEA24.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BFEFA8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BFEFA8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BFF56C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BFF56C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08BFFAC0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08BFFAC0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C00064.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C00064.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C005CC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C005CC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C00A50.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C00A50.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C01068.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C01068.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C015CC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C015CC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C01B38.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C01B38.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C020E4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C020E4.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C025EC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C025EC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C02AF4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C02AF4.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C03000.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C03000.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C03134.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C03134.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C03674.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C03674.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C03B7C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C03B7C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C041A4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C041A4.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C046A8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C046A8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C04C44.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C04C44.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C051BC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C051BC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C05700.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C05700.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C05CB4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C05CB4.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C061F8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C061F8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C0673C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C0673C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C06C6C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C06C6C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C071FC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C071FC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C07770.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C07770.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C07C9C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C07C9C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C081C0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C081C0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C086CC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C086CC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C087B4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C087B4.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C08CD0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C08CD0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C09240.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C09240.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C097F0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C097F0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C09DC4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C09DC4.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C0A2B0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C0A2B0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C0A814.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C0A814.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C0ADC0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C0ADC0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C0B310.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C0B310.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C0B874.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C0B874.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C0BE18.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C0BE18.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C0C3E4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C0C3E4.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C0C89C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C0C89C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C0CE1C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C0CE1C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C0D368.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C0D368.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C0D8A0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C0D8A0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C0DE50.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C0DE50.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C0E9F8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C0E9F8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C0F12C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C0F12C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C0F654.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C0F654.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C0FC88.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C0FC88.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C10254.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C10254.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C10934.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C10934.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C10E74.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C10E74.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C1153C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C1153C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C11A60.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C11A60.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C12124.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C12124.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C12674.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C12674.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C12D24.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C12D24.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C13254.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C13254.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C13928.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C13928.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C13E3C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C13E3C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C14524.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C14524.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C14AA0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C14AA0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C15164.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C15164.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C15698.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C15698.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C15C60.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C15C60.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C162A4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C162A4.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C16970.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C16970.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C16EB8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C16EB8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C17584.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C17584.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C17A94.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C17A94.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C18188.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C18188.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C186E8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C186E8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C18D8C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C18D8C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C192A8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C192A8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C1998C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C1998C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C19EB8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C19EB8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C1A3F4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C1A3F4.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C1A900.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C1A900.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C1AE50.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C1AE50.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C1B380.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C1B380.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C1B928.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C1B928.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C1BE0C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C1BE0C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C1C378.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C1C378.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C1C884.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C1C884.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C1CDB8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C1CDB8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C1D2E0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C1D2E0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C1D7EC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C1D7EC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C1DD2C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C1DD2C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C1E29C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C1E29C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C1E760.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C1E760.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C1ED70.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C1ED70.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C1F268.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C1F268.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C1FD70.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C1FD70.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C202D0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C202D0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C207D0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C207D0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C212B8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C212B8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C218C0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C218C0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C21D18.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C21D18.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C22298.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C22298.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C22760.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C22760.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C23218.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C23218.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C23CA8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C23CA8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C242A8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C242A8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C24730.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C24730.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C24C80.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C24C80.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C2572C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C2572C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C25D2C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C25D2C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C261B4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C261B4.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C26724.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C26724.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C26CA0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C26CA0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C271B8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C271B8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C27770.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C27770.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C27C58.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C27C58.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C281A8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C281A8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C28CFC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C28CFC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C295D0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C295D0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C29BF0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C29BF0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C2A158.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C2A158.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C2AC00.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C2AC00.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C2B22C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C2B22C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C2B6EC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C2B6EC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C2BC58.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C2BC58.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C2C0F8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C2C0F8.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C2CBC4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C2CBC4.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C2D494.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C2D494.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C2DEF4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C2DEF4.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C2E44C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C2E44C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C2E8CC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C2E8CC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C2ED58.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C2ED58.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C2F314.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C2F314.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C2F978.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C2F978.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C30F08.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C30F08.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C34DFC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C34DFC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C35C68.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C35C68.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C37240.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C37240.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C382F4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C382F4.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C3A298.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C3A298.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C3BC34.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C3BC34.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C3D53C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C3D53C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C3F3E0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C3F3E0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C40314.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C40314.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C41284.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C41284.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C41820.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C41820.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C42488.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C42488.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C46A48.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C46A48.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C4991C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C4991C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C4C92C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C4C92C.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C4E120.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C4E120.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C50304.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C50304.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C517B0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C517B0.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C526AC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C526AC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C52BAC.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C52BAC.bin -------------------------------------------------------------------------------- /sound/direct_sound_samples/08C530E4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/direct_sound_samples/08C530E4.bin -------------------------------------------------------------------------------- /sound/programmable_wave_samples/08AD4E44.pcm: -------------------------------------------------------------------------------- 1 |  !"#$%&'()*+,-./8901234567:;<=>?@AKLMNOPQRS -------------------------------------------------------------------------------- /sound/programmable_wave_samples/08AD4E8C.pcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/programmable_wave_samples/08AD4E8C.pcm -------------------------------------------------------------------------------- /sound/programmable_wave_samples/08AD4E9C.pcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/programmable_wave_samples/08AD4E9C.pcm -------------------------------------------------------------------------------- /sound/programmable_wave_samples/08AD4EAC.pcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/programmable_wave_samples/08AD4EAC.pcm -------------------------------------------------------------------------------- /sound/programmable_wave_samples/08AD4EBC.pcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/programmable_wave_samples/08AD4EBC.pcm -------------------------------------------------------------------------------- /sound/programmable_wave_samples/08AD4ECC.pcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/programmable_wave_samples/08AD4ECC.pcm -------------------------------------------------------------------------------- /sound/programmable_wave_samples/08AD4EDC.pcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/programmable_wave_samples/08AD4EDC.pcm -------------------------------------------------------------------------------- /sound/programmable_wave_samples/08AD4EEC.pcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/programmable_wave_samples/08AD4EEC.pcm -------------------------------------------------------------------------------- /sound/programmable_wave_samples/08AD4EFC.pcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/programmable_wave_samples/08AD4EFC.pcm -------------------------------------------------------------------------------- /sound/programmable_wave_samples/08AD4F0C.pcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/froggestspirit/SoAdvance2/edd34f286e784d3f2427539f3cb7f2f0ebadd11c/sound/programmable_wave_samples/08AD4F0C.pcm -------------------------------------------------------------------------------- /sym_ewram.txt: -------------------------------------------------------------------------------- 1 | . = 0x00000000; gUnknown_02000000 = .; 2 | . = 0x00000008; gUnknown_02000008 = .; 3 | . = 0x00000010; gUnknown_02000010 = .; 4 | . = 0x00000500; gUnknown_02000500 = .; 5 | . = 0x00000A00; gUnknown_02000A00 = .; 6 | . = 0x00000F00; gUnknown_02000F00 = .; 7 | . = 0x00001400; gUnknown_02001400 = .; 8 | . = 0x000023B0; gUnknown_020023B0 = .; 9 | . = 0x000023B4; gUnknown_020023B4 = .; 10 | . = 0x00002438; gUnknown_02002438 = .; 11 | . = 0x0000243C; gUnknown_0200243C = .; 12 | . = 0x00002440; gUnknown_02002440 = .; 13 | . = 0x00002540; gUnknown_02002540 = .; 14 | . = 0x00002580; gUnknown_02002580 = .; 15 | . = 0x000025C0; gUnknown_020025C0 = .; 16 | . = 0x00002600; gUnknown_02002600 = .; 17 | . = 0x00002610; gUnknown_02002610 = .; 18 | . = 0x00002650; gUnknown_02002650 = .; 19 | . = 0x000226D0; gUnknown_020226D0 = .; 20 | . = 0x00033000; gUnknown_02033000 = .; 21 | . = 0x00033004; gUnknown_02033004 = .; 22 | . = 0x00033008; gUnknown_02033008 = .; 23 | . = 0x0003300C; gUnknown_0203300C = .; 24 | . = 0x0003B000; gUnknown_0203B000 = .; 25 | . = 0x0003F000; gUnknown_0203F000 = .; 26 | --------------------------------------------------------------------------------