-
-
Notifications
You must be signed in to change notification settings - Fork 3
Programming the CIC
The CIC clone by krikzz uses the ATTINY13 microcontroller. You need an AVR programmer to properly load the program into the chip. You can use the GQ-4×4 or the T48 (or probably some other programmer that I'm not covering here).
In order to program the ATTINY13, first select the proper chip in the programmer's "Select IC" menu, and load the code found here (I could not find the original file uploaded on kirkzz’s website, but you should still check out his stuff). Make sure you load the .hex file, and load it in as a .hex file. The ASCII translation on line 0x380 should read “krikzz was here!” – that’s how you know it loaded correctly.

Before programming the code, you need to set the configuration bits on the chip.
On the Xgpro software, click the "Config" tab near the bottom of the screen to switch to the configuration window. Then set the following bits:

Now, click back to the "Flash" tab, and click Device > Program.
For the GQ-4x4, you will instead write the software to the chip first, and then set the config bits. So go ahead and program the chip with the code by going to Command > Write.
Now, to set the config bits, click the “CFG” button (between the "ID" and byteswap buttons). Then, set the bits like this:

Now just click "Write".
This step is for after you've finished assembly. If your console doesn't immediately recognize the new clone CIC and gives you a flashing constantly-resetting screen, then you have to hit the Reset button on the console a handful of times. Anecdotally, I usually press the Reset button 5 to 10 times before it works. This will command the ATTINY13 to communicate with your console's internal CIC to properly set the region. After it's been set, you won't have to perform this step again (unless you use it in a different region NES, in which case you just perform this step again).