Close
0%
0%

R200 Relay Computer

Reconstruction of what a computer enthusiast could built in mid-20th century (well, to a degree)

Similar projects worth following
R200 project is a personal project centered around creating general purpose relay computer. "200" in the name suggests that the machine will be constructed with use of about 200 electromagnetic relays.
Below is a short description of the project, you can find more detailed information on the github page. I intend to use this page as a construction log.

Ground rules
1. The machine should be self-sufficient and independent of any external entities except for power supply and a human operator.
2. No semiconductors allowed except diodes. (there’s gonna be TONS of diodes, though)

Video (PC register, PC increment, ROM, clock generator)

Main specs

  • ALU with 16 functions
  • 2x16bit GPR (General Purpose Registers)
  • 64x8bit instruction ROM
  • 8x12bit RAM
  • 16x12bit data ROM
  • 2 IPS (Instructions per second)
  • 24-LED output / dip-switch input

Block diagram

Instruction set
R200 Instruction Set

 

Emulator

There’s simple emulator available, made in C#. It accepts assembler file as an input, does simple preprocessing and executes the program. No actual byte-code generation present.

Here's the emulator running fibonacci.R200 program at x10 speed.

Construction progress

  • Blocks assembled, mounted and tested (the pic in the gallery and the video): PC register, PC increment, ROM, clock generator.
  • Blocks assembled: ALU, RA register, RB register, RAM
  • Blocks that need to be designed: instruction decoder

Example of programs it can run (currently on the emulator)

  • Multiplication (12-bit X 12bit = 24bit)
  • Division (24-bit / 24-bit = 24-bit[result] 24-bit[reminder])
  • Fibonacci numbers (12-bit)

R200-AUG-2018.pdf

Schematic of currently assembled part (Program Counter, ROM and CLOCK GENERATOR / SEQUENCER)

Adobe Portable Document Format - 97.73 kB - 08/26/2018 at 06:06

Preview
Download

R200 Instruction Set And Codes.xlsx

Instruction encoding as requested.

sheet - 18.13 kB - 08/25/2018 at 16:31

Download

  • No progress at all. Sorry.

    Alexander12/15/2018 at 09:37 9 comments

    Even after almost half year break on the project I still cannot find motivation to continue. After playing with the R200 emulator I got a little disappointed with the fact that you cannot really make any meaningful program with just 64 words of ROM. I wasn't even able to figure out 24-bit square root. Still open for suggestions on some kind of cool program ideas.

  • Emulator GUI update

    Alexander08/27/2018 at 10:48 1 comment

    Thanks to  Alexander Tsidaev there's now awesome GUI for the emulator. Check out the gif of the emulator running fibonacci.R200 program at x10 speed.

  • -

    Alexander08/25/2018 at 11:58 0 comments

    I had idea of this machine since 2009, so you can imagine how slowly the process is going. But it mostly due to fact that my interest for the project spikes for several weeks and then fades for the rest of the year. It actually took me just two months of weekends in order to design and assemble that hookup on the pic from scratch.

    But I am in no hurry. It’s not like the machine can become even more out of date.

View all 3 project logs

Enjoy this project?

Share

Discussions

Yann Guidon / YGDES wrote 08/03/2019 at 20:20 point

How did I miss this project ??? It's awesome !

  Are you sure? yes | no

danjovic wrote 08/28/2018 at 00:29 point

Amazing project! The relays ticking might sound great too!

  Are you sure? yes | no

roelh wrote 08/25/2018 at 11:32 point

Hi Alexander, good to see another relay computing project ! You might want to look at my RISC Relay computer https://hackaday.io/project/11012-risc-relay-cpu for inspiration. I'm looking forward to seeing schematics and instruction encoding of your computer.

  Are you sure? yes | no

Alexander wrote 08/25/2018 at 11:49 point

Hi! Cool project, great to see you took time to write so much documentation! I will undoubtedly study it.

The instruction set for my machine is available on the page. I must confess that drawing schematics is a real pain to me, it takes too much time. But I'll try to do the whole thing eventually.

Thanks for the first comment!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates