> On Jun 6, 2018, at 9:48 AM, Noel Chiappa via cctalk <cctalk@classiccmp.org>
> wrote:
>
> Hi, I'm hoping someone here knows the low-level nitty-gritty on how the
> characters on the CDC 6600 console CRTs were generated.
>
> Thornton, "Design of a Computer", says "Control of the beam .. is provided by
> electrostatic deflection ... electronically converting from the symbol .. to
> deflection voltages", but alas, doesn't say how that conversion is done. And I
> looked in some CDC 6600 documentation online, alas, even less detail.
>
> But looking at the characters (reproduced on the dust jacket), the curves sure
> make it look like it wasn't anything simple (e.g. using display vectors, as
> one source indicated). Does anyone know?
Yes.
It is indeed a digital stroke generator, not a Fourier generator as someone
suggested. The reason for the odd shapes on the Thornton book cover is the AC
characteristics of the display electronics.
There are a couple of parts to the puzzle.
One is the display controller ("synchronizer" in CDC terminology, the module
that connects to the 6000 I/O channel). The 60125000 manual that was mentioned
is the "block diagrams" manual for that (and several other) controllers. The
block diagrams show the overall data flow and the general structure of the
circuits, but they are not complete schematics.
However, the full schematics also exist:
http://www.bitsavers.org/pdf/cdc/cyber/cyber_70/fieldEngr/63016700A_6600_Chassis_Tabs_12_Apr65.pdf
The block diagram manual shows the waveforms generated by the controller. As
you can see, they are pretty angular and straight lined. Each segment (between
the small marks on the stroke) corresponds to a 100 ms clock cycle, with a one
or two element step in X and/or Y.
Incidentally, the 170 series display controller produces the same waveforms,
though using a completely different (ROM based) design.
The other part of the puzzle is the DD60 console display. That is fed from the
6602/6612 display controller by a bundle of coax cables. The waveforms are
generated by A/D circuits (quite primitive ones) in the 6602, and travel in
analog differential form to the DD60. There they go through a string of
amplifiers and a scaling circuit, for the small/medium/large character size
selection. Eventually they end up on the deflection plates of large
electrostatic deflection CRTs. Much of the signal chain is early 1960s
transistors; the final couple of stages are tubes. You can find the schematics
at
http://www.bitsavers.org/pdf/cdc/cyber/cyber_70/fieldEngr/82100010_dd60a_Mar65.pdf
What appears to be going on is that the signal chain in the DD60 has enough
bandwidth to draw the characters, but only barely. So there is distortion in
the path, resulting in character shapes on the screen that are not the same as
the nominal stroke patterns generated by the controller.
I have converted the "chassis tabs 12" wire lists to a VHDL model, which you
can find on my Subversion server. Run on GHDL, it demonstrates the behavior of
the circuit and reproduces the documented waveforms.
I have also attempted to create a SPICE model of the DD60 deflection signal
path. So far that hasn't been all that successful. I probably have bad
assumptions for the transistor models, and the CRT deflection plate capacitance
figures are also a complete guess. My hope was to reproduce the actual screen
patterns, but that hasn't worked yet.
Finally, I did a much more primitive approximation of the DD60 signal path,
with a couple of IIR filters that very roughly imitate the RC elements in that
path. That was done as part of my console display emulator program for Tom
Hunter's DtCyber program. It was somewhat successful in that the characters
show some of the rounding and distortion that the real display has, but
unfortunately I can't claim that this is because it's an accurate model.
By the way, the displays shown on the 170 series console (CDC 565) look
somewhat different. That's because the display electronics are different, even
though the input waveforms are the same. The 170 display is a single large
tube, with electromagnetic deflection. That's a pretty amazing thing to do for
a random access stroke drawing display, but I guess the required bandwidth is
low enough that they pulled it off. The two key parameters are max character
stroke speed (8 display units per 100 ns, given the 2 unit max step and 4x
scaling for "large" characters) and full screen (512 units) max character base
position step in about 3 microseconds.
paul