diff options
author | Kartik Agaram <vc@akkartik.com> | 2020-09-16 16:51:07 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2020-09-16 16:52:26 -0700 |
commit | 9b873e3bcddf34d5b6d60e66838d71dd46de51f4 (patch) | |
tree | b867bf22143c31043de38f9cabc12a1d7ac37bd8 | |
parent | 9f8f2731dfd722f06b0a7f4797e775c9f49bc37b (diff) | |
download | mu-9b873e3bcddf34d5b6d60e66838d71dd46de51f4.tar.gz |
6792
Roll back all buffering of Stdout.
-rw-r--r-- | 304screen.subx | 64 | ||||
-rw-r--r-- | 400.mu | 2 | ||||
-rw-r--r-- | apps/tile/main.mu | 1 | ||||
-rw-r--r-- | apps/tui.mu | 3 |
4 files changed, 26 insertions, 44 deletions
diff --git a/304screen.subx b/304screen.subx index 8ab0f4b0..8ec33fd5 100644 --- a/304screen.subx +++ b/304screen.subx @@ -124,8 +124,7 @@ print-string-to-real-screen: # s: (addr array byte) 55/push-ebp 89/<- %ebp 4/r32/esp # - (write-buffered Stdout *(ebp+8)) -#? (flush Stdout) + (write 1 *(ebp+8)) $print-string-to-real-screen:end: # . epilogue 89/<- %esp 5/r32/ebp @@ -138,7 +137,7 @@ print-slice-to-real-screen: # s: (addr slice) 89/<- %ebp 4/r32/esp # (write-slice-buffered Stdout *(ebp+8)) -#? (flush Stdout) + (flush Stdout) $print-slice-to-real-screen:end: # . epilogue 89/<- %esp 5/r32/ebp @@ -151,7 +150,7 @@ print-stream-to-real-screen: # s: (addr stream byte) 89/<- %ebp 4/r32/esp # (write-stream-data Stdout *(ebp+8)) -#? (flush Stdout) + (flush Stdout) $print-stream-to-real-screen:end: # . epilogue 89/<- %esp 5/r32/ebp @@ -213,8 +212,7 @@ print-byte-to-real-screen: # c: byte ff 6/subop/push *(ebp+8) 68/push 1/imm32/size 89/<- %ecx 4/r32/esp - (write-buffered Stdout %ecx) -#? (flush Stdout) + (write 1 %ecx) $print-byte-to-real-screen:end: # . reclaim locals 81 0/subop/add %esp 8/imm32 @@ -225,17 +223,13 @@ $print-byte-to-real-screen:end: 5d/pop-to-ebp c3/return -flush-stdout: - (flush Stdout) - c3/return - print-int32-hex-to-real-screen: # n: int # . prologue 55/push-ebp 89/<- %ebp 4/r32/esp # (write-int32-hex-buffered Stdout *(ebp+8)) -#? (flush Stdout) + (flush Stdout) $print-int32-hex-to-real-screen:end: # . epilogue 89/<- %esp 5/r32/ebp @@ -248,7 +242,7 @@ print-int32-decimal-to-real-screen: # n: int 89/<- %ebp 4/r32/esp # (write-int32-decimal-buffered Stdout *(ebp+8)) -#? (flush Stdout) + (flush Stdout) $print-int32-decimal-to-real-screen:end: # . epilogue 89/<- %esp 5/r32/ebp @@ -284,11 +278,10 @@ reset-formatting-on-real-screen: 55/push-ebp 89/<- %ebp 4/r32/esp # - (write-buffered Stdout Esc) - (write-buffered Stdout "(B") - (write-buffered Stdout Esc) - (write-buffered Stdout "[m") - (flush Stdout) + (write 1 Esc) + (write 1 "(B") + (write 1 Esc) + (write 1 "[m") $reset-formatting-on-real-screen:end: # . epilogue 89/<- %esp 5/r32/ebp @@ -319,8 +312,7 @@ start-color-on-real-screen: # fg: int, bg: int (write-int32-decimal %ecx *(ebp+0xc)) (write %ecx "m") # flush - (write-stream-data Stdout %ecx) - (flush Stdout) + (write-stream 2 %ecx) $start-color-on-real-screen:end: # . reclaim locals 81 0/subop/add %esp 0x2c/imm32 @@ -336,9 +328,8 @@ start-bold-on-real-screen: 55/push-ebp 89/<- %ebp 4/r32/esp # - (write-buffered Stdout Esc) - (write-buffered Stdout "[1m") - (flush Stdout) + (write 1 Esc) + (write 1 "[1m") $start-bold-on-real-screen:end: # . epilogue 89/<- %esp 5/r32/ebp @@ -350,9 +341,8 @@ start-underline-on-real-screen: 55/push-ebp 89/<- %ebp 4/r32/esp # - (write-buffered Stdout Esc) - (write-buffered Stdout "[4m") - (flush Stdout) + (write 1 Esc) + (write 1 "[4m") $start-underline-on-real-screen:end: # . epilogue 89/<- %esp 5/r32/ebp @@ -364,9 +354,8 @@ start-reverse-video-on-real-screen: 55/push-ebp 89/<- %ebp 4/r32/esp # - (write-buffered Stdout Esc) - (write-buffered Stdout "[7m") - (flush Stdout) + (write 1 Esc) + (write 1 "[7m") $start-reverse-video-on-real-screen:end: # . epilogue 89/<- %esp 5/r32/ebp @@ -379,9 +368,8 @@ start-blinking-on-real-screen: 55/push-ebp 89/<- %ebp 4/r32/esp # - (write-buffered Stdout Esc) - (write-buffered Stdout "[5m") - (flush Stdout) + (write 1 Esc) + (write 1 "[5m") $start-blinking-on-real-screen:end: # . epilogue 89/<- %esp 5/r32/ebp @@ -393,9 +381,8 @@ hide-cursor-on-real-screen: 55/push-ebp 89/<- %ebp 4/r32/esp # - (write-buffered Stdout Esc) - (write-buffered Stdout "[?25l") - (flush Stdout) + (write 1 Esc) + (write 1 "[?25l") $hide-cursor-on-real-screen:end: # . epilogue 89/<- %esp 5/r32/ebp @@ -407,11 +394,10 @@ show-cursor-on-real-screen: 55/push-ebp 89/<- %ebp 4/r32/esp # - (write-buffered Stdout Esc) - (write-buffered Stdout "[?12l") - (write-buffered Stdout Esc) - (write-buffered Stdout "[?25h") - (flush Stdout) + (write 1 Esc) + (write 1 "[?12l") + (write 1 Esc) + (write 1 "[?25h") $show-cursor-on-real-screen:end: # . epilogue 89/<- %esp 5/r32/ebp diff --git a/400.mu b/400.mu index 4b896ba5..7b32f3cb 100644 --- a/400.mu +++ b/400.mu @@ -172,5 +172,3 @@ sig stream-empty? s: (addr stream _) -> result/eax: boolean sig stream-full? s: (addr stream _) -> result/eax: boolean sig copy-bytes src: (addr byte), dest: (addr byte), n: int - -sig flush-stdout diff --git a/apps/tile/main.mu b/apps/tile/main.mu index a9d62bb4..7c7065fc 100644 --- a/apps/tile/main.mu +++ b/apps/tile/main.mu @@ -75,5 +75,4 @@ fn render screen: (addr screen), buf: (addr gap-buffer) { move-cursor screen, start-row, start-col # render-gap-buffer screen, buf - flush-stdout } diff --git a/apps/tui.mu b/apps/tui.mu index 939210c6..a02d8fb0 100644 --- a/apps/tui.mu +++ b/apps/tui.mu @@ -28,8 +28,7 @@ fn main -> exit-status/ebx: int { enable-screen-type-mode print-string 0, "You pressed " var x-int/eax: int <- copy x - print-int32-hex-to-real-screen x-int + print-int32-hex 0, x-int print-string 0, "\n" - flush-stdout exit-status <- copy 0 } |