100%
trs-80-model-i-jap50-e1 AddressDecoder view
Description

Imported from GitHub: RetroStack/TRS-80-Model-I-Jap50-E1 · commit d2bd529 · license MIT

Description

Hardware Replica of the TRS-80 Model I Revision HE11E011550

README

TRS-80 Model 1 (Rev HE11E011550 - Japanese) Replica - E1

This project is a faithful reimplementation of the mainboard of the iconic TRS-80 Model 1 (Revision HE11E011550) computer, redesigned and produced in Japan later in its existance. My own revision is designed to replicate the original system's functionality by using a PCB design 1-to-1 to the original, including components, interfaces, and even traces. The entire project is available under the MIT license.

WARNING: This project has not been confirmed to work yet. Use at your own risk.

<No photo available yet!>

NOTE: This board was reconstructed from photos and using an earlier board (Japanese-20 board) as reference. Therefore, the majority of traces are accurate, but a few (~18)might slightly deviate from the original design.

Project Details

Latest Files

In the "Latest" folder, you'll find the most up-to-date design files, including:

  • Gerber files suitable for popular online PCB manufacturers like PCBWay and JLCPCB. Most manufacturers should be fine with either.
  • A Bill of Materials (BOM) in both CSV and PDF formats.
  • The full schematics of the replica which is 1:1 to the original board.

Implementation

The replica has been implemented using KiCAD 9. The KiCAD project files are included in this repository.

Replica Front Replica Back

Assembly Instructions

