Lay down BaseCPU structure
This commit is contained in:
13
src/backend/core/BaseCPU.hpp
Normal file
13
src/backend/core/BaseCPU.hpp
Normal 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;
|
||||
};
|
||||
}
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user