ESP32 Refines Game Boy Bluetooth Adapter

Last year we brought word of a project from [Shyri Villar] that turned a stock Game Boy Advance into a Bluetooth controller by exploiting the system’s “multiboot” capability. The prototype hardware was a bit ungainly, but the concept was certainly promising. We’re now happy to report that the code has been ported over to the ESP32, making the project far more approachable.

To clarify, the ESP32 is now the only component required for those who want to play along at home. Just five wires connect the microcontroller to the GBA’s Link Cable connector, which is enough to transfer a small ROM over to the system and ferry user input to the Bluetooth hardware. Even if you aren’t interested in using it as a game controller, this project is an excellent example of how you can get your own code running on a completely stock GBA.

While the original version of the hardware was a scrap of perfboard dangling from the handheld’s expansion connector, reducing the part count to one meant [Shyri] was able to pack everything into a tidy enclosure. Specifically, a third party GBA to GameCube link cable. This not only provides a sleek case for the microcontroller that locks onto the handheld with spring loaded tabs, but also includes a male Link Cable connector you can salvage. It looks as though there’s a bit of plastic trimming involved to get the ESP32 to fit, but otherwise its a very clean installation.

The GBA will be 20 years old soon, but that doesn’t mean the hardware and software exploration is over. The original Game Boy is over 30, and people are still giving talks about it.

The Multiyear Hunt For A Gameboy Game’s Bug

[Enddrift] had a real problem trying to run a classic game, Hello Kitty Collection: Miracle Fashion Maker, into a GBA (Gameboy Advance) emulator. During startup, the game would hit an endless loop waiting for a read from a non-existent memory location and thus wouldn’t start under the emulator. The problem is, the game works on real hardware even though that memory doesn’t exist there, either.

To further complicate things, a similar bug exists when loading a saved game under Sonic Pinball Party. Then a hack for Pokemon Emerald surfaced that helped break the case. The story is pretty interesting.

Continue reading “The Multiyear Hunt For A Gameboy Game’s Bug”

Booting The Game Boy Advance Into Bluetooth

While it might not be quite as revered as its predecessor, the Game Boy Advance is arguably the peak of “classic” handheld gaming, before things got all 3D and dual screen on us. One of its best features is the so-called multiboot mode, which allows the GBA to download a program from its link port. Officially this feature was introduced so you could play multiplayer with your friends even if they didn’t have the game cartridge, but naturally it didn’t take long for hackers to realize you can use it to run arbitrary code on an unmodified system.

[Shyri Villar] has put this capability to excellent use with a plug-in board that allows a stock GBA to be used as a general purpose Bluetooth HID controller. Now you can emulate GBA games on your computer while using the real thing as your input device. Or if that’s a bit too redundant for you, then any 2D game you think could benefit from the classic Game Boy control layout.

An ATmega328P on the board initiates the multiboot sequence when the system powers up, and feeds it the GBA program that’s stored on a W25Q32 chip. Once the code is running on the GBA, it communicates with a common HC-05 Bluetooth module through the same link port. To perform this handoff, [Shyri] uses a HCF4066 switch IC to literally change the pin assignments in the connector from the SPI used to upload the ROM to the UART lines of the Bluetooth module.

With everything powered from the 3.3 V provided by the GBA’s link port, and some software niceties like the ability to store Bluetooth pairing information for subsequent device connections, this is actually a very practical gadget. The fact that you can do this on a completely stock GBA is very compelling, especially considering some of the previous Bluetooth Game Boy modifications we’ve seen. Granted the market might be somewhat limited, but with a custom PCB and a 3D printed enclosure, we could see this potentially being a popular accessory for the classic handheld. It’s not like it can be any more niche than using the GBA as a remote display for your multimeter.

FPGA Brings Arduboy To The Game Boy Advance

Hackaday readers are perhaps familiar with the Arduboy, an open source handheld gaming system that aims to combine the ease of Arduino development with the seething nostalgia the Internet has towards the original Nintendo Game Boy. While not quite the same as getting one of your games published for a “real” system, the open source nature of the Arduboy platform allows an individual to develop a game playable on a commercially manufactured device.

While the Arduboy hardware itself is actually quite slick, that hasn’t stopped people from trying to bring its games to other pieces of hardware. Now thanks to the efforts of [uXe], the Game Boy Advance is well on its way to becoming Arduboy compatible, in a way bringing the whole project full circle. Assuming this gadget becomes a commercial device (it sounds like that’s still up in the air), Arduboy developers will be able to proudly play their creations on the final and objectively best entry into the Game Boy line.

