update core

This commit is contained in:
Logan McNaughton committed 2022-08-10 11:52:38 -06:00
1 parent 002428d91f
commit c98846b802
2 files changed
+25 -61

No files matched your search

@@ -488,20 +488,7 @@ enum r4300_opcode r4300_decode(struct precomp_instr* inst, struct r4300_core* r4
case R4300_OP_ANDI:
case R4300_OP_DADDI:
case R4300_OP_DADDIU:
case R4300_OP_LB:
case R4300_OP_LBU:
case R4300_OP_LD:
case R4300_OP_LDL:
case R4300_OP_LDR:
case R4300_OP_LH:
case R4300_OP_LHU:
case R4300_OP_LL:
case R4300_OP_LLD:
case R4300_OP_LUI:
case R4300_OP_LW:
case R4300_OP_LWL:
case R4300_OP_LWR:
case R4300_OP_LWU:
case R4300_OP_ORI:
case R4300_OP_SC:
case R4300_OP_SLTI:
@@ -655,6 +642,19 @@ enum r4300_opcode r4300_decode(struct precomp_instr* inst, struct r4300_core* r4
case R4300_OP_LDC2:
case R4300_OP_LWC2:
case R4300_OP_LB:
case R4300_OP_LBU:
case R4300_OP_LD:
case R4300_OP_LDL:
case R4300_OP_LDR:
case R4300_OP_LH:
case R4300_OP_LHU:
case R4300_OP_LL:
case R4300_OP_LLD:
case R4300_OP_LW:
case R4300_OP_LWL:
case R4300_OP_LWR:
case R4300_OP_LWU:
case R4300_OP_SB:
case R4300_OP_SCD:
case R4300_OP_SD:
+12 -48
View File
@@ -634,46 +634,16 @@ void InterpretOpcode(struct r4300_core* r4300)
if (RT_OF(op) != 0) DADDIU(r4300, op);
else NOP(r4300, 0);
break;
case 26: /* Major opcode 26: LDL */
if (RT_OF(op) != 0) LDL(r4300, op);
else NOP(r4300, 0);
break;
case 27: /* Major opcode 27: LDR */
if (RT_OF(op) != 0) LDR(r4300, op);
else NOP(r4300, 0);
break;
case 32: /* Major opcode 32: LB */
if (RT_OF(op) != 0) LB(r4300, op);
else NOP(r4300, 0);
break;
case 33: /* Major opcode 33: LH */
if (RT_OF(op) != 0) LH(r4300, op);
else NOP(r4300, 0);
break;
case 34: /* Major opcode 34: LWL */
if (RT_OF(op) != 0) LWL(r4300, op);
else NOP(r4300, 0);
break;
case 35: /* Major opcode 35: LW */
if (RT_OF(op) != 0) LW(r4300, op);
else NOP(r4300, 0);
break;
case 36: /* Major opcode 36: LBU */
if (RT_OF(op) != 0) LBU(r4300, op);
else NOP(r4300, 0);
break;
case 37: /* Major opcode 37: LHU */
if (RT_OF(op) != 0) LHU(r4300, op);
else NOP(r4300, 0);
break;
case 38: /* Major opcode 38: LWR */
if (RT_OF(op) != 0) LWR(r4300, op);
else NOP(r4300, 0);
break;
case 39: /* Major opcode 39: LWU */
if (RT_OF(op) != 0) LWU(r4300, op);
else NOP(r4300, 0);
break;
case 26: LDL(r4300, op); break;
case 27: LDR(r4300, op); break;
case 32: LB(r4300, op); break;
case 33: LH(r4300, op); break;
case 34: LWL(r4300, op); break;
case 35: LW(r4300, op); break;
case 36: LBU(r4300, op); break;
case 37: LHU(r4300, op); break;
case 38: LWR(r4300, op); break;
case 39: LWU(r4300, op); break;
case 40: SB(r4300, op); break;
case 41: SH(r4300, op); break;
case 42: SWL(r4300, op); break;
@@ -682,19 +652,13 @@ void InterpretOpcode(struct r4300_core* r4300)
case 45: SDR(r4300, op); break;
case 46: SWR(r4300, op); break;
case 47: CACHE(r4300, op); break;
case 48: /* Major opcode 48: LL */
if (RT_OF(op) != 0) LL(r4300, op);
else NOP(r4300, 0);
break;
case 48: LL(r4300, op); break;
case 49: LWC1(r4300, op); break;
case 52: /* Major opcode 52: LLD (Not implemented) */
NI(r4300, op);
break;
case 53: LDC1(r4300, op); break;
case 55: /* Major opcode 55: LD */
if (RT_OF(op) != 0) LD(r4300, op);
else NOP(r4300, 0);
break;
case 55: LD(r4300, op); break;
case 56: /* Major opcode 56: SC */
if (RT_OF(op) != 0) SC(r4300, op);
else NOP(r4300, 0);