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

NSMBW: add support for mainland Chinese version #16

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

RoadrunnerWMC
Copy link
Collaborator

This PR adds support for the mainland Chinese version of NSMBW (SMNC01). This only exists as a release on the Nvidia Shield TV, but can be converted to a playable* Wii ISO without too much difficulty (I know of three people who have independently done this, including myself), so supporting it as a Kamek target makes sense.

Due to random stuff Nvidia changed in this release (different boot scenes, support for the Classic Controller, random rendering-related stuff to help their Lingcod emulator perform better, etc), the address map for this version is long -- even longer than that of the Korean version. It's still not finished, and not included in this PR at time of writing. The changes to the loader code are pretty simple, though.

* A direct conversion doesn't run too well, because some basic DRM prevents the game from rendering properly. This can be removed, though, with the patch available in the "shield-fix" directory in this repo. After you've dealt with that, however, World 1-2 crashes on hardware and throws warnings on Dolphin due to buggy game code (null pointer deref) that Nvidia's emulator (Lingcod) ignores. This could be fixed with further patching, but nobody's done that yet to my knowledge.

This commit only adds support to the loader (nsmbw.cpp), NOT to the address map file (versions-nsmbw.txt). The latter is a much much harder project that's still a work in progress.
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

Successfully merging this pull request may close these issues.

1 participant