From 8e181c4c1a1339cd5c1b5ad51050ca6e5df143b1 Mon Sep 17 00:00:00 2001 From: jacky400 Date: Thu, 6 Dec 2012 23:05:55 +0800 Subject: [PATCH 1/3] Implemented sceSasSetSL and sceSasSetNoise --- Core/HLE/sceSas.cpp | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/Core/HLE/sceSas.cpp b/Core/HLE/sceSas.cpp index d7d78b8baa..d89b8c4cfe 100644 --- a/Core/HLE/sceSas.cpp +++ b/Core/HLE/sceSas.cpp @@ -282,6 +282,22 @@ void sceSasSetKeyOff(u32 core, int voiceNum) RETURN(0); } +void sceSasSetNoise(u32 core, int voiceNum, int freq) +{ + DEBUG_LOG(HLE,"0=sceSasSetVoice(core=%08x, voiceNum=%i, freq=%i)", core, voiceNum, freq); + Voice &v = sas.voices[voiceNum]; + v.freq = freq; + return(0); +} + +void sceSasSetSL(u32 core, int voiceNum, int level) +{ + DEBUG_LOG(HLE,"0=sceSasSetVoice(core=%08x, voicenum=%i, freq=%i)", core, voiceNum, level); + Voice &v = sas.voices[voiceNum]; + v.sustainLevel = level; + return(0); +} + u32 sceSasSetADSR(u32 core, int voiceNum,int flag ,int a, int d, int s, int r) { DEBUG_LOG(HLE,"0=sceSasSetADSR(core=%08x, voicenum=%i, flag=%i, a=%08x, d=%08x, s=%08x, r=%08x)",core, voiceNum, flag, a,d,s,r) @@ -380,10 +396,10 @@ const HLEFunction sceSasCore[] = {0x440ca7d8, WrapV_UIIIII, "__sceSasSetVolume"}, {0xad84d37f, WrapV_UII, "__sceSasSetPitch"}, {0x99944089, WrapV_UIUII, "__sceSasSetVoice"}, // (int sasCore, int voice, int vagAddr, int size, int loopmode) - {0xb7660a23, 0, "__sceSasSetNoise"}, + {0xb7660a23, WrapV_UII, "__sceSasSetNoise"}, {0x019b25eb, WrapU_UIIIIII, "__sceSasSetADSR"}, {0x9ec3676a, WrapU_UIIIIII, "__sceSasSetADSRmode"}, - {0x5f9529f6, 0, "__sceSasSetSL"}, + {0x5f9529f6, WrapV_UII, "__sceSasSetSL"}, {0x74ae582a, WrapU_UU, "__sceSasGetEnvelopeHeight"}, {0xcbcd4f79, WrapU_UUUU, "__sceSasSetSimpleADSR"}, {0xa0cf2fa4, WrapV_UI, "__sceSasSetKeyOff"}, From 53c0d3a62f10756cbfc5cc5cb296ac0ac700ae77 Mon Sep 17 00:00:00 2001 From: jacky400 Date: Fri, 7 Dec 2012 00:15:48 +0800 Subject: [PATCH 2/3] small fix to sceSasSetSL --- Core/HLE/sceSas.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core/HLE/sceSas.cpp b/Core/HLE/sceSas.cpp index d89b8c4cfe..7a32889c6e 100644 --- a/Core/HLE/sceSas.cpp +++ b/Core/HLE/sceSas.cpp @@ -292,7 +292,7 @@ void sceSasSetNoise(u32 core, int voiceNum, int freq) void sceSasSetSL(u32 core, int voiceNum, int level) { - DEBUG_LOG(HLE,"0=sceSasSetVoice(core=%08x, voicenum=%i, freq=%i)", core, voiceNum, level); + DEBUG_LOG(HLE,"0=sceSasSetSL(core=%08x, voicenum=%i, level=%i)", core, voiceNum, level); Voice &v = sas.voices[voiceNum]; v.sustainLevel = level; return(0); From d24089e1f7f8884dc66dfc261d5456c66f08dc58 Mon Sep 17 00:00:00 2001 From: jacky400 Date: Fri, 7 Dec 2012 01:45:09 +0800 Subject: [PATCH 3/3] Small fix to _sceSasCore and _sceSasCoreWithMix --- Core/HLE/sceSas.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/Core/HLE/sceSas.cpp b/Core/HLE/sceSas.cpp index 7a32889c6e..d145cf093c 100644 --- a/Core/HLE/sceSas.cpp +++ b/Core/HLE/sceSas.cpp @@ -282,20 +282,20 @@ void sceSasSetKeyOff(u32 core, int voiceNum) RETURN(0); } -void sceSasSetNoise(u32 core, int voiceNum, int freq) +u32 sceSasSetNoise(u32 core, int voiceNum, int freq) { - DEBUG_LOG(HLE,"0=sceSasSetVoice(core=%08x, voiceNum=%i, freq=%i)", core, voiceNum, freq); - Voice &v = sas.voices[voiceNum]; - v.freq = freq; - return(0); + DEBUG_LOG(HLE,"0=sceSasSetVoice(core=%08x, voiceNum=%i, freq=%i)", core, voiceNum, freq); + Voice &v = sas.voices[voiceNum]; + v.freq = freq; + return(0); } -void sceSasSetSL(u32 core, int voiceNum, int level) +u32 sceSasSetSL(u32 core, int voiceNum, int level) { - DEBUG_LOG(HLE,"0=sceSasSetSL(core=%08x, voicenum=%i, level=%i)", core, voiceNum, level); - Voice &v = sas.voices[voiceNum]; - v.sustainLevel = level; - return(0); + DEBUG_LOG(HLE,"0=sceSasSetSL(core=%08x, voicenum=%i, level=%i)", core, voiceNum, level); + Voice &v = sas.voices[voiceNum]; + v.sustainLevel = level; + return(0); } u32 sceSasSetADSR(u32 core, int voiceNum,int flag ,int a, int d, int s, int r) @@ -396,10 +396,10 @@ const HLEFunction sceSasCore[] = {0x440ca7d8, WrapV_UIIIII, "__sceSasSetVolume"}, {0xad84d37f, WrapV_UII, "__sceSasSetPitch"}, {0x99944089, WrapV_UIUII, "__sceSasSetVoice"}, // (int sasCore, int voice, int vagAddr, int size, int loopmode) - {0xb7660a23, WrapV_UII, "__sceSasSetNoise"}, + {0xb7660a23, WrapU_UII, "__sceSasSetNoise"}, {0x019b25eb, WrapU_UIIIIII, "__sceSasSetADSR"}, {0x9ec3676a, WrapU_UIIIIII, "__sceSasSetADSRmode"}, - {0x5f9529f6, WrapV_UII, "__sceSasSetSL"}, + {0x5f9529f6, WrapU_UII, "__sceSasSetSL"}, {0x74ae582a, WrapU_UU, "__sceSasGetEnvelopeHeight"}, {0xcbcd4f79, WrapU_UUUU, "__sceSasSetSimpleADSR"}, {0xa0cf2fa4, WrapV_UI, "__sceSasSetKeyOff"},