Motherboard schematic for the original
Nintendo Entertainment System
To make the experience fit your profile, pick a username and tell us what interests you.
We found and based on your interests.
MIT_LICENSEMIT License - Most permissive license I could findmit_license - 1.04 kB - 03/26/2020 at 00:03 |
|
|
Clocksv1.JPGSchematic - Clock Signals - JPG FormatJPEG Image - 65.01 kB - 11/23/2016 at 03:54 |
|
|
NESMOBO.schSchematic - ICs, Reset Switch, Clocks - Eagle SCH format- 538.80 kB - 12/03/2016 at 01:07 |
|
|
NESMOBO.pdfSchematic - ICs only - PDF formatapplication/pdf - 221.53 kB - 12/03/2016 at 01:07 |
|
|
Stuck in isolation due to COVID-19 - what to do?
Getting there......
My work here is based completely on existing designs and publicly available information. Therefore all files here are released back to the public with the MIT license, the most permissive license I could find.
The NES has 4 diode arrays that appear to provide transient voltage supression (TVS) on the controller ports. They protect the CPU and hex inverters from damage while plugging in controllers.
Each controller port is connected to two of the arrays. One array dissipates postive voltage spikes to the +5V rail, while the second array dissipates negative voltage spikes from ground.
I beleive I have found a replacement part that combines both array types into a single package. So we only need one array per controller port now.
Wurth Elektronic 82401646 TVS Diode Array WE-TVS
MSOP-8L package
http://www.mouser.com/ProductDetail/Wurth-Electronics/82401646/
http://www.mouser.com/ds/2/445/82401646-253741.pdf
I added the capacitors and pull up resistors on the controller lines as well.
10 kOhm 0805 Resistors
http://www.mouser.com/ProductDetail/ROHM-Semiconductor/ESR10EZPJ103/
5.6 kOhm 0805 Resistors
http://www.mouser.com/ProductDetail/ROHM-Semiconductor/ESR10EZPJ562/
330pF 0805 capacitors
http://www.mouser.com/ProductDetail/Kemet/C0805C331KDRACTU/
Files NESMOBO.PDF and NESMOBO.SCH updated
Schematic Progress:
-Added the ~21Mhz crystal and supporting components, this connects to the CPU clock (CLK), the PPU clock (U5-CLK) and the cartridge (SYS_CLK) lines. Need to check if the NPN transistor I used in the schematic is a valid substitute for what Nintendo used.
-Added the reset switch circuit from the Famicom.
-Added the 4Mhz crystal and supporting components, this clock is used by the CIC (10NES) chips. (Both console and cartridge chips)
I need to go back and change the package size used in CIC clk circuit. 0402 is unnecessarily small, 0805 is more than small enough.
I'm numbering the passive components as I add them to my schematic, for now disregarding the numbering system obtained from the old schematics (see my research post.)
As is, the design is a hybrid of the famicom and NES. So really I've building a clone motherboard that requires 4 of the original chips: the PPU, the CPU, and the 2 ram chips. (CIC chip optional) All of the other parts I find equivalents for, with the criteria that mouser.com sells it and the part also exists in an eagle library (or eagle has a similar part of the same package size.) Eventually I'd like to create forks of the schematic, one faithful to the famicom, one faithful to the NES, and various other ones integrating mods. That being said once the hybrid schematic is complete I'll probably start playing with the board layout of my clone first, and shelve the reference schematic forks for later.
Regarding the CIC lockout chip. I had considered the standard disable method of leaving pin 4 (lock/key) disconnected (or pulled low), which changes the mode and effectively prevents the lockout chip from resetting the CPU due to poor cartridge connections. In this scenario the CIC, which is wired to the physical reset switch, will still reset the CPU when it senses that the reset button is pushed. My approach was to sever the connection from CIC pin 9 (host reset) to the CPU's reset line (/RST). This forces the use of the famicom reset circuit which connects the physical reset switch directly to /RST instead of the CIC. One benefit I see to this approach is that installing the CIC is completely optional at this point, if you don't want to bother transferring it from an old motherboard/cart to this replacement mobo that should be ok - everything will still work, including the reset button. I had considered omitting the CIC completely but I think it could be re-purposed. It was intended to be a DRM mechanism, but it also ended up being a mechanism that wouldn't allow you to play games with possibly bad cartridge connections. I'd like to turn it into a mechanism that merely indicates a connection issue, one that still allows you to play despite the warning.
Parts added in update:
-----------------
cic clock circuit
C2,C3
220pf caps
http://www.mouser.com/ProductDetail/Kemet/C0402C221J5GACTU/
http://www.mouser.com/ds/2/212/KEM_C1003_C0G_SMD-356956.pdf
0402 package size
eagle part: rcl->C-US-> C-USC0402
XTAL2
4mhz XTAL
http://www.mouser.com/ProductDetail/CTS-Electronic-Components/ATS040B/
HC49U package
crystal->8M10AHC49T
R1
1M ohm resistor
http://www.mouser.com/ProductDetail/ROHM-Semiconductor/ESR01MZPJ105/
0402 package size
rcl- > R_US -> R-US_R0402
-----------------
system clock circuit
XTAL1
21.47727mhz XTAL
http://www.mouser.com/ProductDetail/Citizen-FineDevice/HC49US-2147727MABJ-UB/
HC49US package
crystal->8M10AHC49T
R2
150 Kilo Ohm
http://www.mouser.com/ProductDetail/ROHM-Semiconductor/ESR10EZPF1503/
0805 package size
rcl- > R_US -> R-US_R0805
R3, R4
510 Ohm
http://www.mouser.com/ProductDetail/ROHM-Semiconductor/ESR10EZPJ511/
0805 package size
rcl- > R_US -> R-US_R0805
R5
220 Kilo Ohm
http://www.mouser.com/ProductDetail/ROHM-Semiconductor/ESR10EZPF2203/
0805 package size
rcl- > R_US -> R-US_R0805
C4,C5
51 pF
http://www.mouser.com/ProductDetail/Murata-Electronics/GRM0335C1E510JA01D/
0603 package size
eagle part: rcl->C-US-> C-USC0603
C6, C7
15 pF
http://www.mouser.com/ProductDetail/Murata-Electronics/GRM0335C2A150JA01D/...
Read more »Completed netting of all pins attached to IC's U1 - U10. Questionable assignments on a few pins though, would like review some more.
Nintendo's custom 48-pin expansion header has been replaced with a 50 pin ribbon cable connector.
The CIC chip is present but not wired to the CPU's reset line. Currently the CIC host reset line is wired to expansion pin 49.
The following pins are not connected to anything:
U3: 6,7,10,12
U10: 5
P2: 46,50
Now on to the circuits with passive components......
TO DO:
Circuits:
Reset Switch
Power switch
System Clock
CIC Clock
CPU Analog Audio IN/OUT
PPU Analog Video OUT
Joypad pullup resistor banks
Joypad diode banks
Joypad connectors
misc pull resistors,caps
AV line level output circuits
usb power in
Other:
famicom io ports
fork schematic,replace ram with sourceable chips, update pinout
look for cheaper/smaller/modern components
....this could take awhile
References:
Schematics:
NES: http://gamesx.com/wiki/doku.php?id=schematics:console_related_schematics
FAMICOM:
Pinouts:
CPU: https://wiki.nesdev.com/w/index.php/CPU_pin_out_and_signal_description
CIC: https://wiki.nesdev.com/w/index.php/CIC_lockout_chip_pinout
NES EXP port: https://wiki.nesdev.com/w/index.php/NES_expansion_port_pinout
60&72pin cart connectors: https://wiki.nesdev.com/w/index.php/Cartridge_connector
Libraries:
http://www.pcserviceselectronics.co.uk/eagle/con-3m-skt-header.lbr
https://github.com/jpwright/eagle-lbr/blob/master/nintendo.lbr
*renamed nintendo-cart.lbr
https://github.com/Sputnick85/eagle_nintendo/blob/master/nintendo.lbr
*renamed nintendo-av.lbr
https://github.com/spacerace/Eagle-Libraries/blob/master/commodore/Mos6502.lbr
*duplicated, edited each, and renamed as:
Ricoh2C02.lbr
Ricoh2A03.lbr
Eagle Help:
https://intranet.ee.ic.ac.uk/t.clarke/EAGLE/The EAGLE Guide.pdf
https://learn.sparkfun.com/tutorials/using-eagle-schematic
https://hackaday.com/2008/10/20/parts-chip-sockets-for-dual-in-line-package-dip/
Rough BOM:
Resistors
RM1 10K 11x 12x?
R1 100
R2 100
R3 10K
R4 20K
R5 12K
R6 2.2K
R7 100K
R8 10K
R9 1.2K
R10 1.2K
R11 220K
R12 220
R13 150K
R14 1.2K
Diodes:
D1 1S953
Caps:
IC1 30p
C1 0.47u
C2 1u
C3 51p
C4 51p
C5 5p
C6 15p
C7 0.1u
C8 0.1u
C9 220p
C20 68p
C21 330p
C22 18p
C23 30p
Crystals:
XTAL1 (CPU/PPU CLK): 21.477272 MHz
XTAL2 (CIC CLK):4 Mhz
Transistors:
Q1 2SA937
Chips:
U1 SRAM (for CPU, PPU) 2048x8
DIP 24 - ic-package->DIL24->DIL24-6 0.6inch
http://pdf1.alldatasheet.com/datasheet-pdf/view/154361/SONY/CXK5816PN/M-15L.html
U2 74LS373 - PPU Memory Bus latch
TI SN74LS373DWR
http://www.ti.com/lit/ds/symlink/sn74ls373.pdf
U3 LS139 - demulitplexer
DM74LS139M Fairchild Semiconductor
http://pdf.datasheetcatalog.com/datasheets/90/232315_DS.pdf
http://www.mouser.com/ProductDetail/Fairchild-Semiconductor/DM74LS139M/?qs=0kuPHEOuoRTXyP%2bV8FErEw== - 74xx-us -> 74*139->74LS139N
U4 SRAM (for PPU) 2048x8
Same as U1: DIP 24 - ic-package->DIL24->DIL24-6 0.6inch
U5 PPU RP2C02
http://nesdev.com/2C02 technical reference.TXT
U6 CPU RP2A03
https://wiki.nesdev.com/w/index.php/CPU_pin_out_and_signal_description
U7 40H368
Inverting 3 state logic line driver
http://www.mouser.com/Search/Refine.aspx?Keyword=CD74HC368
http://www.ti.com/lit/ds/symlink/cd74hc367.pdf
U8 40H368
Same as U7
U9 74HCV04
hex inverter, 14-pin
Texas Instruments SN74HC04N
https://www.digikey.com/product-detail/en/texas-instruments/SN74HC04N/296-1566-5-ND/277212
http://www.ti.com/lit/ds/symlink/sn74hc04.pdf
U10 3193A (CIC)
https://wiki.nesdev.com/w/index.php/CIC_lockout_chip_pinout
16 pin dip
P2 Expansion Port Substitute:
8550-4500 3M Reverse IDC connector 50 pin
https://www.digikey.com/catalog/en/partgroup/5100-series/27171
http://multimedia.3m.com/mws/media/22253O/3mtm-100-in-plr-bmskt-100x-100cntrbmp-ra-sldrtails-ts0414.pdf //5100 series vertical connector
http://www.pcserviceselectronics.co.uk/eagle/3msocket.php
Planned Port numbering:
P1 72 pin nes cartridge connector
P2 nes expansion port
P3/4 player1/2 controller ports
P5 power&reset switches/mic in?
P6 av out
P7 usb power port
P8 60 pin famicom cartridge connector
P9 famicom expansion port
P10 mic in?
Create an account to leave a comment. Already have an account? Log In.
You probably found this already but Martin Korth has done some extensive documentation that might help you.
Become a member to follow this project and never miss any updates
I have some NES related scans here: stripclub.arcade-tv.de