summary refs log tree commit diff
path: root/pc-thing/instructions/sys.ts
diff options
context:
space:
mode:
authorWlodekM <[email protected]>2025-04-02 12:23:56 +0300
committerWlodekM <[email protected]>2025-04-02 12:23:56 +0300
commit1027b91f357eaaa4793b9d16673b0ab662b37c7e (patch)
tree8625f0aebc48ab32d6d4c3bd5ae92cfbf82c8c08 /pc-thing/instructions/sys.ts
parent0f6d349f9b8d22b3f8d972c5ff19ffb276629bdb (diff)
remove pc thing
Diffstat (limited to 'pc-thing/instructions/sys.ts')
-rw-r--r--pc-thing/instructions/sys.ts55
1 files changed, 0 insertions, 55 deletions
diff --git a/pc-thing/instructions/sys.ts b/pc-thing/instructions/sys.ts
deleted file mode 100644
index 5131bf2..0000000
--- a/pc-thing/instructions/sys.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-// deno-lint-ignore-file no-case-declarations no-process-globals
-import { PC } from "../pc.ts";
-
-export default {
-    function(this: PC) {
-        switch (this.registers[0]) {
-            case 0:
-                switch (this.registers[1]) {
-                    case 0:
-                        const data = new Uint8Array(1024)
-                        const len = Deno.stdin.readSync(data) ?? 0
-                        let i = 0;
-                        while (i < len) {
-                            this.mem[this.registers[2] + i] = data[i]
-                            i++
-                        }
-                        this.registers[0] = len
-                        this.mem[this.registers[2] + i] = 0
-                        break;
-
-                    default:
-                        throw 'unknown fd'
-                }
-                break;
-            case 1:
-                const writeBuff = [];
-                let i = this.registers[2];
-                while (this.mem[i] != 0 && i <= this.mem.length) {
-                    writeBuff.push(this.mem[i]);
-                    i++
-                }
-                switch (this.registers[1]) {
-                    case 1:
-                        process.stdout.write(writeBuff.map(a => String.fromCharCode(a)).join(''))
-                        break;
-
-                    case 2:
-                        process.stderr.write(writeBuff.map(a => String.fromCharCode(a)).join(''))
-                        break;
-
-                    default:
-                        throw 'unknown fd'
-                }
-                break;
-            
-            case 2:
-                Deno.stdin.setRaw(this.registers[1] ? true : false);
-                break;
-
-            default:
-                throw 'unknown syscall id ' + this.registers[0]
-        }
-    },
-    args: 0
-}
\ No newline at end of file