diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2012-09-15 11:26:52 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-09-15 11:26:52 (GMT) |
| commit | b8a5b8ecb3b720078f449b1325da1ba46ce61e9b (patch) | |
| tree | e66a0bbdf06afbc304d7b72cf839afe70b7d1be7 /src | |
| parent | 3b2f4d59fc44ad4d15e002123aa1e05a080b51a8 (diff) | |
| download | powder-b8a5b8ecb3b720078f449b1325da1ba46ce61e9b.zip powder-b8a5b8ecb3b720078f449b1325da1ba46ce61e9b.tar.gz | |
Fix file reading, fix ARG implementation
Diffstat (limited to 'src')
| -rw-r--r-- | src/virtualmachine/Operations.cpp | 2 | ||||
| -rw-r--r-- | src/virtualmachine/Syscalls.cpp | 4 | ||||
| -rw-r--r-- | src/virtualmachine/VirtualMachine.cpp | 2 |
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; |
