Revert "Revert "Splat libsnd out of main (#423)"" (#428)

This reverts commit ca528e1172
This commit is contained in:
sozud 2023-08-01 20:46:21 -07:00 committed by GitHub
parent 103a9a9f4f
commit 3448b7f48b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
66 changed files with 724 additions and 157 deletions

1
.gitignore vendored
View File

@ -13,6 +13,7 @@ __pycache__
asm/*/*/*.s
asm/*/*/data/*.s
asm/**/psxsdk/lib*/*/*.s
asm/*/*/nonmatchings/*.s
asm/*/*/nonmatchings/*/*.s
asm/*/*/nonmatchings/*/*/*.s

View File

@ -33,8 +33,8 @@ CONFIG_DIR := config
TOOLS_DIR := tools
# Files
MAIN_ASM_DIRS := $(ASM_DIR)/$(MAIN) $(ASM_DIR)/$(MAIN)/psxsdk $(ASM_DIR)/$(MAIN)/data
MAIN_SRC_DIRS := $(SRC_DIR)/$(MAIN) $(SRC_DIR)/$(MAIN)/psxsdk
MAIN_ASM_DIRS := $(ASM_DIR)/$(MAIN) $(ASM_DIR)/$(MAIN)/psxsdk $(ASM_DIR)/$(MAIN)/psxsdk/libcd $(ASM_DIR)/$(MAIN)/psxsdk/libsnd $(ASM_DIR)/$(MAIN)/psxsdk/libspu $(ASM_DIR)/$(MAIN)/data
MAIN_SRC_DIRS := $(SRC_DIR)/$(MAIN) $(SRC_DIR)/$(MAIN)/psxsdk $(SRC_DIR)/$(MAIN)/psxsdk/libcd $(SRC_DIR)/$(MAIN)/psxsdk/libsnd $(SRC_DIR)/$(MAIN)/psxsdk/libspu
MAIN_S_FILES := $(foreach dir,$(MAIN_ASM_DIRS),$(wildcard $(dir)/*.s)) \
$(foreach dir,$(MAIN_ASM_DIRS),$(wildcard $(dir)/**/*.s))
MAIN_C_FILES := $(foreach dir,$(MAIN_SRC_DIRS),$(wildcard $(dir)/*.c)) \

View File

@ -44,6 +44,59 @@ segments:
- [0x9C14, hasm, psxsdk/libapi2]
- [0x9C24, c, psxsdk/libapi]
- [0x9C54, asm]
- [0x160B4, asm]
- [0xCF30, c, psxsdk/libcd/c_011]
- [0xDA90, c, psxsdk/libsnd/scsmvol]
- [0xDAE0, c, psxsdk/libsnd/scssattr]
- [0xDB74, c, psxsdk/libsnd/scssvol]
- [0xDC70, c, psxsdk/libsnd/seqinit]
- [0xE064, c, psxsdk/libsnd/seqread]
- [0xFD04, c, psxsdk/libsnd/miditime]
- [0xFDBC, c, psxsdk/libsnd/ccadsr]
- [0xFEA4, c, psxsdk/libsnd/next]
- [0xFFAC, c, psxsdk/libsnd/ssvkoff]
- [0xFFE8, c, psxsdk/libsnd/ssvkon]
- [0x10034, c, psxsdk/libsnd/sscall]
- [0x102A8, c, psxsdk/libsnd/cres]
- [0x10830, c, psxsdk/libsnd/pause]
- [0x108D0, c, psxsdk/libsnd/play]
- [0x108FC, c, psxsdk/libsnd/replay]
- [0x10964, c, psxsdk/libsnd/ssclose]
- [0x10B28, c, psxsdk/libsnd/ssinit]
- [0x10C10, c, psxsdk/libsnd/ssinit_h]
- [0x10C40, c, psxsdk/libsnd/ssquit]
- [0x10C60, c, psxsdk/libsnd/ssstart]
- [0x10F98, c, psxsdk/libsnd/sstick]
- [0x11104, c, psxsdk/libsnd/ssend]
- [0x111B4, c, psxsdk/libsnd/sstable]
- [0x11394, c, psxsdk/libsnd/ssplay]
- [0x11504, c, psxsdk/libsnd/ssvol]
- [0x115D8, c, psxsdk/libsnd/stop]
- [0x11798, c, psxsdk/libsnd/tempo]
- [0x11974, c, psxsdk/libsnd/vs_mono]
- [0x11998, c, psxsdk/libsnd/vs_srv]
- [0x119D0, c, psxsdk/libsnd/vs_vab]
- [0x11AAC, c, psxsdk/libsnd/vs_vfb]
- [0x11B1C, c, psxsdk/libsnd/vs_vh]
- [0x11FC0, c, psxsdk/libsnd/vs_vtb]
- [0x12080, c, psxsdk/libsnd/vs_vtbp]
- [0x121E0, c, psxsdk/libsnd/vs_vtc]
- [0x1220C, c, psxsdk/libsnd/vm_doff]
- [0x1221C, c, psxsdk/libsnd/vm_don]
- [0x12230, c, psxsdk/libsnd/ut_gpa]
- [0x12338, c, psxsdk/libsnd/vm_vsu]
- [0x123FC, c, psxsdk/libsnd/ut_gva]
- [0x12638, c, psxsdk/libsnd/ut_rev]
- [0x126EC, c, psxsdk/libsnd/ut_ron]
- [0x1270C, c, psxsdk/libsnd/ut_roff]
- [0x1272C, c, psxsdk/libsnd/ut_rfb]
- [0x1276C, c, psxsdk/libsnd/ut_rdep]
- [0x12804, c, psxsdk/libsnd/ut_rdel]
- [0x12844, c, psxsdk/libsnd/ut_sva]
- [0x12A0C, c, psxsdk/libsnd/vmanager]
- [0x1785C, c, psxsdk/libspu/s_i]
- [0x1787C, c, psxsdk/libspu/s_ini]
- [0x179C8, asm, psxsdk_stuff]
- [0x1BCE0, data]
- [0x89800]

View File

@ -120,7 +120,7 @@ aPqes_1 = 0x800BA140;
aPqes = 0x800BC441;
aPqes_0 = 0x800BCB87;
g_DebugEnabled = 0x800BD284;
D_800BD1C8 = 0x800BD28C;
g_VabAddrs = 0x800BD28C;
D_800BF554 = 0x800BF5F8;
D_800C1ECC = 0x800C1F70;
g_GfxEquipIcon = 0x800C53C8;
@ -720,7 +720,7 @@ func_80131F28 = 0x80131B04;
func_80131F38 = 0x80131B14;
func_80131F68 = 0x80131B44;
func_80131F94 = 0x80131B70;
func_80131FA4 = 0x80131B80;
SetReverbDepth = 0x80131B80;
func_80131FCC = 0x80131BA8;
func_80132028 = 0x80131C04;
func_80132134 = 0x80131D10;
@ -872,7 +872,7 @@ g_CdCallback = 0x80137B2C;
g_CdLoc = 0x80137B30;
g_Cd = 0x80137B34;
D_80137F6C = 0x80137B40;
D_80137F94 = 0x80137B68;
g_VabId = 0x80137B68;
D_80137F96 = 0x80137B6A;
D_80137F9C = 0x80137B70;
D_80137FA0 = 0x80137B74;

View File

@ -373,17 +373,21 @@ CdReadCallback = 0x8001C254;
CdRead2 = 0x8001C26C;
StClearRing = 0x8001C320;
StSetStream = 0x8001C4C8;
StCdInterrupt = 0x8001C730;
mem2mem = 0x8001D0A0;
dma_execute = 0x8001D0D4;
SsSetMVol = 0x8001D290;
SsSetSerialAttr = 0x8001D2E0;
SsSetSerialVol = 0x8001D374;
_SsInitSoundSeq = 0x8001D470;
SsSeqOpen = 0x8001D798;
_SsSeqPlay = 0x8001D864;
_SsGetSeqData = 0x8001D974;
_SsNoteOn = 0x8001DC20;
_SsSetProgramChange = 0x8001DD10;
_SsSetControlChange = 0x8001DD88;
_SsContModulation = 0x8001E0A0;
_SsContPortaTime = 0x8001E1D8;
_SsContPortamento = 0x8001E310;
_SsContResetAll = 0x8001E474;
_SsContNrpn1 = 0x8001E53C;
@ -400,7 +404,7 @@ _SsUtBuildADSR = 0x8001F618;
_SsSndNextSep = 0x8001F6A4;
SsVoKeyOff = 0x8001F7AC;
SsVoKeyOn = 0x8001F7E8;
SsUtFlush = 0x8001F834;
SsSeqCalledTbyT = 0x8001F834;
_SsSndCrescendo = 0x8001FAA8;
_SsSndDecrescendo = 0x8001FD84;
_SsSndPause = 0x80020030;
@ -408,47 +412,107 @@ _SsSndPlay = 0x800200D0;
_SsSndReplay = 0x800200FC;
_SsClose = 0x80020164;
SsSeqClose = 0x800202E0;
SsSepClose = 0x80020304;
_SsInit = 0x80020328;
SsInitHot = 0x80020410;
SsQuit = 0x80020440;
_SsStart = 0x80020460;
SsStart = 0x800206C8;
SsStart2 = 0x800206E8;
_SsTrapIntrVSync = 0x80020708;
_SsSeqCalledTbyT_1per2 = 0x80020748;
SsSetTickMode = 0x80020798;
SsEnd = 0x80020904;
SsSetTableSize = 0x800209B4;
Snd_SetPlayMode = 0x80020B94;
SsSeqPlay = 0x80020C94;
SsSepPlay = 0x80020CCC;
_SsSndSetVol = 0x80020D04;
SsSeqSetVol = 0x80020D3C;
SsSepSetVol = 0x80020D6C;
SsSeqGetVol = 0x80020DA4;
_SsSndStop = 0x80020DD8;
SsSeqStop = 0x80020F44;
SsSepStop = 0x80020F6C;
_SsSndTempo = 0x80020F98;
SsSetMono = 0x80021174;
SsSetStereo = 0x80021188;
SsSetReservedVoice = 0x80021198;
SsVabClose = 0x800211D0;
SsVabOpen = 0x80021254;
SsVabFakeBody = 0x800212AC;
SsVabOpenHead = 0x8002131C;
SsVabOpenHeadSticky = 0x80021350;
SsVabFakeHead = 0x80021384;
SsVabOpenHeadWithMode = 0x800213B8;
SsVabTransBody = 0x800217C0;
SsVabTransBodyPartly = 0x80021880;
SsVabTransCompleted = 0x800219E0;
SpuVmDamperOff = 0x80021A0C;
SpuVmDamperOn = 0x80021A1C;
SsUtGetProgAtr = 0x80021A30;
SpuVmVSetUp = 0x80021B38;
SsUtGetVagAtr = 0x80021BFC;
SsUtSetReverbType = 0x80021E38;
SsUtGetReverbType = 0x80021EDC;
SsUtReverbOn = 0x80021EEC;
SsUtSetReverbFeedback = 0x80021F2C;
SsUtSetReverbDepth = 0x80021F6C;
SsUtSetReverbDelay = 0x80022004;
SsUtSetVagAtr = 0x80022044;
SpuVmAlloc = 0x8002220C;
SpuVmKeyOnNow = 0x80022474;
SpuVmDoAllocate = 0x80022958;
vmNoiseOn = 0x80022B6C;
vmNoiseOn2 = 0x8002303C;
note2pitch = 0x800231D8;
note2pitch2 = 0x80023290;
SePitchBend = 0x8002338C;
SsUtVibrateOn = 0x80023530;
SsUtVibrateOff = 0x80023538;
SeAutoVol = 0x80023540;
SetAutoVol = 0x800236F0;
SeAutoPan = 0x80023A40;
SetAutoPan = 0x80023BF0;
SpuVmInit = 0x80023F34;
SpuVmNoiseOnWithAdsr = 0x80024304;
SpuVmNoiseOff = 0x8002439C;
SpuVmNoiseOn = 0x80024454;
SpuVmPBVoice = 0x800244D4;
SpuVmPitchBend = 0x800246D8;
SpuVmFlush = 0x800247C8;
SpuVmKeyOn = 0x80024B74;
SpuVmKeyOff = 0x80025164;
SpuVmSeKeyOn = 0x80025354;
SpuVmSeKeyOff = 0x80025440;
_SsVmSetProgVol = 0x80025840;
_SsVmGetProgVol = 0x800258B0;
_SsVmSetProgPan = 0x80025900;
_SsVmSetProgVol_0 = 0x80025908;
_SsVmGetProgPan = 0x80025970;
_SsVmGetProgVol_0 = 0x80025978;
_SsVmSetProgPan_0 = 0x800259C8;
_SsVmGetProgPan_0 = 0x80025A38;
KeyOnCheck = 0x80025474;
SpuVmSetSeqVol = 0x8002547C;
SpuVmGetSeqVol = 0x800255F0;
SpuVmGetSeqLVol = 0x8002565C;
SpuVmGetSeqRVol = 0x800256AC;
SpuVmSeqKeyOff = 0x800256FC;
SpuVmSetProgVol = 0x80025840;
SpuVmGetProgVol = 0x800258B4;
SpuVmSetProgPan = 0x80025908;
SpuVmGetProgPan = 0x8002597C;
SpuVmSetVol = 0x800259D0;
SsUtKeyOn = 0x80025F08;
SsUtKeyOff = 0x800262AC;
SsUtKeyOnV = 0x800264A0;
SsUtKeyOffV = 0x800267E8;
SsUtKeyOffV = 0x8002683C;
SsUtPitchBend = 0x80026954;
SsUtGetDetVVol = 0x80026DD8;
SsUtSetDetVVol = 0x80026E14;
SsUtGetDetVVol_0 = 0x80026E2C;
SsUtSetDetVVol_0 = 0x80026E68;
SsUtGetVVol = 0x80026E78;
SsUtGetVVol_0 = 0x80026ECC;
SsUtSetVVol = 0x80026F24;
SsUtSetVVol_0 = 0x80026F78;
SsUtChangePitch = 0x800269E4;
SsUtChangeADSR = 0x80026B24;
SsUtGetDetVVol = 0x80026BFC;
SsUtSetDetVVol = 0x80026C54;
SsUtGetVVol = 0x80026CC0;
SsUtSetVVol = 0x80026D4C;
SsUtAutoVol = 0x80026DD8;
SsUtAutoPan = 0x80026E2C;
SsUtAllKeyOff = 0x80026E80;
SpuInit = 0x8002705C;
_SpuInit = 0x8002707C;
SpuStart = 0x80027144;
OpenEvent = 0x800271C8;
EnableEvent = 0x800271D8;
_spu_init = 0x80027274;
@ -635,7 +699,7 @@ g_api_func_800FF110 = 0x8003C88C;
g_api_func_800FD664 = 0x8003C890;
g_api_func_800FD5BC = 0x8003C894;
g_api_LearnSpell = 0x8003C898;
g_api_func_800E2438 = 0x8003C89C;
g_api_DebugInputWait = 0x8003C89C;
g_api_unused12C = 0x8003C8A0;
g_api_unused130 = 0x8003C8A4;
g_api_unused134 = 0x8003C8A8;
@ -1028,25 +1092,8 @@ g_Status_relics_27 = 0x8009797F;
g_Status_relics_28 = 0x80097980;
g_Status_relics_29 = 0x80097981;
g_Status_spells = 0x80097982;
D_8009799A = 0x8009799A;
D_80097A02 = 0x80097A02;
D_80097A05 = 0x80097A05;
D_80097A32 = 0x80097A32;
D_80097A33 = 0x80097A33;
D_80097A42 = 0x80097A42;
D_80097A4D = 0x80097A4D;
D_80097A60 = 0x80097A60;
D_80097A63 = 0x80097A63;
D_80097A65 = 0x80097A65;
D_80097A6A = 0x80097A6A;
D_80097A6B = 0x80097A6B;
D_80097A6C = 0x80097A6C;
D_80097A81 = 0x80097A81;
D_80097A8C = 0x80097A8C;
g_Status_equipHandOrder = 0x80097A8D;
D_80097B36 = 0x80097B36;
g_SaveName = 0x80097B90;
D_80097B9C = 0x80097B9C;
g_Status_hp = 0x80097BA0;
g_Status_hpMax = 0x80097BA4;
g_Status_hearts = 0x80097BA8;
@ -1125,5 +1172,6 @@ _SsMarkCallback = 0x80097F9C;
D_800987B4 = 0x800987B4;
_svm_vab_count = 0x8009880C;
g_DebugPlayer = 0x80098850;
LearnSpell = 0x800FDCE0;
D_8017A000 = 0x8017A000;
D_8017D000 = 0x8017D000;

View File

@ -500,6 +500,7 @@ aPqes_1 = 0x800BA07C;
aPqes = 0x800BC37D;
aPqes_0 = 0x800BCAC3;
g_DebugEnabled = 0x800BD1C0;
g_VabAddrs = 0x800BD1C8;
D_800C097C = 0x800C097C;
D_800C0990 = 0x800C0990;
D_800C09A4 = 0x800C09A4;
@ -1029,6 +1030,7 @@ EntityStopWatch = 0x8012A89C;
EntitySubwpnBible = 0x8012B990;
EntityBatEcho = 0x8012BEF8;
func_801315F8 = 0x801315F8;
SetReverbDepth = 0x80131FA4;
func_801325D8 = 0x801325D8;
PlaySfx = 0x801347F8;
IncrementRingBufferPos = 0x80135C00;
@ -1067,9 +1069,11 @@ g_Cd_D_80137F78 = 0x80137F78;
g_Cd_D_80137F7C = 0x80137F7C;
g_Cd_overlayCopySrc = 0x80137F80;
g_Cd_overlayCopyDst = 0x80137F84;
g_Cd_D_80137F88 = 0x80137F88;
g_Cd_addr = 0x80137F88;
g_Cd_overlayBlockCount = 0x80137F8C;
g_Cd_overlayLastBlockSize = 0x80137F90;
g_VabId = 0x80137F94;
g_SeqTable = 0x80138460;
g_DebugMode = 0x80138FB0;
g_VolL = 0x80138FB8;
g_sfxRingBufferPos1 = 0x80139000;
@ -1080,6 +1084,7 @@ g_sfxRingBuffer1 = 0x801390DC;
g_sfxRingBufferPos2 = 0x80139A70;
g_volumeL = 0x8013AE8C;
g_sfxRingBuffer2 = 0x8013B3E8;
g_SeqAccessNum = 0x8013B658;
g_volumeR = 0x8013B698;
g_imgUnk8013C200 = 0x8013C200;
g_imgUnk8013C270 = 0x8013C270;

View File

@ -372,23 +372,22 @@ CdReadSync = 0x8001C188;
CdReadCallback = 0x8001C254;
CdRead2 = 0x8001C26C;
StClearRing = 0x8001C320;
func_8001C380 = 0x8001C380;
StSetStream = 0x8001C4C8;
func_8001C550 = 0x8001C550;
func_8001C64C = 0x8001C64C;
func_8001C730 = 0x8001C730;
StCdInterrupt = 0x8001C730;
mem2mem = 0x8001D0A0;
dma_execute = 0x8001D0D4;
SsSetMVol = 0x8001D290;
SsSetSerialAttr = 0x8001D2E0;
SsSetSerialVol = 0x8001D374;
_SsInitSoundSeq = 0x8001D470;
func_8001D798 = 0x8001D798;
SsSeqOpen = 0x8001D798;
_SsSeqPlay = 0x8001D864;
_SsGetSeqData = 0x8001D974;
_SsNoteOn = 0x8001DC20;
_SsSetProgramChange = 0x8001DD10;
_SsSetControlChange = 0x8001DD88;
_SsContModulation = 0x8001E0A0;
_SsContPortaTime = 0x8001E1D8;
_SsContPortamento = 0x8001E310;
_SsContResetAll = 0x8001E474;
_SsContNrpn1 = 0x8001E53C;
@ -405,7 +404,7 @@ _SsUtBuildADSR = 0x8001F618;
_SsSndNextSep = 0x8001F6A4;
SsVoKeyOff = 0x8001F7AC;
SsVoKeyOn = 0x8001F7E8;
SsUtFlush = 0x8001F834;
SsSeqCalledTbyT = 0x8001F834;
_SsSndCrescendo = 0x8001FAA8;
_SsSndDecrescendo = 0x8001FD84;
_SsSndPause = 0x80020030;
@ -413,60 +412,107 @@ _SsSndPlay = 0x800200D0;
_SsSndReplay = 0x800200FC;
_SsClose = 0x80020164;
SsSeqClose = 0x800202E0;
SsSepClose = 0x80020304;
_SsInit = 0x80020328;
SsInitHot = 0x80020410;
SsQuit = 0x80020440;
_SsStart = 0x80020460;
SsStart = 0x800206C8;
SsStart2 = 0x800206E8;
_SsTrapIntrVSync = 0x80020708;
_SsSeqCalledTbyT_1per2 = 0x80020748;
SsSetTickMode = 0x80020798;
func_800209B4 = 0x800209B4;
func_80020C94 = 0x80020C94;
func_80020D3C = 0x80020D3C;
func_80020F44 = 0x80020F44;
func_80021174 = 0x80021174;
func_80021188 = 0x80021188;
SsEnd = 0x80020904;
SsSetTableSize = 0x800209B4;
Snd_SetPlayMode = 0x80020B94;
SsSeqPlay = 0x80020C94;
SsSepPlay = 0x80020CCC;
_SsSndSetVol = 0x80020D04;
SsSeqSetVol = 0x80020D3C;
SsSepSetVol = 0x80020D6C;
SsSeqGetVol = 0x80020DA4;
_SsSndStop = 0x80020DD8;
SsSeqStop = 0x80020F44;
SsSepStop = 0x80020F6C;
_SsSndTempo = 0x80020F98;
SsSetMono = 0x80021174;
SsSetStereo = 0x80021188;
SsSetReservedVoice = 0x80021198;
SsVabClose = 0x800211D0;
SsVabOpen = 0x80021254;
SsVabFakeBody = 0x800212AC;
func_80021350 = 0x80021350;
func_80021880 = 0x80021880;
func_800219E0 = 0x800219E0;
SsVabOpenHead = 0x8002131C;
SsVabOpenHeadSticky = 0x80021350;
SsVabFakeHead = 0x80021384;
SsVabOpenHeadWithMode = 0x800213B8;
SsVabTransBody = 0x800217C0;
SsVabTransBodyPartly = 0x80021880;
SsVabTransCompleted = 0x800219E0;
SpuVmDamperOff = 0x80021A0C;
SpuVmDamperOn = 0x80021A1C;
SsUtGetProgAtr = 0x80021A30;
SpuVmVSetUp = 0x80021B38;
SsUtGetVagAtr = 0x80021BFC;
func_80021E38 = 0x80021E38;
func_80021EEC = 0x80021EEC;
func_80021F6C = 0x80021F6C;
SsUtSetReverbType = 0x80021E38;
SsUtGetReverbType = 0x80021EDC;
SsUtReverbOn = 0x80021EEC;
SsUtSetReverbFeedback = 0x80021F2C;
SsUtSetReverbDepth = 0x80021F6C;
SsUtSetReverbDelay = 0x80022004;
SsUtSetVagAtr = 0x80022044;
SpuVmAlloc = 0x8002220C;
SpuVmKeyOnNow = 0x80022474;
SpuVmDoAllocate = 0x80022958;
vmNoiseOn = 0x80022B6C;
vmNoiseOn2 = 0x8002303C;
note2pitch = 0x800231D8;
note2pitch2 = 0x80023290;
SePitchBend = 0x8002338C;
SsUtVibrateOn = 0x80023530;
SsUtVibrateOff = 0x80023538;
SeAutoVol = 0x80023540;
SetAutoVol = 0x800236F0;
SeAutoPan = 0x80023A40;
SetAutoPan = 0x80023BF0;
SpuVmInit = 0x80023F34;
SpuVmNoiseOnWithAdsr = 0x80024304;
SpuVmNoiseOff = 0x8002439C;
SpuVmNoiseOn = 0x80024454;
SpuVmPBVoice = 0x800244D4;
SpuVmPitchBend = 0x800246D8;
SpuVmFlush = 0x800247C8;
SpuVmKeyOn = 0x80024B74;
SpuVmKeyOff = 0x80025164;
SpuVmSeKeyOn = 0x80025354;
SpuVmSeKeyOff = 0x80025440;
_SsVmSetProgVol = 0x80025840;
_SsVmGetProgVol = 0x800258B0;
_SsVmSetProgPan = 0x80025900;
_SsVmSetProgVol_0 = 0x80025908;
_SsVmGetProgPan = 0x80025970;
_SsVmGetProgVol_0 = 0x80025978;
_SsVmSetProgPan_0 = 0x800259C8;
_SsVmGetProgPan_0 = 0x80025A38;
KeyOnCheck = 0x80025474;
SpuVmSetSeqVol = 0x8002547C;
SpuVmGetSeqVol = 0x800255F0;
SpuVmGetSeqLVol = 0x8002565C;
SpuVmGetSeqRVol = 0x800256AC;
SpuVmSeqKeyOff = 0x800256FC;
SpuVmSetProgVol = 0x80025840;
SpuVmGetProgVol = 0x800258B4;
SpuVmSetProgPan = 0x80025908;
SpuVmGetProgPan = 0x8002597C;
SpuVmSetVol = 0x800259D0;
SsUtKeyOn = 0x80025F08;
SsUtKeyOff = 0x800262AC;
SsUtKeyOnV = 0x800264A0;
SsUtKeyOffV = 0x800267E8;
SsUtKeyOffV = 0x8002683C;
SsUtPitchBend = 0x80026954;
func_80026D4C = 0x80026D4C;
SsUtGetDetVVol = 0x80026DD8;
SsUtSetDetVVol = 0x80026E14;
SsUtGetDetVVol_0 = 0x80026E2C;
SsUtSetDetVVol_0 = 0x80026E68;
SsUtGetVVol = 0x80026E78;
SsUtGetVVol_0 = 0x80026ECC;
SsUtSetVVol = 0x80026F24;
SsUtSetVVol_0 = 0x80026F78;
SsUtChangePitch = 0x800269E4;
SsUtChangeADSR = 0x80026B24;
SsUtGetDetVVol = 0x80026BFC;
SsUtSetDetVVol = 0x80026C54;
SsUtGetVVol = 0x80026CC0;
SsUtSetVVol = 0x80026D4C;
SsUtAutoVol = 0x80026DD8;
SsUtAutoPan = 0x80026E2C;
SsUtAllKeyOff = 0x80026E80;
SpuInit = 0x8002705C;
_SpuInit = 0x8002707C;
SpuStart = 0x80027144;
OpenEvent = 0x800271C8;
EnableEvent = 0x800271D8;
_spu_init = 0x80027274;
@ -477,17 +523,12 @@ CloseEvent = 0x800283A4;
DisableEvent = 0x800283B4;
SpuInitMalloc = 0x800283C4;
SpuMalloc = 0x80028418;
func_80028D3C = 0x80028D3C;
SpuMallocWithStartAddr = 0x80028D40;
SpuSetNoiseVoice = 0x80029070;
SpuSetAnyVoice = 0x80029094;
_spu_setReverbAttr = 0x80029810;
SpuClearReverbWorkArea = 0x80029CE0;
WaitEvent = 0x80029E7C;
func_80029FBC = 0x80029FBC;
func_8002A024 = 0x8002A024;
func_8002A09C = 0x8002A09C;
func_8002ABF4 = 0x8002ABF4;
TestEvent = 0x8002AD5C;
_spu_setInTransfer = 0x8002AD6C;
SpuGetAllKeysStatus = 0x8002B458;

View File

@ -1457,14 +1457,6 @@ void func_8001C550(s32);
s32 func_8001D290(s32, s32);
s32 func_8001D374(s8, s16, s16);
void func_8001D2E0(s32, s32, s32);
void func_800202E0(s16);
void func_80020F44(s16);
void func_80021174(void);
void func_80021188(void);
s32 func_80021350(const char* str, s32, s32);
s32 func_80021880(s32*, s32, s32);
s32 func_800219E0(s32);
void func_80021F6C(s16, s16);
void func_8002A024(s32, s32);
#endif

View File

@ -1,6 +1,32 @@
#ifndef LIBSND_H
#define LIBSND_H
#define SS_SEQ_TABSIZ 176
#define SS_NOTICK 0x1000
#define SS_NOTICK0 0
#define SS_TICK60 1
#define SS_TICK240 2
#define SS_TICK120 3
#define SS_TICK50 4
#define SS_TICKVSYNC 5
#define SS_TICKMODE_MAX 6
#define SS_IMEDIATE 0
#define SS_IMMEDIATE 0
#define SS_WAIT_COMPLETED 1
#define SS_REV_TYPE_OFF 0
#define SS_REV_TYPE_ROOM 1
#define SS_REV_TYPE_STUDIO_A 2
#define SS_REV_TYPE_STUDIO_B 3
#define SS_REV_TYPE_STUDIO_C 4
#define SS_REV_TYPE_HALL 5
#define SS_REV_TYPE_SPACE 6
#define SS_REV_TYPE_ECHO 7
#define SS_REV_TYPE_DELAY 8
#define SS_REV_TYPE_PIPE 9
// Closes the SEQ data holding the seq_acces_num that is no longer necessary.
extern void SsSeqClose(short seq_access_num);
@ -79,11 +105,67 @@ short SsUtKeyOnV(
short volr // Volume, right (0-127)
);
/*
* Not known
*/
void func_80026D4C(s16, short voll, short volr);
// Sets the left and right volumes of the specified voice, vc. Since libsnd uses
// an exponential volume calculation for sounds being keyed on, the input
// volumes voll and volr are modified as (vol * vol / 127).
// 0 if successful, -1 if unsuccessful.
short SsUtSetVVol(short vc, // Voice number (0-23)
short voll, // Volume left (0-127)
short volr // Volume right (0-127)
);
void SpuGetAllKeysStatus(char* status);
// Specify the area of a SEQ/SEP data attribute table
void SsSetTableSize(
char* table, // Pointer to SEQ/SEP data attribute table area variable
short s_max, // Maximum times to open SEQ/SEP data (up to 32)
short t_max // Number of SEQ included in SEP
);
// Terminate SEQ data reading.
void SsSeqStop(short seq_access_num // SEQ access number
);
// Sets the output to monaural mode. Forces all libsnd keyed-on voices to have
// equivalent left and right volumes.Stereo mode is the system default mode.
void SsSetMono(void);
// Sets the output to stereo mode. The sound system default output is stereo.
void SsSetStereo(void);
// Open a VAB header and specify transfer address in sound buffer.
s32 /*short*/ SsVabOpenHeadSticky(
u_char* addr, // Start address of VAB header (.VH) in main memory
short vabid, // Desired VAB ID or -1
u_long sbaddr // Start address in sound buffer where VabBody is to be
// transferred
);
// Starts transferring a VAB body in main memory, whose VAB header was opened
// with SsVabOpenHead(), to the sound buffer.
s32 /*short*/ SsVabTransBodyPartly(
u_char* addr, // Pointer to starting address of the segment transfer buffer
u_long bufsize, // Buffer size
short vabid // VAB ID
);
// Determines whether data transfer to SPU local memory has terminated
s32 /*short*/ SsVabTransCompleted(
short immediateFlag // Transfer status recognition flag
);
// Set reverb type
void SsUtSetReverbType(short type);
// Turns on global Reverb at the type and depth set by SsUtSetReverbType() and
// SsUtSetReverbDepth().
void SsUtReverbOn(void);
// Set a reverb depth
void SsUtSetReverbDepth(
short ldepth, // Left channel depth. Value between 0 and 127
short rdepth // Right channel depth. Value between 0 and 127
);
#endif

View File

@ -629,18 +629,18 @@ extern const char aPqes_0[];
extern const char aPqes_1[];
void SsVabClose(short vab_id);
#define LOAD_VAB(vab_id, name, pos, data, dataLen) \
#define LOAD_VAB(vab_id, name, addr, data, dataLen) \
SsVabClose(vab_id); \
while (func_800219E0(0) != 1) \
while (SsVabTransCompleted(SS_IMEDIATE) != 1) \
; \
\
if (func_80021350(name, vab_id, pos) < 0) { \
if (SsVabOpenHeadSticky(name, vab_id, addr) < 0) { \
return -1; \
} \
if (func_80021880(data, dataLen, vab_id) < 0) { \
if (SsVabTransBodyPartly(data, dataLen, vab_id) < 0) { \
return -1; \
} \
while (func_800219E0(0) != 1)
while (SsVabTransCompleted(SS_IMEDIATE) != 1)
s32 LoadVabData(void) {
const int vab0Len = 269488;
@ -654,10 +654,10 @@ s32 LoadVabData(void) {
const int vab3Len = 107792;
#endif
LOAD_VAB(0, &aPbav, D_800BD1C8[0], D_8013B6A0, vab0Len);
LOAD_VAB(1, &aPbav_0, D_800BD1C8[1], D_8017D350, vab1Len);
LOAD_VAB(2, &aPbav_1, D_800BD1C8[2], D_801A9C80, vab2Len);
LOAD_VAB(3, &aPbav_2, D_800BD1C8[3], D_8018B4E0, vab3Len);
LOAD_VAB(0, &aPbav, g_VabAddrs[0], D_8013B6A0, vab0Len);
LOAD_VAB(1, &aPbav_0, g_VabAddrs[1], D_8017D350, vab1Len);
LOAD_VAB(2, &aPbav_1, g_VabAddrs[2], D_801A9C80, vab2Len);
LOAD_VAB(3, &aPbav_2, g_VabAddrs[3], D_8018B4E0, vab3Len);
func_80131EBC(&aPqes, 0x618);
func_80131EBC(&aPqes_0, 0x201);
func_80131EBC(&aPqes_1, 0x205);

View File

@ -49,7 +49,7 @@ INCLUDE_ASM("dra/nonmatchings/47BB8", func_800E7E08);
extern u32 D_8006EBCC;
extern u32 D_80070BCC;
extern u32 D_800A04CC;
extern s32 D_800BD1C8[];
extern s32 g_VabAddrs[];
extern const char aPqes_1[]; // pQES
extern RECT rect;
extern s32* g_StageOverlay;
@ -114,19 +114,19 @@ s32 func_800E7E08(u32 arg0) {
DrawSync(0);
break;
case 4:
while (func_800219E0(0) != 1)
while (SsVabTransCompleted(SS_IMEDIATE) != 1)
;
if (func_80021350(
D_8013644C->addr, D_800A0248, D_800BD1C8[D_800A0248]) < 0) {
if (SsVabOpenHeadSticky(
D_8013644C->addr, D_800A0248, g_VabAddrs[D_800A0248]) < 0) {
return -1;
}
break;
case 5:
if (func_80021880((s32*)0x80280000, D_8013644C->size, D_800A0248) ==
-1) {
if (SsVabTransBodyPartly(
(s32*)0x80280000, D_8013644C->size, D_800A0248) == -1) {
return -1;
}
while (func_800219E0(0) != 1)
while (SsVabTransCompleted(SS_IMEDIATE) != 1)
;
break;
case 7:

View File

@ -2173,7 +2173,7 @@ bool func_80131F68(void) {
s16 func_80131F94(void) { return D_8013B668; }
void func_80131FA4(s16 arg0) { func_80021F6C(arg0, arg0); }
void SetReverbDepth(short depth) { SsUtSetReverbDepth(depth, depth); }
void func_80131FCC(void) {
if (D_8013B680 == 0) {
@ -2285,7 +2285,7 @@ void func_80132264(void) {
D_80139010 = 0;
D_80139A74 = 0;
D_8013B69C = 0;
D_8013B658 = 0;
g_SeqAccessNum = 0;
D_80138FBC = 0;
D_8013901C = 0;
D_80139800 = 0;
@ -2319,7 +2319,7 @@ void func_80132500(u8 soundMode) {
switch (soundMode) {
case MONO_SOUND:
if (D_801390A8 != 0) {
func_80021174();
SsSetMono();
audioVolume.val2 = 128; // CD (R) --> SPU (R)
audioVolume.val0 = 128; // CD (L) --> SPU (L)
audioVolume.val3 = 128; // CD Right sound transferred to left
@ -2331,7 +2331,7 @@ void func_80132500(u8 soundMode) {
break;
case STEREO_SOUND:
if (D_801390A8 != 1) {
func_80021188();
SsSetStereo();
audioVolume.val2 = 224; // CD (R) --> SPU (R)
audioVolume.val0 = 224; // CD (L) --> SPU (L)
audioVolume.val3 = 0;
@ -2351,14 +2351,14 @@ void func_80132500(u8 soundMode) {
void SoundInit(void) {
D_8013AEEC = 1;
SsInitHot();
SsSetTickMode(1);
SsSetTickMode(SS_TICK60);
func_80132500(STEREO_SOUND);
SsSetReservedVoice(0x10);
SsStart();
func_800209B4(&D_80138460, 0x10, 1);
func_80021E38(3);
SpuClearReverbWorkArea(3);
func_80021EEC();
SsSetTableSize(g_SeqTable, SEQ_TABLE_S_MAX, SEQ_TABLE_T_MAX);
SsUtSetReverbType(SS_REV_TYPE_STUDIO_B);
SpuClearReverbWorkArea(SS_REV_TYPE_STUDIO_B);
SsUtReverbOn();
func_80132134();
D_8013B668 = 0x78;
SsSetSerialAttr(0, 0, 1);
@ -2366,7 +2366,7 @@ void SoundInit(void) {
D_80138F24[0] = -0x38; // !FAKE: D_80138F24 part of an array / struct
func_80132028(0xE, D_80138F24, 0);
func_80132264();
func_80131FA4(0xA);
SetReverbDepth(10);
func_8002ABF4(0);
func_80029FBC(0);
CdReadyCallback(NULL);
@ -2505,8 +2505,8 @@ void func_80133780(s8 arg0) { SsSetSerialAttr(0, 1, arg0 == 1); }
void func_801337B4(void) {
if (D_80139810 != 0) {
func_80020F44(D_8013B658);
SsSeqClose(D_8013B658);
SsSeqStop(g_SeqAccessNum);
SsSeqClose(g_SeqAccessNum);
func_8013415C();
D_80139810 = 0;
D_801390C4 = 0;
@ -2578,7 +2578,7 @@ void func_801341B4(void) {
break;
case 2:
func_80131FA4(0);
SetReverbDepth(0);
func_801337B4();
func_80132C2C(3);
D_800BD1C4 = 3;
@ -2860,8 +2860,8 @@ void func_80134D14(void) {
D_800BF554[D_80139804].note, volume, D_8013AE94);
g_VolR = (volume * D_800BD19C[D_8013AE94 * 2 + 0]) >> 8;
g_VolL = (volume * D_800BD19C[D_8013AE94 * 2 + 1]) >> 8;
func_80026D4C(0x16, g_VolL, g_VolR);
func_80026D4C(0x17, g_VolL, g_VolR);
SsUtSetVVol(0x16, g_VolL, g_VolR);
SsUtSetVVol(0x17, g_VolL, g_VolR);
}
void func_80134E64(void) {
@ -2871,8 +2871,8 @@ void func_80134E64(void) {
volume = volume * D_8013AEE0 >> 7;
g_VolR = (volume * D_800BD19C[D_8013AE94 * 2 + 0]) >> 8;
g_VolL = (volume * D_800BD19C[D_8013AE94 * 2 + 1]) >> 8;
func_80026D4C(0x16, g_VolL, g_VolR);
func_80026D4C(0x17, g_VolL, g_VolR);
SsUtSetVVol(0x16, g_VolL, g_VolR);
SsUtSetVVol(0x17, g_VolL, g_VolR);
}
INCLUDE_ASM("asm/us/dra/nonmatchings/75F54", func_80134F50);

View File

@ -39,7 +39,7 @@ extern CdFileSeq D_800ACCF8[];
extern s32 D_800ACD10[];
extern void (*g_CdCallbacks[])(void);
extern s32 D_800ACD7C;
extern s32 D_800BD1C8[];
extern s32 g_VabAddrs[];
extern u8 D_80137F96;
extern s32 D_80137FA0;
extern s16 D_80137FA8;
@ -57,16 +57,16 @@ typedef struct {
s32 D_80137F7C;
u8* overlayCopySrc;
u8* overlayCopyDst;
s8* D_80137F88;
s8* addr;
s32 overlayBlockCount;
s32 overlayLastBlockSize;
s16 D_80137F94;
short g_VabId;
} CdThing;
extern CdCallbacks g_CdCallback;
extern CdThing g_Cd;
extern CdlLOC g_CdLoc;
extern s16 D_80137F94;
extern short g_VabId;
void func_801073C0(void) {
CdReadyCallback(NULL);
@ -288,7 +288,7 @@ void func_80107B04(void) {
void func_80107C6C(void) {
s32 len;
if (g_Cd.D_80137F74 != 0 && (s16)func_800219E0(0) != 1) {
if (g_Cd.D_80137F74 != 0 && (s16)SsVabTransCompleted(SS_IMEDIATE) != 1) {
func_801073C0();
g_Cd.D_80137F78 = -1;
return;
@ -299,7 +299,7 @@ void func_80107C6C(void) {
} else {
len = g_Cd.overlayLastBlockSize;
}
D_80137FA8 = func_80021880(g_Cd.overlayCopySrc, len, (s32)D_80137F94);
D_80137FA8 = SsVabTransBodyPartly(g_Cd.overlayCopySrc, len, g_VabId);
if (D_80137FA8 == -1) {
CdDataCallback(NULL);
g_Cd.D_80137F78 = -3;
@ -323,7 +323,7 @@ void func_80107DB4(void) {
} else {
len = g_Cd.overlayLastBlockSize;
}
g_Cd.overlayCopyDst = TO_CD_BLOCK(g_Cd.D_80137F74) + g_Cd.D_80137F88;
g_Cd.overlayCopyDst = TO_CD_BLOCK(g_Cd.D_80137F74) + g_Cd.addr;
g_Cd.overlayCopySrc = TO_CD_BLOCK(g_Cd.D_80137F70) + D_801EC000;
#if USE_MICRO_OPTIMIZATIONS == 1
MEMCPY(g_Cd.overlayCopyDst, g_Cd.overlayCopySrc, len);
@ -354,14 +354,14 @@ void func_80107EF0(void) {
void (*var_a0)();
s32 i;
s32 len;
s16 res;
short res;
if (g_Cd.overlayBlockCount != 0) {
len = CD_BLOCK_LEN;
} else {
len = g_Cd.overlayLastBlockSize;
}
g_Cd.overlayCopyDst = TO_CD_BLOCK(g_Cd.D_80137F74) + g_Cd.D_80137F88;
g_Cd.overlayCopyDst = TO_CD_BLOCK(g_Cd.D_80137F74) + g_Cd.addr;
g_Cd.overlayCopySrc = TO_CD_BLOCK(g_Cd.D_80137F70) + D_801EC000;
#if USE_MICRO_OPTIMIZATIONS == 1
MEMCPY(g_Cd.overlayCopyDst, g_Cd.overlayCopySrc, len);
@ -377,8 +377,7 @@ void func_80107EF0(void) {
g_Cd.overlayBlockCount--;
if (g_Cd.overlayBlockCount < 0 ||
(g_Cd.overlayBlockCount == 0 && g_Cd.overlayLastBlockSize == 0)) {
res =
func_80021350(g_Cd.D_80137F88, D_80137F94, D_800BD1C8[D_80137F94]);
res = SsVabOpenHeadSticky(g_Cd.addr, g_VabId, g_VabAddrs[g_VabId]);
if (res < 0) {
g_Cd.D_80137F78 = -2;
CdDataCallback(NULL);
@ -519,7 +518,6 @@ void UpdateCd(void) {
u32 temp_v1_3;
u32 temp_v1_4;
u32* temp_s0;
u8 temp_a0;
u32* var_a1;
u16* clutAddr;
@ -643,8 +641,7 @@ void UpdateCd(void) {
cdFileSize += 0x1FFF;
}
g_Cd.D_80137F68 = cdFileSize >> 13;
temp_a0 = cdFile->unkC;
D_80137F94 = temp_a0;
g_VabId = cdFile->vabId;
var_v0_3 = *pLoadFile;
if (var_v0_3 < 0) {
var_v0_3 += 0x7FF;
@ -659,7 +656,7 @@ void UpdateCd(void) {
// eg. if the file is 0x820 long, then the value will be 0x20
g_Cd.overlayLastBlockSize = temp_v1_2 - (var_v0_4 >> 11 << 11);
D_80137F96 = cdFile->unkF;
g_Cd.D_80137F88 = D_800ACD10[cdFile->unkD];
g_Cd.addr = D_800ACD10[cdFile->unkD];
D_80137F6C = 0;
g_Cd.D_80137F70 = 0;
g_Cd.D_80137F74 = 0;
@ -671,11 +668,11 @@ void UpdateCd(void) {
}
} else {
if (cd->cb == CdCallback_16 || cd->cb == CdCallback_Vh) {
SsVabClose(temp_a0);
SsVabClose(g_VabId);
}
if (g_CdCallback != CdCallback_16 &&
g_CdCallback != CdCallback_Vh ||
(s16)func_800219E0(0) == 1) {
(s16)SsVabTransCompleted(SS_IMEDIATE) == 1) {
CdIntToPos(cdFile->loc, &g_CdLoc);
if (g_CdCallback == CdCallback_12) {
CdIntToPos(
@ -781,13 +778,13 @@ void UpdateCd(void) {
break;
case CdCallback_16:
D_80137FB0 = (s16)func_80021350(
g_Cd.D_80137F88, D_80137F94, D_800BD1C8[D_80137F94]);
D_80137FB0 = (short)SsVabOpenHeadSticky(
g_Cd.addr, g_VabId, g_VabAddrs[g_VabId]);
break;
case CdCallback_17:
case CdCallback_Vh:
while ((s16)func_800219E0(0) != 1) {
while ((s16)SsVabTransCompleted(SS_IMEDIATE) != 1) {
}
break;

View File

@ -12,6 +12,9 @@
#define SFX_LAST (0x8E0)
#define MAX_SND_COUNT (0x100)
#define SEQ_TABLE_S_MAX 0x10
#define SEQ_TABLE_T_MAX 1
typedef enum {
DEBUG_NORMAL,
DEBUG_TEXTURE_VIEWER,
@ -175,7 +178,7 @@ typedef struct {
s32 loc; // lba offset, might be a s32
CdCallbacks cb; // sets g_CdCallback
s32 size; // file size
u8 unkC; // index for D_800BD1C8, between 0 and 5?
u8 vabId; // index for g_VabAddrs, between 0 and 5?
u8 unkD; // index for D_800ACD10, between 0 and 6?
u8 nextCdFileType;
u8 unkF;
@ -413,7 +416,7 @@ extern s16 D_800BD07C[];
extern s16 D_800BD19C[];
extern s32 g_DebugEnabled;
extern s32 D_800BD1C4;
extern s32 D_800BD1C8[6];
extern s32 g_VabAddrs[6];
extern s32 D_800C1ECC[];
extern const char D_800DB524[];
extern const char a0104x04x;
@ -560,7 +563,7 @@ extern s32 D_80138438;
extern s32 D_80138440;
extern s32 D_80138444;
extern s32 D_80138454;
extern s32 D_80138460;
extern char g_SeqTable[SS_SEQ_TABSIZ * SEQ_TABLE_S_MAX * SEQ_TABLE_T_MAX];
extern const char* D_80138784[487];
extern s32 D_80138F20;
extern u8 D_80138F24[]; // Confirmed part of an array / struct
@ -664,7 +667,7 @@ extern s16 D_8013B620[];
extern s32 D_8013B628[];
extern s16 D_8013B648[];
extern s16 D_8013B650[];
extern s16 D_8013B658;
extern s16 g_SeqAccessNum;
extern s32 D_8013B660;
extern s16 D_8013B664;
extern s16 D_8013B668;
@ -693,9 +696,6 @@ void SetRoomBackgroundLayer(s32 index, LayerDef2* layerDef);
void CheckCollision(s32 x, s32 y, Collider* res, s32 unk);
void DemoInit(s32 arg0);
void DemoUpdate(void);
void func_800209B4(s32*, s32, s32);
void func_80021E38(s32);
void func_80021EEC(void);
void func_80028D3C(s32, s32);
void func_80029FBC(s32);
void func_8002A09C(void*);

View File

@ -0,0 +1,7 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libcd/c_011", StCdInterrupt);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libcd/c_011", mem2mem);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libcd/c_011", dma_execute);

View File

@ -0,0 +1,5 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/ccadsr", _SsUtResolveADSR);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/ccadsr", _SsUtBuildADSR);

View File

@ -0,0 +1,5 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/cres", _SsSndCrescendo);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/cres", _SsSndDecrescendo);

View File

@ -0,0 +1,4 @@
#include "common.h"
INCLUDE_ASM(
"asm/us/main/nonmatchings/psxsdk/libsnd/miditime", _SsReadDeltaValue);

View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/next", _SsSndNextSep);

View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/pause", _SsSndPause);

View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/play", _SsSndPlay);

View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/replay", _SsSndReplay);

View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/scsmvol", SsSetMVol);

View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/scssattr", SsSetSerialAttr);

View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/scssvol", SsSetSerialVol);

View File

@ -0,0 +1,5 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/seqinit", _SsInitSoundSeq);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/seqinit", SsSeqOpen);

View File

@ -0,0 +1,39 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/seqread", _SsSeqPlay);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/seqread", _SsGetSeqData);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/seqread", _SsNoteOn);
INCLUDE_ASM(
"asm/us/main/nonmatchings/psxsdk/libsnd/seqread", _SsSetProgramChange);
INCLUDE_ASM(
"asm/us/main/nonmatchings/psxsdk/libsnd/seqread", _SsSetControlChange);
INCLUDE_ASM(
"asm/us/main/nonmatchings/psxsdk/libsnd/seqread", _SsContModulation);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/seqread", _SsContPortaTime);
INCLUDE_ASM(
"asm/us/main/nonmatchings/psxsdk/libsnd/seqread", _SsContPortamento);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/seqread", _SsContResetAll);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/seqread", _SsContNrpn1);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/seqread", _SsContNrpn2);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/seqread", _SsContRpn1);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/seqread", _SsContRpn2);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/seqread", _SsContDataEntry);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/seqread", _SsSndSetVabAttr);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/seqread", _SsSetPitchBend);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/seqread", _SsGetMetaEvent);

View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/sscall", SsSeqCalledTbyT);

View File

@ -0,0 +1,7 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/ssclose", _SsClose);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/ssclose", SsSeqClose);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/ssclose", SsSepClose);

View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/ssend", SsEnd);

View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/ssinit", _SsInit);

View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/ssinit_h", SsInitHot);

View File

@ -0,0 +1,7 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/ssplay", Snd_SetPlayMode);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/ssplay", SsSeqPlay);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/ssplay", SsSepPlay);

View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/ssquit", SsQuit);

View File

@ -0,0 +1,12 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/ssstart", _SsStart);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/ssstart", SsStart);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/ssstart", SsStart2);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/ssstart", _SsTrapIntrVSync);
INCLUDE_ASM(
"asm/us/main/nonmatchings/psxsdk/libsnd/ssstart", _SsSeqCalledTbyT_1per2);

View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/sstable", SsSetTableSize);

View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/sstick", SsSetTickMode);

View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/ssvkoff", SsVoKeyOff);

View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/ssvkon", SsVoKeyOn);

View File

@ -0,0 +1,9 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/ssvol", _SsSndSetVol);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/ssvol", SsSeqSetVol);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/ssvol", SsSepSetVol);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/ssvol", SsSeqGetVol);

View File

@ -0,0 +1,7 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/stop", _SsSndStop);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/stop", SsSeqStop);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/stop", SsSepStop);

View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/tempo", _SsSndTempo);

View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/ut_gpa", SsUtGetProgAtr);

View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/ut_gva", SsUtGetVagAtr);

View File

@ -0,0 +1,4 @@
#include "common.h"
INCLUDE_ASM(
"asm/us/main/nonmatchings/psxsdk/libsnd/ut_rdel", SsUtSetReverbDelay);

View File

@ -0,0 +1,4 @@
#include "common.h"
INCLUDE_ASM(
"asm/us/main/nonmatchings/psxsdk/libsnd/ut_rdep", SsUtSetReverbDepth);

View File

@ -0,0 +1,5 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/ut_rev", SsUtSetReverbType);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/ut_rev", SsUtGetReverbType);

View File

@ -0,0 +1,4 @@
#define INCLUDE_ASM_NEW
#include "common.h"
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/ut_rfb", SsUtSetReverbFeedback);

View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/ut_roff", func_80021F0C);

View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/ut_ron", SsUtReverbOn);

View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/ut_sva", SsUtSetVagAtr);

View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/vm_doff", SpuVmDamperOff);

View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/vm_don", SpuVmDamperOn);

View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/vm_vsu", SpuVmVSetUp);

View File

@ -0,0 +1,102 @@
#define INCLUDE_ASM_NEW
#include "common.h"
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SpuVmAlloc);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SpuVmKeyOnNow);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SpuVmDoAllocate);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", vmNoiseOn);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", vmNoiseOn2);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", note2pitch);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", note2pitch2);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SePitchBend);
void SsUtVibrateOn(void) {}
void SsUtVibrateOff(void) {}
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SeAutoVol);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SetAutoVol);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SeAutoPan);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SetAutoPan);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SpuVmInit);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SpuVmNoiseOnWithAdsr);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SpuVmNoiseOff);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SpuVmNoiseOn);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SpuVmPBVoice);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SpuVmPitchBend);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SpuVmFlush);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SpuVmKeyOn);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SpuVmKeyOff);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SpuVmSeKeyOn);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SpuVmSeKeyOff);
void KeyOnCheck(void) {}
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SpuVmSetSeqVol);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SpuVmGetSeqVol);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SpuVmGetSeqLVol);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SpuVmGetSeqRVol);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SpuVmSeqKeyOff);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SpuVmSetProgVol);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SpuVmGetProgVol);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SpuVmSetProgPan);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SpuVmGetProgPan);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SpuVmSetVol);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SsUtKeyOn);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SsUtKeyOff);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SsUtKeyOnV);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SsUtKeyOffV);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SsUtPitchBend);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SsUtChangePitch);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SsUtChangeADSR);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SsUtGetDetVVol);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SsUtSetDetVVol);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SsUtGetVVol);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SsUtSetVVol);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SsUtAutoVol);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SsUtAutoPan);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vmanager", SsUtAllKeyOff);

