Friday, November 11, 2016

A Better Alternative to the NES Classic Edition

In the final entry in what has turned to cover way too much blog space, I am giving my reasons why I cannot recommend the NES Classic Edition (CE). The CE has a lot going for it, an attractive price, a cute look, the official throwback factor, 30 classic games, a good replica controller. But it has a few downsides.

The first is obvious, the cables are way too short. They are only 2.5' long. An original NES controller is over 6' long. If you want to play with the CE while sitting on the couch, you will need either a long HDMI cable or controller cable extenders. A 25' HDMI cable will run you about $15 on Monoprice, but the controller extensions coming out for the CE run $10 each. If you want to play a two player game, that is another $10. Ultimately, the problem can be fixed, but the fixes will turn a $60 device into a $90 device.

The second is equally obvious, the console is not upgradeable. When you finish playing those 30 games, what then? It will be back to the Virtual Console. Want to play Mega Man 3, Castlevania 3, Startropics 2, Ninja Gaiden 2, Contra or Tecmo Super Bowl? You may have to wait for something like the CE 2.0 Edition. Given that Nintendo included virtually all its first party classics in the existing CE, the game lineup in the CE 2.0 would prove interesting to say the least.

The CE contains hardware very similar to older variants of the Raspberry Pi 2 Model B. Both use a quad-core 32-bit ARM Cortex-A7 CPU SoC. The CE uses the Allwinner R16 chip, which has a built-in Mali400MP2 GPU. The 2B uses a Broadcom BCM2835 running at 900MHz and a VideoCore IV GPU. Neither GPU core is going to be giving nVidia or AMD's or even Intel's GPUs a run for their money.

NES Classic Edition PCB

The CE has 256MB of RAM while the 2B provides 1GB. The CE has 512MB of NAND Flash Memory built in compared to the micro SD card on the 2B that can easily support a 32GB micro SD card. The 2B has an HDMI out, composite video & audio and 4 USB ports. The catch here is that the 2B cost $35 at launch. It has been eclipsed by the Model 3, which uses a 1.2GHz 64-bit quad-core ARMv8 Broadcom BCM2836 (same GPU), for the same price. Even when you add the cost of a power supply ($10) and a 32GB microSD card ($11), you are still not quite to the $60 level of the CE. But to add a USB NES controller ($10) will probably tip the scales in favor of the CE on price alone, but not by much.

Raspberry Pi 3

But once you get the Raspberry Pi 3 setup, you can run RetroPie, a MESS-like emulator designed for the Raspberry Pi. You don't even need to get hands on with Raspbian, the official Raspberry Pi OS, or Linux. You put RetroPie on the SD card and boot to it, configure RetroArch and run your ROMs. RetroArch is the backbone of RetroPie. You can run a version of Nestopia or FCEUmm through RetroPie. Just about anything you would want to play will run correctly through Nestopia. You should be able to use any USB controller, you don't need one with Nintendo's special connector. The whole NES and Famicom library will become open to you, not just 30 games. Here is an easy to follow getting started guide : https://github.com/retropie/retropie-setup/wiki/First-Installation

Here is my last point, a Rasp Pi running a version of Nestopia will sound far more accurate to the real NES than the CE. The chief issue I have with the CE from an accuracy standpoint is its sound emulation. The emulation of the noise channel is really poor. The NES has five channels of sound, two rectangle wave channels, one triangle wave channel, one noise channel and one PCM channel. Many games use noise for sound effects and as percussion instruments (PCM takes up a lot of ROM space). When these effects are used repeatedly, the result is a total break in the emulation by anyone familiar with the correct sound.

Unfortunately, this is not an issue isolated to one or two games, the issue rears its ugly self in almost every game on the CE. Here are a few examples :

