diff options
author | Kartik Agaram <vc@akkartik.com> | 2020-08-01 23:06:41 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2020-08-01 23:39:57 -0700 |
commit | 6b343a82f29b6dea219504504244591c3042df43 (patch) | |
tree | 91c63bd3d66d73aeb4e6714f1b6e5792620839b8 /prototypes/browse/12.mu | |
parent | 59a2e363f5f818e3870a275efe375737a76009fa (diff) | |
download | mu-6b343a82f29b6dea219504504244591c3042df43.tar.gz |
6699 - start building out fake screen
We now have all existing apps and prototypes going through the dependency-injected wrapper, even though it doesn't actually implement the fake screen yet.
Diffstat (limited to 'prototypes/browse/12.mu')
-rw-r--r-- | prototypes/browse/12.mu | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/prototypes/browse/12.mu b/prototypes/browse/12.mu index a8ba3f99..ec93564c 100644 --- a/prototypes/browse/12.mu +++ b/prototypes/browse/12.mu @@ -6,7 +6,7 @@ fn main args: (addr array (addr array byte)) -> exit-status/ebx: int { enable-screen-grid-mode var nrows/eax: int <- copy 0 var ncols/ecx: int <- copy 0 - nrows, ncols <- screen-size + nrows, ncols <- screen-size 0 enable-keyboard-immediate-mode { render file, nrows, ncols @@ -41,7 +41,7 @@ fn render in: (addr buffered-file), nrows: int, ncols: int { var leftcol/edx: int <- copy 5 # page-margin var rightcol/ebx: int <- copy leftcol rightcol <- add 0x40 # page-width = 64 characters - start-color-on-screen 0xec, 7 # 236 = darkish gray + start-color 0, 0xec, 7 # 236 = darkish gray { compare rightcol, ncols break-if->= @@ -63,7 +63,7 @@ $line-loop: { compare row, botrow break-if->= var col/edx: int <- copy leftcol - move-cursor-on-screen row, col + move-cursor 0, row, col $char-loop: { compare col, rightcol break-if->= @@ -78,7 +78,7 @@ $update-attributes:check-state: { { break-if-!= # r->current-state == 0 && c == '*' => bold text - start-bold-on-screen + start-bold 0 copy-to *state, 1 break $update-attributes:check-state } @@ -86,7 +86,7 @@ $update-attributes:check-state: { { break-if-!= # r->current-state == 0 && c == '_' => bold text - start-bold-on-screen + start-bold 0 copy-to *state, 1 break $update-attributes:check-state } @@ -98,10 +98,10 @@ $update-attributes:check-state: { { break-if-!= # r->current-state == 1 && c == '*' => print c, then normal text - print-byte-to-screen c + print-byte 0, c col <- increment - reset-formatting-on-screen - start-color-on-screen 0xec, 7 # 236 = darkish gray + reset-formatting 0 + start-color 0, 0xec, 7 # 236 = darkish gray copy-to *state, 0 loop $char-loop } @@ -109,10 +109,10 @@ $update-attributes:check-state: { { break-if-!= # r->current-state == 1 && c == '_' => print c, then normal text - print-byte-to-screen c + print-byte 0, c col <- increment - reset-formatting-on-screen - start-color-on-screen 0xec, 7 # 236 = darkish gray + reset-formatting 0 + start-color 0, 0xec, 7 # 236 = darkish gray copy-to *state, 0 loop $char-loop } @@ -122,7 +122,7 @@ $update-attributes:check-state: { compare c, 0xa # newline break-if-= # no need to print newlines # print c - print-byte-to-screen c + print-byte 0, c col <- increment loop } # $char-loop @@ -137,11 +137,11 @@ fn clear toprow: int, leftcol: int, botrow: int, rightcol: int { compare row, botrow break-if->= var col/edx: int <- copy leftcol - move-cursor-on-screen row, col + move-cursor 0, row, col { compare col, rightcol break-if->= - print-string-to-screen " " + print-string 0, " " col <- increment loop } @@ -170,6 +170,6 @@ fn dump in: (addr buffered-file) { var c/eax: byte <- read-byte-buffered in compare c, 0xffffffff # EOF marker break-if-= - print-byte-to-screen c + print-byte 0, c loop } |