View File

@ -0,0 +1,5 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/vs_mono", SsSetMono);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/vs_mono", SsSetStereo);

View File

@ -0,0 +1,4 @@
#include "common.h"
INCLUDE_ASM(
"asm/us/main/nonmatchings/psxsdk/libsnd/vs_srv", SsSetReservedVoice);

View File

@ -0,0 +1,5 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/vs_vab", SsVabClose);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/vs_vab", SsVabOpen);

View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/vs_vfb", SsVabFakeBody);

View File

@ -0,0 +1,10 @@
#define INCLUDE_ASM_NEW
#include "common.h"
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vs_vh", SsVabOpenHead);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vs_vh", SsVabOpenHeadSticky);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vs_vh", SsVabFakeHead);
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vs_vh", SsVabOpenHeadWithMode);

View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libsnd/vs_vtb", SsVabTransBody);

View File

@ -0,0 +1,4 @@
#define INCLUDE_ASM_NEW
#include "common.h"
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vs_vtbp", SsVabTransBodyPartly);

View File

@ -0,0 +1,4 @@
#define INCLUDE_ASM_NEW
#include "common.h"
INCLUDE_ASM("main/nonmatchings/psxsdk/libsnd/vs_vtc", SsVabTransCompleted);

View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libspu/s_i", SpuInit);

View File

@ -0,0 +1,5 @@
#include "common.h"
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libspu/s_ini", _SpuInit);
INCLUDE_ASM("asm/us/main/nonmatchings/psxsdk/libspu/s_ini", SpuStart);

View File

@ -230,11 +230,11 @@ class NonMatchingFunc(object):
assumed_path = f"/{self.overlay_name}/{self.text_offset}.c"
c_paths = [src for src in src_files if src.endswith(assumed_path)]
if len(c_paths) != 1:
print("CPATH MATCH FAILURE")
print(c_paths)
print(nonmatching_path)
print(assumed_path)
print(split)
kill = 3 / 0
self.src_path = c_paths[0]
@ -419,6 +419,7 @@ if __name__ == "__main__":
# Sort the names
for overlay in overlays:
overlays[overlay].sort()
print(overlays)
html = '<html><head><meta charset="UTF-8"></head><body>'
for overlay, funcs in overlays.items():
# create a heading for the overlay