Tricking Duck Hunt to See A Modern LCD TV as CRT

A must-have peripheral for games consoles of the 1980s and 1990s was the light gun. A lens and photo cell mounted in a gun-like plastic case, the console could calculate where on the screen it was pointing when its trigger was pressed by flashing the screen white and sensing the timing at which the on-screen flying spot triggered the photo cell.

Unfortunately light gun games hail from the era of CRT TVs, they do not work with modern LCDs as my colleague [Will Sweatman] eloquently illustrated late last year. Whereas a CRT displayed the dot on its screen in perfect synchronization with the console output, an LCD captures a whole frame, processes it and displays it in one go. All timing is lost, and the console can no longer sense position.

[Charlie] has attacked this problem with some more recent technology and a bit of lateral thinking, and has successfully brought light gun games back to life. He senses where the gun is pointing using a Wiimote with its sensor bar on top of the TV through a Raspberry Pi, and feeds the positional information to an Arduino. He then takes the video signal from the console and strips out its sync pulses which also go to the Arduino. Knowing both position and timing, the Arduino can then flash a white LED stuck to the end of the light gun barrel at the exact moment that part of the CRT would have been lit up, and as far as the game is concerned it has received the input it is expecting.

He explains the timing problem and his solution in the video below the break. He then shows us gameplay on a wide variety of consoles from the era using the device. More information and his code can be found on his GitHub repository.

Continue reading “Tricking Duck Hunt to See A Modern LCD TV as CRT”

Cracking The Sega Saturn After 20 Years

When it was released 20 years ago, the Sega Saturn was by far the most powerful video game console available. It was a revolutionary device, had incredible (for the time) graphics, and a huge library of IP Sega could draw from. The Saturn was quickly overshadowed by the Sony Playstation, and soon these devices found themselves unused, unloved, and fetching high prices on the collectors market.

After finding a Sega Saturn on a trip to Japan, [jhl] decided he would like to write some code for this machine. Unlike earlier consoles, where Flash cartridges are readily available, or later consoles, where writing directly to the on-board storage is easy, bringing up a development environment for the Saturn isn’t easy. The best method is installing a mod chip and working off of burned CDs. Instead of writing a game or two for the Saturn, [jhl] got distracted for a few years and developed an optical drive emulator.

cracking-the-sega-saturn-thumbAccording to [jhl], the design of the Sega Saturn is tremendously complicated. There’s an entire chip dedicated to controlling the CD drive, and after some serious reverse engineering work, [jhl] had it pretty much figured out. The question then was how to load data onto the Saturn. For that. [jhl] turned to the internal expansion port on the Saturn. This internal expansion port was designed to accept an MPEG decoder card for playing video CDs on the Saturn, but the connector presents the entire bus. By attaching a Game Boy Flash cartridge, [jhl] was able to dump the ROM on the CD controller.

With a little bit of work, a fast ARM microcontroller, and a CPLD for all the logic glue, [jhl] was built an adapter to push CD data to the Saturn through this internal expansion port. Not only is this a boon for homebrew Saturn development, but this build also completely replaces the CD drive in the Saturn – a common failure point in this 20-year-old machine.

The formal release for this ultimate Saturn crack isn’t out yet, but it’s coming shortly, allowing anyone who still has a Saturn to enjoy all those very blocky games and develop their own games. You can check out a short, amateur documentary made on [jhl]’s efforts below.

Continue reading “Cracking The Sega Saturn After 20 Years”

Upgrade The Graphics On A Sega Game Gear To Mental

[Nino K] built a portable game player for text adventures. He decided he had spent enough time with the ATmega328 kit from NerdKits to build a more advanced project.

To start with, he built a prototype PCB and tested out the concept. It worked so he began on the real thing. He tore out the guts from a broken Game Gear, saving some parts like those responsible for supplying power. Impressively, he etched his own replacement boards for the Game Gear’s control pads; surprising himself at how simple it ended up being. He fit a 16×4 LCD into the space previously occupied by the Game Gear’s screen.

The program itself is a simple text adventure of his own creation. He even added little 8-bit sprites. The story is classic, a princess has gotten herself in some trouble and a brave hero has been coerced into saving her. Last, he added some music and sound effects from Zelda with a piezo buzzer.

This project is guaranteed to disappoint a visiting younger cousin or relative, but we like to think of that as a feature and not a bug. Great work!

3 Billion Devices And A Sega Genesis Run Java

