ET-3400 Microprocessor Trainer · Volume 8

My ET-3400

I have owned two ET-3400s. The first I built from the kit, and it is the one this volume is mostly about. I learned machine code in the 1970s on two trainers, a KIM-1 and that ET-3400. I went through the entire EE-3401 Microprocessors course on it, and in about 1978 or 1979 I programmed a simple tickertape text program on it for my junior-high-school science class. That trainer has since disappeared. The one in my lab now is a second trainer, which I bought on eBay.

8.1 Two trainers

The KIM-1 and the ET-3400 make an instructive pair, and I learned on both. The KIM-1, MOS Technology’s 1976 evaluation board for the 6502, was a bare circuit board with a hexadecimal keypad, six seven-segment digits and a monitor program in ROM (KIM-1, Iconic Machines). The ET-3400 had the same essentials (a keypad, six digits and a monitor in 1K of ROM), around a different processor, the Motorola 6800, and inside a cabinet with a breadboard, logic switches and LEDs and every bus line brought out to the panel. Both were programmed the same way: work the program out on paper, look up each instruction’s op code, and key the bytes in by hand.

8.2 The course

I worked through all of EE-3401. As volume 4 describes, in 1978 that meant ten units in binders, from number systems and codes through the 6800’s instruction set to interfacing, with an audio-visual flip chart and records or cassettes, and a box of parts for the experiments: the 2112 RAMs that doubled the trainer’s memory, a 6820 PIA, a digital-to-analog converter and op amps (Fall 1978, p. 88). Units 9 and 10 were the experiments, programming first, then interfacing on the breadboard.

Figure 1 — The course and the trainer as Heath sold them in Spring 1978: EE-3401 at $89.95 and the ET-3400 kit at $199.95, or the two as ETS-3400 for $279.95. This is the catalogue's offer in the period of my…
Figure 1 — The course and the trainer as Heath sold them in Spring 1978: EE-3401 at $89.95 and the ET-3400 kit at $199.95, or the two as ETS-3400 for $279.95. This is the catalogue's offer in the period of my tickertape program, not a picture of my own unit. — Source: Heathkit catalogue, Spring 1978, p. 97, World Radio History, https://www.worldradiohistory.com/Archive-Catalogs/Heathkit-Catalogs/Heathkit-Catalog-1978-Spring.pdf

8.3 The tickertape

The program I wrote for my junior-high science class was a simple tickertape: text moving across the trainer’s six digits. The message was simple too: “Light travels 300000 KM Sec - WOW”. My code has not survived, or not yet, so the program itself is not reconstructed here; only its message is.

What can be said is what such a program had to do on this machine, because the hardware leaves little choice. The trainer has no character set, so a message has to be turned into segment codes, one byte per character, a bit for each of the seven segments and one for the decimal point; letters like M, W and K have no good shape and get spelled around. The six digits are written through the monitor’s display routines or by storing straight into their latches. Scrolling means showing six characters, waiting, and showing the six that start one character further on, and the wait is a counting loop timed by the trainer’s roughly 500 kHz clock. Volume 5 works through all of this with a tickertape written for this dive, run in an emulator.

On six seven-segment digits that message is a small design problem in itself. K, M, V and W have no true shape and need stand-ins; the emulator’s font uses an H for K, a U for V, and its own rough shapes for M and W (frames 27 and 34). The numbers and most of the other letters come out well. To show what the class would have seen, the message below is run through the tickertape written for this dive in Volume 5, with only its text changed. It is a modern reconstruction in the emulator, not my 1978–79 program. With six spaces before and after, it takes 45 bytes, fits easily in the trainer’s 256 bytes of RAM, and scrolls past in about thirteen seconds at a third of a second per step. Four of its frames, as 03-outputs/tools/jeff_tickertape_frames.py prints them:

frame 7: "L1GHt "
           _
