From 4b64f2fe9bdba8b6efa865d974d66d6fb5cc4065 Mon Sep 17 00:00:00 2001 From: 0kmg <9137159+0kmg@users.noreply.github.com> Date: Sat, 23 Oct 2021 03:30:09 -0800 Subject: mmc3.cpp: Added comment about VROM/VRAM bank numbers. (#8743) --- src/devices/bus/nes/mmc3.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/devices/bus/nes/mmc3.cpp b/src/devices/bus/nes/mmc3.cpp index 53e7ce6d791..3ecbc024a96 100644 --- a/src/devices/bus/nes/mmc3.cpp +++ b/src/devices/bus/nes/mmc3.cpp @@ -119,16 +119,19 @@ void nes_txrom_device::mmc3_common_initialize( int prg_mask, int chr_mask, int i { m_mmc_prg_bank[0] = m_mmc_prg_bank[2] = 0xffe; // m_mmc_prg_bank[2] & m_mmc_prg_bank[3] remain always the same in most MMC3 variants m_mmc_prg_bank[1] = m_mmc_prg_bank[3] = 0xfff; // but some pirate clone mappers change them after writing certain registers + + // Point CHR banks to the first 8K of memory. This is needed for a few unlicensed carts that use VRAM and don't init banks properly. + // This includes at least some Waixing games, EverQuest and Sanguozhi, and some multicarts, New Star 6 in 1 and Famicom Yarou Vol 1. m_mmc_vrom_bank[0] = 0; m_mmc_vrom_bank[1] = 2; m_mmc_vrom_bank[2] = 4; m_mmc_vrom_bank[3] = 5; m_mmc_vrom_bank[4] = 6; m_mmc_vrom_bank[5] = 7; - m_mmc_vrom_bank[6] = 0; - m_mmc_vrom_bank[7] = 0; - m_mmc_mirror = 0; + m_mmc_vrom_bank[6] = 0; // extension reg used by clone boards + m_mmc_vrom_bank[7] = 0; // extension reg used by clone boards + m_mmc_mirror = 0; m_latch = 0; m_wram_protect = 0x80; -- cgit v1.2.3