In the secret Hackaday bunker, we have some emacs users, some vi users, and some people who don’t really care. However, even the staunchest of our emacs supporters had to do a double take at [Vreeze’s] project that creates a GameBoy emulator using the venerable text editor. You can see [Alexei Nunez’s] reaction to the emulator in the video below.
The Eboy uses unicode characters to output the graphics. You can use emacs commands to load ROM images and use your keyboard to control the game.
Back in 2016, a rig was constructed with three Gameboys. With each console having 3 oscillators and a noise channel, this gave plenty of scope. There was even a facility to detune the oscillators for a fatter sound.
Yet there remains a universal human philosophy – more is always better. In this vein, the plan is to create a monster machine consisting of 48 Gameboy consoles. This offers a somewhat maddening 144 oscillators and 48 noise channels to play with. The plan is to produce a massive synthesizer capable of producing incredibly thick, dense tones with up to six note polyphony.
The hardware side of things is at once simple and ingenious. Buttons on the consoles are connected together for remote control using ribbon cables and transistors. System clocks for the consoles are provided by a LTC1799 oscillator chip, which allows the clock to be modulated for audio effects. Initial tests with up to six Gameboys running from a single clock source have been remarkably successful.
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.