Integrated Circuit Chips: Difference between revisions

From NerdConsole
Jump to navigationJump to search
No edit summary
No edit summary
Line 107: Line 107:


= RAM =
= RAM =
System RAM in NerdConsole should operate at 55ns or faster.
== AS6C62256 ==
== AS6C62256 ==
This 32KB RAM chip is used for NerdConsole's 16KB of Main RAM.  There aren't any readily available 16KB static RAM chips, so the decision was made to use a 32KB chip instead, and only use half of it.  Main RAM was intentionally placed on a separate chip from Extended RAM to simplify bank selecting logic.
This 32KB RAM chip is used for NerdConsole's 16KB of Main RAM.  There aren't any readily available 16KB static RAM chips, so the decision was made to use a 32KB chip instead, and only use half of it.  Main RAM was intentionally placed on a separate chip from Extended RAM to simplify bank selecting logic.
Line 268: Line 270:


= ROM =
= ROM =
Several different types of ROM chips can be used for cartridges.
Cartridge ROM in NerdConsole should operate at 150ns or faster.  There are several cartridge specifications that use different types of ROM chips.
== 8KB ==
 
== 32KB ==
== AT28C64 ==
== 64KB ==
This 8KB ROM chip is so small (storage-wise) that it represents only 1/2 of one bank.  The use of this chip in a cartridge is generally expected to be for coding challenges that try to do as much as possible with as little code as possible.
== 128KB ==
 
== 256KB ==
{| class="wikitable"
== 512KB ==
| style="text-align:right" width="180" | NC
! style="text-align:left" width="30" | 1
! style="text-align:right" width="30" | 28
| style="text-align:left" width="180" | VCC
|-
| style="text-align:right" | A12
! style="text-align:left" | 2
! style="text-align:right" | 27
| style="text-align:left" | ~WE
|-
| style="text-align:right" | A7
! style="text-align:left" | 3
! style="text-align:right" | 26
| style="text-align:left" | NC
|-
| style="text-align:right" | A6
! style="text-align:left" | 4
! style="text-align:right" | 25
| style="text-align:left" | A8
|-
| style="text-align:right" | A5
! style="text-align:left" | 5
! style="text-align:right" | 24
| style="text-align:left" | A9
|-
| style="text-align:right" | A4
! style="text-align:left" | 6
! style="text-align:right" | 23
| style="text-align:left" | A11
|-
| style="text-align:right" | A3
! style="text-align:left" | 7
! style="text-align:right" | 22
| style="text-align:left" | ~OE
|-
| style="text-align:right" | A2
! style="text-align:left" | 8
! style="text-align:right" | 21
| style="text-align:left" | A10
|-
| style="text-align:right" | A1
! style="text-align:left" | 9
! style="text-align:right" | 20
| style="text-align:left" | ~CE
|-
| style="text-align:right" | A0
! style="text-align:left" | 10
! style="text-align:right" | 19
| style="text-align:left" | D7
|-
| style="text-align:right" | D0
! style="text-align:left" | 11
! style="text-align:right" | 18
| style="text-align:left" | D6
|-
| style="text-align:right" | D1
! style="text-align:left" | 12
! style="text-align:right" | 17
| style="text-align:left" | D5
|-
| style="text-align:right" | D2
! style="text-align:left" | 13
! style="text-align:right" | 16
| style="text-align:left" | D4
|-
| style="text-align:right" | GND
! style="text-align:left" | 14
! style="text-align:right" | 15
| style="text-align:left" | D3
|}
 
== AT28C256 ==
This 32KB ROM chip is used in small cartridges and typically provides exactly one bank of each of Low ROM and High ROM without the need for any support chips.
 
