about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2021-04-19 10:28:18 -0700
committerKartik K. Agaram <vc@akkartik.com>2021-04-19 10:47:30 -0700
commitf5ece0451b7de213ebe989ba90c95e4781b2c26b (patch)
tree0af45fa5ccfde3d1e235b7f6bec597b4dbc52583
parent5c5bca9df5508ebbd556718e0193654eb9f31380 (diff)
downloadmu-f5ece0451b7de213ebe989ba90c95e4781b2c26b.tar.gz
start cleaning up pixel graphics
Filling pixels isn't a rare corner case. I'm going to switch to a dense
rather than sparse representation for pixels, but callers will have to
explicitly request the additional memory.
-rw-r--r--500fake-screen.mu2
-rw-r--r--504test-screen.mu4
-rw-r--r--shell/cell.mu4
-rw-r--r--shell/gap-buffer.mu14
-rw-r--r--shell/grapheme-stack.mu14
-rw-r--r--shell/sandbox.mu22
-rw-r--r--shell/trace.mu48
7 files changed, 54 insertions, 54 deletions
diff --git a/500fake-screen.mu b/500fake-screen.mu
index fce0dc5d..4aefc694 100644
--- a/500fake-screen.mu
+++ b/500fake-screen.mu
@@ -34,7 +34,7 @@ type pixel {
   color: int  # [0..256)
 }
 
