The .nes/iNes format
If you use homebrew software to dump the original Wii VC release of Super Mario Bros to an SD card and look at it in a hex editor, you can find an iNES format header in the file 00000001.app. iNES was one of the first NES emulators to be released, developed since the 90s by Marat Fayzullin. For his emulator, Fayzullin created the .nes file format that is now the de facto standard for NES ROMs, hence it being called the iNES format. An attempted successor format called the Universal NES Image Format or UNIF was created with the motivation “to offer more description of the mapper board than the popular iNES 1.0 format” but failed to gain traction and was supplanted by the NES 2.0 extension to the iNES format. With the exception of a very few game dumps that according to a Nesdev forum post from 2015 only exist in UNIF format, you are damn near guaranteed that any NES ROMs you find will be in the format Fayzullin created.
So we have Nintendo’s VC release of SMB1 verified to use a format created for unauthorized emulation. This in and of itself is worthy of discussion, given Nintendo’s ardent stance against emulators as demonstrated on their corporate legal information FAQ page
How Does Nintendo Feel About the Emergence of Video Game Emulators?
The introduction of emulators created to play illegally copied Nintendo software represents the greatest threat to date to the intellectual property rights of video game developers. As is the case with any business or industry, when its products become available for free, the revenue stream supporting that industry is threatened. Such emulators have the potential to significantly damage a worldwide entertainment software industry which generates over $15 billion annually, and tens of thousands of jobs.
What Does Nintendo Think of the Argument that Emulators are Actually Good for Nintendo Because it Promotes the Nintendo Brand to PC Users and Leads to More Sales?
Distribution of an emulator developed to play illegally copied Nintendo software hurts Nintendo’s goodwill, the millions of dollars invested in research & development and marketing by Nintendo and its licensees. Substantial damages are caused to Nintendo and its licensees. It is irrelevant whether or not someone profits from the distribution of an emulator. The emulator promotes the play of illegal ROMs , NOT authentic games. Thus, not only does it not lead to more sales, it has the opposite effect and purpose.
How Come Nintendo Does Not Take Steps Towards Legitimizing Nintendo Emulators?
Emulators developed to play illegally copied Nintendo software promote piracy. That’s like asking why doesn’t Nintendo legitimize piracy. It doesn’t make any business sense. It’s that simple and not open to debate.
Are Game Copying Devices Illegal?
Yes. Game copiers enable users to illegally copy video game software onto floppy disks, writeable compact disks or the hard drive of a personal computer. They enable the user to make, play and distribute illegal copies of video game software which violates Nintendo’s copyrights and trademarks. These devices also allow for the uploading and downloading of ROMs to and from the Internet. Based upon the functions of these devices, they are illegal.
Bratt brings this up in the video, talking about how misleading it is to conflate emulators themselves (which are completely legal and have even acted as platforms for new games long after the death of the emulated platforms) and piracy of copyrighted games. There’s even a jab taken at how Nintendo’s stance against legitimizing emulation not making business sense must not apply to the Virtual Console line itself, given that it is itself a form of emulation. While it makes sense that Ninty would use a tried-and-true format internally, by basing their work on that of a community they so vehemently denounce as being such a threat to the industry the corporate dickheads are having their cake and fucking it too.
where the argument falls apart
The video then continues with the line “every sign here points toward Super Mario Bros on the Wii Virtual Console being a ROM that they sourced online.” Bratt even has Fayzullin weigh in.
“There are minute differences between ROM dumps,” explained Fayzullin. “Depending on the cartridge version and how it has been dumped. If you see that your .NES file DOES NOT match any of the ones found online, it is likely to be their own ROM dump. I have cut the ROM content out of the Wii file you sent me and it indeed matches the .NES file found online.”
This is a peculiar thing for someone who’s been an expert in NES emulation for decades now to say, because a non-expert like me can point out the obvious flaw, a basic principle of ROM dumping…
All good dumps of the same cartridge/release version will be identical
So any ROMs that don’t match known good dumps are different versions, modified, or badly dumped. The most common sort of bad dump you’ll find will probably be overdumps, since while they have more data than should be present, that extra data is usually meaningless filler that will be ignored and is thus still perfectly playable. But it won’t work for something like RetroAchievements since it won’t have a recognized hash. For an example of a database of good ROM dumps that hashes can be verified against, there’s No-Intro’s DAT-o-Matic.
Since the Virtual Console release of SMB1 matches a known good dump, it’s impossible to prove whether or not it was sourced from a pirated copy or dumped internally. If it matched a known bad dump, it could be identified as coming from a particular pirated ROM source. As it is, the most likely answer is that they made a dump in-house using a pre-existing format so they didn’t have to reinvent the wheel.
New Research From ResetEra
This post has been sitting in my drafts since 31 Aug, and since then new information came to light from a ResetEra thread. Back in August, Reddit user PPLToast posted about how a developer named Tomohiro Kawase was credited for the “NES Emulator Program” in Animal Crossing, who after work on emulators like iNES (“Sound support completely rewritten, thanks to Kawase Tomohiro”) got hired by Nintendo, and his work is most likely why Nintendo has used the iNES format. ROMs extracted from Animal Crossing are also in iNES format. Except one.
ResetEra user Krvavi Abada did more research on Kawase and revived the ResetEra thread on the subject of his work in October. He found that everything Kawase was credited with at Nintendo had to do with emulation, starting with Pokémon Stadium’s GB Tower. At the time of Kawase being hired there was not yet a standardized header in the emulation community for Famicom Disk System games, standardization didn’t happen “until around November 1998 with the release of the fwnes emulator. About 3 months after the release of Pokemon Stadium, Tomohiro Kawase’s first project at Nintendo.”
That one game in Animal Crossing that doesn’t have a header is the FDS game Clu Clu Land D (originally known as “Clu Clu Land: Welcome to New Clu Clu Land” and retitled outside Japan when included in Animal Crossing). CCLD was never given a retail release, only being available from the Famicom Disk Writer kiosk to write onto a blank FDS disk. The FDS includes data blocks both for manufacturing date and date the disk was last written to. This means dumps of kiosk games will be unique to the particular disk it was dumped from. Abada looked at the write date for the CCLD dump in Animal Crossing and found that it’s from a disk manufactured and written on 22 November 1988, which matches with the 1988 copyright of the game. But despite this copyright date, “Welcome to New Clu Clu Land wasn’t actually released until 1992 […] In fact it was the last FDS game released.” This dump, then, must have been from Nintendo’s own archives. With this knowledge, it is almost certain that the other first and second party emulated games Nintendo has released have been sourced internally and not grabbed from the internet.
On an interesting closing note, in Marat Fayzullin’s documentation of the NES architecture, one of the people credited with helping obtain the information is a “Kawasedo”, a nickname Kawase used. The Game Boy Advance’s BIOS has a developer credit embedded in it: “// Coded by Kawasedo”