{| class="wikitable"
| style="text-align:right" width="180" | A14
! style="text-align:left" width="30" | 1
! style="text-align:right" width="30" | 28
| style="text-align:left" width="180" | VCC
|-
| style="text-align:right" | A12
! style="text-align:left" | 2
! style="text-align:right" | 27
| style="text-align:left" | ~WE
|-
| style="text-align:right" | A7
! style="text-align:left" | 3
! style="text-align:right" | 26
| style="text-align:left" | A13
|-
| style="text-align:right" | A6
! style="text-align:left" | 4
! style="text-align:right" | 25
| style="text-align:left" | A8
|-
| style="text-align:right" | A5
! style="text-align:left" | 5
! style="text-align:right" | 24
| style="text-align:left" | A9
|-
| style="text-align:right" | A4
! style="text-align:left" | 6
! style="text-align:right" | 23
| style="text-align:left" | A11
|-
| style="text-align:right" | A3
! style="text-align:left" | 7
! style="text-align:right" | 22
| style="text-align:left" | ~OE
|-
| style="text-align:right" | A2
! style="text-align:left" | 8
! style="text-align:right" | 21
| style="text-align:left" | A10
|-
| style="text-align:right" | A1
! style="text-align:left" | 9
! style="text-align:right" | 20
| style="text-align:left" | ~CE
|-
| style="text-align:right" | A0
! style="text-align:left" | 10
! style="text-align:right" | 19
| style="text-align:left" | D7
|-
| style="text-align:right" | D0
! style="text-align:left" | 11
! style="text-align:right" | 18
| style="text-align:left" | D6
|-
| style="text-align:right" | D1
! style="text-align:left" | 12
! style="text-align:right" | 17
| style="text-align:left" | D5
|-
| style="text-align:right" | D2
! style="text-align:left" | 13
! style="text-align:right" | 16
| style="text-align:left" | D4
|-
| style="text-align:right" | GND
! style="text-align:left" | 14
! style="text-align:right" | 15
| style="text-align:left" | D3
|}
 
== W27C512 ==
This is a 64KB ROM chip that is both fast and usually inexpensive.
 
{| class="wikitable"
| style="text-align:right" width="180" | A15
! style="text-align:left" width="30" | 1
! style="text-align:right" width="30" | 28
| style="text-align:left" width="180" | VCC
|-
| style="text-align:right" | A12
! style="text-align:left" | 2
! style="text-align:right" | 27
| style="text-align:left" | A14
|-
| style="text-align:right" | A7
! style="text-align:left" | 3
! style="text-align:right" | 26
| style="text-align:left" | A13
|-
| style="text-align:right" | A6
! style="text-align:left" | 4
! style="text-align:right" | 25
| style="text-align:left" | A8
|-
| style="text-align:right" | A5
! style="text-align:left" | 5
! style="text-align:right" | 24
| style="text-align:left" | A9
|-
| style="text-align:right" | A4
! style="text-align:left" | 6
! style="text-align:right" | 23
| style="text-align:left" | A11
|-
| style="text-align:right" | A3
! style="text-align:left" | 7
! style="text-align:right" | 22
| style="text-align:left" | ~OE
|-
| style="text-align:right" | A2
! style="text-align:left" | 8
! style="text-align:right" | 21
| style="text-align:left" | A10
|-
| style="text-align:right" | A1
! style="text-align:left" | 9
! style="text-align:right" | 20
| style="text-align:left" | ~CE
|-
| style="text-align:right" | A0
! style="text-align:left" | 10
! style="text-align:right" | 19
| style="text-align:left" | D7
|-
| style="text-align:right" | D0
! style="text-align:left" | 11
! style="text-align:right" | 18
| style="text-align:left" | D6
|-
| style="text-align:right" | D1
! style="text-align:left" | 12
! style="text-align:right" | 17
| style="text-align:left" | D5
|-
| style="text-align:right" | D2
! style="text-align:left" | 13
! style="text-align:right" | 16
| style="text-align:left" | D4
|-
| style="text-align:right" | GND
! style="text-align:left" | 14
! style="text-align:right" | 15
| style="text-align:left" | D3
|}
 
== SST39SF010 ==
This is the 128KB version of this ROM chip.  This chip has the advantage of being writable at 5V and can thus be used for cartridges that allow save games to be stored.
 
