Heathkit TT-1 troubles

While checking a 6EJ7 for my IM-21, I noticed a whiff of smoke coming from my trusty TT-1.

Per a suggestion of someone in the Vintage Test Equipment group, I turned to my trusty TU-75 and finally used it’s series bulb feature.  An incandescent bulb in series acts as a current limiter, which both protects the Device Under Test, and gives a visual indication of when the DUT is trying to draw more current than you’d like. Sure enough, when the tube was connected using the ‘normal / disconnect’ switch, the lamp glows, and I see the voltage drop appreciably.

Side note: I finally got around to measuring and labeling the lamps in my TU-75.  According to the wattmeter, the largest lamp is 500W!  I seem to remember an even larger one that unfortunately got broken due to shoddy packing when I bought this 4 – 5 years ago.





What led me to the problem was this line adjust rheostat starting to smoulder.

See me. Spin me. Smell me.

It was suggested that this is not the source of the issue, rather an indication of something upstream drawing too much current.  Hopefully not an underlying issue with the transformer. With 40 taps across a half dozen windings, It’s basically unobtanium.




I didn’t recall ever having an issue with this tester in the past, and sure, things age, but what’s different about this test than countless one’s I’ve done before.  Well, for one thing, I don’t ever recall testing a tube with a 600mA before.  I decided to try testing something with a fixed voltage filament instead.  A 12AT6 with it’s 6.3V filament did not yield the same excess current draw, and tested fine under this setup.

This Page has a great document on refurbishing the TT-1.  It also has the last published tube data addendum.

Here’s another in-depth document on the TT-1.  It references Kent’s document as well, and pages 12 – 15 describe the theory behind the ballast capacitor. The reactance is inversely proportional to the capacitance, so as the capacitance goes up, it’s equivalent resistance goes down.   In my case, they’re all measuring a bit high:


stated value

measured value



3.6 uF

5 uF



3.6 uF

5 uF



7.1 uF

11 uF


C9 + 10 + 11

14.3 uf

21 uF


The sum is what’s important for this range – looking at the switch, it appears that the capacitors are paralleled sequentially through the last three filament settings (the current settings).  Is a 47% overage enough to account for this error?  That would mean at 600mA, it’s theoretically allowing ~900mA: Not great, but I’m surprised it’s enough to cause this problem.  There’s nothing else in this circuit – does this mean I should suspect a short somewhere in this tap?  It’s the top-most tap of the filament winding, #29. 

I’m going to try a lower current filament and see if I end up with the same issue, as well as some larger, higher current tubes.

Testing a 6L6 with it’s 6.3v filament at 900mA gets me a little bit of a dip in voltage down to 105V when testing with the dim bulb, but nothing like I was getting with the 600mA setting. With the bulb bypassed, it seems to work fine, and nothing is getting warm or stinky.
Testing a 6HZ6 with it’s 450mA gets me a dip down to 80V.  With the bulb bypassed, I get a good test, but started to get just a hint of fresh roasted components, so I killed it before I started to see smoke.
Went back to test a 6AW8 which calls for a 600mA, this time with a current meter on the common line on the ballast capacitor.  With the bulb, the line voltage dipped down to 70V & the filament is only able to draw ~400mA.  With the bulb bypassed, the filament drew ~700mA. I didn’t leave it on this setting long enough to summon the stank.
With the same tube & settings, switching to the 6.3V tap doesn’t cause the same brown-out.

My working theory is that there’s a short somewhere in the part of the winding that feeds the current filament settings, but that does not affect the other taps.  Not being able to use the current settings actually isn’t too big of a problem, as the tubes that call for it also have a published filament voltage.


Heathkit T-3 Restoration


This is not my first signal tracer, but it’s the first one I’ve gone to this much trouble on.  These have been getting pricey ever since musicians discovered they make cute little practice amps, so whenever I see one at a good price, I’ll snag it.

When I got it, it ‘worked’.  The indicator indicates, and sound played as expected.  It had a bit of hum and noise – not unreasonable, but definitely room for improvement.  At first, I thought I’d just replace any parts that were out of spec, but given how this is constructed, I decided a ground up re-build would be a better approach.

Here’s the before pic – the component count isn’t so high that it’s difficult to trace out in it’s condition, but it’s not exactly easy on the eyes.

Unbuilt Heathkits are getting fantastically expensive, but I figured if I did a complete tear-down, and ordered all new caps & resistors, I’d essentially get some resemblance of the new kit experience.  So off I went ordering parts, and stripping the chassis.


