Problems appear to stem from the Program Counter and Adder card
VERIFYING THE DECODER CARD PRODUCES THE RIGHT OUTPUT
I tacked wires on the motherboard pins for all the outputs from the decoder and verified that every instruction is properly decoded. There are eight major instructions (AND, TAD, DCA, IOT, OPR, ISZ, JMP and JMS). The OPR (Operate) instruction has subtypes which are decoded and I validated that these were correctly produced for all the combinations of five bits in the OPR instruction.
ASIDE ON ODD OCTAL NOTATION
All the documentation for this machine, based as it was on the PDP-8, uses octal rather than hexadecimal. With eight bits, not an even multiple of 3, one has to decide how to express the numbers. With most octal machines, one presumes there is a high bit of 0 which lets us write octal ranging from 000 to 377 to cover all eight bits.
Not so with the EDUC-8. Its 'down under' notation presumes a bit of 0 inserted between the third and fourth bits. Thus if we have binary 10110111 it is written as 527, distinct from the more usual practice of rending that binary number as 267.
PROBLEM COULD HAVE COME FROM ACCUMULATOR OR PC-ADDER CARD
Since I tested with four boards inserted (timing, decoder, pc-adder and accumulator) and have verified the correct operation of the timing and decoder cards, I wanted to determine which of the other two boards were causing my issues.
I pulled the Accumulator board and the odd behavior remained. This points the finger at the PC-Adder card.
ODD INDICATIONS AND BEHAVIORS
When I load the program counter with the address 000, it sets correctly as I hold down the Load Address switch but then the high bit turns on as I release the switch. This could either be a failure in the parallel load of the shift registers forming the PC, or a spurious injection of a 1 bit at the end.
When I push the Exam switch, it should increment the PC by one, but I see bizarre incrementing patterns. 000 goes to 004, then jumps to bigger patterns of 1 and 0 bits with succeeding presses of the switch.
When the Accumulator card is in the stack and I do operations that add to the AC, I see similar strange patterns. An increment by 1 operation will jump from 000 to 004, same as the PC. In fact both the PC and AC move in concert, which they shouldn't.
I don't (yet) have an extender card for the machine thus I have challenges getting probes onto the chip pins or I/O connector fingers since this card is sandwiched between the decoder and accumulator cards. I have been tacking wires to motherboard pins and may also tack to chip pins on the board as I debug this in the coming days.
Comments
Post a Comment