If you’ve ever wanted to take a dive into and visualize a game’s code, this could be a seminal example in a literal sense. After twenty-one months of effort, the entire Pokemon Red game is now playable inside Minecraft.
[Mr. Squishy] is the mad genius behind this project, laboriously re-coding the game literally block by block. A texture pack is needed for the specific sprites, but otherwise it is playable without mods. It’s not immediately apparent when loading in to the level, but chip your way through the floor of the stadium and you are confronted by something awe-inspiring: sprawling constructions, like great soaring cliffs, comprising approximately 357,000 command blocks — equating to the same in lines of code. Every animation, tracked stat, attack and their effects, the various pokemon and their properties, and so on are rendered in the game’s physical space for you to wander through.
Beneath that are levels of maps, positional data, properties of those areas, NPCs, and a clever glitch that [Mr. Squishy] used to keep everything loaded at once.
[Dhole], like the fox, isn’t the first to connect his computer to a Game Boy printer but he has done a remarkable job of documenting the process so well that anyone can follow. The operation is described well enough that it isn’t necessary to scrutinize his code, so don’t be put off if C and Rust are not your first choices. The whole thing is written like a story in three chapters.
The first chapter is about hacking a link cable between two Game Boys. First, he explains the necessity and process of setting the speed of his microcontroller, a NUCLEO-F411RE development board by STMicroelectronics. Once the rate is set, he builds a sniffer by observing the traffic on the cable and listens in on two Game Boys playing Tetris in competition mode. We can’t help but think that some 8-bit cheating would be possible if Tetris thought your opponent instantly had a screen overflowing with tetrominoes. Spying on a couple of Game Boys meant that no undue stress was put on the printer.
Chapter two built on the first chapter by using the protocol to understand how the printer expects to be spoken to. There is plenty of documentation about this already, and it is thoughtfully referenced. It becomes possible to convince a Game Boy that the connected microcontroller is a printer so it will oblige by sending an image. Since there isn’t a reason to wait for printing hardware, the transfer is nearly instantaneous. In the image above, you can see a picture of [Dhole] taken by a Game Boy camera.
The final chapter, now that all the protocols are understood, is also the climax where the computer and microcontroller convince the printer they are a Game Boy that wants to print an image. In the finale, we get another lesson about measuring controller frequency without an oscilloscope. If you are looking for the hack, there it is. There is a handful of success in the form of old receipts with superimposed grayscale images since virgin thermal printer paper by Nintendo costs as much as a used printer.
You can’t search for “retro gaming” without hitting a plethora of single board computers attached to all manner of controls, batteries, etc. Often these projects have an emphasis on functionality above all else but [Kite]’s Circuit-Sword is different. The Circuit-Sword is the heart of a RaspberryPi-based retro gaming machine with an enviable level of fit and finish.
Fundamentally the Circuit-Sword is a single board computer built around a Raspberry Pi Compute Module 3. We don’t see many projects which use a Compute Module instead of the full Pi, but here it is a perfect choice allowing [Kite] to useful peripherals without carrying the baggage of those that don’t make sense for a portable handheld (we’re looking at you, Ethernet). The Circuit-Sword adds USB-C to quickly charge an onboard LiPo (rates up to 1.5A available) and the appropriate headers to connect a specific LCD. The Compute Module omits wireless connectivity so [Kite] added an SDIO WiFi/Bluetooth module. And if you look closely, you may notice an external ATMega mediating a familiar looking set of button and switches.
We think those buttons and switches are the most interesting thing going on here, because the whole board is designed to fit into an original GameBoy enclosure. It turns out replacement enclosures are available from China in surprising variety (try searching for “gameboy housing”) as are a variety of parts to facilitate the installation of different screen options and more. One layer deeper in the wiki there are instructions for case mods you may want to perform to make everything work optimally. The number of possible options the user can mod-in are wide. Extra X/Y buttons? Shoulder buttons on the back? Play Station Portable-style slide joysticks? All detailed. For even more examples, try searching the SudoMod forums. For example, here’s a very visual build log by user [DarrylUK].
The case mod instructions are worth a glance even if you have no intent to build a device. There are some clever techniques to facilitate careful alignment of buttons and accurate hole drilling. Predicting their buyers might want a variety of options, [Kite] added reference drill holes in the PCB for the builder to re-drill for mounting buttons or joysticks. To facilitate adding status LEDs externally there is a tiny PCB jig included. There are even instructions for adding a faux game cartridge for the complete look.
If you want to buy one (we certainly do!) [Kite] does group buys periodically. Check out the wiki for links to the right interest form.
The PocketSprite is the tiniest fully-functional Game Boy Color and Sega Master System emulator. Not only is it small enough to fit in your pocket, it’s small enough to lose in your pocket. It’s now available as a Crowd Supply campaign, and it’s everything you could ever want in a portable, WiFi-enabled, fully hackable video game console. It also plays Witcher 3. And probably Crysis, because of the meme.
This has been a year and a half in the making. The first hardware version of the PocketSprite was revealed at the 2016 Hackaday Superconference by hardware engineer extraordinaire [Sprite_TM]. As [Sprite] has a long list of incredibly impressive hardware hacks like installing Linux on a hard drive and building a Matrix of Tamagotchis, he always has to keep pushing deep into the hardware frontier.
In 2016, [Sprite] showed off the tiniest Game Boy ever, powered by the then brand-spankin’ new ESP32. This was released as Open Source, with the hope that a factory in China would take the files and start pumping out mini Game Boys for everyone to enjoy. Now, a year and a half later, it’s finally happened. In a collaboration with manufacturing wizard [Steve K], [Sprite] is the mastermind behind TeamPocket. The pocket-sized Game Boy-shaped emulator is now real. This is our hands-on review.
The original Game Boy is a classic. Sure, it had no backlight, but there is something special about playing on that classic green screen. Unfortunately, some of these older systems are suffering a terrible fate — screen burn. Game Boy’s played best with lots of light — especially out in the sun. But that same sun did terrible things to the screen. A black splotch in the center of the LCD is the telltale sign of a burned Game Boy. You might think that screen replacement is the only option, but [The Retro Future] shows us how to repair this issue.
A reflective LCD is a layer cake made up of polarizers, two panes of glass, and a reflector. The burns often seen on Game Boy screens usually are in the polarizer and the optically clear glue which attaches the plastic polarizer to the glass. We’re guessing these burns happen when someone leaves their Game Boy out in the sun. Between the sun rays directly striking the top polarizer and the rays bounced back from the reflector at the rear of the screen, that poor polarizer doesn’t stand a chance.
Repairing the burn is a delicate operation, as one false move could crack the thin LCD glass. The first step is to carefully peel off the burned polarizer. This leaves a mess of dried glue, which can be scraped off or dissolved with alcohol. A new linear polarizer can then be placed on the front of the screen. [The Retro Future] chose not to glue the polarizer, but we’re betting some UV cure LOCA (Liquid Optically Clear Adhesive) from a cell phone screen protector would do the trick.
At its core the build uses a Raspberry Pi 3, but one that has been shrunk down to the shape of a memory module, known as the Compute Module 3. (We featured the original build by [inches] before, but [Kite] has taken it over since then.) The upgrade frees up precious space in the GameBoy case to fit the custom PCB that was originally built by [Kite], and also eliminates the need to cut up a Raspberry Pi and solder it to the old version of his PCB. The build is very clean, and runs RetroPie like a champ. It has some additional features as well, such as having an HDMI output.
For anyone looking for that retro GameBoy feel but who wants important upgrades like a backlit color screen, or the ability to play PSP games, this might be the build for you. The video below goes into details about how it all fits together. If you’re looking for more of a challenge in your GameBoy hacks, though, there’s an ongoing challenge to build the tiniest GameBoy possible as well.
Wouldn’t you like to go back to a dead handheld and extract the proof of your 90s-era high scores? Of course you would.
[svendahlstrand] bought his first logic analyzer, a Logic 8 from Saleae and decided to play around with an old Game Boy. He opened up the handheld with a tri-point screwdriver and hooked six wires up to the LCD data bus, generating screen shots from the logged data. He got screens from Solomon’s Club, Mole Mania, Kid Dracula, and more.
The first few attempts were fraught with mishap as [sven] worked to figure out the settings of his new analyzer. In one instance he had the DATA 0 and DATA 1 signals reversed, also reversing two of the gray values. After figuring it out he posted his LCD sniffing tutorial to GitHub, where he also has a C program for manually piecing together the screen shots, pixel by pixel.