rusticnes-core icon indicating copy to clipboard operation
rusticnes-core copied to clipboard

iNES 2.0 cartridge headers

Open zeta0134 opened this issue 5 years ago • 1 comments

We should detect and support the extended features of the iNES 2.0 header: https://wiki.nesdev.com/w/index.php/NES_2.0

Additionally, we should probably clean up the header details that are currently passed into the mapper. Some mapper hardware has features that cannot be fully defined by iNES 1.0 headers, and in these cases it would be ideal to work around the lack of support by implementing saner defaults. For example, MMC5 could ignore iNES 1.0's PRG RAM size and use 64k instead, as a compatability hack, but still accept the PRG RAM details provided by an iNES 2.0 header.

zeta0134 avatar Apr 02 '20 18:04 zeta0134

In particular, MMC3 is limited to 8 KiB CHR RAM. This causes scrambled graphics in Haunted: Halloween '86, which uses 32 KiB. The mmc3bigchrram test in little things produces the following result:

This system supports 8 KiB
CHR RAM but not 32 KiB.
Bug the author of this
emulator or mapper pack to
add support for the NES 2.0
header, or use a WIP
version of FCEUX.

pinobatch avatar Nov 29 '20 19:11 pinobatch