Dynarec + CMake restructure
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
#include <log.hpp>
|
||||
|
||||
namespace n64 {
|
||||
void Interpreter::special(Registers& regs, Mem& mem, u32 instr) {
|
||||
void Interpreter::special(Registers& regs, u32 instr) {
|
||||
u8 mask = (instr & 0x3F);
|
||||
// 00rr_rccc
|
||||
switch (mask) { // TODO: named constants for clearer code
|
||||
@@ -18,8 +18,8 @@ void Interpreter::special(Registers& regs, Mem& mem, u32 instr) {
|
||||
case 0x07: srav(regs, instr); break;
|
||||
case 0x08: jr(regs, instr); break;
|
||||
case 0x09: jalr(regs, instr); break;
|
||||
case 0x0C: FireException(regs, ExceptionCode::Syscall, 0, regs.oldPC); break;
|
||||
case 0x0D: FireException(regs, ExceptionCode::Breakpoint, 0, regs.oldPC); break;
|
||||
case 0x0C: FireException(regs, ExceptionCode::Syscall, 0, true); break;
|
||||
case 0x0D: FireException(regs, ExceptionCode::Breakpoint, 0, true); break;
|
||||
case 0x0F: break; // SYNC
|
||||
case 0x10: mfhi(regs, instr); break;
|
||||
case 0x11: mthi(regs, instr); break;
|
||||
@@ -92,7 +92,7 @@ void Interpreter::regimm(Registers& regs, u32 instr) {
|
||||
|
||||
void Interpreter::cop2Decode(Registers& regs, u32 instr) {
|
||||
if(!regs.cop0.status.cu2) {
|
||||
FireException(regs, ExceptionCode::CoprocessorUnusable, 2, regs.oldPC);
|
||||
FireException(regs, ExceptionCode::CoprocessorUnusable, 2, true);
|
||||
return;
|
||||
}
|
||||
switch(RS(instr)) {
|
||||
@@ -103,7 +103,7 @@ void Interpreter::cop2Decode(Registers& regs, u32 instr) {
|
||||
case 0x05: dmtc2(regs, instr); break;
|
||||
case 0x06: ctc2(regs, instr); break;
|
||||
default:
|
||||
FireException(regs, ExceptionCode::ReservedInstruction, 2, regs.oldPC);
|
||||
FireException(regs, ExceptionCode::ReservedInstruction, 2, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -111,7 +111,7 @@ void Interpreter::Exec(Registers& regs, Mem& mem, u32 instr) {
|
||||
u8 mask = (instr >> 26) & 0x3f;
|
||||
// 00rr_rccc
|
||||
switch(mask) { // TODO: named constants for clearer code
|
||||
case 0x00: special(regs, mem, instr); break;
|
||||
case 0x00: special(regs, instr); break;
|
||||
case 0x01: regimm(regs, instr); break;
|
||||
case 0x02: j(regs, instr); break;
|
||||
case 0x03: jal(regs, instr); break;
|
||||
@@ -141,7 +141,7 @@ void Interpreter::Exec(Registers& regs, Mem& mem, u32 instr) {
|
||||
case 0x19: daddiu(regs, instr); break;
|
||||
case 0x1A: ldl(regs, mem, instr); break;
|
||||
case 0x1B: ldr(regs, mem, instr); break;
|
||||
case 0x1F: FireException(regs, ExceptionCode::ReservedInstruction, 0, regs.oldPC); break;
|
||||
case 0x1F: FireException(regs, ExceptionCode::ReservedInstruction, 0, true); break;
|
||||
case 0x20: lb(regs, mem, instr); break;
|
||||
case 0x21: lh(regs, mem, instr); break;
|
||||
case 0x22: lwl(regs, mem, instr); break;
|
||||
|
||||
Reference in New Issue
Block a user