Nintendo NES Classic is Powered by Allwinner R16 SoC, Likely Hackable

Nintendo NES Classic Edition is a small replica of Nintendo NES, both adapted to modern times with an HDMI output, and keeping with nostalgia thanks to connectors for original game controllers, and pre-loaded with 30 classic games.

Nintendo_NES_Classic

If you planned to add your own games however, the lack of USB ports, micro SD card slot, or any other storage or network interface could make it impossible. But based on a recent photo tweeted by Peter Brown, senior review editor at GameSpot, there may be light out of the tunnel, as while the main storage device (4Gbit NAND flash) is soldered to the board, the main board is powered by Allwinner R16 quad core Cortex A7 processor with a Mali-400MP2, and it’s quite likely UART / serial console and/or FEL interfaces are exposed on the board, making it possible to hack the device and potentially load your own games.

Click to Enlarge
Click to Enlarge

The other side of the board would really help finding out whether the UART pins are indeed available where I marked them [Update: Correct. NES Classic Hacked, see comments section]. If so, it would still be quite inconvenient to hack the board, as you’d need to connect a USB to serial debug board (normally a couple of dollars) in order to access the terminal, and either copy/paste code, or transfer data to the board. If some of the other connectors are carrying USB signal, it might also be possible to do some hardware hacking to add USB ports.

Software-wise, some references for Allwinner R16 Parrot board can be found in mainline Linux. Allwinner also released Linux based Tina OS for the processor on Github a few weeks ago.

Thanks to Zoobab for the tip.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK Pi 4C Plus
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
34 Comments
oldest
newest
tkaiser
tkaiser
7 years ago

CHIP Pro relies on GR8 (A13 based just like R8 but with minor modifications regarding audio capabilities, this is single Cortex-A8). The R16 seems to be more or less an A33 (quad Cortex-A7) instead.

tkaiser
tkaiser
7 years ago


Is that really eMMC? Seems just a boring 4Gb (512MB) raw NAND? Most likely there’s USB OTG exposed at the other side of the PCB and somehow one can enter FEL mode but why starting to hack such insanely boring hardware?

Ahrlad
Ahrlad
7 years ago

@tkaiser
Well, it’s stylish and will sell millions, while having some very glaring hardware features lacking. People will want to add bluetooth gamepad support, expand the game library, add emulators for other systems… a lot of stuff really.

The hardware is pretty dull, though.

tkaiser
tkaiser
7 years ago


BTW: http://github.com/tinalinux is still there but the only interesting stuff therein is just a new kernel 3.4 drop with some enhancements but more importantly nearly all of the stuff properly licensed (with some exceptions, see issue 1 there)

tkaiser
tkaiser
7 years ago

@Ahrlad
Well, there are A33 based tablets with BT and way more NAND for less than 40 bucks available. If I would start to hack around these would be my target devices instead 😉


Nope, was below tinalinux. I would believe these are different Allwinner business units not knowing/caring about what the others do 🙁 But fortunately that’s not that important as long as we get properly licensed code/blobs to let linux-sunxi devs continue to work.

Roel
Roel
7 years ago

Are the controllers not usb with another connector, just as with the original xbox?

Cheaper solution is lakka.tv, buy a supported dev board (within the near future support for orangepi pc or probably all the H3 boards) en shop with raphnet for all your original controller to usb converters.
If the opi one will be supported it can’t be cheaper!
Maybe if you think it’s worth the money, buy a retrode to connect your old SNES and SMS cartridges to your lakka box.

Harley
Harley
7 years ago

* 4Gb NAND flash (not “GB”?) = 512 MB usable storage only.

Lower “b” verses upper-case “B” makes a huge difference.

Ahrlad
Ahrlad
7 years ago

@Roel
Nah, it’s the same interface as the wii classic controller, no relation to USB.

Ahrlad
Ahrlad
7 years ago

@tkaiser
Yeah I’m not arguing with that, though I likely wouldn’t choose a tablet to hack 😉

I’m just saying lots (and lots) of people will buy these things, have some fun playing the games with their friends, and then try to look for solutions for the hardware limits. Me, I’ve ordered a few extension cords from China, I foresee a pretty big demand for them seeing how the controller cable is like 60 cm or thereabouts 😛

tkaiser
tkaiser
7 years ago

@Roel
Isn’t http://orange314.com/RetrOrangePi comparable to lakka.tv? And isn’t the whole point about Nintendo hardware here that you get the old ROMs in a legal way?

Theguyuk
Theguyuk
7 years ago

Odd they haven’t gone with a game expansion method, very much a sell and walk away, yet with such a back catalogue of games odd business choice?

Oh the fun on Christmas day

