CGEIGHT(4S)

NAME
cgeight - 24-bit color memory frame buffer

CONFIG — SUN-3 AND SUN-4 SYSTEMS
device cgeight0 at obmem 7 csr 0xff300000 priority 4
device cgeight0 at obio 4 csr 0xfb300000 priority 4

The first synopsis line should be used to generate a kernel for the Sun-3/60; the second synopsis for a Sun-4/110 or Sun-4/150 system.

CONFIG — SUN-3x SYSTEM
device cgeight0 at obio ? csr 0x50300000 priority 4

DESCRIPTION

The cgeight is a 24-bit color memory frame buffer with a monochrome overlay plane and an overlay enable plane implemented optionally on the Sun-4/110, Sun-4/150, Sun-3/60, Sun-3/470 and Sun-3/80 system models. It provides the standard frame buffer interface as defined in fbio(4S).

In addition to the ioctls described under fbio(4S), the cgeight interface responds to two cgeight-specific colormap ioctls, FBIOPUTCMAP and FBIOGETCMAP. FBIOPUTCMAP returns no information other than success/failure using the ioctl return value. FBIOGETCMAP returns its information in the arrays pointed to by the red, green, and blue members of its fbcmap structure argument; fbcmap is defined in <sun/fbio.h> as:
    struct fbcmap {
    	int		index;		/* first element (0 origin) */
    	int		count;		/* number of elements */
    	unsigned char	*red;		/* red color map elements */
    	unsigned char	*green;		/* green color map elements */
    	unsigned char	*blue;		/* blue color map elements */
    };

The driver uses color board vertical-retrace interrupts to load the colormap.

The systems have an overlay plane colormap, which is accessed by encoding the plane group into the index value with the PIX_GROUP macro (see <pixrect/pr_planegroups.h>).

When using the mmap system call to map in the cgeight frame buffer. The device looks like:
    DACBASE: 0x200000 	-> Brooktree Ramdac		16 bytes
    	 0x202000 	-> P4 Regiter			 4 bytes
    OVLBASE: 0x210000	-> Overlay Plane		1152x900x1
    	 0x230000	-> Overlay Enable Planea	1152x900x1
    	 0x250000	-> 24-bit Frame Buffera		1152x900x32

FILES
/dev/cgeight0
<sun/fbio.h>
<pixrect/pr_planegroups.h>

SEE ALSO
mmap(2), fbio(4S)