Everything showed up as ordered, but I didn’t pay attention to the physical size of the resistors.  Everything that showed up was 1/2 W as ordered, but they’re suspiciously small – even though they’re probably ‘correct’, they look out of place. They look like 1/8 W, they’re absolutely tiny. 

All of these really are 1/2 W resistorsThe one’s in question are:
47Ω – on the output
10kΩ – in the power supply
470Ω – on a cathode
There’s also the 1W 1kΩ in the power supply (the one that was looking toasty in the original build). It’s bigger, but it still just doesn’t feel right.  I’m going to go 2W on all these, somewhat for piece of mind, and somewhat for looks.


The solid-core for the wire used throughout measures .025  which puts it at 22 AWG. The OD w/ insulation is .056.  I have a bunch of 24 AWG solid core PVC jacketed hookup wire in various colors, and some cloth covered 20AWG from New Old Sounds.  The PVC wire has a slightly smaller OD than the original stuff, whereas the cloth covered stuff is on the thick side; slightly thicker than the transformer leads.  24 AWG is really fine for all of this, and I may use the cloth covered stuff for leads that pass through the deck.  The highest current is probably the heaters.  Each tube is 150 mA, and 24 AWG is good for 3.5 A, so we should be fine.

Color Coding

Most, if not all Heath gear of this era uses the same grey, solid-core wire.  I’d like to impart some color coding, and a quick search unearthed this:

Ground = Black
Filaments = Brown
B+ = Red
Control Grids = Green
Plates = Blue
AC Line = Grey


I was able to strip out almost everything, with the exception of the transformers and a few of their connections.  There’s really no slack on the transformer leads, so I didn’t want to risk it.

Here it is as disassembled as it was going to get – note I already started on re-stuffing the electrolytic capacitor.

Speaking of capacitors – this one was a bear to empty out.  I think it tested OK, but I was trying to make it future proof.  In my experience, really dried out, dead electrolytics seem to come apart rather easily.  When I opened this one up, it was still a damp, packed, impervious mess.  Picking, poking, & drilling did nothing, nor did soaking in water.  Boiling did the trick – a poor mans double-boiler with a sauce can kept me from exposing my cookware to the nasty innards.



Tube compliment:
12C8 –
12SH7 –
12A6 –
1629 –


I generally followed the instructions, making a few modifications to component placement, particularly where smaller replacement components allowed for a neater layout.

Started with the twisted heater wiring


Power & fuse wiring

The face-plate was installed after getting a polish.  It’s not perfect, but it’s better.  The screw-heads & jack hardware also got hit with a wire wheel – It’s easy, and I think makes a big difference.

Face-plate installation

B+ Wiring

Coupling capacitors & plate wiring

Shielded cable

Shielded cable – termination detail

Upper Deck

Wiring up the eye tube socket

Final Assembly

I’m pretty proud of how this came out.  There was one guy razzing me on the Vintage Test Equipment group about how some of the runs were too long & unsupported, which would cause variations in capacitance when they vibrate, or there was a possibility of exposed leads shorting if the unit was dropped.  I’m dismissing those as non-issues; I’m not going to sweat variations in picofarads on a device that tops out at a few kilohertz, and any drop hard enough to cause these components to come into contact would have much larger consequences anyway.  It may be difficult to tell from these photos, but leads that look close to touching are either at the same point in the circuit, or are a few cm away from each other.  These construction methods aren’t appropriate for high frequency circuits, but for audio, it’s just fine.


With the final assembly complete, all that’s left to do is power this up, slowly on a Variac.  It came to life with little fanfare – no creaks, pops, crackles, or smoke.  Once I saw the glow of the eye tube, but didn’t hear anything, I was convinced I’d screwed something up – I expected at least a little noise.  I tried playing back some music through the 1/4″ just for kicks, and was pleasantly surprised to hear clean audio reproduced.  It’s sounds as good as can be expected for this tiny speaker, but it’s quiet and clean. I haven’t tested the wattmeter function – I may at some point, even though I’m confident it’ll never get used.  The paint on the outer case isn’t in great shape, but I don’t have the means to strip it down, so that will be a future project – perhaps doing a whole batch in one go.


Tektronix 7854: Continued Woes


Well shit – it seems as though something else went wrong with this scope while I was slogging though the ROM problem.  It’s not the display board.  We’re not even getting to the point where that’s being checked.  It seems to quickly go into this vegetative loop pretty much immediately.  I put back the old (bad) ROMs to at least see if I could get the ROM error pattern again, but nothing – just all lights lit.

Did some probing on the chip-select lines on the ROM card, and it’s clear that it’s going through some quick little loop, but it’s not always the same loop on each restart.  I’m hoping to find a way to reset the CPU w/o cycling power.  I think I can short TP1200-1 to ground, but waiting for someone to confirm so I don’t invariably nuke something else.

