diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2021-07-16 08:09:42 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2021-07-16 08:28:56 -0700 |
commit | 44d26b77c45668c9b0c99894a4294cec004361fe (patch) | |
tree | 68a5dcd4971873efd4ce184e9bf9a531c2161813 /ex7.mu | |
parent | ac45f097153afd3a89f43886e4124c5b2c26b98a (diff) | |
download | mu-44d26b77c45668c9b0c99894a4294cec004361fe.tar.gz |
.
Diffstat (limited to 'ex7.mu')
-rw-r--r-- | ex7.mu | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/ex7.mu b/ex7.mu deleted file mode 100644 index 4ddd754a..00000000 --- a/ex7.mu +++ /dev/null @@ -1,46 +0,0 @@ -# Cursor-based motions. -# -# To build a disk image: -# ./translate ex7.mu # emits code.img -# To run: -# qemu-system-i386 code.img -# Or: -# bochs -f bochsrc # bochsrc loads code.img -# -# Expected output: an interactive game a bit like "snakes". Try pressing h, j, -# k, l. - -fn main screen: (addr screen), keyboard: (addr keyboard), data-disk: (addr disk) { - var space/eax: grapheme <- copy 0x20 - set-cursor-position screen, 0, 0 - { - draw-cursor screen, space - var key/eax: byte <- read-key keyboard - { - compare key, 0x68/h - break-if-!= - draw-code-point-at-cursor screen, 0x2d/dash, 0x31/fg, 0/bg - move-cursor-left 0 - } - { - compare key, 0x6a/j - break-if-!= - draw-code-point-at-cursor screen, 0x7c/vertical-bar, 0x31/fg, 0/bg - move-cursor-down 0 - } - { - compare key, 0x6b/k - break-if-!= - draw-code-point-at-cursor 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 screen, 0x2d/dash, 0x31/fg, 0/bg - move-cursor-right 0 - } - loop - } -} |