summaryrefslogtreecommitdiff
path: root/Source/Core/DSPCore/Src/DSPInterpreter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/DSPCore/Src/DSPInterpreter.cpp')
-rw-r--r--Source/Core/DSPCore/Src/DSPInterpreter.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/Source/Core/DSPCore/Src/DSPInterpreter.cpp b/Source/Core/DSPCore/Src/DSPInterpreter.cpp
index e9499c23a2..9392d555f1 100644
--- a/Source/Core/DSPCore/Src/DSPInterpreter.cpp
+++ b/Source/Core/DSPCore/Src/DSPInterpreter.cpp
@@ -840,6 +840,9 @@ void orf(const UDSPInstruction& opc)
//-------------------------------------------------------------
+// NX
+// 1000 -000 xxxx xxxx
+// No operation, but can be extended with extended opcode.
void nx(const UDSPInstruction& opc)
{
// This opcode is supposed to do nothing - it's used if you want to use
@@ -1461,10 +1464,13 @@ void srbith(const UDSPInstruction& opc)
// 15-bit precision? clamping? no idea :(
// CLR15 seems to be the default.
+ // nakee: It seems to come around mul operation, and it explains what sets the mul bit. But if so why not set/clr14?
case 0xc: // CLR15
+ g_dsp.r[DSP_REG_SR] |= SR_MUL_MODIFY;
//ERROR_LOG(DSPLLE, "CLR15");
break;
case 0xd: // SET15
+ g_dsp.r[DSP_REG_SR] &= ~SR_MUL_MODIFY;
//ERROR_LOG(DSPLLE, "SET15");
break;