This
is a rudimentary program (but it works!!) that allows you to dump GB cartridges
to computer without anything more than a GB devcart / flashcart (like the Everdrive)
and a regular PC or digital audio player with sound recording function. Or if
you have a TTL 5V UART/Serial dongle, you can dump games using that and a terminal
program.
_____ |
Its basic method of operation is this: boot up TapeDump from a cartridge, swap the cartridge (slightly risky) with the one you want to dump, and then either 1) save the bits spewed out the GB link port (pin 2) using serial terminal software; or 2) record the digital audio dump as a 300-2400 bps stream of shrieks.
This is not the first such program written on the GameBoy. I have found at least two other dumping programs on the GB written by other people, but they both rely on custom software on microcontrollers like a Raspberry Pi to communicate with the GB using its SPI-like protocol, etc. There is no program that simply connects in a dumb (extra hardware-free) way between the GB and your PC. So that's why I made TapeDump. Feel free also to check out TapeDump for the NES/Famicom.
You need a way to get this program loaded onto the GameBoy, of course. Typical ways include running it on an Everdrive cartridge, or on an EPROM or EEPROM devcart. Once the program starts up, you can choose a dumping method among two UART speeds, and several KCS audio speeds. TapeDump's main program has loaded itself into RAM and is running from there, meaning it will (ideally) keep running even after you have removed the devcart and inserted your target cartridge for dumping.
![]() |
*FOR
UART Dumping: Serial TTL (alias FTDI, alias UART, alias 5V serial) is becoming more popular these days since they are used to program Arduinos and the like. Capture the incoming serial data using a Terminal program on your PC. *FOR KCS Audio Dumping: Capture the incoming sound using digital audio recording software on your PC. |
|
![]() |
When the program has loaded and is running in RAM, it will show some basic instructions. You can remove your EPROM/Dev cartridge and insert the cart to be dumped. Safety Notes: *1: Removal or insertion of cartridges while the GB power is on runs the risk of damaging either the cartridge, its save RAM or the system itself. Do so at your own risk! *2: If you use an original DMG unit, you'll need to cut off the locking tab on the power switch, which prevents you from removing a cartridge with the power on. If you don't want to do any surgery to your GameBoy, you'll need to dump from a GB Color or SuperGameBoy (2) since those don't have the locking tab. *3: To reduce the occurrence of CPU crashes, remove and insert your cartridges quickly. My program also has a spinning bar in the lower-left corner of the screen as a way of showing it's still running. |
Explanation
of initial controls |
|||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||
|
|
UART Serial Dumping: This really couldn't be simpler. With your serial adaptor connected to your computer, start up your favourite Terminal software (I like TinyBootloader for binary dumping), set its baud rate to 8192 or 1024 bps, turn off any hardware handshaking, and set a file destination to capture incoming data on your computer. Then start the dump in TapeDump. |
KCS Audio Dumping: If you have any experience with old home computers, the following won't be a surprise. If you don't, you might be amused at how low-tech it is. Old '70s and '80s home computers used audio cassette tapes as a storage device, saving files at rates of 300-1200 baud by sending each byte serially as 11 bits encoded into loops of 1200/2400 Hz tones. A standard was set for this method, known as the "Kansas City Standard" or "Byte" (the magazine, not the data size) standard. My program should conform more or less to this standard as well, meaning you can use KCS decoding programs on the PC to retrieve cartridge dumps from the GB. When dumping starts, the screen will show "DUMPING", a ~3 sec. leader tone will sound, and the program will dump data at the selected bps rate, as a high-pitched screech through the digital audio channel of the GameBoy. Record this audio output to your PC sound card... or an old cassette tape if you really want to be retro. |
|||||
|
|||||
Record the audio on your computer at 22050 Hz or higher, and be sure to save it in a lossless format, such as WAV or AIFF. (Lossy formats such as MP3 and others apparently introduce too many overtones and distortion in the signal to be useful for anything over 300 bps.) You can then use software to decode the audio file back into binary data. I recommend the simple and effective KCS08 program (That Link again) for decoding on PCs. Note about the bps rate: 300-1200 bps are "standard" in the KCS format, and can be recorded at 22050 Hz, 8-bit, as the KCS08 program requires. The 2400 bps rate is experimental and thus less reliable. For 2400 bps, you should record at 44100 Hz and save the audio file at that sample rate and at 8-bit. (KCS08 requires a 22050 Hz file, but at twice the pitch and twice the sample rate, it's fooled into thinking it's a regular 1200 bps dump.) If the KCS08 program gives you a big fat error, double-check that your WAV file is indeed in MONO, 8-bits, and double-check that it uses the correct sampling rate, either 22050 Hz or 44100 Hz. Also, try using the -G2 switch in KCS to help with the pitch adjustment, or else -F10 or -F-10 to help readjust the DC offset. |
|||||
|
Miscellany:
|