diff --git a/host/scripts/nes/cnrom.lua b/host/scripts/nes/cnrom.lua index dad0ef0..9800710 100644 --- a/host/scripts/nes/cnrom.lua +++ b/host/scripts/nes/cnrom.lua @@ -110,6 +110,8 @@ local function dump_prgrom( file, rom_size_KB, debug ) --same as NROM local KB_per_read = 32 + if rom_size_KB < KB_per_read then KB_per_read = rom_size_KB end + local num_reads = rom_size_KB / KB_per_read local read_count = 0 local addr_base = 0x08 -- $8000 diff --git a/host/scripts/nes/nrom.lua b/host/scripts/nes/nrom.lua index 71fecda..7b2a715 100644 --- a/host/scripts/nes/nrom.lua +++ b/host/scripts/nes/nrom.lua @@ -95,9 +95,10 @@ end --dump the PRG ROM local function dump_prgrom( file, rom_size_KB, debug ) - --PRG-ROM dump all 32KB, most of this code is overkill for NROM. - -- but follows same format as banked mappers local KB_per_read = 32 + -- Handle 16KB nroms. + if rom_size_KB < KB_per_read then KB_per_read = rom_size_KB end + local num_reads = rom_size_KB / KB_per_read local read_count = 0 local addr_base = 0x08 -- $8000