/dev/fbs/cgeightn
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