Monday, November 23, 2020

FPGA NES and Famicom Solutions' Mapper Support Matrices

There have been several hardware devices released over the past four decades which play NES and Famicom games.  Any regular reader of this blog will know that the NES and Famicom have many, many different ways in which it supports memory management.  Hardware devices which support a wide variety of games use FPGAs to configure their logic to handle the various memory mappers used by NES and Famicom games.  Below I will give matrices of each device and identify the mappers it supports.  Both iNES 1.0 and NES 2.0 mappers will be identified.  None of these devices support UNIF format mappers and UNIF should be fully deprecated by NES 2.0 now.


Let me start with the key to the tables and the statistics for NES Mappers :

Now I will identify the eight devices profiled, in order of their release and using their latest firmware :

1.    Analogue Nt Mini Noir
2.    Krikzz EverDrive N8 Pro
3.    MiSTer NES Core
4.    KrzysioCart
5.    Analogue Nt Mini
6.    Krikzz EverDrive N8
7.    RetroUSB NES PowerPak
8.    Bung Enterprises Game Master 2.0

All but 4, 5 & 7 support running Famicom Disk System images.

Analogue Nt Mini Noir Jailbreak v6.7



Krikzz EverDrive N8 Pro OS v2.15



MiSTer NES Core 02-23-2023


KrzysioCart


Analogue Nt Mini Jailbreak v2.0


Krikzz EverDrive N8 OS v1.26


RetroUSB NES PowerPak v1.35b


Bung Game Master v2.0


When I said that FPGA cartridge simulating devices have been sold in four decades, I am speaking truth.  The Nt Mini Noir was released in 2020, the EverDrives, MiSTer and Nt Mini in the 2010s, the NES PowerPak was released in 2007 and the Game Master was released sometime in the mid-1990s.  Even though the NES and Famicom were officially end of life by 1994 (support for Famicom hardware continued until 2003), companies and later homebrewers just have not stopped making or adapting software to work on this hardware.  

It is important to observe that quantity of mappers supported is only one indicator of a device's accuracy.  Certain older devices like the original Nt Mini and NES PowerPak have some buggy mappers which relied on out of date information.  Even the EverDrives have a few long-standing bugs in their supported mappers.  Many mappers are not exactly mainstream, being used for Taiwan and Chinese games with which relatively few people concern themselves.  Some mappers also come with built in hardware, use expansion ROMs or unusual peripherals. Bandai was fond of this with the Datach Joint ROM System and the Karaoke Studio.  Several mappers use expansion audio and there is work to be done there for almost all the current devices.  Only one PC emulator, NintendulatorNRS, supports all identified iNES 1.0 or 2.0 mappers but some of those mappers use underlying hardware that is more advanced than a standard NES or Famicom.  

Here is a list of mappers which may be difficult or impossible for a flash cart or FPGA to simulate fully:

Specific Extra Cartridge Hardware

124 - Super Game Mega Type III (Arcade Insert Coin Function)
157 - Datach Joint ROM System (Barcode Reader)
186 - Study Box (Tape Deck)
188 - Karaoke Studio (Attached Microphone)
515 - Family Noraebang (Attached Microphone)
517 - Kkachi-wa Nolae Chingu (Attached Microphone)

For these systems, you need to find workarounds for the extra hardware. The Nt Minis support 124 by assigning a coin insert function to a key on a SNES pad or a menu. The Datach requires game hacks to scan barcodes. The microphone games could be hacked to support the Famicom Microphone, I do not know of any game which has. Family Noraebang also includes a YM2413 clone sound chip. The Study Box could be simulated in the manner of a CD-ROM, as the stereo tapes stream both data and audio on separate tracks.

Keyboard Computer Systems

166 - Subor
167 - Subor
257 - PEC-586
365 - Asder PC-95
371 - PEC-586
440 - REC-9388
514 - Subor
518 - Subor
531 - LittleCom PC-95

Keyboard systems are very low-end PC like devices. The built-in keyboards work in various ways, some could be simulated with a Family BASIC keyboard through game hacking. These keyboards often have disk drives, serial or parallel ports, making full functionality difficult. Even NintendulatorNRS does not support all the functions of all these computers, not for a lack of trying. Many of these Keyboard Computer systems have cartridge slots, so if these mappers are implemented they can be used with a flash cart.

Enhanced Clone Required

256 - VT02^ + VT03*
296 - VT32*
405 - UM6578
407 - VT03
408 - VT03
419 - VT03
423 - VT369*
424 - VT369*
425 - VT369*
426 - VT369
427 - VT369*
436 - VT02^

* - Large PRG-ROM Size Support
^ - Most games playable with standard NES hardware

The UM6578 and VT series of clone chips add additional graphics and audio functions to the standard NES CPU and PPU. A flash cart can theoretically run in a console with a VT02, VT03 or UM6578 but it would require the pins to be rearranged for the OneBus memory arrangement. The FPGA systems could have the enhancements added to their cores, but that would require sufficient interest and effort from their developers.

CPLD/FPGA Based Multicarts

342 - Coolgirl
446 - Mindkids FPGA
468 - BlazePro
469 - BlazePro FDS

These mappers are pretty much designed for multicart purposes, but by using an FPGA or CPLD and are only geared toward running licensed games. As these FPGA systems already have their own methods for running the same games, simulation of these mappers is redundant.

Large PRG-ROM Sizes

176 - 64MiB PRG-ROM
268 - 32MiB PRG-ROM
270 - 64MiB PRG-ROM
409 - 64MiB PRG-ROM

176 and 268 copy CHR-ROM data from the PRG-ROM into CHR-RAM and disable the write enable. 409 is just a huge simple UNROM-style PRG-ROM bankswitch and 270 is a OneBus mapper. The EverDrive N8 Pro only supports 8 MiB PRG-ROM and 8 MiB CHR-ROM, and I assume MiSTer and the Analogue consoles have similar limitations.

Emulator Assist

532 - Reliance on VirtuaNES EX emulator

This is an emulator hack which overlays Chinese text onto a hacked ROM of Namco's Sangokushi II: Haou no Tairiku, only VirtuaNES EX supports it

Unknown Games

275-279 & 316-318 - Used by Nestopia Plus! for unknown Chinese games

Vs. System

099 - Vs. System (and other games that use Vs. System hardware)

The Vs. System is only an issue for flash carts, as the FPGA consoles can simulate the Vs. System's peculiarities. These include the four different 2C04 PPUs which scramble the colors if not used with the correct games, the protection register in the four 2C05 PPUs, the dipswitches and insert coin function of the arcade unit, the differing way the Zapper support is implemented and the Vs. Dualsystem functionality. The Nt Mini Noir handles everything except Vs. Dualsystem. Hacks can allow many Vs. System games to run on standard NES or Famicom hardware via flash cart.

1 comment:

  1. i jsut discovered your blog.! keep iut up !!!

    ReplyDelete