Day 7: Rebuilding Registers

A project log for Detritus, the 8-bit ... computer?

I have a lot of random spare parts doing nothing and a need to make them do things...

Jorj BauerJorj Bauer 05/20/2017 at 12:360 Comments

Since I've given up on my X and Y registers, it's time to pull them out and rewire them as A and B registers in the ALU.

Since the ALU will heavily wire these two registers, I've decided to add two more 8-bit busses vertically alongside the ALU. The A bus will be on its left; the B bus on its right.

My '245 transceivers have also arrived in the mail. The X and Y registers didn't need bus transceivers; the registers are already tri-stated, which made that easy. But with the A and B registers, I need to be able to hard wire them to the adder, in addition to selecting whether or not they go out to the bus. The adder itself will be outputting to the bus, in addition to the A and B registers both being enabled for output to the ALU simultaneously; all three can't write to the bus. So I'm going to need separate bus transceivers for A and B.

As painful as it is to rip apart what I've already wired up, here it is in a better form...

You can see the space on the left that used to *sniff* hold the X and Y registers. They're now the top of the ALU board on the right.

I've started positioning ICs for the rest of the ALU, but none of it is wired.

So, maybe it's time for a little video!

I've tied the program counter increment line to the clock; enabled the PC output to the bus; and enabled the inputs from the bus for the A and B register as well as the RAM memory address register. Lots of gerblinkin lights, mostly showing the current PC, delayed by one clock cycle.

The lights that *aren't* showing the program counter: three LEDs on the clock in the upper left, and the eight red LEDs around the RAM on the lower left. Those red LEDs are showing the (random) contents of RAM at each address as the memory address register is updated.

Next up will be the adder. Hoo boy, I've got a doozie hiding in there...