c78ad382d4ba2ae9d7508ba54f23c7008e6c80b7
[calu.git] / 3b_sim / iext.hpp
1 #ifndef __IEXT_I_
2 #define __IEXT_I_
3
4 class CCpu;
5
6 #include "ccpu.hpp"
7
8 class disasm;
9
10 #include "disasm.h"
11
12
13 class Iext {
14         public:
15                 static void setCPU(CCpu* cpu) {m_cpu = cpu;}
16                 static void setDisasm(disasm* dasm) { m_disasm = dasm; }
17
18                 virtual ~Iext() {}
19                 //called by cpu before every tick
20                 virtual void applyTick() = 0;
21                 virtual void parseInput(const vector<string>& in) = 0;
22                 virtual void loadData(const int address, CDat value) = 0;
23                 virtual CDat readData(const int address) = 0;
24                 static CCpu* m_cpu;
25                 static disasm* m_disasm;
26 };
27
28 #endif