I confirmed that all power supply rails are spot-on.


Tektronix 7854 – back on the bench

I bought this unit a few years ago when I happened on a cache of Tektronix gear being sold by the sons of a deceased collector in NYC. I remembered that I powered it up enough to discover that it suffered from the infamous ‘ROM Rot’ issue that plagues these machines.  The machine is seen in it’s vegetative state below – This specific pattern of illuminated mode switches means the machine can’t initialize itself, because it lacks the instructions to do so.

Dude where’s my socket?

Unfortunately, I’d since removed the IEC socket – I vaguely remember it was cracked. Replacing that would be the first order.

Getting to the inside to attach the connector is a bit of an exercise in contortion, but it’s manageable.  The biggest annoyance in working on these supplies is that even after disconnecting all of the connections, it’s still tethered to the mainframe by the cord to the power switch (I’ll bet there’s a way around this, but it’d be at the switch end).

It’s usually hard to plug things in incorrectly due to how they’re keyed, but I take photos just in case.

The other annoyance is reconnecting the line to the HV power supply.  It passes through a hole in the shield of the supply, and once you disconnect it, you can’t plug it back in with the shield in place.  And, there isn’t enough slack to remove the shield, so you have to:

  • disconnect the cable from the other end, up in the high voltage section (careful!)
  • run it through the hole in the shield
  • plug it in to the power supply
  • reattach the shield
  • re-route and reconnect the cable back up into the HV supply.

With the power supply reassembled, we’re back to square 1 – no ROMs.

First attempt with the EP-1 programmer

Finally got this thing working.
Funny story – I actually had one of these in storage, but it was cheaper just to buy a new one than to rent a zip-car and make a special trip just for this one piece.  So now I have two BP Microsystems EP-1 programmers…

Here’s the Manual
UPDATE: Thanks to John Spina on the Vintage Test Equipment group for pointing me to the original software and firmware updates.

UPDATE:  Thanks to Rodger Whitaker for pointing out this modern USB programmer from Batronix that supports older chips. ~200 euro.  Not cheap, but not as expensive as I expected.

I was able to use Serial.app in OSX to connect to my old Radio Shack USB-serial adapter, which I couldn’t get to work on my Win10 box.  The programmer doesn’t need any additional software, it serves up it’s interface over the serial port.  It automatically detects the baud rate, up to 38,400.
To read a chip:

  1. ‘C’ brings up a menu to select the chip by make then model
  2. ‘PROTO’ lets you select the protocol – I had success using XMODEM.
  3. ‘RH’ reads a hex file – it will send the file once you initiate an XMODEM receive via the terminal emulator

Some other useful commands:

  • STAT – lists the current baud rate, firmware, selected chip type, and protocol.  It also has the phone number for BP Microsystems, which is still in business, and still has the same number (contrats guys!)
  • LIST – shows the contents of the chip, with a familiar hex viewer layout
  • BLANK – confirms that the ship is blank (all FFs)

There are also a number of commands for reading files in different formats (Intel, hex, Motorola, and Tektronix (?)), manually programming segments of a chip

Programming a chip:
This is where I’m getting stuck.  I’ve already incorrectly programmed one chip with a single character.  I have to find the correct combination of protocol and upload settings.
OK, I’ve got a bunch of EPROMs I can try programming once before my eraser shows up.

Attempt 1:
Set programmer for XMODEM,
Set transfer for XMODEM, no 1K block size
Appears to work correctly, but then I get the following:
Bytes received; 6 hex file errors;
1 bytes programmed correctly, no errors.
Only the first byte is programmed, and not even the correct one.

Attempt 2:
Same as above, but convert to HEX file first.
Appears to be working correctly, and takes a lot longer.
Appears to work correctly, reports:
00 Bytes received;
2000 bytes programmed correctly; No errors.
2000h = 8kB, so that’s promising.

When we read it back and diff with the original, we get a file that’s 1kB larger, and seems to have carriage returns (0x0D) every 32 characters.  I can’t tell if this is a readback error, or a programming error.
It’s a read-back error.  Using ‘RB’ gets the file back in straight binary, and comparing it to the original file from the wiki I used to burn it from shows no errors.

SO: Even though the programmer can send us back binary files, we have to send it hex files.  Lesson learned!

Supported Chips

If anyone is interested, here’s a complete list that the programmer spits out with the ‘PARTS’ command:

