blob: fc20aa2e3e56090e97c03bd3a1734445b15a589e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
='alt'>44c53fa5 ^
|
|
# Experimental Mu shell
# Currently based on Lisp.
fn main screen: (addr screen), keyboard: (addr keyboard), data-disk: (addr disk) {
var env-storage: environment
var env/esi: (addr environment) <- address env-storage
initialize-environment env
load-state env, data-disk
$main:loop: {
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: grapheme <- copy key
edit-environment env, key, data-disk
}
loop
}
}
|