https://github.com/akkartik/mu/blob/master/apps/tui.mu
1
2
3
4
5
6
7 fn main -> exit-status/ebx: int {
8 var nrows/eax: int <- copy 0
9 var ncols/ecx: int <- copy 0
10 nrows, ncols <- screen-size
11 enable-screen-grid-mode
12 move-cursor 5, 35
13 start-color 1, 0x7a
14 start-blinking
15 print-string "Hello world!"
16 reset-formatting
17 move-cursor 6, 35
18 print-string "tty dimensions: "
19 print-int32-to-screen nrows
20 print-string " rows, "
21 print-int32-to-screen ncols
22 print-string " rows\n"
23
24 print-string "press a key to see its code: "
25 enable-keyboard-immediate-mode
26 var x/eax: byte <- read-key
27 enable-keyboard-type-mode
28 enable-screen-type-mode
29 print-string "You pressed "
30 print-int32-to-screen x
31 print-string "\n"
32 exit-status <- copy 0
33 }