Minimum hookups for interfacing with SNES carts.

Discussion of hardware and software development for Super NES and Super Famicom. See the SNESdev wiki for more information.
Forum rules
  • For making cartridges of your Super NES games, see Reproduction.
qwertymodo
Posts: 775
Joined: Mon Jul 02, 2012 7:46 am

Re: Minimum hookups for interfacing with SNES carts.

Post by qwertymodo »

If that schematic is good, I've managed to route the whole thing... this one was all kinds of fun to do (especially those latches...) :P

Image
lidnariq
Site Admin
Posts: 11803
Joined: Sun Apr 13, 2008 11:12 am

Re: Minimum hookups for interfacing with SNES carts.

Post by lidnariq »

Any chance you could post a link to the 741gx04dbv datasheet? I'm curious.

Otherwise, I don't see anything obviously wrong. I love hiding components under other socketed components, but it might make assembly a little obnoxious.
User avatar
infiniteneslives
Posts: 2105
Joined: Mon Apr 04, 2011 11:49 am
Location: WhereverIparkIt, USA

Re: Minimum hookups for interfacing with SNES carts.

Post by infiniteneslives »

Looks pretty good to me.
lidnariq wrote: I love hiding components under other socketed components, but it might make assembly a little obnoxious.
No biggie assuming you solder the under components before the socket ;)
If you're gonna play the Game Boy, you gotta learn to play it right. -Kenny Rogers
qwertymodo
Posts: 775
Joined: Mon Jul 02, 2012 7:46 am

Re: Minimum hookups for interfacing with SNES carts.

Post by qwertymodo »

lidnariq wrote:Any chance you could post a link to the 741gx04dbv datasheet? I'm curious.
TI SN74LVC1GX04
infiniteneslives wrote:Looks pretty good to me.
lidnariq wrote: I love hiding components under other socketed components, but it might make assembly a little obnoxious.
No biggie assuming you solder the under components before the socket ;)
Yeah, and also that you check for any solder bridges on the SMD parts before soldering on the socket... cleaning them up after would be nigh upon impossible. Thankfully, my Teensy++ has square-post pins, so I'm able to use these rather than a chip socket, which makes it way easier to fit components underneath.
User avatar
infiniteneslives
Posts: 2105
Joined: Mon Apr 04, 2011 11:49 am
Location: WhereverIparkIt, USA

Re: Minimum hookups for interfacing with SNES carts.

Post by infiniteneslives »

qwertymodo wrote: Thankfully, my Teensy++ has square-post pins, so I'm able to use these rather than a chip socket, which makes it way easier to fit components underneath.
If you're ever looking to do similarly with a chip when you can't use a breakout board these (ebay search IC female header) work nicely
If you're gonna play the Game Boy, you gotta learn to play it right. -Kenny Rogers
qwertymodo
Posts: 775
Joined: Mon Jul 02, 2012 7:46 am

Re: Minimum hookups for interfacing with SNES carts.

Post by qwertymodo »

Moved some of the parts around, made for a little cleaner board, and managed to fit the third flip-flop under the socket along with the other two. Also, I think I'll run the PIC high-voltage Vpp signal (for the SuperCIC) to the unused /IRQ line. I'll have no other use for it, and when I get around to making carts from scratch, I can just put a solder jumper on the board between the Vpp pin on the PIC and /IRQ, so I can disconnect it when I'm done programming (the SuperCIC uses that pin for it's pairing mode detection, so I wouldn't want to leave it connected after programming...)

Image
lidnariq
Site Admin
Posts: 11803
Joined: Sun Apr 13, 2008 11:12 am

Re: Minimum hookups for interfacing with SNES carts.

Post by lidnariq »

qwertymodo wrote:Also, I think I'll run the PIC high-voltage Vpp signal (for the SuperCIC) to the unused /IRQ line.
This makes me uncomfortable, but I can't articulate a reason that I can't argue myself out of.
qwertymodo
Posts: 775
Joined: Mon Jul 02, 2012 7:46 am

Re: Minimum hookups for interfacing with SNES carts.

Post by qwertymodo »

lidnariq wrote:
qwertymodo wrote:Also, I think I'll run the PIC high-voltage Vpp signal (for the SuperCIC) to the unused /IRQ line.
This makes me uncomfortable, but I can't articulate a reason that I can't argue myself out of.
There is no actual voltage to that line unless you actually connect a PICkit, which you would only be doing for the sole purpose of reprogramming a SuperCIC... maybe I could add a jumper to disconnect it on the board side, but there is no reason I should have a PICkit hooked up to a retail cart, and for now, I can't see myself making any carts that actually use the /IRQ line.
qwertymodo
Posts: 775
Joined: Mon Jul 02, 2012 7:46 am