8753H *1B,C 8751H *1B,C 87C51 *1C Am27128
Am27128A Am2716 Am27256 Am2732
Am2732A Am2732B Am27512 Am2764
Am2764A Am27C128D Am27C128P Am27C256
Am27C512 Am27C64D Am27C64P Am2817A
Am2864A Am2864AE Am2864B Am2864BE
Am28C256 Am9716 Am9761H *1B,C Am9864

AT27C128 AT27C256 AT27C256R AT27C512
AT27C512R AT27C513 AT27C515 AT27HC256
AT27HC256L AT27HC64 AT27HC641 AT27HC64L
AT28C04 AT28C04E AT28C04F AT28C16
AT28C16E AT28C16F AT28C17 AT28C17E
AT28C17F AT28C256 AT28C256E AT28C256F
AT28C256E AT28C64 AT28C64E AT28C64F
AT28C64X AT28HC16 AT28HC16L AT28HC16L
AT28HC191 AT28HC191L AT28HC256 AT28HC256E
AT28HC256F AT28HC256L AT28HC256LE AT28HC291
AT28HC291L AT28HC64 AT28HC64E AT28HC64L

8014 8020 8023

CAT27128A CAT27256 CAT27512 CAT2764A
CAT27HC256 CAT28C16A CAT28C17A CAT28C256

Dallas Semiconductor
DPV27C256 DPV27C512

Electronic Arrays

XLS2804A XLS2816A XLS2817A XLS2864A
XLS2865A XLM46C15 XLM46C16 XLM46P15
XLM46P16 XLS46C15 XLS46C16 XLS46P15

MBL8742H *1A MBL8749H *1A MBL8749N *1A MBM27128
MBM27128-X MBM2716 MBM2716H MBM27256
MBM27256-W MBM27256-X MBM2732 MBM2732A
MBM2764 MBM27C128 MBM27C128P MBM27C256
MBM27C256A MBM27C256A-W MBM27C256AP MBM27C256H
MBM27C512 MBM27C512P MBM27C64 MBM27C64-W
MBM27C64-X MBM28C64 MBM28C65 MBM83256

27011 (12.5V) 27128 (21V) 27128A (12.5V) 2716 (25V)
27256 (12.5V) 2732 (25V) 2732A (21V) 2732B (12.5V)
27512 (12.5V) 2764 (21V) 2764A (12.5V) 27C128 (21V)
27C16 (25V) 27C256 (12.5V) 27C32 (25V) 27C512 (12.5V)
27C64 (21V)

General Instrument
27256 27C128 27C256 27C512
27C513 27C64 27HC64 27HC64L
28C04 28C16 28C17 28C64
28CP256 28CP256A 28CP256B

GR27128 GR27256 GR27512 GR27513
GR2764 GR281 GR881 GR3281

HN27128A HN27128AG HN27128AP HN27256
HN27256G HN27256P HN27512 HN27512G
HN27512P HN27C256 HN27C256FP HN27C256G
HN27C256HG HN27C64 HN462532 HN462716
HN462732 HN4827128 HN482732A HN482764
HN58064 HN58C65 HN58C66P

HY2764 HY27C64

IDT78C16A IDT78C256A IDT78C64A IDT78M64

27011 27128 27128A 27128B
2716 27256 2732 2732A
27512 27513 2758 2764
2764A 27C128 27C256 27C512
27C64 2816A 2817A 2864
2864A 68C257 8041A *1A 8042 *1A
8048AH *1A 8049AH *1A 8050AH *1A 8741A *1A
8741AH *1A 8742 *1A 8742AH *1A 8744H *1B,C
8748 *1A 8748H *1A 8749H *1A 8751H *1B,C
8755A *1A 87C256 87C257 87C51 *1C
87C64 P27128A P27128B P27256
P27512 P27513 P2764A P27C128
P27C256 P27C64

Microchip Technology
27256 27C128 27C256 27C512
27C513 27C64 27HC256 27HC256L
27HC64 28C04 28C04F 28C16
28C17 28C64 28C64A 28C64AF
28C64AX 28C256 28CP256

MX27C256 MX27C64

M5L27128K M5L27128K-I M5L27256K M5L27256K-I
M5L2732 M5L27512K M5L2764K M5M27128P
M5M27256P M5M27512P M5M2764P M5M27C128K
M5M27C256K M5M27C256AK M5M27C256P M5M27C512AK
M5M27C512AP M5M28C64AP M5M28C64P

ET2716 ETC2716 ETC2732 MK2716
MK2764 MK38XXX

MCM2532 MCM2716 MCM68764 MCM68766

