mirror of
https://github.com/transistorfet/moa.git
synced 2024-06-16 15:29:30 +00:00
44 lines
997 B
Rust
44 lines
997 B
Rust
|
|
||
|
use std::thread;
|
||
|
use std::time::Duration;
|
||
|
use std::sync::{Arc, Mutex};
|
||
|
|
||
|
use moa::machines::trs80::build_trs80;
|
||
|
use moa_minifb::MiniFrontendBuilder;
|
||
|
|
||
|
fn main() {
|
||
|
/*
|
||
|
let mut frontend = Arc::new(Mutex::new(MiniFrontendBuilder::new()));
|
||
|
|
||
|
{
|
||
|
let frontend = frontend.clone();
|
||
|
thread::spawn(move || {
|
||
|
let mut system = build_trs80(&mut *(frontend.lock().unwrap())).unwrap();
|
||
|
frontend.lock().unwrap().finalize();
|
||
|
system.run_loop();
|
||
|
});
|
||
|
}
|
||
|
|
||
|
wait_until_initialized(frontend.clone());
|
||
|
|
||
|
frontend
|
||
|
.lock().unwrap()
|
||
|
.build()
|
||
|
.start(None);
|
||
|
*/
|
||
|
|
||
|
let mut frontend = MiniFrontendBuilder::new();
|
||
|
let mut system = build_trs80(&mut frontend).unwrap();
|
||
|
|
||
|
frontend
|
||
|
.build()
|
||
|
.start(Some(system));
|
||
|
}
|
||
|
|
||
|
fn wait_until_initialized(frontend: Arc<Mutex<MiniFrontendBuilder>>) {
|
||
|
while frontend.lock().unwrap().finalized == false {
|
||
|
thread::sleep(Duration::from_millis(10));
|
||
|
}
|
||
|
}
|
||
|
|