extern crate vga;
use vga::colors::Color16;
use vga::writers::{Graphics640x480x16, GraphicsWriter};
#[no_mangle]
pub fn kmain()
{
log!("Booted!");
let mode = Graphics640x480x16::new();
log!("Created graphics mode");
mode.set_mode();
log!("Set graphics mode");
mode.clear_screen(Color16::White);
log!("Cleared screen");
for (offset, character) in "Hello World!".chars().enumerate() {
log!("Drawing character");
mode.draw_character(270 + offset * 8, 72, character, Color16::Black)
}
loop {} // If we exit, the machine shuts down - we don't want that, so we loop forever
}
Before adding the vga crate, the system would boot and then hang at the loop at the end of the function - but now it seems to be rebooting repeatedly as you can see in the screenshot of the output below:
I'm not quite sure what the issue is - I'm following everything exactly as it is in the README. If you need to see more of the source, please let me know.
Edit: I also tested with text mode, and the same thing was happening: Everything was working right up to the point where I call text_mode.set_mode().
This is my current kernel main function:
Before adding the
vga
crate, the system would boot and then hang at the loop at the end of the function - but now it seems to be rebooting repeatedly as you can see in the screenshot of the output below:I'm not quite sure what the issue is - I'm following everything exactly as it is in the README. If you need to see more of the source, please let me know.
Edit: I also tested with text mode, and the same thing was happening: Everything was working right up to the point where I call
text_mode.set_mode()
.