NSMBW: add support for mainland Chinese version #16
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.