50 lines
1.2 KiB
Rust
50 lines
1.2 KiB
Rust
#[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() {}
|