dv - HP98730 ``DaVinci'' device interface
D
\bDE
\bES
\bSC
\bCR
\bRI
\bIP
\bPT
\bTI
\bIO
\bON
\bN
This driver is for the HP98730 and 98731 graphics device,
also known as the DaVinci. This driver has not been tested
with all possible combinations of frame buffer boards and
scan boards installed in the device. The driver merely
checks for the existence of the device and does minimal set
The DaVinci can be configured at either the ``internal''
address (frame buffer address 0x200000, control register
space address 0x560000) or at an external select code less
than 32. At the internal address it will be the ``pre-
ferred'' console device (see _
\bc_
\bo_
\bn_
\bs(4)). The hardware instal-
lation manual describes the procedure for setting these
A user process communicates to the device initially by means
of _
\bi_
\bo_
\bc_
\bt_
\bl(2) calls. For the HP-UX ioctl calls supported,
refer to HP-UX manuals. The BSD calls supported are:
Get info about device, setting the entries in the
_
\bg_
\br_
\bf_
\bi_
\bn_
\bf_
\bo structure, as defined in <hpdev/grfioctl.h>.
For the standard 98730, the number of planes should be
4. The number of colors would therefore be 15, exclud-
ing black. If one 98732A frame buffer board is
installed, there will still be 4 planes, with the 4
planes on the colormap board becoming overlay planes.
With each additional 98732 frame buffer board 4 planes
will be added up to a maximum of 32 planes total.
Turn graphics on by enabling CRT output. The screen
will come on, displaying whatever is in the frame
buffer, using whatever colormap is in place.
Turn graphics off by disabling output to the CRT. The
frame buffer contents are not affected.
Map in control registers and framebuffer space. Once
the device file is mapped, the frame buffer structure
is accessible. The structure describing the 98730 is
defined in <hpdev/grf_dvreg.h>.
E
\bEX
\bXA
\bAM
\bMP
\bPL
\bLE
\bE
This is a short segment of code showing how the device is
opened and mapped into user process address space assuming
u_char *Addr, frame_buffer;
disp_fd = open("/dev/grf0",1);
if (ioctl (disp_fd, GRFIOCGINFO, &gi) < 0) return -1;
(void) ioctl (disp_fd, GRFIOCON, 0);
if (ioctl (disp_fd, GRFIOCMAP, &Addr) < 0) {
(void) ioctl (disp_fd, GRFIOCOFF, 0);
dvbox = (dvboxfb *) Addr; /* Control Registers */
frame_buffer = (u_char *) Addr + gi.gd_regsize; /* Frame buffer memory */
S
\bSE
\bEE
\bE A
\bAL
\bLS
\bSO
\bO
/dev/grf? BSD special file
/dev/crt98730, /dev/ocrt98730 HP-UX _
\bs_
\bt_
\ba_
\br_
\bb_
\ba_
\bs_
\be special files
/dev/MAKEDEV.hpux script for creating HP-UX
[EBUSY] Another process has the device open.
[EINVAL] Invalid ioctl specification.
Not tested for all configurations of scan board and frame
D
\bDI
\bIA
\bAG
\bGN
\bNO
\bOS
\bST
\bTI
\bIC
\bCS
\bS
HP-UX CE.utilities must be used.