Notify of
Inline Feedbacks
View all comments

what do i program to my pic16f630
supercic-key.hex or supercic-lock.hex

i have a 1 big chip ppu 111 pin i need to lift for that ppu.

i remove the cic chips please let me know thanks for the hard work.

Hi, and thanks for this amazing work !!

I’ve got a simple question : is there any plan to implement this sd2snes feature to “normal” pic16f630 mod “Auto region patching: eliminates “This Game Pak is not designed…” messages regardless of 50/60Hz setting” ?


Thanks a lot for this stuff, i’m going to check this out !

What is the point with the right side of the schematic ? ie. to what are U1D, U1E, U1F, U3B, U3C and U3D connected ?

Is SuperCIC pin3 is an input or an output ?

Thanks !

Ok, thanks ! Let’s give it a try 😀

I’m back again and with positive feedback. This $123f patch is working ! For example, Tetris & Dr. Mario is working like a charm and passes each fading black screen. But i’m getting a problem, my Super CIC + IGR cannot be set in “auto mode” via 1P controller or with the reset button. Manual 50 or 60 is still working. Plus L R Select X isn’t reseting sd2snes properly, it only reset the rom currently playing. I have this problem since I soldered the $213f patch to the SuperCIC pin 3. My additionnal pcb was already in place, so… Read more »

Hi ! Problem solved 😀
I double checked the connections but all was good. In fact a cable under my PCB was pierced by a CIC pin, yellow cable on picture :
(whole project visible here :

By the way, thank you for your amazing work !

Cya 😀

Hi there ! I’m back again 🙂 I did the mod again on another 2PPU snes and tested it. Thus far it works great, but (there always is a but …) I tried to run some region check games in different modes: a PAL Tetris & Dr. Mario (native 50Hz) in 60Hz does boot and passes every fading screen a Korean Tetris & Dr. Mario (native 60Hz) in 50 Hz doesn’t even boot and shows the blue screen of death “this game pack is not designed blah blah” You could ask “but why play a 60Hz game in 50Hz ?… Read more »

[…] Reset (IGR), for controlling the reset button from your controller!  And you can also download the SuperCIC code from his site also. Tags: nintendo, regionfree, sfc, snes, super famicom, super nintendo, […]

hello ours

can you tell me if your s213f wiring is complete also for the unused portions of the chip?
if yes can you just leave the unused pins floating and check if it still works?
i cant get it working but my wiring is correct just with the floating pins.

Hi !
The unused parts of the chips are fully wired like ikari told me to do 🙂
Here is a recto/verso of my pcb :

With which games have you tested ?

i used terranigma pal. mariokart pal and some others.
cant you disconnect the unused pins and test if it still works?

i wired all pins directly with wires. since all the inputs of the 133 are the same i used pins 12,13,14,15 for vcc instead of 1,2,3,4, so i could just bridge the solder from pin16 vcc.
is that ok ikari?

anyway im going to connect the unused pins now.

what is your mainboard revision ours? and your chipset code?


As I know, Super Mario Kart doesn’t have an ingame protection, for terranigma I don’t know.

I can’t disconnect the pins because the are on a pcb ! 🙂

imo go solder the all the pins like ikari told me to do ^^

My motherboard is a SNSP-CPU-02, and here you’ve got a nice picture of the stuff before I made the SuperCIC mod:

Ive redone the job with sockets, new chips and same connections like you.
Still wont work for me, i used many pal games whichnjust show me this gamepak is not…

thank you ikari 😉

you have the 2ppu snes. Mine is the 1chip, but that brings me to the idea to try it on my 2ppu.
If it works there, Ikari has to save the day with a new 1chip schematic. 😉

I didn’t have a PIC programmer, but I do have AVR’s. So I created an extremely basic PIC programmer with an AVR and did a quick-and-dirty patch to Jaakko Hyvätti’s Picprog to support it. It might be the cheapest way to build a halfway decent PIC programmer even if you have nothing to start with, because you can get an AVR programmer on eBay for $4 (the AVR itself is even cheaper, obviously). You can get my program here if you’re interested. And thanks for your super awesome CIC! I cheered when I found it, because now I don’t have… Read more »

Any news with your 2 PPU snes ?

It didnt work. The only 74133 ic i could get was the 74HC133, you used an the LS one.
I ordered some LS133 to have exactly the same setup like you. Will let you know.

sounds good, will try that right now ;). Thank you