MM2716 MM2716E MM2758-A MM2758-B
NMC2732 NMC27C128B NMC27C128BQ NMC27C128BN
NMC27C128C NMC27C128CQ NMC27C16 NMC27C16H
NMC27C16HQ NMC27C16Q NMC27C256 NMC27C256Q
NMC27C256B NMC27C256BN NMC27C256BQ NMC27C32
NMC27C32H NMC27C512 NMC27C512A NMC27C512AN
NMC27C512AQ NMC27C64 NMC27C64N NMC27C64Q
NMC27CP128Q NMC9817 NMC98C64A

8748HD *1A uPD27128 uPD2716 uPD27256
uPD2732 uPD2732A uPD2764 uPD27C256
uPD27C256A uPD27C512 uPD27C64 uPD28C04
uPD28C05 uPD28C64

MSM27128A MSM27128AS MSM27128AZB-RS MSM2716
MSM27256 MSM27256AS MSM27256ZB-RS MSM2732
MSM2732A MSM27512 MSM27512AS MSM27512ZB-RS
MSM2764 MSM2764A MSM2764AS MSM2764AZB-RS

Quick Pulse
27011 27128A 27256 27512

RD27C256 RD27C64

R2764 R2764C R27C64 R2816
R5213 R52B13 R52B33 R87C32

KM2816A KM2816AI KM2817A KM2817AI
KM2864A KM2864AH KM2865A KM2865AH
KM28C64A KM28C65

27128 27256 2764 27C256
2804A 2816A 2816AH 2817A
2817AH 2864 2864H 28C256
28C64 28C64A 28C65 36C16
36C32 38C16 38C32 5133
5213 52B13 52B13H 52B33
52B33H 5516A 5516AH 5517A
5517AH 55B33 55B33H 82005
82025 86063 E52B33 E52B33H
M52B33 M52B33H

ET2716 ETC2716 ETC2732 M27128A
M2716 M2716P M27256 M27C256B
M27C512 M2732A M27512 M2764
M2764A ST27128A ST27256 ST2764A
ST27C256 TS27C256 TS27C256P TS27C256Q
TS27C64 TS27C64A TS27C64P TS27C64Q
TS28C16AC TS28C16AP TS28C64C TS28C64P

ET2716 ETC2716 ETC2732 M27128A
M2716 M2716P M27256 M27C256B
M27C512 M2732A M27512 M2764
M2764A ST27128A ST27256 ST2764A
ST27C256 TS27C256 TS27C256P TS27C256Q
TS27C64 TS27C64A TS27C64P TS27C64Q
TS28C16AC TS28C16AP TS28C64C TS28C64P

27C256 27C512 27C64A 87C256
87C64 SC87C51 *1C

SPM27128 SPM27128C SPM27128H SPM27C256
SPM27C256H SPM27C64 SPM27C64C SPM27C64H
SPM2864 SPM2864C


ET2716 ETC2716 ETC2732 MK2716
MK2764 MK38XXX TS27C17AC TS27C17AP
TS27C256 TS27C256P TS27C256Q TS27C64
TS27C64P TS27C64Q TS28C16AC TS28C16AP
TS28C64C TS28C64P

SMJ2516 SMJ2532 SMJ2564 SMJ27C128
SMJ27C512 TMS2516 TMS2532 TMS2564
TMS25L32 TMS27128 TMS2732A TMS2764
TMS27C128 TMS27C256 TMS27C512 TMS27C64
TMS27P32A TMS27P64 TMS27PC128 TMS27PC256
TMS27PC512 TMS27PC64 TMS28C64

TC54256AF TC54256AP TC54512AP TC57256
TC57256AD TC57256ADI TC57256D TC57512AD
TC57H256D TMM23128-H,H TMM23128-H,L TMM23128-L,H
TMM23128-L,L TMM2364-H,H TMM2364-H,L TMM2364-L,H
TMM2364-L,L TMM24128AF TMM24128AP TMM24256AF
TMM24256AP TMM24256BF TMM24256BP TMM24512AF
TMM24512AP TMM24512F TMM24512P TMM2464AF
TMM2464AP TMM27128 TMM27128A TMM27128AD
TMM27128ADI TMM27128D TMM27128DI TMM27256
TMM27256A TMM27256AD TMM27256ADI TMM27256BD
TMM27256BDI TMM27256D TMM27256DI TMM2732
TMM27512 TMM27512AD TMM27512ADI TMM27512D
TMM27512DI TMM2764 TMM2764A TMM2764AD

VLSI Technology
VT27C256 VT27C512 VT27C64 VTC27C256

WS27C128F WS27C256F WS27C256L WS27C512F
WS27C512L WS57C128F WS57C256F WS57C512F

