Subject: Re: SPXg support, last call
To: None <port-vax@NetBSD.org>
From: Blaz Antonic <blaz.antonic@siol.net>
List: port-vax
Date: 11/17/2005 14:09:49
Hello,

> Is SPX the monochrome framebuffer found in the VaxStation 3100? 

Nope; that's the onboard dumb framebuffer which is present in any VS
3100; SPX is optional 8 plane framebuffer that supports acceleration.
Mono framebuffer driver is included in the main kernel since (at least)
1.6. It's called "smg"; if you have VS 3100 you can enable it in your
kernel config file (smg0). It is extremely primitive (it only supports
one gawd-ugly hard-coded font and contains some odd programming) but by
the looks of it it should work. 

It's not like it could be made considerably more sophisticated anyhow;
support for other font types could be added and so could probably be HW
cursor (I'm not entirely sure whether HW cursor is supported by that
thing) but that's pretty much it, given the limitations of hardware.

SPX and LCSPX are pretty much the same from programming standpoint (SPX
also supports switch-selectable lower resolution mode which LCSPX
doesn't) so it's just a matter of proper identification to get the same
driver to work on both framebuffers. SPXg/gt are different from (LC)SPX,
but since they belong to the same family they share many key aspects -
this is why I figured it's best to write a single driver that will
support SPX on VS3100 (and VXT2000 if NetBSD/Vax happens to run on it),
LCSPX in VS4000/9x and SPXg in VS4000/60 and 9x. 

Oh and before anybody goes part-fishing for SPXg board to replace their
"basic" LCG (in VS4000/60) or LCSPX (in VS4000/9x) with: SPXg will have
the worst performance of the three by a narrow margin. LCSPX is likely
to be the fastest but only thanks to extremely fast CPU of 4000/9x as
opposed to that of VS4000/60. LCG (the default framebuffer of 4000/60)
in its 8 plane version is very nice design that can be used very
efficiently with virtually no CPU overhead. If only DEC used LCG in
4000/9x series instead of LCSPX ... 

Blaz Antonic
-- 
Hi! I'm a signature virus!
Copy me into your signature to help me spread!