Technology Level
I want to make use of parts from my junk box wherever possible, which
means largely using 74 series TTL and parts from a similar era. Any new
parts that I buy will probably be 74HC, as TTL is becoming hard to get
these days.
There will be no microcontrollers or other ready-made programmable parts -- that would be cheating.
Serial or Parallel?
In keeping with the spirit of the original, and to keep the part count
down to something reasonable, BREDSAC will be a serial machine. While
this means it won't be blazingly fast, it will still probably be quite
a lot faster than the original -- more on that later.
Memory
For the memory, I intend to use a pair of 16k x 1 bit dynamic RAM chips
(4116 or equivalent). Why dynamic rather than static? Various reasons.
Serial operation means that a 1-bit wide RAM makes the most sense, and
the only sufficiently large 1-bit memory chips I have lying around
happen to be dynamic. It provides an excuse for the word BREDSAC to
have a D in it. The EDSAC used mercury delay lines for its memory,
which also needed continuous refreshing, so it's kind of authentic. And
apparently I don't like to make things too easy for myself. :-(
The use of dynamic memory will have a side benefit. As a by-product of
the refresh process I should be able to derive a signal that I can send
to an oscilloscope to produce something very like the original EDSAC's
CRT memory display.
Registers
There are a couple of ways I could go about implementing the registers.
The most obvious would be to use shift registers. This would be the
most similar to the way the original machine operated, and if I use
serial-in parallel-out types it would be very easy to display the
contents of the registers by connecting LEDs to the outputs. However,
it would require a lot of parts -- 71 bits for the accumulator plus
another couple of 17-bit registers would add up to about 15 or so chips.
Another possibility would be to use RAMs. I have some 1k by 1 bit
static RAM chips, one of which would be enough to hold all the required
data, although I would probably use two or three to allow for
simultaneous access to multiple registers. The disadvantage is that it
wouldn't be so easy to display register contents, but should be
possible to generate an oscilloscope display of the memory holding the
registers much the same way as with the main memory. This would also be
very authentic-looking.
For now I'm going with the static RAM design, although I might change my mind later.
Bootstrapping
I actually have a few genuine uniselectors, but nowhere near enough of
them to recreate the original EDAC's method of loading the initial
orders. Unless I come up with some other hare-brained scheme, I'll
probably be using an EEPROM.
I/O Devices
I have a real 5-bit teleprinter, although it uses a completely
different character encoding from the original EDSAC, so some kind of
translation would be needed in between. It's also extremely noisy, so
while I might try to get it working as a proof of concept, I will
probably arrange something else as an alternative, such as maybe a DEC
VT52 or a Commodore 64 (both of which I also happen to have... yes, I
have far too much junk.)
I don't have any paper tape equipment, though, and the prospects of
acquiring any at any kind of realistic cost appear very slim, so I plan
to build an optical tape reader, and prepare tapes for it by a process
involving a relatively modern computer, a laser printer, a guillotine
and some sticky tape.
On the plus side, I have a genuine telephone dial of about the right
vintage that there shouldn't be any problems incorporating. It will
doubtlessly be the most authentic part of the whole project.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.