about summary refs log tree commit diff stats
path: root/shell/print.mu
diff options
context:
space:
mode:
Diffstat (limited to 'shell/print.mu')
-rw-r--r--shell/print.mu16
1 files changed, 14 insertions, 2 deletions
diff --git a/shell/print.mu b/shell/print.mu
index 0bec0cd1..c89e301f 100644
--- a/shell/print.mu
+++ b/shell/print.mu
@@ -54,14 +54,26 @@ fn print-cell _in: (addr handle cell), out: (addr stream byte), trace: (addr tra
     trace-higher trace
     return
   }
-  compare *in-type, 5/primitive
+  compare *in-type, 5/screen
   {
     break-if-!=
     write out, "[screen "
     var screen-ah/eax: (addr handle screen) <- get in-addr, screen-data
     var screen/eax: (addr screen) <- lookup *screen-ah
     var screen-addr/eax: int <- copy screen
-    write-int32-decimal out, screen-addr
+    write-int32-hex out, screen-addr
+    write out, "]"
+    trace-higher trace
+    return
+  }
+  compare *in-type, 6/keyboard
+  {
+    break-if-!=
+    write out, "[keyboard "
+    var keyboard-ah/eax: (addr handle gap-buffer) <- get in-addr, keyboard-data
+    var keyboard/eax: (addr gap-buffer) <- lookup *keyboard-ah
+    var keyboard-addr/eax: int <- copy keyboard
+    write-int32-hex out, keyboard-addr
     write out, "]"
     trace-higher trace
     return