{| class="wikitable"
| style="text-align:right" width="180" | NC
! style="text-align:left" width="30" | 1
! style="text-align:right" width="30" | 32
| style="text-align:left" width="180" | VCC
|-
| style="text-align:right" | A16
! style="text-align:left" | 2
! style="text-align:right" | 31
| style="text-align:left" | ~WE
|-
| style="text-align:right" | A15
! style="text-align:left" | 3
! style="text-align:right" | 30
| style="text-align:left" | NC
|-
| style="text-align:right" | A12
! style="text-align:left" | 4
! style="text-align:right" | 29
| style="text-align:left" | A14
|-
| style="text-align:right" | A7
! style="text-align:left" | 5
! style="text-align:right" | 28
| style="text-align:left" | A13
|-
| style="text-align:right" | A6
! style="text-align:left" | 6
! style="text-align:right" | 27
| style="text-align:left" | A8
|-
| style="text-align:right" | A5
! style="text-align:left" | 7
! style="text-align:right" | 26
| style="text-align:left" | A9
|-
| style="text-align:right" | A4
! style="text-align:left" | 8
! style="text-align:right" | 25
| style="text-align:left" | A11
|-
| style="text-align:right" | A3
! style="text-align:left" | 9
! style="text-align:right" | 24
| style="text-align:left" | ~OE
|-
| style="text-align:right" | A2
! style="text-align:left" | 10
! style="text-align:right" | 23
| style="text-align:left" | A10
|-
| style="text-align:right" | A1
! style="text-align:left" | 11
! style="text-align:right" | 22
| style="text-align:left" | ~CE
|-
| style="text-align:right" | A0
! style="text-align:left" | 12
! style="text-align:right" | 21
| style="text-align:left" | D7
|-
| style="text-align:right" | D0
! style="text-align:left" | 13
! style="text-align:right" | 20
| style="text-align:left" | D6
|-
| style="text-align:right" | D1
! style="text-align:left" | 14
! style="text-align:right" | 19
| style="text-align:left" | D5
|-
| style="text-align:right" | D2
! style="text-align:left" | 15
! style="text-align:right" | 18
| style="text-align:left" | D4
|-
| style="text-align:right" | GND
! style="text-align:left" | 16
! style="text-align:right" | 17
| style="text-align:left" | D3
|}
 
== SST39SF020 ==
This is the 256KB version of this ROM chip.  This chip has the advantage of being writable at 5V and can thus be used for cartridges that allow save games to be stored.
 
{| class="wikitable"
| style="text-align:right" width="180" | NC
! style="text-align:left" width="30" | 1
! style="text-align:right" width="30" | 32
| style="text-align:left" width="180" | VCC
|-
| style="text-align:right" | A16
! style="text-align:left" | 2
! style="text-align:right" | 31
| style="text-align:left" | ~WE
|-
| style="text-align:right" | A15
! style="text-align:left" | 3
! style="text-align:right" | 30
| style="text-align:left" | A17
|-
| style="text-align:right" | A12
! style="text-align:left" | 4
! style="text-align:right" | 29
| style="text-align:left" | A14
|-
| style="text-align:right" | A7
! style="text-align:left" | 5
! style="text-align:right" | 28
| style="text-align:left" | A13
|-
| style="text-align:right" | A6
! style="text-align:left" | 6
! style="text-align:right" | 27
| style="text-align:left" | A8
|-
| style="text-align:right" | A5
! style="text-align:left" | 7
! style="text-align:right" | 26
| style="text-align:left" | A9
|-
| style="text-align:right" | A4
! style="text-align:left" | 8
! style="text-align:right" | 25
| style="text-align:left" | A11
|-
| style="text-align:right" | A3
! style="text-align:left" | 9
! style="text-align:right" | 24
| style="text-align:left" | ~OE
|-
| style="text-align:right" | A2
! style="text-align:left" | 10
! style="text-align:right" | 23
| style="text-align:left" | A10
|-
| style="text-align:right" | A1
! style="text-align:left" | 11
! style="text-align:right" | 22
| style="text-align:left" | ~CE
|-
| style="text-align:right" | A0
! style="text-align:left" | 12
! style="text-align:right" | 21
| style="text-align:left" | D7
|-
| style="text-align:right" | D0
! style="text-align:left" | 13
! style="text-align:right" | 20
| style="text-align:left" | D6
|-
| style="text-align:right" | D1
! style="text-align:left" | 14
! style="text-align:right" | 19
| style="text-align:left" | D5
|-
| style="text-align:right" | D2
! style="text-align:left" | 15
! style="text-align:right" | 18
| style="text-align:left" | D4
|-
| style="text-align:right" | GND
! style="text-align:left" | 16
! style="text-align:right" | 17
| style="text-align:left" | D3
|}
 
