2023-03-15 03:05:29 +00:00
|
|
|
|
2023-06-10 22:28:21 +00:00
|
|
|
use clap::{Arg};
|
2023-03-15 03:05:29 +00:00
|
|
|
|
|
|
|
use moa_console::ConsoleFrontend;
|
2023-05-01 04:32:33 +00:00
|
|
|
use moa_systems_genesis::{build_genesis, SegaGenesisOptions};
|
2023-03-15 03:05:29 +00:00
|
|
|
|
|
|
|
fn main() {
|
2023-06-10 22:28:21 +00:00
|
|
|
let matches = ConsoleFrontend::args("Sega Genesis/Mega Drive Emulator")
|
2023-03-15 03:05:29 +00:00
|
|
|
.arg(Arg::new("ROM")
|
|
|
|
.help("ROM file to load (must be flat binary)"))
|
|
|
|
.get_matches();
|
|
|
|
|
2024-03-16 20:15:34 +00:00
|
|
|
let mut frontend = ConsoleFrontend;
|
2023-03-15 03:05:29 +00:00
|
|
|
|
|
|
|
let mut options = SegaGenesisOptions::default();
|
2023-06-10 22:28:21 +00:00
|
|
|
if let Some(filename) = matches.get_one::<String>("ROM") {
|
2023-03-15 03:05:29 +00:00
|
|
|
options.rom = filename.to_string();
|
|
|
|
}
|
|
|
|
|
2023-06-10 22:28:21 +00:00
|
|
|
let system = build_genesis(&mut frontend, options).unwrap();
|
|
|
|
frontend.start(matches, system);
|
2023-03-15 03:05:29 +00:00
|
|
|
}
|
|
|
|
|