CIC lockout chip pinout
From Nesdev wiki
NES CIC lockout chip
----_----
Data Out 01 <-x|P0.0 Vcc|--- 16 +5V
Data In 02 x->|P0.1 P2.2|x-x 15 Gnd
Seed 03 x->|P0.2 P2.1|x-x 14 Gnd
Lock/Key 04 x->|P0.3 P2.0|x-x 13 Gnd
N/C 05 x- |Xout P1.3|<-x 12 Gnd/Reset speed B
Clk in 06 ->|Xin P1.2|<-x 11 Gnd/Reset speed A
Reset 07 ->|Rset P1.1|x-> 10 Slave CIC reset
Gnd 08 ---|Gnd P1.0|x-> 09 /Host reset
---------
P0.x = I/O port 0
P1.x = I/O port 1
P2.x = I/O port 2
Xin = Clock Input
Xout = Clock Output
Rset = Reset
Vcc = Input voltage
Gnd = Ground
->| = input
<-| = output
-x| = unused as input
x-| = unused as output
--- = Neither input or output
The CIC is a primitive 4-bit microcontroller. It contains the following registers:
+-+ +-------+ +-------+-------+-------+-------+
|C| | A | | | | | |
+-+ +-+-+-+-+ +- - - - - - - - - - - - - - - -+
| X | | | | | |
+---+-+-+-+-+ +- - - - - - - - - - - - - - - -+
| P | | | | | |
| PH| PL | +- - - - - - - - - - - - - - - -+
+-------+-+-+-+-+-+-+ | | | | |
| IC | +- - - - - - - -R- - - - - - - -+
+-+-+-+-+-+-+-+-+-+-+ | | | | |
| | +- - - - - - - - - - - - - - - -+
+- - - - - - - - - -+ | | | | |
| | +- - - - - - - - - - - - - - - -+
+- - - - -S- - - - -+ | | | | |
| | +- - - - - - - - - - - - - - - -+
+- - - - - - - - - -+ | | | | |
| | +- - - - - - - - - - - - - - - -+
+-+-+-+-+-+-+-+-+-+-+
A = 4-bit Accumulator
C = Carry flag
X = 4-bit General register
P = Pointer, used for memory access
PH = Upper 2-bits of P
PL = Lower 4-bits of P, used for I/O
IC = Instruction counter, to save some space; it counts in a polynominal manner instead of linear manner
S = Stack for the IC register
R = 32 nibbles of RAM
There are also 512 (768 for the 3195A) bytes of ROM, where the executable code is stored.
Kevtris' CIClone Lockout chip pinout
,---_---.
+5V 1 ---|01 08|-- 8 GND
CLK 2 x->|02 07|<-x /Force NTSC
Lockout functioning 3 <-x|03 06|x-> Data Out
Data In 4 x->|04 05|<-x Reset
`-------'
- Lockout functioning - this signal goes high when the lockout chip successfully completes 64 frames.
The "lockout functioning" pin is only for debug use. Do not rely on it as some form of cartridge power up reset. Due to toploaders lacking the 4MHz clock, this pin will float or do odd things in those systems. Cutting pin 4 of the lockout chip on a frontloader will cause the pin never to go high.
- /force NTSC - pulling this pin low forces the chip into NTSC only (3193 only) mode.
The three PAL modes are not usable. Floating (disconnecting) this pin allows the chip to try all 4 regions.