diff options
author | Xander <xander@biltopia.org> | 2023-07-13 00:52:37 +0200 |
---|---|---|
committer | Xander <xander@biltopia.org> | 2023-07-13 00:52:37 +0200 |
commit | 67245a7eebeb135427d50171fda7af58770afc6d (patch) | |
tree | 38378d0507ee79f8631134ec24f94cf9969bc6e8 /lib/SATS/writer.sats | |
parent | e02a7e790650b31b713dde5c39ad6172c048f571 (diff) | |
download | ats-os-67245a7eebeb135427d50171fda7af58770afc6d.tar.xz ats-os-67245a7eebeb135427d50171fda7af58770afc6d.zip |
Full restructure
Diffstat (limited to 'lib/SATS/writer.sats')
-rw-r--r-- | lib/SATS/writer.sats | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/lib/SATS/writer.sats b/lib/SATS/writer.sats new file mode 100644 index 0000000..65a2ea9 --- /dev/null +++ b/lib/SATS/writer.sats @@ -0,0 +1,32 @@ +#define BUFFER_HEIGHT 23 +#define BUFFER_WIDTH 80 +#define N BUFFER_HEIGHT * BUFFER_WIDTH + +datatype color = + | Black + | Blue + | Green + | Cyan + | Red + | Magenta + | Brown + | LightGray + | DarkGray + | LightBlue + | LightGreen + | LightCyan + | LightRed + | Pink + | Yellow + | White + + +typedef screenChar = @{ ascii_character = char, color_code = uint8} + +vtypedef buffer = [l : agz] (@[screenChar][N] @ l | ptr l) +typedef writer = @{position = [a:int | a >= 0 && a < N] int (a), color_code = uint8} + +castfn i2u8 {n: nat} (i: int n): uint8 n + +fun put_string (str : string) : void +fun clear_screen() : void |