There are a few problems, however, that have made this a bit more difficult than it should be. Since the NVRAM chips I am using are CMOS driven, the TTL chips do not always provide the correct voltage to address the NVRAM chips correctly. Inversely, the NVRAM chips also have the tenancy to output incompatible voltages in regards to TTL. To remedy this I am using the last of my 8-bit three state buffers to convert the input and output of the chips to higher voltages. After I get the NVRAM chips functioning correctly, I only have to add the input and write/run logic as well as the output and the computer is finished (circuit-wise). I will be designing a steampunk-themed case for the enclosure. The case will be the final step before this project is complete.

]]>]]>

For sake of simplicity I’ve also put all of this data into an excel worksheet that reads out base-10 numbers to make programming the NVRAM easy if I choose to use my Arduino for a programmer.

]]>The control matrix on my computer has two stages, both of wich consist of 3 steps. The entire sequence is called the machine cycle. And, in my computer’s case, the machine cycle also is equivalent to the instruction cycle which is how long it takes for an instruction to be carried out. The control logic is driven by a ring counter which activates 6 outputs one at a time with each clock pulse. On the first high bit of the ring counter an 8-bit counter that addresses the control ROM is cleared. On the third high bit of the ring counter an address is loaded into the counter from an 8-bit ROM that is addressed by a 4-bit OP code that tells the counter where the instruction steps are held inside of the ROM. I built a rudimentary programmer that takes breadboard wires moved to either positive voltage or ground as input.

]]>Binary coded decimals are exactly what they sound like. The BCD system uses binary values 0-9 to express the base-10 digits that we use every day. For instance, the binary number 132 (10000100) would be 0001-0011-0010 expressed in binary coded decimal. To convert binary to BCD you can either design an incredibly complicated logic circuit to preform the operation, use a read-only memory (ROM) to output the correct values or use the method I chose of using an Arduino to do the conversion.

My friend and I created an Arduino sketch that takes an 8-bit input (0-255) and outputs 3 BCD digits. The output goes to a 3-digit Numitron readout board that I spent a good amount of time on.

]]>