aboutsummaryrefslogtreecommitdiff
path: root/crates/readrom/src
diff options
context:
space:
mode:
authorMiquel Sabaté Solà <mssola@mssola.com>2026-10-06 21:47:52 +0200
committerMiquel Sabaté Solà <mssola@mssola.com>2026-10-06 21:48:13 +0200
commit9570d3b4a0b5e8d01a218743973feebd21115661 (patch)
tree2a44901256071146929ebb15e728221fd6b54233 /crates/readrom/src
parente71a73d0875c416507a3207bdec6fee145a79f68 (diff)
downloadtools.nes-9570d3b4a0b5e8d01a218743973feebd21115661.tar.gz
tools.nes-9570d3b4a0b5e8d01a218743973feebd21115661.zip
readrom: accept ranges for the --disassemble flag
Signed-off-by: Miquel Sabaté Solà <mssola@mssola.com>
Diffstat (limited to 'crates/readrom/src')
-rw-r--r--crates/readrom/src/main.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/crates/readrom/src/main.rs b/crates/readrom/src/main.rs
index d3701d0..81b7e09 100644
--- a/crates/readrom/src/main.rs
+++ b/crates/readrom/src/main.rs
@@ -457,10 +457,12 @@ fn do_disassemble(
}
// If this is just a numeric value, take it as is.
- if let Some(address) = address
- && let Some(start) = parse_hex_value(address)
- {
- return print_range(bytes, start, None, memories, addresses, raw, None);
+ if let Some(address) = address {
+ let (start_addr, end_addr) = address.split_once('-').unwrap_or((address, ""));
+ if let Some(start) = parse_hex_value(start_addr) {
+ let end = parse_hex_value(end_addr);
+ return print_range(bytes, start, end, memories, addresses, raw, None);
+ }
}
// Otherwise, print the full range if possible.