1993-03-21 12:45:37 +03:00
|
|
|
.\" Copyright (c) 1990, 1991 The Regents of the University of California.
|
|
|
|
.\" All rights reserved.
|
|
|
|
.\"
|
|
|
|
.\" This code is derived from software contributed to Berkeley by
|
|
|
|
.\" the Systems Programming Group of the University of Utah Computer
|
|
|
|
.\" Science Department.
|
|
|
|
.\"
|
|
|
|
.\" 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.
|
|
|
|
.\"
|
1993-08-01 11:54:52 +04:00
|
|
|
.\" from: @(#)tc.4 5.2 (Berkeley) 3/27/91
|
1997-10-13 15:21:19 +04:00
|
|
|
.\" $NetBSD: tc.4,v 1.3 1997/10/13 11:23:10 lukem Exp $
|
1993-03-21 12:45:37 +03:00
|
|
|
.\"
|
|
|
|
.Dd March 27, 1991
|
|
|
|
.Dt TC 4 hp300
|
|
|
|
.Os
|
|
|
|
.Sh NAME
|
|
|
|
.Nm \&tc
|
|
|
|
.Nd
|
|
|
|
.Tn HP98544
|
|
|
|
98550 ``Topcat'' and ``Catseye'' device interface
|
|
|
|
.Sh DESCRIPTION
|
|
|
|
This driver is for the
|
|
|
|
.Tn HP98544 ,
|
|
|
|
98545 and 98547 ``Topcat''
|
|
|
|
and
|
|
|
|
.Tn HP98548 ,
|
|
|
|
98549, and 98550 ``Catseye'' display cards.
|
|
|
|
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.
|
|
|
|
The Topcat and Catseye are nearly identical in common usage and only the
|
|
|
|
Topcat will be referred to from now on.
|
|
|
|
.Pp
|
|
|
|
The Topcat display cards are not user configurable. If one is present on a
|
|
|
|
system, it will always have a frame buffer address of 0x200000 and a control
|
|
|
|
register address of 0x560000. These are the
|
|
|
|
.Tn HP
|
|
|
|
series 300
|
|
|
|
.Tn ITE
|
|
|
|
(Internal
|
|
|
|
Terminal Emulator) defaults. The device can also be used as a graphics output
|
|
|
|
device.
|
|
|
|
.Pp
|
|
|
|
The
|
|
|
|
.Xr ioctl 2
|
|
|
|
calls supported by the
|
|
|
|
.Bx
|
|
|
|
system for the Topcat are:
|
|
|
|
.Bl -tag -width GRFIOCGINFO
|
|
|
|
.It Dv GRFIOCGINFO
|
|
|
|
Get Graphics Info
|
|
|
|
.Pp
|
|
|
|
Get info about device, setting the entries in the
|
|
|
|
.Ar grfinfo
|
|
|
|
structure, as defined in
|
|
|
|
.Aq Pa hpdev/grfioctl.h .
|
|
|
|
For the 98544 or 98549,
|
|
|
|
the number of planes should be 1, as they are monochrome devices.
|
|
|
|
The number of planes for a 98545 is 4, translating to 15 colors,
|
|
|
|
excluding black.
|
|
|
|
The 98547 and 98548 cards have 6 planes, yielding 63 colors and black.
|
|
|
|
The 98550 has 8 planes, yielding 255 colors and black.
|
|
|
|
The displayed frame buffer size for the 98549 and 98550 is 2048 x 1024,
|
|
|
|
for the others it is 1024 x 768.
|
|
|
|
.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 Topcat/Catseye devices is defined in
|
|
|
|
.Aq Pa hpdev/grf_tcreg.h .
|
|
|
|
.El
|
|
|
|
.Pp
|
|
|
|
For further information about the use of
|
|
|
|
.Xr ioctl
|
|
|
|
see the man page.
|
|
|
|
.Sh EXAMPLE
|
|
|
|
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
|
|
|
|
directory.
|
|
|
|
.Bd -literal
|
|
|
|
struct tcboxfb *tc;
|
|
|
|
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;
|
|
|
|
}
|
|
|
|
tc = (tcboxfb *) Addr; /* Control Registers */
|
|
|
|
frame_buffer = (u_char *) Addr + gi.gd_regsize; /* Frame buffer memory */
|
|
|
|
.Ed
|
|
|
|
.Sh FILES
|
|
|
|
.Bl -tag -width /dev/MAKEDEV.hpux -compact
|
|
|
|
.It Pa /dev/grf?
|
|
|
|
.Bx
|
|
|
|
special file
|
|
|
|
.It Pa /dev/crt9837
|
|
|
|
.It Pa /dev/crt98550
|
|
|
|
.Tn HP-UX
|
|
|
|
.Em starbase
|
|
|
|
special files
|
|
|
|
.It Pa /dev/MAKEDEV.hpux
|
|
|
|
script for creating
|
|
|
|
.Tn HP-UX
|
|
|
|
special files
|
|
|
|
.El
|
|
|
|
.Sh DIAGNOSTICS
|
|
|
|
None under
|
|
|
|
.Bx .
|
|
|
|
.Tn HP-UX
|
|
|
|
.Tn /usr/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
|
|
|
|
.Xr ioctl
|
|
|
|
specification.
|
|
|
|
.El
|
|
|
|
.Sh SEE ALSO
|
|
|
|
.Xr ioctl 2 ,
|
|
|
|
.Xr grf 4
|
|
|
|
.Sh HISTORY
|
|
|
|
The
|
|
|
|
.Nm
|
|
|
|
driver
|
|
|
|
.Ud
|