#[cfg(not(target_arch = "wasm32"))] mod cli; #[cfg(not(target_arch = "wasm32"))] use cli::get_input; #[cfg(not(target_arch = "wasm32"))] use georgeemu::GeorgeEmu; #[cfg(not(target_arch = "wasm32"))] use minifb::{Scale, ScaleMode, Window, WindowOptions}; #[cfg(not(target_arch = "wasm32"))] fn main() { use std::{fs::File, io::Read}; let window = Window::new( "ʕ·ᴥ·ʔ-☆", 512, 380, WindowOptions { resize: true, borderless: true, title: true, transparency: false, scale: Scale::FitScreen, scale_mode: ScaleMode::AspectRatioStretch, topmost: false, none: true, }, ) .unwrap(); let config = get_input(); let rom = match config.rom { Some(path) => { let mut file = File::open(path).unwrap(); let mut bin = vec![0; 0x8000]; file.read_exact(&mut bin).unwrap(); // println!("reading char rom"); bin.try_into().unwrap() } None => *include_bytes!("../roms/george.rom"), }; let mut emu = GeorgeEmu::builder().rom(rom).window(window).build(); emu.run(); } #[cfg(target_arch = "wasm32")] fn main() {}