home *** CD-ROM | disk | FTP | other *** search
- //
- // Copyright (c) 1995 SPEA Software AG All Rights Reserved
- //
- //# @(#)v7i3t90.sdd 3.00 95/02/01 SPEA (BIOS 1.01)
- //
- // v7i3t90.sdd - SVPMI File for V7-MIRAGE P-32
- //
- // 1280x1024x4 79.8 / 75 kHz / Hz
- // 1152x864x8 55.4 / 60 kHz / Hz
- // 1024x768x8 60.3 / 75 kHz / Hz
- // 1024x768x4 60.3 / 75 kHz / Hz
- // 800x600x16 46.8 / 75 kHz / Hz
- // 800x600x8 46.9 / 75 kHz / Hz
- // 800x600x4 46.9 / 75 kHz / Hz
- // 640x480x16 37.3 / 75 kHz / Hz
- // 640x480x8 37.7 / 75 kHz / Hz
- // 640x400x8 31.4 / 70 kHz / Hz
-
- [VERSION]
- 1.0;
-
- [ACTIVE_ADAPTER]
- V7-MIRAGE P-32 (90 kHz Multiscan);
-
- [ADAPTER]
- V7-MIRAGE P-32 (90 kHz Multiscan);
-
- [ADAPTER_INFO]
- BoardType = VGA;
- SaveSize = 100;
- PaletteSize = 768;
- //# MemorySize = 1024;
-
- // ***********************************
- // 0x004F
- // ***********************************
- [MODE]
- 0x004F;
- [MODEINFO]
- ModeAttributes = 0x1b;
- WinAAttributes = 7;
- WinBAttributes = 0;
- WinAGranularity = 64;
- WinBGranularity = 64;
- WinASize = 64;
- WinBSize = 64;
- WinABase = 0xa0000;
- WinBBase = 0xa0000;
- BytesPerScanline = 1024;
- XResolution = 1280;
- YResolution = 1024;
- XCharSize = 8;
- YCharSize = 16;
- Colormodel = 1;
- BitsPerPixel = 4;
- NumberOfColors = 16;
- BitsRGB = 6;
- NumberOfBanks = 1;
- BankSize = 0;
- MemoryModel = 0x4;
- NumberOfImagePages = 0;
-
- [SETMODE]
- outb(0x3d4,0x38);outb(0x3d5,0x48); // unlock S3 registers (30..3c);
- outb(0x3d4,0x39);outb(0x3d5,0xa5); // unlock system + extension (40..5f);
- outb(0x3d4,0x35);outb(0x3d5,0x00); // unlock timing regs;
- outb(0x3d4,0x11);outb(0x3d5,0x00); // unlock timing regs;
-
- r0 = 0xce; r1 = 0x9f; r2 = 0x9f; r3 = 0x11; r4 = 0xa5;
- r5 = 0x17; r6 = 0x29; r7 = 0x52; r8 = 0x00; r9 = 0x40;
- r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
- r15 = 0x00; r16 = 0x01; r17 = 0x84; r18 = 0xff; r19 = 0x80;
- r20 = 0x00; r21 = 0x00; r22 = 0x00; r23 = 0xe3; r24 = 0xff;
- boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
-
- outb(0x3d4,0x3b);outb(0x3d5,0xc7);
- outb(0x3d4,0x42);outb(0x3d5,0xdb);
- outb(0x3d4,0x54);outb(0x3d5,0x08);
- outb(0x3d4,0x5d);outb(0x3d5,0x00);
- outb(0x3d4,0x5e);outb(0x3d5,0x15);
- outb(0x3d4,0x60);outb(0x3d5,0xff);
- outb(0x3d4,0x67);outb(0x3d5,0x10);
-
-
- // TRIO64 internal clock synthesis
- // M/N value: 32d, DCLK
-
- outb(0x3c4,0x08); outb(0x3c5,0x06);
- outb(0x3c4,0x15); outb(0x3c5,0x00);
- outb(0x3c4,0x12); outb(0x3c5,0x03);
- outb(0x3c4,0x13); outb(0x3c5,0x2d);
- outb(0x3c4,0x18); outb(0x3c5,0xc0);
- outb(0x3c4,0x15); outb(0x3c5,0x12);
- // Bit 2&3 set enable loading of DCLK parameters
- outb(0x3c2,0x2f);
- outb(0x3c4,0x08); outb(0x3c5,0x00);
-
- //# [SPEA]
- //# SerialWord = 0x32d;
- //# DacMode = 0x5;
- //# Cr42 = 0x8;
-
- // ***********************************
- // 0x004E
- // ***********************************
- [MODE]
- 0x004E;
- [MODEINFO]
- ModeAttributes = 0x1b;
- WinAAttributes = 7;
- WinBAttributes = 0;
- WinAGranularity = 64;
- WinBGranularity = 64;
- WinASize = 64;
- WinBSize = 64;
- WinABase = 0xa0000;
- WinBBase = 0xa0000;
- BytesPerScanline = 1152;
- XResolution = 1152;
- YResolution = 864;
- XCharSize = 8;
- YCharSize = 16;
- Colormodel = 1;
- BitsPerPixel = 8;
- NumberOfColors = 256;
- BitsRGB = 6;
- NumberOfBanks = 1;
- BankSize = 0;
- MemoryModel = 0x4;
- NumberOfImagePages = 0;
-
- [SETMODE]
- outb(0x3d4,0x38);outb(0x3d5,0x48); // unlock S3 registers (30..3c);
- outb(0x3d4,0x39);outb(0x3d5,0xa5); // unlock system + extension (40..5f);
- outb(0x3d4,0x35);outb(0x3d5,0x00); // unlock timing regs;
- outb(0x3d4,0x11);outb(0x3d5,0x00); // unlock timing regs;
-
- r0 = 0xb1; r1 = 0x8f; r2 = 0x90; r3 = 0x14; r4 = 0x93;
- r5 = 0x9f; r6 = 0x9a; r7 = 0xff; r8 = 0x00; r9 = 0x60;
- r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
- r15 = 0x00; r16 = 0x70; r17 = 0x83; r18 = 0x5f; r19 = 0x90;
- r20 = 0x60; r21 = 0x6f; r22 = 0x8d; r23 = 0xeb; r24 = 0xff;
- boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
-
- outb(0x3d4,0x3b);outb(0x3d5,0xaa);
- outb(0x3d4,0x42);outb(0x3d5,0x92);
- outb(0x3d4,0x54);outb(0x3d5,0x28);
- outb(0x3d4,0x5d);outb(0x3d5,0x00);
- outb(0x3d4,0x5e);outb(0x3d5,0x00);
- outb(0x3d4,0x60);outb(0x3d5,0xff);
- outb(0x3d4,0x67);outb(0x3d5,0x00);
-
-
- // TRIO64 internal clock synthesis
- // M/N value: 222b, DCLK
-
- outb(0x3c4,0x08); outb(0x3c5,0x06);
- outb(0x3c4,0x15); outb(0x3c5,0x00);
- outb(0x3c4,0x12); outb(0x3c5,0x22);
- outb(0x3c4,0x13); outb(0x3c5,0x2b);
- outb(0x3c4,0x18); outb(0x3c5,0x40);
- outb(0x3c4,0x15); outb(0x3c5,0x02);
- // Bit 2&3 set enable loading of DCLK parameters
- outb(0x3c2,0xef);
- outb(0x3c4,0x08); outb(0x3c5,0x00);
-
- //# [SPEA]
- //# SerialWord = 0x222b;
- //# DacMode = 0x0;
- //# Cr42 = 0xa;
-
- // ***********************************
- // 0x004D
- // ***********************************
- [MODE]
- 0x004D;
- [MODEINFO]
- ModeAttributes = 0x1b;
- WinAAttributes = 7;
- WinBAttributes = 0;
- WinAGranularity = 64;
- WinBGranularity = 64;
- WinASize = 64;
- WinBSize = 64;
- WinABase = 0xa0000;
- WinBBase = 0xa0000;
- BytesPerScanline = 1024;
- XResolution = 1024;
- YResolution = 768;
- XCharSize = 8;
- YCharSize = 16;
- Colormodel = 1;
- BitsPerPixel = 8;
- NumberOfColors = 256;
- BitsRGB = 6;
- NumberOfBanks = 1;
- BankSize = 0;
- MemoryModel = 0x4;
- NumberOfImagePages = 0;
-
- [SETMODE]
- outb(0x3d4,0x38);outb(0x3d5,0x48); // unlock S3 registers (30..3c);
- outb(0x3d4,0x39);outb(0x3d5,0xa5); // unlock system + extension (40..5f);
- outb(0x3d4,0x35);outb(0x3d5,0x00); // unlock timing regs;
- outb(0x3d4,0x11);outb(0x3d5,0x00); // unlock timing regs;
-
- r0 = 0xa5; r1 = 0x7f; r2 = 0x80; r3 = 0x88; r4 = 0x86;
- r5 = 0x18; r6 = 0x24; r7 = 0xf1; r8 = 0x00; r9 = 0x60;
- r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
- r15 = 0x00; r16 = 0xff; r17 = 0x82; r18 = 0xff; r19 = 0x80;
- r20 = 0x00; r21 = 0xff; r22 = 0x24; r23 = 0xe3; r24 = 0xff;
- boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
-
- outb(0x3d4,0x3b);outb(0x3d5,0xa0);
- outb(0x3d4,0x42);outb(0x3d5,0x92);
- outb(0x3d4,0x54);outb(0x3d5,0x18);
- outb(0x3d4,0x5d);outb(0x3d5,0x00);
- outb(0x3d4,0x5e);outb(0x3d5,0x00);
- outb(0x3d4,0x60);outb(0x3d5,0xff);
- outb(0x3d4,0x67);outb(0x3d5,0x10);
-
-
- // TRIO64 internal clock synthesis
- // M/N value: 212c, DCLK
-
- outb(0x3c4,0x08); outb(0x3c5,0x06);
- outb(0x3c4,0x15); outb(0x3c5,0x00);
- outb(0x3c4,0x12); outb(0x3c5,0x21);
- outb(0x3c4,0x13); outb(0x3c5,0x2c);
- outb(0x3c4,0x18); outb(0x3c5,0xc0);
- outb(0x3c4,0x15); outb(0x3c5,0x12);
- // Bit 2&3 set enable loading of DCLK parameters
- outb(0x3c2,0x2f);
- outb(0x3c4,0x08); outb(0x3c5,0x00);
-
- //# [SPEA]
- //# SerialWord = 0x212c;
- //# DacMode = 0x0;
- //# Cr42 = 0xa;
-
- // ***********************************
- // 0x006D
- // ***********************************
- [MODE]
- 0x006D;
- [MODEINFO]
- ModeAttributes = 0x1b;
- WinAAttributes = 7;
- WinBAttributes = 0;
- WinAGranularity = 64;
- WinBGranularity = 64;
- WinASize = 64;
- WinBSize = 64;
- WinABase = 0xa0000;
- WinBBase = 0xa0000;
- BytesPerScanline = 1024;
- XResolution = 1024;
- YResolution = 768;
- XCharSize = 8;
- YCharSize = 16;
- Colormodel = 1;
- BitsPerPixel = 8;
- NumberOfColors = 256;
- BitsRGB = 6;
- NumberOfBanks = 1;
- BankSize = 0;
- MemoryModel = 0x4;
- NumberOfImagePages = 0;
-
- [SETMODE]
- outb(0x3d4,0x38);outb(0x3d5,0x48); // unlock S3 registers (30..3c);
- outb(0x3d4,0x39);outb(0x3d5,0xa5); // unlock system + extension (40..5f);
- outb(0x3d4,0x35);outb(0x3d5,0x00); // unlock timing regs;
- outb(0x3d4,0x11);outb(0x3d5,0x00); // unlock timing regs;
-
- r0 = 0xa5; r1 = 0x7f; r2 = 0x80; r3 = 0x88; r4 = 0x86;
- r5 = 0x18; r6 = 0x24; r7 = 0xf1; r8 = 0x00; r9 = 0x60;
- r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
- r15 = 0x00; r16 = 0xff; r17 = 0x82; r18 = 0xff; r19 = 0x80;
- r20 = 0x00; r21 = 0xff; r22 = 0x24; r23 = 0xe3; r24 = 0xff;
- boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
-
- outb(0x3d4,0x3b);outb(0x3d5,0xa0);
- outb(0x3d4,0x42);outb(0x3d5,0x92);
- outb(0x3d4,0x54);outb(0x3d5,0x18);
- outb(0x3d4,0x5d);outb(0x3d5,0x00);
- outb(0x3d4,0x5e);outb(0x3d5,0x00);
- outb(0x3d4,0x60);outb(0x3d5,0xff);
- outb(0x3d4,0x67);outb(0x3d5,0x10);
-
-
- // TRIO64 internal clock synthesis
- // M/N value: 212c, DCLK
-
- outb(0x3c4,0x08); outb(0x3c5,0x06);
- outb(0x3c4,0x15); outb(0x3c5,0x00);
- outb(0x3c4,0x12); outb(0x3c5,0x21);
- outb(0x3c4,0x13); outb(0x3c5,0x2c);
- outb(0x3c4,0x18); outb(0x3c5,0xc0);
- outb(0x3c4,0x15); outb(0x3c5,0x12);
- // Bit 2&3 set enable loading of DCLK parameters
- outb(0x3c2,0x2f);
- outb(0x3c4,0x08); outb(0x3c5,0x00);
-
- //# [SPEA]
- //# SerialWord = 0x212c;
- //# DacMode = 0x0;
- //# Cr42 = 0xa;
-
- // ***********************************
- // 0x004C
- // ***********************************
- [MODE]
- 0x004C;
- [MODEINFO]
- ModeAttributes = 0x1b;
- WinAAttributes = 7;
- WinBAttributes = 0;
- WinAGranularity = 64;
- WinBGranularity = 64;
- WinASize = 64;
- WinBSize = 64;
- WinABase = 0xa0000;
- WinBBase = 0xa0000;
- BytesPerScanline = 1024;
- XResolution = 1024;
- YResolution = 768;
- XCharSize = 8;
- YCharSize = 16;
- Colormodel = 1;
- BitsPerPixel = 4;
- NumberOfColors = 16;
- BitsRGB = 6;
- NumberOfBanks = 1;
- BankSize = 0;
- MemoryModel = 0x4;
- NumberOfImagePages = 0;
-
- [SETMODE]
- outb(0x3d4,0x38);outb(0x3d5,0x48); // unlock S3 registers (30..3c);
- outb(0x3d4,0x39);outb(0x3d5,0xa5); // unlock system + extension (40..5f);
- outb(0x3d4,0x35);outb(0x3d5,0x00); // unlock timing regs;
- outb(0x3d4,0x11);outb(0x3d5,0x00); // unlock timing regs;
-
- r0 = 0xa2; r1 = 0x7f; r2 = 0x7f; r3 = 0x83; r4 = 0x84;
- r5 = 0x90; r6 = 0x1f; r7 = 0xfd; r8 = 0x00; r9 = 0x60;
- r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
- r15 = 0x00; r16 = 0x01; r17 = 0x84; r18 = 0xff; r19 = 0x80;
- r20 = 0x00; r21 = 0x00; r22 = 0x00; r23 = 0xeb; r24 = 0xff;
- boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
-
- outb(0x3d4,0x3b);outb(0x3d5,0x9b);
- outb(0x3d4,0x42);outb(0x3d5,0x92);
- outb(0x3d4,0x54);outb(0x3d5,0x08);
- outb(0x3d4,0x5d);outb(0x3d5,0x00);
- outb(0x3d4,0x5e);outb(0x3d5,0x00);
- outb(0x3d4,0x60);outb(0x3d5,0xff);
- outb(0x3d4,0x67);outb(0x3d5,0x00);
-
-
- // TRIO64 internal clock synthesis
- // M/N value: 222b, DCLK
-
- outb(0x3c4,0x08); outb(0x3c5,0x06);
- outb(0x3c4,0x15); outb(0x3c5,0x00);
- outb(0x3c4,0x12); outb(0x3c5,0x22);
- outb(0x3c4,0x13); outb(0x3c5,0x2b);
- outb(0x3c4,0x18); outb(0x3c5,0x40);
- outb(0x3c4,0x15); outb(0x3c5,0x02);
- // Bit 2&3 set enable loading of DCLK parameters
- outb(0x3c2,0x2f);
- outb(0x3c4,0x08); outb(0x3c5,0x00);
-
- //# [SPEA]
- //# SerialWord = 0x222b;
- //# DacMode = 0x0;
- //# Cr42 = 0xa;
-
- // ***********************************
- // 0x0074
- // ***********************************
- [MODE]
- 0x0074;
- [MODEINFO]
- ModeAttributes = 0x1b;
- WinAAttributes = 7;
- WinBAttributes = 0;
- WinAGranularity = 64;
- WinBGranularity = 64;
- WinASize = 64;
- WinBSize = 64;
- WinABase = 0xa0000;
- WinBBase = 0xa0000;
- BytesPerScanline = 1600;
- XResolution = 800;
- YResolution = 600;
- XCharSize = 8;
- YCharSize = 8;
- Colormodel = 2;
- BitsPerPixel = 16;
- NumberOfColors = 65536;
- BitsRGB = 6;
- RedSize = 5;
- RedPosition = 11;
- GreenSize = 6;
- GreenPosition = 5;
- BlueSize = 5;
- BluePosition = 0;
- ReservedSize = 0;
- ReservedPosition = 0;
- NumberOfBanks = 1;
- BankSize = 0;
- MemoryModel = 0x6;
- NumberOfImagePages = 0;
-
- [SETMODE]
- outb(0x3d4,0x38);outb(0x3d5,0x48); // unlock S3 registers (30..3c);
- outb(0x3d4,0x39);outb(0x3d5,0xa5); // unlock system + extension (40..5f);
- outb(0x3d4,0x35);outb(0x3d5,0x00); // unlock timing regs;
- outb(0x3d4,0x11);outb(0x3d5,0x00); // unlock timing regs;
-
- r0 = 0x04; r1 = 0xc7; r2 = 0xc8; r3 = 0x07; r4 = 0xcd;
- r5 = 0x01; r6 = 0x6f; r7 = 0xf0; r8 = 0x00; r9 = 0x60;
- r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
- r15 = 0x00; r16 = 0x58; r17 = 0x8b; r18 = 0x57; r19 = 0xc8;
- r20 = 0x00; r21 = 0x57; r22 = 0x00; r23 = 0xe3; r24 = 0xff;
- boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
-
- outb(0x3d4,0x3b);outb(0x3d5,0xfd);
- outb(0x3d4,0x42);outb(0x3d5,0x4d);
- outb(0x3d4,0x54);outb(0x3d5,0x00);
- outb(0x3d4,0x5d);outb(0x3d5,0x01);
- outb(0x3d4,0x5e);outb(0x3d5,0x00);
- outb(0x3d4,0x60);outb(0x3d5,0xff);
- outb(0x3d4,0x67);outb(0x3d5,0x50);
-
-
- // TRIO64 internal clock synthesis
- // M/N value: 4451, DCLK
-
- outb(0x3c4,0x08); outb(0x3c5,0x06);
- outb(0x3c4,0x15); outb(0x3c5,0x00);
- outb(0x3c4,0x12); outb(0x3c5,0x44);
- outb(0x3c4,0x13); outb(0x3c5,0x51);
- outb(0x3c4,0x18); outb(0x3c5,0x40);
- outb(0x3c4,0x15); outb(0x3c5,0x02);
- // Bit 2&3 set enable loading of DCLK parameters
- outb(0x3c2,0x2f);
- outb(0x3c4,0x08); outb(0x3c5,0x00);
-
- //# [SPEA]
- //# SerialWord = 0x4451;
- //# DacMode = 0x2;
- //# Cr42 = 0x10;
-
- // ***********************************
- // 0x004B
- // ***********************************
- [MODE]
- 0x004B;
- [MODEINFO]
- ModeAttributes = 0x1b;
- WinAAttributes = 7;
- WinBAttributes = 0;
- WinAGranularity = 64;
- WinBGranularity = 64;
- WinASize = 64;
- WinBSize = 64;
- WinABase = 0xa0000;
- WinBBase = 0xa0000;
- BytesPerScanline = 1024;
- XResolution = 800;
- YResolution = 600;
- XCharSize = 8;
- YCharSize = 8;
- Colormodel = 1;
- BitsPerPixel = 8;
- NumberOfColors = 256;
- BitsRGB = 6;
- NumberOfBanks = 1;
- BankSize = 0;
- MemoryModel = 0x4;
- NumberOfImagePages = 0;
-
- [SETMODE]
- outb(0x3d4,0x38);outb(0x3d5,0x48); // unlock S3 registers (30..3c);
- outb(0x3d4,0x39);outb(0x3d5,0xa5); // unlock system + extension (40..5f);
- outb(0x3d4,0x35);outb(0x3d5,0x00); // unlock timing regs;
- outb(0x3d4,0x11);outb(0x3d5,0x00); // unlock timing regs;
-
- r0 = 0x88; r1 = 0x63; r2 = 0x64; r3 = 0x8b; r4 = 0x6d;
- r5 = 0x01; r6 = 0x7e; r7 = 0xf0; r8 = 0x00; r9 = 0x60;
- r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
- r15 = 0x00; r16 = 0x5f; r17 = 0x89; r18 = 0x57; r19 = 0x80;
- r20 = 0x00; r21 = 0x57; r22 = 0x7e; r23 = 0xe3; r24 = 0xff;
- boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
-
- outb(0x3d4,0x3b);outb(0x3d5,0x83);
- outb(0x3d4,0x42);outb(0x3d5,0x4d);
- outb(0x3d4,0x54);outb(0x3d5,0x38);
- outb(0x3d4,0x5d);outb(0x3d5,0x00);
- outb(0x3d4,0x5e);outb(0x3d5,0x00);
- outb(0x3d4,0x60);outb(0x3d5,0xff);
- outb(0x3d4,0x67);outb(0x3d5,0x00);
-
-
- // TRIO64 internal clock synthesis
- // M/N value: 243a, DCLK
-
- outb(0x3c4,0x08); outb(0x3c5,0x06);
- outb(0x3c4,0x15); outb(0x3c5,0x00);
- outb(0x3c4,0x12); outb(0x3c5,0x24);
- outb(0x3c4,0x13); outb(0x3c5,0x3a);
- outb(0x3c4,0x18); outb(0x3c5,0x40);
- outb(0x3c4,0x15); outb(0x3c5,0x02);
- // Bit 2&3 set enable loading of DCLK parameters
- outb(0x3c2,0x2f);
- outb(0x3c4,0x08); outb(0x3c5,0x00);
-
- //# [SPEA]
- //# SerialWord = 0x243a;
- //# DacMode = 0x0;
- //# Cr42 = 0x10;
-
- // ***********************************
- // 0x006B
- // ***********************************
- [MODE]
- 0x006B;
- [MODEINFO]
- ModeAttributes = 0x1b;
- WinAAttributes = 7;
- WinBAttributes = 0;
- WinAGranularity = 64;
- WinBGranularity = 64;
- WinASize = 64;
- WinBSize = 64;
- WinABase = 0xa0000;
- WinBBase = 0xa0000;
- BytesPerScanline = 800;
- XResolution = 800;
- YResolution = 600;
- XCharSize = 8;
- YCharSize = 8;
- Colormodel = 1;
- BitsPerPixel = 8;
- NumberOfColors = 256;
- BitsRGB = 6;
- NumberOfBanks = 1;
- BankSize = 0;
- MemoryModel = 0x4;
- NumberOfImagePages = 0;
-
- [SETMODE]
- outb(0x3d4,0x38);outb(0x3d5,0x48); // unlock S3 registers (30..3c);
- outb(0x3d4,0x39);outb(0x3d5,0xa5); // unlock system + extension (40..5f);
- outb(0x3d4,0x35);outb(0x3d5,0x00); // unlock timing regs;
- outb(0x3d4,0x11);outb(0x3d5,0x00); // unlock timing regs;
-
- r0 = 0x88; r1 = 0x63; r2 = 0x64; r3 = 0x8b; r4 = 0x6d;
- r5 = 0x01; r6 = 0x7e; r7 = 0xf0; r8 = 0x00; r9 = 0x60;
- r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
- r15 = 0x00; r16 = 0x5f; r17 = 0x89; r18 = 0x57; r19 = 0x64;
- r20 = 0x00; r21 = 0x57; r22 = 0x7e; r23 = 0xe3; r24 = 0xff;
- boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
-
- outb(0x3d4,0x3b);outb(0x3d5,0x83);
- outb(0x3d4,0x42);outb(0x3d5,0x4d);
- outb(0x3d4,0x54);outb(0x3d5,0x38);
- outb(0x3d4,0x5d);outb(0x3d5,0x00);
- outb(0x3d4,0x5e);outb(0x3d5,0x00);
- outb(0x3d4,0x60);outb(0x3d5,0xff);
- outb(0x3d4,0x67);outb(0x3d5,0x00);
-
-
- // TRIO64 internal clock synthesis
- // M/N value: 243a, DCLK
-
- outb(0x3c4,0x08); outb(0x3c5,0x06);
- outb(0x3c4,0x15); outb(0x3c5,0x00);
- outb(0x3c4,0x12); outb(0x3c5,0x24);
- outb(0x3c4,0x13); outb(0x3c5,0x3a);
- outb(0x3c4,0x18); outb(0x3c5,0x40);
- outb(0x3c4,0x15); outb(0x3c5,0x02);
- // Bit 2&3 set enable loading of DCLK parameters
- outb(0x3c2,0x2f);
- outb(0x3c4,0x08); outb(0x3c5,0x00);
-
- //# [SPEA]
- //# SerialWord = 0x243a;
- //# DacMode = 0x0;
- //# Cr42 = 0x10;
-
- // ***********************************
- // 0x004A
- // ***********************************
- [MODE]
- 0x004A;
- [MODEINFO]
- ModeAttributes = 0x1b;
- WinAAttributes = 7;
- WinBAttributes = 0;
- WinAGranularity = 64;
- WinBGranularity = 64;
- WinASize = 64;
- WinBSize = 64;
- WinABase = 0xa0000;
- WinBBase = 0xa0000;
- BytesPerScanline = 1024;
- XResolution = 800;
- YResolution = 600;
- XCharSize = 8;
- YCharSize = 8;
- Colormodel = 1;
- BitsPerPixel = 4;
- NumberOfColors = 16;
- BitsRGB = 6;
- NumberOfBanks = 1;
- BankSize = 0;
- MemoryModel = 0x4;
- NumberOfImagePages = 0;
-
- [SETMODE]
- outb(0x3d4,0x38);outb(0x3d5,0x48); // unlock S3 registers (30..3c);
- outb(0x3d4,0x39);outb(0x3d5,0xa5); // unlock system + extension (40..5f);
- outb(0x3d4,0x35);outb(0x3d5,0x00); // unlock timing regs;
- outb(0x3d4,0x11);outb(0x3d5,0x00); // unlock timing regs;
-
- r0 = 0x7f; r1 = 0x63; r2 = 0x63; r3 = 0x00; r4 = 0x68;
- r5 = 0x12; r6 = 0x6f; r7 = 0xe0; r8 = 0x00; r9 = 0x60;
- r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
- r15 = 0x00; r16 = 0x58; r17 = 0x8b; r18 = 0x57; r19 = 0x80;
- r20 = 0x00; r21 = 0x57; r22 = 0x00; r23 = 0xe3; r24 = 0xff;
- boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
-
- outb(0x3d4,0x3b);outb(0x3d5,0x78);
- outb(0x3d4,0x42);outb(0x3d5,0x4d);
- outb(0x3d4,0x54);outb(0x3d5,0x18);
- outb(0x3d4,0x5d);outb(0x3d5,0x00);
- outb(0x3d4,0x5e);outb(0x3d5,0x00);
- outb(0x3d4,0x60);outb(0x3d5,0xff);
- outb(0x3d4,0x67);outb(0x3d5,0x00);
-
-
- // TRIO64 internal clock synthesis
- // M/N value: 4451, DCLK
-
- outb(0x3c4,0x08); outb(0x3c5,0x06);
- outb(0x3c4,0x15); outb(0x3c5,0x00);
- outb(0x3c4,0x12); outb(0x3c5,0x44);
- outb(0x3c4,0x13); outb(0x3c5,0x51);
- outb(0x3c4,0x18); outb(0x3c5,0x40);
- outb(0x3c4,0x15); outb(0x3c5,0x02);
- // Bit 2&3 set enable loading of DCLK parameters
- outb(0x3c2,0x2f);
- outb(0x3c4,0x08); outb(0x3c5,0x00);
-
- //# [SPEA]
- //# SerialWord = 0x4451;
- //# DacMode = 0x0;
- //# Cr42 = 0x10;
-
- // ***********************************
- // 0x0071
- // ***********************************
- [MODE]
- 0x0071;
- [MODEINFO]
- ModeAttributes = 0x1b;
- WinAAttributes = 7;
- WinBAttributes = 0;
- WinAGranularity = 64;
- WinBGranularity = 64;
- WinASize = 64;
- WinBSize = 64;
- WinABase = 0xa0000;
- WinBBase = 0xa0000;
- BytesPerScanline = 1280;
- XResolution = 640;
- YResolution = 480;
- XCharSize = 8;
- YCharSize = 16;
- Colormodel = 2;
- BitsPerPixel = 16;
- NumberOfColors = 65536;
- BitsRGB = 6;
- RedSize = 5;
- RedPosition = 11;
- GreenSize = 6;
- GreenPosition = 5;
- BlueSize = 5;
- BluePosition = 0;
- ReservedSize = 0;
- ReservedPosition = 0;
- NumberOfBanks = 1;
- BankSize = 0;
- MemoryModel = 0x6;
- NumberOfImagePages = 0;
-
- [SETMODE]
- outb(0x3d4,0x38);outb(0x3d5,0x48); // unlock S3 registers (30..3c);
- outb(0x3d4,0x39);outb(0x3d5,0xa5); // unlock system + extension (40..5f);
- outb(0x3d4,0x35);outb(0x3d5,0x00); // unlock timing regs;
- outb(0x3d4,0x11);outb(0x3d5,0x00); // unlock timing regs;
-
- r0 = 0xc3; r1 = 0x9f; r2 = 0xa0; r3 = 0x86; r4 = 0xad;
- r5 = 0x1c; r6 = 0x0b; r7 = 0x3e; r8 = 0x00; r9 = 0x40;
- r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
- r15 = 0x00; r16 = 0xea; r17 = 0x8c; r18 = 0xdf; r19 = 0xa0;
- r20 = 0x60; r21 = 0xdf; r22 = 0x0b; r23 = 0xab; r24 = 0xff;
- boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
-
- outb(0x3d4,0x3b);outb(0x3d5,0xbe);
- outb(0x3d4,0x42);outb(0x3d5,0x49);
- outb(0x3d4,0x54);outb(0x3d5,0x28);
- outb(0x3d4,0x5d);outb(0x3d5,0x00);
- outb(0x3d4,0x5e);outb(0x3d5,0x00);
- outb(0x3d4,0x60);outb(0x3d5,0xff);
- outb(0x3d4,0x67);outb(0x3d5,0x50);
-
-
- // TRIO64 internal clock synthesis
- // M/N value: 497f, DCLK
-
- outb(0x3c4,0x08); outb(0x3c5,0x06);
- outb(0x3c4,0x15); outb(0x3c5,0x00);
- outb(0x3c4,0x12); outb(0x3c5,0x49);
- outb(0x3c4,0x13); outb(0x3c5,0x7f);
- outb(0x3c4,0x18); outb(0x3c5,0x40);
- outb(0x3c4,0x15); outb(0x3c5,0x02);
- // Bit 2&3 set enable loading of DCLK parameters
- outb(0x3c2,0xef);
- outb(0x3c4,0x08); outb(0x3c5,0x00);
-
- //# [SPEA]
- //# SerialWord = 0x497f;
- //# DacMode = 0x2;
- //# Cr42 = 0xb;
-
- // ***********************************
- // 0x0049
- // ***********************************
- [MODE]
- 0x0049;
- [MODEINFO]
- ModeAttributes = 0x1b;
- WinAAttributes = 7;
- WinBAttributes = 0;
- WinAGranularity = 64;
- WinBGranularity = 64;
- WinASize = 64;
- WinBSize = 64;
- WinABase = 0xa0000;
- WinBBase = 0xa0000;
- BytesPerScanline = 1024;
- XResolution = 640;
- YResolution = 480;
- XCharSize = 8;
- YCharSize = 16;
- Colormodel = 1;
- BitsPerPixel = 8;
- NumberOfColors = 256;
- BitsRGB = 6;
- NumberOfBanks = 1;
- BankSize = 0;
- MemoryModel = 0x4;
- NumberOfImagePages = 0;
-
- [SETMODE]
- outb(0x3d4,0x38);outb(0x3d5,0x48); // unlock S3 registers (30..3c);
- outb(0x3d4,0x39);outb(0x3d5,0xa5); // unlock system + extension (40..5f);
- outb(0x3d4,0x35);outb(0x3d5,0x00); // unlock timing regs;
- outb(0x3d4,0x11);outb(0x3d5,0x00); // unlock timing regs;
-
- r0 = 0x5f; r1 = 0x4f; r2 = 0x50; r3 = 0x82; r4 = 0x55;
- r5 = 0x98; r6 = 0x0b; r7 = 0x3e; r8 = 0x00; r9 = 0x40;
- r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
- r15 = 0x00; r16 = 0xea; r17 = 0x8c; r18 = 0xdf; r19 = 0x80;
- r20 = 0x60; r21 = 0xdf; r22 = 0x0b; r23 = 0xab; r24 = 0xff;
- boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
-
- outb(0x3d4,0x3b);outb(0x3d5,0x5d);
- outb(0x3d4,0x42);outb(0x3d5,0x49);
- outb(0x3d4,0x54);outb(0x3d5,0xb0);
- outb(0x3d4,0x5d);outb(0x3d5,0x00);
- outb(0x3d4,0x5e);outb(0x3d5,0x00);
- outb(0x3d4,0x60);outb(0x3d5,0xff);
- outb(0x3d4,0x67);outb(0x3d5,0x00);
-
-
- // TRIO64 internal clock synthesis
- // M/N value: 497f, DCLK
-
- outb(0x3c4,0x08); outb(0x3c5,0x06);
- outb(0x3c4,0x15); outb(0x3c5,0x00);
- outb(0x3c4,0x12); outb(0x3c5,0x49);
- outb(0x3c4,0x13); outb(0x3c5,0x7f);
- outb(0x3c4,0x18); outb(0x3c5,0x40);
- outb(0x3c4,0x15); outb(0x3c5,0x02);
- // Bit 2&3 set enable loading of DCLK parameters
- outb(0x3c2,0xef);
- outb(0x3c4,0x08); outb(0x3c5,0x00);
-
- //# [SPEA]
- //# SerialWord = 0x497f;
- //# DacMode = 0x0;
- //# Cr42 = 0x4b;
-
- // ***********************************
- // 0x0069
- // ***********************************
- [MODE]
- 0x0069;
- [MODEINFO]
- ModeAttributes = 0x1b;
- WinAAttributes = 7;
- WinBAttributes = 0;
- WinAGranularity = 64;
- WinBGranularity = 64;
- WinASize = 64;
- WinBSize = 64;
- WinABase = 0xa0000;
- WinBBase = 0xa0000;
- BytesPerScanline = 640;
- XResolution = 640;
- YResolution = 480;
- XCharSize = 8;
- YCharSize = 16;
- Colormodel = 1;
- BitsPerPixel = 8;
- NumberOfColors = 256;
- BitsRGB = 6;
- NumberOfBanks = 1;
- BankSize = 0;
- MemoryModel = 0x4;
- NumberOfImagePages = 0;
-
- [SETMODE]
- outb(0x3d4,0x38);outb(0x3d5,0x48); // unlock S3 registers (30..3c);
- outb(0x3d4,0x39);outb(0x3d5,0xa5); // unlock system + extension (40..5f);
- outb(0x3d4,0x35);outb(0x3d5,0x00); // unlock timing regs;
- outb(0x3d4,0x11);outb(0x3d5,0x00); // unlock timing regs;
-
- r0 = 0x5f; r1 = 0x4f; r2 = 0x50; r3 = 0x82; r4 = 0x55;
- r5 = 0x98; r6 = 0x0b; r7 = 0x3e; r8 = 0x00; r9 = 0x40;
- r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
- r15 = 0x00; r16 = 0xea; r17 = 0x8c; r18 = 0xdf; r19 = 0x50;
- r20 = 0x60; r21 = 0xdf; r22 = 0x0b; r23 = 0xab; r24 = 0xff;
- boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
-
- outb(0x3d4,0x3b);outb(0x3d5,0x5d);
- outb(0x3d4,0x42);outb(0x3d5,0x49);
- outb(0x3d4,0x54);outb(0x3d5,0xb0);
- outb(0x3d4,0x5d);outb(0x3d5,0x00);
- outb(0x3d4,0x5e);outb(0x3d5,0x00);
- outb(0x3d4,0x60);outb(0x3d5,0xff);
- outb(0x3d4,0x67);outb(0x3d5,0x00);
-
-
- // TRIO64 internal clock synthesis
- // M/N value: 497f, DCLK
-
- outb(0x3c4,0x08); outb(0x3c5,0x06);
- outb(0x3c4,0x15); outb(0x3c5,0x00);
- outb(0x3c4,0x12); outb(0x3c5,0x49);
- outb(0x3c4,0x13); outb(0x3c5,0x7f);
- outb(0x3c4,0x18); outb(0x3c5,0x40);
- outb(0x3c4,0x15); outb(0x3c5,0x02);
- // Bit 2&3 set enable loading of DCLK parameters
- outb(0x3c2,0xef);
- outb(0x3c4,0x08); outb(0x3c5,0x00);
-
- //# [SPEA]
- //# SerialWord = 0x497f;
- //# DacMode = 0x0;
- //# Cr42 = 0x4b;
-
- // ***********************************
- // 0x0068
- // ***********************************
- [MODE]
- 0x0068;
- [MODEINFO]
- ModeAttributes = 0x1b;
- WinAAttributes = 7;
- WinBAttributes = 0;
- WinAGranularity = 64;
- WinBGranularity = 64;
- WinASize = 64;
- WinBSize = 64;
- WinABase = 0xa0000;
- WinBBase = 0xa0000;
- BytesPerScanline = 640;
- XResolution = 640;
- YResolution = 400;
- XCharSize = 8;
- YCharSize = 16;
- Colormodel = 1;
- BitsPerPixel = 8;
- NumberOfColors = 256;
- BitsRGB = 6;
- NumberOfBanks = 1;
- BankSize = 0;
- MemoryModel = 0x4;
- NumberOfImagePages = 0;
-
- [SETMODE]
- outb(0x3d4,0x38);outb(0x3d5,0x48); // unlock S3 registers (30..3c);
- outb(0x3d4,0x39);outb(0x3d5,0xa5); // unlock system + extension (40..5f);
- outb(0x3d4,0x35);outb(0x3d5,0x00); // unlock timing regs;
- outb(0x3d4,0x11);outb(0x3d5,0x00); // unlock timing regs;
-
- r0 = 0x5f; r1 = 0x4f; r2 = 0x50; r3 = 0x82; r4 = 0x54;
- r5 = 0x80; r6 = 0xbf; r7 = 0x1f; r8 = 0x00; r9 = 0x40;
- r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
- r15 = 0x00; r16 = 0x9c; r17 = 0x8e; r18 = 0x8f; r19 = 0x50;
- r20 = 0x40; r21 = 0x96; r22 = 0xb9; r23 = 0xa3; r24 = 0xff;
- boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
-
- outb(0x3d4,0x3b);outb(0x3d5,0x58);
- outb(0x3d4,0x42);outb(0x3d5,0x00);
- outb(0x3d4,0x54);outb(0x3d5,0x50);
- outb(0x3d4,0x5d);outb(0x3d5,0x00);
- outb(0x3d4,0x5e);outb(0x3d5,0x00);
- outb(0x3d4,0x60);outb(0x3d5,0xff);
- outb(0x3d4,0x67);outb(0x3d5,0x00);
-
-
- // TRIO64 internal clock synthesis
- // M/N value: 6128, DCLK
-
- outb(0x3c4,0x08); outb(0x3c5,0x06);
- outb(0x3c4,0x15); outb(0x3c5,0x00);
- outb(0x3c4,0x12); outb(0x3c5,0x61);
- outb(0x3c4,0x13); outb(0x3c5,0x28);
- outb(0x3c4,0x18); outb(0x3c5,0x40);
- outb(0x3c4,0x15); outb(0x3c5,0x02);
- // Bit 2&3 set enable loading of DCLK parameters
- outb(0x3c2,0xef);
- outb(0x3c4,0x08); outb(0x3c5,0x00);
-
- //# [SPEA]
- //# SerialWord = 0x6128;
- //# DacMode = 0x0;
- //# Cr42 = 0x40;
-
-