Nintendo’s Game Boy is legendary for being the meat in the handheld gaming revolution, as well as being nigh-on indestructible whether in the custody of children or soldiers in the Gulf War. However, [Jiri] decided to see if he could whip up a tribute of his own, in brass instead of plastic.
The hardware is based on the Odroid GO emulator firmware for the ESP32, running on a 2.2″ color TFT screen. It’s a great base for a custom build, which avoids gutting any precious classic hardware. It’s then assembled behind front plate milled out of brass, with delicate point-to-point brass wires giving it an artistic circuit sculpture look. The brass did prove difficult to work with at times, acting as a heat sink which prevented easy soldering of the standoffs in place. To get around this, [Jiri] used a hotplate to heat the plate from below, keeping it warm enough so that a hand iron could do the job.
The final result is a fun Game Boy emulator in a stylish case – though one you shouldn’t throw in a back pack lest it short out the exposed conductors. It would make a great gift for any lifelong Nintendo fan. [Jiri] is no strange to circuit sculpture, as we well know – we’ve featured his tools and methods before. Video after the break.
Never underestimate the power of nostalgia. In an age when there are more megapixels stuffed in the sensor of a smartphone camera than the average computer display can even represent, why would jagged images from a 20-year-old grayscale camera with pixels numbering in the thousands still grab attention? Maybe what’s old is new again, and the coolness factor of novelty is something that can’t be quantified.
The surprise I had last Monday when I saw my Twitter notifications is maybe only second to the feeling I had when I was invited to become a Hackaday contributor. I’d made a very simple web app which mimics a Game Boy Camera using the camera from your phone or desktop, and it got picked up by people so much that I’m amazed my web host is still holding. Let’s look at why something seemingly so simple gained so much traction.
The Gameboy is one of the biggest platforms in the chiptune scene. While it’s possible to play a show with a single handheld, many artists choose to use two or even more to fatten their sound and rock the crowd. To ease the workflow of creating songs for such a setup, [tommitytom] created Retroplug and you can see him walk through the features in the demo video after the break.
Retroplug is a VST wrapper for the Sameboy Gameboy emulator. This makes it possible to run multiple emulated Gameboy instances within digital audio software like Ableton or Fruityloops. Rather than having to juggle multiple 30-year old Gameboys and the associated batteries and link cables, instead, it can all be done within a hosted VST window.
Presently, the software works only with 64-bit Windows and VST2, however source is available for those eager to peek under the hood. It fully implements MIDI support for mGB, and works well with LSDJ and Arduinoboy setups. *.sav files are created for each emulated instance too, so when you’re done composing, you can throw your songs onto real hardware when you go out and perform!
In the world of chiptune music there are many platforms to choose from, each with their own special flavour tot heir sound. The Game Boy has a particular following, but it differs from some of its contemporary platforms in having a custom sound chip built into the same silicon as its processor. You can’t crank open a Game Boy and lift out the sound chip for your own synth project, instead you must talk to it through the Game Boy’s Z80 processor. This is something [Adil Soubki] knows well, as he’s completed a project that turns the handheld console into a MIDI synthesiser.
A Game Boy was designed to play games and not as a developer’s toy, so it doesn’t exactly roll out the red carpet for the hacker. He’s got under the console’s skin by mapping a section of its memory address map to the pins on a Teensy microcontroller board, and running some Game Boy code that reads the vaues there and uses them to configure the sound hardware. The Teensy handles the translation between MIDI and these byte values, turning the whole into a MIDI synthesiser. It’s a succesful technique, as can be seen in the video below the break. Best of all, the code is available, so you can have a go for yourself.
When the Game Boy Advance came on the scene in 2001, it was a pretty big deal. The 32-bit handheld represented the single biggest upgrade the iconic Game Boy line had ever received, not only in terms of raw processing power, but overall design. It would set the state-of-the-art in portable gaming for years, and Nintendo was eager to get developers on board.
Which could explain why the official GBA development kit, recently shown off by [Hard4Games], looks like something that was built in a hackerspace. It’s pretty common for console development systems to look more like boxy 1990s computers than the sleek injection molded units that eventually take up residence under your television, but they don’t often come in the form of a bare PCB. It seems that Nintendo was in such a rush to get an early version of their latest handheld’s guts out to developers that they couldn’t even take the time to get a sheet metal case stamped out for it.
All of the principle parts of the final GBA are here, and as demonstrated in the video after the break, the board even plays commercially released games. Though [Hard4Games] did find that some titles from the later part of the handheld’s life had unusual graphical glitches; hinting that there are likely some low-level differences that don’t manifest themselves unless the developer was really digging deep to squeeze out all the performance they could.
The board also lacks support for Game Boy and Game Boy Color games, though this is not wholly surprising. When an older game was inserted into a GBA, the cartridge would physically depress a switch that enabled a special 8080-based coprocessor that existed solely for backwards compatibility. Adding that hardware to a development board would have made it more expensive and added no practical benefit. That said, [Hard4Games] does point out that there appears to be a unpopulated area of the board where the backwards compatibility switch could have been mounted.
The Game Boy doesn’t have dedicated infra-red remote control hardware, instead the IR diodes appear to be connected to I/O lines. Thus the bitstream bas to be bit-banged, and takes the processor’s entire attention when transmitting. The software is neatly placed on a reprogrammed bootleg cartridge.
It’s an interesting read in terms of the approach to reverse engineering, for example finding the parameters of 37 kHz infra-red remote control by trial and error rather than by a quick read up on the subject, or searching for information on National air conditioners and finding nothing, but not searching the National brand itself to find that a search on Panasonic air conditioners would likely give all the information needed. But the end result operates the appliance, so it’s good to record a success.
If a Game Boy was a part of your childhood, you were probably more than once dreaming of spending your entire school day with it. Well, they had to wait a few more years for that, but eventually in 2015, [Asger], [baekalfen], and [troelsy] made that dream reality when they created a Game Boy emulator in Python for a university project. However, it didn’t stop there, and the emulator has since grown into a full-blown open source project, PyBoy, which just reached the version 1.0 release.
Since it started out as an academic project, the three of them had to do their research accordingly, so the background and theory about the Game Boy’s internal functionality and the emulator they wrote is summarized in a report published along with the source code. There is still some work to be done, and sadly there is no sound support implemented yet, but for the most part it’s fully functional and let’s you successfully play your own extracted cartridges, or any ROM file you happen to have in your possession.
Being an emulator, you can also inspect its inner life when run in debug mode, and watch the sprites, tiles, and data as you play, plus do cool things like play the emulation in reverse as shown in the clip below. Even more so, you can just load the instance in your own Python scripts, and start writing your own bots for your games — something’s we’ve seen in action for the NES before. And if you want to dive really deep into the world of the Game Boy, you should definitely watch the 33c3 talk about it.