Steady Hand Brings GBA Cart Back From The Grave

The flash chips used in Game Boy Advance (GBA) cartridges were intended to be more reliable and less bulky than the battery-backed SRAM used to save player progress on earlier systems. But with some GBA titles now hitting their 20th anniversary, it’s not unheard of for older carts to have trouble loading saves or creating new ones. Perhaps that’s why the previous owner tried to reflow the flash chip on their copy of Golden Sun, but as [Taylor Burley] found after he opened up the case, they only ended up making the situation worse.

A previous repair attempt left the PCB badly damaged.

When presented with so many damaged traces on the PCB, the most reasonable course of action would have been to get a donor cartridge and swap the save chips. But a quick check on eBay shows that copies of Golden Sun don’t exactly come cheap. So [Taylor] decided to flex his soldering muscles and repair each trace with a carefully bent piece of 30 gauge wire. If you need your daily dose of Zen, just watch his methodical process in the video below.

While it certainly doesn’t detract from [Taylor]’s impressive soldering work, it should be said that the design of the cartridge PCB did help out a bit, as many of the damaged traces had nearby vias which gave him convenient spots to attach his new wires. It also appears the PCB was designed to accept flash chips of varying physical dimensions, which provided some extra breathing room for the repairs.

Seeing his handiwork, it probably won’t surprise you to find that this isn’t the first time [Taylor] has performed some life-saving microsurgery. Just last year he was able to repair the PCB of an XBox controller than had literally been snapped in half.

Continue reading “Steady Hand Brings GBA Cart Back From The Grave”

GBA Gets Homebrew USB Charging Upgrade

Sure there are pre-made kits to add a rechargeable battery and USB-C compatibility to Nintendo’s venerable Game Boy Advance, but [HorstBaerbel] thought he could throw together something similar for a fraction of the price. Plus, he wouldn’t have to wait on shipping. The end result might not be quite as polished, but it’s certainly impressive for what’s essentially a junk bin build.

The star of the show is the popular TP4056 lithium-ion charger module. [HorstBaerbel] went with the more common micro USB version, but these boards are also available with USB-C should you want to embrace the future. The module fits nicely inside the original battery compartment while while still leaving room for a 1,000 mAh pouch cell. The 4.2 V output of the fully charged battery is a bit too high for the Game Boy’s liking, so he used the forward voltage drop of a diode to bring it down to a more acceptable 3.5 V.

Naturally this does waste a good deal of energy, especially compared to the DC-DC converters used in commercial offerings like the CleanJuice, but it still delivers a respectable seven hours of runtime. The only issue with this modification seems to be that you’ve got just five minutes to save your progress and shut down when the GBA’s low-battery light goes on; but what’s life without a little excitement?

While not nearly extreme as some of the other GBA modifications we’ve seen over the years, this project is yet another example of the seemingly unlimited hacking potential of Nintendo’s iconic Game Boy line.

Nintendo’s GBA Dev Board Could Pass For Modern DIY

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.

The development board doesn’t like later GBA games.

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.

Hackers have always been enamored with the Game Boy, so it’s fitting to see that the official development kit for the final entry into that storied line of handhelds looked a lot like something they could build themselves. If anyone feels inclined to build their own “deconstructed” GBA in this style, you know where to find us.

Continue reading “Nintendo’s GBA Dev Board Could Pass For Modern DIY”

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”