Friday, October 7, 2016

Progress on Alto restoration and on disk tool

Today we spent the day working on the Alto system. The system had been able to boot up but some applications would fail, dropping into the debugger (SWAT). We discovered that the problems occurred whenever a program wrote some microcode in the control RAM and then tried to jump to that microcode.

This process of executing microcode in RAM is a good way of speeding up some functions, replacing a number of Nova instructions with a microcode routine. The diagnostic program MAD uses this to try out parts of the hardware, thus it was one of the failing programs along with Draw and Bravo.

We found that the jump to microcode in control RAM was actually executing in ROM, thus fetching random microinstructions instead of the code that was placed in control RAM. We traced through the logic that switches between RAM and ROM banks for microcode execution and eventually discovered that a short circuit was blocking the arrival of the 'RAM' bank signal.

We saw that the short circuit is off the control board, carried over a cable to the CRAM board where something is keeping this line at ground level. We ran out of time to trace on the CRAM board but will investigate this in our next session.


I confirmed that my level shifter emits +5 and 0V on the strobe signal line, although the resulting voltage on the pin when it is connected to the Diablo drive is 1.9V. I suspect that the terminator resistors are pulling the level up, but need to check a different signal to be sure that it is not a defective component inside the drive.

It is all signals, and it is a defect based on the terminator resistors and the low sink current of the CD40109 chip which is not able to pull the line down below 1.9V. I worked on the board to substitute other components to drive the TTL signals properly to the Diablo. 

No comments:

Post a Comment