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

INES 4 Mapper #12

Open
NightsOnRepeat opened this issue Sep 20, 2023 · 5 comments
Open

INES 4 Mapper #12

NightsOnRepeat opened this issue Sep 20, 2023 · 5 comments

Comments

@NightsOnRepeat
Copy link

I've been looking everywhere for one. Any chance of this being added?

@kylewlacy
Copy link
Owner

After a quick skim online, mapper 4 is MMC3, which I believe is one of the most common mappers. I definitely want to see it added to GhidraNes! Unfortunately it's a relatively complex mapper, and so I personally won't have the capacity to implement it myself for some time

@matthewturk
Copy link

Hi @kylewlacy , I wanted to ask if you could say where the complexity comes in. Is it because the banks at 0x8000-0x9FFF and 0xC000-0xDFFF are switchable? (I'm new to the NES scene, and I've been reading the NESdev wiki alongside src/main/java/ghidranes/mappers/ to try to understand how they relate.) Thank you!

@kylewlacy
Copy link
Owner

MMC3 (according to NESdev) has 2 switchable PRG ROM banks, 2 fixed PRG ROM banks, and an optional PRG RAM bank (plus 6 switchable CHR banks, but we don't care about those). For GhidraNes, that means we need to iterate through the ROM and add/label each PRG bank, and also decide which banks are used by default. So it is more complex than the other mappers currently defined, but it's honestly not that complex overall. I think it would be fairly similar to the code for mapper 19, and that would probably be where I'd start when/if I try to add MMC3. I don't think it would be that much code overall, but this kind of file-offset/address manipulation code I find is easy to make errors in (at least for me!), so it can take some time to test and iterate

@NightsOnRepeat
Copy link
Author

Thank you for the responses. You are a maniac for making such an awesome tool. Keep up the awesome work!

@kylewlacy
Copy link
Owner

(Reopening this issue to track support for mapper 4 / MMC3)

@kylewlacy kylewlacy reopened this Oct 22, 2023
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

3 participants