Posts

Incrementer Construction (Part 2 of 2)

Image
In my last post I covered the construction of the lower incrementer card which is effectively a 16-bit half adder. This time I'm going to cover constructing the upper card of the incrementer which is a 16-bit register that can hold on to the incremented value before pushing it back out to the address bus.

The backplane connectors and LEDs were soldered down in my last post but there's plenty more soldering to do. First up I can add the relay sockets, wire wrap posts and card interconnect wrap posts:


This time around I haven't soldered on the stacking header that connects the two cards together just yet as I've found it gets in the way when wire wrapping or can be damaged if I'm not careful. I'll solder this on just before I bring the two cards together to form the incrementer unit as a whole.

Next up I can solder down the ground and power rails on the back of the card:


Nothing too unusual here besides there being quite a lot of relays on this card and conseque…

Incrementer Construction (Part 1 of 2)

Image
We're getting nearer and nearer to a computer that can run though a program in memory rather than just a single instruction ... we've got memory to hold the program and a program counter to point to the current instruction in memory. Now it's time to construct the 16-bit incrementer which will be used to advance the program counter on to point at the next instruction.

As the incrementer is spread over two cards I'll likewise spread the construction over two blog posts focussing this time on the lower card. Before that though I'll get a head start and solder down the LEDs and backplane connectors for both cards:





For the lower card there are 16 red LEDs which show whatever value is currently on the address bus plus one (and if nothing is on the address bus then it'll show a value of one). The upper card likewise has 16 red LEDs flanked by a yellow LED on the left and a green LED on the right. This is the register part of the incrementer so what these LEDs show i…

Memory Test

Image
I've covered the construction of the upper and lower memory cards in my last two posts ... it's now time to bring those two cards together to form the memory unit proper and give it all a test.

Here's the upper card (in close up and at a rakish angle) ...



... and here's the lower memory card (at an equally rakish angle) ...



... and when sandwiched together here's how the memory unit as a whole looks:




As for all the cards constructed before it I can whip out my trusty breadboard to test the memory unit in isolation before hooking it up to the rest of the computer:


Here I've hooked the data bus up to the bar display but it can be switched over to the left hand DIP switches depending on whether I'm reading or setting a value from/to memory. The address bus comes over to the middle and right DIP switches. The eagle eyed of you out there might have noticed that leaves us four bits short of the full address bus but that's OK for testing purposes. Finally the…

Memory Construction (Part 2 of 2)

Image
In my last post I made a start on the memory unit construction with the lower memory card. The lower card centres around the memory IC which runs at 5V. The upper memory card picks up the task of converting the data and address bus coming in from the rest of the computer (running at 12V) to the 5V needed by the memory IC.

The LEDs and backplane connectors were soldered down in my last post so we can jump straight to adding the card interconnects which pass the local address/data busses to the lower card:



These interconnects mate with the matching sockets on the lower card and when sandwiched together the two cards form the memory unit.

Next job is to solder down all the relay sockets and wire wrap posts. In my last post I mentioned that the upper memory card is quite densely populated as a large number of relays are required to handle all the data and address bus conversion. On previous cards I've soldered down two rows of turned pin sockets with the wire wrap posts alongside for…