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”

iPodRPi by production

IPod Mod Puts Pi Zero In New Bod

We sure love to see nicely designed products get a new lease on life. Just as the new Raspberry Pi Zero 2 was being announced, [production] was stuffing an original RPi Zero into an old iPod’s case.

[production] cites several previous, similar projects that showed how to interface with the click-wheel, a perfectly fitting color display from Waveshare, and open-source software called Rockbox to run on the pi. We all stand on the shoulders of giants.

iPodRPi by production interior wiring

Some nice innovations to look for are the Pi Zero’s micro-SD card and a micro-USB charging port aligned to the large slot left from the iPod’s original 40 pin connector. Having access for charging and reflashing the card without opening the case seems quite handy. There’s a nice sized battery too, though we wonder if a smaller battery and a Qi charger could fit in the same space. Check the project’s Hackaday.io for the parts list, and GitHub for the software side of things, and all the reference links you’ll need to build your own. It looks like [production] has plans to turn old iPods into Gameboy clones, you may want to check back for progress on that.

If you just want to rock like it’s 2004, there are options to just upgrade the battery and capacity but keep your vintage iPod too.

Continue reading “IPod Mod Puts Pi Zero In New Bod”

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 Game Boy connected to a monitor while playing Super Mario Land 2

FPGA Boards Add VGA And HDMI Interfaces To The Original Game Boy

The classic Game Boy remains a firm favorite in the realm of retrocomputing. Revolutionary as it was at the time, by today’s standards its display is rather primitive, with no backlight and a usable area measuring only 47 mm x 44 mm. [Martoni] figured out a way to solve this, by developing GbVGA and GbHdmi, two projects that enable the Game Boy to connect to an external monitor. This way, you can play Super Mario Land without straining your eyes, and we can also image potential uses for those who stream their gameplay online.

A Game Boy connected to a monitor while playing Super Mario Land 2 Getting the image data out of the Game Boy is surprisingly straightforward, and has been done a few times before. Basically, the connection between the CPU and the LCD screen is a serial interface with a 4 MHz clock, two data lines and two sync lines. [Martoni] uses pin headers sticking out of the Game Boy’s plastic case to connect these to a small FPGA board. The board in question is a Fireant for the VGA version and a Tang Nano 4K for the HMDI model. In either case the FPGA reads out each frame from the Game Boy’s LCD interface and draws the extracted image onto the monitor, using the same four shades of green as used on the original screen.

[Martoni] states that the ultimate goal of these projects is to make a Switch-like docking station for the original Game Boy, which is definitely something we’re looking forward to. Although adding external monitors to the Game Boy is not entirely new, we like the simplicity of this implementation and the fact that anyone can improve upon it thanks to the full source code being available. Similar hacks have been performed on the newer Game Boy Pocket and Game Boy Advance as well.

Need A New Programming Language? Try Zig

Maybe you’ve heard of it, maybe you haven’t. Zig is a new programming language that seems to be growing in popularity. Let’s do a quick dive into what it is, why it’s unique, and what sort of things you would use it for. (Ed Note: Other than “for great justice“, naturally.)

What Is It?

You’ve likely heard of Rust as it has made significant inroads in critical low-level infrastructures such as operating systems and embedded microcontrollers. As a gross oversimplification, it offers memory safety and many traditional runtime checks pushed to compile time. It has been the darling of many posts here at Hackaday as it offers some unique advantages. With Rust on the rise, it makes sense that there might be some space for some new players. Languages like Julia, Go, Swift, and even Racket are all relative newcomers vying for the highly coveted mindshare of software engineers everywhere.

So let’s talk Zig. In a broad sense, Zig is really trying to provide some of the safety of Rust with the simplicity and ease of C. It touts a few core features such as:

  • No hidden control flow
  • No hidden memory allocations
  • No preprocessor, no macros
  • First-class support for optional standard library
  • Interoperable by design
  • Adjustable Runtime Safety
  • Compile-time code-execution