White Technology
8014 8020 8023

X2804A X2816A X2816AI X2816AM
X2816B X2816H X28256 X2864A
X2864AI X2864AM X2864B X2864H
X28C256 X28C64


Tektronix 7854 – ROM Rot

This is an attempt to capture all of the knowlege that exists regarding the ROM issues on the Tektronix 7854 Oscilloscope.  My machine, serial # B042029 suffered from this problem, hence my interest. If somehow you’re reading this and have any corrections or questions, please chime in.

The Case of the Rotting ROMs

One of the more common problems with the Tektronix 7854 is Rom rot.  Over time, the Mostek mask ROMs start losing bits.  It’s a well known issue that has been discussed a number of times.  Why am I bringing it up one more time?  Because I don’t think all of the information has ever been compiled into one place.

There are a number of resources out there:

  • The Vintage Tek Museum documents a method of using modern replacement EPROMs with a socket adapter board.
  • This Zipfile that the Tek museum’s page references.  This contains a text file by Pentti Haka from 1999 that so far is the best explanation I’ve found of what’s going on under the hood (Patched, 16k ROMs)
  • This document from 2011 by Goran Krusell that describes much of what Pentti Haka originally outlined.
  • Dave’s repair blog has some notes on the subject, that I think ended up in the Tek Museum’s page
  • This Zipfile from David DiGiacomo (Patched, 8k ROMs)
  • There are a number of threads the TekScopes group.  Some of these go back 7+ years, have dead links, and dead ends, but there’s still lots of good info.
  • And there’s this thread I’ve got going on the Old Tek Scopes Facebook group.

What’s on the board:

Above is a photo of the original ROM board.  It contains:

  1. 16k words of ‘base code’ starting at address 0000, spanning across (4) 8k byte mask ROMs from Mostek (upper left)
  2. 2k words of patch code 0x8000, spanning (2) 2k byte EPROMs (upper right)
  3. A Field Programmable Logic Array (FPLA) in the lower left

The FPLA (an early FPGA) watches all 15 address lines and outputs 6 address lines and a flag.  When an address is called that has a newer segment of code on the EPROMs, the FPLA decodes the incoming address, puts an altered address on the board’s bus, and sets a flag that switches the chip selects from the main ROM to the patch EPROMs. The patch itself is only a few words, enough to jump to another part of the EPROM where a new segment of code resides.  The EPROMs also contains ‘normal’ code that is directly addressed.

A note on versions:

Early versions had an external battery backup option, as evidenced by a pair of banana jacks on the rear, and separate RAM & ROM boards.  I believe there to be 2 or 3 versions of the firmware for the original board, denoted by the last two numbers of the part#s. The versions of the EPROMs must match the FPLAs.

David Hess believes there were:
2 Mask ROM versions
3 FPLA versions
3 Patch EPROM versions

Dan on the Teksopes group reports his version 1.03 has the following:

  • U100 160-0408-01
  • U110 160-0409-01
  • U120 160-0445-02 (Signetics 3-state FPLA)
  • U200 160-0410-01
  • U210 160-0411-01
  • U400 160-0466-02 (8x2k EEPROM)
  • U410 160-0467-02 (8x2k EEPROM)

On my version, all chips have a -00 suffix.

Dan and I have confirmed that the contents of the -00 and -01 mask ROMs are identical.  Thus the difference in versions is only in the FPLA & EPROMs, and the ROM part numbers were only incremented due to a change in supplier, from Mostek to Motorolla.

Holger, who is working on a replacement board (more below), mentions a version 2.0, which I believe is what’s on the later, combo RAM/ROM boards.

I still don’t know for certain how the suffix on the part numbers map to firmware versions.

Late versions (Serial B100000 and above*) had a built-in battery backup on a combined RAM/ROM/Backup board, which occupied the larger RAM slot, forward of the ROM slot.

* That’s according to the change info, but Bob – N3XKB reports his SN#B100078 unit still has the old configuration.

Raymond on the TekScopes board: explains the difference in behavior in a working unit:

With the original version with external battery backup, recognisable by the two banana sockets (red and black) on the rear panel, you’ll see all lights coming on for a few seconds, then most will switch off, you’ll hear a beep (if that’s enabled with the switch on the rear panel) and you’ll see the text “self test complete” on the CRT, if your Readout intensity setting is sufficiently high.
If you then press the “stored” key (slightly to the left above the blue key), you’ll be able to see the horizontal stored trace (a flat line if nothing stored) and you can see the readout text of the stored mode.
With the newer version (integrated ROM/RAM, internal backup), you’ll either see and hear the same or you won’t see anything, apart from the power light and the graticule illumination if that’s on. It depends on the position of the switch on the rear panel that allows you to start up with self test of from backup power.