== SST39SF040 ==
This is the 512KB version of this ROM chip.  This chip has the advantage of being writable at 5V and can thus be used for cartridges that allow save games to be stored.
 
{| class="wikitable"
| style="text-align:right" width="180" | A18
! style="text-align:left" width="30" | 1
! style="text-align:right" width="30" | 32
| style="text-align:left" width="180" | VCC
|-
| style="text-align:right" | A16
! style="text-align:left" | 2
! style="text-align:right" | 31
| style="text-align:left" | ~WE
|-
| style="text-align:right" | A15
! style="text-align:left" | 3
! style="text-align:right" | 30
| style="text-align:left" | A17
|-
| style="text-align:right" | A12
! style="text-align:left" | 4
! style="text-align:right" | 29
| style="text-align:left" | A14
|-
| style="text-align:right" | A7
! style="text-align:left" | 5
! style="text-align:right" | 28
| style="text-align:left" | A13
|-
| style="text-align:right" | A6
! style="text-align:left" | 6
! style="text-align:right" | 27
| style="text-align:left" | A8
|-
| style="text-align:right" | A5
! style="text-align:left" | 7
! style="text-align:right" | 26
| style="text-align:left" | A9
|-
| style="text-align:right" | A4
! style="text-align:left" | 8
! style="text-align:right" | 25
| style="text-align:left" | A11
|-
| style="text-align:right" | A3
! style="text-align:left" | 9
! style="text-align:right" | 24
| style="text-align:left" | ~OE
|-
| style="text-align:right" | A2
! style="text-align:left" | 10
! style="text-align:right" | 23
| style="text-align:left" | A10
|-
| style="text-align:right" | A1
! style="text-align:left" | 11
! style="text-align:right" | 22
| style="text-align:left" | ~CE
|-
| style="text-align:right" | A0
! style="text-align:left" | 12
! style="text-align:right" | 21
| style="text-align:left" | D7
|-
| style="text-align:right" | D0
! style="text-align:left" | 13
! style="text-align:right" | 20
| style="text-align:left" | D6
|-
| style="text-align:right" | D1
! style="text-align:left" | 14
! style="text-align:right" | 19
| style="text-align:left" | D5
|-
| style="text-align:right" | D2
! style="text-align:left" | 15
! style="text-align:right" | 18
| style="text-align:left" | D4
|-
| style="text-align:right" | GND
! style="text-align:left" | 16
! style="text-align:right" | 17
| style="text-align:left" | D3
|}


= Audio =
= Audio =
The audio system in NerdConsole has a dedicated audio processor which is driven the CPU.  The output of that is then piped to the Raspberry Pi based PPU for inclusion in the HDMI signal.
== YM-3812 ==
== YM-3812 ==
The Yamaha YM-3812 is the same audio processor that was found in countless Adlib and SoundBlaster sound cards.
{| class="wikitable"
| style="text-align:right" width="180" | VCC
! style="text-align:left" width="30" | 1
! style="text-align:right" width="30" | 24
| style="text-align:left" width="180" | M
|-
| style="text-align:right" | ~IRQ
! style="text-align:left" | 2
! style="text-align:right" | 23
| style="text-align:left" | SY
|-
| style="text-align:right" | ~IC
! style="text-align:left" | 3
! style="text-align:right" | 22
| style="text-align:left" | NC
|-
| style="text-align:right" | A0
! style="text-align:left" | 4
! style="text-align:right" | 21
| style="text-align:left" | MO
|-
| style="text-align:right" | ~WR
! style="text-align:left" | 5
! style="text-align:right" | 20
| style="text-align:left" | SH
|-
| style="text-align:right" | ~RD
! style="text-align:left" | 6
! style="text-align:right" | 19
| style="text-align:left" | NC
|-
| style="text-align:right" | ~CS
! style="text-align:left" | 7
! style="text-align:right" | 18
| style="text-align:left" | D7
|-
| style="text-align:right" | NC
! style="text-align:left" | 8
! style="text-align:right" | 17
| style="text-align:left" | D6
|-
| style="text-align:right" | NC
! style="text-align:left" | 9
! style="text-align:right" | 16
| style="text-align:left" | D5
|-
| style="text-align:right" | D0
! style="text-align:left" | 10
! style="text-align:right" | 15
| style="text-align:left" | D4
|-
| style="text-align:right" | D1
! style="text-align:left" | 11
! style="text-align:right" | 14
| style="text-align:left" | D3
|-
| style="text-align:right" | GND
! style="text-align:left" | 12
! style="text-align:right" | 13
| style="text-align:left" | D2
|}
== YM-3014 ==
== YM-3014 ==
This chip is a digital to analog converter (DAC) and is used to convert the digital signals produced by the YM-3812 into actual analog audio waveforms.
{| class="wikitable"
| style="text-align:right" width="180" | VCC
! style="text-align:left" width="30" | 1
! style="text-align:right" width="30" | 8
| style="text-align:left" width="180" | MP
|-
| style="text-align:right" | To BUFF
! style="text-align:left" | 2
! style="text-align:right" | 7
| style="text-align:left" | RB
|-
| style="text-align:right" | LOAD
! style="text-align:left" | 3
! style="text-align:right" | 6
| style="text-align:left" | GND
|-
| style="text-align:right" | SD
! style="text-align:left" | 4
! style="text-align:right" | 5
| style="text-align:left" | CLOCK
|}


