Difference between revisions of "CIC lockout chip pinout"

From Nesdev wiki
Jump to navigationJump to search
m (Created page with '== NES CIC lockout chip == <pre> ---_--- DATA_OUT <-|01 16|<- VCC (+5V) DATA_IN ->|02 15|<- GND SEED ->|03 14|<- GND LOCK/KEY ->|04 13|<- G...')
 
Line 1: Line 1:
 
== NES [[CIC lockout chip]] ==
 
== NES [[CIC lockout chip]] ==
 
<pre>
 
<pre>
              ---_---
+
                ----_----
  DATA_OUT  <-|01  16|<- VCC (+5V)
+
  Data Out 01 <-x|P0.0  Vcc|--- 16 +5V
  DATA_IN  ->|02  15|<- GND
+
  Data In  02 x->|P0.1 P2.2|x-x 15 Gnd
  SEED      ->|03  14|<- GND
+
Seed    03 x->|P0.2 P2.1|x-x 14 Gnd
  LOCK/KEY ->|04  13|<- GND
+
Lock/Key 04 x->|P0.3 P2.0|x-x 13 Gnd
  UNKNOWN2 - |05   12|<- GND
+
N/C      05 x- |Xout P1.3|<-x 12 Gnd/Reset speed B
  CLK       ->|06   11|<- GND
+
  Clk in  06  ->|Xin  P1.2|<-x 11 Gnd/Reset speed A
  RESET    ->|07  10|-> SLAVE CIC RESET
+
Reset    07  ->|Rset P1.1|x-> 10 Slave CIC reset
  GND       ->|08  09|-> /CPU & PPU 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    |  |      |      |      |      |
 +
        | PHPL  |  +- - - - - - - - - - - - - - - -+
 +
+-------+-+-+-+-+-+-+  |      |      |      |      |
 +
|        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 3195) bytes of ROM, where the executable code is stored.
 
</pre>
 
</pre>
  
 
[[Category:Pinouts]]
 
[[Category:Pinouts]]

Revision as of 21:47, 5 May 2010

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 3195) bytes of ROM, where the executable code is stored.