A few years ago, [Mike]’s friend gave him an old Sega Genesis with the very cool and somewhat rare SegaCD drive attached. The SegaCD gave him an idea – while it’s not easy to burn a cartridge and play homebrew games on a real Genesis console, everyone has a CD burner somewhere. [Mike] began writing his demo and then realized adding Java would be easy on the 68000. The result is Java on three billion devices and a Sega Genesis.

This project is built around Java Grinder a Java byte code compiler that will compile classes, factories, and all the horrible Java into assembly language. Already, there are a lot of platforms supported by Java Grinder, including the Commodore 64, the TI99, and thanks to some work from [Joe Davisson], the Apple IIgs

With a byte code compiler, an assembler, and an API for the Sega-specific hardware, [Mike] set about building his demo. Since this was a Sega, it needed the ‘SEGA’ sound at the start. [Mike] ended up recording his voice saying ‘JAVA!’ This plays through the Z80 on the Genesis.

The complete demo – viewable in its emulated format below – has everything you would expect from a proper demo. Starfields, dancing sprites, and even a Mandelbrot pattern make it into the three-minute long demo.

Continue reading “3 Billion Devices And A Sega Genesis Run Java”

Winning the Console Wars – An In-Depth Architectural Study

From time to time, we at Hackaday like to publish a few engineering war stories – the tales of bravery and intrigue in getting a product to market, getting a product cancelled, and why one technology won out over another. Today’s war story is from the most brutal and savage conflicts of our time, the console wars.

The thing most people don’t realize about the console wars is that it was never really about the consoles at all. While the war was divided along the Genesis / Mega Drive and the Super Nintendo fronts, the battles were between games. Mortal Kombat was a bloody battle, but in the end, Sega won that one. The 3D graphics campaign was hard, and the Starfox offensive would be compared to the Desert Fox’s success at the Kasserine Pass. In either case, only Sega’s 32X and the British 7th Armoured Division entering Tunis would bring hostilities to an end.

In any event, these pitched battles are consigned to be interpreted and reinterpreted by historians evermore. I can only offer my war story of the console wars, and that means a deconstruction of the hardware.

Continue reading “Winning the Console Wars – An In-Depth Architectural Study”

It’s a Sega It’s a Nintendo! It’s… Unique!

Before the days of the RetroPie project, video game clones were all the rage. Early video game systems were relatively easy to duplicate and, as a result, many third-party consoles that could play official games were fairly common. [19RSN007] was recently handed one of these clones, and he took some pretty great strides to get this device working again.

The device in question looks like a Sega Genesis, at least until you look closely. The cartridge slot isn’t quite right and the buttons are also a little bit amiss. It turns out this is a Famicom (NES) clone that just looks like a Sega… and it’s in a terrible state. After a little bit of cleaning, the device still wasn’t producing any good video, and a closer inspection revealed that the NOAC (NES-on-a-Chip) wasn’t working.

Luckily, [19RSN007] had a spare chip and was able to swap it out. The fun didn’t stop there though, as he had to go about reverse-engineering this chip pin-by-pin until he got everything sorted out. His work has paid off though, and now he has a video game system that will thoroughly confuse anyone who happens to glance at it. He’s done a few other clone repairs as well which are worth checking out, and if you need to make your own NES cartridges as well, we’ve got you covered there, too.

RetroPie Meets Game Gear, Again

If you’re a fan of video game systems of yesteryear then you are probably familiar with RetroPie. For those who aren’t, RetorPie is a collection of software and video game emulators that can run on a Raspberry Pi. The package makes it easy to get your fix of old games without having to own a bunch of consoles or loose your breath blowing on cartridges.

[brooksyx] already had a broken Game Gear, Raspberry Pi and a 4.3 inch LCD screen kicking around so he thought it would be a good idea to put them together into a handheld RetroPie. Clearly, the new screen was not going to fit in the old screen’s place. The Game Gear’s case was cut and the bezel from the new LCD screen was epoxied in place, gaps filled and finally sanded.

RetroPie Game Gear


The screen is not the only modifications done to the case. Down on the bottom right of the case front [brooksyx] added 4 buttons for the N64 C-buttons. Out back the battery compartments and cartridge slot were filled in.

This project isn’t done yet and we are excited to see how it comes out. If you’re digging this RetroPie portable, you may like this Game Gear with an unmodified case or this large-screened Game Boy.