Tony Duell wrote:
The PERQ (how do I always manage to get that machine
mentioned) had a
thing called the DDS - Digital Diagnostic System. It was a 3 digit
decimal counter that was cleared by the system reset button, and could be
incremented by a CPU instruction. The official use for it was that it
would be incremented as the diagnostics tested out bits of the machine
during booting. If the DDS stopped somewhere, you looked up the code in
the manual and it (hopefully) told you what was wrong.
In fact, the manual wasn't that useful if you were really trying to fix
the machine. Some of the error codes were explained very badly. Don't ask
how I found that out.
Uh, how DID... oh wait, you said don't ask. By having all the errors come up
for other reasons and then using your usual test equipment and figuring out
what the manual should have said? By getting a copy of the super-secret
internal manual? By bribing someone? :)
However, it could also be used as you described. There
was a system
routine to set the DDS to a given value (bascially, the OS kept the
current count and sent the appropriate number of pulses to the DDS to set
it to the value you wanted). It was useful for indicating where a program
had got to
Did it roll over when it hit 999? That would make it a lot more useful.
Was there any chance of the OS's count being off from the real value?
(I've decided I don't like write-only registers, which may be what we have
here).
-- Derek