stuff
This commit is contained in:
parent
56c937e620
commit
15b0890ad3
2 changed files with 21 additions and 8 deletions
|
|
@ -1,6 +1,7 @@
|
|||
#![feature(lang_items)]
|
||||
#![feature(const_fn)]
|
||||
#![feature(ptr_internals)]
|
||||
#![feature(asm)]
|
||||
#![no_std]
|
||||
|
||||
extern crate spin;
|
||||
|
|
@ -10,6 +11,10 @@ extern crate rlibc;
|
|||
#[macro_use]
|
||||
mod vga_buffer;
|
||||
|
||||
#[allow(dead_code)]
|
||||
mod cpuio;
|
||||
mod keyboard;
|
||||
|
||||
#[no_mangle]
|
||||
pub extern fn kmain() -> ! {
|
||||
use vga_buffer::WRITER;
|
||||
|
|
@ -27,13 +32,27 @@ pub extern fn kmain() -> ! {
|
|||
|
||||
WRITER.lock().color_code = ColorCode::new(Color::Red, Color::Green);
|
||||
println!(">> Kernel startup...");
|
||||
print!("\n");
|
||||
println!(">> Kernel startup...");
|
||||
print!("\n");
|
||||
println!(">> Kernel startup...");
|
||||
print!("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000");
|
||||
|
||||
WRITER.lock().color_code = ColorCode::new(Color::White, Color::Black);
|
||||
// WRITER.lock().color_code = ColorCode::new(Color::White, Color::Black);
|
||||
|
||||
loop {
|
||||
|
||||
let control = unsafe { cpuio::inb(0x64) };
|
||||
if (control & 1) == 1 {
|
||||
let keycode = unsafe { cpuio::inb(0x60) };
|
||||
match keyboard::KEY_CODE_TO_ASCII.get(keycode as usize) {
|
||||
Some(ascii) => {
|
||||
print!("{}", *ascii as char);
|
||||
// unsafe { cpuio::outb(28, 0x64) };
|
||||
},
|
||||
None =>{},
|
||||
// None => println!("nokey ctrl {:x}", control),
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -27,12 +27,6 @@ pub struct Writer {
|
|||
vgabuffer: Unique<Buffer>,
|
||||
}
|
||||
|
||||
struct VScreen {
|
||||
column_position: usize,
|
||||
pub color_code: ColorCode,
|
||||
buffer: Buffer,
|
||||
}
|
||||
|
||||
macro_rules! println {
|
||||
($fmt:expr) => (print!(concat!($fmt, "\n")));
|
||||
($fmt:expr, $($arg:tt)*) => (print!(concat!($fmt, "\n"), $($arg)*));
|
||||
|
|
|
|||
Loading…
Reference in a new issue