mu/shell/main.mu

22 lines
567 B
Forth
Raw Normal View History

# Experimental Mu shell
2021-06-06 19:50:25 +00:00
# Currently based on Lisp.
2021-03-28 15:34:44 +00:00
fn main screen: (addr screen), keyboard: (addr keyboard), data-disk: (addr disk) {
2021-06-04 03:28:46 +00:00
var env-storage: environment
var env/esi: (addr environment) <- address env-storage
initialize-environment env
load-state env, data-disk
$main:loop: {
2021-06-04 03:28:46 +00:00
render-environment screen, env
# no way to quit right now; just reboot
{
var key/eax: byte <- read-key keyboard
compare key, 0
loop-if-=
2021-06-05 02:58:20 +00:00
var key/eax: grapheme <- copy key
2021-06-04 03:28:46 +00:00
edit-environment env, key, data-disk
}
loop
}
}