= Logic =
= Logic =
Line 682: Line 1,247:
| style="text-align:left" | CLK
| style="text-align:left" | CLK
|}
|}
= Clock =
Clock generation is handled with crystal oscillators.  Regardless of the size (DIP-8 or DIP-14) the pinout is the same.
{| class="wikitable"
| style="text-align:right" width="180" | NC
! style="text-align:left" width="30" | 1
! style="text-align:right" width="30" | 4
| style="text-align:left" width="180" | VCC
|-
| style="text-align:right" | GND
! style="text-align:left" | 2
! style="text-align:right" | 3
| style="text-align:left" | Clock
|}
== CPU Clock ==
The main CPU in NerdConsole operates at 6.00 MHz.
== Audio Clock ==
The audio system in NerdConsole operates at 3.58 MHz.  There is an independent clock crystal for this instead of and form of clock division of the main CPU clock.

Revision as of 20:48, 21 January 2024

This is a collection of pinouts and basic descriptions for all of the various chips used in NerdConsole.

Processor

65C02

This is the main processor in NerdConsole. It is operated at 6.00 MHz.

~VP (Vector Pull) 1 40 ~RES (Reset)
RDY (Ready) 2 39 PHI2O (Phase 2 Clock Out)
PHI1O (Phase 1 Clock Out) 3 38 ~SO (Set Overflow)
~IRQ (Interrupt Request) 4 37 Phase 2 Clock In
~ML (Memory Lock) 5 36 BE (Bus Enable)
~NMI (Non-Maskable Interrupt) 6 35 NC
SYNC 7 34 R~W (Read/~Write)
VCC 8 33 D0
A0 9 32 D1
A1 10 31 D2
A2 11 30 D3
A3 12 29 D4
A4 13 28 D5
A5 14 27 D6
A6 15 26 D7
A7 16 25 A15
A8 17 24 A14
A9 18 23 A13
A10 19 22 A12
A11 20 21 GND

RAM

System RAM in NerdConsole should operate at 55ns or faster.

AS6C62256

This 32KB RAM chip is used for NerdConsole's 16KB of Main RAM. There aren't any readily available 16KB static RAM chips, so the decision was made to use a 32KB chip instead, and only use half of it. Main RAM was intentionally placed on a separate chip from Extended RAM to simplify bank selecting logic.

A14 1 28 VCC
A12 2 27 ~WE
A7 3 26 A13
A6 4 25 A8
A5 5 24 A9
A4 6 23 A11
A3 7 22 ~OE
A2 8 21 A10
A1 9 20 ~CE
A0 10 19 D7
D0 11 18 D6
D1 12 17 D5
D2 13 16 D4
GND 14 15 D3

AS6C4008

