diff options
| author | Miquel Sabaté Solà <mssola@mssola.com> | 2026-10-09 21:50:13 +0200 |
|---|---|---|
| committer | Miquel Sabaté Solà <mssola@mssola.com> | 2026-10-09 21:50:13 +0200 |
| commit | 91fd8313ef36e9b909a5409466f7ed06b40f1579 (patch) | |
| tree | f6c1e81f49bdd8e113256764bcb8ad76adcb7b1a | |
| parent | f6df4314945c1d37d314a7c88553b97b23c748e9 (diff) | |
| download | tools.nes-main.tar.gz tools.nes-main.zip | |
This function already took most of the arguments from the user anyways,
and the list of separate arguments was getting crazier to a point that
even clippy started to freak out.
Signed-off-by: Miquel Sabaté Solà <mssola@mssola.com>
| -rw-r--r-- | crates/runrom/src/main.rs | 34 |
1 files changed, 8 insertions, 26 deletions
diff --git a/crates/runrom/src/main.rs b/crates/runrom/src/main.rs index 00879d0..3968451 100644 --- a/crates/runrom/src/main.rs +++ b/crates/runrom/src/main.rs @@ -364,17 +364,8 @@ fn fetch_memory_addresses(nasm: Option<PathBuf>) -> Result<(Vec<Range>, Option<u Ok((memories, stack)) } -fn run( - file: &Path, - start: u16, - end: u16, - assume_function: bool, - halt_on_brk: bool, - cycle_limit: Option<usize>, - nasm: Option<PathBuf>, - dump_memory: bool, -) -> Result<(), String> { - let (addresses, stack) = fetch_memory_addresses(nasm)?; +fn run(file: &Path, start: u16, args: Args) -> Result<(), String> { + let (addresses, stack) = fetch_memory_addresses(args.nasm)?; let mut policy = MemoryPolicy::default(); if let Some(stack) = stack { @@ -383,14 +374,14 @@ fn run( let mut machine = Machine::from(file, start, policy)?; machine.verbose = true; - machine.run_function_mode = assume_function; - machine.halt_on_brk = halt_on_brk; - machine.cycle_limit = cycle_limit; + machine.run_function_mode = args.assume_function; + machine.halt_on_brk = args.halt_on_brk; + machine.cycle_limit = args.cycle_limit; machine.addresses = addresses; - machine.until_address(end)?; + machine.until_address(args.until_address)?; - if dump_memory { + if args.dump_memory { let mut title = false; for (idx, cell) in machine.ram.iter().enumerate() { @@ -426,16 +417,7 @@ fn main() { }; let file = PathBuf::from(args.file.clone()); - match run( - &file, - start, - args.until_address, - args.assume_function, - args.halt_on_brk, - args.cycle_limit, - args.nasm, - args.dump_memory, - ) { + match run(&file, start, args) { Ok(m) => m, Err(e) => { die(e); |
