#![no_std] #![no_main] extern crate alloc; mod console; mod framebuffer; mod psf; mod terminal; use mammoth::{debug, define_entry, zion::z_err_t}; use voyageurs_client::listener; define_entry!(); #[no_mangle] extern "C" fn main() -> z_err_t { debug!("Teton Starting"); let yellowstone = yellowstone_yunq::from_init_endpoint(); let framebuffer_info = yellowstone .get_framebuffer_info() .expect("Failed to get framebuffer info."); debug!( "FB addr {:#x}, bpp {}, width {} , height {}, pitch {}", framebuffer_info.address_phys, framebuffer_info.bpp, framebuffer_info.width, framebuffer_info.height, framebuffer_info.pitch ); let framebuffer = framebuffer::Framebuffer::from_info(framebuffer_info) .expect("Failed to create framebuffer"); let psf = psf::Psf::new("/default8x16.psfu").expect("Failed to open font file."); let console = console::Console::new(framebuffer, psf); let terminal = terminal::Terminal::new(console); let kb_listener = listener::spawn_keyboard_listener(terminal); kb_listener .join() .expect("Failed to wait on keyboard listener"); 0 }