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.

Comments

Excellent Project

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

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

Additional Instructions

Thank you for sharing this project. I have not had good luck with operation, I am not sure if a wiring mistake or poor connection to breadboards. You listed that step by step instructions could be provided upon request, I clicked the link to email you but that did not work. Could you email this to me?

Thank you, Michael themerricks123@wtconnect.com

Troubleshooting

I don’t have a document made up with step-by-step instructions, and it was a few years ago now, so I would have to get back into it to write that up.

I assume you’ve checked all the wiring, and that you’ve added the supply and ground connections that aren’t listed on the schematic.

Do you have an oscilloscope or logic analyzer?

If you suspect the breadboard is flaky, you should test continuity with an ohmmeter or continuity tester - put the probes on the chip pins where possible, not on the breadboard sockets, so you can be sure a good connection is being made between all pairs of pins connected in the schematic.

Another option would be to simulate the inputs on each of the logic chips, and verify that the correct output is produced. Pull the chips and put them on a separate breadboard if necessary.

You might study the gallery photos, especially the one of the whole wiring layout, to ensure you’ve got the right tie points for everything.

Let me know how far that gets you!