|
|
|
@ -1,4 +1,5 @@
|
|
|
|
|
use core::ptr::Unique;
|
|
|
|
|
use volatile::Volatile;
|
|
|
|
|
|
|
|
|
|
#[allow(dead_code)]
|
|
|
|
|
#[derive(Debug, Clone, Copy)]
|
|
|
|
@ -42,7 +43,7 @@ const BUFFER_HEIGHT: usize = 25;
|
|
|
|
|
const BUFFER_WIDTH: usize = 80;
|
|
|
|
|
|
|
|
|
|
struct Buffer {
|
|
|
|
|
chars: [[ScreenChar; BUFFER_WIDTH]; BUFFER_HEIGHT],
|
|
|
|
|
chars: [[Volatile<ScreenChar>; BUFFER_WIDTH]; BUFFER_HEIGHT],
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pub struct Writer {
|
|
|
|
@ -64,10 +65,10 @@ impl Writer {
|
|
|
|
|
let col = self.column_position;
|
|
|
|
|
|
|
|
|
|
let color_code = self.color_code;
|
|
|
|
|
self.buffer().chars[row][col] = ScreenChar {
|
|
|
|
|
self.buffer().chars[row][col].write(ScreenChar {
|
|
|
|
|
ascii_character: byte,
|
|
|
|
|
color_code: color_code,
|
|
|
|
|
};
|
|
|
|
|
});
|
|
|
|
|
self.column_position += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|