Six GameBoy Pokemon games

Bridging Game Worlds With The ‘Impossible’ Pokémon Trade

Transferring hard-earned Pokémon out of the second generation GameBoy game worlds into the ‘Advance Era’ cartridges (and vice versa) has never been officially supported by Nintendo, however [Goppier] has made these illicit trades slightly easier for budding Pokémon trainers by way of a custom PCB and a healthy dose of reverse engineering.

Changes to the data structure between Generation II on the original GameBoy (Pokémon Gold, Silver and Crystal) and Generation III on the GameBoy Advance (Pokémon Ruby, Sapphire, FireRed, LeafGreen and Emerald) meant that trades between these cartridges was never a possibility – at least not through any legitimate means. In contrast, Pokémon trades are possible between the first and second generation games, as well as from Generation III and beyond, leaving the leap from Gen II to Gen III as an obvious missing link.

Modern players have already overcome this limitation by dumping the cartridge save files onto a PC, at which point any Pokémon could be added or subtracted from the save. Thus, this method relies on self-control as well as the right hardware. [Goppier]’s solution is arguably far more elegant, and requires very little extra hardware. A simple PCB with ports for older and newer GameBoy Game Link Cables is the physical bridge between the generations. An ARM Cortex microcontroller sits between these connections and translates the game data between the old and the new.

The microcontroller is required to translate the data structure between the generations, and seems fit for purpose. Not only does the Pokémon data require conversion, but a few other hacks are needed before the two generations will talk nicely to each other. Pokémon on the GameBoy Advance brought in new features such as representing player movement in the trading rooms (i.e. you can see the other player moving on your screen), which also had to be addressed.

The concern over the legitimacy of trades within the Pokémon community is a curious, yet understandable, byproduct of the multiplayer experience. As an example, modern players have to be wary of ‘hacked’ Pokémon, which can often introduce glitches into their game world following a trade. Apart from these issues, some Pokémon players simply desire genuine Pokémon as part of fostering a fair and enjoyable gaming experience.

This literal bridge between Gen II and Gen III game worlds brings the community tantalizingly close to a ‘legitimate’ means of transferring their Pokémon out of ancient cartridges and into modern games. Could Nintendo one day officially sanction Gen II to Gen III trades with a similar device? Crazier things have happened.

We love our GameBoy hacks here on Hackaday, so why not check out this project that replaces the battery-backed SRAM in your GameBoy games with FRAM?

Continue reading “Bridging Game Worlds With The ‘Impossible’ Pokémon Trade”

Jigglypuff Sensor Breathes CO2 So You Don’t Have To

We’ve seen a lot of environmental monitoring projects here at Hackaday. Seriously, a lot. They usually take the form of a microcontroller, a couple sensors, and maybe a 3D printed case to keep it all protected. They’re pretty similar functionally as well, with the only variation usually coming in the protocol used to communicate their bits of collected data.

But even when compared with such an extensive body of previous work, this Jigglypuff IoT environmental monitor created by [Kutluhan Aktar] is pretty unusual. Sure, the highlights are familiar. Its MH-Z14A NDIR CO2 sensor and GP2Y1010AU0F optical dust detector are read by a WiFi-enabled microcontroller, this time the Arduino Nano RP2040 Connect, which ultimately reports its findings to the user via Telegram bot. There’s even a common SSD1306 OLED display on the unit to show the data locally. All things we’ve seen in some form or another in the past.

Testing the electronics on a bread board.

So what’s different? Well, it’s all been mounted to a huge Pokémon PCB, obviously. Even if you aren’t a fan of the pocket monsters, you’ve got to appreciate that bright pink solder mask. Honestly, the whole presentation is a great example of the sort of PCB artwork we rarely see outside of the BadgeLife scene.

Admittedly, there’s a lot easier ways to get notified about the air quality inside your house. We’re also not saying that haphazardly mounting your electronics onto a PCB designed to look like a character from a nearly 20+ year old Game Boy game is necessarily a great idea from a reliability standpoint. But if you were going to do something like that, then this project is certainly the one to beat.

the conversion from hynix SRAM to FRAM on a Pokemon Yellow PCB

Pokemon Time Capsule

The precious Pokemon we spent hours capturing in the early nineties remain trapped, not just by pokeballs, but within a cartridge ravaged by time. Generally, Pokemon games before the GameBoy Advance era had SRAM and a small coin cell to save state as NVRAM (Non-volatile random access memory) was more expensive. These coin cells last 10-15 years, and many of the Pokemon games came out 20 years ago. [9943246367] decided to ditch the battery and swap the SRAM for a proper NVRAM on a Pokemon Yellow cartridge, 23 years later.

The magic that makes it work is a FRAM (ferroelectric random access memory) made by Cypress that is pin-compatible with the 256K SRAM (made by SK Hynix) on the original game cartridge PCB. While FRAM data will only last 10 years, it is a write-after-read process so as long as you load your save file every 10 years, you can keep your Pokemon going for decades. For stability, [9943246367] added a 10k pull-up on the inverted CE (chip enable) pin to make sure the FRAM is disabled when not in use. A quick test shows it works beautifully. Overall, a clever and easy to have to preserve your Pokemon properly.

Since you’re replacing the chip, you will lose the data if you haven’t already. Perhaps you can use [Selim’s] Pokemon Transporter to transport your pokemon safely from the SRAM to the FRAM.

A conventiongoer plays Pokemon on a working Color Game Boy costume.

Convention Plays Pokemon On Giant Color Game Boy Costume

Standard cosplay is fun and all, but what is there for admirers to do but look you up and down and nitpick the details? Interactive cosplay, now that’s where it’s at. [Jaryd Giesen] knows this, and managed to pull together a working color Game Boy costume in a few days.

The original plan was to use a small projector on an arm, like one of those worm lights that helped you see the screen, but [Jaryd] ended up getting a secondhand monitor and strapping it to his chest. Then he took the rest of the build from there. Things are pretty simple underneath all that cardboard: there’s a Raspberry Pi running the RetroPie emulator, a Pico to handle the inputs, and two batteries — one beefy 12,000 mAH battery for the monitor, and a regular power pack for the Pi and the Pico.

As you’ll see in the build and demo video after the break, nearly 100 people stopped to push [Jaryd]’s buttons. They didn’t get very far in the game, but it sure looks like they had fun trying.

Since we’re still in a pandemic, you may want to consider incorporating a mask into your Halloween costume this year. Just a thought.

Continue reading “Convention Plays Pokemon On Giant Color Game Boy Costume”

Pokemon Time Machine Lets You Really Catch ‘Em All

Since 1996 the Pokemon series of games has moved through eight distinct generations, which roughly parallel the lineage of Nintendo’s handheld gaming systems. While the roster of “pocket monsters” has been updated steadily, players have had the option of bringing captured Pokemon from the older games into the newer releases. But there’s always been a gap in this capability. Due to hardware differences, the Game Boy and Game Boy Color generations of games were physically unable to communicate with the titles released for the Game Boy Advance.

But soon, that may no longer be the case. [Selim] is hard at work on Lanette’s Poke Transporter, a hardware and software solution for bringing Pokemon from the first and second generation games onto the third generation GBA games. Once they’ve been loaded there, players can move the creatures all the way up into the contemporary Pokemon games via official means.

The first Pokemon to make the generational leap.

The project was started in July of 2020, with [Selim] first focusing on the logistical challenges of bringing such early Pokemon into the newer games. Because so much changed between the different generations, there are many sanity checks that need to be made during the transfer. For example, the moves and techniques that the creatures are able to learn isn’t necessarily consistent between these early entries into the series. But after about a year of effort, the software side worked reliably on emulated games, and it was time to start thinking about the hardware.

Ultimately, [Selim] wants to create a physical device into which players can insert their Pokemon cartridges and trigger an automatic transfer. The code is already able to read and write to the cartridges, and has been ported over to Arduino so it doesn’t need a computer to run. A few prototype PCBs have been created, and beyond the inevitable bodges, it seems like they’re functional. There’s still breadboards and jumpers for as far as the eye can see, but this is the first step towards producing a dedicated Pokemon “time machine” that can transport them from the late 1990s to the present day.

