RSP: Add lwu
This commit is contained in:
parent
bd357c65b0
commit
4265bdfb43
|
@ -55,7 +55,7 @@ void BuildInterpreterCPU(void)
|
|||
RSP_Opcode[36] = RSP_Opcode_LBU;
|
||||
RSP_Opcode[37] = RSP_Opcode_LHU;
|
||||
RSP_Opcode[38] = rsp_UnknownOpcode;
|
||||
RSP_Opcode[39] = rsp_UnknownOpcode;
|
||||
RSP_Opcode[39] = RSP_Opcode_LWU;
|
||||
RSP_Opcode[40] = RSP_Opcode_SB;
|
||||
RSP_Opcode[41] = RSP_Opcode_SH;
|
||||
RSP_Opcode[42] = rsp_UnknownOpcode;
|
||||
|
|
|
@ -169,6 +169,12 @@ void RSP_Opcode_LHU(void)
|
|||
RSP_GPR[RSPOpC.rt].UW = RSP_GPR[RSPOpC.rt].UHW[0];
|
||||
}
|
||||
|
||||
void RSP_Opcode_LWU(void)
|
||||
{
|
||||
uint32_t Address = (uint32_t)(RSP_GPR[RSPOpC.base].W + (short)RSPOpC.offset) & 0xFFF;
|
||||
RSP_LW_DMEM(Address, &RSP_GPR[RSPOpC.rt].UW);
|
||||
}
|
||||
|
||||
void RSP_Opcode_SB(void)
|
||||
{
|
||||
uint32_t Address = (uint32_t)(RSP_GPR[RSPOpC.base].W + (short)RSPOpC.offset) & 0xFFF;
|
||||
|
|
|
@ -23,6 +23,7 @@ void RSP_Opcode_LH(void);
|
|||
void RSP_Opcode_LW(void);
|
||||
void RSP_Opcode_LBU(void);
|
||||
void RSP_Opcode_LHU(void);
|
||||
void RSP_Opcode_LWU(void);
|
||||
void RSP_Opcode_SB(void);
|
||||
void RSP_Opcode_SH(void);
|
||||
void RSP_Opcode_SW(void);
|
||||
|
|
|
@ -94,6 +94,7 @@ enum RSPOpCodes
|
|||
RSP_LW = 35,
|
||||
RSP_LBU = 36,
|
||||
RSP_LHU = 37,
|
||||
RSP_LWU = 39,
|
||||
RSP_SB = 40,
|
||||
RSP_SH = 41,
|
||||
RSP_SW = 43,
|
||||
|
|
|
@ -146,6 +146,10 @@ void RSPInstruction::DecodeName(void)
|
|||
strcpy(m_Name, "LHU");
|
||||
sprintf(m_Param, "%s, 0x%04X (%s)", GPR_Name(m_Instruction.rt), m_Instruction.offset, GPR_Name(m_Instruction.base));
|
||||
break;
|
||||
case RSP_LWU:
|
||||
strcpy(m_Name, "LWU");
|
||||
sprintf(m_Param, "%s, 0x%04X (%s)", GPR_Name(m_Instruction.rt), m_Instruction.offset, GPR_Name(m_Instruction.base));
|
||||
break;
|
||||
case RSP_SB:
|
||||
strcpy(m_Name, "SB");
|
||||
sprintf(m_Param, "%s, 0x%04X (%s)", GPR_Name(m_Instruction.rt), m_Instruction.offset, GPR_Name(m_Instruction.base));
|
||||
|
|
Loading…
Reference in New Issue