sim: added extensionmodule support + progger
[calu.git] / 3b_sim / extensions / cprog.hpp
1 #include "../iext.hpp"
2
3 class Cprog : public Iext {
4         public:
5                 Cprog() : m_writeAddress(0) {};
6                 void applyTick() {};
7                 void loadData(const int address, CDat value);
8                 CDat readData(const int) { return 0; }
9         private:
10                 int m_writeAddress;
11 };
12
13 void Cprog::loadData(const int address, CDat value)
14 {
15         if(address == 0x2034) {
16                 m_writeAddress = value;
17                 //adress pointer
18         }
19         else if(address == 0x2038) {
20                 this->m_cpu->setProg(m_writeAddress, m_disasm->decodeNum(value));
21                 m_writeAddress += 4;
22                 //data pointer
23         }
24 }