Building A Slimline Portable NES

Emulation of classic consoles has long been a solved problem. It’s now possible to run thousands of vintage games on a computer the size of a stick of gum, and to do so with all the benefits emulation brings. [M-Parks] isn’t the biggest fan, however – and decided to build a slimline NES handheld instead. The goal was to produce a portable NES in as compact a package as possible.

Things have come a long way in the handheld console modding scene in the last ten years. 3D printing has largely replaced vacuum forming, and it’s no different here. [M-Parks] modeled up a case and sent it off to be 3D printed in PLA, somewhat mimicking the general layout of the original Game Boy. It’s a little larger, but given that it accepts full-size original NES carts, it can only be so small.

A Retro-bit NES-on-a-chip console was used to provide the motherboard and cartridge connector for the build. Rounding this out is a power supply from Adafruit, an LM386 audio amplifier, as well as a digital volume control which is a nice touch.

While such a build may sound daunting to the absolute beginner, all it takes is a soldering iron, some hot glue, and a willingness to have a go. There’s nothing wild or groundbreaking about this build, but to dwell on that would be missing the point. [M-Parks] now has a portable NES to play on those long train rides, and learned some great skills doing it –  a solid result for any project!

If you’re keen on seeing another take, check out [Dave]’s build from a few years back.

 

A Steady Hand Makes This Chip Work Again

What do you do when you’re working with some vintage ICs and one of the tiny legs pops off? That’s what happened to [Kotomi] when working with an old Super Nintendo. A single lead for the sound chip just snapped off, leaving [Kotomi] one pin short of a working system (the Google Translatrix). This is something that can be fixed, provided you have a steady hand and a rotary tool that’s spinning at thousands of RPM.

Fixing this problem relies on a little bit of knowledge of how integrated circuits are built. There’s a small square of silicon in there, but this tiny die is bonded to a metal leadframe, which looks like the ribcage of a robotic centipede. This leadframe is covered in epoxy, the pins are bent down, and you have an IC. Removing just a tiny bit of epoxy grants access to the leadframe which you can then solder to. Don’t breathe the repair, it’s not pretty, but it does work.

While this technique makes use of a Dremel to break into the chewy nougat center of a vintage chip, and in some ways this could be called decapsulation, it really isn’t. We’ve seen people drop acid to get to the center of a chip and a really hot torch will get to the middle of a ceramic chip, but this technique is just accessing the lead frame of the IC. All ICs have a stamped (or photoetched) metal frame to which the silicone die is bonded. Running a Dremel against some epoxy doesn’t access the silicon, but it does grant access to the signals coming off the chip.

FPGA NES Looks Sharp On Perfboard

FPGAs are wonderful things, packed with logic cells that can be reconfigured as your heart desires. They excel at signal processing, anything requiring speed, and recreating vintage hardware. In that vein, [Jon Thomasson] decided to bring back the original Nintendo Entertainment System, in perfboard form.

The build uses a Spartan 6 from Xilinx, which [Jon] uses in the form of his own development board design. The NES core is courtesy of code by [Brian Bennett], sourced from Github. Games are loaded from an SD card by a Parallax Propeller, which passes the data to the FPGA over a serial connection. Display is on a sharp 800×480 LCD, with the 4:3 video output of the NES being displayed in a pillarboxed fashion.

The project is assembled on perfboard, with a pleasing handheld formfactor. Control is via tactile pushbuttons in the classic NES layout. Current draw is approximately 400 mA, giving a runtime of around 5 hours when running off four AA batteries.

We’ve seen the venerable NES implemented on FPGA platforms before. As development boards get cheaper and devices get more capable, expect to see ever more complex systems being implemented. Video after the break.

Continue reading “FPGA NES Looks Sharp On Perfboard”

RetroPie NES Clock Tells You When It’s Game Time

We’ve all seen the 3D printed replicas of classic game consoles which house a Raspberry Pi; in fact, there’s a pretty good chance some of the people reading this post have one of their own. They’re a great way to add some classic gaming emulation to your entertainment center, especially compared to the bare PCB chic of just having a Pi hanging off your TV’s HDMI port.

[Victor Heid] loved the look of these miniature consoles, but wanted to challenge himself to design something that was also multi-functional and unique. So he decided to create an NES-inspired case for the Raspberry Pi 3 A+ that doubles as a LED matrix clock with a decidedly retro feel. Frankly, even if it was just a clock we would have been impressed with the final product; but the fact that it’s also a fully functional RetroPie build really goes above and beyond.

It should be obvious just looking at the completed product that [Victor] put a lot of effort into sanding and finishing the 3D printed case. But we don’t have to imagine the process, since he was kind enough to thoroughly detail the steps and materials he used. As you might have guessed, the short version is a lot of filler and a lot of time; but it’s worth looking at the complete write-up if you’ve ever considered trying to make your own printed parts look less…printed. His method of applying the lettering on the front of case using a laser printer, some Mod Podge, and a healthy dose of patience is also something you might want to file away for a future project.

