summaryrefslogtreecommitdiff
path: root/src/pim/Machine.h
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-09-25 12:44:38 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-09-25 12:44:38 (GMT)
commit8d9b351568250cbd59c6cc4d390f790d6699332c (patch)
tree33bfef8fcad7bbca7c0b6cadc6e127a5ff073c63 /src/pim/Machine.h
parentaeb3f0b4737863bacdd94986557a12bb67eb1bb7 (diff)
parentcfb8df08305cfc8baebf104524a257bf0ded49db (diff)
downloadpowder-8d9b351568250cbd59c6cc4d390f790d6699332c.zip
powder-8d9b351568250cbd59c6cc4d390f790d6699332c.tar.gz
Merge branch 'master' of github.com:FacialTurd/PowderToypp
Diffstat (limited to 'src/pim/Machine.h')
-rw-r--r--src/pim/Machine.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/pim/Machine.h b/src/pim/Machine.h
index 42147dd..3bf1131 100644
--- a/src/pim/Machine.h
+++ b/src/pim/Machine.h
@@ -59,6 +59,9 @@ namespace pim
int romSize;
int romMask;
+ unsigned char * compiledRom;
+ int compiledRomSize;
+
unsigned char * ram;
int ramSize;
int ramMask;
@@ -76,12 +79,16 @@ namespace pim
int programCounter;
-
+ void emit(std::string opcode);
+ void emit(int constant);
public:
VirtualMachine(Simulation * sim);
int OpcodeArgSize(int opcode);
void LoadProgram(std::vector<unsigned char> programData);
void Run();
+ void Compile();
+ void CallCompiled(std::string entryPoint);
+ void CallCompiled(int entryPoint);
void Call(std::string entryPoint);
void Call(int entryPoint);
inline void PSPush(Word word)