diff --git a/Core/HLE/sceSas.cpp b/Core/HLE/sceSas.cpp index bb0387fd28..94e7d11121 100644 --- a/Core/HLE/sceSas.cpp +++ b/Core/HLE/sceSas.cpp @@ -124,16 +124,16 @@ u32 sceSasSetVoice(u32 core, int voiceNum, u32 vagAddr, int size, int loop) { return ERROR_SAS_INVALID_VOICE; } - if (!Memory::IsValidAddress(vagAddr)) { - ERROR_LOG(HLE, "Ignoring invalid VAG audio address %08x", vagAddr); - return 0; - } - if (size <= 0 || (size & 0xF) != 0) { WARN_LOG(HLE, "%s: invalid size %d", __FUNCTION__, size); return ERROR_SAS_INVALID_SIZE; } + if (!Memory::IsValidAddress(vagAddr)) { + ERROR_LOG(HLE, "Ignoring invalid VAG audio address %08x", vagAddr); + return 0; + } + //Real VAG header is 0x30 bytes behind the vagAddr SasVoice &v = sas->voices[voiceNum]; u32 prevVagAddr = v.vagAddr;