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

NesHawk's MMC3 chip doesn't support disabling PRG RAM #4212

Open
100thCoin opened this issue Feb 6, 2025 · 0 comments
Open

NesHawk's MMC3 chip doesn't support disabling PRG RAM #4212

100thCoin opened this issue Feb 6, 2025 · 0 comments
Labels
Core: NesHawk Nintendo Entertainment System (NES) / Famicom / Famicom Disk System (FDS) core Inaccuracy Affects accuracy of emulation

Comments

@100thCoin
Copy link
Contributor

100thCoin commented Feb 6, 2025

Summary

With the MMC3 mapper, you can enable/disable the PRG RAM stored on the cartridge. When this PRG RAM is disabled, reading from the address $6000 through $7FFF range should return open bus, though currently NesHawk reads these addresses as if PRG RAM was always enabled.

Repro

I made a custom cartridge that runs the following ASM

   LDA #$00
   STA $A001
   LDA $7964 ; This address is part of the disabled PRG RAM

The expected result would leave the A register with a value of $79, due to open bus behavior.
Here's a screenshot of the tracelog, with the A register ending with a value of $00.

Image

@YoshiRulz YoshiRulz added Core: NesHawk Nintendo Entertainment System (NES) / Famicom / Famicom Disk System (FDS) core Inaccuracy Affects accuracy of emulation labels Feb 6, 2025
@100thCoin 100thCoin changed the title NesHawk's MMC3 "PRG RAM Protect" reads a value of $00 instead of open bus when PRG RAM is disabled NesHawk's MMC3 "PRG RAM Protect" allows you to read PRG RAM when PRG RAM is disabled, instead of reading open bus Feb 6, 2025
@100thCoin 100thCoin changed the title NesHawk's MMC3 "PRG RAM Protect" allows you to read PRG RAM when PRG RAM is disabled, instead of reading open bus NesHawk's MMC3 chip doesn't support disabling PRG RAM Feb 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Core: NesHawk Nintendo Entertainment System (NES) / Famicom / Famicom Disk System (FDS) core Inaccuracy Affects accuracy of emulation
Projects
None yet
Development

No branches or pull requests

2 participants