about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--500fake-screen.mu11
1 files changed, 11 insertions, 0 deletions
diff --git a/500fake-screen.mu b/500fake-screen.mu
index 01df2d5e..fc907885 100644
--- a/500fake-screen.mu
+++ b/500fake-screen.mu
@@ -257,6 +257,17 @@ fn clear-screen _screen: (addr screen) {
   set-cursor-position screen, 0, 0
   var pixels-ah/eax: (addr handle array byte) <- get screen, pixels
   var pixels/eax: (addr array byte) <- lookup *pixels-ah
+  var i/ecx: int <- copy 0
+  var max/edx: int <- length pixels
+  {
+    compare i, max
+    break-if->=
+    var curr/eax: (addr byte) <- index pixels, i
+    var zero/ebx: byte <- copy 0
+    copy-byte-to *curr, zero
+    i <- increment
+    loop
+  }
 }
 
 fn fake-screen-empty? _screen: (addr screen) -> _/eax: boolean {