CIC lockout chip pinout
From NESdev Wiki
Jump to navigationJump to search
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.