diff options
Diffstat (limited to 'src/machine/cgascr.rs')
| -rw-r--r-- | src/machine/cgascr.rs | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/machine/cgascr.rs b/src/machine/cgascr.rs new file mode 100644 index 0000000..a43e073 --- /dev/null +++ b/src/machine/cgascr.rs @@ -0,0 +1,36 @@ +const CGA_START:u32 = 0xb8000; + +#[allow(dead_code)] +pub struct CGAScreen{ + max_cows:u32, + max_rows:u32, +} + +#[allow(dead_code)] +impl CGAScreen{ + pub fn new(cows:u32, rows:u32) -> Self { + Self {max_cows: cows, max_rows:rows,} + } + + pub fn set_pos(x:u32, y:u32){ + + } + + pub fn get_pos(x:&mut u32, y:&mut u32){ + // TODO + *x = 1; + *y = 1; + } + + pub fn putchar(c:char, attr:u8){ + + } + + // this function should be the only one that "directly touches" + // the memory by address. + // and since it's unsafe, it shouldn't be public + fn show(&self, x:u32, y:u32, c:char, attr:u8){ + + } + +} |
