SuperCIC 12F629 problem with Super Famicom console

Discussion of hardware and software development for Super NES and Super Famicom. See the SNESdev wiki for more information.

Moderator: Moderators

Forum rules
  • For making cartridges of your Super NES games, see Reproduction.
Post Reply
Ice Man
Posts: 547
Joined: Fri Jul 04, 2014 2:34 pm

SuperCIC 12F629 problem with Super Famicom console

Post by Ice Man »

I have made some custom SNES PCBs for LoROM and HiROM games myself and while they all work fine and save as well, the CIC is giving me problems and I have no idea why.
If I play the carts in my PAL SNES with 50Hz they operate like they should without issues.
However, when trying to play the same carts in my Super Famicom with 60Hz I will lose signal randomly. Sometimes it takes 2 seconds, sometimes a few minutes but it WILL happen.
After that I can still reset the SuperCIC 2x and it will go back to NTSC and get signal again, but eventually lose it again after a few seconds.

So I desoldered one of those SuperCICs from my board and tested them on a original Nintendo board (SHVC-1A0N) and they all work properly in both, NTSC and PAL.

At first I thought it was something with my boards, but when adding a original NTSC CIC named D411 to my boards, the carts started working properly in NTSC without losing signal.

The CIC and every other IC is fed with a 100nF capacitor directly placed at their VCC pins as well as having a 22uf decoupling capacitor on the board.
Attached pictures of the boards just in case someone knows what's wrong here. Don't mind the wires, I accidentally routed those 2 connections wrong. :P

The firmware tested was snescic_key.hex from borti4938 as well as supercic_key.hex from ikari. Both with the same results. :cry:
Attachments
IMG_20200319_203738.jpg
IMG_20200319_203732.jpg
User avatar
Memblers
Site Admin
Posts: 4044
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Re: SuperCIC 12F629 problem with Super Famicom console

Post by Memblers »

