USB SNES Cartridge Reader firmware.
snes-rd is USB SNES Cartridge Reader firmware based on the Atmel AT90USB1286 microcontroller and Dean Camera's LUFA library. This project implements a USB Mass Storage class device and works similarly to a flash drive; plug it in, insert cartridge, and play the game using your favorite emulator.
NOTE: Currently only LoROM cartridges are supported. Once I get some other cartridges to test with I will implement the code changes.
Also, there is a FAT16 filesystem coded by hand that is stored in the microcontroller memory. See file_system() function for details (and the blocks of hex bytes). If I decide to do another iteration of this project then maybe I will optimize it or come up with some other solution. :)
snes-rd is released under the MIT/X Consortium License, see LICENSE file for details.
Currently, the library dependencies are:
LUFA (Modified MIT) http://www.lufa-lib.org
I actually do not have a schematic drawn up for this yet. The project was hacked together during my free time. If the decision is made to manufacture a PCB then I will add the schematics here. See the source code for the general idea of the pin wiring.
I ended up using Atmel's DFU bootloader for this project. This allowed easy use of dfu-programmer for flashing from Linux using the command line.