Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CORE: MMC5 should default to 64k of PRG RAM as a compatible superset #6

Open
zeta0134 opened this issue Nov 26, 2024 · 0 comments
Open

Comments

@zeta0134
Copy link
Owner

Right now, MMC5 honors the PRG RAM amount requested by the iNes header, which for 1.0 is 8k minimum and for 2.0 is whatever the header specifies. This presents a compatibility issue as documented on the NESDev Wiki:

From https://www.nesdev.org/wiki/MMC5#PRG-RAM_configurations :

Because no ExROM game is known to write PRG-RAM with one bank value and then attempt to read back the same data with a different bank value, emulating the PRG-RAM as 64K at all times can be used as a compatible superset for all games.

Because iNes 2.0 is intended to be the modern standard for correctly specifying this amount, we should honor whatever it presents. However. for iNes 1.0, we should probably default to 64 kB when flags8==0. A few bits of homebrew floating around seem to expect this behavior. Since flags8 is a rarely supported iNes 1.0 extension anyway, we might simply have MMC5 ignore it entirely.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant