about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2020-12-06 22:08:12 -0800
committerKartik Agaram <vc@akkartik.com>2020-12-06 22:08:12 -0800
commitb0d323ff87e49cd245ee6da8113f1ae6db86b9d8 (patch)
tree284ac65b1a913db622fc43092252f221d15a9ff1
parent601785364f45a7bd9846ac7ddd51df80784e7421 (diff)
downloadmu-b0d323ff87e49cd245ee6da8113f1ae6db86b9d8.tar.gz
7344
-rw-r--r--apps/tile/environment.mu18
1 files changed, 15 insertions, 3 deletions
diff --git a/apps/tile/environment.mu b/apps/tile/environment.mu
index 2015e4cf..776b4185 100644
--- a/apps/tile/environment.mu
+++ b/apps/tile/environment.mu
@@ -1310,6 +1310,8 @@ fn render _env: (addr environment) {
 #?   print-string 0, "== render\n"
   var env/esi: (addr environment) <- copy _env
   clear-canvas env
+  # menu
+  render-menu env
   # screen
   var screen-ah/eax: (addr handle screen) <- get env, screen
   var _screen/eax: (addr screen) <- lookup *screen-ah
@@ -1905,13 +1907,25 @@ fn clear-canvas _env: (addr environment) {
   clear-screen screen
   var nrows/eax: (addr int) <- get env, nrows
   var sep-col/ecx: (addr int) <- get env, code-separator-col
+  # divider
   draw-vertical-line screen, 1, *nrows, *sep-col
-  # wordstar-style cheatsheet of shortcuts
+  # primitives
+  var dummy/eax: int <- render-primitives screen, *nrows, *sep-col
+}
+
+# wordstar-style cheatsheet of shortcuts
+fn render-menu _env: (addr environment) {
+  var env/esi: (addr environment) <- copy _env
+  var screen-ah/edi: (addr handle screen) <- get env, screen
+  var _screen/eax: (addr screen) <- lookup *screen-ah
+  var screen/edi: (addr screen) <- copy _screen
+  var nrows/eax: (addr int) <- get env, nrows
   move-cursor screen, *nrows, 0
   start-reverse-video screen
   print-string screen, " ctrl-q "
   reset-formatting screen
   print-string screen, " quit "
+  var sep-col/ecx: (addr int) <- get env, code-separator-col
   var menu-start/ebx: int <- copy *sep-col
   menu-start <- subtract 0x48  # 72 = half the size of the menu
   move-cursor screen, *nrows, menu-start
@@ -1951,8 +1965,6 @@ fn clear-canvas _env: (addr environment) {
   print-string screen, " ctrl-d "
   reset-formatting screen
   print-string screen, " define function  "
-  # primitives
-  var dummy/eax: int <- render-primitives screen, *nrows, *sep-col
 }
 
 # return value: top-most row written to