From fe1f4d53c6012ceceaab16dc3b680de3accefa72 Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Sun, 1 Sep 2013 16:59:37 -0700 Subject: [PATCH] Return an error on bad SAS sample rate. Also reorder the types to fit the PSP's flag values. --- Core/HLE/sceSas.cpp | 4 ++++ Core/HW/SasAudio.h | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Core/HLE/sceSas.cpp b/Core/HLE/sceSas.cpp index 61487737aa..d6897c1e82 100644 --- a/Core/HLE/sceSas.cpp +++ b/Core/HLE/sceSas.cpp @@ -86,6 +86,10 @@ u32 sceSasInit(u32 core, u32 grainSize, u32 maxVoices, u32 outputMode, u32 sampl ERROR_LOG_REPORT(HLE, "sceSasInit(%08x, %i, %i, %i, %i): bad output mode", core, grainSize, maxVoices, outputMode, sampleRate); return ERROR_SAS_INVALID_OUTPUT_MODE; } + if (sampleRate != 44100) { + ERROR_LOG_REPORT(HLE, "sceSasInit(%08x, %i, %i, %i, %i): bad sample rate", core, grainSize, maxVoices, outputMode, sampleRate); + return ERROR_SAS_INVALID_SAMPLE_RATE; + } INFO_LOG(HLE, "sceSasInit(%08x, %i, %i, %i, %i)", core, grainSize, maxVoices, outputMode, sampleRate); sas->SetGrainSize(grainSize); diff --git a/Core/HW/SasAudio.h b/Core/HW/SasAudio.h index fd4f84a126..9fcec058d4 100644 --- a/Core/HW/SasAudio.h +++ b/Core/HW/SasAudio.h @@ -66,11 +66,11 @@ struct WaveformEffect enum VoiceType { VOICETYPE_OFF, VOICETYPE_VAG, // default - VOICETYPE_PCM, VOICETYPE_NOISE, - VOICETYPE_ATRAC3, VOICETYPE_TRIWAVE, // are these used? there are functions for them (sceSetTriangularWave) VOICETYPE_PULSEWAVE, + VOICETYPE_PCM, + VOICETYPE_ATRAC3, }; // VAG is a Sony ADPCM audio compression format, which goes all the way back to the PSX.