” Please note: an AC adapter for the USB cable is required to play the system but is not included in the packaging. “

Roel
Roel
7 years ago

@tkaiser
Didn’t You just propose to hack a A33 tablet 😉

Of course you should use your own roms, therefore I suggest to get yourself a retrode and some controller adapters. Ok, altogether it’s a lot more expensive, but it’s also more “multipurpose”.
Didn’t know about Retrorangepi, thanks for the link.

Terrly
Terrly
7 years ago

These are definitly not UART pins (too far from the SOC), but I’m sure you can get RX/TX with the solder pads located at the upper right of the R16.

XNC
XNC
7 years ago

Free Electrons “added (the) support for the Allwinner R16”

Armer
Armer
7 years ago

Allwinner R16 doesn’t seem to have an HDMI output. Any idea?

naobsd
naobsd
7 years ago

there is UART, at least TX pin (2nd pad from left in red circle mark).
here is output: http://pastebin.com/H7z8TgK4

FEL can be used by press & hold RESET then POWER on.

codekipper
codekipper
7 years ago

@Armer
It has a EP952 next to the HDMI connection which converts video + i2s audio to HDMI.

naobsd
naobsd
7 years ago
tkaiser
tkaiser
7 years ago

@Jean-Luc Aufranc (CNXSoft) Device settings are also known. What a weird device, someone chose a processor that lacks HDMI video/audio, then adds an EP952 HDMI converter to drive it as 1280×720 LCD and to convert I2S to HDMI Audio. Possible but why? Then the SoC used comes with a power management unit but features no battery. Why? Could be used to implement pretty fine-grained dvfs/throttling settings. But by looking at ths_para, cooler_table and dvfs_table it’s obvious that CPU cores clock at up to 1344 MHz@1460 mV, as soon as 75°C are exceeded then it’s 1200 MHz @ 1320 mV and… Read more »

tkaiser
tkaiser
7 years ago

Speaking of tinalinux SDK: Most files there had already proper licenses when released back in August, linux-sunxi community asked what’s up with the few remaining. Allwinner said they want to address this issue and it seems they start to deliver, see Mali400 README.md in fbdev_arm-openwrt-linux_armv7_dma-buf directory.

Morgan
Morgan
7 years ago

To save everyone the trouble of downloading 248MB, here are the contents of the above mentioned Nintendo Classic OSS release:


LVM2.2.02.132.tgz
alsa-lib-1.0.29.tar.bz2
busybox-1.24.1.tar.bz2
clovercon-km-6b883396add00817aa112e0ec4dbc112def803e8.zip
cryptsetup-1.6.8.tar.xz
eudev-3.1.2.tar.gz
ext-luajit-83dda3b07286174de43ee5adb25e7cc5fbe308e3.tar.gz
ext-sdl2-23fb2205dd1044dc0ab0858aaa59af9aebb20d1b.zip
ext-sdl2_mixer-2f88185f477e203619a82d530a31cf72fb076a68.zip
ext-soloud-fed891f0123d9ca70df1e5a3927018216c964f7b.tar.gz
glibc-2.22.tar.xz
kmod-20.tar.xz
libpng-1.6.20.tar.xz
linux-3.4.110.tar.xz
linux-9ed0e6c8612113834e9af9d16a3e90b573c488ca.tar.gz
lzo-2.09.tar.gz
popt-1.16.tar.gz
r16-uboot-fc3061df4dbd4153819b2d2f141d82b88fea51cf.tar.gz
util-linux-2.27.1.tar.xz
zlib-1.2.8.tar.xz

MarkW
MarkW
7 years ago

Maybe the reason for the external EP952 HDMI converter is because Allwinner lacks the proper HDMI pixel clock dividers to reproduce the required Nintendo display timings. I know that their older A10 through A31 could not do 1080p 23.976 or 59.940 HDMI timings for example. Bad display timings would cause dropped or repeated frames which would be very noticeable with most Nintendo games that scroll the screen at fixed NTSC 59.940Hz.

I’m not sure if even the latest Allwinner SoC have proper HDMI support.

tkaiser
tkaiser
7 years ago

Curious whether people start to evaluate an add-on board with the EP952 attached to the DSI connector of this R16 IoT thingie: https://forum.armbian.com/index.php/topic/3251-bpi-r16/

Waluis
Waluis
7 years ago

@tkaiser
Do you have more infos of the ep952?
Can’t find any more infos in web.
Also in your link is no ep952.

theguyuk
theguyuk
7 years ago
Waluis
Waluis
7 years ago

@theguyuk
I am looking for some more specs.
First of all a pinout

theguyuk
theguyuk
7 years ago

@Waluis
Looks like you need to ask suppliers

Khadas VIM4 SBC