mu/shell/main.mu

22 lines
608 B
Forth
Raw Permalink 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
2021-06-12 17:46:28 +00:00
initialize-environment env, 0x20/fake-screen-width, 8/fake-screen-height
2021-06-04 03:28:46 +00:00
load-state env, data-disk
2021-10-03 15:03:15 +00:00
{
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-=
var key/eax: code-point-utf8 <- copy key
edit-environment env, key, data-disk
}
loop
}
}