This 512KB RAM chip is used for Extended RAM and provides 32x 16KB banks.

A18 1 32 VCC
A16 2 31 A15
A14 3 30 A17
A12 4 29 ~WE
A7 5 28 A13
A6 6 27 A8
A5 7 26 A9
A4 8 25 A11
A3 9 24 ~OE
A2 10 23 A10
A1 11 22 ~CE
A0 12 21 D7
D0 13 20 D6
D1 14 19 D5
D2 15 18 D4
GND 16 17 D3

ROM

Cartridge ROM in NerdConsole should operate at 150ns or faster. There are several cartridge specifications that use different types of ROM chips.

AT28C64

This 8KB ROM chip is so small (storage-wise) that it represents only 1/2 of one bank. The use of this chip in a cartridge is generally expected to be for coding challenges that try to do as much as possible with as little code as possible.

NC 1 28 VCC
A12 2 27 ~WE
A7 3 26 NC
A6 4 25 A8
A5 5 24 A9
A4 6 23 A11
A3 7 22 ~OE
A2 8 21 A10
A1 9 20 ~CE
A0 10 19 D7
D0 11 18 D6
D1 12 17 D5
D2 13 16 D4
GND 14 15 D3

AT28C256

This 32KB ROM chip is used in small cartridges and typically provides exactly one bank of each of Low ROM and High ROM without the need for any support chips.

A14 1 28 VCC
A12 2 27 ~WE
A7 3 26 A13
A6 4 25 A8
A5 5 24 A9
A4 6 23 A11
A3 7 22 ~OE
A2 8 21 A10
A1 9 20 ~CE
A0 10 19 D7
D0 11 18 D6
D1 12 17 D5
D2 13 16 D4
GND 14 15 D3

W27C512

This is a 64KB ROM chip that is both fast and usually inexpensive.

A15 1 28 VCC
A12 2 27 A14
A7 3 26 A13
A6 4 25 A8
A5 5 24 A9
A4 6 23 A11
A3 7 22 ~OE
A2 8 21 A10
A1 9 20 ~CE
A0 10 19 D7
D0 11 18 D6
D1 12 17 D5
D2 13 16 D4
GND 14 15 D3

SST39SF010

This is the 128KB version of this ROM chip. This chip has the advantage of being writable at 5V and can thus be used for cartridges that allow save games to be stored.

NC 1 32 VCC
A16 2 31 ~WE
A15 3 30 NC
A12 4 29 A14
A7 5 28 A13
A6 6 27 A8
A5 7 26 A9
A4 8 25 A11
A3 9 24 ~OE
A2 10 23 A10
A1 11 22 ~CE
A0 12 21 D7
D0 13 20 D6
D1 14 19 D5
D2 15 18 D4
GND 16 17 D3

SST39SF020

This is the 256KB version of this ROM chip. This chip has the advantage of being writable at 5V and can thus be used for cartridges that allow save games to be stored.

NC 1 32 VCC
A16 2 31 ~WE
A15 3 30 A17
A12 4 29 A14
A7 5 28 A13
A6 6 27 A8
A5 7 26 A9
A4 8 25 A11
A3 9 24 ~OE
A2 10 23 A10
A1 11 22 ~CE
A0 12 21 D7
D0 13 20 D6
D1 14 19 D5
D2 15 18 D4
GND 16 17 D3

SST39SF040

This is the 512KB version of this ROM chip. This chip has the advantage of being writable at 5V and can thus be used for cartridges that allow save games to be stored.

A18 1 32 VCC
A16 2 31 ~WE
A15 3 30 A17
A12 4 29 A14
A7 5 28 A13
A6 6 27 A8
A5 7 26 A9
A4 8 25 A11
A3 9 24 ~OE
A2 10 23 A10
A1 11 22 ~CE
A0 12 21 D7
D0 13 20 D6
D1 14 19 D5
D2 15 18 D4
GND 16 17 D3

Audio

The audio system in NerdConsole has a dedicated audio processor which is driven the CPU. The output of that is then piped to the Raspberry Pi based PPU for inclusion in the HDMI signal.

YM-3812

The Yamaha YM-3812 is the same audio processor that was found in countless Adlib and SoundBlaster sound cards.