I tried it also with two 133 Chips but still no go :(. Can you sell me a complete circuit?

Can you tell me which program/version you built this with? I’m trying to use the lock… it seems to work if I program your .hex file, but doesn’t work when I build it from source. I’m using MPLAB 8.85, MPASMWIN.exe v5.45, mplink.exe v4.43, and mplib.exe v4.43 . Any special build options?


Thanks… I finally got some time to dive into this problem. I tried building it with gputils, but it still wasn’t working. I disassembled the working file from this site, and the file I built, and it was almost identical (it’s ASM, it should be!), but your file had a few extra lines. I narrowed down where they were, and it appears that every time it does a banksel, yours writes bits RP0 and RP1 (two seperate instructions), and mine only writes RP0. The PIC16F630 only has RP0, with RP1 being a reserved bit (for compatibility with the larger devices… Read more »

>everything from line 248 onward (“trigger the slave”) up to line 1062 is timing critical Heh, I was afraid you were gonna say that, but that wasn’t unexpected. 😉 Oh well, NOPs are free… the code will be ugly, but should work. 🙂 If I get it working, I’d be glad to send it back here to keep it together, or host it myself. I imagine someone might find it useful (maybe in a Retrode or something). Regarding banksel, I didn’t see that change specifically called out in the gputils changelog, though it looks like there have been a few… Read more »

Having a issue. The game comes on for about 25 seconds and cuts off. I don’t have an IGR or anything. I did have the old switched Region Free mod working properly, and therefore pin 4 of the CIC is lifted. I’m guessing this is the problem. Unfortunately I don’t see any solder pad to solder leg 4 back, and I have no idea where to connect it to. Any help would be appreciated.

Replying to myself. A quick check of the old mod tells me all I have to do is supply pin 4 with +5v and it that will reactivate it. Will have to check tomorrow morning to know for sure.

That didn’t seem to help any. It still reacts the same when I supply 5V to pin 4.

I have the Super CIC wired up. It plays NTSC games, and PAL games just fine. It switches between the 3 modes just fine. However, it doesn’t play SA-1 games. My copy of Super Mario RPG doesn’t load. I’m pretty sure its wired up right. Any ideas of what could be wrong?

I noticed for a few of those you supply alternate cartridge pins on the ASM,. I checked for continuity between between the SuperCIC and cartridge pins, and found only one of them did. Is that an indication that something is wrong, are the old CIC pins directly wired to the cartridge slot?

I think the problem here is when I lifted the legs I took the solder pads with it. I thought I find adjacent vias, but I’m not positive they’re connected properly.

hi to all! i’ve a willem programmer 5.0: could you help me to understand how to program the supercic? i don’t understan which program i’ve to use


Hi guys I did the SuperCIC mod in a PAL SNSP-001A(FRG). I programmed the 16F630 with PicKit2 clone and MPLAB (File/ new project / add the lock.asm/ building the project / write). I set the fourth pin to Vcc and the original CIC onboard lifting the pins 1,2,10 and 11. If I understand correctly in this mode (4th pin to Vcc) ,if I insert a NTSC game in PAL mode, the frequency is set at 60Hz and after 9 seconds change to 50Hz. Also if I put a PAL game in NTSC mode, this will start in 50Hz and after… Read more »

Sorry for double post.
I forgot to mention that the program that I wrote onto the microcontroler is the last version and that the CIC’s footprint of my snes is damaged. The Footprint of pin 2 is practically lifted from the motherboard and maybe does bad contact. I can weld into the little hole that connects de upper side of the board to the bottom side so I will try to do it when I has time.

Problem solved.
After checking again all the conections i decide to add a in serial circuit programming port to program the microcontroler again. This time I used the provided .hex file and the PicKit2 programming aplication.

I have a same kind issue in my Super Famicom SNS-CPU-GPM-01 motherboard. Automode starts everytime in 60hz. 50hz mode and 60hz mode doesn’t change frequency at all if I put different native cartridge what is current frequency. I desoldered original cic and superCic Pin 4 is Vcc. Is there some difference between PAL Snes and SFC because all my other modded PAL snes consoles works perfectly? I have tried also another pic and check connections but no difference.

Hi there !

Has my previous post been seen ?

Hi there, very nice work!

Inspired by you, I decided to also create a PCB. Here is the schematic (not tested yet, hope I didn’t make any mistakes):

Jumpers can be used to setup the board:
* JP1 to set REG_TIMEOUT high or low
* JP2 to select LED_TYPE
* JP3 to set if the original CIC is still in place or not
* JP4 to enable/disable the D4 circuit

@ ikari does the circuit look correct to you?

have you an alternative point for the pin 10 of cic because the pin are broken ?

Hi edy !

Check my last project :

Pictures #12 and #13 in the 4th post !

Here I soldered trough the via, if you want to solder elsewhere go get a continuity tester an check if you get other spots.

I hope this will help you.



did your mod on a pal snes a few weeks ago for the first time, everything works fine.
Yesterday i moded a japan sfc, also everything fine except one little thing: I connected pin 4 to vcc on both systems on the pal System all games work fine. on the ntsc SFC I receive the “gamepak not designed” message if the wrong mode is selected!? Any debug ideas? 🙂

Best regards

HI, i want know if is possible to replace the D411 and use the SUper Ciic inside a cartridge, not for the porpose of multimode because will need a lot of conexions in PPU,but like a alternative CIC chip in cartridge,. Its possible????

I have fulfilled this mod with IGR and it works perfectly except the led that are not ignited simultaneously. Only they give voltage separately. Does it design someone?

I it have tried both ways with different led and the result is the same. I have measured the voltage in the pic and separately it gives 5v but together it does not give anything

I have just finished one 1chip with supercic + igr +mod 50/60hz and the same thing happens to me. The led do not ignite in automatic way. I put a game pal in automatic way and it does not change only to ntsc passed a few seconds

Solved. This led RGB works well with pin 7 to GND. Not since I tested before. Thank you Ikari you are a phenomenon

I want to mod my SNES and built a simple PIC Flasher using my Raspberry PI ( )
My problem is that the flasher application is strictly build to handle “small” MPUs and does not understand the “Extended Linear Address Record (Typ 04)” that is used at the beginning of the provided compiled hex file.

Recompiling in IHEX16 format like this should be okay right?

gpasm -c supercic-lock.asm supercic-lock.asm -a inhx16
gplink -o supercic-lock.hex supercic-lock.o -a inhx16

Thank you for all your work ikari 🙂

I have a metric ton of PIC 16F688’s do you see any issues with using that chip (im not that familiar with PIC)

no, you cant

Hi, and thanks for your work. I tried to use the super CIC lock file along with uIGR (both on PIC 18f630), but all the time the LED output from super CIC are inverted and conflict with uIGR. I can switch via reset button and get all the right colors with the right mode, BUT… When trying to switch via IGR, I can’t get orange to turn on. When trying to reprogram my CIC with the key file, the problem disapears. From what I understand, the lock file is for console installation right ? I had a look at the… Read more »

Ok, my bad… it seems the problem is more likely to come from the depreciated IGR… to be continued…

Dear Ikari,

Thank you for your outstanding work! I have setup a Super CIC on my SNES, everything is working like a charm. Except: My RESET Button – it stopped working – the button itself seems to be ok though. I am not very experienced with electronics but I am sure that my wiring is set properly. I used the schematics from here respectively from here. I am asking kindly for some ideas how to figure out the cause of this problem.

Best regards,

Hey Ikari, thank you for your assistance. Turned out that my wiring of PIC pin 13 was wrong. I falsely wired it to [original 18-pin SMD lock CIC pin 9] instead of 8. 9 seemes to be GRND. Thanks for heading me into the right direction. Best regards, Konrad

Hi, out of curiosity, is there any advantage of disabling the pair mode? I mean if it’s disabled then it will only work in either PAL or NTSC mode, whichever was already set right? What’s the unconnected state? It’s pretty confusing because browsing through PCB projects people made, some leave it unconnected, while others connect it either to pull up or down.

Hi ikari, Thank you for work on the SuperCIC and the Sd2snes! I have a couple of questions regarding the SuperCIC Key. 1) The ASM says I can tie pin 4 low or high to enable or disable pair mode. Low = enabled, high = disabled? Or is it the other way around? 2) The LED output is 5v? 3) I found an older (I’m assuming it’s older) version of the SuperCIC Key on GitHub which does not have the pair mode and blinks the LED when there’s an error. Is there any compatibility issues with this version of the… Read more »

