diff options
Diffstat (limited to 'src/virtualmachine')
| -rw-r--r-- | src/virtualmachine/Syscalls.cpp | 14 | ||||
| -rw-r--r-- | src/virtualmachine/Syscalls.inl | 2 |
2 files changed, 12 insertions, 4 deletions
diff --git a/src/virtualmachine/Syscalls.cpp b/src/virtualmachine/Syscalls.cpp index 692d4d0..876fe52 100644 --- a/src/virtualmachine/Syscalls.cpp +++ b/src/virtualmachine/Syscalls.cpp @@ -71,10 +71,16 @@ namespace vm TRAPDEF(pmapData) { - int xarg, yarg; - yarg = ARG(0).int4; - xarg = ARG(1).int4; + Push<int4_t>(sim->pmap[ARG(1).int4][ARG(0).int4]); + } - Push<int4_t>(sim->pmap[yarg][xarg]); + TRAPDEF(deletePart) + { + sim->delete_part(ARG(0).int4, ARG(1).int4, ARG(2).int4); + } + + TRAPDEF(killPart) + { + sim->kill_part(ARG(0).int4); } } diff --git a/src/virtualmachine/Syscalls.inl b/src/virtualmachine/Syscalls.inl index 5281fb3..75455c1 100644 --- a/src/virtualmachine/Syscalls.inl +++ b/src/virtualmachine/Syscalls.inl @@ -10,3 +10,5 @@ TRAPDEF(-8, print) TRAPDEF(-9, partCreate) TRAPDEF(-10, partChangeType) TRAPDEF(-11, pmapData) +TRAPDEF(-12, deletePart) +TRAPDEF(-13, killPart) |
