cinder
c146f860cc
rework everything to use stdin/stdout with color
6 months ago
cinder
2fad8db849
bugfixes in coroutines, io.{in,out}put, and checkArgEx
...
coroutine.resume: the `false` that distinguishes os yields from coroutine.yield() was unintentionally passed back to the caller, and the status of the coroutine wasn't
io.input, io.output: incorrectly testing if the argument is nil caused `io.output()` to set stdout to nil instead of returning it unchanged
checkArgEx: incorrectly bailed early after the first instance of 'integer', 'float', or 'file' that didn't match
6 months ago
cinder
f0ed0822b8
implement print(), partially implement io.tmpfile()
...
tmpfile() now errors because filesystem components don't support r+/w+/a+ modes, instead of because TODO
6 months ago
cinder
a1e6b75b22
add preliminary half-tested half-working implementation of the `io` global
6 months ago
cinder
9813dee130
fix spelling and grammar; clarify use of "os yield" not "sysyield"
...
machine.lua uses "sysyield" to refer to forced yielding of the entire computer back to scala for execution time limits
6 months ago
cinder
4a9fbaab30
bin/tty.lua: ensure gpu is bound to the correct screen before writing repl results
6 months ago
cinder
5014e23401
kernel: split init.lua into separate files, concatenated by build.lua
...
also properly implements forwarding os yields
6 months ago
cinder
563c63a1c8
hack a lua repl into bin/tty.lua
6 months ago
cinder
b046f8b4b5
fix subprocesses not having access to load/loadfile or kitn apis
6 months ago
cinder
a18266c96f
build.lua: remove some redundant `outdir .. `; move boot.lua into src/
6 months ago
cinder
3c2a9f50d5
start work on a livedisk
...
init.lua should run correctly in the absence of any other file (except a user-created /etc/init.lua), so things like the terminal and lua repl will come with the livedisk instead
7 months ago
cinder
50c749c2d1
fix intermittent crashes when spawning new processes
7 months ago
cinder
ceec31c4fe
build.lua: match long comments correctly; flush and close files properly; implement fs.copy() on top of lfs
7 months ago
cinder
3e5cfde820
add apis for userspace to spawn new processes/threads
7 months ago
cinder
ca37976828
add a kernel that can run code in userspace
7 months ago
cinder
ff3f9c666f
rearrange and document workaround for openos/plan9k weirdness
7 months ago
cinder
ed2ef6974c
add very basic build step
7 months ago
cinder
a432b1396b
boot.lua: fix booting from eeprom with empty data; allow booting from non-/init.lua paths
7 months ago
cinder
387daea7f2
boot.lua: polyfill computer.{get,set}BootAddress
7 months ago
cinder
e67f77c36d
whoops
7 months ago
cinder
df67e1157c
read maximum amount of /init.lua at once
...
since we're concatenating everything together, use as few intermediary steps as possible
7 months ago
cinder
cac4996000
initial commit with a simplified boot eeprom
...
kitn is intended to be able to boot from the built-in lua bios, but doesn't need e.g. a primary screen/gpu bound
7 months ago