MetalNES Is The Ultimate NES Emulator But Your PC Isn't Fast Enough To Run It
It would be easy to assume that the Nintendo
Entertainment System needs no introduction, but it's important for us old farts to remember that it came out in 1985, some 37 years ago. Many people reading this are probably younger than the NES.
Nintendo's first home video game system to be released in the west changed history, because after the video game crash of 1983, Americans were loathe to even look at colored pixels anymore. When compared against its competition, the accessible price, relatively detailed visuals, charming sounds, and complex gameplay of NES games made the system an overnight sensation and the awkward five-syllable Japanese name "Nintendo" a household name worldwide.
That's all ancient history now, of course, but the system's legacy lives on as folks continue to play NES games, whether out of nostalgia, profit, or just pure fun. Most people playing 8-bit NES games these days are likely using some form of emulator
Likely owing to its popularity, the NES was one of the first home console systems to get a real high-quality emulator for PCs under the offputting name "NESticle." It was far from flawless, but NESticle ran the majority of the NES' library well enough that most folks wouldn't notice the difference. Most crucially, it could do it on a 486 PC.
We bring up NESticle because its author, Icer Addis, is also the creator of MetalNES, the newest emulator for Nintendo's 8-bit system. MetalNES is almost the polar opposite of NESticle: exactly accurate, and painfully slow. That's understandable, though, because MetalNES is emulating the Nintendo Entertainment System at the transistor level.
SNK's Crystalis will not run on MetalNES yet.
Normally, this kind of thing would be done on an FPGA. Indeed, this isn't exactly a new idea; there are already several standalone retro gaming boxes that use FPGAs to re-create the NES hardware and play its games. As far as we're aware, this is the first time anyone's tried to do this in pure software, though.
The result runs about as well as you'd expect: minutes per frame. Naturally, that means MetalNES isn't currently suitable for playing retail NES games, although it also lacks support for the mapper chips that the overwhelming majority of NES games require, so they wouldn't run correctly even if it was sufficiently performant.
At this stage, then, MetalNES is mostly a curiosity, but Icer Addis does seem to have intentions to optimize the app. If you're a developer or hobbyist and would like to fool around with it yourself, the source
is on GitHub, but be advised that Addis says that it only builds on MacOS (for now.)