There are very few legal ways of obtaining ROM files for video games, and Nintendo’s lawyers are extremely keen on at least reminding you of the fact that you need to own the game cart before obtaining the ROM. With cart in hand, though, most will grab a cart reader to download the game files. While this is a tried-and-true method, for GameBoy games this extra piece of hardware isn’t strictly required. [Travis Goodspeed] is here to show us a method of obtaining ROM files from photographs of the game itself.
Of course, the chips inside the game cart will need to be decapped in order to obtain the pictures, and the pictures will need to be of high quality in order to grab the information. [Travis] is more than capable of this task in his home lab, but some work is still required after this step.
The individual bits in the Game Boy cartridges are created by metal vias on the chip, which are extremely small, but still visible under a microscope. He also has a CAD program that he developed to take this visual information and extract the data from it, which creates a ROM file that’s just as good as any obtained with a cart reader.
This might end up being slightly more work especially if you have to decap the chips and take the photographs yourself, but it’s nonetheless a clever way of obtaining ROM files due to this quirk of Game Boy technology. Encoding data into physical hardware like this is also an excellent way of ensuring that it doesn’t degrade over time. Here are some other methods for long-term data storage.
The original Nintendo Game Boy is a stout piece of hardware in a solid plastic enclosure. [Raphael Stäbler] recreated the popular handheld on a breadboard instead, in a fully-functional way, to boot.
[Raphael]’s build doesn’t rely on a real Game Boy CPU or components. Instead it’s emulated with the aid of a Teensy 4.1 microcontroller. [Raphael] coded up an emulator from scratch, instruction by instruction, something he’s documented on his own blog. The Teensy is placed on a breadboard, and hooked up with a series of 8 buttons to serve as the controls. Audio output is via a LM386 acting as a simple audio amp, hooked up with an original Game Boy speaker for more authentic sound. Display is thanks to a FT81x display driver running a small LCD. Games are loaded via an SD card formatted in the FAT32 file system.
While it’s not as ergonomic as the original Nintendo console, it works, and works well! It’s an impressive project to see the Game Boy recreated from scratch inside a powerful microcontroller. We’ve seen other projects go to similar lengths before. Video after the break.
What’s common between one of the most legendary video game characters of all time and a fume extractor ? They both suck. [Chris Borge] is not an electronics hobbyist and only does some occasional soldering. This made his regular fume extractor bulky and inconvenient to position where needed. What could serve him better would be a small extractor that could be attached to a clip or an arm on his helping hand accessory. Being unable to find an off-the-shelf product or a suitable 3d printed design that he liked, he built the Kirby 40mm Fume Extractor.
His initial idea was for a practical design more suited to his specific needs. But somewhere along the way, the thought of a Kirby fan popped up in his head, and it was too good an idea to pass up. Several Kirby fan designs already existed, but none that satisfied [Chris]. Getting from paper sketch to CAD model required quite an effort but the result was worth the trouble, and the design was quite faithful to the original character features. The main body consists of two halves that screw together, and an outlet grill at the back. The body has space for a 40 mm fan and a 10 mm charcoal filter in the front. The wires come out the back, and connect directly to a power supply barrel jack. Arms and eyes are separate pieces that get glued to the body. The feet glue to an intermediate piece, which slides in a dove tail grove in the body. This allows Kirby to be tilted at the right position for optimum smoke extraction.
While Kirby served the purpose, it still didn’t meet the original requirement of attaching to a clip or arm on the helping hand. So [Chris] quickly designed a revised, no-frills model which is essentially a square housing to hold the fan and the filter. It has a flexible stand so it can be placed on a bench. And it can also be attached to the helping hand, making it a more utilitarian design. This design has the charcoal filter behind the fan, but he also has a third design for folks who prefer to have the filter at the front.
He now had a more useful, practical fume extractor, but he couldn’t bring himself to discard his original Kirby. So he printed a couple more 3D parts so that Kirby could fit the end of his vacuum cleaner hose. Now, Kirby sits on his bench, and helps suck up all the bits and bobs of trash on his workbench. We’re sure Kirby is quite pleased with his new role.
The games were crafted using a platform called GB Studio. It’s a tool that allows the drag-and-drop creation of games for the Game Boy and Game Boy Color handhelds. It’s capable of creating ROM files to run in an emulator, within a web page, or they can be flashed to a cartridge and played on real Nintendo hardware.
For the full effect, [Pigeonaut] went with the latter method. Four games were created: Phantom Shock, Climbing Mount Crymore, Cozy Cat Cafe, and A Tiny Hike. Each was flashed onto a real cart and given a high-quality label to make a lovely tangible gift. Upon gifting, [Pigeonaut]’s friends and partner were able to play their way through their personalized titles on a GameCube running the Game Boy Player accessory.
It’s hard to imagine a more touching gift than a personal game crafted from the ground up. Getting to play it on a real Nintendo is even better, and we’ve seen hardware that can achieve that before. Try out the games in your web browser via the links above, or send us in your own cool homebrew hacks to the Tipsline!
If you didn’t grow up clutching Nintendo’s original DMG-01 Game Boy, it might difficult to see the appeal in 2023. It had the ergonomics of a brick, the system’s unlit LCD screen utilized a somewhat nauseating green color palette, and when compared to its contemporary competition like the Sega Game Gear or Atari Lynx, it would certainly appear to be the inferior platform. But despite its faults there was just something magical about the machine, and those who have a soft spot for the iconic handheld are always eager to relive those glory days.
[Sebastian] had a tricky problem to solve. Competitors in a Tetris tournament needed to stream video of their Game Boy screens, but no solution readily existed. For reasons of fairness, emulators were right out, and no modifications could be made to the Game Boys, either. Thus, [Sebastian] created the GB Interceptor, a Game Boy capture cartridge.
Thanks to the design of the Game Boy, there’s plenty of access to useful signals via the cartridge port itself. [Sebastian] realized that a non-invasive capture device could be built to sit in-between the Game Boy and a cart, and send video to a computer. Unfortunately, there’s no direct access to the video RAM via this port, but [Sebastian] figured out a nifty workaround.
The build uses a Raspberry Pi Pico. The chip’s two cores emulate the Game Boy’s CPU and Picture Processing Unit, respectively. Doing this, while having the chips keep up with what’s going on in the Game Boy, required overclocking the Pico to 225 MHz. The system works by capturing data from the cartridge’s memory bus, and follows along with the instructions being run by the Game Boy. By doing this, the Pico is able to populate its own copy of the video RAM. It then spits this out over USB, where it can be displayed and streamed online as desired.
There are some edge-case limitations, but for its intended purpose, the system works great. Currently, the hardware is usable on Linux and Windows, though it does require some fiddling in the latter case. Files are on Github for those eager to build their own. If you simply want to dump carts rather than stream from your Game Boy, we can help there, too. Video after the break.
The method starts by running custom code on the Game Boy, delivered by flash cart. That code loads itself into RAM, and then waits for the user to swap in a cart they wish to dump and press a button. The code then reads the cartridge, byte by byte, sending it out over the link port. To capture the data, [Francis] simply uses a Saleae logic analyzer to do the job. Notably, the error rate was initially super high with this method, until [Francis] realised that cutting down the length of the link cable cut down on noise that was interfering with the signal.