[Simh] Improved CRT simulation

Paul Koning paulkoning at comcast.net
Mon Dec 17 15:06:53 EST 2018



> On Dec 17, 2018, at 8:44 AM, Phil Budne <phil at ultimate.com> wrote:
> 
>> On 14 Dec 2018 at 09:24:42 -0500, Paul Koning wrote:
>>> On Dec 14, 2018, at 1:17 AM, Lars Brinkhoff <lars at nocrew.org> wrote:
>>> I'm entertaining the idea of improving the CRT display simulation in
>>> SIMH......
>>> 
>> .....
>>> If you read the fine print in the 340 documentation, you'll find that an
>>> a point is .03"-.015" depending on the intensity, compared with the grid
>>> spacing .0091".
> 
> I created the XY display code that SIMH for the PDP-1 and Type 340
> displays (and is also used for TX-0).

Yes, I remember that -- your work inspired my analogous machinery for DtCyber.

> It's been my suspicion for a
> long time that a REALLY good simulation of the user experience would
> require MANY more pixels than I've ever had available to me (I don't
> yet own a 4K resolution display, and it looks like even that wouldn't
> be enough, see below).
> 
> xdpyinfo describes the laptop I'm writing this on as 96 DPI or
> 0.01042" which isn't very different from the 0.0091 grid spacing
> above, BUT simulating the 0.03 (low intensity) point size above with
> square pixels would require greater resolution to draw circular points.
> 
> A 204PPI 3840 x 2400 "4K" display only has enough resolution to draw a
> 1024x1024 area with "points" that are two pixels wide, and 2x2 points
> which just halves your resolution!  Unless someone who understands
> graphics (and visual trickery) better than I (which is hardly at all)
> can figure something out.
> 
> An "8K UHD" 7680 x 4320 resolution device could draw a 1024x1024
> raster with 4x4 "points" which I imagine with anti-aliasing might make
> it possible to draw "points" which look circular.

If you insist on round looking points, probably so.  But I find that a 1k wide emulated device on a "4k" display works fine.  My Mac laptop has a "retina" display, which is similar in pixel count if you go down to the physical pixels.  So I get 2 pixels per display position.  That plus the anti-aliasing I get from drawing dots as gaussian distributions, and position calculation in sub-pixel increments, makes for a pretty convincing looking display.

> I've also suspected that "high intensity" on the radar display tube
> that the Type 30 (PDP-1) and Type 340 displays used was more eye
> searingly bright than anything that "modern" 24-bit color can manage
> (which is only 256 levels of intensity for a given color).

I'm not so sure about that.  Displays tended to be pretty dim to preserve the screen, and the basic look was roughly bitonal.  Sometimes you'd see "intensified" display; the CDC console would do this for urgent messages or the like.  That simply involved plotting the text in question a couple of times, 4 times I think.  My emulation shows that; the basic display is about level 120, so "intensified" saturates, and given the gaussian pixels it also spreads the outline a little exactly as on the original.

>> Not SIMH, but I wrote a CDC DD60 simulation for use with DtCyber that attempts to model the CRT and spot behavior.  It does that by computing a 2-D Gaussian intensity distribution around the spot center, then sums that into the saved screen pixel value (with saturation).  And then that value is decayed exponentially.
> 
> Paul,
> 
> What is the resolution of the DD60 display?  I seem to recall the CDC display
> used analog circuitry for letter forums, as opposed to drawing them with 
> discrete dots, as the DEC Type 340 does.

Pretty much.  The display controller sends the character origin as a 9-bit digital value (the D/A is in the display).  The character shapes are generated as digital sequences in the display controller, ending at a 3 bit D/A, whose output goes to the display.  The display takes those character shapes, applies a scale factor for the selected size, adds in the origin from the origin D/As in the display, and sends that to the deflection circuit.  The nominal character shapes are staircase waveforms, but the clock is 100 ns and the rise times of the circuits involved aren't a whole lot less than that, so the actual deflection voltages are smoothed a lot.  Exactly how remains a bit of a mystery; I've been trying to create a SPICE model of the DD60 that reproduces the letter shapes I can see in photos, so far without success.

	paul



More information about the Simh mailing list