1/* $NetBSD: pmreg.h,v 1.1.12.3 2004/09/21 13:20:21 skrll Exp $ */ 2 3/* 4 * Copyright (c) 1992, 1993 5 * The Regents of the University of California. All rights reserved. 6 * 7 * This code is derived from software contributed to Berkeley by 8 * Ralph Campbell. 9 * 10 * Redistribution and use in source and binary forms, with or without 11 * modification, are permitted provided that the following conditions 12 * are met: 13 * 1. Redistributions of source code must retain the above copyright 14 * notice, this list of conditions and the following disclaimer. 15 * 2. Redistributions in binary form must reproduce the above copyright 16 * notice, this list of conditions and the following disclaimer in the 17 * documentation and/or other materials provided with the distribution. 18 * 3. Neither the name of the University nor the names of its contributors 19 * may be used to endorse or promote products derived from this software 20 * without specific prior written permission. 21 * 22 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 23 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 24 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 26 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 27 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 28 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 31 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 32 * SUCH DAMAGE. 33 * 34 * @(#)pmreg.h 8.1 (Berkeley) 6/10/93 35 */ 36 37#ifndef _PMREG_H_ 38#define _PMREG_H_ 39 40/* 41 * Structure to describe the programmable cursor chip (DC503) from DEC. 42 */ 43typedef volatile struct PCCRegs { 44 u_short cmdr; /* cursor command register */ 45 short pad1; 46 u_short xpos; /* cursor X position */ 47 short pad2; 48 u_short ypos; /* cursor Y position */ 49 short pad3; 50 u_short xmin1; /* region 1 left edge */ 51 short pad4; 52 u_short xmax1; /* region 1 right edge */ 53 short pad5; 54 u_short ymin1; /* region 1 top edge */ 55 short pad6; 56 u_short ymax1; /* region 1 bottom edge */ 57 short pad7[9]; 58 u_short xmin2; /* region 2 left edge */ 59 short pad8; 60 u_short xmax2; /* region 2 right edge */ 61 short pad9; 62 u_short ymin2; /* region 2 top edge */ 63 short pad10; 64 u_short ymax2; /* region 2 bottom edge */ 65 short pad11; 66 u_short memory; /* cursor sprite pattern load */ 67} PCCRegs; 68 69/* 70 * Bits in pcc_cmdr. 71 */ 72#define PCC_TEST 0x8000 73#define PCC_HSHI 0x4000 74#define PCC_VBHI 0x2000 75#define PCC_LODSA 0x1000 76#define PCC_FORG2 0x0800 77#define PCC_ENRG2 0x0400 78#define PCC_FORG1 0x0200 79#define PCC_ENRG1 0x0100 80#define PCC_XHWID 0x0080 81#define PCC_XHCL1 0x0040 82#define PCC_XHCLP 0x0020 83#define PCC_XHAIR 0x0010 84#define PCC_FOPB 0x0008 85#define PCC_ENPB 0x0004 86#define PCC_FOPA 0x0002 87#define PCC_ENPA 0x0001 88 89/* 90 * Magic offset for cursor X & Y locations. 91 */ 92#define PCC_X_OFFSET 212 93#define PCC_Y_OFFSET 34 94 95/* 96 * Defines for the BrookTree bt478 VDAC. 97 */ 98typedef volatile struct VDACRegs { 99 u_char mapWA; /* address register (color map write) */ 100 char pad1[3]; 101 u_char map; /* color map */ 102 char pad2[3]; 103 u_char mask; /* pixel read mask */ 104 char pad3[3]; 105 u_char mapRA; /* address register (color map read) */ 106 char pad4[3]; 107 u_char overWA; /* address register (overlay map write) */ 108 char pad5[3]; 109 u_char over; /* overlay map */ 110 char pad6[7]; 111 u_char overRA; /* address register (overlay map read) */ 112} VDACRegs; 113 114#endif /* !_PMREG_H_ */ 115