Some percussion notes in the music of SMB2, Metroid, Castlevania, Zelda 2 and Mega Man 2
Balloon popping sound in Balloon Fight
Enemy popping sound and fire power in Kirby's Adventure
Enemy defeat sound in StarTropics
Thunderclaps and machine gun fire in Super C
Dodging and gloves hitting gloves in Punch Out
Hitting the candles and enemies and breakable blocks with the whip and landing in a crouch in Castlevania, also the holy water fire.
The crushers in Metal Man's stage and Metal Man's metal blades in the boss battle
Enemy defeat sound in Ninja Gaiden, gun sound when Irene shoots Ryu, windmill slash
Block breaking in SMB3
Dialogue text in Zelda 2
Punch landing sound in Double Dragon 2.

The issue appears to stem from sound noise sound effects being played at lower frequencies than they should be played. The RetroUSB AVS had the same issue, but it was fixed by the time units shipped to paying customers. The CE's firmware cannot be upgraded, so it can't be fixed. Even though Nintendo has used some open source software with the CE, I would not expect that hardware hackers would be able to fix the issue without access to the source code.

So, you have an issue that once heard, really cannot be unheard. There may also be some other subtler errors in the audio emulation. I do not know of any of the YouTube reviewers or major review sites like IGN and Gamespot who commented on this. I first expressed my reservations about the audio output accuracy in my Famicom Mini article last month. It appears I was fully justified once I started watching videos of reviewers playing retail units. Of course, many in the community do not hold the same value on accuracy, claim they can't hear it or just want to have it as a Nintendo collectible.

Nestopia for Windows has about the best NES audio emulation there is, you won't hear these kinds of errors from your RetroPie box. Plus you can play the whole NES library untouched by Nintendo's alterations. While some of those alterations, like removing high frequency flashing effects, are justified to avoid triggering epilepsy, others, like removing player names from Tecmo Bowl are more likely to disappoint.

Initial opinions of the CE's (and the Famicom Mini's) PCB indicate that hacking the board to allow the flash storage to be rewritten is quite possible : http://linux-sunxi.org/Nintendo_NES_Classic_Edition Wouldn't it be ironic if someone ported RetroPie to the CE that runs games better than the official firmware? Some easy soldering and a UART serial port adapter will be required to update the flash, but if it can be done, then the CE would become much more interesting as an emulation device. But for now, I would advise passing on it and exploring a much more richer experience with the Rasp Pi if you want to play NES games on your TV at a reasonable price.

Postscript :

1. Don't buy EMIO branded controllers for the NES Classic Edition, they do not work. This has been confirmed over and over again on Amazon. This is a shame because they made an NES Advantage inspired joystick for the CE that is reputed to have very good build quality. They will work with a Wiimote and a Wii or Wii U, but that is hardly the focus of the company's advertising.

2. Inside the CE there is a poster showing what you would have received with the original NES Deluxe Edition, namely a Zapper, R.O.B., Gyromite and Duck Hunt. I find this triply ironic. First, neither Duck Hunt nor Gyromite are included in the CE's game list. Second, the peripherals are not included either. Third, the Zapper and R.O.B. would not likely work with any TVs supporting an HDMI port, the CE's sole output option.

9 comments:

Neither can i, here in Europe it costs 75$, you can get two RPIs for that!

But i will get a Classic Mini controller, and one of those Mayflash Wii Classic Controller to PC USB Adapters, which works on the RPI:http://www.mayflash.com/products/pcusb/pc045.html

Separate controllers are supposed to be only 10 bucks.

It would have been much better if they bundled two controllers, and had only two player games installed. Or had two versions of the thing, single player games one controller, and 2 player games and 2 controllers.

Neither can i, here in Europe it costs 75$, you can get two RPIs for that!

But i will get a Classic Mini controller, and one of those Mayflash Wii Classic Controller to PC USB Adapters, which works on the RPI:http://www.mayflash.com/products/pcusb/pc045.html

Separate controllers are supposed to be only 10 bucks.

