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.
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.
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.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
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
Ooops… Removed the reference to CHIP Pro. A search must have showed that post, and I did not check it enough…
@cnxsoft
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?
@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.
@cnxsoft
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
Yes, it’s NAND flash: http://www.cypress.com/part/s34ml04g200tfi000.
I could not remember Spansion had been bought out by Cypress either.
@tkaiser
I was convinced it was on Allwinner-zh account before, but maybe not.
@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 😉
@cnxsoft
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.
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.
* 4Gb NAND flash (not “GB”?) = 512 MB usable storage only.
Lower “b” verses upper-case “B” makes a huge difference.
@Harley
Yes 4Gbit.
@Roel
Nah, it’s the same interface as the wii classic controller, no relation to USB.
@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 😛
@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?
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. “
@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.
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.
Free Electrons “added (the) support for the Allwinner R16”
Allwinner R16 doesn’t seem to have an HDMI output. Any idea?
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.
@Armer
It has a EP952 next to the HDMI connection which converts video + i2s audio to HDMI.
@naobsd
Nice.
If people work on this, more info may eventually get to http://linux-sunxi.org/Nintendo_NES_Classic_Edition
@cnxsoft
Updated
@naobsd
Thanks!
NES Classic Edition open source code – http://data.nintendo.co.jp/oss/NintendoEntertainmentSystemNESClassicEdition_OSS.zip
@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 when 90°C are reached/exceeded it’s already 648MHz @ 1040mV.
Well, every cheap H3/H2+ could do better and comes already with HDMI support. Hopefully the development story of this device gets leaked sometimes in the future. Also curious why Nintento’s sources differ so much from freely available tinalinux SDK that has been released at roughly the same time. Most probably subcontractor madness as usual 😉
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.
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
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.
Somebody managed to load some extra games to the console -> https://www.youtube.com/watch?v=Q2c5JLHl56g
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/
@tkaiser
Do you have more infos of the ep952?
Can’t find any more infos in web.
Also in your link is no ep952.
@Waluis
You looking for this?
http://www.epmi.com.tw/sayapro03.php?id=78&t=28
@theguyuk
I am looking for some more specs.
First of all a pinout
@Waluis
Looks like you need to ask suppliers