Getting to this point has been something of an adventure, as documented in a thread from the Arduboy forums. Members of the community wondered what it would take to get Arduboy games running on a real Game Boy, but pretty quickly it was decided that the original beige brick model wasn’t quite up to the task. Eventually its far more capable successor the Game Boy Advance became the development target, and different approaches were considered for getting existing games running on the platform.

While there were some interesting ideas, such as using the GBA’s link port to “feed” the system games over SPI, in the end [uXe] decided to look into creating an FPGA cartridge that would actually run the Arduboy games. In this scenario, the GBA itself is basically just being used as an interface between the FPGA and the human player. In addition to these low-level hardware considerations, there was considerable discussion about the more practical aspects of bringing the games to the new hardware, such as how to best scale the Arduboy’s 128 x 64 output to the GBA’s 240 × 160 screen.

As demonstrated in the videos after the break, [uXe] now as all the elements for playing Arduboy games on the GBA in place, including the ability to disable full screen scaling by using the shoulder buttons. Now he just needs to shrink the hardware down to the point it will fit inside of a standard GBA cartridge. Beyond that, who knows? Perhaps the appeal of being able to run Arduboy games on a real Game Boy is enough to warrant turning this hack into a new commercial product.

Thanks to a hardware swap we’ve seen Arduboy games played on the Dreamcast VMU, and [uXe] himself previously grafted Arduboy-compatible hardware into an original Game Boy, but being able to play these games on an unmodified Game Boy Advance obviously has its own appeal. At the very least, it will be a bit more ergonomic than using a hacked classroom gadget.

Continue reading “FPGA Brings Arduboy To The Game Boy Advance”

HDMI Out On The Gameboy Advance

The Gameboy line of handheld systems from Nintendo have been wildly popular, but lack one major thing – a video output. This can be troublesome if you’d like to view the games on a bigger screen, for more comfortable gaming sessions or detail work like producing chiptunes. One option is to use the Gameboy Player for the Gamecube, however that system’s age means you’re out of luck if you want a crisp, clear picture on a modern digital display. Wouldn’t it be great if you could get HDMI output from a Gameboy Advance Instead?

A family resemblance?

When it comes to working with video signals, FPGAs can’t be beat. [Stephen] leverages an FPGA in this project to read the GBA’s video signals and convert them to the modern digital format. Unfortunately, it’s not a seamless install – limited space means the GBA’s screen must be entirely removed, replaced with the adapter in a manner resembling the terrifying Facehugger.

Packaging aside, the output from the device is nothing short of stunning – the graphics are absolutely crystal clear when displayed on a modern HDMI television. This is because the FPGA is capturing the exact digital output from the GBA, and piping it out as HDMI – there’s no analog fuzziness, conversions or noise to spoil the image. Output is a tasty 1280×720, upscaled from the GBA’s original resolution. For more details, check out the forum thread where [Stephen] runs through the build.

The only thing missing  is details – we’d love to know more about the exact hardware used, and any trials and tribulations during the build! As far as we can tell, the build doesn’t stop at just video – a SNES controller is used instead of the original buttons, and we have a feeling sound is being passed over the HDMI channel as well sound is piped to the TV from the GBA’s headphone port.

It’s great to see these projects for old hardware come out – modern hardware has the muscle to achieve things previously unthinkable on retro consoles. We’ve seen similar projects before – like adding VGA to an original Game Boy.

Continue reading “HDMI Out On The Gameboy Advance”

GameBoy Advance Rapid Fire Hack

Ever find yourself in the middle of a Game Boy game and your hand cramps up?  Save that sore wrist for something else because now you can hack the Game Boy Advance to add Rapid Fire for the B button.  [William] has developed a way to do this by creating a simple circuit that generates a square wave on the B button when it is pressed.  To do this hack all that was needed was a short shopping list of:

  • A Couple NAND Gate ICs
  • 2n2222 NPN Transistor
  • 0.1uF ceramic capacitor
  • A Switch
  • 1M ohm resistor
  • Some Thin Wire

After that you’re off to the races as [William] documents how he goes about transforming the Game Boy Advance and includes a ton of great pictures and a schematic.  This operation ends with [William] placing the switch for Rapid Fire excellence next to the Right Bumper where it is inconspicuous and yet easy enough to access.

Via [HackedGadgets]

GBA Emulator Ported To Didj

Tired of messing with the hardware of the Didj you picked up? Now you can use it for gaming on that last road trip of the summer. A Game Boy Advanced emulator has been ported for use on both the Didj and the Explorer. You’ll have to dig up a copy of the original bios for a GBA as well as some ROMs, but the rest seems pretty straight forward. We are still holding out hope for Doom or Quake on the Didj, but this will help us wait a bit longer.

[Thanks Nirvous via Rosincore]