diff options
Diffstat (limited to 'baremetal/ex7.mu')
-rw-r--r-- | baremetal/ex7.mu | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/baremetal/ex7.mu b/baremetal/ex7.mu deleted file mode 100644 index 30e3c1bc..00000000 --- a/baremetal/ex7.mu +++ /dev/null @@ -1,46 +0,0 @@ -# Cursor-based motions. -# -# To build a disk image: -# ./translate_mu_baremetal baremetal/ex7.mu # emits disk.img -# To run: -# qemu-system-i386 disk.img -# Or: -# bochs -f baremetal/boot.bochsrc # boot.bochsrc loads disk.img -# -# Expected output: an interactive game a bit like "snakes". Try pressing h, j, -# k, l. - -fn main { - var space/eax: grapheme <- copy 0x20 - set-cursor-position 0/screen, 0, 0 - { - show-cursor 0/screen, space - var key/eax: byte <- read-key 0/keyboard - { - compare key, 0x68/h - break-if-!= - draw-code-point-at-cursor 0/screen, 0x2d/dash, 0x31/fg, 0/bg - move-cursor-left 0 - } - { - compare key, 0x6a/j - break-if-!= - draw-code-point-at-cursor 0/screen, 0x7c/vertical-bar, 0x31/fg, 0/bg - move-cursor-down 0 - } - { - compare key, 0x6b/k - break-if-!= - draw-code-point-at-cursor 0/screen, 0x7c/vertical-bar, 0x31/fg, 0/bg - move-cursor-up 0 - } - { - compare key, 0x6c/l - break-if-!= - var g/eax: code-point <- copy 0x2d/dash - draw-code-point-at-cursor 0/screen, 0x2d/dash, 0x31/fg, 0/bg - move-cursor-right 0 - } - loop - } -} |