Corrects Clint module, and adds rust clint debugger
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user