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
_______________________________________________
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh