| Console Development: Hardware | Software | Devtendo | NES Mappers
-
  | The Game Obscurities: Hardware | Games | The Game King
News



GBlinkdl

GBlinkdl

  

Introduction | How It Works | The Cable | Download

GBlinkdl uses a simple 4-wire cable between the Game Boy's link port and PC's parallel port, allowing for the two devices to communicate with each other. By running GBlinkdl.gb on a flash cart and GBlinkdl.exe on your PC, you can read and write the Game Boy's memory and registers from the PC. It gives you the ability to write to a flash cart, dump cartridges, read and write save data, probe the GB, reverse engineer mappers, and more... ALL WITHOUT ANY HARDWARE MODIFICATION!

I originally built this to dump some cartridges before they suffered from bitrot, and some other obscurities, including the Super Mario 3 Special HK Original. The busier I get, the more I'm about simplicity, or more specifically, taking the best approach which can be done in the least possible time. Building a GB cart dumper with the features I wanted would've taken more time, and I already had the link port<->parallel port cable handy from my flash kit, the 'PC Linker'. As well, because this goes through the real Game Boy, the mapper and such is written to directly as it is under normal execution.

How It Works

When the GBlinkdl.gb is run on a Game Boy, it loads itself into the RAM at $C000 and waits for the PC. This happens immediately upon boot, and when you see the text "Run GBlinkdl.exe on your PC now..." on your Game Boy's screen, you can swap out the flash cart and pop in the cartridge you wish to dump. With the cable connected between the GB and PC, you are ready to run the PC program. It will read the header and perform the dump.

The possibilities are endless and any cartridge can be dumped. However, I only implemented support for the plain GB cart, MBC1, and Super Mario 3 Special in the program. This is simply because those are what I needed at the time of it's writing, and as I have released the full source code for everything, you can add the support you need. For example, adding MBC5 support is simply a matter for adding an extra write to the $3xxx memory space.

Of course, I must mention there IS a catch to this simplicity. As for the cartridge swap, the GB will usually reset itself. One fix is to modify the Game Boy to prevent this from happening... the second and simpler is to use a Game Genie. Pop the flash cart into the GG and the GG into your GB. Turn it on, skip the code screen, run the GBlinkdl.gb off the flash cart, and then pull it out and pop the one you want to dump into the GG. It's ready to go!

The ideal way to go would be open up the GB and solder in an EPROM with the GBlinkdl ROM and a EPROM/cartridge selector controlled purely by software, so there would be no swapping needed at all. It wouldn't be hard to do, and would make for a pretty powerful GB. Maybe one day I'll get around to that. In the mean time though, if you have the GB PC Linker and a Game Genie, you don't need any electronic skills whatsoever, and can dump carts and do all the other cool stuff GBlinkdl allows you to!

The Cable

 

I simply used the cable which came with the PC Linker flash kit. It's incredibly simple, as can be seen above.

Download

You can download the GBlinkdl package here (52KB). It includes everything you need to take control of your GB from your PC, as I've included the full source code to the PC and GB programs and the cable schematic. Have fun!

 

Document and Information By Brian Provinciano
November 2nd, 2005
Updated November 2nd, 2005 

BriPro.com ©1999-2005 Brian Provinciano. All rights reserved.

No text, images, or any other content from this site may be copied or reproduced elsewhere without permission.