Interest in retro gaming has been on the rise lately, with classic games having been re-released via emulation and remakes. We've seen officially licensed mini consoles, classic collections with loads of bonus features, and even updated versions of consoles with new features, like the Analogue Nt. After all, if you're looking to play the classic carts that you picked up at last weekend's flea market (or spent way too much for on eBay), you need a console to play them on. As systems get older, working original hardware has been getting harder and harder to find.
Dan Gilbert of Tall Dog Electronics decided to address that challenge head-on by creating a modern version of the original Nintendo Entertainment System (NES) for retro gaming fans. Named the TinyNES, or Tiny Nostalgia Evocation Square, the system was designed by Gilbert, and it doesn't use emulation. Although the majority of the TinyNES hardware is new, the system uses the original CPU and GPU chips from Nintendo's 8-bit powerhouse.
The TinyNES makes a few improvements on the toaster-style NES that we all grew up with in North America, but by and large, it sticks to the original functionality. This means that Gilbert promises crystal-clear mono audio and composite video, but don't expect save states or HDMI output. The TinyNES aims to provide an experience that is as close to the original as possible.
One nice touch is that Gilbert plans to make all of the TinyNES schematics open source in the near future. This means that folks who want to improve upon Gilbert's design or add fancy new features will be able to do so. Gilbert even planned ahead by socketing the CPU and GPU instead of soldering them on. If there is ever a TinyNES v2 or a variant from another creator, you can easily swap the brains into the new system.
The TinyNES is due to ship this May. Gilbert is currently taking orders through January 27 via the Crowd Supply website. He also took some time out of his schedule earlier this month to talk to us about the TinyNES in a bit more detail.
WorthPlaying: When it comes to playing NES games, we're spoiled with choice. While original hardware may be difficult to find, there are plenty of clone systems on the market. What made you decide to enter the fray with TinyNES?
Dan Gilbert: The TinyNES didn't start out with a business strategy. It started like most of my projects do, as something that I was curious about and an excuse to design something! Shortly before I started working on it, I encountered two things that were new to me. One was a scan of a Famicom factory schematic. The other was the technique of using PCB panels to fabricate custom enclosures. Over time, it became a fun exercise to refine, and eventually, it seemed like something that other people might want.
There are many ways to play NES games, but very few of them are open-source hardware, and I thought that by releasing the design, that would differentiate it from other options. It seems like an open-source implementation could be an opportunity for people who are new to hardware or electronics to see exactly how all the pieces fit together. When I encounter interesting hardware, this is always the information I want, but most of the time, it's not available. With open hardware, anyone can immediately pull up the schematic, the board layouts, the bill of materials, all the part numbers, all the hardware bits, etc. Even proprietary electronics used to come with manuals full of this info, but not anymore.
WP: System-on-a-chip, FPGAs, and emulators: All of these are options when playing NES games. Nintendo went the emulator choice when it released the official NES mini a few years back. Did you consider any of these before deciding on using the original chips?
DG: The TinyNES emerged from my curiosity about the original system design, so there wasn't ever a point where it could have been anything else! I was aware of the Analogue Nt, which was expensive and already out of production, so that was in the back of my mind. I thought the NES Classic was a disappointment because it's not really a miniaturized version of the original system; it's a miniaturized imitation of the original system. It works, and it's fun, but it's not really concerned with what's on the inside, and the Classic seems like just another emulator in a box, with extra limitations beyond other emulators. I suppose the TinyNES kind of ended up turning into my response to the NES Classic. I wanted a real system (whatever that means).
WP: Speaking of the original design, why not take the time to add some common options? There's no RGB option. No HDMI. No Bluetooth. Just controllers, analog video, and mono audio, much like the original "toaster" NES. Was this an intentional design choice? Or was it one of necessity?
DG: I'm not trained in electronics, so I've learned everything I know on my own, and this field is still relatively new to me. I learn best when I have a specific goal, so it was important for me to keep my goals achievable, and I wanted a working system. When I started, I had no idea how to address RAM or how circuit boards were manufactured, I didn't know what a composite analog video signal was, or why someone might want RGB video output instead. But I did know that by keeping things as close to their origins as possible, I wouldn't be creating an overwhelming number of problems for myself all at once. A crystal with the right frequency isn't made anymore, so what can I use instead? Video output looks noisy, so what can I do to improve it? This chip variant is plentiful, so how can I make use of it? This way I got to solve little problems one at a time, and that let me actually learn some new things without getting completely discouraged.
I don't pretend to know how to intercept the PPU signaling with an FPGA to derive native RGB output (like the closed-source NESRGB does). And sadly, I can't learn from the NESRGB because it's not open source. That's okay, but it makes it less interesting to me. When I saw the Famicom schematic, that was like getting a peek at the inner workings of an otherwise black box, and that's what got me interested. In the future, I'd love to add RGB and HDMI and more. If I do, then I'll do so in a way that the next person who comes along can learn how they work just by looking at the design.
WP: One physical change we can see from the design is the rotation of the controller ports. While it doesn't affect most controllers, it does mean the NES Satellite four-player adapter is not compatible. What drove this change?
DG: When I first started, I didn't know anything about the four-player adapter. I had never encountered one before! I didn't have an NES of my own, growing up. You don't know what you don't know, and so this wasn't even a design consideration for a long time. This has been mostly a solo project, so I know there are blind spots, even if I don't know what all of them are.
The concern is space at this point, since rotating the controller ports would make the console a lot thicker. We do want to support the four-player adapter, so we're planning to do that by offering a pair of short (adorable) controller extension cords. Hopefully this solution is elegant enough for the moment.
WP: Another physical change is the lack of an expansion port on the bottom of the unit. Does this mean the additional Famicom audio channels are enabled on the cartridge pins? Will TinyNES be able to play the extended music channels in FDS games or Famicom carts that used custom music chips (like Castlevania III: Dracula's Curse)? Or is it limited to the same music channels that were available in the NA NES?
DG: One of the benefits of being a small operation is that we can rapidly add features to the design. I've added FC expansion audio support in the last few weeks! The new changes route audio from the EXP6 pin to the internal audio mix. A custom Famicom cart adapter will also be included for free for all campaign backers, which also routes FC audio to this pin. In addition, after getting some feedback from NES audio folks, we've also added a 3.5 mm TRRS jack that carries all three discrete audio channels, unmixed.
WP: The TinyNES has sockets for the CPU and PPU. Is there any reason someone would want to swap those out if they are using original chips? If someone buys a TinyNES with the cheaper clone chips, is it a simple matter of removing them and replacing them with an original CPU and PPU if they want to upgrade down the line?
DG: The CPU and PPU chips are, by far, the most valuable individual components in the system! They're a non-renewable resource. Everything else is easily obtainable or manufacturable. Sockets allow these rare components to be installed non-destructively, so if the TinyNES main board ever receives a new feature, like RGB or HDMI for example, it'll be pretty cheap and easy to replace the main board and just move the chips over. This decouples them from the rest of the system, allowing them to retain their value, or be used for something else in the future. Clone chips can easily be swapped out for genuine chips, or vice versa. All the systems are otherwise identical.
WP: Because you are using original CPU/PPU chips for most of the TinyNES consoles, does that mean original NES and Famicom systems had to be sacrificed? Or were these chips sourced from non-working units?
DG: No functioning systems were harmed! The vast majority of chips were purchased as new old stock from distributors. A small number of genuine chips were desoldered from damaged or non-working Famicom boards.
WP: Your crowdfunding page mentions that the third-party PowerPak flashcart is incompatible. While you probably haven't had a chance to test every single NES game and accessory, have you run into any notable games or official accessories (other than the Satellite) that didn't quite work right? Will things like the light gun, the power pad, and R.O.B. all work with TinyNES?
DG: We're still working on PowerPak compatibility actually, mostly because I'm stubborn. Every other physical game we've tried has worked, as well as the EverDrive N8. We're in the process of testing other flash cart models too. I expect wide accessory compatibility but haven't been able to test most hardware accessories yet. If anyone who buys a TinyNES is unhappy for whatever reason, including an accessory compatibility issue, and wants to return it (undamaged, within a few months), we'll happily refund them. As time goes on, we plan to maintain a list of any known compatibility issues, if necessary.
WP: Your company, Tall Dog, appears to be focused on custom music hardware. Did you ever consider making an add-on, or a hardware modification, to TinyNES to target chiptune musicians?
DG: Yes, I've definitely thought about this! I wish there was time to do everything. We're currently having someone test compatibility with their MIDINES cart.
WP: The TinyNES design does not have a lockout chip. Does that mean it will play PAL games correctly? Or it is limited to NTSC games only due to differences in video processing?
DG: The TinyNES has a 21.477272 MHz master clock, which is typical for an NTSC system, so any cart that depends on CPU timing will be affected by this. This could cause some PAL region games to glitch or not work, depending on how they were programmed. In theory, it'd be pretty straightforward to make a PAL version of the TinyNES that uses PAL timing and chips. We're in the United States, so we don't have any PAL equipment lying around.
I recently had an interesting idea: I wonder what would happen with an RP2A07 chip combined with the 1.25x CPU clock multiplier. This would result in an internal 1.67791188 MHz CPU clock, which is really close to the ideal 1.662607 MHz CPU clock of a PAL system. I don't have any RP2A07 chips, so I can't try it. I have no idea if this would actually work, but it makes me wonder. Hopefully someone can try it. The video output would still be NTSC, of course.
WP: TinyNES has additional SRAM due to the fact that bigger chips are cheaper. Does this just go unused, or could homebrew developers take advantage of it if they wanted to?
DG: All the unused address pins are grounded, so there's no practical way for a homebrew developer to take advantage of it. It wouldn't be a good idea anyway because their work would only run properly on the TinyNES and not on anything else. However, maybe a hardware developer could use the extra memory to implement some kind of feature. I feel like this would be hard to do without interfering with the proper functioning of the system, but a lot of developers are much cleverer than me.
WP: After launch, the TinyNES design files are going to be made open source. Anything you're hoping to see from the community in terms of updates or improvements once you release the files? Or is this just your way of giving back to retro gaming fans?
DG: Most of all, I want people who are curious and new to hardware to have a way to explore how a device like this is designed and put together. I'd also really like to see the development of a true open-source RGB video output solution. HDMI would be nice, simply for convenience, and I've already started working on this. Finally, getting the PowerPak working would just make my day.
WP: Anything we haven't asked that you wanted to add?
DG: Thanks so much! It means a lot to me that you reached out.
More articles about TinyNES