1795 lines
68 KiB
C
1795 lines
68 KiB
C
|
/*++
|
|||
|
|
|||
|
Copyright (c) 1992 Microsoft Corporation
|
|||
|
Copyright (c) 1993 Compaq Computer Corporation
|
|||
|
|
|||
|
Module Name:
|
|||
|
|
|||
|
modeqv.h
|
|||
|
|
|||
|
Abstract:
|
|||
|
|
|||
|
This module contains the mode information to set the individual
|
|||
|
modes for the QVision card. This module also contains the CRTC
|
|||
|
register information for a monitor set.
|
|||
|
|
|||
|
Environment:
|
|||
|
|
|||
|
Kernel mode
|
|||
|
|
|||
|
Revision History:
|
|||
|
|
|||
|
|
|||
|
$0005 - MikeD - 02/08/94
|
|||
|
. modified to work with build 547's new display.cpl
|
|||
|
$0004
|
|||
|
miked: 1/26/1994
|
|||
|
. Added third party monitor support to force a 76Hz refresh rate
|
|||
|
|
|||
|
Adrian Crisan - First version 4/4/93.
|
|||
|
|
|||
|
--*/
|
|||
|
|
|||
|
//
|
|||
|
// Constants
|
|||
|
//
|
|||
|
|
|||
|
//
|
|||
|
// QVision register definitions
|
|||
|
//
|
|||
|
// port in mono mode
|
|||
|
#define ATT_INITIALIZE_PORT_MONO INPUT_STATUS_1_MONO
|
|||
|
// Register to read to reset
|
|||
|
// Attribute Controller index/data
|
|||
|
// toggle in mono mode
|
|||
|
|
|||
|
#define ATT_INITIALIZE_PORT_COLOR INPUT_STATUS_1_COLOR
|
|||
|
// Register to read to reset
|
|||
|
// Attribute Controller index/data
|
|||
|
// toggle in color mode
|
|||
|
// Aries Specific register equates
|
|||
|
|
|||
|
#define ARIES_CTL_1 0x63CA // Aries BitBlt Control Register 1
|
|||
|
#define DAC_CMD_2 0x13C9 // Aries DAC Command Register 2
|
|||
|
#define OVERFLOW_REG_1 0x42 // Aries Gfx Ctrl Overflow Reg 1
|
|||
|
#define OVERFLOW_REG_2 0x51 // Aries Gfx Ctrl Overflow Reg 2
|
|||
|
#define CO_COLOR_WRITE 0x83C8 // Aries Cursor/Overscan Write Index Reg
|
|||
|
#define CO_COLOR_DATA 0x83c9 // Aries Cursor/Overscan Data Reg
|
|||
|
#define HIGH_ADDR_MAP 0x48 // Index for High Addr Map register
|
|||
|
|
|||
|
|
|||
|
//
|
|||
|
// Graphics Miscellaneous Register - Index 0x06
|
|||
|
//
|
|||
|
#define MISC_REG 0x06 // Graphics Miscellaneous Register
|
|||
|
#define MISC_A0000_128K 0x00 // 128K video ram starting at A0000
|
|||
|
#define MISC_A0000_64K 0x04 // 64K video ram starting at A0000
|
|||
|
#define MISC_B0000_32K 0x08 // 32K video ram starting at B0000
|
|||
|
#define MISC_B8000_32K 0x0C // 32K video ram starting at B8000
|
|||
|
|
|||
|
//
|
|||
|
// Register defines for the QVClearScreen code which uses the BitBLT engin
|
|||
|
//
|
|||
|
#define ROPSELECT_NO_ROPS 0x00
|
|||
|
#define PIXELMASK_ONLY 0x00
|
|||
|
#define PLANARMASK_NONE_0XFF 0x04
|
|||
|
#define SRC_IS_PATTERN_REGS 0x02
|
|||
|
#define PREG_0 0x33CA
|
|||
|
#define PREG_1 0x33CB
|
|||
|
#define PREG_2 0x33CC
|
|||
|
#define PREG_3 0x33CD
|
|||
|
#define PREG_4 0x33CA
|
|||
|
#define PREG_5 0x33CB
|
|||
|
#define PREG_6 0x33CC
|
|||
|
#define PREG_7 0x33CD
|
|||
|
#define BLT_DEST_ADDR_LO 0x63CC
|
|||
|
#define BLT_DEST_ADDR_HI 0x63CE
|
|||
|
#define BITMAP_WIDTH 0x23C2
|
|||
|
#define BITMAP_HEIGHT 0x23C4
|
|||
|
#define BLT_CMD_0 0x33CE
|
|||
|
#define BLT_CMD_1 0x33CF
|
|||
|
#define XY_SRC_ADDR 0x40
|
|||
|
#define XY_DEST_ADDR 0x80
|
|||
|
#define BLT_FORWARD 0x00
|
|||
|
#define BLT_START 0x01
|
|||
|
#define GLOBAL_BUSY_BIT 0x40
|
|||
|
|
|||
|
//
|
|||
|
// QVision indexed register indexes.
|
|||
|
//
|
|||
|
|
|||
|
#define IND_CURSOR_START 0x0A // index in CRTC of the Cursor Start
|
|||
|
#define IND_CURSOR_END 0x0B // and End registers
|
|||
|
#define IND_CURSOR_HIGH_LOC 0x0E // index in CRTC of the Cursor Location
|
|||
|
#define IND_CURSOR_LOW_LOC 0x0F // High and Low Registers
|
|||
|
#define IND_VSYNC_END 0x11 // index in CRTC of the Vertical Sync
|
|||
|
// End register, which has the bit
|
|||
|
// that protects/unprotects CRTC
|
|||
|
// index registers 0-7
|
|||
|
#define IND_READ_MAP 0x04 // index of Read Map reg in Graph Ctlr
|
|||
|
#define IND_BIT_MASK 0x08 // index of Bit Mask reg in Graph Ctlr
|
|||
|
#define IND_SYNC_RESET 0x00 // index of Sync Reset reg in Seq
|
|||
|
#define IND_MEMORY_MODE 0x04 // index of Memory Mode reg in Seq
|
|||
|
|
|||
|
#define START_SYNC_RESET_VALUE 0x01 // value for Sync Reset reg to start
|
|||
|
// synchronous reset
|
|||
|
#define END_SYNC_RESET_VALUE 0x03 // value for Sync Reset reg to end
|
|||
|
|
|||
|
#define MEMORY_MAP_BASE 0x23c6 // Juniper memory map base register
|
|||
|
#define CTRL_REG_2 0x23c7 // Juniper control register 2
|
|||
|
#define CTRL_REG_3 0x63cb // Juniper control register 3
|
|||
|
//
|
|||
|
// Global Variables
|
|||
|
//
|
|||
|
|
|||
|
//
|
|||
|
// Mode commands for inidividual modes.
|
|||
|
//
|
|||
|
#define VALID_MODE 0x01 // monitor supports mode index
|
|||
|
#define INVALID_MODE 0x00 // monitor does not support mode index
|
|||
|
|
|||
|
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
// Mode index 0
|
|||
|
// Color text mode 3+, 720x400, 9x16 char cell (VGA)
|
|||
|
// BIOS mode: 0x03
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
#define QV_TEXT_720x400x4_INDEX 0
|
|||
|
|
|||
|
USHORT QV_TEXT_720x400x4[] = {
|
|||
|
|
|||
|
OW, // start sync reset
|
|||
|
SEQ_ADDRESS_PORT,
|
|||
|
IND_SYNC_RESET + (START_SYNC_RESET_VALUE << 8),
|
|||
|
|
|||
|
OWM,
|
|||
|
SEQ_ADDRESS_PORT,
|
|||
|
4,
|
|||
|
0x0001,0x0302,0x0003,0x0204, // program up sequencer
|
|||
|
|
|||
|
//
|
|||
|
// Set the Miscellaneous Output register to establish color/mono addressing
|
|||
|
// and select clocks and sync polarities.
|
|||
|
// Synchronous reset must be in effect while this register is being set,
|
|||
|
// because it contains clock control bits.
|
|||
|
//
|
|||
|
OB, // output a byte
|
|||
|
MISC_OUTPUT_REG_WRITE_PORT, // at this address
|
|||
|
0x67, // with this value
|
|||
|
|
|||
|
|
|||
|
OW,
|
|||
|
GRAPH_ADDRESS_PORT,
|
|||
|
0x0e06,
|
|||
|
|
|||
|
OW, // End sync reset
|
|||
|
SEQ_ADDRESS_PORT,
|
|||
|
IND_SYNC_RESET + (END_SYNC_RESET_VALUE << 8),
|
|||
|
|
|||
|
OW, // unlock extended registers
|
|||
|
GRAPH_ADDRESS_PORT,
|
|||
|
0x050f,
|
|||
|
|
|||
|
OW, // enable BitBlt engine
|
|||
|
GRAPH_ADDRESS_PORT, // and disable IRQ 9
|
|||
|
0x2810,
|
|||
|
|
|||
|
QVNEW+ARIES, // make sure this is an aries mode
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
DAC_CMD_0, // 83c6
|
|||
|
0x01,
|
|||
|
0x00,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
DAC_CMD_1,
|
|||
|
0x01,
|
|||
|
0x00,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
DAC_CMD_2,
|
|||
|
0x01,
|
|||
|
0x20,
|
|||
|
|
|||
|
OW,
|
|||
|
CRTC_ADDRESS_PORT_COLOR,
|
|||
|
0x0511,
|
|||
|
|
|||
|
//
|
|||
|
// Set all 25 CRT Controller registers.
|
|||
|
//
|
|||
|
METAOUT+INDXOUT, // program crtc registers
|
|||
|
CRTC_ADDRESS_PORT_COLOR,
|
|||
|
VGA_NUM_CRTC_PORTS, // count
|
|||
|
0, // start index
|
|||
|
0x5F,0x4f,0x50,0x82,
|
|||
|
0x55,0x81,0xbf,0x1f,
|
|||
|
0x00,0x4f,0x0d,0x0e,
|
|||
|
0x00,0x00,0x00,0x00,
|
|||
|
0x9c,0xBe,0x8f,0x28,
|
|||
|
0x1f,0x96,0xb9,0xa3,
|
|||
|
0xFF,
|
|||
|
|
|||
|
IB, // prepare atc for writing
|
|||
|
INPUT_STATUS_1_COLOR,
|
|||
|
|
|||
|
METAOUT+ATCOUT, //
|
|||
|
ATT_ADDRESS_PORT, // port
|
|||
|
VGA_NUM_ATTRIB_CONT_PORTS, // count
|
|||
|
0, // start index
|
|||
|
0x0,0x1,0x2,0x3,0x4,0x5,0x14,0x7,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
|
|||
|
0x04,0x0,0x0F,0x08,0x0,
|
|||
|
|
|||
|
METAOUT+INDXOUT, //
|
|||
|
GRAPH_ADDRESS_PORT, // port
|
|||
|
VGA_NUM_GRAPH_CONT_PORTS, // count
|
|||
|
0, // start index
|
|||
|
0x00,0x0,0x0,0x0,0x0,0x10,0x0e,0x0,0xFF,
|
|||
|
|
|||
|
OB,
|
|||
|
DAC_PIXEL_MASK_PORT,
|
|||
|
0xFF,
|
|||
|
|
|||
|
IB, // prepare atc for writing
|
|||
|
INPUT_STATUS_1_COLOR,
|
|||
|
|
|||
|
OB, // turn video on.
|
|||
|
ATT_ADDRESS_PORT,
|
|||
|
VIDEO_ENABLE,
|
|||
|
|
|||
|
EOD
|
|||
|
|
|||
|
}; // QV_TEXT_720x400x4
|
|||
|
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
// Mode index 1
|
|||
|
// Color text mode 3, 640x350, 8x14 char cell (EGA)
|
|||
|
// BIOS mode:0x10
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
#define QV_TEXT_640x350x4_INDEX 1
|
|||
|
|
|||
|
USHORT QV_TEXT_640x350x4[] = {
|
|||
|
OW, // start sync reset
|
|||
|
SEQ_ADDRESS_PORT,
|
|||
|
IND_SYNC_RESET + (START_SYNC_RESET_VALUE << 8),
|
|||
|
|
|||
|
OWM,
|
|||
|
SEQ_ADDRESS_PORT,
|
|||
|
4,
|
|||
|
0x0101,0x0302,0x0003,0x0204, // program up sequencer
|
|||
|
|
|||
|
OB,
|
|||
|
MISC_OUTPUT_REG_WRITE_PORT,
|
|||
|
0xA3,
|
|||
|
|
|||
|
OW,
|
|||
|
GRAPH_ADDRESS_PORT,
|
|||
|
0x0e06,
|
|||
|
|
|||
|
OW, // end sync reset
|
|||
|
SEQ_ADDRESS_PORT,
|
|||
|
IND_SYNC_RESET + (END_SYNC_RESET_VALUE << 8),
|
|||
|
|
|||
|
OW, // unlock extended registers
|
|||
|
GRAPH_ADDRESS_PORT,
|
|||
|
0x050f,
|
|||
|
|
|||
|
OW, // enable BitBlt engine
|
|||
|
GRAPH_ADDRESS_PORT, // and disable IRQ 9
|
|||
|
0x2810,
|
|||
|
|
|||
|
QVNEW+ARIES, // make sure this is an aries mode
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
DAC_CMD_0, // 83c6
|
|||
|
0x01,
|
|||
|
0x00,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
DAC_CMD_1,
|
|||
|
0x01,
|
|||
|
0x00,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
DAC_CMD_2,
|
|||
|
0x01,
|
|||
|
0x20,
|
|||
|
|
|||
|
OW,
|
|||
|
CRTC_ADDRESS_PORT_COLOR,
|
|||
|
0x0511,
|
|||
|
|
|||
|
METAOUT+INDXOUT, // program crtc registers
|
|||
|
CRTC_ADDRESS_PORT_COLOR,
|
|||
|
VGA_NUM_CRTC_PORTS, // count
|
|||
|
0, // start index
|
|||
|
0x5F,0x4f,0x50,0x82,
|
|||
|
0x55,0x81,0xbf,0x1f,
|
|||
|
0x00,0x4d,0x0b,0x0c,
|
|||
|
0x00,0x00,0x00,0x00,
|
|||
|
0x83,0xB5,0x5d,0x28,
|
|||
|
0x1f,0x63,0xba,0xa3,
|
|||
|
0xFF,
|
|||
|
|
|||
|
IB, // prepare atc for writing
|
|||
|
INPUT_STATUS_1_COLOR,
|
|||
|
|
|||
|
METAOUT+ATCOUT, //
|
|||
|
ATT_ADDRESS_PORT, // port
|
|||
|
VGA_NUM_ATTRIB_CONT_PORTS, // count
|
|||
|
0, // start index
|
|||
|
0x00,0x1,0x2,0x3,0x4,0x5,0x14,0x7,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
|
|||
|
0x00,0x00,0x0F,0x00,0x00,
|
|||
|
|
|||
|
METAOUT+INDXOUT, //
|
|||
|
GRAPH_ADDRESS_PORT, // port
|
|||
|
VGA_NUM_GRAPH_CONT_PORTS, // count
|
|||
|
0, // start index
|
|||
|
0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,0x0FF,
|
|||
|
|
|||
|
OB,
|
|||
|
DAC_PIXEL_MASK_PORT,
|
|||
|
0xFF,
|
|||
|
|
|||
|
IB, // prepare atc for writing
|
|||
|
INPUT_STATUS_1_COLOR,
|
|||
|
|
|||
|
OB, // turn video on.
|
|||
|
ATT_ADDRESS_PORT,
|
|||
|
VIDEO_ENABLE,
|
|||
|
|
|||
|
EOD
|
|||
|
}; // QV_TEXT_640x350x4
|
|||
|
|
|||
|
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
// Mode index 2
|
|||
|
// Standard VGA Color graphics, 640x480x4 - 16 colors
|
|||
|
// BIOS mode: 0x12
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
#define QV_TEXT_640x480x4_INDEX 2
|
|||
|
|
|||
|
USHORT QV_TEXT_640x480x4[] = {
|
|||
|
OW, // start sync reset
|
|||
|
SEQ_ADDRESS_PORT,
|
|||
|
IND_SYNC_RESET + (START_SYNC_RESET_VALUE << 8),
|
|||
|
|
|||
|
OWM,
|
|||
|
SEQ_ADDRESS_PORT,
|
|||
|
4,
|
|||
|
0x0101,0x0f02,0x0003,0x0604, // program up sequencer
|
|||
|
|
|||
|
|
|||
|
OB,
|
|||
|
MISC_OUTPUT_REG_WRITE_PORT,
|
|||
|
0xe3,
|
|||
|
|
|||
|
OW, //{ SetGraphCmd,{ "\x05", 0x06, 1 } },
|
|||
|
GRAPH_ADDRESS_PORT,
|
|||
|
0x0506,
|
|||
|
|
|||
|
OW, // End Sync reset
|
|||
|
SEQ_ADDRESS_PORT,
|
|||
|
IND_SYNC_RESET + (END_SYNC_RESET_VALUE << 8),
|
|||
|
|
|||
|
OW, // unlock extended registers
|
|||
|
GRAPH_ADDRESS_PORT,
|
|||
|
0x050f,
|
|||
|
|
|||
|
OW, // enable BitBlt engine
|
|||
|
GRAPH_ADDRESS_PORT, // and disable IRQ 9
|
|||
|
0x2810,
|
|||
|
|
|||
|
QVNEW+ARIES, // make sure this is an aries mode
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
DAC_CMD_0, // 83c6
|
|||
|
0x01,
|
|||
|
0x00,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
DAC_CMD_1,
|
|||
|
0x01,
|
|||
|
0x00,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
DAC_CMD_2,
|
|||
|
0x01,
|
|||
|
0x20,
|
|||
|
|
|||
|
OW,
|
|||
|
CRTC_ADDRESS_PORT_COLOR,
|
|||
|
0x0511,
|
|||
|
|
|||
|
METAOUT+INDXOUT, // program crtc registers
|
|||
|
CRTC_ADDRESS_PORT_COLOR,
|
|||
|
VGA_NUM_CRTC_PORTS, // count
|
|||
|
0, // start index
|
|||
|
0x5F,0x4F,0x50,0x82,
|
|||
|
0x54,0x80,0x0B,0x3E,
|
|||
|
0x00,0x40,0x00,0x00,
|
|||
|
0x00,0x00,0x00,0x00,
|
|||
|
0xEA,0xBC,0xDF,0x28,
|
|||
|
0x00,0xE7,0x04,0xE3,
|
|||
|
0xFF,
|
|||
|
|
|||
|
IB, // prepare atc for writing
|
|||
|
INPUT_STATUS_1_COLOR,
|
|||
|
|
|||
|
METAOUT+ATCOUT, //
|
|||
|
ATT_ADDRESS_PORT, // port
|
|||
|
VGA_NUM_ATTRIB_CONT_PORTS, // count
|
|||
|
0, // start index
|
|||
|
0x00,0x01,0x02,0x03,0x04,
|
|||
|
0x05,0x14,0x07,0x38,0x39,
|
|||
|
0x3A,0x3B,0x3C,0x3D,0x3E,
|
|||
|
0x3F,0x01,0x00,0x0F,0x00,0x00,
|
|||
|
|
|||
|
METAOUT+INDXOUT, //
|
|||
|
GRAPH_ADDRESS_PORT, // port
|
|||
|
VGA_NUM_GRAPH_CONT_PORTS, // count
|
|||
|
0, // start index
|
|||
|
0x00,0x0,0x0,0x0,0x0,0x0,0x05,0x0F,0x0FF,
|
|||
|
|
|||
|
OB,
|
|||
|
DAC_PIXEL_MASK_PORT,
|
|||
|
0xFF,
|
|||
|
|
|||
|
IB, // prepare atc for writing
|
|||
|
INPUT_STATUS_1_COLOR,
|
|||
|
|
|||
|
OB, // turn video on.
|
|||
|
ATT_ADDRESS_PORT,
|
|||
|
VIDEO_ENABLE,
|
|||
|
|
|||
|
EOD
|
|||
|
|
|||
|
}; // QV_TEXT_640x480x4
|
|||
|
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
// Mode index 3
|
|||
|
// VGA Color graphics, 640x480x8 - 256 colors
|
|||
|
// BIOS mode: 0x32
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
#define QV_640x480x8_INDEX 3
|
|||
|
|
|||
|
USHORT QV_640x480x8[] = {
|
|||
|
QVNEW+SETRAM, // set aries videoram
|
|||
|
|
|||
|
OW, // unlock extended registers
|
|||
|
GRAPH_ADDRESS_PORT,
|
|||
|
0x050f,
|
|||
|
|
|||
|
OW, // start sync reset
|
|||
|
SEQ_ADDRESS_PORT,
|
|||
|
IND_SYNC_RESET + (START_SYNC_RESET_VALUE << 8),
|
|||
|
|
|||
|
OWM,
|
|||
|
SEQ_ADDRESS_PORT,
|
|||
|
4,
|
|||
|
0x0101,0xff02,0x0003,0x0e04, // program up sequencer
|
|||
|
|
|||
|
|
|||
|
OW, // set seq memory register 4 to 0x0e
|
|||
|
SEQ_ADDRESS_PORT,
|
|||
|
0x0e04,
|
|||
|
|
|||
|
OB, // FIX VGA BUG
|
|||
|
SEQ_ADDRESS_PORT,
|
|||
|
0x07,
|
|||
|
|
|||
|
IB,
|
|||
|
MISC_OUTPUT_REG_WRITE_OFFSET,
|
|||
|
|
|||
|
OW, // END FIX VGA BUG
|
|||
|
CRTC_ADDRESS_COLOR_OFFSET,
|
|||
|
0x013f,
|
|||
|
|
|||
|
OW, // end synch reset
|
|||
|
SEQ_ADDRESS_PORT,
|
|||
|
IND_SYNC_RESET + (END_SYNC_RESET_VALUE << 8),
|
|||
|
|
|||
|
OW, // unlock extended registers
|
|||
|
GRAPH_ADDRESS_PORT,
|
|||
|
0x050f,
|
|||
|
|
|||
|
OW, // Set AVGA mode
|
|||
|
GRAPH_ADDRESS_PORT, // 3ce
|
|||
|
0x0140,
|
|||
|
|
|||
|
OW, // set pixel write mask reg to ff
|
|||
|
SEQ_ADDRESS_PORT, // 3c4
|
|||
|
0xFF02, // enable 256 colors again
|
|||
|
|
|||
|
OW, // enable BitBlt engine
|
|||
|
GRAPH_ADDRESS_PORT, // and disable IRQ 9
|
|||
|
0x2810,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // enable 8BPP Aries Mode
|
|||
|
ARIES_CTL_1,
|
|||
|
0x01,
|
|||
|
0x03,
|
|||
|
|
|||
|
QVNEW+ARIES, // make sure this is an aries mode
|
|||
|
|
|||
|
QVCMD+SETMISCOUT, // set MISC OUT registers based
|
|||
|
// on monitor type
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
DAC_CMD_0,
|
|||
|
0x01,
|
|||
|
0x00,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
DAC_CMD_1,
|
|||
|
0x01,
|
|||
|
0x40,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
DAC_CMD_2,
|
|||
|
0x01,
|
|||
|
0x20,
|
|||
|
|
|||
|
OW, // unlock the CRTC registers
|
|||
|
CRTC_ADDRESS_PORT_COLOR,
|
|||
|
0x0011,
|
|||
|
|
|||
|
QVCMD+SETMONCRTC, // Set monitor specific CRTC registers
|
|||
|
|
|||
|
QVCMD+SETMONOVFLW, // Set monitor specific overflow register
|
|||
|
|
|||
|
OW, // write 0 to Overflow_reg_1
|
|||
|
GRAPH_ADDRESS_PORT, // register (index 42)
|
|||
|
0x0042,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
CO_COLOR_WRITE,
|
|||
|
0x01,
|
|||
|
0x00,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
CO_COLOR_DATA,
|
|||
|
0x01,
|
|||
|
0x00,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
CO_COLOR_DATA,
|
|||
|
0x01,
|
|||
|
0x00,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
CO_COLOR_DATA,
|
|||
|
0x01,
|
|||
|
0x00,
|
|||
|
|
|||
|
|
|||
|
IB, // prepare atc for writing
|
|||
|
INPUT_STATUS_1_COLOR,
|
|||
|
|
|||
|
METAOUT+ATCOUT, //
|
|||
|
ATT_ADDRESS_PORT, // port
|
|||
|
VGA_NUM_ATTRIB_CONT_PORTS, // count
|
|||
|
0, // start index
|
|||
|
0x00,0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xA,0xB,0xC,0xD,0xE,0xF,
|
|||
|
0x41,0x00,0x0F,0x00,0x00,
|
|||
|
|
|||
|
|
|||
|
OWM, // program the graphics controller
|
|||
|
GRAPH_ADDRESS_PORT,
|
|||
|
VGA_NUM_GRAPH_CONT_PORTS,
|
|||
|
0x0000, 0x0001, 0x0002, 0x0003,
|
|||
|
0x0004, 0x0005, 0x0506, 0x0f07,
|
|||
|
0xFF08,
|
|||
|
|
|||
|
OB,
|
|||
|
DAC_PIXEL_MASK_PORT,
|
|||
|
0xFF,
|
|||
|
|
|||
|
IB, // prepare atc for writing
|
|||
|
INPUT_STATUS_1_COLOR,
|
|||
|
|
|||
|
OB, // turn video on.
|
|||
|
ATT_ADDRESS_PORT,
|
|||
|
VIDEO_ENABLE,
|
|||
|
|
|||
|
EOD
|
|||
|
}; // QV_640x480x8
|
|||
|
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
// Mode index 4
|
|||
|
// SVGA color graphics, 800x600x8 - 256 colors
|
|||
|
// BIOS Mode: 0x34.
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
#define QV_800x600x8_INDEX 4
|
|||
|
|
|||
|
USHORT QV_800x600x8[] = {
|
|||
|
QVNEW+SETRAM, // set aries videoram
|
|||
|
|
|||
|
OW, // unlock extended registers
|
|||
|
GRAPH_ADDRESS_PORT,
|
|||
|
0x050f,
|
|||
|
|
|||
|
OW, // start synch reset
|
|||
|
SEQ_ADDRESS_PORT,
|
|||
|
IND_SYNC_RESET + (START_SYNC_RESET_VALUE << 8),
|
|||
|
|
|||
|
OWM,
|
|||
|
SEQ_ADDRESS_PORT,
|
|||
|
4,
|
|||
|
0x0101,0xff02,0x0003,0x0e04, // program up sequencer
|
|||
|
|
|||
|
OW, // set seq memory register 4 to 0x0e
|
|||
|
SEQ_ADDRESS_PORT,
|
|||
|
0x0e04,
|
|||
|
|
|||
|
OB, // FIX VGA BUG
|
|||
|
SEQ_ADDRESS_PORT,
|
|||
|
0x07,
|
|||
|
|
|||
|
IB,
|
|||
|
MISC_OUTPUT_REG_WRITE_OFFSET,
|
|||
|
|
|||
|
OW, // END FIX VGA BUG
|
|||
|
CRTC_ADDRESS_COLOR_OFFSET,
|
|||
|
0x013f,
|
|||
|
|
|||
|
OW, // End sync reset
|
|||
|
SEQ_ADDRESS_PORT,
|
|||
|
IND_SYNC_RESET + (END_SYNC_RESET_VALUE << 8),
|
|||
|
|
|||
|
OW, // unlock extended registers
|
|||
|
GRAPH_ADDRESS_PORT,
|
|||
|
0x050f,
|
|||
|
|
|||
|
OW, // Set AVGA mode
|
|||
|
GRAPH_ADDRESS_PORT, // 3ce
|
|||
|
0x0140,
|
|||
|
|
|||
|
OW, // set pixel write mask reg to ff
|
|||
|
SEQ_ADDRESS_PORT, // 3c4
|
|||
|
0xFF02,
|
|||
|
|
|||
|
OW, // enable BitBlt engine
|
|||
|
GRAPH_ADDRESS_PORT, // and disable IRQ 9
|
|||
|
0x2810,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // enable 8BPP Aries Mode
|
|||
|
ARIES_CTL_1,
|
|||
|
0x01,
|
|||
|
0x03,
|
|||
|
|
|||
|
QVNEW+ARIES, // make sure this is an aries mode
|
|||
|
|
|||
|
QVCMD+SETMISCOUT, // set MISC OUT registers based
|
|||
|
// on monitor type
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
DAC_CMD_0,
|
|||
|
0x01,
|
|||
|
0x00,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
DAC_CMD_1,
|
|||
|
0x01,
|
|||
|
0x40,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
DAC_CMD_2,
|
|||
|
0x01,
|
|||
|
0x20,
|
|||
|
|
|||
|
OW, // unlock the CRTC registers
|
|||
|
CRTC_ADDRESS_PORT_COLOR,
|
|||
|
0x0011,
|
|||
|
|
|||
|
QVCMD+SETMONCRTC, // Set monitor specific CRTC registers
|
|||
|
|
|||
|
QVCMD+SETMONOVFLW, // Set monitor specific overflow register
|
|||
|
|
|||
|
OW, // write 0 to Overflow_reg_1
|
|||
|
GRAPH_ADDRESS_PORT, // register (index 42)
|
|||
|
0x0042,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
CO_COLOR_WRITE,
|
|||
|
0x01,
|
|||
|
0x00,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
CO_COLOR_DATA,
|
|||
|
0x01,
|
|||
|
0x00,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
CO_COLOR_DATA,
|
|||
|
0x01,
|
|||
|
0x00,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
CO_COLOR_DATA,
|
|||
|
0x01,
|
|||
|
0x00,
|
|||
|
|
|||
|
|
|||
|
IB, // prepare atc for writing
|
|||
|
INPUT_STATUS_1_COLOR,
|
|||
|
|
|||
|
METAOUT+ATCOUT, //
|
|||
|
ATT_ADDRESS_PORT, // port
|
|||
|
VGA_NUM_ATTRIB_CONT_PORTS, // count
|
|||
|
0, // start index
|
|||
|
0x00,0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xA,0xB,0xC,0xD,0xE,0xF,
|
|||
|
0x41,0x00,0x0F,0x00,0x00,
|
|||
|
|
|||
|
|
|||
|
OWM, // program the graphics controller
|
|||
|
GRAPH_ADDRESS_PORT,
|
|||
|
VGA_NUM_GRAPH_CONT_PORTS,
|
|||
|
0x0000, 0x0001, 0x0002, 0x0003,
|
|||
|
0x0004, 0x0005, 0x0506, 0x0F07,
|
|||
|
0xFF08,
|
|||
|
|
|||
|
OB,
|
|||
|
DAC_PIXEL_MASK_PORT,
|
|||
|
0xFF,
|
|||
|
|
|||
|
IB, // prepare atc for writing
|
|||
|
INPUT_STATUS_1_COLOR,
|
|||
|
|
|||
|
OB, // turn video on.
|
|||
|
ATT_ADDRESS_PORT,
|
|||
|
VIDEO_ENABLE,
|
|||
|
|
|||
|
EOD
|
|||
|
}; // QV_800x600x8
|
|||
|
|
|||
|
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
// Mode index 5
|
|||
|
// SVGA color graphics, 1024x768x8 - 256 colors
|
|||
|
// BIOS mode:0x38
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
#define QV_1024x768x8_INDEX 5
|
|||
|
|
|||
|
USHORT QV_1024x768x8[] = {
|
|||
|
QVNEW+SETRAM, // set aries videoram
|
|||
|
|
|||
|
OW, // unlock extended registers
|
|||
|
GRAPH_ADDRESS_PORT,
|
|||
|
0x050f,
|
|||
|
|
|||
|
OW, // start synch reset
|
|||
|
SEQ_ADDRESS_PORT,
|
|||
|
IND_SYNC_RESET + (START_SYNC_RESET_VALUE << 8),
|
|||
|
|
|||
|
OWM,
|
|||
|
SEQ_ADDRESS_PORT,
|
|||
|
4,
|
|||
|
0x0101,0xff02,0x0003,0x0e04, // program up sequencer
|
|||
|
|
|||
|
OW, // set seq memory register 4 to 0x0e
|
|||
|
SEQ_ADDRESS_PORT,
|
|||
|
0x0e04,
|
|||
|
|
|||
|
OB, // FIX VGA BUG
|
|||
|
SEQ_ADDRESS_PORT,
|
|||
|
0x07,
|
|||
|
|
|||
|
IB,
|
|||
|
MISC_OUTPUT_REG_WRITE_OFFSET,
|
|||
|
|
|||
|
OW, // END FIX VGA BUG
|
|||
|
CRTC_ADDRESS_COLOR_OFFSET,
|
|||
|
0x013f,
|
|||
|
|
|||
|
OW, // end synch reset
|
|||
|
SEQ_ADDRESS_PORT,
|
|||
|
IND_SYNC_RESET + (END_SYNC_RESET_VALUE << 8),
|
|||
|
|
|||
|
OW, // unlock extended registers
|
|||
|
GRAPH_ADDRESS_PORT,
|
|||
|
0x050f,
|
|||
|
|
|||
|
OW, // Set AVGA mode
|
|||
|
GRAPH_ADDRESS_PORT, // 3ce
|
|||
|
0x0140,
|
|||
|
|
|||
|
OW, // set pixel write mask reg to ff
|
|||
|
SEQ_ADDRESS_PORT, // 3c4
|
|||
|
0xFF02,
|
|||
|
|
|||
|
OW, // enable BitBlt engine
|
|||
|
GRAPH_ADDRESS_PORT, // and disable IRQ 9
|
|||
|
0x2810,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
ARIES_CTL_1, // 63ca
|
|||
|
0x01,
|
|||
|
0x03,
|
|||
|
|
|||
|
QVNEW+ARIES, // make sure this is an aries mode
|
|||
|
|
|||
|
QVCMD+SETMISCOUT, // set MISC_OUT register according
|
|||
|
// to the connected monitor.
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
DAC_CMD_0, // 83c6
|
|||
|
0x01,
|
|||
|
0x00,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
DAC_CMD_1, // 13c8
|
|||
|
0x01,
|
|||
|
0x40,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
DAC_CMD_2, // 13c9
|
|||
|
0x01,
|
|||
|
0x20,
|
|||
|
|
|||
|
OW, // unlock the CRTC registers
|
|||
|
CRTC_ADDRESS_PORT_COLOR,
|
|||
|
0x0011,
|
|||
|
|
|||
|
QVCMD+SETMONCRTC, // Set monitor specific CRTC registers
|
|||
|
|
|||
|
QVCMD+SETMONOVFLW, // Set monitor specific overflow register
|
|||
|
|
|||
|
OW, // Set the Overflow_reg_1
|
|||
|
GRAPH_ADDRESS_PORT,
|
|||
|
0x0042,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
CO_COLOR_WRITE, // 83c8
|
|||
|
0x01,
|
|||
|
0x00,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
CO_COLOR_DATA, // 83c9
|
|||
|
0x01,
|
|||
|
0x00,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
CO_COLOR_DATA, // 83c9
|
|||
|
0x01,
|
|||
|
0x00,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
CO_COLOR_DATA, // 83c9
|
|||
|
0x01,
|
|||
|
0x00,
|
|||
|
|
|||
|
|
|||
|
IB, // prepare atc for writing
|
|||
|
INPUT_STATUS_1_COLOR,
|
|||
|
|
|||
|
METAOUT+ATCOUT, //
|
|||
|
ATT_ADDRESS_PORT, // port
|
|||
|
VGA_NUM_ATTRIB_CONT_PORTS, // count
|
|||
|
0, // start index
|
|||
|
0x00,0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xA,0xB,0xC,0xD,0xE,0xF,
|
|||
|
0x41,0x00,0x0F,0x00,0x00,
|
|||
|
|
|||
|
|
|||
|
OWM, // program the graphics controller
|
|||
|
GRAPH_ADDRESS_PORT,
|
|||
|
VGA_NUM_GRAPH_CONT_PORTS,
|
|||
|
0x0000, 0x0001, 0x0002, 0x0003,
|
|||
|
0x0004, 0x0005, 0x0506, 0x0F07,
|
|||
|
0xFF08,
|
|||
|
|
|||
|
OB,
|
|||
|
DAC_PIXEL_MASK_PORT,
|
|||
|
0xFF,
|
|||
|
|
|||
|
IB, // prepare atc for writing
|
|||
|
INPUT_STATUS_1_COLOR,
|
|||
|
|
|||
|
OB, // turn video on.
|
|||
|
ATT_ADDRESS_PORT,
|
|||
|
VIDEO_ENABLE,
|
|||
|
|
|||
|
EOD
|
|||
|
}; // QV_1024x768x8
|
|||
|
|
|||
|
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
// Mode index 6
|
|||
|
// SVGA color graphics, 1280x1024x8 - 256 colors
|
|||
|
// BIOS mode:0x3A
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
#define QV_1280x1024x8_INDEX 6
|
|||
|
|
|||
|
USHORT QV_1280x1024x8[] = {
|
|||
|
QVNEW+SETRAM, // set aries videoram
|
|||
|
|
|||
|
OW, // unlock extended registers
|
|||
|
GRAPH_ADDRESS_PORT,
|
|||
|
0x050f,
|
|||
|
|
|||
|
OW, // start synch reset
|
|||
|
SEQ_ADDRESS_PORT,
|
|||
|
IND_SYNC_RESET + (START_SYNC_RESET_VALUE << 8),
|
|||
|
|
|||
|
OWM,
|
|||
|
SEQ_ADDRESS_PORT,
|
|||
|
4,
|
|||
|
0x0101,0xff02,0x0003,0x0e04, // program up sequencer
|
|||
|
|
|||
|
OW, // set seq memory register 4 to 0x0e
|
|||
|
SEQ_ADDRESS_PORT,
|
|||
|
0x0e04,
|
|||
|
|
|||
|
OB, // FIX VGA BUG
|
|||
|
SEQ_ADDRESS_PORT,
|
|||
|
0x07,
|
|||
|
|
|||
|
IB,
|
|||
|
MISC_OUTPUT_REG_WRITE_OFFSET,
|
|||
|
|
|||
|
OW, // END FIX VGA BUG
|
|||
|
CRTC_ADDRESS_COLOR_OFFSET,
|
|||
|
0x013f,
|
|||
|
|
|||
|
OW, // end synch reset
|
|||
|
SEQ_ADDRESS_PORT,
|
|||
|
IND_SYNC_RESET + (END_SYNC_RESET_VALUE << 8),
|
|||
|
|
|||
|
OW, // unlock extended registers
|
|||
|
GRAPH_ADDRESS_PORT,
|
|||
|
0x050f,
|
|||
|
|
|||
|
OW, // Set ORION mode
|
|||
|
GRAPH_ADDRESS_PORT, // 3ce
|
|||
|
0x0140,
|
|||
|
|
|||
|
OW, // set pixel write mask reg to ff
|
|||
|
SEQ_ADDRESS_PORT, // 3c4
|
|||
|
0xFF02,
|
|||
|
|
|||
|
OW, // enable BitBlt engine
|
|||
|
GRAPH_ADDRESS_PORT, // and disable IRQ 9
|
|||
|
0x2810,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
ARIES_CTL_1, // 63ca
|
|||
|
0x01,
|
|||
|
0x03,
|
|||
|
|
|||
|
QVNEW+V32, // Set board in V32 mode
|
|||
|
|
|||
|
QVCMD+SETMISCOUT, // set MISC_OUT register according
|
|||
|
// to the connected monitor.
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
DAC_CMD_0, // 83c6
|
|||
|
0x01,
|
|||
|
0x80,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
DAC_CMD_1, // 13c8
|
|||
|
0x01,
|
|||
|
0x40,
|
|||
|
|
|||
|
// VidalL 04/25/93
|
|||
|
//
|
|||
|
// IMPORTANT: DAC Command register 2 should really be included in the
|
|||
|
// ========= CRTC parameters because of the following:
|
|||
|
// Qvision 200 monitors (at 76Hz) require the use of pixel
|
|||
|
// clock 2, which means value 30. However, the 68Hz
|
|||
|
// and 60Hz timings require pixel clock 1, which means
|
|||
|
// value 20. So, when 60 and 68Hz timings are used, default
|
|||
|
// to value 20. But if a Qvision monitor is being used
|
|||
|
// (CPQ MON), then must changed this value to 30 !!!
|
|||
|
// Otherwise, the screen will NOT sync in 1280 resolution
|
|||
|
//
|
|||
|
// DAC_CMD_2 is set by the QVNEW+V32 command. It must NOT
|
|||
|
// be set later in this stream !!! Otherwise, 1280 may
|
|||
|
// may not sync on the monitor.
|
|||
|
//
|
|||
|
// VidalL 04/25/93
|
|||
|
|
|||
|
// QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
// DAC_CMD_2, // 13c9
|
|||
|
// 0x01,
|
|||
|
// 0x30 or 0x20,
|
|||
|
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
DAC_STATUS_REG, // 13c6
|
|||
|
0x01,
|
|||
|
0x08,
|
|||
|
|
|||
|
OW, // unlock the CRTC registers
|
|||
|
CRTC_ADDRESS_PORT_COLOR,
|
|||
|
0x0011,
|
|||
|
|
|||
|
QVCMD+SETMONCRTC, // Set monitor specific CRTC registers
|
|||
|
|
|||
|
QVCMD+SETMONOVFLW, // Set monitor specific overflow register
|
|||
|
|
|||
|
OW, // Set the Overflow_reg_1
|
|||
|
GRAPH_ADDRESS_PORT,
|
|||
|
0x0142,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
CO_COLOR_WRITE, // 83c8
|
|||
|
0x01,
|
|||
|
0x00,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
CO_COLOR_DATA, // 83c9
|
|||
|
0x01,
|
|||
|
0x00,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
CO_COLOR_DATA, // 83c9
|
|||
|
0x01,
|
|||
|
0x00,
|
|||
|
|
|||
|
QVCMD+BYTE2PORT, // setup DAC control registers
|
|||
|
CO_COLOR_DATA, // 83c9
|
|||
|
0x01,
|
|||
|
0x00,
|
|||
|
|
|||
|
|
|||
|
IB, // prepare atc for writing
|
|||
|
INPUT_STATUS_1_COLOR,
|
|||
|
|
|||
|
METAOUT+ATCOUT, //
|
|||
|
ATT_ADDRESS_PORT, // port
|
|||
|
VGA_NUM_ATTRIB_CONT_PORTS, // count
|
|||
|
0, // start index
|
|||
|
0x00,0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xA,0xB,0xC,0xD,0xE,0xF,
|
|||
|
0x41,0x00,0x0F,0x00,0x00,
|
|||
|
|
|||
|
|
|||
|
OWM, // program the graphics controller
|
|||
|
GRAPH_ADDRESS_PORT,
|
|||
|
VGA_NUM_GRAPH_CONT_PORTS,
|
|||
|
0x0000, 0x0001, 0x0002, 0x0003,
|
|||
|
0x0004, 0x0005, 0x0506, 0x0F07,
|
|||
|
0xFF08,
|
|||
|
|
|||
|
OB,
|
|||
|
DAC_PIXEL_MASK_PORT,
|
|||
|
0xFF,
|
|||
|
|
|||
|
IB, // prepare atc for writing
|
|||
|
INPUT_STATUS_1_COLOR,
|
|||
|
|
|||
|
OB, // turn video on.
|
|||
|
ATT_ADDRESS_PORT,
|
|||
|
VIDEO_ENABLE,
|
|||
|
|
|||
|
EOD
|
|||
|
}; // QV_1280x1024x8
|
|||
|
|
|||
|
|
|||
|
//
|
|||
|
//
|
|||
|
// The MonData is an array of bytes of the following format:
|
|||
|
// MONCLASS, ModeIndex, Validity, MiscOut, Overflow,
|
|||
|
// 25 CRT register values.
|
|||
|
//
|
|||
|
// MONCLASS = The monitor type from the structure
|
|||
|
// ModeIndex = index of the mode (look above)
|
|||
|
// Validity = 1 if this MONCLASS supports mode.
|
|||
|
// MiscOut = Misc Out register value for this mode.
|
|||
|
// Overflow = Overflow 2 register value for this mode.
|
|||
|
// The rest are register values for consecutive CRT registers.
|
|||
|
//
|
|||
|
// If the mode is INVALID_MODE then the CRT registers are
|
|||
|
// not put in the array. This will allow us to move
|
|||
|
// quickly through an array which contains many invalid modes.
|
|||
|
// We know that if the mode is VALID_MODE, we will have 25
|
|||
|
// register values after the Validity value for that mode.
|
|||
|
//
|
|||
|
// An INVALID_MODE does not necessarily mean that the
|
|||
|
// particular mode index is not support on the monitor.
|
|||
|
// It only means that for that particular mode we do not
|
|||
|
// have to program the CRTC registers.
|
|||
|
//
|
|||
|
//
|
|||
|
//$DEL$//USHORT usMonData[] = {
|
|||
|
//$DEL$// Monitor_Vga, QV_TEXT_720x400x4_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_Vga, QV_TEXT_640x350x4_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_Vga, QV_TEXT_640x480x4_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_Vga, QV_640x480x8_INDEX, VALID_MODE, 0xef, 0x08,
|
|||
|
//$DEL$// 0x5f, 0x4f, 0x50, 0x81, 0x53, 0x9f, 0x0b, 0x3e, 0x00, 0x40,
|
|||
|
//$DEL$// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0xbc, 0xdf, 0x80,
|
|||
|
//$DEL$// 0x00, 0xe5, 0x03, 0xe3, 0xff,
|
|||
|
//$DEL$// Monitor_Vga, QV_800x600x8_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_Vga, QV_1024x768x8_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_Vga, QV_1280x1024x8_INDEX, INVALID_MODE,
|
|||
|
//$DEL$//
|
|||
|
//$DEL$// Monitor_AG1024, QV_TEXT_720x400x4_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_AG1024, QV_TEXT_640x350x4_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_AG1024, QV_TEXT_640x480x4_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_AG1024, QV_640x480x8_INDEX, VALID_MODE, 0xef, 0x08,
|
|||
|
//$DEL$// 0x5f, 0x4f, 0x50, 0x81, 0x53, 0x9f, 0x0b, 0x3e, 0x00, 0x40,
|
|||
|
//$DEL$// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0xbc, 0xdf, 0x80,
|
|||
|
//$DEL$// 0x00, 0xe5, 0x03, 0xe3, 0xff,
|
|||
|
//$DEL$// Monitor_AG1024, QV_800x600x8_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_AG1024, QV_1024x768x8_INDEX, VALID_MODE, 0x2b, 0x00,
|
|||
|
//$DEL$// 0xa9, 0x7f, 0x7f, 0x0a, 0x87, 0x9f, 0x2e, 0xf5, 0x00, 0x60,
|
|||
|
//$DEL$// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xba, 0xff, 0x80,
|
|||
|
//$DEL$// 0x00, 0xff, 0x2c, 0xe3, 0xff,
|
|||
|
//$DEL$// Monitor_AG1024, QV_1280x1024x8_INDEX, INVALID_MODE,
|
|||
|
//$DEL$//
|
|||
|
//$DEL$// Monitor_Qvision, QV_TEXT_720x400x4_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_Qvision, QV_TEXT_640x350x4_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_Qvision, QV_TEXT_640x480x4_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_Qvision, QV_640x480x8_INDEX, VALID_MODE, 0xef, 0x08,
|
|||
|
//$DEL$// 0x5f, 0x4f, 0x50, 0x81, 0x53, 0x9f, 0x0b, 0x3e, 0x00, 0x40,
|
|||
|
//$DEL$// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0xbc, 0xdf, 0x80,
|
|||
|
//$DEL$// 0x00, 0xe5, 0x03, 0xe3, 0xff,
|
|||
|
//$DEL$// Monitor_Qvision, QV_800x600x8_INDEX, VALID_MODE, 0x23, 0x20,
|
|||
|
//$DEL$// 0x8b, 0x63, 0x66, 0x8b, 0x6d, 0x1d, 0xe9, 0xf0, 0x00, 0x60,
|
|||
|
//$DEL$// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0xba, 0x57, 0x80,
|
|||
|
//$DEL$// 0x00, 0x6e, 0xd1, 0xe3, 0xff,
|
|||
|
//$DEL$// Monitor_Qvision, QV_1024x768x8_INDEX, VALID_MODE, 0x2b, 0x00,
|
|||
|
//$DEL$// 0x9e, 0x7f, 0x7f, 0x81, 0x83, 0x93, 0x1e, 0xf1, 0x00, 0x60,
|
|||
|
//$DEL$// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xb3, 0xff, 0x80,
|
|||
|
//$DEL$// 0x00, 0xff, 0x1e, 0xe3, 0xff,
|
|||
|
//$DEL$// Monitor_Qvision, QV_1280x1024x8_INDEX, INVALID_MODE,
|
|||
|
//$DEL$//
|
|||
|
//$DEL$// Monitor_1280, QV_TEXT_720x400x4_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_1280, QV_TEXT_640x350x4_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_1280, QV_TEXT_640x480x4_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_1280, QV_640x480x8_INDEX, VALID_MODE, 0xf3, 0x28,
|
|||
|
//$DEL$// 0x69, 0x4f, 0x55, 0x86, 0x58, 0x80, 0x56, 0xb2, 0x00, 0x60,
|
|||
|
//$DEL$// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0xb3, 0xdf, 0x80,
|
|||
|
//$DEL$// 0x00, 0x01, 0x32, 0xe3, 0xff,
|
|||
|
//$DEL$// Monitor_1280, QV_800x600x8_INDEX, VALID_MODE, 0x23, 0x20,
|
|||
|
//$DEL$// 0x8b, 0x63, 0x66, 0x8b, 0x6d, 0x1d, 0xe9, 0xf0, 0x00, 0x60,
|
|||
|
//$DEL$// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0xba, 0x57, 0x80,
|
|||
|
//$DEL$// 0x00, 0x6e, 0xd1, 0xe3, 0xff,
|
|||
|
//$DEL$// Monitor_1280, QV_1024x768x8_INDEX, VALID_MODE, 0x2b, 0x00,
|
|||
|
//$DEL$// 0x9e, 0x7f, 0x7f, 0x81, 0x83, 0x93, 0x1e, 0xf1, 0x00, 0x60,
|
|||
|
//$DEL$// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xb3, 0xff, 0x80,
|
|||
|
//$DEL$// 0x00, 0xff, 0x1e, 0xe3, 0xff,
|
|||
|
//$DEL$// Monitor_1280, QV_1280x1024x8_INDEX, VALID_MODE, 0x27, 0xe8,
|
|||
|
//$DEL$// 0xca, 0x9f, 0x9f, 0x8d, 0xa6, 0x1a, 0x24, 0x5a, 0x00, 0x60,
|
|||
|
//$DEL$// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xb5, 0xff, 0x00,
|
|||
|
//$DEL$// 0x00, 0xff, 0x24, 0xe3, 0xff,
|
|||
|
//$DEL$//
|
|||
|
//$DEL$// Monitor_SVGA, QV_TEXT_720x400x4_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_SVGA, QV_TEXT_640x350x4_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_SVGA, QV_TEXT_640x480x4_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_SVGA, QV_640x480x8_INDEX, VALID_MODE, 0xef, 0x08,
|
|||
|
//$DEL$// 0x5f, 0x4f, 0x50, 0x81, 0x53, 0x9f, 0x0b, 0x3e, 0x00, 0x40,
|
|||
|
//$DEL$// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0xbc, 0xdf, 0x80,
|
|||
|
//$DEL$// 0x00, 0xe5, 0x03, 0xe3, 0xff,
|
|||
|
//$DEL$// Monitor_SVGA, QV_800x600x8_INDEX, VALID_MODE, 0xf3, 0x20,
|
|||
|
//$DEL$// 0x7f, 0x63, 0x64, 0x80, 0x68, 0x19, 0x73, 0xf0, 0x00, 0x60,
|
|||
|
//$DEL$// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xbc, 0x57, 0x80,
|
|||
|
//$DEL$// 0x00, 0x58, 0x72, 0xe3, 0xff,
|
|||
|
//$DEL$// Monitor_SVGA, QV_1024x768x8_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_SVGA, QV_1280x1024x8_INDEX, INVALID_MODE,
|
|||
|
//$DEL$//
|
|||
|
//$DEL$// Monitor_60Hz, QV_TEXT_720x400x4_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_60Hz, QV_TEXT_640x350x4_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_60Hz, QV_TEXT_640x480x4_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_60Hz, QV_640x480x8_INDEX, VALID_MODE, 0xef, 0x08,
|
|||
|
//$DEL$// 0x5f, 0x4f, 0x50, 0x81, 0x53, 0x9f, 0x0b, 0x3e, 0x00, 0x40,
|
|||
|
//$DEL$// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0xbc, 0xdf, 0x80,
|
|||
|
//$DEL$// 0x00, 0xe5, 0x03, 0xe3, 0xff,
|
|||
|
//$DEL$// Monitor_60Hz, QV_800x600x8_INDEX, VALID_MODE, 0xf3, 0x20,
|
|||
|
//$DEL$// 0x7f, 0x63, 0x64, 0x80, 0x68, 0x19, 0x73, 0xf0, 0x00, 0x60,
|
|||
|
//$DEL$// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xbc, 0x57, 0x80,
|
|||
|
//$DEL$// 0x00, 0x58, 0x72, 0xe3, 0xff,
|
|||
|
//$DEL$// Monitor_60Hz, QV_1024x768x8_INDEX, VALID_MODE, 0xe3, 0x00,
|
|||
|
//$DEL$// 0x9b, 0x7f, 0x7f, 0x9e, 0x87, 0x17, 0x31, 0xf5, 0x00, 0x60,
|
|||
|
//$DEL$// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xb4, 0xff, 0x80,
|
|||
|
//$DEL$// 0x00, 0xff, 0x31, 0xe3, 0xff,
|
|||
|
//$DEL$// Monitor_60Hz, QV_1280x1024x8_INDEX, VALID_MODE, 0x23, 0xc8,
|
|||
|
//$DEL$// 0xed, 0x9f, 0x9f, 0x10, 0xae, 0x90, 0x2a, 0x5a, 0x00, 0x60,
|
|||
|
//$DEL$// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xb7, 0xff, 0x00,
|
|||
|
//$DEL$// 0x00, 0xff, 0x2a, 0xe3, 0xff,
|
|||
|
//$DEL$//
|
|||
|
//$DEL$// Monitor_66Hz, QV_TEXT_720x400x4_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_66Hz, QV_TEXT_640x350x4_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_66Hz, QV_TEXT_640x480x4_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_66Hz, QV_640x480x8_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_66Hz, QV_800x600x8_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_66Hz, QV_1024x768x8_INDEX, VALID_MODE, 0x2b, 0x00,
|
|||
|
//$DEL$// 0xa9, 0x7f, 0x7f, 0x0a, 0x87, 0x9f, 0x2e, 0xf5, 0x00, 0x60,
|
|||
|
//$DEL$// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xba, 0xff, 0x80,
|
|||
|
//$DEL$// 0x00, 0xff, 0x2c, 0xe3, 0xff,
|
|||
|
//$DEL$// Monitor_66Hz, QV_1280x1024x8_INDEX, INVALID_MODE,
|
|||
|
//$DEL$//
|
|||
|
//$DEL$// Monitor_68Hz, QV_TEXT_720x400x4_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_68Hz, QV_TEXT_640x350x4_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_68Hz, QV_TEXT_640x480x4_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_68Hz, QV_640x480x8_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_68Hz, QV_800x600x8_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_68Hz, QV_1024x768x8_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_68Hz, QV_1280x1024x8_INDEX, VALID_MODE, 0x23, 0xe8,
|
|||
|
//$DEL$// 0xcf, 0x9f, 0x9f, 0x12, 0xa4, 0x19, 0x2e, 0x5a, 0x00, 0x60,
|
|||
|
//$DEL$// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xbb, 0xff, 0x00,
|
|||
|
//$DEL$// 0x00, 0xff, 0x2e, 0xe3, 0xff,
|
|||
|
//$DEL$//
|
|||
|
//$DEL$// Monitor_72Hz, QV_TEXT_720x400x4_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_72Hz, QV_TEXT_640x350x4_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_72Hz, QV_TEXT_640x480x4_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_72Hz, QV_640x480x8_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_72Hz, QV_800x600x8_INDEX, VALID_MODE, 0x23, 0x20,
|
|||
|
//$DEL$// 0x8b, 0x63, 0x66, 0x8b, 0x6d, 0x1d, 0xe9, 0xf0, 0x00, 0x60,
|
|||
|
//$DEL$// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0xba, 0x57, 0x80,
|
|||
|
//$DEL$// 0x00, 0x6e, 0xd1, 0xe3, 0xff,
|
|||
|
//$DEL$// Monitor_72Hz, QV_1024x768x8_INDEX, VALID_MODE, 0x2b, 0x00,
|
|||
|
//$DEL$// 0x9e, 0x7f, 0x7f, 0x81, 0x83, 0x93, 0x1e, 0xf1, 0x00, 0x60,
|
|||
|
//$DEL$// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xb3, 0xff, 0x80,
|
|||
|
//$DEL$// 0x00, 0xff, 0x1e, 0xe3, 0xff,
|
|||
|
//$DEL$// Monitor_72Hz, QV_1280x1024x8_INDEX, INVALID_MODE,
|
|||
|
//$DEL$//
|
|||
|
//$DEL$// Monitor_75Hz, QV_TEXT_720x400x4_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_75Hz, QV_TEXT_640x350x4_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_75Hz, QV_TEXT_640x480x4_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_75Hz, QV_640x480x8_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_75Hz, QV_800x600x8_INDEX, INVALID_MODE,
|
|||
|
//$DEL$// Monitor_75Hz, QV_1024x768x8_INDEX, VALID_MODE, 0x2b, 0x00,
|
|||
|
//$DEL$// 0x97, 0x7f, 0x7f, 0x9a, 0x82, 0x0f, 0x1f, 0xf1, 0x00, 0x60,
|
|||
|
//$DEL$// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xb4, 0xff, 0x80,
|
|||
|
//$DEL$// 0x00, 0xfe, 0x1f, 0xe3, 0x00,
|
|||
|
//$DEL$//
|
|||
|
//$DEL$// // Monitor_75Hz, QV_1280x1024x8_INDEX, INVALID_MODE,
|
|||
|
//$DEL$//
|
|||
|
//$DEL$// //
|
|||
|
//$DEL$// // $0004 ************ miked 1/26/1994 *****************************
|
|||
|
//$DEL$// //
|
|||
|
//$DEL$// //Added third party monitor support to force a 76Hz refresh rate
|
|||
|
//$DEL$// //using the same timings as the QV200 timings.
|
|||
|
//$DEL$// //
|
|||
|
//$DEL$// //Note: The MonClass entry for 75Hz was used, because it was available
|
|||
|
//$DEL$// // and much less overhead than adding a new level to the array
|
|||
|
//$DEL$// // of monitor timings; so even though the "Monitor_75Hz" is used
|
|||
|
//$DEL$// // here, it really maps to 76Hz.
|
|||
|
//$DEL$// //
|
|||
|
//$DEL$// // ***************************************************************
|
|||
|
//$DEL$// Monitor_75Hz, QV_1280x1024x8_INDEX, VALID_MODE, 0x27, 0xe8,
|
|||
|
//$DEL$// 0xca, 0x9f, 0x9f, 0x8d, 0xa6, 0x1a, 0x24, 0x5a, 0x00, 0x60,
|
|||
|
//$DEL$// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xb5, 0xff, 0x00,
|
|||
|
//$DEL$// 0x00, 0xff, 0x24, 0xe3, 0xff,
|
|||
|
//$DEL$//}; // usMonData
|
|||
|
|
|||
|
//
|
|||
|
// $0005 - MikeD - 02/08/94
|
|||
|
// Daytona - new monitor data structure array
|
|||
|
//
|
|||
|
|
|||
|
MONTYPE MonData[] = {
|
|||
|
//
|
|||
|
// Monitor_Vga
|
|||
|
//
|
|||
|
QV_TEXT_720x400x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_TEXT_640x350x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_TEXT_640x480x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_640x480x8_INDEX, VALID_MODE, 0xef, 0x08,
|
|||
|
0x5f, 0x4f, 0x50, 0x81, 0x53, 0x9f, 0x0b, 0x3e, 0x00, 0x40,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0xbc, 0xdf, 0x80,
|
|||
|
0x00, 0xe5, 0x03, 0xe3, 0xff,
|
|||
|
QV_800x600x8_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_1024x768x8_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_1280x1024x8_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
|
|||
|
//
|
|||
|
// Monitor_AG1024
|
|||
|
//
|
|||
|
QV_TEXT_720x400x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_TEXT_640x350x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_TEXT_640x480x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_640x480x8_INDEX, VALID_MODE, 0xef, 0x08,
|
|||
|
0x5f, 0x4f, 0x50, 0x81, 0x53, 0x9f, 0x0b, 0x3e, 0x00, 0x40,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0xbc, 0xdf, 0x80,
|
|||
|
0x00, 0xe5, 0x03, 0xe3, 0xff,
|
|||
|
QV_800x600x8_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_1024x768x8_INDEX, VALID_MODE, 0x2b, 0x00,
|
|||
|
0xa9, 0x7f, 0x7f, 0x0a, 0x87, 0x9f, 0x2e, 0xf5, 0x00, 0x60,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xba, 0xff, 0x80,
|
|||
|
0x00, 0xff, 0x2c, 0xe3, 0xff,
|
|||
|
QV_1280x1024x8_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
|
|||
|
//
|
|||
|
// Monitor_Qvision
|
|||
|
//
|
|||
|
QV_TEXT_720x400x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_TEXT_640x350x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_TEXT_640x480x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_640x480x8_INDEX, VALID_MODE, 0xef, 0x08,
|
|||
|
0x5f, 0x4f, 0x50, 0x81, 0x53, 0x9f, 0x0b, 0x3e, 0x00, 0x40,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0xbc, 0xdf, 0x80,
|
|||
|
0x00, 0xe5, 0x03, 0xe3, 0xff,
|
|||
|
QV_800x600x8_INDEX, VALID_MODE, 0x23, 0x20,
|
|||
|
0x8b, 0x63, 0x66, 0x8b, 0x6d, 0x1d, 0xe9, 0xf0, 0x00, 0x60,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0xba, 0x57, 0x80,
|
|||
|
0x00, 0x6e, 0xd1, 0xe3, 0xff,
|
|||
|
QV_1024x768x8_INDEX, VALID_MODE, 0x2b, 0x00,
|
|||
|
0x9e, 0x7f, 0x7f, 0x81, 0x83, 0x93, 0x1e, 0xf1, 0x00, 0x60,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xb3, 0xff, 0x80,
|
|||
|
0x00, 0xff, 0x1e, 0xe3, 0xff,
|
|||
|
QV_1280x1024x8_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
|
|||
|
//
|
|||
|
// Monitor_1280
|
|||
|
//
|
|||
|
QV_TEXT_720x400x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_TEXT_640x350x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_TEXT_640x480x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_640x480x8_INDEX, VALID_MODE, 0xf3, 0x28,
|
|||
|
0x69, 0x4f, 0x55, 0x86, 0x58, 0x80, 0x56, 0xb2, 0x00, 0x60,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0xb3, 0xdf, 0x80,
|
|||
|
0x00, 0x01, 0x32, 0xe3, 0xff,
|
|||
|
QV_800x600x8_INDEX, VALID_MODE, 0x23, 0x20,
|
|||
|
0x8b, 0x63, 0x66, 0x8b, 0x6d, 0x1d, 0xe9, 0xf0, 0x00, 0x60,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0xba, 0x57, 0x80,
|
|||
|
0x00, 0x6e, 0xd1, 0xe3, 0xff,
|
|||
|
QV_1024x768x8_INDEX, VALID_MODE, 0x2b, 0x00,
|
|||
|
0x9e, 0x7f, 0x7f, 0x81, 0x83, 0x93, 0x1e, 0xf1, 0x00, 0x60,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xb3, 0xff, 0x80,
|
|||
|
0x00, 0xff, 0x1e, 0xe3, 0xff,
|
|||
|
QV_1280x1024x8_INDEX, VALID_MODE, 0x27, 0xe8,
|
|||
|
0xca, 0x9f, 0x9f, 0x8d, 0xa6, 0x1a, 0x24, 0x5a, 0x00, 0x60,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xb5, 0xff, 0x00,
|
|||
|
0x00, 0xff, 0x24, 0xe3, 0xff,
|
|||
|
|
|||
|
//
|
|||
|
// Monitor_SVGA
|
|||
|
//
|
|||
|
QV_TEXT_720x400x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_TEXT_640x350x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_TEXT_640x480x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_640x480x8_INDEX, VALID_MODE, 0xef, 0x08,
|
|||
|
0x5f, 0x4f, 0x50, 0x81, 0x53, 0x9f, 0x0b, 0x3e, 0x00, 0x40,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0xbc, 0xdf, 0x80,
|
|||
|
0x00, 0xe5, 0x03, 0xe3, 0xff,
|
|||
|
QV_800x600x8_INDEX, VALID_MODE, 0xf3, 0x20,
|
|||
|
0x7f, 0x63, 0x64, 0x80, 0x68, 0x19, 0x73, 0xf0, 0x00, 0x60,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xbc, 0x57, 0x80,
|
|||
|
0x00, 0x58, 0x72, 0xe3, 0xff,
|
|||
|
QV_1024x768x8_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_1280x1024x8_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
|
|||
|
//
|
|||
|
// Monitor_60Hz
|
|||
|
//
|
|||
|
QV_TEXT_720x400x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_TEXT_640x350x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_TEXT_640x480x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_640x480x8_INDEX, VALID_MODE, 0xef, 0x08,
|
|||
|
0x5f, 0x4f, 0x50, 0x81, 0x53, 0x9f, 0x0b, 0x3e, 0x00, 0x40,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0xbc, 0xdf, 0x80,
|
|||
|
0x00, 0xe5, 0x03, 0xe3, 0xff,
|
|||
|
QV_800x600x8_INDEX, VALID_MODE, 0xf3, 0x20,
|
|||
|
0x7f, 0x63, 0x64, 0x80, 0x68, 0x19, 0x73, 0xf0, 0x00, 0x60,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xbc, 0x57, 0x80,
|
|||
|
0x00, 0x58, 0x72, 0xe3, 0xff,
|
|||
|
QV_1024x768x8_INDEX, VALID_MODE, 0xe3, 0x00,
|
|||
|
0x9b, 0x7f, 0x7f, 0x9e, 0x87, 0x17, 0x31, 0xf5, 0x00, 0x60,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xb4, 0xff, 0x80,
|
|||
|
0x00, 0xff, 0x31, 0xe3, 0xff,
|
|||
|
QV_1280x1024x8_INDEX, VALID_MODE, 0x23, 0xc8,
|
|||
|
0xed, 0x9f, 0x9f, 0x10, 0xae, 0x90, 0x2a, 0x5a, 0x00, 0x60,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xb7, 0xff, 0x00,
|
|||
|
0x00, 0xff, 0x2a, 0xe3, 0xff,
|
|||
|
|
|||
|
//
|
|||
|
// Monitor_66Hz
|
|||
|
//
|
|||
|
QV_TEXT_720x400x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_TEXT_640x350x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_TEXT_640x480x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_640x480x8_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_800x600x8_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_1024x768x8_INDEX, VALID_MODE, 0x2b, 0x00,
|
|||
|
0xa9, 0x7f, 0x7f, 0x0a, 0x87, 0x9f, 0x2e, 0xf5, 0x00, 0x60,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xba, 0xff, 0x80,
|
|||
|
0x00, 0xff, 0x2c, 0xe3, 0xff,
|
|||
|
QV_1280x1024x8_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
|
|||
|
//
|
|||
|
// Monitor_68Hz
|
|||
|
//
|
|||
|
QV_TEXT_720x400x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_TEXT_640x350x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_TEXT_640x480x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_640x480x8_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_800x600x8_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_1024x768x8_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_1280x1024x8_INDEX, VALID_MODE, 0x23, 0xe8,
|
|||
|
0xcf, 0x9f, 0x9f, 0x12, 0xa4, 0x19, 0x2e, 0x5a, 0x00, 0x60,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xbb, 0xff, 0x00,
|
|||
|
0x00, 0xff, 0x2e, 0xe3, 0xff,
|
|||
|
|
|||
|
//
|
|||
|
// Monitor_72Hz
|
|||
|
//
|
|||
|
QV_TEXT_720x400x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_TEXT_640x350x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_TEXT_640x480x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_640x480x8_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_800x600x8_INDEX, VALID_MODE, 0x23, 0x20,
|
|||
|
0x8b, 0x63, 0x66, 0x8b, 0x6d, 0x1d, 0xe9, 0xf0, 0x00, 0x60,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0xba, 0x57, 0x80,
|
|||
|
0x00, 0x6e, 0xd1, 0xe3, 0xff,
|
|||
|
QV_1024x768x8_INDEX, VALID_MODE, 0x2b, 0x00,
|
|||
|
0x9e, 0x7f, 0x7f, 0x81, 0x83, 0x93, 0x1e, 0xf1, 0x00, 0x60,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xb3, 0xff, 0x80,
|
|||
|
0x00, 0xff, 0x1e, 0xe3, 0xff,
|
|||
|
QV_1280x1024x8_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
|
|||
|
//
|
|||
|
// Monitor_75Hz
|
|||
|
//
|
|||
|
QV_TEXT_720x400x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_TEXT_640x350x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_TEXT_640x480x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_640x480x8_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_800x600x8_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_1024x768x8_INDEX, VALID_MODE, 0x2b, 0x00,
|
|||
|
0x97, 0x7f, 0x7f, 0x9a, 0x82, 0x0f, 0x1f, 0xf1, 0x00, 0x60,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xb4, 0xff, 0x80,
|
|||
|
0x00, 0xfe, 0x1f, 0xe3, 0x00,
|
|||
|
QV_1280x1024x8_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
|
|||
|
//
|
|||
|
// Monitor_76Hz
|
|||
|
//
|
|||
|
QV_TEXT_720x400x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_TEXT_640x350x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_TEXT_640x480x4_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_640x480x8_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_800x600x8_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_1024x768x8_INDEX, INVALID_MODE, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|||
|
QV_1280x1024x8_INDEX, VALID_MODE, 0x27, 0xe8,
|
|||
|
0xca, 0x9f, 0x9f, 0x8d, 0xa6, 0x1a, 0x24, 0x5a, 0x00, 0x60,
|
|||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xb5, 0xff, 0x00,
|
|||
|
0x00, 0xff, 0x24, 0xe3, 0xff,
|
|||
|
}; // MonData
|
|||
|
|
|||
|
//
|
|||
|
// This array contains a set of boolean values with the
|
|||
|
// following properties.
|
|||
|
// If a monitor supports a specified mode, the value
|
|||
|
// is TRUE. If the monitor does not support the mode,
|
|||
|
// the value is FALSE.
|
|||
|
// +++++++++++++++++++++++++++++++++++++
|
|||
|
// ++++++++++++++ IMPORTANT ++++++++++++
|
|||
|
// +++++++++++++++++++++++++++++++++++++
|
|||
|
// The NUM_VIDEO_MODES value must be hardcoded because
|
|||
|
// a non constant value cannot be the index of an
|
|||
|
// array.
|
|||
|
// This value must be changed when new modes are added.
|
|||
|
// Currently, the QVISION BIOS does not support 800x600x8 so
|
|||
|
// we set these modes to be invalid if INT10 is chosen
|
|||
|
// as the initialization avenue.
|
|||
|
//
|
|||
|
#define NUM_VIDEO_MODES 7 // must be hardcoded for the fValidMode array.
|
|||
|
|
|||
|
BOOLEAN fValidMode[NUM_MONITOR_CLASSES][NUM_VIDEO_MODES] = {
|
|||
|
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
// Monitor_Vga
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
TRUE, // text 640x350 (EGA)
|
|||
|
TRUE, // text 640x480 (VGA)
|
|||
|
TRUE, // text 720x400 (VGA)
|
|||
|
TRUE, // 640x480x8
|
|||
|
#ifdef INIT_INT10 // The Qvision hardware does not
|
|||
|
FALSE, // support 800x600x8 in BIOS
|
|||
|
#else // so we always set this mode
|
|||
|
FALSE, // to be invalid. (for now)
|
|||
|
#endif
|
|||
|
FALSE, // 1024x768x8
|
|||
|
FALSE, // 1280x1024x8
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
// Monitor_AG1024
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
TRUE, // text 640x350 (EGA)
|
|||
|
TRUE, // text 640x480 (VGA)
|
|||
|
TRUE, // text 720x400 (VGA)
|
|||
|
TRUE, // 640x480x8
|
|||
|
#ifdef INIT_INT10 // The Qvision hardware does not
|
|||
|
FALSE, // support 800x600x8 in BIOS
|
|||
|
#else // so we always set this mode
|
|||
|
FALSE, // to be invalid. (for now)
|
|||
|
#endif
|
|||
|
TRUE, // 1024x768x8
|
|||
|
FALSE, // 1280x1024x8
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
// Monitor_Qvision
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
TRUE, // text 640x350 (EGA)
|
|||
|
TRUE, // text 640x480 (VGA)
|
|||
|
TRUE, // text 720x400 (VGA)
|
|||
|
TRUE, // 640x480x8
|
|||
|
#ifdef INIT_INT10 // The Qvision hardware does not
|
|||
|
FALSE, // support 800x600x8 in BIOS
|
|||
|
#else // so we always set this mode
|
|||
|
TRUE, // to be invalid. (for now)
|
|||
|
#endif
|
|||
|
TRUE, // 1024x768x8
|
|||
|
FALSE, // 1280x1024x8
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
// Monitor_1280
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
TRUE, // text 640x350 (EGA)
|
|||
|
TRUE, // text 640x480 (VGA)
|
|||
|
TRUE, // text 720x400 (VGA)
|
|||
|
TRUE, // 640x480x8
|
|||
|
#ifdef INIT_INT10 // The Qvision hardware does not
|
|||
|
FALSE, // support 800x600x8 in BIOS
|
|||
|
#else // so we always set this mode
|
|||
|
TRUE, // to be invalid. (for now)
|
|||
|
#endif
|
|||
|
TRUE, // 1024x768x8
|
|||
|
TRUE, // 1280x1024x8
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
// Monitor_SVGA
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
TRUE, // text 640x350 (EGA)
|
|||
|
TRUE, // text 640x480 (VGA)
|
|||
|
TRUE, // text 720x400 (VGA)
|
|||
|
TRUE, // 640x480x8
|
|||
|
#ifdef INIT_INT10 // The Qvision hardware does not
|
|||
|
FALSE, // support 800x600x8 in BIOS
|
|||
|
#else // so we always set this mode
|
|||
|
TRUE, // to be invalid. (for now)
|
|||
|
#endif
|
|||
|
FALSE, // 1024x768x8
|
|||
|
FALSE, // 1280x1024x8
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
// Monitor_60Hz
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
TRUE, // text 640x350 (EGA)
|
|||
|
TRUE, // text 640x480 (VGA)
|
|||
|
TRUE, // text 720x400 (VGA)
|
|||
|
TRUE, // 640x480x8
|
|||
|
#ifdef INIT_INT10 // The Qvision hardware does not
|
|||
|
FALSE, // support 800x600x8 in BIOS
|
|||
|
#else // so we always set this mode
|
|||
|
TRUE, // to be invalid. (for now)
|
|||
|
#endif
|
|||
|
TRUE, // 1024x768x8
|
|||
|
TRUE, // 1280x1024x8
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
// Monitor_66Hz
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
TRUE, // text 640x350 (EGA)
|
|||
|
TRUE, // text 640x480 (VGA)
|
|||
|
TRUE, // text 720x400 (VGA)
|
|||
|
FALSE, // 640x480x8
|
|||
|
#ifdef INIT_INT10 // The Qvision hardware does not
|
|||
|
FALSE, // support 800x600x8 in BIOS
|
|||
|
#else // so we always set this mode
|
|||
|
FALSE, // to be invalid. (for now)
|
|||
|
#endif
|
|||
|
TRUE, // 1024x768x8
|
|||
|
FALSE, // 1280x1024x8
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
// Monitor_68Hz
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
TRUE, // text 640x350 (EGA)
|
|||
|
TRUE, // text 640x480 (VGA)
|
|||
|
TRUE, // text 720x400 (VGA)
|
|||
|
FALSE, // 640x480x8
|
|||
|
#ifdef INIT_INT10 // The Qvision hardware does not
|
|||
|
FALSE, // support 800x600x8 in BIOS
|
|||
|
#else // so we always set this mode
|
|||
|
FALSE, // to be invalid. (for now)
|
|||
|
#endif
|
|||
|
FALSE, // 1024x768x8
|
|||
|
TRUE, // 1280x1024x8
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
// Monitor_72Hz
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
TRUE, // text 640x350 (EGA)
|
|||
|
TRUE, // text 640x480 (VGA)
|
|||
|
TRUE, // text 720x400 (VGA)
|
|||
|
FALSE, // 640x480x8
|
|||
|
#ifdef INIT_INT10 // The Qvision hardware does not
|
|||
|
FALSE, // support 800x600x8 in BIOS
|
|||
|
#else // so we always set this mode
|
|||
|
TRUE, // to be invalid. (for now)
|
|||
|
#endif
|
|||
|
TRUE, // 1024x768x8
|
|||
|
FALSE, // 1280x1024x8
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
// Monitor_75Hz
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
TRUE, // text 640x350 (EGA)
|
|||
|
TRUE, // text 640x480 (VGA)
|
|||
|
TRUE, // text 720x400 (VGA)
|
|||
|
FALSE, // 640x480x8
|
|||
|
#ifdef INIT_INT10 // The Qvision hardware does not
|
|||
|
FALSE, // support 800x600x8 in BIOS
|
|||
|
#else // so we always set this mode
|
|||
|
FALSE, // to be invalid. (for now)
|
|||
|
#endif
|
|||
|
TRUE, // 1024x768x8
|
|||
|
FALSE, // 1280x1024x8
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
// Monitor_76Hz
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
TRUE, // text 640x350 (EGA)
|
|||
|
TRUE, // text 640x480 (VGA)
|
|||
|
TRUE, // text 720x400 (VGA)
|
|||
|
FALSE, // 640x480x8
|
|||
|
#ifdef INIT_INT10 // The Qvision hardware does not
|
|||
|
FALSE, // support 800x600x8 in BIOS
|
|||
|
#else // so we always set this mode
|
|||
|
FALSE, // to be invalid. (for now)
|
|||
|
#endif
|
|||
|
FALSE, // 1024x768x8
|
|||
|
TRUE // 1280x1024x8
|
|||
|
|
|||
|
}; // fValidMode
|
|||
|
|
|||
|
|