A strange-looking robot pirate

A project log for Joy Boy

Jump into the action with this awesome joystick for your Game Boy®. Now you're playing with power. Stick power.

Sven DahlstrandSven Dahlstrand 08/10/2019 at 00:040 Comments

The Zinger is sold as a Nintendo Entertainment System (NES) accessory and connects to the controller socket. For the joystick to be compatible with every NES game, it should pretend to be an ordinary NES controller.

If that's the case, I'm in luck because the standard controller is well documented and basically just a big parallel-in to serial-out shift register.

I don't want to destroy my Game Boy for this to work, so I have to interface the joystick unobtrusively. Fortunately, every Game Boy come equipped with an External Extension Connector – EXT for short. Have you ever used a Game Link Cable to trade Pokémons with other kids at school? That cable goes to the EXT connector.

The port consists of 6-pins and, according to my interpretation of the Game Boy Programming Manual, it works pretty much like an SPI (Serial Pheripial Interface) device without a slave select line.

"Hey! Isn't a shift register just that?", you might think, "A peripheral device, communicating over a serial line. Maybe … the Zinger and the Game Boy can understand each other. Really well."

Yeah, that's my thought as well. Great minds think alike and all that.

However, the plug at the end of the Zinger cable is too big to fit into the EXT connector. My plan right now (given that my assumptions above turn out to be correct) is to cut away the NES plug from the Zinger cable. Then slice a Game Link Cable in half, merging one of the halves with the Zinger cable. That should yield me a joystick with a cable and plug that fits right into the EXT connection on a Game Boy.

Reasoning about all this is part of what I did since the last log entry. I also cracked open the Zinger and peeked inside.

Some plastic Zinger parts. I throw them out on the floor, and they randomly formed this strange-looking robot pirate. Spooky!

Opening the case was easy enough. Seven screws, and that's it. Two wires connecting the stick and PCB prevents a total disassembly, however, unless you're up for some desoldering.

There's not much going on here. I count to one integrated circuit, probably containing the shift register and some circuitry to handle the "Quick Fire" functionality.

When the joystick was all in parts, I seized the opportunity and gave most of the plastic pieces a bath. Probably the first one in a long time. The Zinger is a lot cleaner now and smells goodish.

There's more work to be done before this is a success:

After that, I should be able to write a Game Boy homebrew that interfaces with the joystick.