[Simh] New TC11

Bob Supnik bob at supnik.org
Sun Dec 4 22:12:55 EST 2016


Josh Dersch at the Living Computer Museum found a snippet of real 
DECtape code (that runs on a real 11/40) which fails on the simulator. 
After looking at the snippet, and at the TC11 schematics, I realized 
that the TC11 simulator had a basic design problem. The TC11 is not, in 
fact, a "typical" PDP11 peripheral, where all actions are kicked off by 
setting the "GO" bit (bit<0>). Instead, like every other DECtape 
controller, actions are kicked off by writes to the command register. 
The TC11 "GO" bit (called "DO" in the documentation) has an orthogonal 
role - clearing DONE (READY) and the error flops - but the TC11 is happy 
to initiate actions even if "GO" is not set. I've rewritten the 
simulator to accurately reflect the schematics.

This leads me to think that there's a second principle to bear in mind 
when simulating older machines. The first is "economy of gates". In 
early systems, gates were precious, and the hardware tended to implement 
no more than the minimum functionality required. Error checks were a 
luxury and were often omitted. (This frugality disappeared as more and 
more LSI and MLSI circuits were used.) Examples include the lack of 
checks in switching between input and output on the H316 Teletype 
controller; and the lack of error checks in the 11/750 implementation of 
the UBA.

The second is "economy of design". Within DEC, in the early days when 
resources were scarce, groups freely lifted pieces of designs from each 
other. Thus, the TC11 - a relatively complex controller for its day - 
looks a whole lot more like the 18b TC15 and the 12b TC02 (which 
strongly resemble each other) than it does like a "standard" PDP11 
peripheral. It's as though the core of the other DECtape controllers was 
retrofitted with a new interface to the Unibus, and the guts were left 
alone. Fixing the TC11 simulator was more about stripping <out> "PDP11" 
thinknig than it was about writing new code.

I think that principle applies elsewhere. If you want to understand the 
DECtape controller for the KA10, look at its near contemporary, the Type 
555 used on the PDP7. The "RB09" disk on the famous PDP7 Unix machine is 
the same drive, and a very similar controller, to the contemporaneous 
RC10. In the 60s and early 70s, DEC didn't have the resources to do 
everything from scratch. That changed, of course, by the mid to late 
70s, when the company had grown substantially.

/Bob


More information about the Simh mailing list