forked from LowLevelDevs/FoundryOS
52 lines
2.0 KiB
Rust
52 lines
2.0 KiB
Rust
#![no_std]
|
|
#![no_main]
|
|
|
|
extern crate alloc;
|
|
|
|
use foundry_os::{println, println_log};
|
|
use lib_async::task::{Executor, Task};
|
|
use lib_keyboard::print_keypresses;
|
|
|
|
#[no_mangle]
|
|
extern "C" fn kmain() -> ! {
|
|
println_log!(" [ Initialising Kernel Systems ] ");
|
|
if let Err(err) = foundry_os::boot() {
|
|
panic!("{}", err);
|
|
}
|
|
|
|
println_log!("[ Kernel Initialised Successfully ] ");
|
|
|
|
let dimensions = lib_ascii::screensize_chars();
|
|
let dimensions2 = lib_framebuffer::screensize_px();
|
|
|
|
println!("Dimensions: {}x{} (px)", dimensions2.0, dimensions2.1);
|
|
println!("Dimensions: {}x{} (chars)", dimensions.0, dimensions.1);
|
|
|
|
println!(
|
|
"
|
|
$$$$$$$$\\ $$\\
|
|
$$ _____| $$ |
|
|
$$ | $$$$$$\\ $$\\ $$\\ $$$$$$$\\ $$$$$$$ | $$$$$$\\ $$\\ $$\\
|
|
$$$$$\\ $$ __$$\\ $$ | $$ |$$ __$$\\ $$ __$$ |$$ __$$\\ $$ | $$ |
|
|
$$ __|$$ / $$ |$$ | $$ |$$ | $$ |$$ / $$ |$$ | \\__|$$ | $$ |
|
|
$$ | $$ | $$ |$$ | $$ |$$ | $$ |$$ | $$ |$$ | $$ | $$ |
|
|
$$ | \\$$$$$$ |\\$$$$$$ |$$ | $$ |\\$$$$$$$ |$$ | \\$$$$$$$ |
|
|
\\__| \\______/ \\______/ \\__| \\__| \\_______|\\__| \\____$$ |
|
|
$$$$$$\\ $$$$$$\\ $$\\ $$\\ $$\\ $$\\ $$ |
|
|
$$ __$$\\ $$ __$$\\ $$ | $$ |$$$$ | \\$$$$$$ |
|
|
$$ / $$ |$$ / \\__| $$ | $$ |\\_$$ | \\______/
|
|
$$ | $$ |\\$$$$$$\\ \\$$\\ $$ | $$ |
|
|
$$ | $$ | \\____$$\\ \\$$\\$$ / $$ |
|
|
$$ | $$ |$$\\ $$ | \\$$$ / $$ |
|
|
$$$$$$ |\\$$$$$$ | \\$ / $$$$$$\\
|
|
\\______/ \\______/ \\_/ \\______|
|
|
"
|
|
);
|
|
|
|
let mut executor = Executor::new();
|
|
executor.spawn(Task::new(print_keypresses()));
|
|
executor.try_run();
|
|
|
|
loop {}
|
|
}
|