From d29d7cebdfcd9780719f22781b341af673c829af Mon Sep 17 00:00:00 2001 From: paulb-nl Date: Mon, 13 Jan 2025 17:12:53 +0100 Subject: [PATCH] N163: default to having PRG RAM if no NES2.0 header --- NES.sv | 3 ++- rtl/mappers/Namco.sv | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/NES.sv b/NES.sv index 2cbc0bc..c1fdbaa 100644 --- a/NES.sv +++ b/NES.sv @@ -1469,7 +1469,8 @@ wire [3:0] prg_nvram = (is_nes20 ? ines[10][7:4] : 4'h0); wire piano = is_nes20 && (ines[15][5:0] == 6'h19); wire has_saves = ines[6][1]; -assign mapper_flags[63:35] = 'd0; +assign mapper_flags[63:36] = 'd0; +assign mapper_flags[35] = is_nes20; assign mapper_flags[34:31] = prg_nvram; //NES 2.0 Save RAM shift size (64 << size) assign mapper_flags[30] = piano; assign mapper_flags[29:26] = prgram; //NES 2.0 PRG RAM shift size (64 << size) diff --git a/rtl/mappers/Namco.sv b/rtl/mappers/Namco.sv index bbf2724..8377814 100644 --- a/rtl/mappers/Namco.sv +++ b/rtl/mappers/Namco.sv @@ -71,7 +71,9 @@ wire [18:10] chr_aoutm; wire [3:0] prg_ram_size = flags[29:26]; wire [3:0] prg_nvram_size = flags[34:31]; -wire has_prg_ram = |{prg_ram_size, prg_nvram_size}; +wire is_nes20 = flags[35]; +// Default to having PRG RAM if no NES2.0 header +wire has_prg_ram = |{~is_nes20, prg_ram_size, prg_nvram_size}; // 2KB PRG RAM for mapper 210 wire ram_2k = (prg_ram_size == 4'h5 || prg_nvram_size == 4'h5);