TROUBLESHOOTING GUIDE FOR "NO BOOT" PROBLEMS -- TRS-80 MODEL 4
1. The very first thing to VERIFY is the Proper Voltages of the Power Supply(s).
The Radio Shack Model 4 shipped with one of two manufacturer's Power Supplies, Astec & Tandy.
Both have three Output Voltages:
+5.00 VDC -- Must be within 3%. Power Supply regulates from +5 VDC and +12.00 VDC, so these must be correct.
+12.00 VDC -- 5%
-12.00 VDC -- +25%, -8.3%
The Model 3 and Model 4 also have a -5.0 VDC Supply, either behind the Motherboard (Model 3) or located on
the Motherboard (Model 4 - Q5). This is generated from the -12 VDC Supply, with a 7905 Voltage Regulator, and is ONLY used
with 4116B RAM Chips (16 x 1). If your Motherboard has MCM6665BP15 or Tandy #8040665 RAM Chips and the (Exx)
Jumpers have been set correctly, the -5 VDC is not used.
2. Verify Jumpers for 16K or 64K RAM IC's -- These are located immediately above the RAM IC's.
16K (NO RAM IC's in Sockets U85-U92, 16 x 1 4116B RAM in Sockets U77-U84)
E5-E6 Jumpered
E1-E2 Jumpered
E12-E13 Jumpered
SHUNT at U72 has Pins 6-15, 7-14, 8-13 & 9-12 Jumpered in U72
64K (64 x 1 MCM6665BP15 RAM IC's in Sockets U77-U84)
E5-E4 Jumpered
E3-E2 Jumpered
E12-E11 Jumpered
SHUNT at U72 has Pins 6-15, 7-14, 8-13 & 9-12 Jumpered in U72
128K (64 x 1 MCM6665BP15 RAM IC's in Sockets U77-U84 & UU86-U92)
E5-E4 Jumpered
E3-E2 Jumpered
E12-E11 Jumpered
REMOVE SHUNT at U72 and insert Tandy #8075468 PAL CHIP
3. Power up the Model 4, with the Break Key Held Depressed.
You should see "cass??" on the Display. If you see nothing but repeating characters, it suggests that
the Z-80 is OK, and that video RAM (and character display, etc.) are fine. It just didn't boot properly.
While this doesn't rule out a defective: CPU, Buffer, Video Controller, RAM, Video RAM, or something
fiddling with an Address or Data Line, it is a good sign to have Garbage Characters or Repeating
Characters on the Display. The Computer is at least trying to boot.
4. Check CPU (Power, GND, CLK, & Control Signals that are INPUTS to CPU: /WAIT, /INT, /NMI, /RESET)
These Signals are Active LOW, and must NOT BE STUCK LOW, for Z80 to boot properly. RESET is the ONLY one
you can easily manually activate, by the RESET Pushbutton.
If you have any of the INPUT Control Signals (/WAIT, /INT, /NMI, /RESET) that are STUCK LOW all the time,
that problem has to be tracked down, and repaired. Don't forget that most of these Control Signals are
created by using PULLUP Resistors that are bussed, in a SIP Package. Pin 1 is COMMON to all other Pins
and from the Common Pin to any other Pin is 4.7K OHMS (RP2). +5.00 VDC is applied to Pin #1, and all other
Pins of the SIP are PULLED UP to +5.00 VDC. Logic Chips at different locations take a Pin on the SIP to
GND to produce the Active LOW Signals. A bad Solder Joint, a defective Resistor internal to the SIP, or
some Logic IC can create a condition where the Control Signal is ALWAYS LOW (or not being PULLED UP to
+5 VDC because of a bad connection.)
5. In addition to checking the CPU, it's a good idea to check the two SIP Resistors RP1 (820 OHM) & RP2 (4.7K)
in two different ways. Check each one with an O'Scope while the CPU is inserted in the CPU Socket, and
with the CPU Removed from the socket. That way you can get a good check on the Signals that control the
CPU. You may even want to remove an IC, then insert a IC Socket and insert a new Chip. That will allow
you to Toggle the Control Signal that will end up being the INPUT Control Signal for the CPU. U61 or U62
would be a good example of an IC that may need to be inserted into a IC Socket so the /INT or /WAIT Signals
could be VERIFIED.
In the table below you can write in the actual OHM value for each Pin and circle the pulse
state as HIGH or LOW.
10 Pin SIP (820 OHM)__________8 Pin SIP (4.7K)
01 Common Pin tied to +5VDC__1 Common Pin tied to +5VDC
02 820 _______ HIGH/LOW_____2 4.7K ________ HIGH/LOW
03 820 _______ HIGH/LOW_____3 4.7K ________ HIGH/LOW
04 820 _______ HIGH/LOW_____4 4.7K ________ HIGH/LOW
05 820 _______ HIGH/LOW_____5 4.7K ________ HIGH/LOW
06 820 _______ HIGH/LOW_____6 4.7K ________ HIGH/LOW
07 820 _______ HIGH/LOW_____7 4.7K ________ HIGH/LOW
08 820 _______ HIGH/LOW_____8 4.7K ________ HIGH/LOW
09 820 _______ HIGH/LOW
10 820 _______ HIGH/LOW
6. At this point you need to verify each Address Line to make sure none (A0-A15) are STUCK LOW or HIGH.
To do this I use an old Z80 CPU, and Bend the DATA Line Pins out so they won't go into the 40 Pin Socket.
I solder a Jumper wire from
D0 THRU D7 and solder it
to GND. Now, the CPU is strapped to always get a
0x00 (NOP) on it's DATA Bus. The CPU will increment the Program Counter, and Increment the Address Lines
to the next address. This way you can use your O'Scope to look at each Address Line, making sure they are
all toggling, and aren't STUCK HIGH or LOW. You can even check the BUFFER IC's, Checking the INPUT side
versus the OUTPUT Side of the Buffer. You can also remove IC like ROMS, Video Controller, Video RAM, and
Buffers, to help Isolate the Address Line problems, assuming those IC's are in sockets.
It might also be wise to keep in mind that you can also break out the Clock Signal (CLK) and create a clock
signal that you can manually toggle to single step through the Address Lines. A Pushbutton, fed with +5 VDC
can be connected to a 74HC14 and fed to the CLK Input of the CPU. If you do this the RESET signal must be
HELD LOW longer than about 6 Clock signals to reliably reset the CPU, or you will get odd results. So, just
HOLD the RESET Pushbutton DEPRESSED (Line LOW) and give the CPU 6 or 8 CLK Signal Inputs from your
CLK Pushbutton. The CPU should be correctly RESET.
You can now single step through all Address Lines, and check or chase signals across the motherboard looking
for problems. Shorted IC's or SHORTED conditions on the Motherboard can be located by building yourself a
milliohm adapter for your Multimeter, or by purchasing the LEAKSEAKER 89 from:
http://eds-inc.com/product/leakseeker-89/
http://users.tpg.com.au/pschamb/lom.html
There is a good video on how to use the LeakSeeker 89 at:
https://www.youtube.com/watch?feature=player_embedded&v=BUyEe8G50D4
If you build yourself the milliohm adapter, it will work the same way as the LeakSeeker. OHMING from a point on an
Address Line to another pad will give you a changing (decreasing) milliohm value as you approach the SHORT.
There are several URL's of inexpensive SHORT BEEPERS, and SHORT DETECTORS to locate the SHORTED Device on a Circuit Trace.
http://www.electroniq.net/testers/electric-continuity-tester-circuit-diagram.html
http://edn.com/design/test-and-meas...c-board-shorts-with-low-cost-tracer-technique
http://electronics.stackexchange.com/questions/16398/find-short-location-on-pcb
7. Data Line problems will likely require an In Circuit Emulator (ICE) to be able to troubleshoot why the DATA
is incorrect. It can also be used to READ and VERIFY the ROMS, as well as step through startup code. I've got
one ordered, but it isn't here yet.
Hope this helps someone.
Thanks.
Larry