BSD 4_3_Net_2 development
[unix-history] / .ref-BSD-4_3_Reno / usr / src / sys / hpdev / itereg.h
CommitLineData
60f56dfc
KM
1/*
2 * Copyright (c) 1988 University of Utah.
3 * Copyright (c) 1990 The Regents of the University of California.
4 * All rights reserved.
5 *
6 * This code is derived from software contributed to Berkeley by
7 * the Systems Programming Group of the University of Utah Computer
8 * Science Department.
9 *
1c15e888
C
10 * Redistribution is only permitted until one year after the first shipment
11 * of 4.4BSD by the Regents. Otherwise, redistribution and use in source and
12 * binary forms are permitted provided that: (1) source distributions retain
13 * this entire copyright notice and comment, and (2) distributions including
14 * binaries display the following acknowledgement: This product includes
15 * software developed by the University of California, Berkeley and its
16 * contributors'' in the documentation or other materials provided with the
17 * distribution and in all advertising materials mentioning features or use
18 * of this software. Neither the name of the University nor the names of
19 * its contributors may be used to endorse or promote products derived from
20 * this software without specific prior written permission.
21 * THIS SOFTWARE IS PROVIDED AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
22 * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
23 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
60f56dfc 24 *
1c15e888 25 * from: Utah $Hdr: itereg.h 1.2 89/08/25$
60f56dfc 26 *
1c15e888 27 * @(#)itereg.h 7.1 (Berkeley) 5/8/90
60f56dfc
KM
28 */
29
30#define REGADDR ip->regbase
31#define FBBASE ((volatile u_char *)ip->fbbase)
32#define FONTROM ((u_char *)(REGADDR+0x3B))
33#define ITEREGS ((struct iteregs *)(REGADDR))
34
35/*
36 * All of the HP displays use the same font ROM setup. These structures
37 * are used to get at them.
38 */
39
40struct iteregs {
41 u_short reset;
42 u_short interrupt;
43 u_char :8,
44 fbwidth_h,
45 :8,
46 fbwidth_l,
47 :8,
48 fbheight_h,
49 :8,
50 fbheight_l,
51 :8,
52 dispwidth_h,
53 :8,
54 dispwidth_l,
55 :8,
56 dispheight_h,
57 :8,
58 dispheight_l;
59};
60
61struct fontinfo {
62 u_char nfonts, :8,
63 fontid, :8,
64 haddr, :8,
65 laddr, :8;
66};
67
68struct font {
69 u_char fh, :8,
70 fw;
71 u_char pad[7],
72 data[256];
73};
74
75#define draw_cursor(ip) { \
76 WINDOWMOVER(ip, ip->cblanky, ip->cblankx, \
77 ip->cury * ip->ftheight, \
78 ip->curx * ip->ftwidth, \
79 ip->ftheight, ip->ftwidth, RR_XOR); \
80 ip->cursorx = ip->curx; \
81 ip->cursory = ip->cury; }
82
83#define erase_cursor(ip) \
84 WINDOWMOVER(ip, ip->cblanky, ip->cblankx, \
85 ip->cursory * ip->ftheight, \
86 ip->cursorx * ip->ftwidth, \
87 ip->ftheight, ip->ftwidth, RR_XOR);