The electronics for this project are exceptionally simple, as [Victor] used the Pimoroni Scroll pHAT HD rather than trying to roll his own LED matrix in such a limited space. So it was just a matter of connecting up the wires to the Pi’s GPIO header and getting the various bits of software talking to each other, which he also details for anyone who might be interested.

It’s been a few months since the Raspberry Pi 3 A+ was unveiled, and we’re finally starting to see projects that make use of the new board’s reduced footprint. The ability of hardware like the A+, combined with the lackluster attempts by manufactures to produce official “mini” systems, seems to have set the stage for hackers to once again outshine commercial offerings. Not that we’re complaining, of course.

NES On RISC-V

RISC architecture might change the world, but it runs an NES emulator right now. That’s thanks to MaixPy, the new MicroPython for the K210, the recently released RISC-V microcontroller that’s making waves in the community. [Robot Zero One] has the tutorial and [Other Dave] of EEVBlog has a video of the thing in action.

The Sipeed K210 came to the English-speaking world in the form of a weird pre-order thing on Taobao last October promising a dual-core RISC-V CPU for just a few bucks. Seeed, the same people who brought the ESP8266 into mass distribution quickly latched on and started selling modules last February. Now, Seeed is looking at a Raspberry Pi hat using a Sipeed module, and the future for RISC-V microcontrollers is looking great. Now someone just needs to write some software. That’s exactly what the engineers at Sipeed did, and somewhere in one of the released binaries there’s an NES emulator.

The parallel to the question of if something can run Doom is if something can run an NES emulator, so with the release of MicroPython support for the K210, the obvious thing to do is to release an NES emulator. The hardware required is a Maix M1w Dock, available from Seeed and Banggood.

The new support for MicroPython is great, and an NES emulator is amazing, but this should really come as no surprise. From our first hands on with the first Open Source microcontroller two years ago, RISC-V was obviously faster. Now it’s cheap, and we can’t wait to see what’ll come next.

Continue reading “NES On RISC-V”

New Game, Old Ways: Cramming An NES Game Into 40 KB

Why would anyone bother to create new content for a console system that’s staring down its 40th birthday? Perhaps just for the challenge of fitting a game into 40 kilobytes of storage.

That at least seems to be the motivation behind [Morphcat Games] pending release of Micro Mages, a new game for the Nintendo Entertainment System console that takes its inspiration from Super Mario Bros. The interesting bit here is how they managed to stuff so much content into so little space. The video below goes into great detail on that, and it’s a fascinating lesson in optimization. The game logic itself is coded in assembler, which of course is far more efficient than higher level languages. Even so, that took 32 kB of ROM, leaving a mere 8 kB for background elements and foreground sprites.

Through a combination of limited sprite size, tiling of smaller sprites to make larger characters, and reusing tiles by flipping them horizontally or vertically, an impressively complete palette of animated characters was developed. Background elements were similarly deconstructed and reused, resulting in a palette of tiles used to generate all the maps for the game that takes up just 60 bytes. Turning those into playable levels involves more mirroring and some horizontal shifting of tiles, and it looks like quite an engaging playfield.

Yes, there’s a Kickstarter for the game, but we’re mainly intrigued by what it takes to cram a playable game into so little space. Don’t get us wrong – we love the Retro Pie builds too, but seeing the tricks that early game developers relied upon to make things work really gets the creative juices flowing.

Continue reading “New Game, Old Ways: Cramming An NES Game Into 40 KB”

AI Bot Plays Castlevania So You Don’t Have To

We’re not allowed to have TV here in the Hackaday Wonder Bunker, but occasionally we’ll pool together the bandwidth credits they pay us in and gather ’round the old 3.5 inch TFT LCD to watch whatever Netflix assures us is 93% to our liking. That’s how we found out they’ve made a show based on, of all things, one of the Castlevania games for the NES. We wanted to play the game to understand the backstory, but since it hails from the era of gaming where primitive graphics had to be supplemented with soul-crushing difficulty, we didn’t get very far.

But thanks to a very impressive project developed by [Michael Birken] maybe we’ll have it all figured out by the time we’ve saved enough credits to watch Season 2 (no spoilers, please). The software, which he’s quick to point out is not an example of machine learning, is an attempt to condense his personal knowledge of how to play Castlevania into a plugin for the Nintaco NES emulator. The end result is CastlevaniaBot, which is capable of playing through the original Castlevania from start to finish without human intervention. You can even stop and start it at will, so it can play through the parts you don’t want to do yourself.

[Michael] started this project with a simple premise: if he could make a bot successfully navigate the many levels of Dracula’s castle, then getting it to kill a few monsters along the way should be easy enough. Accordingly, he spent a lot of time perfecting the path-finding for CastlevaniaBot, which included manually playing through the entire game in order to get an accurate map of the background images. These images were then analyzed to identify things like walls and stairs, so the bot would know where it could and couldn’t move protagonist Simon Belmont. No matter what the bot is doing during the game it always considers where it is and where it needs to be going, as there’s a time limit for each stage to contend with. Continue reading “AI Bot Plays Castlevania So You Don’t Have To”