-fn initialize-screen _screen: (addr screen), width: int, height: int {
+fn initialize-screen _screen: (addr screen), width: int, height: int, pixel-graphics?: boolean {
   var screen/esi: (addr screen) <- copy _screen
   var tmp/eax: int <- copy 0
   var dest/edi: (addr int) <- copy 0
diff --git a/504test-screen.mu b/504test-screen.mu
index 48550f09..e071b2d6 100644
--- a/504test-screen.mu
+++ b/504test-screen.mu
@@ -308,7 +308,7 @@ fn check-background-color-in-screen-row-from screen-on-stack: (addr screen), bg:
 fn test-draw-single-grapheme {
   var screen-on-stack: screen
   var screen/esi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 5, 4
+  initialize-screen screen, 5, 4, 0/no-pixel-graphics
   draw-code-point screen, 0x61/a, 0/x, 0/y, 1/fg, 2/bg
   check-screen-row screen, 0/y, "a", "F - test-draw-single-grapheme"  # top-left corner of the screen
   check-screen-row-in-color screen, 1/fg, 0/y, "a", "F - test-draw-single-grapheme-fg"
@@ -319,7 +319,7 @@ fn test-draw-single-grapheme {
 fn test-draw-multiple-graphemes {
   var screen-on-stack: screen
   var screen/esi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0x10/rows, 4/cols
+  initialize-screen screen, 0x10/rows, 4/cols, 0/no-pixel-graphics
   draw-text-wrapping-right-then-down-from-cursor-over-full-screen screen, "Hello, 世界", 1/fg, 2/bg
   check-screen-row screen, 0/y, "Hello, 世界", "F - test-draw-multiple-graphemes"
   check-screen-row-in-color screen, 1/fg, 0/y, "Hello, 世界", "F - test-draw-multiple-graphemes-fg"
diff --git a/shell/cell.mu b/shell/cell.mu
index 8804c686..8b9307c7 100644
--- a/shell/cell.mu
+++ b/shell/cell.mu
@@ -136,14 +136,14 @@ fn allocate-screen _out: (addr handle cell) {
   copy-to *type, 5/screen
 }
 
-fn new-fake-screen _out: (addr handle cell), width: int, height: int {
+fn new-fake-screen _out: (addr handle cell), width: int, height: int, pixel-graphics?: boolean {
   var out/eax: (addr handle cell) <- copy _out
   allocate-screen out
   var out-addr/eax: (addr cell) <- lookup *out
   var dest-ah/eax: (addr handle screen) <- get out-addr, screen-data
   allocate dest-ah
   var dest-addr/eax: (addr screen) <- lookup *dest-ah
-  initialize-screen dest-addr, width, height
+  initialize-screen dest-addr, width, height, pixel-graphics?
 }
 
 fn clear-screen-cell _self-ah: (addr handle cell) {
diff --git a/shell/gap-buffer.mu b/shell/gap-buffer.mu
index 030bf837..6486b6ea 100644
--- a/shell/gap-buffer.mu
+++ b/shell/gap-buffer.mu
@@ -545,7 +545,7 @@ fn test-render-gap-buffer-without-cursor {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 5, 4
+  initialize-screen screen, 5, 4, 0/no-pixel-graphics
   #
   var x/eax: int <- render-gap-buffer screen, gap, 0/x, 0/y, 0/no-cursor
   check-screen-row screen, 0/y, "abc ", "F - test-render-gap-buffer-without-cursor"
@@ -563,7 +563,7 @@ fn test-render-gap-buffer-with-cursor-at-end {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 5, 4
+  initialize-screen screen, 5, 4, 0/no-pixel-graphics
   #
   var x/eax: int <- render-gap-buffer screen, gap, 0/x, 0/y, 1/show-cursor
   check-screen-row screen, 0/y, "abc ", "F - test-render-gap-buffer-with-cursor-at-end"
@@ -583,7 +583,7 @@ fn test-render-gap-buffer-with-cursor-in-middle {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 5, 4
+  initialize-screen screen, 5, 4, 0/no-pixel-graphics
   #
   var x/eax: int <- render-gap-buffer screen, gap, 0/x, 0/y, 1/show-cursor
   check-screen-row screen, 0/y, "abc ", "F - test-render-gap-buffer-with-cursor-in-middle"
@@ -600,7 +600,7 @@ fn test-render-gap-buffer-with-cursor-at-start {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 5, 4
+  initialize-screen screen, 5, 4, 0/no-pixel-graphics
   #
   var x/eax: int <- render-gap-buffer screen, gap, 0/x, 0/y, 1/show-cursor
   check-screen-row screen, 0/y, "abc ", "F - test-render-gap-buffer-with-cursor-at-start"
@@ -617,7 +617,7 @@ fn test-render-gap-buffer-highlight-matching-close-paren {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 5, 4
+  initialize-screen screen, 5, 4, 0/no-pixel-graphics
   #
   var x/eax: int <- render-gap-buffer screen, gap, 0/x, 0/y, 1/show-cursor
   check-screen-row                     screen, 0/y,                   "(a) ", "F - test-render-gap-buffer-highlight-matching-close-paren"
@@ -635,7 +635,7 @@ fn test-render-gap-buffer-highlight-matching-open-paren {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 5, 4
+  initialize-screen screen, 5, 4, 0/no-pixel-graphics
   #
   var x/eax: int <- render-gap-buffer screen, gap, 0/x, 0/y, 1/show-cursor
   check-screen-row                     screen, 0/y,                   "(a) ", "F - test-render-gap-buffer-highlight-matching-open-paren"
@@ -652,7 +652,7 @@ fn test-render-gap-buffer-highlight-matching-open-paren-of-end {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 5, 4
+  initialize-screen screen, 5, 4, 0/no-pixel-graphics
   #
   var x/eax: int <- render-gap-buffer screen, gap, 0/x, 0/y, 1/show-cursor
   check-screen-row                     screen, 0/y,                   "(a) ", "F - test-render-gap-buffer-highlight-matching-open-paren-of-end"
diff --git a/shell/grapheme-stack.mu b/shell/grapheme-stack.mu
index 7308b31b..ab8ac09c 100644
--- a/shell/grapheme-stack.mu
+++ b/shell/grapheme-stack.mu
@@ -197,7 +197,7 @@ fn test-render-grapheme-stack {
   # setup: screen
   var screen-on-stack: screen
   var screen/esi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 5, 4
+  initialize-screen screen, 5, 4, 0/no-pixel-graphics
   #
   var x/eax: int <- render-stack-from-bottom screen, gs, 0/x, 0/y, 0/no-highlight-matching-open-paren, 0/open-paren-depth
   check-screen-row screen, 0/y, "abc ", "F - test-render-grapheme-stack from bottom"
@@ -229,7 +229,7 @@ fn test-render-grapheme-stack-while-highlighting-matching-close-paren {
   # setup: screen
   var screen-on-stack: screen
   var screen/esi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 5, 4
+  initialize-screen screen, 5, 4, 0/no-pixel-graphics
   #
   var x/eax: int <- render-stack-from-top screen, gs, 0/x, 2/y, 1/cursor=true
   check-screen-row                      screen,               2/y, "(b) ", "F - test-render-grapheme-stack-while-highlighting-matching-close-paren"
@@ -263,7 +263,7 @@ fn test-render-grapheme-stack-while-highlighting-matching-close-paren-2 {
   # setup: screen
   var screen-on-stack: screen
   var screen/esi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 5, 4
+  initialize-screen screen, 5, 4, 0/no-pixel-graphics
   #
   var x/eax: int <- render-stack-from-top screen, gs, 0/x, 2/y, 1/cursor=true
   check-screen-row                      screen,               2/y, "(a (b)) c ", "F - test-render-grapheme-stack-while-highlighting-matching-close-paren-2"
@@ -285,7 +285,7 @@ fn test-render-grapheme-stack-while-highlighting-matching-open-paren-with-close-
   # setup: screen
   var screen-on-stack: screen
   var screen/esi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 5, 4
+  initialize-screen screen, 5, 4, 0/no-pixel-graphics
   #
   var x/eax: int <- render-stack-from-bottom screen, gs, 0/x, 2/y, 1/highlight-matching-open-paren, 1/open-paren-depth
   check-screen-row          screen,               2/y, "(b) ", "F - test-render-grapheme-stack-while-highlighting-matching-open-paren-with-close-paren-at-end"
@@ -312,7 +312,7 @@ fn test-render-grapheme-stack-while-highlighting-matching-open-paren-with-close-
   # setup: screen
   var screen-on-stack: screen
   var screen/esi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 5, 4
+  initialize-screen screen, 5, 4, 0/no-pixel-graphics
   #
   var x/eax: int <- render-stack-from-bottom screen, gs, 0/x, 2/y, 1/highlight-matching-open-paren, 1/open-paren-depth
   check-screen-row          screen,               2/y, "a((b)) ", "F - test-render-grapheme-stack-while-highlighting-matching-open-paren-with-close-paren-at-end-2"
@@ -331,7 +331,7 @@ fn test-render-grapheme-stack-while-highlighting-matching-open-paren {
   # setup: screen
   var screen-on-stack: screen
   var screen/esi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 5, 4
+  initialize-screen screen, 5, 4, 0/no-pixel-graphics
   #
   var x/eax: int <- render-stack-from-bottom screen, gs, 0/x, 2/y, 1/highlight-matching-open-paren, 0/open-paren-depth
   check-screen-row          screen,               2/y, "(b ", "F - test-render-grapheme-stack-while-highlighting-matching-open-paren"
@@ -356,7 +356,7 @@ fn test-render-grapheme-stack-while-highlighting-matching-open-paren-2 {
   # setup: screen
   var screen-on-stack: screen
   var screen/esi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 5, 4
+  initialize-screen screen, 5, 4, 0/no-pixel-graphics
   #
   var x/eax: int <- render-stack-from-bottom screen, gs, 0/x, 2/y, 1/highlight-matching-open-paren, 0/open-paren-depth
   check-screen-row          screen,               2/y, "a((b) ", "F - test-render-grapheme-stack-while-highlighting-matching-open-paren-2"
diff --git a/shell/sandbox.mu b/shell/sandbox.mu
index 5ad779ec..64fb3fdd 100644
--- a/shell/sandbox.mu
+++ b/shell/sandbox.mu
@@ -23,7 +23,7 @@ fn initialize-sandbox _self: (addr sandbox), fake-screen-and-keyboard?: boolean
     compare fake-screen-and-keyboard?, 0/false
     break-if-=
     var screen-ah/eax: (addr handle cell) <- get self, screen-var
-    new-fake-screen screen-ah, 5/width, 4/height
+    new-fake-screen screen-ah, 5/width, 4/height, 1/enable-pixel-graphics
     var keyboard-ah/eax: (addr handle cell) <- get self, keyboard-var
     new-fake-keyboard keyboard-ah, 0x10/keyboard-capacity
   }
@@ -681,7 +681,7 @@ fn test-run-integer {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0x80/width, 0x10/height
+  initialize-screen screen, 0x80/width, 0x10/height, 0/no-pixel-graphics
   #
   render-sandbox screen, sandbox, 0/x, 0/y, 0x80/width, 0x10/height, 0/no-globals
   check-screen-row screen, 0/y, "1    ", "F - test-run-integer/0"
@@ -703,7 +703,7 @@ fn test-run-with-spaces {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0x80/width, 0x10/height
+  initialize-screen screen, 0x80/width, 0x10/height, 0/no-pixel-graphics
   #
   render-sandbox screen, sandbox, 0/x, 0/y, 0x80/width, 0x10/height, 0/no-globals
   check-screen-row screen, 0/y, " 1   ", "F - test-run-with-spaces/0"
@@ -724,7 +724,7 @@ fn test-run-quote {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0x80/width, 0x10/height
+  initialize-screen screen, 0x80/width, 0x10/height, 0/no-pixel-graphics
   #
   render-sandbox screen, sandbox, 0/x, 0/y, 0x80/width, 0x10/height, 0/no-globals
   check-screen-row screen, 0/y, "'a   ", "F - test-run-quote/0"
@@ -750,7 +750,7 @@ fn test-run-dotted-list {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0x80/width, 0x10/height
+  initialize-screen screen, 0x80/width, 0x10/height, 0/no-pixel-graphics
   #
   render-sandbox screen, sandbox, 0/x, 0/y, 0x80/width, 0x10/height, 0/no-globals
   check-screen-row screen, 0/y, "'(a . b)   ", "F - test-run-dotted-list/0"
@@ -778,7 +778,7 @@ fn test-run-dot-and-list {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0x80/width, 0x10/height
+  initialize-screen screen, 0x80/width, 0x10/height, 0/no-pixel-graphics
   #
   render-sandbox screen, sandbox, 0/x, 0/y, 0x80/width, 0x10/height, 0/no-globals
   check-screen-row screen, 0/y, "'(a . (b)) ", "F - test-run-dot-and-list/0"
@@ -802,7 +802,7 @@ fn test-run-final-dot {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0x80/width, 0x10/height
+  initialize-screen screen, 0x80/width, 0x10/height, 0/no-pixel-graphics
   #
   render-sandbox screen, sandbox, 0/x, 0/y, 0x80/width, 0x10/height, 0/no-globals
   check-screen-row screen, 0/y, "'(a .)               ", "F - test-run-final-dot/0"
@@ -829,7 +829,7 @@ fn test-run-double-dot {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0x80/width, 0x10/height
+  initialize-screen screen, 0x80/width, 0x10/height, 0/no-pixel-graphics
   #
   render-sandbox screen, sandbox, 0/x, 0/y, 0x80/width, 0x10/height, 0/no-globals
   check-screen-row screen, 0/y, "'(a . .)             ", "F - test-run-double-dot/0"
@@ -858,7 +858,7 @@ fn test-run-multiple-expressions-after-dot {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0x80/width, 0x10/height
+  initialize-screen screen, 0x80/width, 0x10/height, 0/no-pixel-graphics
   #
   render-sandbox screen, sandbox, 0/x, 0/y, 0x80/width, 0x10/height, 0/no-globals
   check-screen-row screen, 0/y, "'(a . b c)                                           ", "F - test-run-multiple-expressions-after-dot/0"
@@ -879,7 +879,7 @@ fn test-run-error-invalid-integer {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0x80/width, 0x10/height
+  initialize-screen screen, 0x80/width, 0x10/height, 0/no-pixel-graphics
   #
   render-sandbox screen, sandbox, 0/x, 0/y, 0x80/width, 0x10/height, 0/no-globals
   check-screen-row screen, 0/y, "1a             ", "F - test-run-error-invalid-integer/0"
@@ -899,7 +899,7 @@ fn test-run-move-cursor-into-trace {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0x80/width, 0x10/height
+  initialize-screen screen, 0x80/width, 0x10/height, 0/no-pixel-graphics
   #
   render-sandbox screen, sandbox, 0/x, 0/y, 0x80/width, 0x10/height, 0/no-globals
   check-screen-row screen,                                  0/y, "12    ", "F - test-run-move-cursor-into-trace/pre-0"
diff --git a/shell/trace.mu b/shell/trace.mu
index 7be03451..8585fe49 100644
--- a/shell/trace.mu
+++ b/shell/trace.mu
@@ -514,7 +514,7 @@ fn test-render-trace-empty {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 5/width, 4/height
+  initialize-screen screen, 5/width, 4/height, 0/no-pixel-graphics
   #
   var y/ecx: int <- render-trace screen, t, 0/xmin, 0/ymin, 5/xmax, 4/ymax, 0/no-cursor
   #
@@ -530,7 +530,7 @@ fn test-render-trace-empty-2 {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 5/width, 4/height
+  initialize-screen screen, 5/width, 4/height, 0/no-pixel-graphics
   #
   var y/ecx: int <- render-trace screen, t, 0/xmin, 2/ymin, 5/xmax, 4/ymax, 0/no-cursor  # cursor below top row
   #
@@ -546,7 +546,7 @@ fn test-render-trace-empty-3 {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 5/width, 4/height
+  initialize-screen screen, 5/width, 4/height, 0/no-pixel-graphics
   #
   var y/ecx: int <- render-trace screen, t, 0/xmin, 2/ymin, 5/xmax, 4/ymax, 1/show-cursor  # try show cursor
   # still no cursor to show
@@ -565,7 +565,7 @@ fn test-render-trace-collapsed-by-default {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 5/width, 4/height
+  initialize-screen screen, 5/width, 4/height, 0/no-pixel-graphics
   #
   var y/ecx: int <- render-trace screen, t, 0/xmin, 0/ymin, 5/xmax, 4/ymax, 0/no-cursor
   #
@@ -581,7 +581,7 @@ fn test-render-trace-error {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0xa/width, 4/height
+  initialize-screen screen, 0xa/width, 4/height, 0/no-pixel-graphics
   #
   var y/ecx: int <- render-trace screen, t, 0/xmin, 0/ymin, 0xa/xmax, 4/ymax, 0/no-cursor
   #
@@ -599,7 +599,7 @@ fn test-render-trace-error-at-start {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0xa/width, 4/height
+  initialize-screen screen, 0xa/width, 4/height, 0/no-pixel-graphics
   #
   var y/ecx: int <- render-trace screen, t, 0/xmin, 0/ymin, 0xa/xmax, 4/ymax, 0/no-cursor
   #
@@ -618,7 +618,7 @@ fn test-render-trace-error-at-end {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0xa/width, 4/height
+  initialize-screen screen, 0xa/width, 4/height, 0/no-pixel-graphics
   #
   var y/ecx: int <- render-trace screen, t, 0/xmin, 0/ymin, 0xa/xmax, 4/ymax, 0/no-cursor
   #
@@ -638,7 +638,7 @@ fn test-render-trace-error-in-the-middle {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0xa/width, 4/height
+  initialize-screen screen, 0xa/width, 4/height, 0/no-pixel-graphics
   #
   var y/ecx: int <- render-trace screen, t, 0/xmin, 0/ymin, 0xa/xmax, 4/ymax, 0/no-cursor
   #
@@ -659,7 +659,7 @@ fn test-render-trace-cursor-in-single-line {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0xa/width, 4/height
+  initialize-screen screen, 0xa/width, 4/height, 0/no-pixel-graphics
   #
   var y/ecx: int <- render-trace screen, t, 0/xmin, 0/ymin, 0xa/xmax, 4/ymax, 1/show-cursor
   #
@@ -906,7 +906,7 @@ fn test-cursor-down-and-up-within-trace {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0xa/width, 4/height
+  initialize-screen screen, 0xa/width, 4/height, 0/no-pixel-graphics
   #
   var y/ecx: int <- render-trace screen, t, 0/xmin, 0/ymin, 0xa/xmax, 4/ymax, 1/show-cursor
   #
@@ -949,7 +949,7 @@ fn test-cursor-down-past-bottom-of-trace {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0xa/width, 4/height
+  initialize-screen screen, 0xa/width, 4/height, 0/no-pixel-graphics
   #
   var y/ecx: int <- render-trace screen, t, 0/xmin, 0/ymin, 0xa/xmax, 4/ymax, 1/show-cursor
   #
@@ -986,7 +986,7 @@ fn test-expand-within-trace {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0x10/width, 4/height
+  initialize-screen screen, 0x10/width, 4/height, 0/no-pixel-graphics
   #
   var y/ecx: int <- render-trace screen, t, 0/xmin, 0/ymin, 0x10/xmax, 4/ymax, 1/show-cursor
   #
@@ -1017,7 +1017,7 @@ fn test-trace-expand-skips-lower-depth {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0x10/width, 4/height
+  initialize-screen screen, 0x10/width, 4/height, 0/no-pixel-graphics
   #
   var y/ecx: int <- render-trace screen, t, 0/xmin, 0/ymin, 0x10/xmax, 4/ymax, 1/show-cursor
   #
@@ -1050,7 +1050,7 @@ fn test-trace-expand-continues-past-lower-depth {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0x10/width, 4/height
+  initialize-screen screen, 0x10/width, 4/height, 0/no-pixel-graphics
   #
   var y/ecx: int <- render-trace screen, t, 0/xmin, 0/ymin, 0x10/xmax, 4/ymax, 1/show-cursor
   #
@@ -1088,7 +1088,7 @@ fn test-trace-expand-stops-at-higher-depth {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0x10/width, 8/height
+  initialize-screen screen, 0x10/width, 8/height, 0/no-pixel-graphics
   #
   var y/ecx: int <- render-trace screen, t, 0/xmin, 0/ymin, 0x10/xmax, 8/ymax, 1/show-cursor
   #
@@ -1125,7 +1125,7 @@ fn test-trace-expand-twice {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0x10/width, 4/height
+  initialize-screen screen, 0x10/width, 4/height, 0/no-pixel-graphics
   #
   var y/ecx: int <- render-trace screen, t, 0/xmin, 0/ymin, 0x10/xmax, 4/ymax, 1/show-cursor
   #
@@ -1177,7 +1177,7 @@ fn test-trace-refresh-cursor {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0x10/width, 4/height
+  initialize-screen screen, 0x10/width, 4/height, 0/no-pixel-graphics
   #
   var y/ecx: int <- render-trace screen, t, 0/xmin, 0/ymin, 0x10/xmax, 4/ymax, 1/show-cursor
   #
@@ -1232,7 +1232,7 @@ fn test-trace-preserve-cursor-on-refresh {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0x10/width, 4/height
+  initialize-screen screen, 0x10/width, 4/height, 0/no-pixel-graphics
   #
   var y/ecx: int <- render-trace screen, t, 0/xmin, 0/ymin, 0x10/xmax, 4/ymax, 1/show-cursor
   #
@@ -1287,7 +1287,7 @@ fn test-trace-keep-cursor-visible-on-refresh {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0x10/width, 4/height
+  initialize-screen screen, 0x10/width, 4/height, 0/no-pixel-graphics
   #
   var y/ecx: int <- render-trace screen, t, 0/xmin, 0/ymin, 0x10/xmax, 4/ymax, 1/show-cursor
   #
@@ -1346,7 +1346,7 @@ fn test-trace-collapse-at-top {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0x10/width, 4/height
+  initialize-screen screen, 0x10/width, 4/height, 0/no-pixel-graphics
   #
   var y/ecx: int <- render-trace screen, t, 0/xmin, 0/ymin, 0x10/xmax, 4/ymax, 1/show-cursor
   #
@@ -1387,7 +1387,7 @@ fn test-trace-collapse {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0x10/width, 4/height
+  initialize-screen screen, 0x10/width, 4/height, 0/no-pixel-graphics
   #
   var y/ecx: int <- render-trace screen, t, 0/xmin, 0/ymin, 0x10/xmax, 4/ymax, 1/show-cursor
   #
@@ -1431,7 +1431,7 @@ fn test-trace-collapse-skips-invisible-lines {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0x10/width, 4/height
+  initialize-screen screen, 0x10/width, 4/height, 0/no-pixel-graphics
   #
   var y/ecx: int <- render-trace screen, t, 0/xmin, 0/ymin, 0x10/xmax, 4/ymax, 1/show-cursor
   #
@@ -1481,7 +1481,7 @@ fn test-trace-collapse-two-levels {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0x10/width, 4/height
+  initialize-screen screen, 0x10/width, 4/height, 0/no-pixel-graphics
   #
   var y/ecx: int <- render-trace screen, t, 0/xmin, 0/ymin, 0x10/xmax, 4/ymax, 1/show-cursor
   #
@@ -1546,7 +1546,7 @@ fn test-trace-collapse-nested-level {
   # setup: screen
   var screen-on-stack: screen
   var screen/edi: (addr screen) <- address screen-on-stack
-  initialize-screen screen, 0x10/width, 8/height
+  initialize-screen screen, 0x10/width, 8/height, 0/no-pixel-graphics
   #
   var y/ecx: int <- render-trace screen, t, 0/xmin, 0/ymin, 0x10/xmax, 8/ymax, 1/show-cursor
   #