CGNINE(4S)

NAME
cgnine - 24-bit VME color memory frame buffer

CONFIGURATION
device cgnine0 at vme32d32 ? csr 0x08000000 priority 4 vector cgnineintr 0xaa

DESCRIPTION

cgnine is a 24-bit double-buffered VME-based color frame buffer. It provides the standard frame buffer interface defined in fbio(4S), and and can be paired with the GP2 graphics accelerator board using gpconfig(8).

cgnine has two bits of overlay planes, each of which is a 1-bit deep frame buffer that overlays the 24-bit plane group. When either bit of the two overlay planes is non-zero, the pixel shows the color of the overlay plane. If both bits are zero, the color frame buffer underneath is visible.

The 24-bit frame buffer pixel is organized as one longword (32 bits) per pixel. The pixel format is defined in <pixrect/pixrect.h> as follows:
    	union fbunit {
    	unsigned int	packed;	/* whole-sale deal */
    	struct {
    		unsigned int	A:8;	/* unused, for now */
    		unsigned int	B:8;	/* blue channel */
    		unsigned int	G:8;	/* green channel */
    		unsigned int	R:8;	/* red channel */
    		}
    			channel;	/* access per channel */
    	};

When the board is in double-buffer mode, the low 4 bits of each channel are ignored when written to, which yields 12-bit double-buffering.

The higher bit of the overlay planes ranges from offset 0 to 128K (0x20000) bytes. The lower bit ranges from 128K to 256K bytes. The 4MB (0x400000) of the 24-bit deep pixels begins at 256K. The addresses of the control registers start at the next page after the 24-bit deep pixels.

FILES
/dev/cgnine0
    device special file
/dev/gpone0a
    cgnine bound with GP2
/dev/fb
    default frame buffer

SEE ALSO
mmap(2), fbio(4S), gpone(4S) gpconfig(8)