|
|
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: .\" @(#)dv.4 5.1 (Berkeley) 6/29/90 ! 23: .\" ! 24: .TH DV 4 "June 29, 1990" ! 25: .UC 7 ! 26: .SH NAME ! 27: dv \- HP98730 ``DaVinci'' device interface ! 28: .SH DESCRIPTION ! 29: This driver is for the HP98730 and 98731 graphics device, also known as ! 30: the DaVinci. 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 DaVinci 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 98730, the number of planes should be 4. The number of ! 56: colors would therefore be 15, excluding black. If one 98732A 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 98732 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 98730 is defined in <hpdev/grf_dvreg.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 dvboxfb *dvbox; ! 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: dvbox = (dvboxfb *) 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: .SH FILES ! 107: .ta \w'/dev/crt98730, /dev/ocrt98730 'u ! 108: /dev/grf? BSD special file ! 109: .br ! 110: /dev/crt98730, /dev/ocrt98730 HP-UX \fIstarbase\fP special files ! 111: .br ! 112: /dev/MAKEDEV.hpux script for creating HP-UX special files ! 113: .SH ERRORS ! 114: .TP 15 ! 115: [ENODEV] ! 116: no such device. ! 117: .TP 15 ! 118: [EBUSY] ! 119: Another process has the device open. ! 120: .TP 15 ! 121: [EINVAL] ! 122: Invalid ioctl specification. ! 123: .SH BUGS ! 124: Not tested for all configurations of scan board and frame buffer memory boards. ! 125: .SH DIAGNOSTICS ! 126: None under BSD. ! 127: .br ! 128: 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.