VCC 1 24 M
~IRQ 2 23 SY
~IC 3 22 NC
A0 4 21 MO
~WR 5 20 SH
~RD 6 19 NC
~CS 7 18 D7
NC 8 17 D6
NC 9 16 D5
D0 10 15 D4
D1 11 14 D3
GND 12 13 D2

YM-3014

This chip is a digital to analog converter (DAC) and is used to convert the digital signals produced by the YM-3812 into actual analog audio waveforms.

VCC 1 8 MP
To BUFF 2 7 RB
LOAD 3 6 GND
SD 4 5 CLOCK

Logic

NerdConsole uses a variety of logic chips for address decoding, holding register values, and buffering data as it moves between systems.

74HCT00

This chip provides four 2-input NAND gates.

1A 1 14 VCC
1B 2 13 4B
1Y 3 12 4A
2A 4 11 4Y
2B 5 10 3B
2Y 6 9 3A
GND 7 8 3Y

74HCT08

This chip provides four 2-input AND gates.

1A 1 14 VCC
1B 2 13 4B
1Y 3 12 4A
2A 4 11 4Y
2B 5 10 3B
2Y 6 9 3A
GND 7 8 3Y

74HCT14

This chip provides six signal inverters.

1A 1 14 VCC
1Y 2 13 6A
2A 3 12 6Y
2Y 4 11 5A
3A 5 10 5Y
3Y 6 9 4A
GND 7 8 4Y

74HCT30

This chip provides a single 8-input NAND gate. This is used to identify when extended RAM bank 255 is selected and thus extended RAM writes should instead be directed to the PPU.

A 1 14 VCC
B 2 13 NC
C 3 12 H
D 4 11 G
E 5 10 NC
F 6 9 NC
GND 7 8 Y

74HCT32

This chip provides four 2-input OR gates.

1A 1 14 VCC
1B 2 13 4B
1Y 3 12 4A
2A 4 11 4Y
2B 5 10 3B
2Y 6 9 3A
GND 7 8 3Y

74HCT139

This chip is provides 2 separate 2 to 4 line decoders. Each takes 2 inputs as a 2-bit number (0-3) and turns on the single line that corresponds to that number as output.

~1G 1 16 VCC
1A 2 15 ~2G
1B 3 14 2A
1Y0 4 13 2B
1Y1 5 12 2Y0
1Y2 6 11 2Y1
1Y3 7 10 2Y2
GND 8 9 2Y3

74HCT238

This chip is a 3 to 8 line decoder. It takes 3 inputs as a 3-bit number (0-7) and turns on the single line that corresponds to that number as output.

A0 1 16 VCC
A1 2 15 Y0
A2 3 14 Y1
~G0 4 13 Y2
~G1 5 12 Y3
G2 6 11 Y4
Y7 7 10 Y5
GND 8 9 Y6

74HCT240

This chip reads the state of all 8 possible controllers and inverts the signal turning the 0s from pressed buttons into 1s.

~1OE 1 20 VCC
1A0 2 19 ~2OE
~2Y3 3 18 ~1Y0
1A1 4 17 2A3
~2Y2 5 16 ~1Y1
1A2 6 15 2A2
~2Y1 7 14 ~1Y2
1A3 8 13 2A1
~2Y0 9 12 ~1Y3
GND 10 11 2A0

74HCT273

This chip provides an octal D-type flip-flops with a clear pin for ensuring a known state upon system reset. These are commonly used for holding upper address pin values for bank selection.

~CLR 1 20 VCC
1Q 2 19 8Q
1D 3 18 8D
2D 4 17 7D
2Q 5 16 7Q
3Q 6 15 6Q
3D 7 14 6D
4D 8 13 5D
4Q 9 12 5Q
GND 10 11 CLK

Clock

Clock generation is handled with crystal oscillators. Regardless of the size (DIP-8 or DIP-14) the pinout is the same.

NC 1 4 VCC
GND 2 3 Clock

CPU Clock

The main CPU in NerdConsole operates at 6.00 MHz.

Audio Clock

The audio system in NerdConsole operates at 3.58 MHz. There is an independent clock crystal for this instead of and form of clock division of the main CPU clock.