Hey ikari,

No problem on the wait. Can’t complain about a short wait for free tech support for a free product. Thanks for your help, and thanks again for your hard work!

Actually never mind my previous post, I’ve found the answer, for anyone in the future looking for answer:
It does not matter, it will work either way on stock system. It’s for consoles with SuperCIC already installed.

Hi there! Have I fucked up horribly if I’ve accidentally ripped off the solder pad for F413 pin 10?


When writing program on the chip, an alert box said “The OSCAL value should be in the form of a RETLW instruction [ 34xx ] –> Currently [ 3Fxx ] –> Do you want this changed?”
Shall i choose “Yes” or “No” ?

Thanks in advance for you help

Hello, I have just made the SuperCIC in my S. Famicom (GPM-02) but I’m experiencing something I don’t know if it’s “expected” or not. Holding the RESET changes perfectly between AUTO, 60 and 50 Hz but everytime I power down the console and power it on, I have no LED light and I have to “reset” the console once. Sometimes (very few times and I could not determine what I did differently that time) when I turn on the console the LED turn on as well but it doesn’t match the “mode”. After some seconds it changes the mode (that’s… Read more »

Hi ikari,

As others before me, I thank you very much for all your hard work on the SuperCIC.

I would like to know if the supercic-lock.hex in the archive above is the latest version, because there is a mirror at Borti’s GitHub ( and when I compare the two files, they are not identical. And I even have another one on my computer (downloaded some years ago from your site) that has some differences too with those two previous.

Thank you.


In fact, the third one was from Wolfsoft tutorial.

Hi ikari,

Do you know what’s different in Borti’s version of SuperCIC lock? And which one we should use?

Thank you.

I replaced “banksel” with the corresponding two dedicated instructions. Also I add a “clrf ANSEL” within the initialization routine to get it compatible with the 16F676 (and 16F684).

Ran into an issue with a SuperCIC Key and the SuperCIC lock. My SNES has the lock installed, which works correctly, with pin 4 set to +5V. My friend sent me a repro he made with a SuperCIC key made to enter pair mode with a SuperCIC lock. When pair mode is set the SuperCIC lock shifts through video modes until landing on PAL mode, and stays there. Holding the reset button then does nothing. My SNES is NTSC. I’ve disabled pair mode by bridge different jumpers on the SuperCIC key and this results in it acting like any other… Read more »

Hi ikari, Firstly thanks for everything you do, I have an SD2SNES on it’s way to me in the post (hopefully). I had my PAL SNES modded and they put in the CIC chip (not the board) for switchless region changing. It seems to work fine with so far my only game (Starwing, which I know doesn’t really work with changing regions, garbled graphics), however with my Super Game Boy 2 whether I have it set to auto region or forced 60Hz, it will switch back to letter-boxed 50Hz, either very quickly or after a few minutes (seems to depend… Read more »

Hello! I have a problem with my superfamicom (jap). Switching 50/60 modes often does not work. Also there is a problem that when the reset button is pressed, it does not switch mode but resets the console. And again, mode 50 works without color.
I checked all solder points, soldered alternative points – without result. Motherboard SNS-cpu-gpm-02

Hello! I have a problem with my superfamicom (jap). Switching 50/60 modes often does not work. Also there is a problem that when the reset button is pressed, it does not switch mode but resets the console. And again, mode 50 works without color.
I checked all solder points, soldered alternative points – without result. Motherboard SNS-cpu-gpm-02

hi , i need a little bit of help.
I am making a repro cart
I use the top3000 ,
i want to program the super cic to my pic12f629

, first thing is i open topall program.
2 select the right chip then load the super cic file
3 then i click write then once done verify.
after i installed it no sucess game dosnt boot

is there something i do wrong ?

I am having the same issue. I also have a Top3000. Did you find a solution to this?

is there a manual or readme, what to do with key file?
i’ve got my superCIC built, and latest fw SD2snes (1.80).
but can’t find most detailes then just the download link.
think i figured out how to connect it all, but still…

Can anyone compile supercic.key for 12F675 instead of 12F629?
These pics should be equivalent but 675 has also a D/A that should be excluded during compilation. I tried to program 675 with 629 code, but results to work as a PAL CIC only.

I ordered a batch of 629 and they sent the 675s. Is there a way to get the code to work on the 675 so I don’t have to wait another month or two on stuff from China?

Seems 12F629 are out of production, so they are shipping 12F675 instead.

How would I get this working on a 12F675?

Should be recompiled for this chip. I tried to do that, but was unable to accomplish job…..


Hopefully I leave this in the correct place. I noticed region patching stopped working when I upgraded my SD2SNES to 1.10.3. Sadly I do not know exactly what firmware revision I was running prior to this.

My settings are:
Enable SuperCIC: Yes
Menu video mode: 60hz
Game Video Mode: Auto

I am running a PAL 1-chip rev 2 console.

Hi guys, one question with this. I own a1 chip board SNES and a couple of Super UFO old copiers (not the cartridge versions) one is Supero UFo 7 and the other Super UFO 8, so it seems the 1 chip board (bi classic SNESg model) has some kind of protection against those copiers. I also own a SNES jr. but it doenst have that compatibility problem. SO I was wondering if you are sure, that your SuperCIC chip would solve the compatibility issues with my old copiers.

[…] All you want is a PIC12F629, a exiguous tiny 8-pin microcontroller, and some customized code from SD2SNES. Kindly extract the folder and salvage the file named “supercic-key.hex” and MAKE SURE it ends […]

hello I have a pal 2 chip snes console and sd2snes rev x which file I have to flash to the pic?

link off

I downloaded the archive file on github, but I couldn’t find the cic-key.hex that I used to burn on 12F629, to make SNES carts regionfree.

– Olá bom dia ! Sou o Isaac e tô muito precisando de uma ajuda. Tenho uma Sd2 e tô passando por um perrengue com Super Mario Rpg O jogo tem vários bugs e não funciona corretamente no meu Snes o meu Snes tá desbloqueado e eu já fiz um teste em um Console bloqueado e ele funcionou certinho sem travar com o Kirby’s Dream land 3 acontece a mesma coisa. Tem alguma solução modificando algo na Sd2 para que ele funcione ?

Would this (in theory) Work for the NES as well? Are the chips (and regions) identical between consoles?

Hi, and thanks for this amazing work !!

Would love your thoughts, please comment.x