Late version combined RAM/ROM card

What are our options?

Fortunately, ROM images are available, and we have a few options in how to make use of them.

relevant EPROMs



Pin count



8k x 8


25 V


8k x 8


12.5 V

20 - 50ns

2k x 8


25 V


16k x 8


12.5 V


None of the above EPROMs are in current production, some are easier to acquire than others, and only the 27128A is programmable by inexpensive USB programmers such as the TL866.  Suffixes are important, as they denote the access speed.  Several people have confirmed that 350nS EPROMs are necessary and have reported intermittent issues in using 400nS chips.

Option 1: Programming pin-compatible EPROMs with original images

This approach uses the original images, and relies on a working FPLA, and matching patch EPROMs.  You can use either (4) MCM68766C35 or CY7C64 EPROMs, and the -00  images on the tek Wiki. (also zipped here)

This is a good option for initial troubleshooting, but as it relies on a working FPLA, may still be prone to future issues.  The stability of the FPLAs is somewhat unknown, though there have been reports of them being a source of trouble.

Option 2: Programming pin-compatible EPROMs with patched images

Most solutions that have been described elsewhere involve the use of patched images, which already include the patch terms.  This obviates the need for the FPLA (in fact it must be removed), but still requires the patch EPROMs.

You can again use either (4) MCM68766C35 or CY7C64 EPROMs to replace the mask ROMs, and if you have anything other than -02 version EPROMs, you must replace those as well with (2) 2716-1 EPROMs.
This zipfile from David DiGiacomo contains the images required.

Option 3: Programming 28 pin EPROMs with combined images

This is the solution documented on the Vintage Tek Museum’s page, and requires (2) 27128A 16k EPROMs, which are also out of production, but easier to acquire and program. Using a pair of 16k EPROMs covers the address space of 4 original 8k ROMs.  These require adapter sockets, which may or may not interfere with the ability to retain the GPIB board, depending on who you ask. As with the above option, if you have anything other than -02 version EPROMs, you must replace those as well with (2) 2716-1 EPROMs.

You must also rewire A13 & Chip Select lines now that the address space is handled by 2 chips instead of 4.  From the Tek Museum’s page:

Wire A13 by connecting both 27128 pin 26 to U425 pin 1.

Wire new CS. Start by disconnecting the existing CS from U200 and U210 pin 20. We did this by simply not connecting pin 22 in the EPROM adapter (which connects to pin 20 on the PCB) and then flying a new CS wire directly to pin 22 of the EPROM:

Option 1: Add an unused gate by connecting both 27128 U200 and U210 pin 22 to U225 pin 11. Connect U320 pin 13 to U225 pins 12 and 13

Option 2: (We have not implemented this so consider it unverified) Cut and lift U420 pins 9 and 13. They will float high or you can connect these pins to +5V.

This zipfile from Pentti Haka contains the images required.



Option 4: Build a new board

Holger Lübben is working on a new version of the combined ROM Diagnostic board.  He’s still testing it and will release it when it’s done.

Notes on the Memory Map

The CPU is the Texas Instruments TMS9900Here’s another good overview of the chip and it’s pin-out.

Paraphrasing from a few notes across the Tekscopes group:

  • The total space is 64K words of 16 bits.
  • The LSB of addressing is not used (no byte addressing), so the address bus is physically 15 bits.
  • All peripheral devices seem to use dedicated select lines, DMA and interrupt communication with the processor, so they do not occupy space in the memory map.
  • Address references printed on the boards are byte level
    • The 16 bit addresses run from 0000 to FFFF (128K bytes or 64K words).
    • RAM addresses start at A000 and run to DFFF (16K bytes or 8K words).
  • Since the LSB is not used, it is 32K words of 16 bits or 64KBytes of total address space.
  • The main ROM is 32KBytes so it extends to 7FFF. On the old ROM board,
    the patch ROM address space starts at 8000.

Here’s a puzzle: Why did Tek provide two unused memory chip sites on the new board? There is only space in the address map for another 8K bytes or 4K words between E000 and FFFF.

If I understand correctly, with the removal of the patch ROM at 8000, Tek may have changed the RAM starting address from A000 (old RAM card) to 8000 (new combined memory card). That would mean the firmware was changed, and the new ROMs may be able to address RAM from 8000 to FFFF, which is double the old amount. They have only installed RAM for 8000 to BFFF, and the unused sites on the new memory card would be for C000 to FFFF.


Diagnostics boards & Calibration Fixtures

