- animation (3)
- art (11)
- computers (13)
- cryptophones (9)
- electronics (11)
- ithaca (8)
- kids (61)
- music (14)
- musings (12)
- rpg (2)
Some technical notes on wiring up an EEPROM to the ET-3400, for those interested.
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.)
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.
Wiring is straightforward, going to the sockets on the top of the machine. (I’m happy to provide step-by-step instructions on request.)
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.