SuperCIC 12F629 problem with Super Famicom console
Moderator: Moderators
Forum rules
- For making cartridges of your Super NES games, see Reproduction.
SuperCIC 12F629 problem with Super Famicom console
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.
The firmware tested was snescic_key.hex from borti4938 as well as supercic_key.hex from ikari. Both with the same results.
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.
The firmware tested was snescic_key.hex from borti4938 as well as supercic_key.hex from ikari. Both with the same results.
Re: SuperCIC 12F629 problem with Super Famicom console
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.
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.
Re: SuperCIC 12F629 problem with Super Famicom console
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.
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.
Re: SuperCIC 12F629 problem with Super Famicom console
I think you have a signal integrity issue here. Too much cross talk from your MUX's would be my guess.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.
Re: SuperCIC 12F629 problem with Super Famicom console
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.
And Retrostage's SNES MegaROM PCB is similar.
CIC to the left and the MUXes right next to it and it works.
Re: SuperCIC 12F629 problem with Super Famicom console
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
Re: SuperCIC 12F629 problem with Super Famicom console
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?
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?
Re: SuperCIC 12F629 problem with Super Famicom console
The older designs had issues with cross-talk, but those were rectified back in 2015. The issue was mainly just lazy routing, TBH.
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.
Re: SuperCIC 12F629 problem with Super Famicom console
Pin 3 (Status) is not connected anywhere.
Pin 4 (/PAIR) is not connected anywhere either.
Taken from supercic_key.asm file:
EDIT: Connected /PAIR to VCC to disable it but same result. Game boots in 60Hz but crashes after a while.
Pin 4 (/PAIR) is not connected anywhere either.
Taken from supercic_key.asm file:
Should I connect it to anything?; 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.
EDIT: Connected /PAIR to VCC to disable it but same result. Game boots in 60Hz but crashes after a while.
Re: SuperCIC 12F629 problem with Super Famicom console
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)
Re: SuperCIC 12F629 problem with Super Famicom console
I'm actually using that version. Just compared.
-
- Posts: 252
- Joined: Fri Jun 24, 2016 4:20 pm
Re: SuperCIC 12F629 problem with Super Famicom console
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.lidnariq wrote: ↑Sat Mar 21, 2020 10:32 amThe 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 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.
-
- Posts: 252
- Joined: Fri Jun 24, 2016 4:20 pm
Re: SuperCIC 12F629 problem with Super Famicom console
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?
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?
Re: SuperCIC 12F629 problem with Super Famicom console
That is how it's intended to work, yes.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's for operating in the special mode where the lock and key discover that the other is a supercic, and thenThe PAIR pin is for pairing with the lock version of the CIC, IIRC. Is that correct?
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.
-
- Posts: 1
- Joined: Fri Mar 05, 2021 4:06 pm
Re: SuperCIC 12F629 problem with Super Famicom console
I have the same problem that Ice Man have, and I don't find the solution, anyone has some advices?
Thanks
Thanks