For each step, check if there is a connection between pad 1, 8, 9, 16 on Z18 (all four corners of the dynamic RAM IC). That IC needs all 3 voltages with ground. If any of them are shorted, then you know what you did most recently. Finding the cause of the short should then be relatively easy.

  1. (optional) Install sockets for all ICs.
  2. Install all diodes. These diodes are hard to read and if you accidentally mix them up, you might end up with incorrect voltages on the rails. Also, make sure to orient them correctly. There should be a black band on one side of the glass diode. Match this with the line in front of the arrow of the diode on the PCB silkscreen. Installing first the shorter components will make sure you still can flip the board around and solder things easily.
  3. Install all resistors. Resistors do not have an orientation. Skip the potentiometers for now.
  4. Install all disc-like capacitors. Do not install the electrolytic capacitors yet! All other capacitors are rather small and orientation isn't important.
  5. Install all transistors, including the ones with the heatsinks. The TIP29 should go into Q3 (metal side away from board towards the Q3 label) while the TIP32C should go into Q6 (lay flat with heatsink; bend legs wit needle-nose pliers to fit). Don't forget to add thermal paste between heatsink and transistors. Make sure to add the screws and nuts and that it fits tightly as the screws themself connect traces. Not having them properly installed will result in a non-functioning system. The smaller black transistors have one flat side. These should all face towards the bottom of the board towards all the ICs.
  6. Install the crystal (no orientation), relay (match orientation on PCB), full-bridge rectifier (CR1; match "+" marking on component with PCB marking), all DIN connectors, both switches, keyboard connector (if bend, bend it upwards - towards the CPU to fit in the case), and potentiometers (only goes in one way).
  7. Install all electrolytic capacitors. Make sure the orientation is correct! Modern capacitors mark the "-" side. On the PCB, the positive side is marked. Incorrect orientation may result in a small explosion (loud and smokey, but probably not dangerous).
  8. Only install Z1 & Z2 to calibrate the power supply. Don't install any of the other ICs yet!!!
  9. Get Multimeter ready in voltage mode. Connect power, turn on S1. If something starts to smell burned, turn S1 off and disconnect power.
  10. Check voltage between pad 1 (-5V) and pad 16 (GND) on Z18. It should be around -5.1V to -5.2V. Since this is clamped with a zener diode, this should be pretty accurate. There is nothing that needs to be calibrated here. If the voltage goes beyond -5.3V, check R19 (may be really hot! careful!). If R19 is hot to the touch, your power supply is probably broken. (I've seen this on one power supply while another one didn't have that problem.)
  11. Check voltage between pad 8 (+12V) and pad 16 (GND) on Z18. It should be around +12.0V. If it isn't, change the R23 potentiometer. If it is +/-0.5V off, then this is fine. But, try to get it as close to the desired voltage as possible.
  12. (You need to calibrate +12V first before going to this next step!!!) Check voltage between pad 9 (+5V) and pad 16 (GND) on Z18. It should be around +5.0V. If it isn't, change the R17 potentiometer. If it is +/-0.5V off, then this is fine. But, also here, try to get it close to the desired voltage.
  13. Re-check all the voltages after calibration, just to be sure.
  14. Turn off S1 and disconnect power. Do this for each of the following steps: After each change, re-check the voltages at Z18 to find shorts quickly.
  15. Start inserting the ICs. Focus on the 74LSxx ICs first. They are cheap and are easily recoverable in case there is a short somewhere and you start frying ICs. May be do 2-4 chips at a time and re-check the voltages at Z18. Do this systematically from left to right and top to bottom, so you know which you inserted most recently. If one of the voltages changes significantly at Z18 (+/- 2V and more), then you probably have a short with the most recent ICs. Do not insert the CPU, ROMs, character generator, and RAMs (static (2114) and dynamic ones (4116)) for now. They are expensive to replace if fried.
  16. Insert the 74C00 IC for the video sync. This IC is difficult to come by and somewhat expensive. If all voltages are good, then they are good to install.
  17. Insert the 7404 IC for the clock. This IC is also relatively cheap, but they are harder to come by. If all voltages are good, then they are good to install.
  18. Connect jumpers JP1 and JP2 to set it up for ASCII Level II ROMs.
  19. Connect jumpers JP4 from C to 2 and JP5 from C to 2. This will fix the character generator installed in Z38 to be the only character generator used. If you install the Kana one, then you need to setup JP4 from C to 1 and JP5 from C to 1. There is even a third option, connecting JP4 from C to 1 and JP5 from C to 2, which let's you choose the character generator using IO port 255 and bit 7 (last bit).
  20. Next, we need to configure the video mode as it supports both NTSC and PAL. For NTSC, set JP6, JP7, JP8, JP10 from C to 1. For PAL, set them all from C to 2.
  21. Last jumper is for configuring the video output to be used with the right monitor. If you are using the original Model 1 monitor, you need to connect JP9 as it will provide +5V on the video connector to the monitor, which it needs. All other monitors do not need this and you can leave it disconnected.
  22. Now, we still have to install a jumper across the board. See the jumper installed below (the photo is from an earlier revision, but very similar):