|      |  |    |_|  |_
|_     |  |_|  | |  |_
frame 14: "rAUEL5"
      _         _         _
 _   |_|  | |  |_   |    |_
|    | |  |_|  |_   |_    _|
frame 27: " HM 5E"
           _         _    _
     |_|   _        |_   |_
     | |  | |        _|  |_
frame 34: " - WoW"

      _        |_|   _   |_|
               |_|  |_|  |_|

The 1977 manual also has a tickertape of its own. Its Sample 4 “outputs same message as program 3 in ticker tape fashion”, scrolling YOUR 3400 IS UP AND RUNNIN across the display one character at a time (ET-3400 manual, 595-2021-03, p. 59). Every ET-3400 owner had it in the book. Whether my program had anything to do with it is not known.

Figure 2 — Heath's own ticker tape: the manual's Sample 4, keyed into this dive's emulator byte for byte from the 1977 manual, and drawn frame by frame from the display states the emulator recorded. The "dash…
Figure 2 — Heath's own ticker tape: the manual's Sample 4, keyed into this dive's emulator byte for byte from the 1977 manual, and drawn frame by frame from the display states the emulator recorded. The "dashes" in Heath's listing are segment code $08, the bottom bar, so they appear as underscores. This is Heath's program, shown for comparison; it is not mine. — Source: drawn for this dive from et3400_sim.py running Sample 4 of the ET-3400 manual, 595-2021-03, pp. 59–60, Heath Company, 1977

8.4 The trainer I have now

The label on the bottom gives the second trainer’s model as ETW-3400, the factory-wired version of the original MC6800 trainer, so Heath built this one, not me. The board is lettered “Model ET-3400”, and the processor is a Motorola MC6800P. The date codes on its chips put its assembly in late 1980 or after, about two years after my tickertape: the two RAMs are Synertek 2112A-4s dated 8022 and 8035 (weeks 22 and 35 of 1980), and the Heath monitor ROM, 444-17, is dated 8037. That is late in the original model’s life: the ET-3400A replaced it in the Christmas 1981 catalogue (volume 1).

Figure 3 — My second ET-3400, bought on eBay, photographed square-on with the power off. The board is lettered "Model ET-3400" and the processor (IC11) is an MC6800P. RAM (0000) holds its two 2112 chips; the …
Figure 3 — My second ET-3400, bought on eBay, photographed square-on with the power off. The board is lettered "Model ET-3400" and the processor (IC11) is an MC6800P. RAM (0000) holds its two 2112 chips; the two sockets at RAM (0100), IC16 and IC17, are empty. — Source: my photograph, 8 November 2026
Figure 4 — The identification label on the bottom of the same trainer: model ETW-3400, the factory-wired trainer. The series number is blurred here.
Figure 4 — The identification label on the bottom of the same trainer: model ETW-3400, the factory-wired trainer. The series number is blurred here. — Source: my photograph, 8 November 2026

It came with only the standard 256 bytes of RAM. IC14 and IC15 at RAM (0000) are fitted, while IC16 and IC17, the sockets for the second bank that the EE-3401 course supplied, are empty. Filling them takes two more 2112-type 256 × 4 static RAMs, which are no longer made, so they have to come from old stock (volume 6).

Figure 5 — The top left of the panel: Synertek 2112A-4 RAMs in IC14 and IC15, dated 8022 and 8035, under the RAM (0000) legend, with the empty IC16 socket at the right edge. Below them are the Data I/O buffer…
Figure 5 — The top left of the panel: Synertek 2112A-4 RAMs in IC14 and IC15, dated 8022 and 8035, under the RAM (0000) legend, with the empty IC16 socket at the right edge. Below them are the Data I/O buffers, IC9 and IC10, both 74LS243 parts, and the control buffers. — Source: my photograph, 8 November 2026

8.5 Bringing the second trainer back

Sources

Comments (0)

  1. Loading…

Comments are held for moderation — nothing appears until approved.