aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/main.rs b/src/main.rs
index 821a76d..84167aa 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -7,7 +7,9 @@ pub mod io;
pub mod mmio;
pub mod opcodes;
pub mod state;
+pub mod logs;
+use crate::logs::{log, LogLevel};
use crate::desktop::input::{Gamepad, GamepadRecorder, GamepadReplay, Keyboard};
use crate::desktop::load_save::FSLoadSave;
use crate::io::{Serial, Input};
@@ -51,10 +53,6 @@ struct Cli {
#[arg(short, long, default_value_t = 1.0)]
speed: f32,
- /// Will print all of the opcodes executed (WARNING: THERE ARE MANY)
- #[arg(short, long, default_value_t = false)]
- debug: bool,
-
/// Skip bootrom (will start the execution at 0x100 with all registers empty
#[arg(long, default_value_t = false)]
skip_bootrom: bool,
@@ -78,12 +76,18 @@ struct Cli {
/// Don't send (or expect) a byte as a response to a serial transfer
#[arg(long, default_value_t = false)]
no_response: bool,
+
+ /// Verbosity. Coma separated values (possible values: infos/debug/opcode_dump/halt_cycles/errors,none)
+ #[arg(short, long, default_value = "infos,errors")]
+ verbosity: String,
}
fn main() {
let cli = Cli::parse();
- println!("Starting {:?}...", &cli.rom);
+ logs::set_log_level(cli.verbosity);
+
+ log(LogLevel::Infos, format!("Starting {:?}...", &cli.rom));
let window = desktop::window::DesktopWindow::new(cli.title).unwrap();
@@ -119,10 +123,6 @@ fn main() {
cli.speed as f64,
);
- if cli.debug {
- gameboy.debug();
- }
-
if cli.load_state {
gameboy.load_state().unwrap();
}