update prdp

This commit is contained in:
CocoSimone
2022-09-08 00:06:35 +02:00
parent 01e918d7f2
commit 314f6629f0
9 changed files with 13 additions and 7 deletions

View File

@@ -67,6 +67,7 @@ target_include_directories(parallel-rdp PUBLIC
../../src/frontend/imgui ../../src/frontend/imgui
../../src/frontend/imgui/debugger ../../src/frontend/imgui/debugger
../../src ../../src
../capstone/include
../imgui ../imgui
../imgui/imgui ../imgui/imgui
../imgui/imgui/backends ../imgui/imgui/backends

View File

@@ -11,6 +11,7 @@ target_include_directories(frontend PUBLIC
. .
.. ..
../../external ../../external
../../external/capstone/include
../../external/parallel-rdp ../../external/parallel-rdp
../../external/parallel-rdp/parallel-rdp-standalone/vulkan ../../external/parallel-rdp/parallel-rdp-standalone/vulkan
../../external/parallel-rdp/parallel-rdp-standalone/util ../../external/parallel-rdp/parallel-rdp-standalone/util

View File

@@ -21,6 +21,7 @@ target_include_directories(frontend-imgui PUBLIC
../../n64/core/cpu ../../n64/core/cpu
../../n64/core/cpu/registers ../../n64/core/cpu/registers
../../../external ../../../external
../../../external/capstone/include
../../../external/parallel-rdp/parallel-rdp-standalone ../../../external/parallel-rdp/parallel-rdp-standalone
../../../external/parallel-rdp/parallel-rdp-standalone/vulkan ../../../external/parallel-rdp/parallel-rdp-standalone/vulkan
../../../external/parallel-rdp/parallel-rdp-standalone/util ../../../external/parallel-rdp/parallel-rdp-standalone/util

View File

@@ -14,5 +14,6 @@ target_include_directories(n64 PUBLIC
.. ..
../frontend/imgui/debugger ../frontend/imgui/debugger
../../external ../../external
../../external/capstone/include
../../external/imgui/imgui ../../external/imgui/imgui
../../external/imgui/imgui/backends) ../../external/imgui/imgui/backends)

View File

@@ -47,7 +47,7 @@ target_include_directories(core PUBLIC
../.. ../..
../../frontend/imgui/debugger ../../frontend/imgui/debugger
../../../external ../../../external
../../../external/capstone ../../../external/capstone/include
../../../external/imgui/imgui ../../../external/imgui/imgui
../../../external/imgui/imgui/debugger ../../../external/imgui/imgui/debugger
../../../external/imgui/imgui/backends ../../../external/imgui/imgui/backends

View File

@@ -2,10 +2,11 @@
#include <Registers.hpp> #include <Registers.hpp>
#include <Mem.hpp> #include <Mem.hpp>
#include <util.hpp> #include <util.hpp>
#include <capstone/capstone.h>
namespace n64 { namespace n64 {
struct Cpu { struct Cpu {
Cpu() = default; Cpu() { Reset(); }
~Cpu() = default; ~Cpu() = default;
void Reset(); void Reset();
void Step(Mem&); void Step(Mem&);

View File

@@ -2,20 +2,21 @@ cmake_minimum_required(VERSION 3.20)
project(cpu) project(cpu)
add_library(cpu add_library(cpu
decode.cpp
instructions.cpp
Registers.cpp Registers.cpp
Registers.hpp Registers.hpp
registers/Cop0.cpp registers/Cop0.cpp
registers/Cop0.hpp registers/Cop0.hpp
decode.cpp
registers/cop0instructions.cpp registers/cop0instructions.cpp
registers/Cop1.cpp registers/Cop1.cpp
registers/Cop1.hpp registers/Cop1.hpp
registers/cop1instructions.cpp registers/cop1instructions.cpp)
instructions.cpp)
target_include_directories(cpu PUBLIC registers target_include_directories(cpu PUBLIC registers
. .. . ..
../../../../external ../../../../external
../../../../external/capstone/include
../../../../src ../../../../src
../../ ../../
) )

View File

@@ -578,7 +578,7 @@ void Cpu::dsra32(u32 instr) {
} }
void Cpu::jr(u32 instr) { void Cpu::jr(u32 instr) {
u32 address = regs.gpr[RS(instr)]; s32 address = regs.gpr[RS(instr)];
if ((address & 3) != 0) { if ((address & 3) != 0) {
HandleTLBException(regs, (s64)((s32)address)); HandleTLBException(regs, (s64)((s32)address));
FireException(regs, ExceptionCode::AddressErrorStore, 0, regs.oldPC); FireException(regs, ExceptionCode::AddressErrorStore, 0, regs.oldPC);