use oxid8::app::App;
use oxid8_core::Oxid8;
use std::{
io::{self, Write, stdout},
time::Instant,
};
const TICK_RATE: u64 = 1 / 700;
fn main() -> io::Result<()> {
print!("\x07");
stdout().flush()?;
let mut emu = Oxid8::new();
if let Err(err) = emu.load_rom("abc") {
eprintln!("{err}");
}
emu.load_font();
let mut terminal = ratatui::init();
let app_result = App::default().run(&mut terminal);
ratatui::restore();
loop {
let time = Instant::now();
if let Err(err) = emu.run_cycle() {
eprintln!("{err}");
}
while time.elapsed().as_secs() < TICK_RATE {} break; }
app_result
}