Corrects Clint module, and adds rust clint debugger

This commit is contained in:
2025-11-16 15:24:34 +01:00
parent c8e60179ee
commit dbe0a488f3
3 changed files with 58 additions and 17 deletions

View File

@@ -119,6 +119,47 @@ impl VGA
});
}
fn digit_count(mut val: u64) -> u64
{
let mut i = 0;
while val != 0
{
val /= 10;
i += 1;
}
i
}
pub unsafe fn draw_u64(x: u16, y: u16, mut val: u64, color: Color, bg_color: Color)
{
if val == 0
{
unsafe { Self::draw_char_bg(x, y, '0', color, bg_color) }
return;
}
let digit_count = Self::digit_count(val) - 1;
let mut i = digit_count as u16;
while val != 0
{
let digit = val % 10;
val /= 10;
let char = (digit as u8) + b'0';
unsafe {
Self::draw_char_bg(
x + i * (FONT_WIDTH as u16),
y,
char as char,
color,
bg_color,
)
};
i -= 1;
}
}
unsafe fn font_plate_index(x: u16, y: u16) -> bool
{
let pixel_index = (y as usize) * FONTPLATE_WIDTH + (x as usize);