Re: Minimum hookups for interfacing with SNES carts.

Post by qwertymodo »

I just bought myself a SOIC socket, so I don't really have a need for a SuperCIC programming header on this board... so I thought about what I might do with those pins instead and came to the realization that I should put a CIC lock on-board, so I can talk to SA-1 games. Can anybody confirm these connections for the SuperCIC lock? I'm not sure what to do with the extra pins (esp. the REG_TIMEOUT pin, it isn't very well documented in the SuperCIC code what that actually does...). As for the 50/60Hz and D4 pins, I don't need those since this isn't a console mod, right? Also, the host reset out, not really sure what that does...

Image
waterbury
Posts: 14
Joined: Wed Feb 27, 2013 10:39 am

Re: Minimum hookups for interfacing with SNES carts.

Post by waterbury »

qwertymodo,

Could you provide the values you used for the 741GX04DBV Resistors and Capacitors? Also, did the use of the SuperCIC work out? Were you able to dump SA1 games?
skaman
Posts: 88
Joined: Fri Oct 24, 2014 1:56 am

Re: Minimum hookups for interfacing with SNES carts.

Post by skaman »

@waterbury -

I added an snesCIC/SuperCIC to the Arduino based cart reader to enable reading/writing of SA-1 carts. In conjunction with the snesCIC/SuperCIC, I use an Adafruit Clock Generator module to supply all of the necessary clock signals for the reader. CLK0 is 21.477272MHz, CLK1 is 3.57954500MHz, and CLK2 is 3.072MHz. CLK1 is disabled until needed for SA-1 SRAM writes.

From my early testing, the snesCIC-resync version seemed to produce the best results.

The snesCIC is connected to Cart Pins 24, 25, 55, 56. CIC Pin 2 and Cart Pin 56 are both connected to CLK2 outputting 3.072MHz. CIC Pin 3 (Host Reset) and CIC Pin 4 (CIC Lock Reset) are connected to pins on the Arduino to control the snesCIC. CIC Host Reset doesn't really do anything on the reader but it is connected.

I start the Arduino with the CIC Lock Reset HIGH then allow the rest of the reader to initialize. Once all of the reader hardware is initialized, I set CIC Lock Reset LOW releasing the snesCIC to do its magic. You can then proceed to read the data off the cart. It works for all carts.

Good Luck!
Near
Founder of higan project
Posts: 1553
Joined: Mon Mar 27, 2006 5:23 pm

Re: Minimum hookups for interfacing with SNES carts.

Post by Near »

> From my early testing, the snesCIC-resync version seemed to produce the best results.

That was indeed a lifesaver. It was thanks to ikari installing one of these in my US console that I was able to dump all of my US SA-1/S-DD1 games.
waterbury
Posts: 14
Joined: Wed Feb 27, 2013 10:39 am

Re: Minimum hookups for interfacing with SNES carts.

Post by waterbury »

skaman wrote:@waterbury -
I use an Adafruit Clock Generator module to supply all of the necessary clock signals for the reader. CLK0 is 21.477272MHz, CLK1 is 3.57954500MHz, and CLK2 is 3.072MHz.
Did you have to use any level shifting to generate a 5V signal, or did you just hook up the 3v3 output clock to the cart? Also, which version of the SuperCIC are you using? The 16F630?
skaman
Posts: 88
Joined: Fri Oct 24, 2014 1:56 am

Re: Minimum hookups for interfacing with SNES carts.

Post by skaman »

waterbury wrote:
skaman wrote:@waterbury -
I use an Adafruit Clock Generator module to supply all of the necessary clock signals for the reader. CLK0 is 21.477272MHz, CLK1 is 3.57954500MHz, and CLK2 is 3.072MHz.
Did you have to use any level shifting to generate a 5V signal, or did you just hook up the 3v3 output clock to the cart? Also, which version of the SuperCIC are you using? The 16F630?
No level shifting. Direct connection from the Adafruit Clock Generator to the appropriate pins on the cart connector (and CIC). When I started experimenting, I built small interchangeable boards with the snesCIC-resync using the 12F629 and the SuperCIC using the 16F630.

Here's the post on the Arduino forum with pics of my original setup: http://forum.arduino.cc/index.php?topic ... msg2358446

Like I mentioned previously, the snesCIC-resync seems to be the version that works best and it is the version adopted in all subsequent cart reader builds.

More details in the Arduino forum.

Good Luck!
waterbury
Posts: 14
Joined: Wed Feb 27, 2013 10:39 am

Re: Minimum hookups for interfacing with SNES carts.

Post by waterbury »

How long does your Arduino reader take to dump a cart?