With [stacksmashing] recently showing that the Raspberry Pi Pico is fast enough to emulate the Game Boy’s “Link Cable” accessory, and the protocol for trading Pokemon over the wire fairly well understood, we wonder if one day this technique couldn’t be done in real-time between linked handhelds. If you can make two copies of Tetris connect to each other over the Internet, it seems like you’d have enough time to fiddle with a Charizard’s stats.

A Charmander Lamp To Light Up The Garden

[BrittLiv] loves Pokémon and has always wanted to make giant versions of them. Now that they’ve moved out of that apartment, it’s time to make those childhood dreams come true and fill the garden with Pokémon. First up is Charmander, one of [BrittLiv]’s absolute favorites and a perfect candidate for a flame tail that uses the guts of a solar garden lamp. The flame comes on automatically when it gets dark and has three modes: steady on, fade in and out, or flame emulation mode.

[BrittLiv] started with an open-source Charmander model and added a thread to the flame and the corresponding end of the tail. We love that [BrittLiv] was able to use up a bunch of old filament to print this — a total of 5kg worth over 280+ hours of print time.

[BrittLiv] added lead ballast in the feet for weight while gluing the pieces together and sealed it off at the ankles with epoxy. The entire outside surface was sanded and smoothed with clay and Bondo before getting epoxy, primer, black primer, and then a copper automotive paint that turned out to be too bright. Charmander ended up with copper paint that patinas, which is why it looks so much like a real statue. Check out the build video after the break.

There’s no word on whether there’s a future where Charmander’s flame steams when it rains, but [BrittLiv] does have plans to expand the garden with a Squirtle fountain and a Bulbasaur planter.

Want to add tangibility to Pokémon Go? Just add real pokéballs.

Continue reading “A Charmander Lamp To Light Up The Garden”

Reverse Engineering A PokeWalker

The PokeWalker is part of Nintendo’s long quest to get children (and likely some adults) walking and exercising. There’s the PokeWalker, Pokemon Pikachu, PokeBall Plus, Pokemon Pikachu 2, Pokemon mini, and of course Pokemon Go. Despite being out a decade, there wasn’t a ROM dump for the device and there was minimal documentation on the communication protocol. [Dmitry Grinberg] took it upon himself to change all that and crack the PokeWalker open.

At its heart, the PokeWalker is just a pedometer with an IR port and a 96×64 grayscale screen. It came out in 2009 to accompany the new Pokemon release for the Nintendo DS. Cracking open the device revealed a 64KB EEPROM, a Renesas H8/38606R CPU, a Bosch BMA150 accelerometer, and a generic IR transceiver. The CPU is particularly interesting as in addition to being quite rare, it has a mix of 8, 16, and 32 bits with 24-bit pointers. This gives it a 64K address space. While the CPU is programmable, any attempt to do so erases the onboard flash. The communication protocol packets have an 8-bit header that precedes each packet. The header has a checksum, a command byte, and four bytes of session id, and an unused byte. Curiously enough, every byte is XOR’d with 0xAA before being broadcast.

One command is an EEPROM write, which uses back-referencing compression. Each chunk of data to be written is packaged into 128-byte chunks, though 128 bytes likely won’t be sent thanks to the compression. The command can theoretically reference 4k bytes back, but in practice, it can only reference 256 bytes back. It was this command that laid the foundation for the exploit. By carefully crafting the command to send, the command can overflow the decompression buffer and into executable code. Only a few bytes can be overflowed so the payload needs to be carefully crafted. This allowed for an exploit that reads the system ROM and broadcasts it out the IR port. Only 22k bytes can be dumped before the watchdog reboots the device. By changing the starting address, it was easy to do multiple passes.

After the ROM was stitched together from the different passes, the different IR commands were analyzed. In particular, a command was found that allows direct writes into RAM. This makes for a much easier exploit as you can write your exploit, then override a pointer in the event table, then have the exploit revert the event table once the system naturally jumps to your exploit.

[Dmitry] finishes off this amazing exploit by writing a PalmOS app to dump the ROM from a PokeWalker as well as modify the system state. PalmOS was chosen as it is an easy and cheap way to have a programmable IR transciever. All in all, a gorgeous hack with a meticulous writeup. This isn’t the first video game accessory that’s been reverse engineered with a scrupulous writeup, and we’re sure it won’t be the last.

Continue reading “Reverse Engineering A PokeWalker”