54 comments

[ 2.1 ms ] story [ 103 ms ] thread
Based on the package markings, it looks like the CPU was actually lifted from a GBA SP PCB. This makes sense, of course, and neatly side-steps a bunch of potential issues around firmware, bringup, etc.

I know the author says "the CPU is taken from a GBA SP" in the text, but that could also have meant taken from the design as opposed to the specific physical part having been taken.

As you said, it would be more trouble than it's worth to use, say, an FPGA in place of an original AGB-CPU part. Additionally, our part of the community has an appreciation for the original hardware and components; it's more about being able to rescue parts from damaged PCBs and/or push those original components beyond what Nintendo settled on.
Definitely! Obviously it does increase the complexity of the project for others, knowing that you need a donor system from which to desolder key components. But it's great to end up with a product that's the real system running real cartridges and not a Linux computer running emulation.

That said, it's cool that projects like MiSTer exist, and I could imagine that that might be a nice middle-ground for some people— being closer to the real hardware than purely software emulation, but also something that can also be built from scratch with new, off-the-shelf components.

> Non-SP GBA has problems: AA batteries, buttons are mushy, unlit screen, bad power delivery causing noisy audio

Impressive project and hacking aside, the the original DS and the DS Lite (which both support GameBoy Advance cartridges) addresses most of these concerns.

Do those two systems address the power delivery and noisy audio?

I think they do, but they're also a different form factor, and the screen is taller meaning that GBA games end up letterboxed. It's perfectly usable, but I can understand someone wanting to build a device to deliver an optimized "native" GBA experience.
Not to mention that IMO, AA batteries are an asset on vintage portable electronics. The last thing I need is to search for overly expensive, and possibly already dead, battery packs on eBay when mine turns into a spicy pillow. AA batteries are much easier to acquire, and can be rechargeable to reduce environmental impact.
I actually prefer the AA batteries. I've built several custom Game Boy Advances and Colors. My favorite unit is a GBA I built in an aluminum chassis, which necessitated an upgrade to a built-in rechargeable battery. Being able to top off the battery with a USB-C cable is convenient, but I know the battery will no longer hold a charge in a few years or so and will have to be replaced. I've kept the original battery compartments on all my other Game Boys, because I know rechargeable AAs will be easy to find for the foreseeable future.
I imagine 18650 cells will also be easy to find for the foreseeable future.
Available, maybe, but not at the same level of ubiquity as AA.
Ubiquity isn't the requirement here, since the use case under discussion isn't buying pre-charged batteries at the local brick and mortar store, but merely easy sourcing of a replacement rechargeable battery when the existing one will no longer hold a charge. 18650s are certainly commoditized enough to fulfill that purpose, unlike proprietary LiPo packs.
In theory yes, but they are quite a bit larger than AAs, so a significant redesign of the shell and battery compartment would be needed to accommodate them. They would also make the handheld bulkier and heavier. Meanwhile, these devices are already designed to accept AA batteries.
How difficult is it to integrate a AA battery recharger into the design? That'd be the best of both worlds, as all you need is the (5V) power pins from the USB cable to charge.
I am always amazed to see my advance sp still turning on with its original battery. I seriously doubt any replacement battery would come close to this.
The 3DS CPU would also support GBA cartridges, if there were any place on the console to plug them in.

It's kind of amusing, actually — Nintendo didn't intentionally support GBA in the 3DS. But they supported DS in the 3DS the same way that the DS supported GBA: by embedding the previous generation's CPU, as is, within the die of the new CPU. Which means that inside the 3DS's CPU is a DS CPU; and inside the DS CPU mask they reused for this, there is a GBA CPU. Which is fully functional. You tell the 3DS CPU to reboot into DS mode; then tell the DS CPU you're now talking to to reboot into GBA mode; and there you go, you're now talking to a GBA CPU.

Nintendo eventually did realize what they had done, and released a few special limited-run GBA "Virtual Console" games. (But those games aren't emulated; they run natively!) You can use Nintendo's own GBA firmware to run your own GBA ROM images natively on a 3DS, if you like—though I don't think Nintendo's GBA firmware supports things like a Real-Time Clock, so you're better off using a GBA emulator there.

But the potential is clearly there for someone with skills like the OP here to lift the CPU out of the 3DS onto its own PCB with a GBA card-edge socket, and then write a GBA firmware for said CPU that actually interacts with it.

(comment deleted)
Yep, and GBA uses the DMG/GBC's Z80 for extra audio capabilities. Unfortunately Nintendo gutted the Z80 except for audio in the DS. If they had left the full Z80 it would have allowed the DS to play DMG/GBC games we could have a handheld (n3DS) that could natively play every Nintendo handheld game ever made.

The n3DS is still a dreamy piece of hardware.

The Game Boy ran at 5 volts. The Game Boy Advance ran at 3.3 volts. That's a very good reason they removed backwards compatibility of the OG Game Boy starting with the DS (and Game Boy Micro).
The GBC ran on 2x AA (nominal 3 V), same as the GBA. GBA could also play DMG/GBC games no problem.
GBC carts run at 5V. If you compare the edges of GB/GBC and GBA carts you'll see a cutout on the side. The cutout is there so GBA carts don't trigger the switch that puts it into 5V mode for use with GBC games. DS lacks the switch and parts to run 5V carts.
The project page goes over the improvements to power delivery and audio output, so not sure what else you're referencing here.

Also remember that the AGB's audio is pretty garbage for what it should theoretically be capable of; it certainly doesn't have an SNES-level (edit: sound capability). Zekfoo has done quite a bit here to maximize its potential, and the results are far better than the piling on of many additional capacitors that other modders have experimented with to mixed results.

Ultimately, nobody's stopping anyone from playing AGB carts in a DS if that's what you want to do. (Don't look up "Game Boy Macro" mods.)

"certainly doesn't have an SNES-level FM synth."

the snes soundchip plays samples.

My bad, wires crossed (heh). Point is it's still not quite as capable.
They do, but you lose the backwards compatibility with the original Game Boy. That's a big reason the DS line is not as valued.
> [Why redesign...] Its screen is unlit.

Oh wow, I'd forgotten until now, but I had a plug-in (USB type B I think) LED light on a stiff but flexible cord for my GB Colour. Funny to think about now, reading and typing this on my backlit phone.

Back when the GBA was still newish, I bought and installed a front-light kit for mine. After that mod, the display was still utterly terrible and useless for fast-moving games like Sonic and Metroid, but at least you could SEE it.

(I still have this GBA and loan it out to my kids on long car drives. It sounds like its tour of duty is coming to an end, however, as my oldest is saving up for a Switch.)

The Afterburner kit[1]? I installed a small number of those for friends back in high school, was good fun. I remember the scariest moment while working on a friend's device was accidentally ripping off one of the buttons' contact pads while trying to solder onto it, and having to carefully scrape away the paint over a nearby trace to solder onto instead. He never knew :)

[1] https://www.gameboy-advance.net/accessories/gba_afterburner_...

Was it a worm light? https://www.amazon.com/Light-Illumination-Nintendo-Gameboy-C... Lot of fond memories of that thing. Come to think of it, I'd love something with the same style for a book light...
Similar - in my memory it has a bit smaller of a head, less lamp shaped, and not coiled. (But possibly I just extended it and used it so much it lost the coil!)

This sort of colour, and the translucent GBC case that probably helped me on my way to interest in EE too: https://goldenshop.com.hk/AI-trad/IMAGES/m_wormlight.jpg

> FunnyPlaying IPS V2 display

How are the colors on this replacement display? With GBA the colors are kinda complicated topic because AGS-101 colors are very different from the original AGS-001, to the point where games can end up looking over-saturated and cartoonish.

Yeah, their website is way too light on details. A common problem with GBA replacement screens is the resolution of 160 by 144 leads to rectangular pixels, which is a big no no.

I dug around and found a reference to a problem with the screen's buffer causing visual tearing. That screen is a no-go for me. The Analogue Pocket is still the display king.

The AGB's resolution is 240x160. The panel used is new-old-stock or reproduction equivalent from the BlackBerry Curve 9380: a 480x360 panel, which allows the AGB adapter to output a 2x integer-scaled 480x240 image.

When playing a DMG or CGB game, the image is still 2x but otherwise the image and behavior comes from the stock AGB hardware: a default scale places a 160x144 image in the center of the display, and pressing the L and R buttons allow you to toggle between that native mode and a horizontally stretched mode (that basically nobody likes).

The tearing existed in the initial version of the adapter ribbon, as the 9380's display driver refreshes the display in portrait rather than the AGB's landscape. The second revision of the adapter, which started shipping only a couple months after the initial, way back in 2019, adds a 1-frame buffer to output the signal in the way that the display driver expects. The AGB's frame rate is a hair under 60Hz, so this does introduce a 16ms delay, but in the vast majority of AGB games this drawback is outweighed by all of the other benefits.

They're more accurate to what we would recognize as the RGB value on a modern device, as opposed to accurate to the classic AGB display—or "over-saturated and cartoonish."

Some people like this, others don't. I sense you might know this, but for others' reference, some later AGB games have settings to optimize colors for AGB/AGS-001 or AGS-101 displays. That's sort of the best we have unless new adapters are released that allow for additional configuration, like some of the recent Game Boy Color kits utilizing the BlackBerry Q5 displays.

There's another kit released by FunnyPlaying recently that utilizes new old stock of the lower display of the DSi. They perform similarly to the 101 displays, which to your point are still more saturated and RGB-accurate but still not as much as the BlackBerry 9380 displays used in the IPS v2 kit.

This is nice but I always preferred the clam shell GBA. I would like an update of that.
That's the GBA SP they refer to in:

> Growing up with a GBA SP, I was spoiled by its clicky buttons, rechargeable battery, and illuminated screen. When I finally got my hands on an original GBA, I couldn’t be more disappointed by the stark difference in feel and function.

I agree the SP is just a miles better form factor in every way. I sunk hours and hours into playing games on mine.

No schematics are to be found...
Behavioral standards within the Game Boy modding scene aren't great. Lots of other PCB projects (reverse engineering and original boards alike) have been stolen with credit stripped; novice end users demand Apple-level support for hobbyist projects regardless of what level of support the creator is able to provide, and for these full console PCB projects many people overestimate their ability to perform the necessary soldering (ask me about my OEM AGB firestarter...actually please don't).

