Here's the code with support for the Enhanced chip carts for sanni's cart reader:
http://www.mediafire.com/download/e76feeya77rb3q7/Cart_ROM_READER_SNES_ENHANCED.zipI've included the SDFat library with long filename support and the Si5351 library for the Adafruit Clock Generator. If this is your first build, then you'll also need the other libraries that sanni included (LCD, RGB, DigitalIO).
A few notes on the hardware modifications:
The Adafruit Clock Generator is needed for SPC7110 and SA-1 carts. The clock generator uses CLK0 to generate the 21.477272MHz master clock signal that is connected to Pin 1 of the cart connector. CLK2 outputs the 3.072MHz CIC clock signal which is wired to the CIC clk in on the snesCIC/SuperCIC chip.
The snesCIC/SuperCIC has the CIC host reset and CIC lock reset connected to Arduino pins 6 & 7, respectively (although I haven't implemented any code for the CIC host reset in this version). The remaining CIC connections are wired to the appropriate pins on the cart connector.
As of right now, the snesCIC/SuperCIC is only really necessary for SA-1 carts. There's a possibility that the Nintendo Power (SF Memory Cassette) carts need the CIC but my best results with my current NP code is without the CIC (and clock).
One last item, some of these enhanced chip carts are extremely sensitive to how the power is supplied. If a cart is not being recognized, then check your power supply and/or try a different connection.
I forgot to specify that we use the snesCIC/SuperCIC LOCK code.
snesCIC resync lock:
https://github.com/mrehkopf/sd2snes/blob/develop/cic/snescic-lock-resync.asmsnesCIC resync lock (HEX):
https://github.com/mrehkopf/sd2snes/blob/develop/cic/snescic-lock-resync.hexSuperCIC lock:
https://github.com/mrehkopf/sd2snes/blob/develop/cic/supercic/supercic-lock.asmPlease post any improvements made to the code.
Good luck!