Lay down BaseCPU structure

This commit is contained in:
SimoneN64
2023-07-24 16:06:33 +02:00
parent e587c31150
commit 698032f0a1
8 changed files with 64 additions and 36 deletions

View File

@@ -0,0 +1,13 @@
#pragma once
#include <Registers.hpp>
#include <Mem.hpp>
namespace n64 {
struct BaseCPU {
virtual ~BaseCPU() = default;
virtual int Step() {return 0;}
virtual void Reset() {}
Registers regs;
Mem mem;
};
}

View File

@@ -1,13 +1,14 @@
#pragma once
#include <Mem.hpp>
#include <vector>
#include "BaseCPU.hpp"
namespace n64 {
struct Core;
struct Interpreter {
struct Interpreter : BaseCPU {
Interpreter() = default;
~Interpreter() = default;
FORCE_INLINE int Step() {
~Interpreter() override = default;
FORCE_INLINE int Step() override {
CheckCompareInterrupt();
regs.prevDelaySlot = regs.delaySlot;
@@ -35,7 +36,7 @@ struct Interpreter {
return 1;
}
void Reset();
void Reset() override;
Registers regs;
Mem mem;
private: