No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
pictures initial commit Aug 23, 2016
LICENSE initial commit Aug 23, 2016
LUFAConfig.h initial commit Aug 23, 2016
Makefile initial commit Aug 23, 2016 minor change to readme Aug 23, 2016
snes-rd-firmware.c initial commit Aug 23, 2016


USB SNES Cartridge Reader firmware.

snes-rd_snes-pad.png snes-rd_top.png snes-rd_bottom.png


What is snes-rd?

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. :)

What license is snes-rd release under?

snes-rd is released under the MIT/X Consortium License, see LICENSE file for details.

Currently, the library dependencies are:

LUFA (Modified MIT)

Where can I find the schematic for this project?

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.

What bootloader is used for snes-rd?

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.