From d297ab18e667bcab45a327b262308b4d61882aeb Mon Sep 17 00:00:00 2001 From: Pokechu22 Date: Wed, 1 Jun 2022 22:22:04 -0700 Subject: [PATCH] docs/DSP: Add notes highlighting the difference between 'LS and 'SL --- .../GameCube_DSP_Users_Manual.tex | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/docs/DSP/GameCube_DSP_Users_Manual/GameCube_DSP_Users_Manual.tex b/docs/DSP/GameCube_DSP_Users_Manual/GameCube_DSP_Users_Manual.tex index a0c1753728..f7ab05677f 100644 --- a/docs/DSP/GameCube_DSP_Users_Manual/GameCube_DSP_Users_Manual.tex +++ b/docs/DSP/GameCube_DSP_Users_Manual/GameCube_DSP_Users_Manual.tex @@ -4670,6 +4670,10 @@ When the main and extension opcodes write to the same register, the register is $ar0++ $ar3++ \end{DSPOpcodeOperation} + + \begin{DSPOpcodeNote} + \item Differs from \Opcode{'SL} in that \Register{\$(0x18+D)} is associated with \Register{\$ar0} instead of \Register{\$ar3} and \Register{\$acS.m} is associated with \Register{\$ar3} instead of \Register{\$ar0}. In both cases, \Register{\$(0x18+D)} is loaded and \Register{\$acS.m} is stored. + \end{DSPOpcodeNote} \end{DSPOpcode} \begin{DSPOpcode}{'LSM} @@ -4693,6 +4697,10 @@ When the main and extension opcodes write to the same register, the register is $ar0++ $ar3 += $ix3 \end{DSPOpcodeOperation} + + \begin{DSPOpcodeNote} + \item Differs from \Opcode{'SLM} in that \Register{\$(0x18+D)} is associated with \Register{\$ar0} instead of \Register{\$ar3} and \Register{\$acS.m} is associated with \Register{\$ar3} instead of \Register{\$ar0}. In both cases, \Register{\$(0x18+D)} is loaded and \Register{\$acS.m} is stored. + \end{DSPOpcodeNote} \end{DSPOpcode} \begin{DSPOpcode}{'LSNM} @@ -4717,6 +4725,10 @@ When the main and extension opcodes write to the same register, the register is $ar0 += $ix0 $ar3 += $ix3 \end{DSPOpcodeOperation} + + \begin{DSPOpcodeNote} + \item Differs from \Opcode{'SLNM} in that \Register{\$(0x18+D)} is associated with \Register{\$ar0} instead of \Register{\$ar3} and \Register{\$acS.m} is associated with \Register{\$ar3} instead of \Register{\$ar0}. In both cases, \Register{\$(0x18+D)} is loaded and \Register{\$acS.m} is stored. + \end{DSPOpcodeNote} \end{DSPOpcode} \begin{DSPOpcode}{'LSN} @@ -4740,6 +4752,10 @@ When the main and extension opcodes write to the same register, the register is $ar0 += $ix0 $ar3++ \end{DSPOpcodeOperation} + + \begin{DSPOpcodeNote} + \item Differs from \Opcode{'SLN} in that \Register{\$(0x18+D)} is associated with \Register{\$ar0} instead of \Register{\$ar3} and \Register{\$acS.m} is associated with \Register{\$ar3} instead of \Register{\$ar0}. In both cases, \Register{\$(0x18+D)} is loaded and \Register{\$acS.m} is stored. + \end{DSPOpcodeNote} \end{DSPOpcode} \begin{DSPOpcode}{'MV} @@ -4837,6 +4853,10 @@ When the main and extension opcodes write to the same register, the register is $ar0++ $ar3++ \end{DSPOpcodeOperation} + + \begin{DSPOpcodeNote} + \item Differs from \Opcode{'LS} in that \Register{\$(0x18+D)} is associated with \Register{\$ar3} instead of \Register{\$ar0} and \Register{\$acS.m} is associated with \Register{\$ar0} instead of \Register{\$ar3}. In both cases, \Register{\$(0x18+D)} is loaded and \Register{\$acS.m} is stored. + \end{DSPOpcodeNote} \end{DSPOpcode} \begin{DSPOpcode}{'SLM} @@ -4860,6 +4880,10 @@ When the main and extension opcodes write to the same register, the register is $ar0++ $ar3 += $ix3 \end{DSPOpcodeOperation} + + \begin{DSPOpcodeNote} + \item Differs from \Opcode{'LSM} in that \Register{\$(0x18+D)} is associated with \Register{\$ar3} instead of \Register{\$ar0} and \Register{\$acS.m} is associated with \Register{\$ar0} instead of \Register{\$ar3}. In both cases, \Register{\$(0x18+D)} is loaded and \Register{\$acS.m} is stored. + \end{DSPOpcodeNote} \end{DSPOpcode} \begin{DSPOpcode}{'SLNM} @@ -4884,6 +4908,10 @@ When the main and extension opcodes write to the same register, the register is $ar0 += $ix0 $ar3 += $ix3 \end{DSPOpcodeOperation} + + \begin{DSPOpcodeNote} + \item Differs from \Opcode{'LSNM} in that \Register{\$(0x18+D)} is associated with \Register{\$ar3} instead of \Register{\$ar0} and \Register{\$acS.m} is associated with \Register{\$ar0} instead of \Register{\$ar3}. In both cases, \Register{\$(0x18+D)} is loaded and \Register{\$acS.m} is stored. + \end{DSPOpcodeNote} \end{DSPOpcode} \begin{DSPOpcode}{'SLN} @@ -4907,6 +4935,10 @@ When the main and extension opcodes write to the same register, the register is $ar0 += $ix0 $ar3++ \end{DSPOpcodeOperation} + + \begin{DSPOpcodeNote} + \item Differs from \Opcode{'LSN} in that \Register{\$(0x18+D)} is associated with \Register{\$ar3} instead of \Register{\$ar0} and \Register{\$acS.m} is associated with \Register{\$ar0} instead of \Register{\$ar3}. In both cases, \Register{\$(0x18+D)} is loaded and \Register{\$acS.m} is stored. + \end{DSPOpcodeNote} \end{DSPOpcode} \begin{DSPOpcode}{'SN}