None of these issues are unique to this scene but it's what we have to deal with. I'm not expressing this so that it can be debated, because I don't represent everyone's thoughts, but there is a fair amount of regular self-critique around these issues and our approaches.

This is so cool, I'd order one if it were ever possible to manufacture them for a reasonable cost. Like many people, the GBA has a special place in my heart - in my case, envy because I wasn't allowed to have one, until I finally got an SP.

I wonder how much of this would have been possible (at a higher price point) when the GBA itself was designed. Probably quite a bit, but I bet the cost would have become prohibitive given the market.

(comment deleted)
There are 80MB of images on this page, you really need to downsample those JPGs.

Even with a large enough downstream, Github is understandably throttling connections.

I'm getting about half that count for the entire page. Doubt Github cares about serving 40 MBs of files over the web, that's what they do. User experience might not be greatest on a slow connection though but then again what are you going to do here if not look at the redesigned electronics in detail anyways.

In some ways it's actually somewhat refreshing to be actually served source quality content in such a presentation in the days where aggregated platforms heavily compress things for mass consumption.

Just yesterday, Zekfoo published his CGZ board project, taking a similar approach to the Game Boy Color's PCB. It's much less involved—the AGZ project is partially about fitting an Advance SP board's features into the classic Advance—but still neat if you're into this kind of thing.

