Connectors: Difference between revisions
NerdOfEpic (talk | contribs) (Created page with "== SNES Controller Ports == NerdConsole has 2 SNES-style joystick ports built into the front of the system for players 1 and 2. These are always available. All controller connections are SNES controller compatible and use this same arrangement of pins. {| class="wikitable" | style="text-align:center" | '''Pin 1'''<br />Ground | style="text-align:center" | '''Pin 2'''<br />NC | style="text-align:center" | '''Pin 3'''<br />NC ! | style="text-align:center" | '''Pin 4''...") |
NerdOfEpic (talk | contribs) No edit summary |
||
| Line 1: | Line 1: | ||
= Joysticks = | |||
== SNES Controller Ports == | == SNES Controller Ports == | ||
NerdConsole has 2 SNES-style joystick ports built into the front of the system for players 1 and 2. These are always available. All controller connections are SNES controller compatible and use this same arrangement of pins. | NerdConsole has 2 SNES-style joystick ports built into the front of the system for players 1 and 2. These are always available. All controller connections are SNES controller compatible and use this same arrangement of pins. | ||
| Line 24: | Line 25: | ||
| style="text-align:center" | '''Pin 6'''<br />VCC | | style="text-align:center" | '''Pin 6'''<br />VCC | ||
|} | |} | ||
== Extra Controller 4-Pin Port == | == Extra Controller 4-Pin Port == | ||
| Line 35: | Line 35: | ||
| style="text-align:center" | '''Pin 4'''<br />Data8 | | style="text-align:center" | '''Pin 4'''<br />Data8 | ||
|} | |} | ||
= Cartridge = | |||
The 44-pin cartridge connector provides the means to access the ROM chip (or chips) that contain the software to execute. The pin order may seem scrambled up, but it is laid out in a way that closely aligns with the pin order of most ROM chips. | |||
{| class="wikitable" | |||
! colspan="2" | Top / Front / Label Side | |||
! colspan="2" | Bottom / Back Side | |||
|- | |||
| style="text-align:right" width="100" | A12 | |||
! style="text-align:left" width="30" | 1 | |||
! style="text-align:right" width="30" | 44 | |||
| style="text-align:left" width="100" | Ground | |||
|- | |||
| style="text-align:right" | A13 | |||
! style="text-align:left" | 2 | |||
! style="text-align:right" | 43 | |||
| style="text-align:left" | Clock | |||
|- | |||
| style="text-align:right" | A7 | |||
! style="text-align:left" | 3 | |||
! style="text-align:right" | 42 | |||
| style="text-align:left" | ~Read / Write | |||
|- | |||
| style="text-align:right" | A8 | |||
! style="text-align:left" | 4 | |||
! style="text-align:right" | 41 | |||
| style="text-align:left" | ~Enable | |||
|- | |||
| style="text-align:right" | A6 | |||
! style="text-align:left" | 5 | |||
! style="text-align:right" | 40 | |||
| style="text-align:left" | VCC (+5V DC) | |||
|- | |||
| style="text-align:right" | A9 | |||
! style="text-align:left" | 6 | |||
! style="text-align:right" | 39 | |||
| style="text-align:left" | RRS | |||
|- | |||
| style="text-align:right" | A5 | |||
! style="text-align:left" | 7 | |||
! style="text-align:right" | 38 | |||
| style="text-align:left" | HRS7 | |||
|- | |||
| style="text-align:right" | A11 | |||
! style="text-align:left" | 8 | |||
! style="text-align:right" | 37 | |||
| style="text-align:left" | HRS6 | |||
|- | |||
| style="text-align:right" | A4 | |||
! style="text-align:left" | 9 | |||
! style="text-align:right" | 36 | |||
| style="text-align:left" | HRS5 | |||
|- | |||
| style="text-align:right" | A3 | |||
! style="text-align:left" | 10 | |||
! style="text-align:right" | 35 | |||
| style="text-align:left" | HRS4 | |||
|- | |||
| style="text-align:right" | A10 | |||
! style="text-align:left" | 11 | |||
! style="text-align:right" | 34 | |||
| style="text-align:left" | HRS3 | |||
|- | |||
| style="text-align:right" | A2 | |||
! style="text-align:left" | 12 | |||
! style="text-align:right" | 33 | |||
| style="text-align:left" | HRS2 | |||
|- | |||
| style="text-align:right" | A1 | |||
! style="text-align:left" | 13 | |||
! style="text-align:right" | 32 | |||
| style="text-align:left" | HRS1 | |||
|- | |||
| style="text-align:right" | D7 | |||
! style="text-align:left" | 14 | |||
! style="text-align:right" | 31 | |||
| style="text-align:left" | HRS0 | |||
|- | |||
| style="text-align:right" | A0 | |||
! style="text-align:left" | 15 | |||
! style="text-align:right" | 30 | |||
| style="text-align:left" | LRS7 | |||
|- | |||
| style="text-align:right" | D6 | |||
! style="text-align:left" | 16 | |||
! style="text-align:right" | 29 | |||
| style="text-align:left" | LRS6 | |||
|- | |||
| style="text-align:right" | D0 | |||
! style="text-align:left" | 17 | |||
! style="text-align:right" | 28 | |||
| style="text-align:left" | LRS5 | |||
|- | |||
| style="text-align:right" | D5 | |||
! style="text-align:left" | 18 | |||
! style="text-align:right" | 27 | |||
| style="text-align:left" | LRS4 | |||
|- | |||
| style="text-align:right" | D1 | |||
! style="text-align:left" | 19 | |||
! style="text-align:right" | 26 | |||
| style="text-align:left" | LRS3 | |||
|- | |||
| style="text-align:right" | D4 | |||
! style="text-align:left" | 20 | |||
! style="text-align:right" | 25 | |||
| style="text-align:left" | LRS2 | |||
|- | |||
| style="text-align:right" | D2 | |||
! style="text-align:left" | 21 | |||
! style="text-align:right" | 24 | |||
| style="text-align:left" | LRS1 | |||
|- | |||
| style="text-align:right" | D3 | |||
! style="text-align:left" | 22 | |||
! style="text-align:right" | 23 | |||
| style="text-align:left" | LRS0 | |||
|} | |||
''' Key ''' | |||
* ~ = Active Low Signal | |||
* A = Address Pins (0-13) | |||
* D = Data Pins (0-7) | |||
* LRS = Low ROM Select (0-7) | |||
* HRS = High ROM Select (0-7) | |||
* RRS = ROM Region Select | |||
** 0 = Low ROM ($8000 to $BFFF) | |||
** 1 = High ROM ($C000 to $FFFF) | |||
= Video Board Port = | |||
The connection between the NerdConsole mainboard and the Raspberry Pi that acts as the PPU is made through a 28-Channel logic level conversion board. This is required because NerdConsole operates at 5V and the GPIO system on a Raspberry Pi operates at 3.3V. According to the Raspberry Pi documentation, you absolutely ''CANNOT'' use 5V logic levels with GPIO without causing permanent damage. | |||
{| class="wikitable" | |||
| style="text-align:right" width="100" | --- | |||
! style="text-align:left" width="30" | 1 | |||
! style="text-align:right" width="30" | 2 | |||
| style="text-align:left" width="100" | --- | |||
|- | |||
| style="text-align:right" | A0 | |||
! style="text-align:left" | 3 | |||
! style="text-align:right" | 4 | |||
| style="text-align:left" | --- | |||
|- | |||
| style="text-align:right" | A1 | |||
! style="text-align:left" | 5 | |||
! style="text-align:right" | 6 | |||
| style="text-align:left" | --- | |||
|- | |||
| style="text-align:right" | A2 | |||
! style="text-align:left" | 7 | |||
! style="text-align:right" | 8 | |||
| style="text-align:left" | ~Vsync | |||
|- | |||
| style="text-align:right" | --- | |||
! style="text-align:left" | 9 | |||
! style="text-align:right" | 10 | |||
| style="text-align:left" | ~Enable | |||
|- | |||
| style="text-align:right" | A3 | |||
! style="text-align:left" | 11 | |||
! style="text-align:right" | 12 | |||
| style="text-align:left" | Read / ~Write | |||
|- | |||
| style="text-align:right" | A4 | |||
! style="text-align:left" | 13 | |||
! style="text-align:right" | 14 | |||
| style="text-align:left" | --- | |||
|- | |||
| style="text-align:right" | A5 | |||
! style="text-align:left" | 15 | |||
! style="text-align:right" | 16 | |||
| style="text-align:left" | Pi Shutdown | |||
|- | |||
| style="text-align:right" | --- | |||
! style="text-align:left" | 17 | |||
! style="text-align:right" | 18 | |||
| style="text-align:left" | Front Power | |||
|- | |||
| style="text-align:right" | A6 | |||
! style="text-align:left" | 19 | |||
! style="text-align:right" | 20 | |||
| style="text-align:left" | --- | |||
|- | |||
| style="text-align:right" | A7 | |||
! style="text-align:left" | 21 | |||
! style="text-align:right" | 22 | |||
| style="text-align:left" | D0 | |||
|- | |||
| style="text-align:right" | A8 | |||
! style="text-align:left" | 23 | |||
! style="text-align:right" | 24 | |||
| style="text-align:left" | D1 | |||
|- | |||
| style="text-align:right" | --- | |||
! style="text-align:left" | 25 | |||
! style="text-align:right" | 26 | |||
| style="text-align:left" | D2 | |||
|- | |||
| style="text-align:right" | A9 | |||
! style="text-align:left" | 27 | |||
! style="text-align:right" | 28 | |||
| style="text-align:left" | D3 | |||
|- | |||
| style="text-align:right" | A10 | |||
! style="text-align:left" | 29 | |||
! style="text-align:right" | 30 | |||
| style="text-align:left" | --- | |||
|- | |||
| style="text-align:right" | A11 | |||
! style="text-align:left" | 31 | |||
! style="text-align:right" | 32 | |||
| style="text-align:left" | D4 | |||
|- | |||
| style="text-align:right" | A12 | |||
! style="text-align:left" | 33 | |||
! style="text-align:right" | 34 | |||
| style="text-align:left" | --- | |||
|- | |||
| style="text-align:right" | A13 | |||
! style="text-align:left" | 35 | |||
! style="text-align:right" | 36 | |||
| style="text-align:left" | D5 | |||
|- | |||
| style="text-align:right" | A14 | |||
! style="text-align:left" | 37 | |||
! style="text-align:right" | 38 | |||
| style="text-align:left" | D6 | |||
|- | |||
| style="text-align:right" | --- | |||
! style="text-align:left" | 39 | |||
! style="text-align:right" | 40 | |||
| style="text-align:left" | D7 | |||
|} | |||
''' Key ''' | |||
* ~ = Active Low Signal | |||
* --- = Not Connected | |||
* A = Address Pins (0-14) | |||
* D = Data Pins (0-7) | |||
Revision as of 19:43, 17 January 2024
Joysticks
SNES Controller Ports
NerdConsole has 2 SNES-style joystick ports built into the front of the system for players 1 and 2. These are always available. All controller connections are SNES controller compatible and use this same arrangement of pins.
| Pin 1 Ground |
Pin 2 NC |
Pin 3 NC |
Pin 4 Data |
Pin 5 Latch |
Pin 6 Clock |
Pin 7 VCC |
Extra Controller 6-Pin Port
Built onto the mainboard is a 6-pin connector that provides the power and signals for controllers 3 and 4. Data3 and Data4 lines are specifically for those controllers.
| Pin 1 Ground |
Pin 2 Data3 |
Pin 3 Data4 |
Pin 4 Latch |
Pin 5 Clock |
Pin 6 VCC |
Extra Controller 4-Pin Port
Built onto the mainboard is a 4-pin connector that provides the data signals for controllers 5, 6, 7 and 8. Data5, Data6, Data7, and Data8 lines are specifically for those controllers. This connection is used in conjunction with the 6-Pin port connections.
| Pin 1 Data5 |
Pin 2 Data6 |
Pin 3 Data7 |
Pin 4 Data8 |
Cartridge
The 44-pin cartridge connector provides the means to access the ROM chip (or chips) that contain the software to execute. The pin order may seem scrambled up, but it is laid out in a way that closely aligns with the pin order of most ROM chips.
| Top / Front / Label Side | Bottom / Back Side | ||
|---|---|---|---|
| A12 | 1 | 44 | Ground |
| A13 | 2 | 43 | Clock |
| A7 | 3 | 42 | ~Read / Write |
| A8 | 4 | 41 | ~Enable |
| A6 | 5 | 40 | VCC (+5V DC) |
| A9 | 6 | 39 | RRS |
| A5 | 7 | 38 | HRS7 |
| A11 | 8 | 37 | HRS6 |
| A4 | 9 | 36 | HRS5 |
| A3 | 10 | 35 | HRS4 |
| A10 | 11 | 34 | HRS3 |
| A2 | 12 | 33 | HRS2 |
| A1 | 13 | 32 | HRS1 |
| D7 | 14 | 31 | HRS0 |
| A0 | 15 | 30 | LRS7 |
| D6 | 16 | 29 | LRS6 |
| D0 | 17 | 28 | LRS5 |
| D5 | 18 | 27 | LRS4 |
| D1 | 19 | 26 | LRS3 |
| D4 | 20 | 25 | LRS2 |
| D2 | 21 | 24 | LRS1 |
| D3 | 22 | 23 | LRS0 |
Key
- ~ = Active Low Signal
- A = Address Pins (0-13)
- D = Data Pins (0-7)
- LRS = Low ROM Select (0-7)
- HRS = High ROM Select (0-7)
- RRS = ROM Region Select
- 0 = Low ROM ($8000 to $BFFF)
- 1 = High ROM ($C000 to $FFFF)
Video Board Port
The connection between the NerdConsole mainboard and the Raspberry Pi that acts as the PPU is made through a 28-Channel logic level conversion board. This is required because NerdConsole operates at 5V and the GPIO system on a Raspberry Pi operates at 3.3V. According to the Raspberry Pi documentation, you absolutely CANNOT use 5V logic levels with GPIO without causing permanent damage.
| --- | 1 | 2 | --- |
|---|---|---|---|
| A0 | 3 | 4 | --- |
| A1 | 5 | 6 | --- |
| A2 | 7 | 8 | ~Vsync |
| --- | 9 | 10 | ~Enable |
| A3 | 11 | 12 | Read / ~Write |
| A4 | 13 | 14 | --- |
| A5 | 15 | 16 | Pi Shutdown |
| --- | 17 | 18 | Front Power |
| A6 | 19 | 20 | --- |
| A7 | 21 | 22 | D0 |
| A8 | 23 | 24 | D1 |
| --- | 25 | 26 | D2 |
| A9 | 27 | 28 | D3 |
| A10 | 29 | 30 | --- |
| A11 | 31 | 32 | D4 |
| A12 | 33 | 34 | --- |
| A13 | 35 | 36 | D5 |
| A14 | 37 | 38 | D6 |
| --- | 39 | 40 | D7 |
Key
- ~ = Active Low Signal
- --- = Not Connected
- A = Address Pins (0-14)
- D = Data Pins (0-7)