home *** CD-ROM | disk | FTP | other *** search
- //
- // Copyright (c) 1995 SPEA Software AG All Rights Reserved
- //
- //# @(#)v7i3t37.sdd 3.00 95/02/01 SPEA (BIOS 1.01)
- //
- // v7i3t37.sdd - SVPMI File for V7-MIRAGE P-32
- //
- // 1280x1024x4 47.7 / 44 kHz / Hz
- // 1152x864x8 55.4 / 60 kHz / Hz
- // 1024x768x8 35.2 / 43 kHz / Hz
- // 1024x768x4 35.2 / 43 kHz / Hz
- // 800x600x16 38.2 / 61 kHz / Hz
- // 800x600x8 35.4 / 56 kHz / Hz
- // 800x600x4 35.4 / 56 kHz / Hz
- // 640x480x16 31.5 / 60 kHz / Hz
- // 640x480x8 31.4 / 60 kHz / Hz
- // 640x400x8 31.4 / 70 kHz / Hz
-
- [VERSION]
- 1.0;
-
- [ACTIVE_ADAPTER]
- V7-MIRAGE P-32 (37 kHz Multiscan);
-
- [ADAPTER]
- V7-MIRAGE P-32 (37 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 = 0xc0; r1 = 0x9f; r2 = 0x9f; r3 = 0x83; r4 = 0xa6;
- r5 = 0x1b; r6 = 0x18; r7 = 0xb2; r8 = 0x00; r9 = 0x60;
- r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
- r15 = 0x00; r16 = 0x01; r17 = 0x85; r18 = 0xff; r19 = 0x80;
- r20 = 0x00; r21 = 0x00; r22 = 0x18; r23 = 0xe3; r24 = 0xff;
- boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
-
- outb(0x3d4,0x3b);outb(0x3d5,0xb9);
- outb(0x3d4,0x42);outb(0x3d5,0x69);
- outb(0x3d4,0x54);outb(0x3d5,0x10);
- outb(0x3d4,0x5d);outb(0x3d5,0x00);
- outb(0x3d4,0x5e);outb(0x3d5,0x00);
- outb(0x3d4,0x60);outb(0x3d5,0xff);
- outb(0x3d4,0x67);outb(0x3d5,0x11);
-
-
- // TRIO64 internal clock synthesis
- // M/N value: 2013, DCLK
-
- outb(0x3c4,0x08); outb(0x3c5,0x06);
- outb(0x3c4,0x15); outb(0x3c5,0x00);
- outb(0x3c4,0x12); outb(0x3c5,0x20);
- outb(0x3c4,0x13); outb(0x3c5,0x13);
- outb(0x3c4,0x18); outb(0x3c5,0xc0);
- outb(0x3c4,0x15); outb(0x3c5,0x12);
- // Bit 2&3 set enable loading of DCLK parameters
- outb(0x3c2,0xef);
- outb(0x3c4,0x08); outb(0x3c5,0x00);
-
- //# [SPEA]
- //# SerialWord = 0x2013;
- //# DacMode = 0x5;
- //# Cr42 = 0x2e;
-
- // ***********************************
- // 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 = 0x9a; r1 = 0x7f; r2 = 0x7f; r3 = 0x9d; r4 = 0x81;
- r5 = 0x17; r6 = 0x97; r7 = 0x1f; r8 = 0x00; r9 = 0x40;
- r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
- r15 = 0x00; r16 = 0x80; r17 = 0x84; r18 = 0x7f; r19 = 0x80;
- r20 = 0x00; r21 = 0x80; r22 = 0x00; r23 = 0xe3; r24 = 0xff;
- boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
-
- outb(0x3d4,0x3b);outb(0x3d5,0x93);
- outb(0x3d4,0x42);outb(0x3d5,0x20);
- outb(0x3d4,0x54);outb(0x3d5,0x60);
- 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: 4230, DCLK
-
- outb(0x3c4,0x08); outb(0x3c5,0x06);
- outb(0x3c4,0x15); outb(0x3c5,0x00);
- outb(0x3c4,0x12); outb(0x3c5,0x42);
- outb(0x3c4,0x13); outb(0x3c5,0x30);
- 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 = 0x4230;
- //# DacMode = 0x0;
- //# Cr42 = 0x27;
-
- // ***********************************
- // 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 = 0x9a; r1 = 0x7f; r2 = 0x7f; r3 = 0x9d; r4 = 0x81;
- r5 = 0x17; r6 = 0x97; r7 = 0x1f; r8 = 0x00; r9 = 0x40;
- r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
- r15 = 0x00; r16 = 0x80; r17 = 0x84; r18 = 0x7f; r19 = 0x80;
- r20 = 0x00; r21 = 0x80; r22 = 0x00; r23 = 0xe3; r24 = 0xff;
- boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
-
- outb(0x3d4,0x3b);outb(0x3d5,0x93);
- outb(0x3d4,0x42);outb(0x3d5,0x20);
- outb(0x3d4,0x54);outb(0x3d5,0x60);
- 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: 4230, DCLK
-
- outb(0x3c4,0x08); outb(0x3c5,0x06);
- outb(0x3c4,0x15); outb(0x3c5,0x00);
- outb(0x3c4,0x12); outb(0x3c5,0x42);
- outb(0x3c4,0x13); outb(0x3c5,0x30);
- 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 = 0x4230;
- //# DacMode = 0x0;
- //# Cr42 = 0x27;
-
- // ***********************************
- // 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 = 0x9a; r1 = 0x7f; r2 = 0x7f; r3 = 0x9d; r4 = 0x83;
- r5 = 0x19; r6 = 0x97; r7 = 0x1f; r8 = 0x00; r9 = 0x40;
- r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
- r15 = 0x00; r16 = 0x80; r17 = 0x84; r18 = 0x7f; r19 = 0x80;
- r20 = 0x00; r21 = 0x80; r22 = 0x00; r23 = 0xe3; r24 = 0xff;
- boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
-
- outb(0x3d4,0x3b);outb(0x3d5,0x93);
- outb(0x3d4,0x42);outb(0x3d5,0x20);
- outb(0x3d4,0x54);outb(0x3d5,0x20);
- 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: 4230, DCLK
-
- outb(0x3c4,0x08); outb(0x3c5,0x06);
- outb(0x3c4,0x15); outb(0x3c5,0x00);
- outb(0x3c4,0x12); outb(0x3c5,0x42);
- outb(0x3c4,0x13); outb(0x3c5,0x30);
- 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 = 0x4230;
- //# DacMode = 0x0;
- //# Cr42 = 0x27;
-
- // ***********************************
- // 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 = 0x03; r1 = 0xc7; r2 = 0xc8; r3 = 0x06; r4 = 0xd3;
- r5 = 0x13; r6 = 0x72; r7 = 0xf0; r8 = 0x00; r9 = 0x60;
- r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
- r15 = 0x00; r16 = 0x58; r17 = 0x8c; r18 = 0x57; r19 = 0xc8;
- r20 = 0x00; r21 = 0x57; r22 = 0x00; r23 = 0xa3; r24 = 0xff;
- boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
-
- outb(0x3d4,0x3b);outb(0x3d5,0xfc);
- outb(0x3d4,0x42);outb(0x3d5,0x04);
- outb(0x3d4,0x54);outb(0x3d5,0x28);
- 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: 422b, DCLK
-
- outb(0x3c4,0x08); outb(0x3c5,0x06);
- outb(0x3c4,0x15); outb(0x3c5,0x00);
- outb(0x3c4,0x12); outb(0x3c5,0x42);
- 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 = 0x422b;
- //# DacMode = 0x2;
- //# Cr42 = 0x2;
-
- // ***********************************
- // 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 = 0x7b; r1 = 0x63; r2 = 0x63; r3 = 0x80; r4 = 0x67;
- r5 = 0x10; r6 = 0x6f; r7 = 0xf0; r8 = 0x00; r9 = 0x60;
- r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
- r15 = 0x00; r16 = 0x58; r17 = 0x8a; 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,0x74);
- outb(0x3d4,0x42);outb(0x3d5,0x00);
- outb(0x3d4,0x54);outb(0x3d5,0xe0);
- 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: 4863, DCLK
-
- outb(0x3c4,0x08); outb(0x3c5,0x06);
- outb(0x3c4,0x15); outb(0x3c5,0x00);
- outb(0x3c4,0x12); outb(0x3c5,0x48);
- outb(0x3c4,0x13); outb(0x3c5,0x63);
- 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 = 0x4863;
- //# DacMode = 0x0;
- //# Cr42 = 0x46;
-
- // ***********************************
- // 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 = 0x7b; r1 = 0x63; r2 = 0x63; r3 = 0x80; r4 = 0x67;
- r5 = 0x10; r6 = 0x6f; r7 = 0xf0; r8 = 0x00; r9 = 0x60;
- r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
- r15 = 0x00; r16 = 0x58; r17 = 0x8a; r18 = 0x57; r19 = 0x64;
- 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,0x74);
- outb(0x3d4,0x42);outb(0x3d5,0x00);
- outb(0x3d4,0x54);outb(0x3d5,0xe0);
- 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: 4863, DCLK
-
- outb(0x3c4,0x08); outb(0x3c5,0x06);
- outb(0x3c4,0x15); outb(0x3c5,0x00);
- outb(0x3c4,0x12); outb(0x3c5,0x48);
- outb(0x3c4,0x13); outb(0x3c5,0x63);
- 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 = 0x4863;
- //# DacMode = 0x0;
- //# Cr42 = 0x46;
-
- // ***********************************
- // 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 = 0x7b; r1 = 0x63; r2 = 0x63; r3 = 0x80; r4 = 0x69;
- r5 = 0x12; r6 = 0x6f; r7 = 0xf0; r8 = 0x00; r9 = 0x60;
- r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
- r15 = 0x00; r16 = 0x58; r17 = 0x8a; 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,0x74);
- outb(0x3d4,0x42);outb(0x3d5,0x00);
- outb(0x3d4,0x54);outb(0x3d5,0xf8);
- 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: 4863, DCLK
-
- outb(0x3c4,0x08); outb(0x3c5,0x06);
- outb(0x3c4,0x15); outb(0x3c5,0x00);
- outb(0x3c4,0x12); outb(0x3c5,0x48);
- outb(0x3c4,0x13); outb(0x3c5,0x63);
- 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 = 0x4863;
- //# DacMode = 0x0;
- //# Cr42 = 0x46;
-
- // ***********************************
- // 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 = 0xc2; r1 = 0x9f; r2 = 0xa0; r3 = 0x84; r4 = 0xa3;
- r5 = 0x1b; r6 = 0x0c; r7 = 0x3e; r8 = 0x00; r9 = 0x40;
- r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
- r15 = 0x00; r16 = 0xe9; r17 = 0x8b; r18 = 0xdf; r19 = 0xa0;
- r20 = 0x60; r21 = 0xe7; r22 = 0x04; r23 = 0xab; r24 = 0xff;
- boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
-
- outb(0x3d4,0x3b);outb(0x3d5,0xbb);
- outb(0x3d4,0x42);outb(0x3d5,0x00);
- outb(0x3d4,0x54);outb(0x3d5,0x70);
- 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: 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 = 0x2;
- //# Cr42 = 0x0;
-
- // ***********************************
- // 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 = 0x02; r4 = 0x53;
- r5 = 0x9f; 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 = 0xe7; r22 = 0x04; r23 = 0xab; 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,0xf8);
- 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;
-
- // ***********************************
- // 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 = 0x02; r4 = 0x53;
- r5 = 0x9f; 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 = 0xe7; r22 = 0x04; r23 = 0xab; 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,0xf8);
- 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;
-
- // ***********************************
- // 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;
-
-