Eggie Siert Writes:

Hi to All,

Nice that Brian put some energy in contacting the buyer of the 7854 with the 067-0961-00 Diagnostic Memory Board.

In Post 62147 I copied a list of Fixtures to service a 7854 (see below):

” In the past I made some overview of 7854 dedicated Calibration Fixtures (7854 Service Manual: Maintenance Section 3-7/8/9):


  • 067-0892-00: Tektronix Microlab 1 Mainframe (provides power for service package and in conjunction with the RS232 Compatible Terminal control over the 067-0961-XX Diagnostic Memory Board)
  • 067-0911-00: Diagnostic Test Interface (serves as a interface between the Microlab 1 Mainframe and the digital portion of the 7854)
  • 067-0912-00: Analog Test Board (used to isolate the analog circuitry from the digital portion) Plugs into A29-Display Board
  • 067-0913-00: Extender Board 44-Pin (used with the A30-GPIB and A31-ROM Boards)
  • 067-0914-00: Extender Board 80-Pin (used with the A27-MPU and A28-RAM Boards)
  • 067-0915-00: Extender Board 124-Pin (used with the A26-Control Logic and A29-Display Boards)
  • 067-0961-XX: Diagnostic Memory Board (contains a portion of the service package firmware, as well as 7854 specific troubleshooting stimuli and diagnostics)
  • 070-2972-XX: Signature Tables (is a complete and cumulative (historical) document of the firmware in the digital portion of the 7854)
  • RS232 Compatible Terminal (In conjunction with the Microlab 1 provides control over the 067-0961-00, the A2-Test Processor Board and the 067-0911-00 Diagnostic Test Interface)”

I never saw on eBay or else the 067-0911-00 Fixture which is really needed to take advantage of the 067-0961-00 Diagnostic Memory Board. The 067-0911–00 and up Manual is on TekWiki and you must have access to both big Volumes of the “Test Procedures for 7854 Diagnostic Troubleshooting using the 067-0911-00 and up Diagnostic Test Interface”

 Successful Failure I’m a dumbass






It was this chart that led me to the ROMs in the first place, and unfortunately, it’s also this chart that confirms that I have a bad display board.  After reading out all of the ROMs, comparing them against the copies on the wiki, I was able to identify that U210 was bad.  After a few false starts, I burned a replacement MCM68766C35, verified it, and re-installed the board.  The new pattern of indicator status lights confirms that:
1) I succeeded in rectifying the problem on the ROM board (YEAH!)
2) The display board is also faulty.

WRONGReading Is Fundamental.  I have ALL lights on, which is not listed in the self test.  Which means It’s getting hung up in booting, and I’m likely not done with the RAM card.

Great page from a fellow test gear aficionado

I don’t know how I haven’t had this page bookmarked since the dawn of the internet, but it’s going to occupy most of my web-reading time over the next week.  A treasure trove of terrific info!

His page on tube era capacitor testers is a great overview of period instruments and their use.

Such good stuff, thanks Rich, KB8TAD!

Edited 5/10/2020 for updated links

Colored sql


Thanks to Alexey Kalinin for his grc profile which colorizes mysql.
You also need grc, which is super easy to install by hand (directions in INSTALL worked like charm)

Good stuff!  Below screenshot is from cathode, an OSX terminal program that emulates old terminals (note the scan lines and slight curvature).  It may be trite, and a little hipster, but I get a kick out of it.


Simpson 476 Mirrorscope: Success!

Finally got a trace!  Turns out that the open cathode resistor I replaced that I thought was supposed to be a 2.7k was actually supposed to be a 39k, so after rectifying that (with a 33k), and replacing the incorrect bias resistor, it lit up like a charm.


After that, I put a sine in the X & Y, and fiddled with the bias controls until I got maximum linearity.  The sweep & trigger is a little wonky, so I think I’ll run some tests with an external sweep generator to dial the amp sections in first, before I tackle the sweep.  Besides, Benton (who’s scope this is) mostly only uses X/Y mode, so that’s more important.

There is some burn-in visible on the CRT, I may poke around eBay to see if there’s a replacement that’s available and inexpensive.  The filter caps in the power supply are shockingly good, but I may replace them anyway, at least the paper ones.

After a congratulatory sip of Bourbon (4 Roses, one of my faves), I realized that all the troubles in this scope stemmed from bad 39kΩ resistors. I wonder if there was a bad batch, or they were all just under spec’d?  In any event, I’m going to replace them all, and probably up the rating to 2W, just to be sure.  I may also replace the 68k resistors that have drifted as well.

Here it is triggering on a 100kHz square wave, not bad!