+#include "../iext.hpp"
+
+class Cprog : public Iext {
+ public:
+ Cprog() : m_writeAddress(0) {};
+ void applyTick() {};
+ void loadData(const int address, CDat value);
+ CDat readData(const int) { return 0; }
+ private:
+ int m_writeAddress;
+};
+
+void Cprog::loadData(const int address, CDat value)
+{
+ if(address == 0x2034) {
+ m_writeAddress = value;
+ //adress pointer
+ }
+ else if(address == 0x2038) {
+ this->m_cpu->setProg(m_writeAddress, m_disasm->decodeNum(value));
+ m_writeAddress += 4;
+ //data pointer
+ }
+}