It would have been much better if they bundled two controllers, and had only two player games installed. Or had two versions of the thing, single player games one controller, and 2 player games and 2 controllers.

One point I don't see people touching is the ease of use:Not all people evolved to retro-hobbyists and not all people know or want to go through setting up a Pi. A large part of buyers are normal people who just want to plug in a couple of cables and have their NES games again, along with the looks. This has been a big selling point for Nintendo.

Okay, I've been reading this thread before receiving the package and did not entirely agree with it; hoping to revive some magic moments with the NES CE ... I was so wrong, the magic is simply not there !

If you are going to give your kid a console, Nintendo's product is perfect, it's cheap, it's legal, and you can use it with whatever TV you have laying around, no need to hook up RGB cables, modify an original NES, or anything else. It's basically unbreakable.

That said, software-based emulators are terrible for two reasons:- They are not an accurate emulation, and the highest accuracy requires CPU single-thread power that just doesn't exist- They encourage piracy (especially on computer platforms,) not homebrew. As much as we want to ignore the elephant in the room, that is primarily what people do with software emulators that let you use anything from any source. The price point for a flash cart is typically the barrier to casual piracy.

The future is FPGA based computer/console systems. Existing cheap console clones are no better than what Nintendo is offering (a cheap software emulator on an ARM chip.)

There are two FPGA NES systems (which you've reviewed here: http://nerdlypleasures.blogspot.ca/2016/08/retroavs-vs-analogue-nt-mini-comparison.html ) of which the latter (Analogue NT Mini) is probably more "devkit" owing to the having the ability to test a game against analog output or HDMI output. The former, the Retro AVS falls just a little short in the output department, but it's a better choice to give a child than your original NES or Famicom. Neither system "out of the box" enable piracy like the current generation of clones do (though if they were super-serious they would lockout known "broken" copiers in firmware updates.) That throws the ball back to those who seriously claim to want to homebrew to finding their own devkit flash cart.

We are caught in somewhat of a grey area. From a legal standpoint, re-creating the original hardware can be done, all the patents have expired (even on the SNES) and both the NES and SNES software sits on the bus of their respective consoles, so there is no firmware to copy. But without a new source of software (homebrew or commercial software copyright owners authorizing new carts, a la GoodOldGames ) the FPGA systems are pretty much just for collectors to play their games, and the odd person who wants to homebrew.

Personally, I'd love to get that CE mini just to have something portable. But if I were to sit down and want to play a game start-to-end, I'd rather have the Analogue NT Mini. I may end up getting both at some point, but I kinda want to wait to see how some SNES-FPGA projects pan out first. If a SNES-FPGA project can do both SNES and NES on HDMI then I want that.

The CE itself is a software emulator and not particularly accurate when it comes to sound. But much more accurate NES emulation has been achieved on relatively modest PC hardware, and the latest ARM CPUs are quite capable of handling NES emulation. It does require someone to write accurate emulation software. SNES emulation, on the other hand, is another story, as shown by higan.

The RetroN 5 and Retro Freak are examples of the weaknesses of the ARM-cartridge approach. These two systems work by dumping the ROM from a cart and then emulating that ROM in an emulator. Whether this system is truly legal is not an easy question to answer. Regardless, if the Retron/Retro's system's software does not recognize the hardware inside the cartridge, it will not run the software on the cartridge. With most systems the RetroN and RetroFreak supports, this is not a huge deal. But with NES/Famicom games, it is because of the myriad of memory mapping hardware schemes in existence and likely to be introduced in the future. If you buy a homebrew of a game that does not work in the RetroN 5, then you are out of luck.

"Here are a few examples" is one of the best nerdy lists I've seen in awhile! So highly specific. (Audio aficionado here.) Were you playing each game and listening carefully for those differences/defects?

It is now possible to install Retroarch on the NES CE and change the default emulator to Nestopia for all games (those you add yourself), while still maintaining the full functionality of the stock UI as well as save states!