Continue reading “Need A New Programming Language? Try Zig”

The Ultimate 1541 Talk by Michael Steil, presented at the Vintage Computer Festival West

The Ultimate Commodore 1541 Drive Talk: A Deep Dive Into Disks, Controllers, And Much More

When we think of retrocomputing, it’s very often the computers themselves that get all the glory.  There’s nothing wrong with this of course- the computers of the late 70’s and 80’s were incredible machines that were chock full of hacks in their own right. But some of the most interesting hacks of the day happened not in the computers, but rather in their peripherals. A devotee of such periphery is [Michael Steil], who was driven to compile years of research, knowledge, and hard data into The Ultimate Commodore 1541 Drive Talk which you can view below the break.

In the talk, [Michael] covers the physical disk composition and construction, the disk drives, controller hardware, and the evolution thereof. The bit-by-bit breakdown of the tracks, sectors, and header information on the disks themselves is fascinating, as is the discussion of various copy protection techniques used by vendors to prevent piracy at a time when sneakernet was in full swing.

The descent into the circuitry of the controller reveals a venerable 6502 CPU which powered many vintage computers. Further discussion divulges the secrets for getting higher performance from the 1541 drive using innovations that are as recent as 2013.

A computer historian and archaeologist, [Michael] discusses how using modified vintage hardware is sometimes enough to save your old floppy collection. He also shows how modern interfaces that read disks all the way down to the magnetic flux level can be used to reconstruct missing data.

[Michael] masterfully lays bare the complexity, engineering, and hackery that went into storing less than 200kb of data. Whether you’re a Commodore enthusiast or not, your appreciation for the 32GB USB stick collecting dust on your desk is bound to grow!

We’ve covered [Michael]’s exploits before, and you may wish to check out the Ultimate Apollo Guidance Computer Talk or the Ultimate Gameboy Talk. Do you have your own favorite retrocomputer hacks and insights to share? Be sure to let us know via the Tip Line!

Continue reading “The Ultimate Commodore 1541 Drive Talk: A Deep Dive Into Disks, Controllers, And Much More”

two hands holding a wider version of a purple gameboy advance

The Stretch Limo Of Game Boys

Here at Hackaday, we see all sorts of projects, some born out of a deep necessity or itch that couldn’t be scratched. Others are born out of a world of “why not” and it is perhaps these projects that put the biggest smile on our faces. The WideBoy Advance by [Elliot] of Retro Future is one such project.

Starting with a working Game Boy Advance and a donor one with a busted motherboard, the frankenstein-ification could start. A Dremel split one case in half and removed the sides on another, while trusty old car body filler helps fill and smooth the gaps. A particularly clever trick is to use the Dremel to create channels for the filler to adhere easier. Several areas had to be built up with filler and glued in bits of plastic as a base. As you can see in the video below, the countless hours of sanding, priming, sanding, and more priming led to a beautifully smooth finish. The choice of purple paint really sells the impression of a factory-fresh Game Boy Advance.

The working circuit board was desoldered and the donor board was cut into pieces to fit in the extended sides. Using some magnet wire, connections were bridged over to the original motherboard via the test points on the PCB. [Elliot] didn’t opt to swap the screen to an IPS display or add a backlight. These quality of life improvements are nice, but a dead giveaway that Nintendo didn’t make it. The goal is to get the user to wonder, even if just for a second, what if Nintendo just happened to make this wide one-off handheld console.

[Elliot] made it simply because he found it interesting and enjoyed the form of the thing he made. Is it a hack? Is it art? Probably a little bit of both. This isn’t his first modified Nintendo handheld either. He previously made a long Nintendo Gameboy DMG-01. We love seeing all the wild hacks and tweaks made to Game Boy line, such as this Game Boy Color inside the DMG-01.

Continue reading “The Stretch Limo Of Game Boys”