summaryrefslogtreecommitdiff
path: root/src/virtualmachine
diff options
context:
space:
mode:
Diffstat (limited to 'src/virtualmachine')
-rw-r--r--src/virtualmachine/Operations.cpp2
-rw-r--r--src/virtualmachine/Syscalls.cpp4
-rw-r--r--src/virtualmachine/VirtualMachine.cpp2
3 files changed, 3 insertions, 5 deletions
diff --git a/src/virtualmachine/Operations.cpp b/src/virtualmachine/Operations.cpp
index 1223c81..dcd2cb2 100644
--- a/src/virtualmachine/Operations.cpp
+++ b/src/virtualmachine/Operations.cpp
@@ -227,7 +227,7 @@ namespace vm
OPDEF(ARG) /* Marshal TOS to to-call argument list */
{
- Marshal(parameter.int4, Pop());
+ Marshal(parameter.uint1, Pop());
return 0;
}
diff --git a/src/virtualmachine/Syscalls.cpp b/src/virtualmachine/Syscalls.cpp
index 642e763..bc88fb2 100644
--- a/src/virtualmachine/Syscalls.cpp
+++ b/src/virtualmachine/Syscalls.cpp
@@ -61,9 +61,7 @@ namespace vm
TRAPDEF(partCreate)
{
- printf("%d, %d, %d, %d\n", ARG(0).int4, ARG(1).int4, ARG(2).int4, ARG(3).int4);
- Push<int4_t>(0);
- //Push<int4_t>(sim->create_part(ARG(0).int4, ARG(1).int4, ARG(2).int4, ARG(3).int4));
+ Push<int4_t>(sim->create_part(ARG(0).int4, ARG(1).int4, ARG(2).int4, ARG(3).int4));
}
TRAPDEF(partChangeType)
diff --git a/src/virtualmachine/VirtualMachine.cpp b/src/virtualmachine/VirtualMachine.cpp
index 7d1af8e..fe871f3 100644
--- a/src/virtualmachine/VirtualMachine.cpp
+++ b/src/virtualmachine/VirtualMachine.cpp
@@ -137,7 +137,7 @@ namespace vm
if ((i = opcodeParameterSize(n)))
{
x[0] = x[1] = x[2] = x[3] = 0;
- input.readsome((char*)x, 4);
+ input.readsome((char*)x, i);
w.uint4 = (x[0]) | (x[1] << 8) | (x[2] << 16) | (x[3] << 24);
}
rom[romSize].Operation = n;