.\" $NetBSD: cgsix.4,v 1.15 2017/02/17 22:24:47 christos Exp $
.\"
.\" Copyright 1994
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This software was developed by the Computer Systems Engineering group
.\" at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and
.\" contributed to Berkeley.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" from: @(#)cgsix.4 8.1 (Berkeley) 2/16/94
.\"
.Dd February 17, 2017
.Dt CGSIX 4 sparc
.Os
.Sh NAME
.Nm cgsix
.Nd Sun accelerated 8-bit color frame buffer
.Sh SYNOPSIS
.Cd "cgsix* at sbus? slot ? offset ?" Pq sun4c/sun4m
.Cd "cgsix0 at obio0 addr 0xfb000000 level 4" Pq sun4/300
.Cd "cgsix0 at obio0 addr 0x0b000000 level 4" Pq sun4/100
.Sh DESCRIPTION
The
.Nm
is a memory based color frame buffer.
It supports the minimal ioctl's needed to run
.Xr X 7 .
.Pp
There are several versions of the
.Nm
board.
The Sun part numbers and board types are:
.Pp
.Bl -tag -width "501-1717, 501-2018, 501-2039" -compact
.It "501-1374, 501-1532"
P4 GX
.It 501-1505
P4 GX with 3/80 backpanel
.It "501-1481, 501-1645"
Sbus double-width GX
.It "501-1672, 501-1996"
Sbus GX
.It "501-1717, 501-2018, 501-2039"
Sbus GX+
.It "501-2325, 501-2922"
Sbus TGX
.It "501-2253, 501-2955"
Sbus TGX+
.El
.Pp
There are also on-board
.Sq GX
cards in the
.Sq SPARCstation IPX
and
.Sq SPARCstation LX
machines.
.Pp
The
.Sq GX
and
.Sq TGX
cards have 1Mb of on-board memory and support a maximum graphics resolution
of 1152x900.
The
.Sq GX+
cards have 4Mb of on-board memory and support a maximum resolution of
1280x1024.
The
.Sq TGX+
cards have 4Mb
of on-board memory and support a maximum resolution of 1600x1280.
The
.Sq TGX
(Turbo GX) cards are faster than the
.Sq GX
cards.
.Pp
The number of supported resolutions varies by card type.
All cards support a resolution of 1152x900 at 66Hz.
All but the P4 and double-width cards support a resolution of 1152x900
at 76Hz.
The cards default to a resolution dependent on the attached monitor
(usually 1152x900).
.Pp
It is only possible to change the resolution of a
.Nm
card from the PROM before the operating system is loaded.
For the primary card, this can be done using the
.Sq output-device
PROM field.
For example, for a
.Sq TGX+
card, the following PROM command will set the resolution to 1280x1024 at
76Hz:
.Bd -literal -offset indent
setenv output-device screen:r1280x1024x76
.Ed
.Pp
For secondary cards, a different method must be used to set the resolution.
For a machine with OpenBoot 2.x or 3.x, and assuming a
.Sq TGX
card at Sbus slot 1, the following PROM commands will set the resolution to
1024x768 at 60Hz:
.Bd -literal -offset indent
nvedit
probe-all
" /iommu/sbus/cgsix@1" select-dev
r1024x768x60
" /iommu/sbus/cgsix@1" " set-resolution" execute-device-method
device-end
install-console
banner
^C
nvstore
setenv use-nvramrc? true
reset
.Ed
.Pp
For Sun4c machines, the device-path above would be:
.Bd -literal -offset indent
" /sbus/cgsix@1"
.Ed
.Pp
For Sun-4 and Sun-3 systems, it is only possible to change PROM fields by
altering byte values.
For these systems, it is probably easier to use the
.Xr eeprom 8
command to set the
.Va scrsize
field to the desired resolution.
.Sh EXAMPLES
.Cd "cgsix0 at obio0 addr 0xfb000000 level 4: cgsix/p4, 1152 x 900, rev 1"
.Cd "cgsix0 at sbus0 slot 0 offset 0x0 level 9: SUNW,501-2325, 1152 x 900, rev 11"
.Cd "cgsix0 at sbus0 slot 0 offset 0x0 level 9: SUNW,501-2253, 1280 x 1024, rev 11"
.Sh SEE ALSO
.Xr sparc/bwtwo 4 ,
.Xr sparc/cgeight 4 ,
.Xr sparc/cgfour 4 ,
.Xr sparc/cgfourteen 4 ,
.Xr sparc/cgthree 4 ,
.Xr sparc/cgtwo 4 ,
.Xr sparc/tcx 4 ,
.Xr eeprom 8
.Sh BUGS
The double-width
.Sq GX
and the
.Sq GX+
cards are not compatible with UltraSPARC machines.
.Pp
On Sun-4 systems using a P4 GX card as console, the
.Va console
field in the PROM must be set to
.Va p4opt ,
otherwise the card will not be recognised as the console output device.
.Pp
Several firmware revisions on
.Nm
boards have a terminal emulation bug that shows up when using the
screen control sequences for inserting blank lines
near the bottom end of the screen
(i.e., the control sequences produced by the termcap
.So al Sc and So AL Sc
capabilities found in the
.Xr terminfo 5
database).
The most likely occasion for triggering
this bug is to use a full-screen editor such as
.Xr vi 1
on the workstation's console.
.Pp
To work around this you can set your
.Ev TERM
environment variable to the
.Sq sun-cgsix
terminal definition which is the same as the
.Sq sun
entry, except that the
.Sq al
and
.Sq AL
capabilities have been removed (at the cost of making the scrolling of
the screen slower).