Sounds like the internal oscillator might be out of spec (assuming that is what it's running from). I looked in the datasheet and it has this note:

Note: Erasing the device will also erase the pre-programmed internal calibration value for the internal oscillator. The calibration value must be saved prior to erasing part as specified in the PIC12F629/675 Programming specification. Microchip Development Tools maintain all calibration bits to factory settings.

edit: I'm pretty sure the CIC clock is the same on NTSC/PAL, so I don't know why there would be a difference there. Unless it's coincidence.
Ice Man
Posts: 547
Joined: Fri Jul 04, 2014 2:34 pm

Re: SuperCIC 12F629 problem with Super Famicom console

Post by Ice Man »

The TL866 II Plus programmer automatically does that.
Otherwise it would happen in the original SHVC-1A0N board as well and with any region, which it does not.

Found another 12F629 (this time in SO8) laying around + an adapter I made to suit the original CIC to replace 1-1.
Those have worked perfect on original boards but fails on mine, too.

Now even with 50Hz on my PAL SNES but it takes way longer to lose the signal.

I have no idea what's causing the issue but it's definetely not the 12F629..
Though I have no idea why original CICs are working.

Update: Soldered a 1.5k ohm resistor between cart 56 and CIC Clock (pin 6) and it works fine in my PAL SNES now. Running the game for 5 minutes without any signal loss. Still same problem in my Super Famicom.

I don't get it.
Markfrizb
Posts: 607
Joined: Sun Dec 02, 2012 8:17 am
Location: East Texas

Re: SuperCIC 12F629 problem with Super Famicom console

Post by Markfrizb »

Ice Man wrote: Sat Mar 21, 2020 4:04 am The TL866 II Plus programmer automatically does that.
Otherwise it would happen in the original SHVC-1A0N board as well and with any region, which it does not.

Found another 12F629 (this time in SO8) laying around + an adapter I made to suit the original CIC to replace 1-1.
Those have worked perfect on original boards but fails on mine, too.

Now even with 50Hz on my PAL SNES but it takes way longer to lose the signal.

I have no idea what's causing the issue but it's definetely not the 12F629..
Though I have no idea why original CICs are working.

Update: Soldered a 1.5k ohm resistor between cart 56 and CIC Clock (pin 6) and it works fine in my PAL SNES now. Running the game for 5 minutes without any signal loss. Still same problem in my Super Famicom.

I don't get it.
I think you have a signal integrity issue here. Too much cross talk from your MUX's would be my guess.
Ice Man
Posts: 547
Joined: Fri Jul 04, 2014 2:34 pm

Re: SuperCIC 12F629 problem with Super Famicom console

Post by Ice Man »

But why would it work better (or always) in 50Hz PAL SNES?

And Retrostage's SNES MegaROM PCB is similar.

CIC to the left and the MUXes right next to it and it works.
Markfrizb
Posts: 607
Joined: Sun Dec 02, 2012 8:17 am
Location: East Texas

Re: SuperCIC 12F629 problem with Super Famicom console

Post by Markfrizb »

Ice Man wrote: Sat Mar 21, 2020 8:48 am But why would it work better (or always) in 50Hz PAL SNES?

And Retrostage's SNES MegaROM PCB is similar.

CIC to the left and the MUXes right next to it and it works.
Actually retrostage had reset issues too, in some of his earlier designs. Maybe he has better ground flooding. I am not familiar with his layouts so I don’t know. 50hz is a different timing. I’m not trying to convince you this is your issue, just offering possibilities
Ice Man
Posts: 547
Joined: Fri Jul 04, 2014 2:34 pm

Re: SuperCIC 12F629 problem with Super Famicom console

Post by Ice Man »

I appreciate any help I can get since this is driving me nuts.
I have used ground planes so all of the board that is unrouted is actually GND area.

I didn't know that he had reset issues, too.

But how come original CIC (D411 or D413) are working without issue? I thought the SuperCIC immitates them?
User avatar
getafixx
Posts: 373
Joined: Tue Dec 04, 2012 3:28 pm
Location: Canada

Re: SuperCIC 12F629 problem with Super Famicom console

Post by getafixx »

Markfrizb wrote: Sat Mar 21, 2020 9:02 am Actually retrostage had reset issues too, in some of his earlier designs. Maybe he has better ground flooding. I am not familiar with his layouts so I don’t know.
The older designs had issues with cross-talk, but those were rectified back in 2015. The issue was mainly just lazy routing, TBH.
Ice Man wrote: Sat Mar 21, 2020 9:06 am But how come original CIC (D411 or D413) are working without issue? I thought the SuperCIC immitates them?
What are you doing with the /PAIR pin on the SuperCIC? I seem to remember reading somewhere that if you tied that pin to another pin as in some earlier documents that it would cause intermittent booting, and it should be pulled up to VCC if you aren't using the pair function. This is from memory though so take that with a grain of salt.
Ice Man
Posts: 547
Joined: Fri Jul 04, 2014 2:34 pm

Re: SuperCIC 12F629 problem with Super Famicom console

Post by Ice Man »

Pin 3 (Status) is not connected anywhere.
Pin 4 (/PAIR) is not connected anywhere either.

Taken from supercic_key.asm file:
; The /PAIR pin can be used to enable or disable SuperCIC pair mode.
; It can be tied low or high to statically enable or disable pair mode
; detection, or connected to a switch or MCU to dynamically enable pair
; mode detection (it should then be connected to a pull-up resistor to
; Vcc). Pair mode detection can be enabled during operation,
; but pair mode cannot be left until the next power cycle.
; See SuperCIC lock documentation for a more detailed description of
; pair mode.
Should I connect it to anything?

EDIT: Connected /PAIR to VCC to disable it but same result. Game boots in 60Hz but crashes after a while.
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: SuperCIC 12F629 problem with Super Famicom console

Post by lidnariq »

Memblers wrote: Sat Mar 21, 2020 3:43 am Sounds like the internal oscillator might be out of spec (assuming that is what it's running from). I looked in the datasheet and it has this note:
The SuperCIC/SNESCIC always run off of external clock, so the internal calibration is irrelevant.

(Also, different SNESes use different clocks: the earliest ones use a 4MHz ceramic resonator. The later ones use a 3MHz signal from the APU.)

At some point they made a change to SuperCIC that subtly changed the timing, and only fixed it a year ago. This might be relevant, I don't know.

(My release of SuperCIC-for-10f322 is older than this)
Ice Man
Posts: 547
Joined: Fri Jul 04, 2014 2:34 pm

Re: SuperCIC 12F629 problem with Super Famicom console

Post by Ice Man »

I'm actually using that version. Just compared.
poorstudenthobbyist
Posts: 252
Joined: Fri Jun 24, 2016 4:20 pm

Re: SuperCIC 12F629 problem with Super Famicom console

Post by poorstudenthobbyist »

lidnariq wrote: Sat Mar 21, 2020 10:32 am
Memblers wrote: Sat Mar 21, 2020 3:43 am Sounds like the internal oscillator might be out of spec (assuming that is what it's running from). I looked in the datasheet and it has this note:
The SuperCIC/SNESCIC always run off of external clock, so the internal calibration is irrelevant.

(Also, different SNESes use different clocks: the earliest ones use a 4MHz ceramic resonator. The later ones use a 3MHz signal from the APU.)

At some point they made a change to SuperCIC that subtly changed the timing, and only fixed it a year ago. This might be relevant, I don't know.

(My release of SuperCIC-for-10f322 is older than this)
I'm glad you posted this, because I recently had three boards that would not boot up correctly. I took the 12F629 out of one board thinking I might have forgotten to program it, but it verified correctly. So I figured maybe the board was faulty (which would be weird, because it's a design I've been using for a while now, but who knows given some past troubles with the CIC). But no, I took that CIC out and put it in a known working board, and it still wouldn't pass the region check.

I was going to post about it in the other CIC thread I had posted in a few months ago but after finding this, I tried reprogramming the faulty 12F629 with this newer version of software (I was still using the old 2010 version, apparently) and it fixed the problem. I'm going to check the other two non-working CICs and try reprogramming them with this new version.

So for posterity, using the newer CIC software fixed a problem I had with some of my 12F629s.
poorstudenthobbyist
Posts: 252
Joined: Fri Jun 24, 2016 4:20 pm

Re: SuperCIC 12F629 problem with Super Famicom console

Post by poorstudenthobbyist »

Somewhat unrelated question but didn't want to start a new thread:
If one has a CIC that has detected the NTSC region, and then put in a PAL SNES, it could change regions to PAL by resetting the console a few times, correct?

The PAIR pin is for pairing with the lock version of the CIC, IIRC. Is that correct?
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: SuperCIC 12F629 problem with Super Famicom console

Post by lidnariq »

poorstudenthobbyist wrote: Fri Jan 22, 2021 11:49 am If one has a CIC that has detected the NTSC region, and then put in a PAL SNES, it could change regions to PAL by resetting the console a few times, correct?
That is how it's intended to work, yes.
The PAIR pin is for pairing with the lock version of the CIC, IIRC. Is that correct?
That's for operating in the special mode where the lock and key discover that the other is a supercic, and then
SuperCIC pair mode: when a SuperCIC lock and SuperCIC key detect each other they both switch both of the data pins to inputs. The lock then passes through data i/o 0 to SNES 50/60Hz and data i/o 1 to an optional D4 output (for overriding the 213f register using additional hardware). This makes it possible to switch 50/60Hz and D4 from the cartridge slot, e.g. by connecting an additional MCU to the CIC data lines. Of course, they have to be tristated for normal (non-passthrough) operation.
jucar919293
Posts: 1
Joined: Fri Mar 05, 2021 4:06 pm

Re: SuperCIC 12F629 problem with Super Famicom console

Post by jucar919293 »

I have the same problem that Ice Man have, and I don't find the solution, anyone has some advices?

Thanks :D :D :D
Post Reply