2001-09-11 10:30:02 +04:00
|
|
|
.\" $NetBSD: gbox.4,v 1.1 2001/09/11 06:30:04 gmcgarry Exp $
|
1997-10-19 16:55:52 +04:00
|
|
|
.\"
|
|
|
|
.\" Copyright (c) 1990, 1991, 1993
|
|
|
|
.\" The Regents of the University of California. All rights reserved.
|
1993-03-21 12:45:37 +03:00
|
|
|
.\"
|
|
|
|
.\" This code is derived from software contributed to Berkeley by
|
|
|
|
.\" the Systems Programming Group of the University of Utah Computer
|
|
|
|
.\" Science Department.
|
1997-10-19 16:55:52 +04:00
|
|
|
.\"
|
1993-03-21 12:45:37 +03:00
|
|
|
.\" 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. All advertising materials mentioning features or use of this software
|
|
|
|
.\" must display the following acknowledgement:
|
|
|
|
.\" This product includes software developed by the University of
|
|
|
|
.\" California, Berkeley and its contributors.
|
|
|
|
.\" 4. 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.
|
|
|
|
.\"
|
1997-10-19 16:55:52 +04:00
|
|
|
.\" from: @(#)gb.4 8.1 (Berkeley) 6/9/93
|
1993-03-21 12:45:37 +03:00
|
|
|
.\"
|
1997-10-19 16:55:52 +04:00
|
|
|
.Dd June 9, 1993
|
1993-03-21 12:45:37 +03:00
|
|
|
.Dt GB 4 hp300
|
|
|
|
.Os
|
|
|
|
.Sh NAME
|
|
|
|
.Nm gb
|
|
|
|
.Nd
|
|
|
|
.Tn HP98700
|
1999-12-16 02:44:51 +03:00
|
|
|
``Gatorbox'' graphics device interface
|
1993-03-21 12:45:37 +03:00
|
|
|
.Sh DESCRIPTION
|
|
|
|
This driver is for the
|
|
|
|
.Tn HP98700
|
|
|
|
and 98710 graphics devices, also known as
|
|
|
|
the Gatorbox. The term ``Gator'' will often be used, and it is not to be
|
|
|
|
confused with ``Gator'' used in reference to an
|
|
|
|
.Tn HP
|
|
|
|
9837 or 200/237 machine.
|
|
|
|
Also, the term Gatorbox is used for the 98700 alone, with the 98701 frame
|
|
|
|
buffer memory or with the 98710 accelerator installed. This driver merely
|
|
|
|
checks for the existence of the device and does minimal set up, as it is
|
|
|
|
expected the applications will initialize the device to their requirements.
|
|
|
|
.Pp
|
|
|
|
The 98700 can be used as the only graphics device on a system, in which case
|
|
|
|
it will be used as the system console. It can also be installed as a secondary
|
|
|
|
display device. For the first case, the
|
|
|
|
.Tn HP
|
|
|
|
.Tn 98287A M.A.D.
|
|
|
|
interface card
|
|
|
|
should be set to internal control space. This will put the frame buffer at
|
|
|
|
the DIO address 0x200000 and the control registers at 0x560000.
|
|
|
|
At this address it will be the ``preferred'' console device (see
|
|
|
|
.Xr cons 4 ) .
|
|
|
|
For use as a secondary device,
|
|
|
|
the 98287A should be set to frame buffer address 0x300000,
|
|
|
|
and to an external select code.
|
|
|
|
.Pp
|
|
|
|
It should be noted that this configuration will conflict with the 98547
|
|
|
|
display card which has a 2 megabyte frame buffer starting at address 0x200000.
|
|
|
|
The 98700 should only be installed as a secondary device in a machine with a
|
|
|
|
1 bit 98544 display card or 4 bit 98545 card.
|
|
|
|
The
|
|
|
|
.%T 98700H Installation Guide
|
|
|
|
contains further configuration information.
|
|
|
|
.Pp
|
|
|
|
The
|
|
|
|
.Xr ioctl 2
|
|
|
|
calls supported by the
|
|
|
|
.Bx
|
|
|
|
system for the Gatorbox are:
|
|
|
|
.Bl -tag -width indent
|
|
|
|
.It Dv GRFIOCGINFO
|
|
|
|
Get Graphics Info
|
|
|
|
.Pp
|
|
|
|
Get info about device, setting the entries in the
|
|
|
|
.Em grfinfo
|
|
|
|
structure, as defined in
|
|
|
|
.Aq Pa hpdev/grfioctl.h .
|
|
|
|
For the standard 98700, the number of planes should be 4. The number of
|
|
|
|
colors would therefore be 15, excluding black. With the 98701 option installed
|
|
|
|
there will be another 4 planes for a total of 8, giving 255 colors.
|
|
|
|
.It Dv GRFIOCON
|
|
|
|
Graphics On
|
|
|
|
.Pp
|
|
|
|
Turn graphics on by enabling
|
|
|
|
.Tn CRT
|
|
|
|
output. The screen will come on, displaying
|
|
|
|
whatever is in the frame buffer, using whatever colormap is in place.
|
|
|
|
.It Dv GRFIOCOFF
|
|
|
|
Graphics Off
|
|
|
|
.Pp
|
|
|
|
Turn graphics off by disabling output to the
|
|
|
|
.Tn CRT .
|
|
|
|
The frame buffer contents
|
|
|
|
are not affected.
|
|
|
|
.It Dv GRFIOCMAP
|
|
|
|
Map Device to user space
|
|
|
|
.Pp
|
|
|
|
Map in control registers and framebuffer space. Once the device file is
|
|
|
|
mapped, the frame buffer structure is accessible.
|
|
|
|
The frame buffer structure describing the 98700
|
|
|
|
is given in
|
|
|
|
.Aq Pa hpdev/grf_gbreg.h .
|
|
|
|
.It Dv GRFIOCUNMAP
|
|
|
|
Unmap Device
|
|
|
|
.Pp
|
|
|
|
Unmap control registers and framebuffer space.
|
|
|
|
.Pp
|
|
|
|
For further information about the use of ioctl see the man page.
|
|
|
|
.El
|
2001-09-11 10:30:02 +04:00
|
|
|
.Sh EXAMPLE
|
1993-03-21 12:45:37 +03:00
|
|
|
A small example of opening, mapping and using the device is given below.
|
|
|
|
For more examples of the details on the behavior of the device, see the device
|
|
|
|
dependent source files for the X Window System, in the
|
|
|
|
.Pa /usr/src/new/X/libhp.fb
|
|
|
|
directory.
|
|
|
|
.Bd -literal -offset indent
|
|
|
|
struct gboxfb *gbox;
|
|
|
|
u_char *Addr, frame_buffer;
|
|
|
|
struct grfinfo gi;
|
|
|
|
int disp_fd;
|
|
|
|
|
|
|
|
disp_fd = open("/dev/grf0",1);
|
|
|
|
|
|
|
|
if (ioctl (disp_fd, GRFIOCGINFO, &gi) < 0) return -1;
|
|
|
|
|
|
|
|
(void) ioctl (disp_fd, GRFIOCON, 0);
|
|
|
|
|
|
|
|
Addr = (u_char *) 0;
|
|
|
|
if (ioctl (disp_fd, GRFIOCMAP, &Addr) < 0) {
|
|
|
|
(void) ioctl (disp_fd, GRFIOCOFF, 0);
|
|
|
|
return -1;
|
|
|
|
}
|
|
|
|
gbox = (gboxfb *) Addr; /* Control Registers */
|
|
|
|
frame_buffer = (u_char *) Addr + gi.gd_regsize; /* Frame buffer memory */
|
|
|
|
.Ed
|
|
|
|
.Sh FILES
|
|
|
|
.Bl -tag -width /dev/crt98700 -compact
|
|
|
|
.It Pa /dev/grf?
|
|
|
|
.Bx
|
|
|
|
special file
|
|
|
|
.It Pa /dev/crt98700
|
|
|
|
.Tn HP-UX
|
|
|
|
.Em starbase
|
|
|
|
special file
|
|
|
|
.El
|
|
|
|
.Sh DIAGNOSTICS
|
|
|
|
None under
|
|
|
|
.Bx .
|
|
|
|
.Tn HP-UX
|
|
|
|
The
|
|
|
|
.Tn CE.utilities/Crtadjust
|
|
|
|
programs must be used.
|
|
|
|
.Sh ERRORS
|
|
|
|
.Bl -tag -width [EINVAL]
|
|
|
|
.It Bq Er ENODEV
|
|
|
|
no such device.
|
|
|
|
.It Bq Er EBUSY
|
|
|
|
Another process has the device open.
|
|
|
|
.It Bq Er EINVAL
|
|
|
|
Invalid ioctl specification.
|
|
|
|
.El
|
|
|
|
.Sh SEE ALSO
|
|
|
|
.Xr ioctl 2 ,
|
|
|
|
.Xr grf 4
|