diff --git a/Src/Hypersplash/data/lib/modules/Astronand/99_Hypersplash.kmod b/Src/Hypersplash/data/lib/modules/Astronand/99_Hypersplash.kmod index 0fa2e6f..3c90e99 100644 --- a/Src/Hypersplash/data/lib/modules/Astronand/99_Hypersplash.kmod +++ b/Src/Hypersplash/data/lib/modules/Astronand/99_Hypersplash.kmod @@ -2,7 +2,7 @@ local kernel=... local logoFile="" if kernel.vfs.exists("/etc/hypersplash/logo.txt") then - local file=kernel.vfs.open("/etc/hypersplash/logo.txt") + local file=kernel.vfs.open("/etc/hypersplash/logo.txt", "r") logoFile=kernel.vfs.read(file, 16384) kernel.vfs.close(file) else diff --git a/Src/brainfuck/authors.txt b/Src/brainfuck/authors.txt new file mode 100644 index 0000000..73c23ff --- /dev/null +++ b/Src/brainfuck/authors.txt @@ -0,0 +1,2 @@ +Hyperion +Astronand \ No newline at end of file diff --git a/Src/brainfuck/data/bftest b/Src/brainfuck/data/bftest new file mode 100644 index 0000000..a48be04 --- /dev/null +++ b/Src/brainfuck/data/bftest @@ -0,0 +1,4 @@ +++++++++++[>+++++++>++++++++++>+++>+<<<<-] +>++.>+.+++++++..+++.>++. +<<+++++++++++++++.>.+++. +------.--------.>+.>. \ No newline at end of file diff --git a/Src/brainfuck/data/bin/brainfuck b/Src/brainfuck/data/bin/brainfuck new file mode 100644 index 0000000..d01299c --- /dev/null +++ b/Src/brainfuck/data/bin/brainfuck @@ -0,0 +1,82 @@ +local function bf(...) + local file = ... + + local fs = require("fs") + local script = fs.readAllText(file) + local program = {} + print("[Brainfuck] Loaded script") + + --pre parse script + for c in script:gmatch(".") do + if c:match("[%+%-%<%>%[%]%,%.]") then + table.insert(program, c) + end + end + print("[Brainfuck] Script parsed") + + local jumps = {} + local stack = {} + + for i, c in ipairs(program) do + if c == "[" then + table.insert(stack, i) + elseif c == "]" then + assert(#stack > 0, "Unmatched ]") + local start = table.remove(stack) + jumps[start] = i + jumps[i] = start + end + end + print("[Brainfuck] Jumptable made") + print("[Brainfuck] Initailizing...") + local startime = syscall.getUptime() + + assert(#stack == 0, "Unmatched [") + + local tape = {0} + local ptr = 1 + local ip = 1 + local itrs = 0 + while ip <= #program do + local char = program[ip] + if char == ">" then + ptr=ptr+1 + elseif char == "<" then + ptr=ptr-1 + if ptr<=0 then + print("[Brainfuck] FATAL ERROR: OOB ERR") + syscall.exit() + end + elseif char == "+" then + local cur=tape[ptr] or 0 + tape[ptr]=(cur+1)%256 + elseif char == "-" then + local cur=tape[ptr] or 0 + tape[ptr]=(cur-1)%256 + elseif char == "." then + printInline(string.char(tape[ptr] or 0)) + elseif char == "," then + local data = syscall.read(0, 1) + if not data or data == "" then data = "\0" end + tape[ptr]=data:byte() + elseif char == "[" then + if (tape[ptr] or 0)==0 then + ip=jumps[ip] + end + elseif char == "]" then + if (tape[ptr] or 0)~=0 then + ip=jumps[ip] + end + end + ip=ip+1 + itrs=itrs+1 + end + print("[Brainfuck] Ran in "..tostring(itrs).." itrations") + print("[Brainfuck] and "..tostring(syscall.getUptime()-startime)) + syscall.exit() +end + +local ok,err = xpcall(bf, debug.traceback, ...) +if not ok then + print("[Brainfuck] FATAL ERROR: "..err) +end \ No newline at end of file diff --git a/Src/brainfuck/description.txt b/Src/brainfuck/description.txt new file mode 100644 index 0000000..72b3efd --- /dev/null +++ b/Src/brainfuck/description.txt @@ -0,0 +1 @@ +Brainfuck interpreter \ No newline at end of file diff --git a/Src/brainfuck/version.txt b/Src/brainfuck/version.txt new file mode 100644 index 0000000..afaf360 --- /dev/null +++ b/Src/brainfuck/version.txt @@ -0,0 +1 @@ +1.0.0 \ No newline at end of file diff --git a/Src/rawexplorer/data/bin/rawexplorer b/Src/rawexplorer/data/bin/rawexplorer new file mode 100644 index 0000000..e69de29 diff --git a/Src/reactornoboom/data/bin/reactornoboom b/Src/reactornoboom/data/bin/reactornoboom new file mode 100644 index 0000000..725e492 --- /dev/null +++ b/Src/reactornoboom/data/bin/reactornoboom @@ -0,0 +1,35 @@ +local service={} +local fs=require("fs") +local reactor=syscall.open("/dev/raw/by-type/fissionReactorLogicAdapter/1","rw") +local boiler=syscall.open("/dev/raw/by-type/boilerValve/1") +local exit=false +local temp,fuel,waste,hcool,cool,dmg = 0,0,0,0,0,0 +function service.dmgservice() + while not exit do + dmg=syscall.devctl(reactor, "getDamagePercent") + end +end + +function service.wasteservice() + while not exit do + + end +end + +function service.coolantservice() + while not exit do + + end +end + +function service.extraservice() + while not exit do + + end +end + +function service.storeservice() + while not exit do + + end +end \ No newline at end of file diff --git a/packages/Hypersplash.pkg b/packages/Hypersplash.pkg index 07c179a..f18560c 100644 --- a/packages/Hypersplash.pkg +++ b/packages/Hypersplash.pkg @@ -4,6 +4,6 @@ "authors": [], "dependencies": [], "version": "0.0.0", - "hash": "91bdf5d35d76286a08f8d8001df9fc134c9a429cfebe8bd85edb5dd9a30de533", + "hash": "d83271f13ee042680f384bd78a41e61457e1b035fea4002f30ff82d6109b85e4", "tarball": "http://localhost:8001/packages/raw/Hypersplash.tar.xz" } diff --git a/packages/brainfuck.pkg b/packages/brainfuck.pkg new file mode 100644 index 0000000..a78fab8 --- /dev/null +++ b/packages/brainfuck.pkg @@ -0,0 +1,12 @@ +{ + "id": "brainfuck", + "description": "Brainfuck interpreter", + "authors": [ + "Hyperion", + "Astronand" + ], + "dependencies": [], + "version": "1.0.0", + "hash": "e13acb28e6d7e8473d8b7b75af4e0eca10182625e76a845206ccbb0d531f48b5", + "tarball": "http://localhost:8001/packages/raw/brainfuck.tar.xz" +} diff --git a/packages/ccemu.pkg b/packages/ccemu.pkg index 351b565..8318cb2 100644 --- a/packages/ccemu.pkg +++ b/packages/ccemu.pkg @@ -4,6 +4,6 @@ "authors": [], "dependencies": [], "version": "0.0.0", - "hash": "3cbbf1628cc1b7a6de6606f97f6a1a379ab93f6b3bb1e86ea0ec9eb2865dd731", + "hash": "11b44baa23034eb669623382c4eafbf62ded61ec23a9ff75c5805d2ead277400", "tarball": "http://localhost:8001/packages/raw/ccemu.tar.xz" } diff --git a/packages/raw/Hypersplash.tar.gz b/packages/raw/Hypersplash.tar.gz index b2c360b..438c90c 100644 Binary files a/packages/raw/Hypersplash.tar.gz and b/packages/raw/Hypersplash.tar.gz differ diff --git a/packages/raw/brainfuck.tar.gz b/packages/raw/brainfuck.tar.gz new file mode 100644 index 0000000..e3979b4 Binary files /dev/null and b/packages/raw/brainfuck.tar.gz differ diff --git a/packages/raw/ccemu.tar.gz b/packages/raw/ccemu.tar.gz index 3775977..77a8d51 100644 Binary files a/packages/raw/ccemu.tar.gz and b/packages/raw/ccemu.tar.gz differ diff --git a/packages/raw/rawexplorer.tar.gz b/packages/raw/rawexplorer.tar.gz new file mode 100644 index 0000000..bcebd0d Binary files /dev/null and b/packages/raw/rawexplorer.tar.gz differ diff --git a/packages/raw/reactornoboom.tar.gz b/packages/raw/reactornoboom.tar.gz new file mode 100644 index 0000000..4a3d10b Binary files /dev/null and b/packages/raw/reactornoboom.tar.gz differ diff --git a/packages/raw/rootkit.tar.gz b/packages/raw/rootkit.tar.gz index e17f79f..b3bc2a1 100644 Binary files a/packages/raw/rootkit.tar.gz and b/packages/raw/rootkit.tar.gz differ diff --git a/packages/raw/taskunmanager.tar.gz b/packages/raw/taskunmanager.tar.gz index e99f0ae..617fe8b 100644 Binary files a/packages/raw/taskunmanager.tar.gz and b/packages/raw/taskunmanager.tar.gz differ diff --git a/packages/rawexplorer.pkg b/packages/rawexplorer.pkg new file mode 100644 index 0000000..bf97523 --- /dev/null +++ b/packages/rawexplorer.pkg @@ -0,0 +1,9 @@ +{ + "id": "rawexplorer", + "description": "No description provided", + "authors": [], + "dependencies": [], + "version": "0.0.0", + "hash": "338c1e29973887a02b04c739357f83d971fa86f763b7133d3aa63b527836d213", + "tarball": "http://localhost:8001/packages/raw/rawexplorer.tar.xz" +} diff --git a/packages/reactornoboom.pkg b/packages/reactornoboom.pkg new file mode 100644 index 0000000..cf14650 --- /dev/null +++ b/packages/reactornoboom.pkg @@ -0,0 +1,9 @@ +{ + "id": "reactornoboom", + "description": "No description provided", + "authors": [], + "dependencies": [], + "version": "0.0.0", + "hash": "fcec0c946ec115befcdc731dcf5249a7b8e45b93086e8dce78958d4502d4af91", + "tarball": "http://localhost:8001/packages/raw/reactornoboom.tar.xz" +} diff --git a/packages/rootkit.pkg b/packages/rootkit.pkg index fa265be..d4efa0d 100644 --- a/packages/rootkit.pkg +++ b/packages/rootkit.pkg @@ -4,6 +4,6 @@ "authors": [], "dependencies": [], "version": "0.0.0", - "hash": "be789fb72ead5cb08e1e97bee4fb1fa5c5c2aabda26212e735adea57d098654f", + "hash": "bd9da232fbfb4341a3622fafb8c261031896af2f0c984a413dd574d41ffe7b09", "tarball": "http://localhost:8001/packages/raw/rootkit.tar.xz" } diff --git a/packages/taskunmanager.pkg b/packages/taskunmanager.pkg index 0f89ac0..912222b 100644 --- a/packages/taskunmanager.pkg +++ b/packages/taskunmanager.pkg @@ -4,6 +4,6 @@ "authors": [], "dependencies": [], "version": "0.0.0", - "hash": "941433634cbc4c71ca4af6de2177d6a3c9017b2e418104e2db2b91a9c052ecb6", + "hash": "d8cc521ce6dc966897badc83523c82cbcbb6c5dfa0c70ca6c852af18f95c8506", "tarball": "http://localhost:8001/packages/raw/taskunmanager.tar.xz" } diff --git a/spm.json b/spm.json index 578aaf1..cff8137 100644 --- a/spm.json +++ b/spm.json @@ -1,7 +1,10 @@ { "packages": { "Hypersplash": "http://localhost:8001/packages/Hypersplash.pkg", + "brainfuck": "http://localhost:8001/packages/brainfuck.pkg", "ccemu": "http://localhost:8001/packages/ccemu.pkg", + "rawexplorer": "http://localhost:8001/packages/rawexplorer.pkg", + "reactornoboom": "http://localhost:8001/packages/reactornoboom.pkg", "rootkit": "http://localhost:8001/packages/rootkit.pkg", "taskunmanager": "http://localhost:8001/packages/taskunmanager.pkg" },