Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ m64(7D) — SunOS 5.6

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ioctl(2)

mmap(2)

attributes(5)

fbio(7I)

m64(7D)

NAME

m64 − 8-bit PCI color memory frame buffer

SYNOPSIS

SUNW,m64B@pci-slot:m64X

DESCRIPTION

m64 is the PGX 8-bit color frame buffer and graphics accelerator, with 8-bit colormap.  It provides the standard frame buffer interface defined in fbio(7I). 

APPLICATION PROGRAMMING INTERACE

The m64 has registers and memory that may be mapped with mmap(2). 

There is extra on-board memory which may be used for scratch-pad, double-buffering or off-screen rendering.  The total amount of memory on the board may be found with the FBIOGATTR ioctl.  Total mappable memory, including on-screen memory, is attr.sattr.dev_specific[0]. 

The chip revision number is returned in dev_specific[2]. 

The dac revision number is returned in dev_specific[3]. 

The prom revision number is returned in dev_specific[4]. 

The byte offset from the start of the frame buffer to the start of the visible part of the frame buffer is returned in dev_specific[5]. 

The m64 frame buffer has a 2-color cursor.  The color is determined by the mask and data planes, as written by the FBIOSETCURS ioctl.  mask:data combinations are as follows: 0x=transparent, 10=color0, 11=color1. 

Maximum cursor size is 64x64 pixels.  The Mask and Image pointers in the fbcursor structure should point to data which is zero-padded to 32-bits per scanline and aligned on a 32-bit boundary. 

IOCTLS

The m64 frame buffer accepts the following ioctl(2) calls, which are defined in <sys/fbio.h> and <sys/visual_io.h>.  All  are implemented as described in fbio(7I):

FBIOGATTR FBIOGTYPE
FBIOPUTCMAP FBIOGETCMAP
FBIOSATTR FBIOSVIDEO
FBIOGVIDEO FBIOVERTICAL
FBIOSCURSOR FBIOGCURSOR
FBIOSCURPOS FBIOGCURPOS
FBIOGCURMAX FBIOGXINFO
FBIOMONINFO FBIOVRTOFFSET
VIS_GETIDENTIFIER

The value returned by VIS_GETIDENTIFIER is SUNWm64. 

FBIOPUTCMAP returns immediately, although the actual colormap update may be delayed until the next vertical retrace.  If vertical retrace is currently in progress, the new colormap takes effect immediately. 

FBIOGETCMAP returns immediately with the currently-loaded colormap, unless a colormap write is pending (see above), in which case it waits until the colormap is updated before returning.  This may be used to synchronize software with colormap updates. 

The size and linebytes values returned by FBIOGATTR, FBIOGTYPE, and FBIOGXINFO are measured in bytes.  The proper ways to compute the size of a frame buffer mapping is either:

size=linebytes∗height

or to use the size attribute in FBIOGATTR, FBIOGTYPE. 

Ioctl functions which nominally wait for vertical retrace ( FBIOVERTICAL, FBIOGETCMAP) do not wait, but return immediately, if video is blanked or vertical retrace is not being generated.  The vertical retrace counter page is not updated if vertical retrace is not being generated.  Vertical retrace is not generated when the device is in energy-saving mode. 

FILES

/dev/fbs/m64n A device special file. 

/dev/fb The default frame buffer. 

ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Architecture UltraSPARC with a PCI I/O Bus

SEE ALSO

ioctl(2), mmap(2), attributes(5), fbio(7I)

SunOS 5.6  —  Last change: 18 Jun 1997

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026