https://github.com/Zekfoo/CGZ

Very nice to see my work get recognized outside of the Reddit/Discord community. I have to admit, it was weird seeing the traffic for my AGZ repo spike higher than the CGZ repo that I just released.

Feel free to ask me any questions about this or the CGZ, I'll answer anything that's not a variation of "will you be releasing/selling it?" :)

Amazing work my friend. Not to be rude or intentionally ask about what you said not to, but I haven't heard anything about you selling or releasing or anything. Is there an official statement from you about all of that? It's your work so you can do whatever you want with it, I'm just curious.
I suppose if I put the rule out there, it's bound to be broken hah.

I have no plans to sell or open-source these two projects. They were passion projects of mine and while I understand everyone and their mothers who've come across them would like to try building them, I made this for myself. The Reddit posts and Github repos are just for me to share my achievements and enjoy the 15 minutes of fame I get among the retro modding community, and hopefully they inspire someone else to make something of their own.

I've already had a few run-ins recently with people who can't respect these wishes and feel entitled to get a slice of the pie.

Totally understand. No intention of building, but I am working on a project of a similar scale (very different context) and would be curious if you're available for contract work. (ie, review my work for best practices, etc.) Given no other way to contact you but publicly here, I've posted a FR on Discord, if you are interested :)
Had a blast reading through this and your CGZ work. Nice job!

Can you post the schematics? I'm really curious on how you changed things (LCD bias, debounce circuit, etc.)

Also, can you post a pic of the back with components populated, outside of the case?

Thanks!!

Glad you enjoyed them! Photos of both populated boards, both sides, should be available on the repos (if not embedded on the main README, check the Images/ folder).

I won't be sharing the schematics, though if you have any specific questions about something, I can try to answer as best I can.

RE: LCD bias - I mentioned in my AGZ writeup that the stock bias voltages aren't required when using the IPS displays, this also applies to the CGZ. This is because the LCD kits that I use have all the bias voltage circuitry built-in on their flex PCB adaptors, so I only needed to supply 3.3V/5V from my boards.

RE: Debounce circuit - Since the stock power switches carry the full system current, they can cause issues when they bounce due to dirty switch contacts. I redesigned the power switch circuit to instead use a high-side load switch implemented using a PFET with an RC time constant for debouncing.

I am endlessly amazed by the community and ingenuity that has sprung up around retro console modding. Replacement screens, shells, buttons, power delivery, even things like optical drive emulators that read from an SD card.

The only downside is that systems, Game Boys especially, have shot up in price from people buying them specifically to gut them and do new builds.

It's not just gameboys. 3DS are barely discontinued and priced 2x MSRP. Don't look price trends of any console or game made before 2004. The kids have grown and their disposable income can be spent on their old toys.

Nintendo has a chance to capitalize hard. They just need to offer a good alternative. They have the benefit of always choosing underpowered hardware because now they should be able to cram all of the native consoles into a single chip for nearly no money. With proper hardware scalers to properly simulate old LCD and CRT displays and they could charge whatever they want and still make a killing. It would just require a bit of engineering effort and, more critically, a willingness to admit the value of old content. Nintendo is a very conservative Japanese company and can not tell them anything.

I mean I get the reasoning to see it as a downside but "It runs on AA batteries" is a feature! Built-in batteries degrade over time and when it's built-in it's usually not possible to switch it out easily by yourself. It's not a problem for this particular problem, I assume it's fairly trivial to replace it but consumer goods companies tend to not care about that at all.
Very impressive project, but its always dissapointing to see something closed source. Look but dont touch seems the norm in lots of hobbyist scenes and it always holds back the state of the art. Have to respect the creators wishes though, and I can appreciate not wanting to field tech support questions about this for years.