sim: added extensionmodule support + progger
[calu.git] / 3b_sim / sim.cpp
index 6cd72b16cce203b21229d2e44ade6b6a195eac20..0e1a0aef071cfb6bc7b2304dcb938c2b5d29eb56 100644 (file)
@@ -17,6 +17,9 @@
 #include "CInstrFactory.hpp"
 #include "uint32_from_hex.hpp"
 
+#include "iext.hpp"
+#include "extensions/cprog.hpp"
+
 #include "SReadline/SReadline.h"
 using namespace swift;
 
@@ -68,7 +71,9 @@ class CHelpExec
 void close_prog(const std::vector<std::string> &);
 
 CCpu* Iinstr::m_cpu;
+CCpu* Iext::m_cpu;
 disasm* Iinstr::m_disasm;
+disasm* Iext::m_disasm;
 
 CCpu* global_cpu = NULL;
 
@@ -536,10 +541,14 @@ int main(int argc, char* argv[])
        global_cpu = &cpu;
 
        Iinstr::setCPU(&cpu);
+       Iext::setCPU(&cpu);
 
        disasm disasm(instr);
 
        Iinstr::setDisasm(&disasm);
+       Iext::setDisasm(&disasm);
+
+       global_cpu->registerExtension(new Cprog());
 
        vector<string> commentDefer;
        vector<string> labelDefer;