Hackaday Prize Entry: A Pic32 Game Console

The official theme of the 2015 Hackaday Prize is to build something that matters. Solving the challenges facing the world is hard, and retro video games, despite what you read on Hackaday, do not matter.

That doesn’t mean there’s not space for the weird, esoteric builds out there; we have a best product prize that will dump $100k, a six month residency in the Hackaday Design Lab, and contacts with a lot of engineers with expertise in manufacturing. [Alex]’s extremely ow cost game console on a Pic32 is exactly what this prize category is looking for.

[Alex]’s project – XORYA – is based on the Pic32MX170F256, a chip that runs up to 50MHz, has 256kB of flash, and a full 64k of RAM. This is far beyond what the guys at Atari imagined back in the 70s, allowing the XORYA to have some amazing graphics.

Right now most of the build is dedicated to fleshing out the video system, and [Alex] has a great demo: rendering the Mandelbrot set in real time in 16 colors on an NTSC display with a resolution of 160×100. That’s a single-chip game console that’s right up there with the Uzebox, and a great example of the potential of the best product category for this year’s Hackaday Prize.

The 2015 Hackaday Prize is sponsored by:

Building A Modern Retro Console

There are a few dozen classic re-imaginings of classic game consoles, using hardware ranging from the ATMegas of the Uzebox to everyone’s favorite, stuffing some ROMs on a Raspi and calling it a day. You don’t necessarily learn anything doing that, which puts [Mike]’s custom game console head and shoulders above the rest.

The build started off as a plan for a Z80 computer with a dual ATMega GPU. He progressed far enough in the design where it would have been a masterpiece, but the inability to mill double-sided boards at home killed the design. Plans then moved on to an FPGA, then to an ATMega with the Analog Device AD725 PAL/NTSC encoder chip. That idea had a similar architecture to the Uzebox, but [Mike] wanted more power. He eventually settled on a PIC32 with the AD725.

This setup was capable of pumping out some impressive graphics, but for moving bits to a screen, you need DMA. [Mike] ran into a problem where the DMA timer runs at a maximum rate of 3.7 MHz. It’s a problem documented in a few projects, leading [Mike] to change his plan once again, this time to the STM32F4.

The bugs are worked out, and now [Mike] can stream a whole lot of pixels to a screen while still having some processing power left over to play a game. It’s a project that’s more than a year and a half old at this point, and so far he’s learned a lot.

A PC Engine to TurboGrafx-16 Converter

The PC Engine was pretty popular in Japan, but only the coolest kids in America had the US edition, the TurboGrafx16. These two systems weren’t exactly the same; the TurboGrafx-16’s data bus was flipped so the games were made to be incompatible, and the US games have a region lockout. [Kaz] looked at the existing hacks for running Japanese games on US systems, and every single one of them required modding a console. Thinking he could do better, he came up with the PC-Henshin, an adapter and CPLD that allows Japanese game to run on US consoles.

To take care of the mixed up lines on the PC card connector between the US and Japanese variants, a few adapter cards are available. That’s great, but they only solve one part of the compatibility problem. The region lockout routine found on nearly every American title mean PC Engine consoles can’t run TurboGrafx-16 games. [Kaz] used a small, cheap CPLD to read the data bus, patch everything as it is read out, and turns a Japanese console into something that can play American games.

Video below.

Continue reading “A PC Engine to TurboGrafx-16 Converter”

The BlueOkiris Gameduino Console


[Dylan] created an easy to make gaming console with an Arduino Uno, a makeshift button, an analog stick, and a TFT LCD touchscreen shield. Plus, he fashioned together a simple button with some duct tape.

So far, he has made 2 games. One is the infamous Pong. The other is a ‘Guess the Number’ type experience. The whole project is run within the code, and does not access the bootloader directly like you would with 2boots or a regular Gameduino adapter.

Build instructions can be found on [Dylan]’s hackaday.io project page (linked above). Essentially, all that is needed is to gather up the supplies, then take the button and analog stick and complete a circuit, fitting the open wires into the slots at digital pin 9. Solder the wires in place and connect ground to ground, 5v to 5v, x to A4, and y to A5. Add the TFT shield, insert a micro SD card, and upload a game.

