Skip to content

Machine shuts down after setting graphics mode #31

Open
@HENRYMARTIN5

Description

@HENRYMARTIN5

This is my current kernel main function:

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:

image

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().

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions