Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ tcx(7D) — SunOS 5.5.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ioctl(2)

mmap(2)

sbus(4)

fbio(7I)

tcx(7D)

NAME

tcx − 24-bit SBus color memory frame buffer

SYNOPSIS

SUNW,tcx@sbus-slot,offset:tcxX

AVAILABILITY

SPARCstation 4, SPARCstation 5

DESCRIPTION

tcx is a 8/24-bit color frame buffer and graphics accelerator, with 8-bit colormap and overlay/enable planes.  It provides the standard frame buffer interface defined in fbio(7I).  sbus-slot is the Sbus slot number. (See sbus(4) for more information.)  offset is the device offset.  X is the kernel-assigned device number. 

APPLICATION PROGRAMMING INTERFACE

tcx has two control planes which define how the underlying pixel is displayed.  The display modes are 8-bit (8 bits taken from low-order 8 bits of pixel) through a colormap; 24-bit through a gamma-correction table; 24-bit through the colormap; or 24-bit direct.  The colormap is shared by both 24-bit and 8-bit modes. 

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

There is an 8-bit only version of tcx which operates the same as the 24-bit version, except that the 24-bit-related mappings can not be made. 

IOCTLS

tcx accepts the following ioctl(2) calls, defined in <sys/fbio.h> and <sys/visual_io.h>, and implemented as described in fbio(7I). 

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

VIS_GETIDENTIFIER returns "SUNW,tcx". 

Emulation mode (FBIOGATTR, FBIOSATTR) may be either FBTYPE_SUN3COLOR or FBTYPE_MEMCOLOR.  Set emulation mode to 21 (FBTYPE_LASTPLUSONE) to turn emulation off.  Changes to emulation mode (via FBIOSATTR) take place immediately.  Emulation may be turned off manually by setting emu_type field of the fbsattr structure to 21.  Emulation mode is reset to default on reboot. 

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 the sizes of the 8-bit framebuffer.  The proper way to compute the size of a framebuffer mapping is:

size=linebytes∗height∗bytes_per_pixel

The information returned in the dev_specific field by the FBIOGATTR ioctl is as follows:

dev_specific[0] is the tcx capabilities mask:

Name Hex Value Meaning
STIP_ALIGN 0xf stipple alignment constraint
C_PLANES 0xf0 # of control planes
BLIT_WIDTH 0xf00 maximum blit width
BLIT_HEIGHT 0xf000 maximum blit height
STIP_ROP 0x10000 stipple-with-rop supported
BLIT_ROP 0x20000 blit-with-rop supported
24_BIT 0x40000 24-bit support
HW_CURSOR 0x80000 hardware cursor
PLANE_MASK 0x100000 plane mask support for 8-bit stipple

dev_specific[1] is the kernel address for 8-bit mapping.  This is useful only to other device drivers, and should not be used outside the kernel. 

FILES

/dev/fbs/tcx device special file

/dev/fb default frame buffer

SEE ALSO

ioctl(2), mmap(2), sbus(4), fbio(7I)

SunOS 5.5.1  —  Last change: 21 Mar 1996

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