diff options
author | Kartik Agaram <vc@akkartik.com> | 2020-11-06 13:34:46 -0800 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2020-11-06 13:39:46 -0800 |
commit | 443140ae3e3eae3bf59f34447bedc8329498cca0 (patch) | |
tree | 8acee78d1e1136282021624d418db0eeb1fc0e49 /apps/tile/value.mu | |
parent | 9a0412b8587f6b153be2d7d63cd9da2600345e86 (diff) | |
download | mu-443140ae3e3eae3bf59f34447bedc8329498cca0.tar.gz |
7195 - tile: create 'screen' objects
Diffstat (limited to 'apps/tile/value.mu')
-rw-r--r-- | apps/tile/value.mu | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/apps/tile/value.mu b/apps/tile/value.mu index db98e503..8dfe4bcc 100644 --- a/apps/tile/value.mu +++ b/apps/tile/value.mu @@ -54,6 +54,16 @@ $render-value:body: { print-string screen, " FILE " break $render-value:body } + compare *val-type, 4 # file + { + break-if-!= + var val-ah/eax: (addr handle screen) <- get val, screen-data + var val-screen/eax: (addr screen) <- lookup *val-ah + start-color screen, 0, 7 + # TODO + print-string screen, " SCREEN " + break $render-value:body + } # render ints by default for now var val-int/eax: (addr int) <- get val, int-data render-integer screen, *val-int, max-width @@ -176,6 +186,16 @@ fn value-width _v: (addr value), top-level: boolean -> _/eax: int { # TODO: visualizing file handles return 4 } + { + compare *type, 4 # screen + break-if-!= + var screen-ah/eax: (addr handle screen) <- get v, screen-data + var screen/eax: (addr screen) <- lookup *screen-ah + compare screen, 0 + break-if-= + # TODO: visualizing screen + return 6 + } return 0 } |