To see it in action, check out the video after the break:

Continue reading “The BlueOkiris Gameduino Console”

Demystifying NTSC Color And Progressive Scan


Black and white NTSC is simple – it can, and was, done with vacuum tubes for a long, long time. Color is just weird, though. It runs at 29.976 frames per second, uses different phases of the carrier for different colors, and generally takes a while to wrap your head around. [Sagar] is doing a series on the intricacies of NTSC, and the latest post deals with color and progressive scanning versus interlacing, or as it is better known, how classic game consoles and home computers generate video.

The test bed for [Sagar]’s video experimentations is a circuit containing an ATMega16, a 4-bit shift register, and a 14.31818 MHz clock. This clock is much faster than the 3.579545 MHz clock in an NTSC carrier frequency – exactly four times as fast – allowing the shift register to output four different phases of the carrier frequency a 0°, 90°. 180°, and 270°. Playing with some of the pins on the ATMega in the circuit results in a palette being generated on any old TV.

NTSC requires interlaced scanning, or sending an entire screen of even lines, then an entire screen of odd lines, at around 60 fields per second. The Nintendos and Segas of yesteryear didn’t bother with this, instead opting to send half the vertical resolution at double the frame rate. This is known as a progressive scan. [Sagar] found that this resulted in some image artifacts when displayed on a modern LCD, and moving back to an interlaced mode fixed the problem. All the code and files are up on the gits. If you’re feeling adventurous, this is exactly how projects like the Uzebox have created homebrew game consoles using little more than the ATMega found in [Sagar]’s build.

Hackaday Links: March 16, 2014


Tape decks are fertile hacking ground. In this offering from [Erich] the speed of the motor has been turned into a MIDI instrument. Drive it faster and the pitch rises, slower and it falls. There are all kinds of other magnetic tape hacks around here, this tape delay is a classic.

[Dbever] needed a reason to use a big 7-segment display module. He opened up the drill press at his Hackerspace, Pumping Station One, and added a sensor which shows the RPM of the drill on the display. Hackaday was lucky enough to be invited for a tour of the space last fall.

There’s a lot of hype about 3D printing… and rightly so since it’s the radest; which is even better than being “the most rad”. But if you don’t have access to one that shouldn’t stop you. Here’s an example of making robot parts using polymorph instead of 3D printing (or laser cutting) them.

If you’re living in the east-coast metroplex and are unable to travel to Maker Faire Bay Area this Spring you can still get in on some live hacking. Check out MassHack which takes place the same May weekend but in Boston instead of San Fran.

Blimps; not as cool as quadcopters but orders of magnitude less likely to go down in flames (as it were). Draw some inspiration for your own build from silent_runner. The graceful travel of these lighter-than-air-craft make for an interesting camera platform. Here’s a POV video inside of a church, and some shots from the ground while in the woods. [Thanks Oliver]

We try not to pimp crowd-funding campaigns just for the sake of getting them to the goal. But we hope you’ll agree that the Gamebuino we saw a few months back makes a strong argument for backers. Their Indiegogo for the Arduino-compatible handheld gaming rig is over half-way there after just a couple of days.

Gamebuino: A Handheld Arduino Gaming Console Ready for Prime Time


[Rodot] wrote in to tell us about the Gamebuino, a very nicely designed and easily reproducible version of his handheld Arduino gaming console. We originally featured [Rodot’s] Arduino based gaming console over a year ago.

With the Gamebuino, you too can build your own games and gaming hardware around the Arduino. While there is a lot of information currently missing from the site’s Wiki, such as the layout and game code, [Rodot] plans on making everything open source. The console includes a rechargeable lithium battery, a micro SD card, and I2C expansion connectors. This is one project to keep an eye (and two hands) on, especially since a full game library is going to be provided, letting you easily create your own games. See what the console can do in the demo video after the break.

It would be amazing so see some old Game Boy games ported to run on the Arduino, or maybe one of our readers can make an Game Boy emulator for the Arduino!
Continue reading “Gamebuino: A Handheld Arduino Gaming Console Ready for Prime Time”