Refactor many other things

This commit is contained in:
SimoneN64
2024-05-13 20:54:53 +02:00
committed by Simone
parent 5148a836a1
commit 059f884ca7
23 changed files with 150 additions and 141 deletions

View File

@@ -3,18 +3,6 @@
#include <ParallelRDPWrapper.hpp>
namespace n64 {
u32 extraCycles = 0;
void CpuStall(u32 cycles) {
extraCycles += cycles;
}
u32 PopStalledCycles() {
u32 ret = extraCycles;
extraCycles = 0;
return ret;
}
Core::Core() : cpu(std::make_unique<Interpreter>()) {}
void Core::Stop() {
@@ -71,7 +59,7 @@ void Core::Run(float volumeL, float volumeR) {
for(; cycles < mem.mmio.vi.cyclesPerHalfline; cycles++, frameCycles++) {
u32 taken = cpu->Step();
taken += PopStalledCycles();
taken += regs.PopStalledCycles();
static u32 cpuSteps = 0;
cpuSteps += taken;
if(mmio.rsp.spStatus.halt) {
@@ -91,7 +79,7 @@ void Core::Run(float volumeL, float volumeR) {
cycles += taken;
frameCycles += taken;
scheduler.Tick(taken, mem, regs);
scheduler.Tick(taken, mem);
}
cycles -= mmio.vi.cyclesPerHalfline;
@@ -101,8 +89,8 @@ void Core::Run(float volumeL, float volumeR) {
mmio.mi.InterruptRaise(MI::Interrupt::VI);
}
mmio.ai.Step(cpu->mem, regs, frameCycles, volumeL, volumeR);
scheduler.Tick(frameCycles, mem, regs);
mmio.ai.Step(frameCycles, volumeL, volumeR);
scheduler.Tick(frameCycles, mem);
}
}