From 8f9e5bb3c292b76d8cdf42066f3a639c21484e10 Mon Sep 17 00:00:00 2001 From: beyondcoast Date: Sun, 21 Apr 2019 17:17:32 -0500 Subject: [PATCH] Fix overdumping 16KB nrom/cnrom --- host/scripts/nes/cnrom.lua | 2 ++ host/scripts/nes/nrom.lua | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) 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