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-4/260 and Sun-4/280
system models. It provides the standard frame buffer interface as defined in fbio(7I).
In addition to the ioctls described under fbio(7I) 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 <sys/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 <sys/pr_planegroups.h>).
When using the mmap(2) system call to map in the cgeight frame buffer. The device looks like:
|
DACBASE: 0x200000 -> Brooktree Ramdac 16 bytes
0x202000 -> P4 Register 4 bytes
OVLBASE: 0x210000 -> Overlay Plane 1152x900x1
0x230000 -> Overlay Enable Planea 1152x900x1
0x250000 -> 24-bit Frame Buffera 1152x900x32
|
|