AVR Gameboy Dumper

[Kevan] has been hard at work latley developing a Gameboy cart dumper, and while there are a few loose ends to tie up, the device is functioning fine to build up his collection. Running an AVR (mega 16?) and a FTDI chip for the usb connection, the device reads the game’s ROM and SRAM, and can also write the SRAM if you want to load your save games on to the real cart.

On the pc side of things, the device is communicated with using a generic HID protocol and can hit speeds from 16Kbps (currently) to around 64Kbps (soon). A python script currently handles the data stream, but for the rest of us there is a GUI version in the works for both *x and windows.

Also in the works is a redesigned PCB. There were a couple issues and you can see the jumpers, and though we think it adds a little character, it would be good to have fixed in the future.


  1. dext3r says:

    no source? cool pictures, i guess.

  2. Alex says:

    I am pretty sure the AVR is either an ATMEGA32u4 or 16u4, probably the former. I don’t see any other usb chips atmel sells that have the tqfp44 package. As such there is also no ftdi chip on board.

  3. Agent24 says:

    He does say “I will also be open sourcing the project once I have everything working how I want it.”

  4. mrasmus says:

    I don’t think there’s an FTDI chip on there — he mentions that he tried to use the factory bootloader of the AVR, which makes me think he’s using a hardware-USB-enabled chip (AT90USB or similar). I also see no FTDI chip on the board, and I don’t know of any FTDI chips that use generic HID (AKA don’t need drivers), as this one apparently does. Looks pretty spiffy, it might be interesting to try out making a version with a software USB library (since I doubt the full speed of a USB AVR is necessary for this task). Also would be interesting to try to make it appear to be a USB Key or something; it’d make for easier ROM dumping. Very cool, though!

  5. Kuy says:

    I like the fact that there’s no (silly) FTDI chip, but posing as a HID device is just wrong. In fact, these blatant abuses of the USB HID profile are far too common (lookin’ at you, Arduino!) and just need to stop. This should be a vendor-specific device (class 0xFF) or perhaps CDC (like a serial port, but that’s not quite right either.) Hardware like this needs a driver, period; the right thing to do is write a good (userspace) one that can be trivially ported to various platforms and bridged to various languages.

    And consider using usbtiny or V-USB (as mrasmus pointed out.)

  6. error404 says:

    I think using the mass storage class would be acceptable for a driverless and high-performance approach that’s not an abuse of purpose.

  7. It might be using V-USB and a plain Atmega with no hardware usb..

  8. Kevan says:

    It is a ATMEGA32U4, I chose to start off with just the Generic HID diver just to verify that the hardware part of the project is working correctly. I do plan on writing a custom driver for it to speed up dumping speeds considerably.

  9. Hackerspacer says:

    Cool hack but you can buy these for under $20, fully functional.

  10. Daid says:

    I don’t think it’s V-USB, I don’t see a resistor from one of the data lines to the power.

    So it must be one of the AVRs with USB.

  11. WeblionX says:

    I’d like to try something like this for N64 cartridges instead. I’d love to have an optical bay just have a cartridge slot, so you can just plug in a game and go. Maybe even with controller ports.

    One of the many projects I might start someday.

  12. makomk says:

    Kuy: unfortunately, the only practical way to write userspace drivers on older versions of Windows was to make your USB hardware a HID device. So basically, you can thank Microsoft for this widespread abuse of the HID class.

  13. Wazzco says:

    REPOST…. and indeed no FTDI chip… IS HACKADAY.COM going SOFT? :D

    in case you were wondering:


  14. Tom says:

    He mentioned in his previous post (http://www.rival-corp.com/2011/03/29/usb-gameboy-rom-dumper/) that he’s using an ATMEGA32U4.

  15. Flavor says:

    Nice work!

    This sounds like what we’re doing, except we’re doing it for the Neo Geo Pocket Color carts and Neo Geo SRAM Savemasta cards.


    We’re also including an expansion port to make it easy to extend to other systems (GameBoy, Wonderswan, NES, etc.).

  16. Kevan says:

    Ok I updated the project and I am now using a custom class. I am now dump a 512KB game in 4 seconds, compared to the 34 seconds from before. Using LibUSB for the driver.

  17. Crimson says:

    I just hacked into FBI database.It wasn’t as hard as I thought. It seems the forces who supposedly ‘captured’ Bin Ladin were not really looking for him at all. Anyone seeing the code?

  18. Gilgamesh_Ragnar says:

    Why is this game rated M?


    posted at 4:04


    Your an idiot

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Get every new post delivered to your Inbox.

Join 96,695 other followers