Breadboarding A Game Boy From Scratch

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.

Continue reading “Breadboarding A Game Boy From Scratch”

Kirby Sucks, Literally

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.

Continue reading “Kirby Sucks, Literally”

Java Is Now On The Nintendo 64!

Whether it’s your favorite programming language, or your favorite beverage, there’s no denying Java is everywhere. Now, it’s even on the Nintendo 64, thanks to the valiant efforts of [Mike Kohn]. Even better, he’s coded a demo to show off its capabilities!

The project took plenty of work. [Mike] went all the way down to the assembly level to get Java code running on the N64. The project builds on the work that he did previously to get Java running on the PlayStation 2. Notably, both the Sony and Nintendo consoles do have some similarities — both are based on MIPS CPUs.

The demo itself is a work of art. It features the typical “3 billion devices run Java” screen, followed by some truly chunky bass and wailing guitar sounds. It’s followed by all the dancing shapes, sinusoidal text, and bright colors you could shake a stick at.

For those interested in the nitty gritty, [Mike] delves deep into the details of what it took to get everything running. That includes both using the code in an emulator, as well as how to get it going on real Nintendo hardware, something we’ve looked at before.

Continue reading “Java Is Now On The Nintendo 64!”

DIY Game Boy Games Make The Perfect Christmas Gift

Sometimes, the best gift is the one you make yourself. [Pigeonaut] decided to whip up a few Game Boy games of their very own creation to gift to the special people in their life.

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!

GB Interceptor Enables Live Screen Capture From Game Boy

[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.

Continue reading “GB Interceptor Enables Live Screen Capture From Game Boy”

Ultimate Game And Watch Has Support For NES

We’ve talked about feature creep plenty of times around here, and it’s generally regarded as something to be avoided when designing a prototype. It might sound good to have a lot of features in a build, but this often results in more complexity and more difficulty when actually bringing a project to fruition. [Brendan] has had the opposite experience with this custom handheld originally designed for Game and Watch games, though, and he eventually added NES and Game Boy functionality as well.

As this build was originally intended just for Game and Watch games, the screen is about the size of these old games, and while it can easily mimic the monochrome LCD-style video that would have been present on these 80s handhelds, it also has support for color which means that it’s the perfect candidate for emulating other consoles as well. It’s based around a Raspberry Pi Zero 2W and the enclosure is custom printed and painted. Some workarounds for audio had to be figured out, though, since native analog output isn’t supported, but it still has almost every feature for all of these systems.

While we’ve seen plenty of custom portable builds from everything from retro consoles to more modern ones, the Game and Watch catalog is often overlooked. There are a few out there, but in this case we appreciate the feature creep that allowed this build to support Game Boy and NES games as well.

TEGA: Typescript Embedded Game Boy (Macro) Assembler

[Francis Stokes] has a real love for the original Game Boy, suggesting that owning this machine pushed him along a certain path that many of us would recognize. Developing Game Boy games isn’t particularly difficult from a hardware point of view, as you can easily buy special cartridges that have an SD card slot, allowing custom code. [Francis] had the idea of easy software development by producing a typescript hardware abstraction library, TEGA (or TypeScript Embedded Game Boy Macro Assembler). This provides a safe environment in which to play with the code, which can then be run inside an emulator such as BGB, before being deployed onto actual hardware.

The video embedded below — which we warn you now is a long one — goes into extensive justification and technical explanation of how [Francis] leverages typescript to create lots of nice features to produce safe code, whilst handling many of the Game Boy’s architectural restrictions, as well as the weirdness of the Sharp SM83 processor that powers it. We particularly liked the built-in support for on-the-fly asset compression, since every byte matters in the meager 32 Kb system, it’s nice not to have to think about it all the time! After discussing TEGA, the Game Boy hardware, the ins and outs of a demo game Block Jump, and then how to debug with BGB, we’re pretty confident many of you will be in a strong position to bust out a Game Boy application in the future!

As an aside, we did also stumble upon a new hardware guide provided by Finnish programmer and Game Boy superfan [Joonas Javanainen] which will help frame some of the topics [Francis] was talking about.

You may recall a little while back, the same author targeted the RISC-V using code written in typescript. After all, when you’re comfortable with a tool, you can shape it to do practically anything.

Continue reading “TEGA: Typescript Embedded Game Boy (Macro) Assembler”