ET-3400 project notes

Some technical notes on wiring up an EEPROM to the ET-3400, for those interested.

Design

The schematic omits the obvious like connecting the data and address buses and connecting VCC and GND to the ET-3400’s +5V and GND lines. The subsequent shots in that gallery may be useful to look at for layout and wiring.

IC1A decodes the address bus, pulling CE/ (chip enable) low on the EEPROM when its address range is selected.

IC1B pulls either the WE/ (write enable) or OE/ (output enable) lines low on the EEPROM to correspond with the R/W/ line from the processor, masked with VMAphi2/.

The EEPROM is enabled only if both CE/ and exactly one of WE/ or OE/ are enabled (low). Writes and reads are both effectively instantaneous, at the slow 500 kHz clock speed of the ET-3400.

IC3 takes care of pulling RE/ low to reverse the direction of the data buffer when the EEPROM is reading. (The data buffer serves mainly to protect the 6800’s data lines.)

Parts

The parts list:

  • IC1. 74LS139, dual 2-to-4 decoder. I used ancient salvage; All Electronics has #74HC139 for $0.35.

  • IC2. Atmel AT28HC64B. I used the slowest variety, 120 ns, part suffix -12PI. The nearest equivalent I see in stock currently is at Digi-Key, #AT28HC64B-90PU-ND, $6.60 in singles. This is the 90-ns version, which shouldn’t make any difference.

  • IC3. SN7402, quad 2-input NOR. I used ancient salvage; All Electronics has #7402 for $0.35.

  • A breadboard. The one on the ET-3400 itself is fine, but mine was a bit worn out, so I used my favorite 400-contact board (All Electronics #PB-400, $4).

  • The usual jumper wires, like #JW-350 at All Electronics. Plus some longer ones - use solid-core 24 AWG wire.

Assembly

Wiring is straightforward, going to the sockets on the top of the machine. (I’m happy to provide step-by-step instructions on request.)

Usage

Once it’s running, the 8K of EEPROM is located at addresses $8000 - $9FFF.

You can simply use the Monitor ROM’s AUTO, EXAM and other commands to write bytes to it like normal RAM, and DO to execute a program directly from it.

More care is needed when writing under program control, because consecutive writes are grouped into pages with a 10 ms write cycle time - details are in the data sheet - but it’s not an issue if you’re entering the data by hand and running a program that uses RAM for its variables.

ET-3400 EEPROM addon

Next on your project list should be hard-wiring this baby in a plastic case and connecting it to the ET-3400 via the applications connector. Yeah, I know, the right kind of edge connector (34 pins?) might be a little tough to find …

When I got my ET-3400 back in ‘83 one of my first DIY projects was a 2KB expansion memory addon using “bytewide” pseudostatic RAM, a 6116 in this case. Plugged into a ZIF socket so I could substitute a programmed 2716 EPROM, which was pin-compatible. Yes, after testing a breadboarded version I did hardwire it and connect it to the applications connector.

Dug the shebang out of storage a while back. Everything still works.

Very cool!

Very cool! Permanent storage is certainly the most useful add-on I can think of for this machine.

A more permanent home for it would definitely be a good thing. Though I don’t seem to mind keeping stuff on breadboards as much as most people; heck, it’s not like I’m taking to coffee shops or anything. :)

Thanks for writing!

—tjw

Excellent Project

I built this using a Xicor X2864AP, and it works great, just as advertised!