I was recently going through the Wii Virtual Console versions of NES roms, for which Nintendo made slight or significant alterations to when they brought them to the Wii. For example in Life Force, they fixed the "Nintend" in "Nintend of America" on the title screen to now correctly display "Nintendo". One could consider them "definitive reissue" versions of the roms.
When coming across Gradius 2 however, strangely this specific rom does not load in any NES emulator I've tried (FCEUX, Nestopia, etc.). They all freeze on a black or gray screen immediately. Only Nintendo's VC NES emulator seems capable of running this rom. (I've not tried on real hardware as I'm not equipped to.)
I'm really curious as to why that is? The Non-VC version runs just fine. What alterations have Nintendo made? Is this some kind of intentional anti-piracy measure?
I originally extracted it myself from the Gradius 2 Virtual Console WAD file. I figured I might have done something wrong in the process. I then looked over at the latest GoodNES set, which also has the VC rom, and exact same result.
I figured someone here might be interested in looking into why that is?
Gradius II Wii Virtual Console rom doesn't run in any NES emulator (I've tried).
Moderator: Moderators
-
- Posts: 2
- Joined: Tue Apr 20, 2021 6:10 am
Re: Gradius II Wii Virtual Console rom doesn't run in any NES emulator (I've tried).
Among other reasons, it has the wrong header.
There are only six bytes differing between what GoodNES 3.23 calls "[!]" and what it calls "(VC)"; two are nonsense changes in the header, marking it incorrectly as using the MMC2 when it should be VRC4.
The other four bytes I haven't figured out what they're doing, but they're not obviously code. Probably a change in text somewhere.
There are only six bytes differing between what GoodNES 3.23 calls "[!]" and what it calls "(VC)"; two are nonsense changes in the header, marking it incorrectly as using the MMC2 when it should be VRC4.
The other four bytes I haven't figured out what they're doing, but they're not obviously code. Probably a change in text somewhere.
-
- Posts: 2
- Joined: Tue Apr 20, 2021 6:10 am
Re: Gradius II Wii Virtual Console rom doesn't run in any NES emulator (I've tried).
Hehe before I even read your reply, I was coming back to say I found out the header was wrong, and got it to run after correcting it.
But that's strange, because this isn't GoodNES making that error. This is the exact rom that Nintendo is using on their VC release, so they're the ones who got the header wrong. Strangely it doesn't prevent it from running just fine in their emulator, so I have to assume their emulator just ignores the header and has those settings hardcoded in some way?
Thanks for your reply though!
But that's strange, because this isn't GoodNES making that error. This is the exact rom that Nintendo is using on their VC release, so they're the ones who got the header wrong. Strangely it doesn't prevent it from running just fine in their emulator, so I have to assume their emulator just ignores the header and has those settings hardcoded in some way?
Thanks for your reply though!
Re: Gradius II Wii Virtual Console rom doesn't run in any NES emulator (I've tried).
It's always amusing to be reminded that Nintendo used iNES headers for their own official releases of emulated games!
-
- Posts: 1510
- Joined: Thu May 19, 2005 11:30 am
Re: Gradius II Wii Virtual Console rom doesn't run in any NES emulator (I've tried).
"The mapper 9 with Vs. System designation" comes from byte 7 having the value $01 instead of the correct $10. Mapper 25 ($19) therefore becomes 9 ($09). Either the header was filled erroneously and the Virtual Console emulator does not care because it uses hard-coded settings, or the emulator itself decodes the header incorrectly, and the file's header was filled to satisfy the erroneous decoding method. One would have to inject the correctly-headered ROM file to find out if the emulator runs it correctly.
Re: Gradius II Wii Virtual Console rom doesn't run in any NES emulator (I've tried).
I heard that the WAD package includes the emulator along with the ROM, manual and all that, so the emulator doesn't have to be perfect as long as it can run the ROM it comes with.
Yeah try re-injecting it into the WAD with the corrected ROM or even with a blank header and try it on your Wii and see if it still works like that.
Yeah try re-injecting it into the WAD with the corrected ROM or even with a blank header and try it on your Wii and see if it still works like that.
Re: Gradius II Wii Virtual Console rom doesn't run in any NES emulator (I've tried).
Hardcoded settings is what Nintendo's N64 emulator does, at least.