<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Pages on Relay Computer</title><link>https://relaycomputer.co.uk/pages/</link><description>Recent content in Pages on Relay Computer</description><generator>Hugo</generator><language>en-gb</language><atom:link href="https://relaycomputer.co.uk/pages/index.xml" rel="self" type="application/rss+xml"/><item><title>ALU Summary</title><link>https://relaycomputer.co.uk/pages/alu/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://relaycomputer.co.uk/pages/alu/</guid><description>The Arithmetic Logic Unit (ALU) is split into three units (and also three physical cards): the logic unit, the arithmetic unit and the control unit. The logic and arithmetic cards handle 8-bit logic and arithmetic functions respectively. The control unit handles function decoding, zero detection and holds the condition registers.
Details of the design, construction and testing of each unit can be found in the following:</description></item><item><title>Control Summary</title><link>https://relaycomputer.co.uk/pages/control/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://relaycomputer.co.uk/pages/control/</guid><description>The computer is controlled by a series of instructions held in memory (a computer program) that are loaded into the instruction register one at a time and executed. The execution of an instruction is performed by running a clock signal through a sequencer which produces a series of pulses. These pulses are then used to operate the control lines of the computer at the right time and in the right order appropriate for the current instruction.</description></item><item><title>Enclosure Summary</title><link>https://relaycomputer.co.uk/pages/enclosure/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://relaycomputer.co.uk/pages/enclosure/</guid><description>The enclosure for the computer is based on an aluminium profile frame with laser cut acrylic and plywood panelling. The original design was put together in the excellent SketchUp software before ordering the parts and moving on to the physical construction. The enclosure consists of an upper and lower unit with the lower unit containing all the various cards of the computer and the upper unit primarily acting as a display.</description></item><item><title>Instructions</title><link>https://relaycomputer.co.uk/pages/instructions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://relaycomputer.co.uk/pages/instructions/</guid><description>The computer is controlled by a series of instructions held in memory (a computer program) that are loaded into the instruction register one at a time and executed. Each instruction is formed of an 8-bit ‘op-code’ and falls in to a class of related instructions (identifiable by the leading part of the op-code).
If you’d like to try out the instructions there’s a full simulation of my relay computer available here which also has additional documentation. If you’d like to know even more you can find source code in my GitHub repo as follows:</description></item><item><title>Overview</title><link>https://relaycomputer.co.uk/pages/overview/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://relaycomputer.co.uk/pages/overview/</guid><description>This blog documents my journey in constructing an 8-bit relay computer, from scratch, made from tons of solder, wires, lights, relays, sweat, tears, swearing and money.
The design of the computer is based on the one constructed by Dr. Harry Porter at Portland State University (reproduced on this blog with kind permission) but the construction method is my own and so this blog captures the thoughts, experiences and pitfalls that I encounter along the way.</description></item><item><title>Progress Summary</title><link>https://relaycomputer.co.uk/pages/progress/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://relaycomputer.co.uk/pages/progress/</guid><description>Bay W Bay X Bay Y Bay Z Others Deprecated Cards  Complete Backplane W v2 More Info | |  Complete Backplane W Daughterboard</description></item><item><title>RC Assembly Language</title><link>https://relaycomputer.co.uk/pages/assembly/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://relaycomputer.co.uk/pages/assembly/</guid><description>Although the computer is primarily controlled by a set of 8-bit opcodes these can be tricky to work with when designing more complicated programs. As with many computers we can use a higher-level language which is more readable for a human but then will need converting into 8-bit opcodes for the computer to understand.
I have designed an assembly style language which is made up of a series of mnemonics that each map directly to an equivalent opcode. This makes it easier to create and maintain programs for the computer but still works at the basic hardware level of the computer. This is in contrast to a modern high-level language such as C# where each statement might compile down to a series of opcodes required to perform that action.</description></item><item><title>Registers Summary</title><link>https://relaycomputer.co.uk/pages/registers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://relaycomputer.co.uk/pages/registers/</guid><description>The computer has eight general purpose 8-bit registers named A, B, C, D, M1, M2, X and Y. Although each can be used generally some of the registers have additional specific uses. Register B and C feed the ALU inputs, M1 and M2 form a 16-bit memory pointer (M) and X and Y form a 16-bit memory pointer (XY) typically used to store a return address when performing jumps.
In addition to the general purpose registers there are five special registers named J1, J2, the instruction register, the program counter and the ALU condition code register. J1 and J2 form a 16-bit memory pointer (J) typically used to store a jump address. J1 and J2 cannot be selected and J cannot be loaded hence why they are not therefore classed as general purpose. The instruction register holds the current instruction to be executed and can only be loaded. The program counter can only be loaded and selected from/to the address bus.</description></item><item><title>UI Summary</title><link>https://relaycomputer.co.uk/pages/ui/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://relaycomputer.co.uk/pages/ui/</guid><description>The computer’s user interface is comprised of two display cards (A and B) and then a row of data and control switches. Display A shows the state of the various control signals and allows the user to manually set those signals when the computer is placed in the ‘diagnostic mode’. Display B likewise shows other control signals but these are read only. Additionally Display B also shows the state of the data and address busses and shows the current consumption of the computer. The two display cards are wired out to the various busses on the display distribution card.</description></item></channel></rss>