Skip to content

Programming the CIC

Nick edited this page Oct 23, 2025 · 2 revisions

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).

Load the Code

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.

krikzz

Set the Config Bits, and Program

Before programming the code, you need to set the configuration bits on the chip.

T48

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:

avrcic_cfg-2

Now, click back to the "Flash" tab, and click Device > Program.

GQ-4x4

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:

avrcic_cfg-1

Now just click "Write".

Setting the Region

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).

Clone this wiki locally