about summary refs log tree commit diff stats
path: root/baremetal/ex4.mu
diff options
context:
space:
mode:
Diffstat (limited to 'baremetal/ex4.mu')
-rw-r--r--baremetal/ex4.mu15
1 files changed, 15 insertions, 0 deletions
diff --git a/baremetal/ex4.mu b/baremetal/ex4.mu
new file mode 100644
index 00000000..52b681bc
--- /dev/null
+++ b/baremetal/ex4.mu
@@ -0,0 +1,15 @@
+# Draw a character using the built-in font (GNU unifont)
+#
+# To build a disk image:
+#   ./translate_mu_baremetal baremetal/ex4.mu     # emits disk.img
+# To run:
+#   qemu-system-i386 disk.img
+# Or:
+#   bochs -f baremetal/boot.bochsrc               # boot.bochsrc loads disk.img
+#
+# Expected output: letter 'A' in green near the top-left corner of screen
+
+fn main {
+  var g/eax: grapheme <- copy 0x41  # 'A'
+  draw-grapheme 0, g, 0x10, 0x10, 0xa
+}