Jumper Front

  1. Connect to a monitor. Use a CRT, if possible, as video calibration is easier. LCD works too, but the reaction time is slow and requires a longer wait time after each change.
  2. After turning on monitor and S1, you should see white blocks on a black background. No need to calibrate a potentiometer on this revision as this is done by the counter ICs automatically.
  3. (Don't forget to turn off system!) Insert the static video RAM (2114). These ICs only require +5V.
  4. Insert the dynamic RAM (4116). These ICs require all three voltages.
  5. Insert CPU in Z48. Not much should have changed from the video calibration up until now. The next step will change that.
  6. Insert character generator in either Z38 (ASCII) or Z37 (Kana) - or both. Instead of white blocks, you should see (random) characters. The system doesn't clear the video memory yet since no ROM is installed.
  7. Install ROM. This should be a Level II. You can also burn the diag ROM on a 2k ROM to test the system. The diag ROM should work for all revisions of the TRS-80 Model 1.
  8. At this point, you should see a prompt showing "Memory Size?" that keeps blinking (if it is the normal system ROM). The reason for the blinking is that the keyboard is not yet connected and the system recognizes keypresses. Install the keyboard with the IDC cable (if you installed a header).
  9. Now, you should be able to use the system. Try to hold the left SHIFT key and press the right arrow key and the text size should increase, switching the video modes. (It is OK when some characters are skipped. That is normal.) The CLEAR key should reset it to the original video mode and clear the screen.
  10. Try running a "Hello World!" program: 10 PRINT "Hello World!" (Return) 20 GOTO 10 (Return) RUN (Return). You can stop with the BREAK key.

Ordering Instructions

When ordering the board from a PCB manufacturer, you can select the following to get a more faithful version of the board:

Dimension: 407mm x 184mm
Layers: 2
Base Material: FR-4 TG 135-140 (and up)
PCB Thickness: 1.6mm
PCB Color: Green
Silkscreen Color: White
Via Covering: Untented
Surface Finish: Lead Free HASL
Outer Copper Weight: 1oz
Gold Fingers / Card Edge: yes (chamfer: 30 degrees)
Castellated Holes: no

Additionally, supply the following comment for the manufacturer:

Card edge is only on the upper right. The bottom right is just a connector and does not need to be chamfered.

There are some missing pads on the top layer. That is correct. Please leave them as-is.

This addresses recurring questions from some of the interesting design choices that were used on the original board which was replicated.

Bill of Materials (BOM)

Below is a list of materials needed to assemble a complete system.

ReferenceQtyValueComponentDescriptionComment
PCB1-Replica Board
C1, C4, C6, C12, C14, C40610uF 16VC_Polarized
C2, C8, C20, C22, C23, C24, C25, C26, C28, C29, C31, C32, C34, C35, C37, C38, C39, C41, C44, C45, C46, C47, C49, C51, C52, C53, C54, C55, C56, C58, C59, C63, C64, C65, C66, C67, C68, C69, C71, C72400.1uF 12VUnpolarized capacitor
C3, C7, C13, C1540.01uF 24VUnpolarized capacitor
C51220uF 16VC_Polarized
C912200uF 35VC_Polarized
C10110000uF 16VC_Polarized
C11, C16, C48, C5741nFUnpolarized capacitor
C17, C182220pFUnpolarized capacitor
C191100uF 16VC_Polarized
C27, C30, C33, C3640.1uF 25VUnpolarized capacitor
C431100pFUnpolarized capacitor
C5012.7nFUnpolarized capacitor
C60147pFUnpolarized capacitor
C70122uF 16VC_Polarized
CN11-Generic connector, single row, 01x20Keyboard Connector
CR11MDA202Bridge Rectifier
CR211N4735D_ZenerZener diode
CR311N5231D_ZenerZener diode
CR4, CR5, CR6, CR7, CR851N4148DDiode
J1, J2, J33Front ViewDIN-5_180degree5-pin DIN connector (5-pin DIN-5 stereo)
JP1, JP2, JP3, JP94-Single JumperSee description on Github or schematics
JP4, JP5, JP6, JP7, JP8, JP106-Double JumperSee description on Github or schematics
K11Relay_SPDTRelayCassette Interface Relay
Q11C1815NPN BJT Transistor
Q2, Q52A1015PNP BJT Transistor
Q31TIP29ATIP29AQ_NPN_BCE
Q412N65942N6594Q_PNP_BECReplacement RS2040, MJ2955G
Q61MJE34MJE34Q_PNP_BCEReplacement TIP32C
-1-HeatsinkQ4 Heatsink
-1-ScrewM3x10mm
-1-NutM3
-1-HeatsinkQ6 HeatsinkSmaller than original; no need to be big
-2-ScrewM4x10mm
-2-NutM4
-1-Thermal GreaseFor Q4 and Q6Apply with Q-Tip or similar
R1, R322100Resistor 0.25W (brown, black, brown, gold)
R2, R18, R19, R2841.2kResistor 0.25W (brown, red, red, gold)
R3, R427.5kResistor 0.25W (violet, blue, red, gold)
R51220kResistor 0.25W (red, red, yellow, gold)
R6175Resistor 0.25W (violet, green, black, gold)
R7147Resistor 0.25W (yellow, violet, black, gold)
R8, R75, R101, R102, R103, R104, R105, R106, R107, R108, R109, R11012330Resistor 0.25W (orange, orange, brown, gold)
R91120Resistor 0.25W (brown, red, brown, gold)
R101270Resistor 0.25W (red, violet, brown, gold)
R11, R31, R34, R49410kResistor 0.25W (brown, black, orange, gold)
R12, R372220Resistor 0.5W (red, red, brown, gold)
R13168Resistor 0.25W (blue, grey, black, gold)
R1412.7kResistor 0.25W (red, violet, red, gold)
R151750Resistor 0.25W (violet, green, brown, gold)
R1610.33Resistor 2W (orange, orange, silver, gold)
R17, R2321kResistor 0.25W (brown, black, red, gold)
R201100kResistor 0.25W (brown, black, yellow, gold)
R21, R24, R2533.3kResistor 0.25W (orange, orange, red, gold)
R2211.5kResistor 0.25W (brown, green, red, gold)
R2612.2kResistor 0.25W (red, red, red, gold)
R27112kResistor 0.25W (brown, red, orange, gold)
R2912kResistor 0.25W (red, black, red, gold)
R3015.6Resistor 3W (green, blue, gold, gold)
R33, R5121MResistor 0.25W (brown, black, green, gold)
R351680kResistor 0.25W (blue, grey, yellow, gold)
R3611.8MResistor 0.25W (brown, grey, green, gold)
R38, R422360kResistor 0.25W (orange, blue, yellow, gold)
R39110Resistor 0.25W (brown, black, black, gold)
R40, R41, R48, R54, R55, R64, R65, R66, R67, R68, R69, R70, R71, R72, R74, R76, R77174.7kResistor 0.25W (yellow, violet, red, gold)
R431560kResistor 0.25W (green, blue, yellow, gold)
R44, R45, R46, R47, R505470kResistor 0.25W (yellow, violet, yellow, gold)
R52, R5328.2kResistor 0.25W (grey, red, red, gold)
R56, R572910Resistor 0.25W (white, brown, brown, gold)
RP1, RP224.7k8 Resistor Network9-pin bussed Resistor network
S11PowerSW_4PSTBlack Cap+ red & black cap
S21ResetSW_DPSTRed Cap+ red cap
Y1110.6445 MHzCrystalTwo pin crystal10.6MHz replacement
Z1, Z22LM723CLM723C_1Linear Regulator (adjustable)
Z317545275452Dual-Peripheral Drivers for High-Current, High-Speed Switching
Z4, Z56274LS17574LS1754-bit D Flip-Flop, reset
Z5174LS1074LS10Triple 3-input D
Z6, Z65274LS9274LS92Divide by 12 counter
Z7, Z28, Z34, Z35474LS9374LS93Divide by 2 & 8 counter
Z8, Z13, Z14, Z27, Z29, Z36674LS15774LS157Quad 2 to 1 line Multiplexer
Z9, Z102211421141K Static RAM (SRAM 4-bit)
Z11174LS17474LS174Hex D-type Flip-Flop, reset
Z12, Z23274LS24574LS245Octal Bus Transceivers with 3-State Outputs
Z15, Z16, Z17, Z18, Z19, Z20, Z21, Z2284116411616kBit x 1 Bit Dynamic RAM
Z24, Z30, Z59, Z66474LS36774LS367_SplitHex buffer 3-State outputs
Z251LM3900LM3900Quad operational amplifier
Z26174LS1474LS14Hex Schmitt-Trigger Inverters
Z31, Z47274LS13274LS132Quad 2-input D Schmitt trigger
Z32174C007400Quad 2-input D gateA 74HC04 or 74HCT04 will work in a pinch, but it will not be a nice stable picture.
Z33, Z46274LS0474LS04Hex Inverter
Z37, Z382-18-Pin Socket18-Pin Machined SocketOne is optional
Z37, Z382MCM6670MCM6670P128 x 7 x 5 Character GeneratorOne is optional; Adapter needed; parts below
Z39174LS15374LS153Dual Multiplexer 4 to 1
Z40, Z64, Z67374LS3274LS32Quad 2-input OR
Z41174LS3074LS308-input D
Z42, Z432-24-Pin Socket24-Pin Machined Socket
Z4212364_20L2364_20L2364 64kBit (8kb x 8) PROMAdapter needed; parts below
Z4312332_20L_21L2332_20L_21L2332 32kBit (4kb x 8) PROMAdapter needed; parts below
Z44174LS0074LS00Quad 2-input D gate
Z45, Z54274LS0274LS02Quad 2-input NOR gate
Z481Z80CPUZ80Z80 CPU
Z49, Z68274LS24474LS244Octal Buffers with 3-State Outputs
Z50174047404Hex InverterUsed for clock. Make sure to use a 7404, not a 74LS04. If you do, you might have to add a capacitor to the circuit.
Z51, Z52274LS0874LS08Quad 2-input AND gate
Z53, Z62, Z63374LS7474LS74Dual D Flip-flop, Set & Reset
Z55174LS2074LS20Dual 4-input D
Z57, Z58274LS16674LS166Shift Register 8-bit, parallel load
Z60174LS1174LS11Triple 3-input AND
Z61174LS13974LS139Dual 2-line to 4-line Decoder/Multiplexer
-1-Jumper WiresConnecting tracesSee documentation
-1-Port CoverDIN-5 Port Cover
-1-Keyboard Connector KitCable and headers for Mainboard and KeyboardSolder angled header inward towards Z76
Z37, Z382PCBCharacter GeneratorCharacter Generator PCB (MCM7760/4)One is optional. Assemble with components below; no solder jumper needed
Z37, Z3824.7kNetwork Resistor; 7-PinPull-up resistorsOne is optional.
Z37, Z382-40-Pin HeaderMachined HeaderOne is optional. Cut to length to 9 pins (2x)
Z37, Z382-5-Pin DIP SwitchCharacter ROM selectorOne is optional. Add in 10-14 pads
Z37, Z382-ROMCharGen 32rfOne is optional.
Z42, Z432PCBSystem ROMSystem ROM PCB (2364/2332)Assemble with components below; no SMD or solder jumper needed
Z42, Z4324.7kNetwork Resistor; 4-PinPull-up resistors
Z42, Z431-40-Pin HeaderMachined HeaderCut to length to 12 pins (3x + 1x from above)
Z42, Z431-3-Pin DIP SwitchSystem ROM AAdd in 13-15 pads; cut perforation on ROM B adapter
Z42, Z432-ROMsSystem ROM A (Z33) & ROM B (Z34)
Z42, Z431-4-Wire CableTwistedSolder 3 inner pads below and 1 outer pad (any of the 3); Repeat with same color on same pads on other adapter

RetroStack Libraries

To work with this KiCAD project, you'll need the RetroStack libraries for KiCAD. Please follow this link to access and install these libraries.

Contributions

A big thank you to Howard Bowe for donating the Japanese Model 1 (Jap-20), and to Leslie Ayling for providing detailed photographs of his original Jap-50 board. Their contributions made it possible to reverse engineer and create such a detailed and accurate replica.

Main TRS-80 Model 1 Repository

For additional resources related to the TRS-80 Model 1, be sure to check out the central page for the TRS-80 Model 1 on RetroStack.

Support this Project

RetroStack is passionate about exploring and preserving the legacy of older computer systems. My work involves creating detailed documentation and videos to share the knowledge. I am also dedicated to reviving these classic systems by reimplementing them and offering replacement parts at no cost. If you're keen on supporting this unique project, I invite you to visit my Patreon page. Your support would be immensely valuable and greatly appreciated!

License

This project is licensed under the MIT License - see the LICENSE file for details.

Comments
Sign in to comment

No comments yet. Be the first to ask about this board.