From 365b581ca5c37305f9583cf08d0c25c4426f47e2 Mon Sep 17 00:00:00 2001 From: littleblack111 Date: Sat, 5 Sep 2026 19:01:32 +0800 Subject: migrate: limine -> bootloader_api --- src/io.rs | 1 - src/io/render.rs | 1 - src/io/render/fb.rs | 2 -- src/io/render/fb/graphic.rs | 0 src/io/render/fb/text.rs | 1 - src/lib.rs | 3 -- src/main.rs | 76 --------------------------------------------- 7 files changed, 84 deletions(-) delete mode 100644 src/io.rs delete mode 100644 src/io/render.rs delete mode 100644 src/io/render/fb.rs delete mode 100644 src/io/render/fb/graphic.rs delete mode 100644 src/io/render/fb/text.rs delete mode 100644 src/lib.rs delete mode 100644 src/main.rs (limited to 'src') diff --git a/src/io.rs b/src/io.rs deleted file mode 100644 index cf25e6c..0000000 --- a/src/io.rs +++ /dev/null @@ -1 +0,0 @@ -pub mod render; diff --git a/src/io/render.rs b/src/io/render.rs deleted file mode 100644 index 402daf7..0000000 --- a/src/io/render.rs +++ /dev/null @@ -1 +0,0 @@ -pub mod fb; diff --git a/src/io/render/fb.rs b/src/io/render/fb.rs deleted file mode 100644 index 2924838..0000000 --- a/src/io/render/fb.rs +++ /dev/null @@ -1,2 +0,0 @@ -pub mod graphic; -pub mod text; diff --git a/src/io/render/fb/graphic.rs b/src/io/render/fb/graphic.rs deleted file mode 100644 index e69de29..0000000 diff --git a/src/io/render/fb/text.rs b/src/io/render/fb/text.rs deleted file mode 100644 index 8b13789..0000000 --- a/src/io/render/fb/text.rs +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/lib.rs b/src/lib.rs deleted file mode 100644 index f0111d3..0000000 --- a/src/lib.rs +++ /dev/null @@ -1,3 +0,0 @@ -#![no_std] - -pub mod io; diff --git a/src/main.rs b/src/main.rs deleted file mode 100644 index bf338df..0000000 --- a/src/main.rs +++ /dev/null @@ -1,76 +0,0 @@ -#![no_std] -#![no_main] -#![feature(used_with_arg)] - -use core::panic::PanicInfo; -use font8x8::UnicodeFonts; -use limine::{BaseRevision, request::FramebufferRequest}; - -#[used(linker)] -#[unsafe(link_section = ".requests")] -static BASE_REVISION: BaseRevision = BaseRevision::new(); - -#[used(linker)] -#[unsafe(link_section = ".requests")] -static FRAMEBUFFER_REQUEST: FramebufferRequest = FramebufferRequest::new(); - -#[unsafe(no_mangle)] -pub extern "C" fn _start() -> ! { - if !BASE_REVISION.is_supported() { - panic!("Limine Base Revision not supported"); - } - - if let Some(response) = FRAMEBUFFER_REQUEST.response() { - if let Some(fb) = response - .framebuffers() - .first() - { - let pitch = fb.pitch as usize; - let bpp = fb.bpp as usize; - - if bpp == 32 { - let slice = unsafe { fb.as_slice_mut() }; - let msg = "Hello World!"; - let mut cursor_x = 10; - let cursor_y = 10; - - for c in msg.chars() { - if let Some(glyph) = font8x8::BASIC_FONTS.get(c) { - for (y, row) in glyph - .iter() - .enumerate() - { - for x in 0..8 { - if (*row & (1 << x)) != 0 { - let pixel_offset = (cursor_y + y) * pitch + (cursor_x + x) * 4; - if pixel_offset + 3 < slice.len() { - slice[pixel_offset] = 0xFF; // B - slice[pixel_offset + 1] = 0xFF; // G - slice[pixel_offset + 2] = 0xFF; // R - } - } - } - } - } - cursor_x += 8; - } - } - } - } - - hcf(); -} - -fn hcf() -> ! { - unsafe { - core::arch::asm!("cli"); - loop { - core::arch::asm!("hlt"); - } - } -} - -#[panic_handler] -fn panic(_info: &PanicInfo) -> ! { - hcf() -} -- cgit v1.2.3