From 6b3796c9a0d3a2f1422bcbde4790c43417659722 Mon Sep 17 00:00:00 2001 From: Ben Bridle Date: Tue, 16 Apr 2024 10:51:13 +1200 Subject: Update devices to match new specifications --- src/devices/system/read_only_text_buffer.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/devices/system/read_only_text_buffer.rs (limited to 'src/devices/system') diff --git a/src/devices/system/read_only_text_buffer.rs b/src/devices/system/read_only_text_buffer.rs new file mode 100644 index 0000000..7c59025 --- /dev/null +++ b/src/devices/system/read_only_text_buffer.rs @@ -0,0 +1,23 @@ +pub struct ReadOnlyTextBuffer { + chars: Vec, + pointer: usize, +} + +impl ReadOnlyTextBuffer { + pub fn from_text(text: &str) -> Self { + Self { + chars: text.chars().map(|c| c as u32 as u8).collect(), + pointer: 0, + } + } + + pub fn read_byte(&mut self) -> u8 { + let byte = self.chars[self.pointer]; + self.pointer += 1; + return byte; + } + + pub fn reset_pointer(&mut self) { + self.pointer = 0; + } +} -- cgit v1.2.3-70-g09d2