From 87293b0a1150b1bc7467f6916419f56f9f2be075 Mon Sep 17 00:00:00 2001 From: Daniel Weipert Date: Mon, 24 Sep 2018 23:23:19 +0200 Subject: Initial commit --- src/main.rs | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/main.rs (limited to 'src') diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..0d36800 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,29 @@ +#![no_std] +#![no_main] + +extern crate bootloader_precompiled; + +use core::panic::PanicInfo; + +/// This function is called on panic. +#[panic_handler] +#[no_mangle] +pub fn panic(_info: &PanicInfo) -> ! { + loop {} +} + +static TEXT: &[u8] = b"Hello Marius! I do cool operating system development stuff look at meeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee!"; + +#[no_mangle] +pub extern "C" fn _start() -> ! { + let vga_buffer = 0xb8000 as *mut u8; + + for (i, &byte) in TEXT.iter().enumerate() { + unsafe { + *vga_buffer.offset(i as isize * 2) = byte; + *vga_buffer.offset(i as isize * 2 + 1) = 0x6; + } + } + + loop {} +} -- cgit v1.2.3