As somebody who has designed and constructed many retro computer systems and peripheralsI do know very effectively how the sort of challenge can take up residence in a single’s thoughts and refuse to depart till each final bit is full. A classic pc fanatic that goes by the deal with DiPDoT is within the midst of such a challenge proper now. After ending the construct of a really cool mechanical pc powered by relays, DiPDoT couldn’t shake the sensation that one thing was lacking. The one answer, after all, was to construct that lacking part.
To be of a lot use, each pc wants some strategy to load information into its reminiscence, and that’s precisely what the relay pc was lacking. For a pc modeled after the pre-transistor machines of the primary half of the 20th century, you may anticipate a mass storage gadget to take the type of paper tape or playing cards. However the tools wanted to punch these tapes is kind of costly in the present day, so DiPDoT needed to get inventive and improvise a bit.
An Arduino clone wrote information to the tape (📷: DiPDoT)
The thought DiPDoT got here up with is one thing that will likely be instantly acquainted to those who minimize their enamel on early private computer systems at the start of the Nineteen Eighties — cassette tape storage. The plan was to make use of each channels of a stereo recording, with one serving because the clock sign to make use of as a latch, and the opposite a stream of bits to load into the machine.
Utilizing an Arduino, DiPDoT generated audio tones for the clock and information indicators and recorded them to the left and proper channels of a regular audio cassette. The clock channel pulses would drive a relay-based ring counter that stepped by means of a sequence to latch incoming information bits right into a full byte. This byte may then be loaded into reminiscence on the relay pc.
Getting the clock sign working required changing an audio amplifier’s AC output to DC, which DiPDoT achieved with a customized full-bridge rectifier. With a secure clock in place, the main focus shifted to the information sign. The Arduino’s default tone library couldn’t produce simultaneous tones on two channels, however a extra superior library solved that drawback. After some coding and experimentation, each channels of the tape performed again appropriately and may very well be learn by the system.
The byte-building mechanism makes use of relay logic to mix incoming bits, from most important to least, right into a full 8-bit worth. A sequencer step on the finish then clears the latches in preparation for the subsequent byte. Logic relays act as gates to verify bits are solely latched throughout the appropriate clock part, fixing timing issues that may in any other case be attributable to the mechanical delays of the relays.
With information loading working easily, the ultimate piece was connecting the system to the relay pc’s reminiscence. DiPDoT added new sequencer steps to deal with loading reminiscence and advancing this system counter. After a little bit of rewiring all the pieces got here collectively in a neatly organized breadboard construct affectionately dubbed “The Monolith.”
The system was examined with a small program saved on cassette that loaded register values and shuffled them round in reminiscence earlier than halting. DiPDoT was visibly excited when the take a look at was profitable, however whereas all of the planning, prototyping, and troubleshooting paid off, there’ll all the time be one thing else to do subsequent. Belief me.