|
|
1.1 root 1: .\" Copyright (c) 1990 The Regents of the University of California.
2: .\" All rights reserved.
3: .\"
4: .\" This code is derived from software contributed to Berkeley by
5: .\" the Systems Programming Group of the University of Utah Computer
6: .\" Science Department.
7: .\"
8: .\" Redistribution and use in source and binary forms are permitted provided
9: .\" that: (1) source distributions retain this entire copyright notice and
10: .\" comment, and (2) distributions including binaries display the following
11: .\" acknowledgement: ``This product includes software developed by the
12: .\" University of California, Berkeley and its contributors'' in the
13: .\" documentation or other materials provided with the distribution and in
14: .\" all advertising materials mentioning features or use of this software.
15: .\" Neither the name of the University nor the names of its contributors may
16: .\" be used to endorse or promote products derived from this software without
17: .\" specific prior written permission.
18: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
19: .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
20: .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
21: .\"
22: .\" @(#)rb.4 5.1 (Berkeley) 6/29/90
23: .\"
24: .TH RB 4 "June 29, 1990"
25: .UC 7
26: .SH NAME
27: rb \- HP98720 ``Renaissance'' device interface
28: .SH DESCRIPTION
29: This driver is for the HP98720 and 98721 graphics device, also known as
30: the Renaissance. This driver has not been tested with all possible
31: combinations of frame buffer boards and scan boards installed in the device.
32: The driver merely checks for the existence of the device and does minimal set
33: up.
34: .PP
35: The Renaissance can be configured at either the ``internal'' address
36: (frame buffer address 0x200000, control register space address 0x560000)
37: or at an external select code less than 32.
38: At the internal address it will be the ``preferred'' console device
39: (see
40: .IR cons (4)).
41: The hardware installation manual describes the procedure for
42: setting these values.
43: .PP
44: A user process communicates to the device initially by means of
45: .IR ioctl (2)
46: calls. For the HP-UX ioctl calls supported, refer to HP-UX manuals.
47: The BSD calls supported are:
48: .TP
49: GRFIOCGINFO
50: Get Graphics Info
51: .sp
52: Get info about device, setting the entries in the
53: .I grfinfo
54: structure, as defined in <hpdev/grfioctl.h>.
55: For the standard 98720, the number of planes should be 4. The number of
56: colors would therefore be 15, excluding black. If one 98722A frame buffer
57: board is installed, there will still be 4 planes, with the 4 planes on the
58: colormap board becoming overlay planes. With each additional 98722 frame
59: buffer board 4 planes will be added up to a maximum of 32 planes total.
60: .TP
61: GRFIOCON
62: Graphics On
63: .sp
64: Turn graphics on by enabling CRT output. The screen will come on, displaying
65: whatever is in the frame buffer, using whatever colormap is in place.
66: .TP
67: GRFIOCOFF
68: Graphics Off
69: .sp
70: Turn graphics off by disabling output to the CRT. The frame buffer contents
71: are not affected.
72: .TP
73: GRFIOCMAP
74: Map Device to user space
75: .sp
76: Map in control registers and framebuffer space. Once the device file is
77: mapped, the frame buffer structure is accessible. The structure describing
78: the 98720 is defined in <hpdev/grf_rbreg.h>.
79: .SH EXAMPLE
80: This is a short segment of code showing how the device is opened and mapped
81: into user process address space assuming that it is grf0:
82: .DS
83: {
84: struct rboxfb *rbox;
85: u_char *Addr, frame_buffer;
86: struct grfinfo gi;
87: int disp_fd;
88:
89: disp_fd = open("/dev/grf0",1);
90:
91: if (ioctl (disp_fd, GRFIOCGINFO, &gi) < 0) return -1;
92:
93: (void) ioctl (disp_fd, GRFIOCON, 0);
94:
95: Addr = (u_char *) 0;
96: if (ioctl (disp_fd, GRFIOCMAP, &Addr) < 0) {
97: (void) ioctl (disp_fd, GRFIOCOFF, 0);
98: return -1;
99: }
100: rbox = (rboxfb *) Addr; /* Control Registers */
101: frame_buffer = (u_char *) Addr + gi.gd_regsize; /* Frame buffer memory */
102: }
103: .DE
104: .SH SEE ALSO
105: ioctl(2), grf(4).
106: .br
107: For extensive code examples using the
108: Renaissance, see the X device dependent source.
109: .SH FILES
110: .ta \w'/dev/crt98720, /dev/ocrt98720 'u
111: /dev/grf? BSD special file
112: .br
113: /dev/crt98720, /dev/ocrt98720 HP-UX \fIstarbase\fP special files
114: .br
115: /dev/MAKEDEV.hpux script for creating HP-UX special files
116: .SH ERRORS
117: .TP 15
118: [ENODEV]
119: no such device.
120: .TP 15
121: [EBUSY]
122: Another process has the device open.
123: .TP 15
124: [EINVAL]
125: Invalid ioctl specification.
126: .SH BUGS
127: Not tested for all configurations of scan board and frame buffer memory boards.
128: .SH DIAGNOSTICS
129: None under BSD.
130: .br
131: HP-UX CE.utilities must be used.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.