|
|
1.1 ! root 1: /* CONFIDENTIAL ! 2: * Copyright (c) 1993 by NeXT Computer, Inc as an unpublished work. ! 3: * All rights reserved. ! 4: * ! 5: * QVisionModes.h -- internal definitions for QVision driver. ! 6: * ! 7: * Author: Derek B Clegg 21 May 1993 ! 8: * ! 9: * Based on work by Joe Pasqua, 30 September 1992. ! 10: */ ! 11: ! 12: #ifndef QVISIONMODES_H__ ! 13: #define QVISIONMODES_H__ ! 14: ! 15: #import <objc/objc.h> ! 16: #import <mach/mach.h> ! 17: #import <driverkit/displayDefs.h> ! 18: #import "vgaModes.h" ! 19: ! 20: #define QVISION_ISA_ID 0x0E113021 ! 21: #define QVISION_EISA_ID 0x0E113011 ! 22: #define ORION_ISA_ID 0x0E113121 ! 23: #define ORION_EISA_ID 0x0E113111 ! 24: #define ORION12_ISA_ID 0x0E113122 ! 25: #define ORION12_EISA_ID 0x0E113112 ! 26: ! 27: enum QVAdapterType { ! 28: UnknownAdapter = -1, ! 29: QVisionAdapter = 0, ! 30: OrionAdapter = 1, ! 31: Orion12Adapter = 2, ! 32: QVision1280P = 3 /* PCI card */ ! 33: }; ! 34: typedef enum QVAdapterType QVAdapterType; ! 35: ! 36: enum DACtype { ! 37: UnknownDAC, ! 38: Bt484, /* BrookTree 484. */ ! 39: Bt485, /* BrookTree 485. */ ! 40: Bt485A, /* BrookTree 485A. */ ! 41: ATT20C505 /* AT&T 20C505 */ ! 42: }; ! 43: typedef enum DACtype DACtype; ! 44: ! 45: /* Sizes of the various data sets. */ ! 46: ! 47: struct QVisionMode { ! 48: const char *name; /* The name of this mode. */ ! 49: QVAdapterType adapter; /* The adapter required for this mode. */ ! 50: BOOL needsPixelDoubling; /* YES if this mode requires pixel doubling. */ ! 51: ! 52: /* Control register 1 value (63CA). */ ! 53: unsigned char ctrlReg1; ! 54: ! 55: /* DAC command register 1 value (13C8). */ ! 56: unsigned char dacCmd1; ! 57: ! 58: /* Overflow register 1 value (3CF.42). */ ! 59: unsigned char overflow1; ! 60: ! 61: /* Overflow register 2 values (3CF.51). */ ! 62: unsigned char overflow2; ! 63: ! 64: /* Standard VGA data. */ ! 65: VGAMode vgaData; ! 66: }; ! 67: typedef struct QVisionMode QVisionMode; ! 68: ! 69: extern const IODisplayInfo QVisionModeTable[]; ! 70: extern const int QVisionModeTableCount; ! 71: ! 72: #define DEFAULT_QVISION_MODE 13 /* 1024 x 768 x 8 @ 66Hz. */ ! 73: #define DEFAULT_ORION_MODE 9 /* 1024 x 768 x 15 @ 60Hz. */ ! 74: #define DEFAULT_ORION12_MODE 9 /* 1024 x 768 x 15 @ 60Hz. */ ! 75: #define DEFAULT_1280P_MODE 9 /* 1024 x 768 x 15 @ 60Hz. */ ! 76: ! 77: /* Port Addresses for Various Registers */ ! 78: ! 79: #define SEQ_PIXEL_WR_MSK 0x02 ! 80: #define GC_PLANE_WR_MSK 0x08 ! 81: ! 82: /* Control Registers */ ! 83: #define PAGE_REG_0 0x45 /* This is a GFXC index. */ ! 84: #define PAGE_REG_1 0x46 /* This is a GFXC index. */ ! 85: #define HI_ADDR_MAP 0x48 /* This is a GFXC index. */ ! 86: #define ENV_REG_1 0x50 /* This is a GFXC index. */ ! 87: #define VIRT_CTRLR_SEL 0x83C4 ! 88: #define CTRL_REG_1 0x63CA ! 89: #define QVGA_CTL_2 0x23C7 ! 90: #define QVGA_CTL_3 0x63CB ! 91: ! 92: /* CTRL_REG_1 values */ ! 93: #define PACKED_PIXEL_VIEW 0x00 ! 94: #define PLANAR_VIEW 0x08 ! 95: #define EXPAND_TO_FG 0x10 ! 96: #define EXPAND_TO_BG 0x18 ! 97: #define BITS_PER_PIX_4 0x00 ! 98: #define BITS_PER_PIX_8 0x02 ! 99: #define BITS_PER_PIX_16 0x04 ! 100: #define BITS_PER_PIX_32 0x06 ! 101: ! 102: /* DAC Registers */ ! 103: ! 104: #define PALETTE_WRITE 0x3C8 ! 105: #define PALETTE_READ 0x3C7 ! 106: #define PALETTE_DATA 0x3C9 ! 107: #define CO_COLOR_WRITE 0x83C8 ! 108: #define CO_COLOR_DATA 0x83C9 ! 109: #define DAC_CMD_0 0x83C6 ! 110: #define DAC_CMD_1 0x13C8 ! 111: #define DAC_CMD_2 0x13C9 ! 112: #define DAC_EXT_REG 0x13C6 ! 113: ! 114: ! 115: /* Use IOLog_dbg(("format", arg, ...)) to get debugging ingo when building ! 116: the `debug' target. Actually though, it is a whole lot easier to define ! 117: DEBUG here so `make install' works normally. */ ! 118: #ifdef QVISION_DEBUG ! 119: #define IOLog_dbg(x) IOLog x ! 120: #else ! 121: #define IOLog_dbg(x) ! 122: #endif ! 123: ! 124: ! 125: ! 126: #endif /* QVISIONMODES_H__ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.