RJWoodhead / Relay2Tetris

The Nand2Tetris CPU implemented using electromechanical relays, because why not?

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Relay2Tetris

In 2019, I had the great privilege of being able to see the FACOM 128B computer in operation at Fujitsu's company museum. Delving into the technical details of how this machine worked only increased my admiration for the engineers who designed it. This has inspired me to create my own relay-based computer as a hobby project.

A few years prior I was introduced to the Nand2Tetris course, which I highly recommend. The HACK CPU that students implement in the course is a masterpiece of minimalist CPU design, so it was a natural target for my ambitions.

The goal of this project is to completely implement the HACK CPU in relay logic, and also to provide other relay-computer builders with a set of standard board-level relay logic CPU components, such as registers, adders, and so on.

August 2020 Project Status Video

YouTube Video

Project Reports

Reference Files

The fleshing-out of this archive is an ongoing project; please be patient with the author.

Recent Update History

2020-08-17: Assembled and tested the Arithmetic-Logic Unit.

2020-08-06: Updated all the board design documents, improved the hardware tests, did some project cleanups. Added a project status video.

2020-07-20: Launched the War on Voltage Drop. Redesigned all boards based on the results (see individual board pages for details). Created new IO Expander Daughterboard. Added BOMs for all boards.

To-Do List

  • Clock and Sequencer - in design.
  • Program Counter & Branch Unit - in assembly.
  • Program ROM and RAM - optional, may design as proof of concept.

Surplus Board Availability

Due to minimum quantity requirements, I have extras of most of the various versions of the various boards. If you want one, email me at trebor@animeigo.com and we'll work something out.

Acknowledgements

Given that I am a programmer by trade, and thus a clueless n00b at hardware design, I am indebted to those who know better than me, including, but not limited to:

Harry Porter's Relay Computer Project and Technical Paper

The Relay Computer Blog

The Clicks Relay CPU

FACOM 128B Information:

The complete Nand2Tetris course can be found at: https://www.nand2tetris.org/

License

The materials in this repository (except for those provided by outside sources) are licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).

About

The Nand2Tetris CPU implemented using electromechanical relays, because why not?


Languages

Language:Python 75.4%Language:Hack 8.2%Language:JavaScript 7.4%Language:Assembly 6.4%Language:Scilab 2.6%