X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=3b_sim%2Fiext.hpp;fp=3b_sim%2Fiext.hpp;h=99b08423b9f2fbb6b1d9a9f7dc21a07bac6cae4f;hb=d664b832f84b5130620e78dd87c80d79ef81a139;hp=0000000000000000000000000000000000000000;hpb=b7b8e941c868a7ebdfcc3fbf15564dac19251ed6;p=calu.git diff --git a/3b_sim/iext.hpp b/3b_sim/iext.hpp new file mode 100644 index 0000000..99b0842 --- /dev/null +++ b/3b_sim/iext.hpp @@ -0,0 +1,27 @@ +#ifndef __IEXT_I_ +#define __IEXT_I_ + +class CCpu; + +#include "ccpu.hpp" + +class disasm; + +#include "disasm.h" + + +class Iext { + public: + static void setCPU(CCpu* cpu) {m_cpu = cpu;} + static void setDisasm(disasm* dasm) { m_disasm = dasm; } + + virtual ~Iext() {} + //called by cpu before every tick + virtual void applyTick() = 0; + virtual void loadData(const int address, CDat value) = 0; + virtual CDat readData(const int address) = 0; + static CCpu* m_cpu; + static disasm* m_disasm; +}; + +#endif