home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Inside Multimedia 1996 September
/
IMM0996.ISO
/
driver
/
elsa
/
trio
/
os2
/
svgadata.pmi
< prev
next >
Wrap
Text File
|
1996-02-01
|
59KB
|
2,564 lines
/*
* OS/2 2.1 SVGA PMI-File Generator
*/
/*
* Lock Extended Registers
*/
[Lock]
outb(0x3d4, 0x38);
outb(0x3d5, 0x00);
outb(0x3d4, 0x39);
outb(0x3d5, 0x00);
/*
* Unlock Extended Registers
*/
[UnLock]
outb(0x3d4, 0x38);
outb(0x3d5, 0x48);
outb(0x3d4, 0x39);
outb(0x3d5, 0xa0);
outb(0x3b4, 0x38);
outb(0x3b5, 0x48);
outb(0x3b4, 0x39);
outb(0x3b5, 0xa0);
[Cleanup]
rmww(0x4ae8, 0x4ae8, 0x00, 0x00);
rmwb(0x3d4, 0x3d5, 0x31, 0xf7, 0x00);
rmwb(0x3d4, 0x3d5, 0x34, 0x00, 0x00);
rmwb(0x3d4, 0x3d5, 0x3a, 0xef, 0x00);
rmwb(0x3d4, 0x3d5, 0x40, 0xfe, 0x00);
rmwb(0x3d4, 0x3d5, 0x45, 0xfe, 0x00);
rmwb(0x3d4, 0x3d5, 0x51, 0xf3, 0x00);
rmwb(0x3d4, 0x3d5, 0x58, 0xec, 0x00);
rmwb(0x3d4, 0x3d5, 0x60, 0x00, 0x07);
rmwb(0x3d4, 0x3d5, 0x61, 0x00, 0x80);
rmwb(0x3d4, 0x3d5, 0x62, 0x00, 0xa1);
/*
* HI-COLOR DAC by Brooktree Corporation
*/
[comment]
Graphics Mode: 640 x 480 x 256 colors.
[AdapterType]
S3
[ChipSet]
S386C928
[ModeInfo]
ModeAttributes = 0x18
BytesPerScanLine = 80
XResolution = 640
YResolution = 480
TextRows = 30
BitsPerPixel = 8
NumberOfPlanes = 1
PageLength = 491520
SaveSize = 491520
TotalMemory = 4194304
InterlaceMode = 0
BufferAddress = 0x0a0000
[TrapRegs]
0x3c2;
0x3c4, 0x00-0x04;
0x3c5;
0x3d4, 0x00-0x18, 0x50-0x5a, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42, 0x69-0x6a;
0x3d5;
0x3c0, 0x00-0x14;
0x3c1;
0x3ce, 0x00-0x08;
0x3cf;
0x4ae8;
0xbee8;
0x96e8;
0x92e8;
0xa2e8;
0xaae8;
0xaee8;
0xb2e8;
0x8ae8;
0x8ee8;
0x86e8;
0x82e8;
[SetMode]
/*
* Set Hi Color DAC
*/
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c8, r1);
r1 = 0x00;
outb(0x3c9, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
rmww(0x3c6, 0x3c6, 0xff, 0x80);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
outb(0x3c8, 0x01);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0xef);
/*
* Set Sequencer Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x0f; r3 = 0x00; r4 = 0x0e;
boutb(5, 0x00, 0x3c4, 0x3c5);
outw(0x3c4, 0x0300);
/*
* Set CRT Registers
*/
outw(0x3d4, 0x0e11);
r0 = 0x2f; r1 = 0x27; r2 = 0x28; r3 = 0x8a; r4 = 0x2a;
r5 = 0x8d; r6 = 0x06; r7 = 0x3e; r8 = 0x00; r9 = 0x40;
r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
r15 = 0x00; r16 = 0xe8; r17 = 0x8b; r18 = 0xdf; r19 = 0x50;
r20 = 0x60; r21 = 0xdf; r22 = 0x06; r23 = 0xab; r24 = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);
r80 = 0x00; r81 = 0x00; r82 = 0xff; r83 = 0x00; r84 = 0x00;
r85 = 0x00; r86 = 0x00; r87 = 0x00; r88 = 0x18; r89 = 0x00;
boutb(10, 0x50, 0x3d4, 0x3d5);
r92 = 0x02; r93 = 0x00; r94 = 0x00;
boutb(3, 0x5c, 0x3d4, 0x3d5);
r96 = 0x07; r97 = 0x80; r98 = 0xa1;
boutb(3, 0x60, 0x3d4, 0x3d5);
r49 = 0x8d; r50 = 0x00; r51 = 0x20; r52 = 0x00; r53 = 0x00;
boutb(5, 0x31, 0x3d4, 0x3d5);
r58 = 0x95; r59 = 0x5e; r60 = 0x40;
boutb(3, 0x3a, 0x3d4, 0x3d5);
r64 = 0x01;
boutb(1, 0x40, 0x3d4, 0x3d5);
r67 = 0x80;
boutb(1, 0x43, 0x3d4, 0x3d5);
r69 = 0x80; r70 = 0x80; r71 = 0xff; r72 = 0xfc; r73 = 0xff;
boutb(5, 0x45, 0x3d4, 0x3d5);
r76 = 0xff; r77 = 0xff; r78 = 0xff; r79 = 0xdf;
boutb(4, 0x4c, 0x3d4, 0x3d5);
r66 = 0x02;
boutb(1, 0x42, 0x3d4, 0x3d5);
/*
* Set Attribute Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x02; r3 = 0x03; r4 = 0x04;
r5 = 0x05; r6 = 0x06; r7 = 0x07; r8 = 0x10; r9 = 0x11;
r10 = 0x12; r11 = 0x13; r12 = 0x14; r13 = 0x15; r14 = 0x16;
r15 = 0x17; r16 = 0x41; r17 = 0x00; r18 = 0x0f; r19 = 0x00;
r20 = 0x00;
boutb(21, 0x00, 0x3c0, 0x3c1);
/*
* Set GDC Registers
*/
r0 = 0x00; r1 = 0x00; r2 = 0x00; r3 = 0x00; r4 = 0x00;
r5 = 0x40; r6 = 0x05; r7 = 0x0f; r8 = 0xff;
boutb(9, 0x00, 0x3ce, 0x3cf);
/*
* Set Enhanced Command Registers
*/
outw(0x4ae8, 0x0001);
outw(0xbee8, 0x1000);
outw(0xbee8, 0x33ff);
outw(0xbee8, 0x2000);
outw(0xbee8, 0x43ff);
outw(0xbee8, 0xa000);
outw(0xbee8, 0x03ff);
outw(0x96e8, 0x03ff);
outw(0x86e8, 0x0000);
outw(0x82e8, 0x0000);
[comment]
Graphics Mode: 640 x 480 x 64k colors.
[AdapterType]
S3
[ChipSet]
S386C928
[ModeInfo]
ModeAttributes = 0x18
BytesPerScanLine = 80
XResolution = 640
YResolution = 480
TextRows = 30
BitsPerPixel = 16
NumberOfPlanes = 1
PageLength = 614400
SaveSize = 614400
TotalMemory = 4194304
InterlaceMode = 0
BufferAddress = 0x0a0000
[TrapRegs]
0x3c2;
0x3c4, 0x00-0x04;
0x3c5;
0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
0x3d5;
0x3c0, 0x00-0x14;
0x3c1;
0x3ce, 0x00-0x08;
0x3cf;
0x4ae8;
0xbee8;
0x96e8;
0x86e8;
0x82e8;
[SetMode]
/*
* Set Hi Color DAC
*/
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c8, r1);
r1 = 0x00;
outb(0x3c9, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
rmww(0x3c6, 0x3c6, 0xff, 0x80);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
outb(0x3c8, 0x01);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0xef);
/*
* Set Sequencer Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x0f; r3 = 0x00; r4 = 0x0e;
boutb(5, 0x00, 0x3c4, 0x3c5);
outw(0x3c4, 0x0300);
/*
* Set CRT Registers
*/
outw(0x3d4, 0x0e11);
r0 = 0x2f; r1 = 0x27; r2 = 0x28; r3 = 0x8a; r4 = 0x2a;
r5 = 0x8d; r6 = 0x06; r7 = 0x3e; r8 = 0x00; r9 = 0x40;
r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
r15 = 0x00; r16 = 0xe8; r17 = 0x8b; r18 = 0xdf; r19 = 0x50;
r20 = 0x60; r21 = 0xdf; r22 = 0x06; r23 = 0xab; r24 = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);
r80 = 0x00; r81 = 0x00; r82 = 0xff; r83 = 0x00; r84 = 0x00;
r85 = 0x00; r86 = 0x00; r87 = 0x00; r88 = 0x18; r89 = 0x00;
boutb(10, 0x50, 0x3d4, 0x3d5);
r92 = 0x02; r93 = 0x00; r94 = 0x00;
boutb(3, 0x5c, 0x3d4, 0x3d5);
r96 = 0x07; r97 = 0x80; r98 = 0xa1;
boutb(3, 0x60, 0x3d4, 0x3d5);
r49 = 0x8d; r50 = 0x00; r51 = 0x20; r52 = 0x00; r53 = 0x00;
boutb(5, 0x31, 0x3d4, 0x3d5);
r58 = 0x95; r59 = 0x5e; r60 = 0x40;
boutb(3, 0x3a, 0x3d4, 0x3d5);
r64 = 0x01;
boutb(1, 0x40, 0x3d4, 0x3d5);
r67 = 0x80;
boutb(1, 0x43, 0x3d4, 0x3d5);
r69 = 0x80; r70 = 0x80; r71 = 0xff; r72 = 0xfc; r73 = 0xff;
boutb(5, 0x45, 0x3d4, 0x3d5);
r76 = 0xff; r77 = 0xff; r78 = 0xff; r79 = 0xdf;
boutb(4, 0x4c, 0x3d4, 0x3d5);
r66 = 0x02;
boutb(1, 0x42, 0x3d4, 0x3d5);
/*
* Set Attribute Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x02; r3 = 0x03; r4 = 0x04;
r5 = 0x05; r6 = 0x06; r7 = 0x07; r8 = 0x10; r9 = 0x11;
r10 = 0x12; r11 = 0x13; r12 = 0x14; r13 = 0x15; r14 = 0x16;
r15 = 0x17; r16 = 0x41; r17 = 0x00; r18 = 0x0f; r19 = 0x00;
r20 = 0x00;
boutb(21, 0x00, 0x3c0, 0x3c1);
/*
* Set GDC Registers
*/
r0 = 0x00; r1 = 0x00; r2 = 0x00; r3 = 0x00; r4 = 0x00;
r5 = 0x40; r6 = 0x05; r7 = 0x0f; r8 = 0xff;
boutb(9, 0x00, 0x3ce, 0x3cf);
/*
* Set Enhanced Command Registers
*/
outw(0x4ae8, 0x0001);
outw(0xbee8, 0x1000);
outw(0xbee8, 0x33ff);
outw(0xbee8, 0x2000);
outw(0xbee8, 0x43ff);
outw(0xbee8, 0xa000);
outw(0xbee8, 0x03ff);
outw(0x96e8, 0x03ff);
outw(0x86e8, 0x0000);
outw(0x82e8, 0x0000);
[comment]
Graphics Mode: 640 x 480 x 16,7Mio colors.
[AdapterType]
S3
[ChipSet]
S386C928
[ModeInfo]
ModeAttributes = 0x18
BytesPerScanLine = 80
XResolution = 640
YResolution = 480
TextRows = 30
BitsPerPixel = 32
NumberOfPlanes = 1
PageLength = 1228800
SaveSize = 1228800
TotalMemory = 4194304
InterlaceMode = 0
BufferAddress = 0x0a0000
[TrapRegs]
0x3c2;
0x3c4, 0x00-0x04;
0x3c5;
0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
0x3d5;
0x3c0, 0x00-0x14;
0x3c1;
0x3ce, 0x00-0x08;
0x3cf;
0x4ae8;
0xbee8;
0x96e8;
0x86e8;
0x82e8;
[SetMode]
/*
* Set Hi Color DAC
*/
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c8, r1);
r1 = 0x00;
outb(0x3c9, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
rmww(0x3c6, 0x3c6, 0xff, 0x80);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
outb(0x3c8, 0x01);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0xef);
/*
* Set Sequencer Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x0f; r3 = 0x00; r4 = 0x0e;
boutb(5, 0x00, 0x3c4, 0x3c5);
outw(0x3c4, 0x0300);
/*
* Set CRT Registers
*/
outw(0x3d4, 0x0e11);
r0 = 0x2f; r1 = 0x27; r2 = 0x28; r3 = 0x8a; r4 = 0x2a;
r5 = 0x8d; r6 = 0x06; r7 = 0x3e; r8 = 0x00; r9 = 0x40;
r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
r15 = 0x00; r16 = 0xe8; r17 = 0x8b; r18 = 0xdf; r19 = 0x50;
r20 = 0x60; r21 = 0xdf; r22 = 0x06; r23 = 0xab; r24 = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);
r80 = 0x00; r81 = 0x00; r82 = 0xff; r83 = 0x00; r84 = 0x00;
r85 = 0x00; r86 = 0x00; r87 = 0x00; r88 = 0x18; r89 = 0x00;
boutb(10, 0x50, 0x3d4, 0x3d5);
r92 = 0x02; r93 = 0x00; r94 = 0x00;
boutb(3, 0x5c, 0x3d4, 0x3d5);
r96 = 0x07; r97 = 0x80; r98 = 0xa1;
boutb(3, 0x60, 0x3d4, 0x3d5);
r49 = 0x8d; r50 = 0x00; r51 = 0x20; r52 = 0x00; r53 = 0x00;
boutb(5, 0x31, 0x3d4, 0x3d5);
r58 = 0x95; r59 = 0x5e; r60 = 0x40;
boutb(3, 0x3a, 0x3d4, 0x3d5);
r64 = 0x01;
boutb(1, 0x40, 0x3d4, 0x3d5);
r67 = 0x80;
boutb(1, 0x43, 0x3d4, 0x3d5);
r69 = 0x80; r70 = 0x80; r71 = 0xff; r72 = 0xfc; r73 = 0xff;
boutb(5, 0x45, 0x3d4, 0x3d5);
r76 = 0xff; r77 = 0xff; r78 = 0xff; r79 = 0xdf;
boutb(4, 0x4c, 0x3d4, 0x3d5);
r66 = 0x02;
boutb(1, 0x42, 0x3d4, 0x3d5);
/*
* Set Attribute Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x02; r3 = 0x03; r4 = 0x04;
r5 = 0x05; r6 = 0x06; r7 = 0x07; r8 = 0x10; r9 = 0x11;
r10 = 0x12; r11 = 0x13; r12 = 0x14; r13 = 0x15; r14 = 0x16;
r15 = 0x17; r16 = 0x41; r17 = 0x00; r18 = 0x0f; r19 = 0x00;
r20 = 0x00;
boutb(21, 0x00, 0x3c0, 0x3c1);
/*
* Set GDC Registers
*/
r0 = 0x00; r1 = 0x00; r2 = 0x00; r3 = 0x00; r4 = 0x00;
r5 = 0x40; r6 = 0x05; r7 = 0x0f; r8 = 0xff;
boutb(9, 0x00, 0x3ce, 0x3cf);
/*
* Set Enhanced Command Registers
*/
outw(0x4ae8, 0x0001);
outw(0xbee8, 0x1000);
outw(0xbee8, 0x33ff);
outw(0xbee8, 0x2000);
outw(0xbee8, 0x43ff);
outw(0xbee8, 0xa000);
outw(0xbee8, 0x03ff);
outw(0x96e8, 0x03ff);
outw(0x86e8, 0x0000);
outw(0x82e8, 0x0000);
[comment]
Graphics Mode: 800 x 600 x 256 colors.
[AdapterType]
S3
[ChipSet]
S386C928
[ModeInfo]
ModeAttributes = 0x18
BytesPerScanLine = 100
XResolution = 800
YResolution = 600
TextRows = 37
BitsPerPixel = 8
NumberOfPlanes = 1
PageLength = 614400
SaveSize = 614400
TotalMemory = 4194304
InterlaceMode = 0
BufferAddress = 0x0a0000
[TrapRegs]
0x3c2;
0x3c4, 0x00-0x04;
0x3c5;
0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
0x3d5;
0x3c0, 0x00-0x14;
0x3c1;
0x3ce, 0x00-0x08;
0x3cf;
0x4ae8;
0xbee8;
0x96e8;
0x86e8;
0x82e8;
[SetMode]
/*
* Set Hi Color DAC
*/
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c8, r1);
r1 = 0x00;
outb(0x3c9, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
rmww(0x3c6, 0x3c6, 0xff, 0x80);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
outb(0x3c8, 0x01);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0x6f);
/*
* Set Sequencer Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x0f; r3 = 0x00; r4 = 0x0e;
boutb(5, 0x00, 0x3c4, 0x3c5);
outw(0x3c4, 0x0300);
/*
* Set CRT Registers
*/
outw(0x3d4, 0x0e11);
r0 = 0x9a; r1 = 0x83; r2 = 0x86; r3 = 0x9d; r4 = 0x87;
r5 = 0x1b; r6 = 0xbf; r7 = 0x1f; r8 = 0x00; r9 = 0x4f;
r10 = 0x0d; r11 = 0x0e; r12 = 0x00; r13 = 0x00; r14 = 0x03;
r15 = 0x9c; r16 = 0x9c; r17 = 0x8e; r18 = 0x8f; r19 = 0x64;
r20 = 0x1f; r21 = 0x96; r22 = 0xb9; r23 = 0xa3; r24 = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);
r80 = 0x00; r81 = 0x00; r82 = 0xff; r83 = 0x00; r84 = 0x08;
r85 = 0x00; r86 = 0x00; r87 = 0x00; r88 = 0x0c; r89 = 0x00;
boutb(10, 0x50, 0x3d4, 0x3d5);
r92 = 0x02; r93 = 0x00; r94 = 0x00;
boutb(3, 0x5c, 0x3d4, 0x3d5);
r96 = 0x07; r97 = 0x80; r98 = 0xa1;
boutb(3, 0x60, 0x3d4, 0x3d5);
r49 = 0x85; r50 = 0x00; r51 = 0x00; r52 = 0x10; r53 = 0x00;
boutb(5, 0x31, 0x3d4, 0x3d5);
r58 = 0x85; r59 = 0x90; r60 = 0x40;
boutb(3, 0x3a, 0x3d4, 0x3d5);
r64 = 0x09;
boutb(1, 0x40, 0x3d4, 0x3d5);
r67 = 0x00;
boutb(1, 0x43, 0x3d4, 0x3d5);
r69 = 0x00; r70 = 0x00; r71 = 0xff; r72 = 0xfc; r73 = 0xff;
boutb(5, 0x45, 0x3d4, 0x3d5);
r76 = 0xff; r77 = 0xff; r78 = 0xff; r79 = 0xdf;
boutb(4, 0x4c, 0x3d4, 0x3d5);
r66 = 0x02;
boutb(1, 0x42, 0x3d4, 0x3d5);
/*
* Set Attribute Registers
*/
r0 = 0x3a; r1 = 0x3b; r2 = 0x3c; r3 = 0x3d; r4 = 0x3e;
r5 = 0x3f; r6 = 0x01; r7 = 0x00; r8 = 0x0f; r9 = 0x00;
r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0x00;
r15 = 0x00; r16 = 0x05; r17 = 0x0f; r18 = 0x3f; r19 = 0x0c;
r20 = 0x00;
boutb(21, 0x00, 0x3c0, 0x3c1);
/*
* Set GDC Registers
*/
r0 = 0x00; r1 = 0x0f; r2 = 0x00; r3 = 0x1f; r4 = 0x03;
r5 = 0x01; r6 = 0x0f; r7 = 0x00; r8 = 0x06;
boutb(9, 0x00, 0x3ce, 0x3cf);
/*
* Set Enhanced Command Registers
*/
outw(0x4ae8, 0x0007);
outw(0xbee8, 0x1000);
outw(0xbee8, 0x33ff);
outw(0xbee8, 0x2000);
outw(0xbee8, 0x43ff);
outw(0xbee8, 0xa000);
outw(0xbee8, 0x03ff);
outw(0x96e8, 0x03ff);
outw(0x86e8, 0x0000);
outw(0x82e8, 0x0000);
[comment]
Graphics Mode: 800 x 600 x 64k colors.
[AdapterType]
S3
[ChipSet]
S386C928
[ModeInfo]
ModeAttributes = 0x18
BytesPerScanLine = 100
XResolution = 800
YResolution = 600
TextRows = 37
BitsPerPixel = 16
NumberOfPlanes = 1
PageLength = 614400
SaveSize = 614400
TotalMemory = 4194304
InterlaceMode = 0
BufferAddress = 0x0a0000
[TrapRegs]
0x3c2;
0x3c4, 0x00-0x04;
0x3c5;
0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
0x3d5;
0x3c0, 0x00-0x14;
0x3c1;
0x3ce, 0x00-0x08;
0x3cf;
0x4ae8;
0xbee8;
0x96e8;
0x86e8;
0x82e8;
[SetMode]
/*
* Set Hi Color DAC
*/
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c8, r1);
r1 = 0x00;
outb(0x3c9, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
rmww(0x3c6, 0x3c6, 0xff, 0x80);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
outb(0x3c8, 0x01);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0x6f);
/*
* Set Sequencer Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x0f; r3 = 0x00; r4 = 0x0e;
boutb(5, 0x00, 0x3c4, 0x3c5);
outw(0x3c4, 0x0300);
/*
* Set CRT Registers
*/
outw(0x3d4, 0x0e11);
r0 = 0x9a; r1 = 0x83; r2 = 0x86; r3 = 0x9d; r4 = 0x87;
r5 = 0x1b; r6 = 0xbf; r7 = 0x1f; r8 = 0x00; r9 = 0x4f;
r10 = 0x0d; r11 = 0x0e; r12 = 0x00; r13 = 0x00; r14 = 0x03;
r15 = 0x9c; r16 = 0x9c; r17 = 0x8e; r18 = 0x8f; r19 = 0x64;
r20 = 0x1f; r21 = 0x96; r22 = 0xb9; r23 = 0xa3; r24 = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);
r80 = 0x00; r81 = 0x00; r82 = 0xff; r83 = 0x00; r84 = 0x08;
r85 = 0x00; r86 = 0x00; r87 = 0x00; r88 = 0x0c; r89 = 0x00;
boutb(10, 0x50, 0x3d4, 0x3d5);
r92 = 0x02; r93 = 0x00; r94 = 0x00;
boutb(3, 0x5c, 0x3d4, 0x3d5);
r96 = 0x07; r97 = 0x80; r98 = 0xa1;
boutb(3, 0x60, 0x3d4, 0x3d5);
r49 = 0x85; r50 = 0x00; r51 = 0x00; r52 = 0x10; r53 = 0x00;
boutb(5, 0x31, 0x3d4, 0x3d5);
r58 = 0x85; r59 = 0x90; r60 = 0x40;
boutb(3, 0x3a, 0x3d4, 0x3d5);
r64 = 0x09;
boutb(1, 0x40, 0x3d4, 0x3d5);
r67 = 0x00;
boutb(1, 0x43, 0x3d4, 0x3d5);
r69 = 0x00; r70 = 0x00; r71 = 0xff; r72 = 0xfc; r73 = 0xff;
boutb(5, 0x45, 0x3d4, 0x3d5);
r76 = 0xff; r77 = 0xff; r78 = 0xff; r79 = 0xdf;
boutb(4, 0x4c, 0x3d4, 0x3d5);
r66 = 0x02;
boutb(1, 0x42, 0x3d4, 0x3d5);
/*
* Set Attribute Registers
*/
r0 = 0x3a; r1 = 0x3b; r2 = 0x3c; r3 = 0x3d; r4 = 0x3e;
r5 = 0x3f; r6 = 0x01; r7 = 0x00; r8 = 0x0f; r9 = 0x00;
r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0x00;
r15 = 0x00; r16 = 0x05; r17 = 0x0f; r18 = 0x3f; r19 = 0x0c;
r20 = 0x00;
boutb(21, 0x00, 0x3c0, 0x3c1);
/*
* Set GDC Registers
*/
r0 = 0x00; r1 = 0x0f; r2 = 0x00; r3 = 0x1f; r4 = 0x03;
r5 = 0x01; r6 = 0x0f; r7 = 0x00; r8 = 0x06;
boutb(9, 0x00, 0x3ce, 0x3cf);
/*
* Set Enhanced Command Registers
*/
outw(0x4ae8, 0x0007);
outw(0xbee8, 0x1000);
outw(0xbee8, 0x33ff);
outw(0xbee8, 0x2000);
outw(0xbee8, 0x43ff);
outw(0xbee8, 0xa000);
outw(0xbee8, 0x03ff);
outw(0x96e8, 0x03ff);
outw(0x86e8, 0x0000);
outw(0x82e8, 0x0000);
[comment]
Graphics Mode: 800 x 600 x 16,7Mio colors.
[AdapterType]
S3
[ChipSet]
S386C928
[ModeInfo]
ModeAttributes = 0x18
BytesPerScanLine = 100
XResolution = 800
YResolution = 600
TextRows = 37
BitsPerPixel = 32
NumberOfPlanes = 1
PageLength = 1920000
SaveSize = 1920000
TotalMemory = 4194304
InterlaceMode = 0
BufferAddress = 0x0a0000
[TrapRegs]
0x3c2;
0x3c4, 0x00-0x04;
0x3c5;
0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
0x3d5;
0x3c0, 0x00-0x14;
0x3c1;
0x3ce, 0x00-0x08;
0x3cf;
0x4ae8;
0xbee8;
0x96e8;
0x86e8;
0x82e8;
[SetMode]
/*
* Set Hi Color DAC
*/
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c8, r1);
r1 = 0x00;
outb(0x3c9, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
rmww(0x3c6, 0x3c6, 0xff, 0x80);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
outb(0x3c8, 0x01);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0x6f);
/*
* Set Sequencer Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x0f; r3 = 0x00; r4 = 0x0e;
boutb(5, 0x00, 0x3c4, 0x3c5);
outw(0x3c4, 0x0300);
/*
* Set CRT Registers
*/
outw(0x3d4, 0x0e11);
r0 = 0x9a; r1 = 0x83; r2 = 0x86; r3 = 0x9d; r4 = 0x87;
r5 = 0x1b; r6 = 0xbf; r7 = 0x1f; r8 = 0x00; r9 = 0x4f;
r10 = 0x0d; r11 = 0x0e; r12 = 0x00; r13 = 0x00; r14 = 0x03;
r15 = 0x9c; r16 = 0x9c; r17 = 0x8e; r18 = 0x8f; r19 = 0x64;
r20 = 0x1f; r21 = 0x96; r22 = 0xb9; r23 = 0xa3; r24 = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);
r80 = 0x00; r81 = 0x00; r82 = 0xff; r83 = 0x00; r84 = 0x08;
r85 = 0x00; r86 = 0x00; r87 = 0x00; r88 = 0x0c; r89 = 0x00;
boutb(10, 0x50, 0x3d4, 0x3d5);
r92 = 0x02; r93 = 0x00; r94 = 0x00;
boutb(3, 0x5c, 0x3d4, 0x3d5);
r96 = 0x07; r97 = 0x80; r98 = 0xa1;
boutb(3, 0x60, 0x3d4, 0x3d5);
r49 = 0x85; r50 = 0x00; r51 = 0x00; r52 = 0x10; r53 = 0x00;
boutb(5, 0x31, 0x3d4, 0x3d5);
r58 = 0x85; r59 = 0x90; r60 = 0x40;
boutb(3, 0x3a, 0x3d4, 0x3d5);
r64 = 0x09;
boutb(1, 0x40, 0x3d4, 0x3d5);
r67 = 0x00;
boutb(1, 0x43, 0x3d4, 0x3d5);
r69 = 0x00; r70 = 0x00; r71 = 0xff; r72 = 0xfc; r73 = 0xff;
boutb(5, 0x45, 0x3d4, 0x3d5);
r76 = 0xff; r77 = 0xff; r78 = 0xff; r79 = 0xdf;
boutb(4, 0x4c, 0x3d4, 0x3d5);
r66 = 0x02;
boutb(1, 0x42, 0x3d4, 0x3d5);
/*
* Set Attribute Registers
*/
r0 = 0x3a; r1 = 0x3b; r2 = 0x3c; r3 = 0x3d; r4 = 0x3e;
r5 = 0x3f; r6 = 0x01; r7 = 0x00; r8 = 0x0f; r9 = 0x00;
r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0x00;
r15 = 0x00; r16 = 0x05; r17 = 0x0f; r18 = 0x3f; r19 = 0x0c;
r20 = 0x00;
boutb(21, 0x00, 0x3c0, 0x3c1);
/*
* Set GDC Registers
*/
r0 = 0x00; r1 = 0x0f; r2 = 0x00; r3 = 0x1f; r4 = 0x03;
r5 = 0x01; r6 = 0x0f; r7 = 0x00; r8 = 0x06;
boutb(9, 0x00, 0x3ce, 0x3cf);
/*
* Set Enhanced Command Registers
*/
outw(0x4ae8, 0x0007);
outw(0xbee8, 0x1000);
outw(0xbee8, 0x33ff);
outw(0xbee8, 0x2000);
outw(0xbee8, 0x43ff);
outw(0xbee8, 0xa000);
outw(0xbee8, 0x03ff);
outw(0x96e8, 0x03ff);
outw(0x86e8, 0x0000);
outw(0x82e8, 0x0000);
[comment]
Graphics Mode: 1024 x 768 x 256 colors.
[AdapterType]
S3
[ChipSet]
S386C928
[ModeInfo]
ModeAttributes = 0x18
BytesPerScanLine = 128
XResolution = 1024
YResolution = 768
TextRows = 48
BitsPerPixel = 8
NumberOfPlanes = 1
PageLength = 786432
SaveSize = 786432
TotalMemory = 4194304
InterlaceMode = 0
BufferAddress = 0x0a0000
[TrapRegs]
0x3c2;
0x3c4, 0x00-0x04;
0x3c5;
0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
0x3d5;
0x3c0, 0x00-0x14;
0x3c1;
0x3ce, 0x00-0x08;
0x3cf;
0x4ae8;
0xbee8;
0x96e8;
0x86e8;
0x82e8;
[SetMode]
/*
* Set Hi Color DAC
*/
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c8, r1);
r1 = 0x00;
outb(0x3c9, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
rmww(0x3c6, 0x3c6, 0xff, 0x80);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
outb(0x3c8, 0x01);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0x2f);
/*
* Set Sequencer Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x0f; r3 = 0x00; r4 = 0x0e;
boutb(5, 0x00, 0x3c4, 0x3c5);
outw(0x3c4, 0x0300);
/*
* Set CRT Registers
*/
outw(0x3d4, 0x0e11);
r0 = 0x4d; r1 = 0x3f; r2 = 0x40; r3 = 0x8d; r4 = 0x42;
r5 = 0x08; r6 = 0x1e; r7 = 0xfd; r8 = 0x00; r9 = 0x60;
r10 = 0x1e; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0x06;
r15 = 0x4c; r16 = 0x00; r17 = 0x83; r18 = 0xff; r19 = 0x80;
r20 = 0x60; r21 = 0xff; r22 = 0x2a; r23 = 0xab; r24 = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);
r80 = 0x00; r81 = 0x00; r82 = 0xff; r83 = 0x00; r84 = 0x00;
r85 = 0x00; r86 = 0x00; r87 = 0x00; r88 = 0x08; r89 = 0x00;
boutb(10, 0x50, 0x3d4, 0x3d5);
r92 = 0x02; r93 = 0x00; r94 = 0x40;
boutb(3, 0x5c, 0x3d4, 0x3d5);
r96 = 0x07; r97 = 0x80; r98 = 0xa1;
boutb(3, 0x60, 0x3d4, 0x3d5);
r49 = 0x8d; r50 = 0x00; r51 = 0x20; r52 = 0x10; r53 = 0x00;
boutb(5, 0x31, 0x3d4, 0x3d5);
r58 = 0x95; r59 = 0x4b; r60 = 0x00;
boutb(3, 0x3a, 0x3d4, 0x3d5);
r64 = 0x01;
boutb(1, 0x40, 0x3d4, 0x3d5);
r67 = 0x80;
boutb(1, 0x43, 0x3d4, 0x3d5);
r69 = 0x80; r70 = 0x80; r71 = 0xff; r72 = 0xfc; r73 = 0xff;
boutb(5, 0x45, 0x3d4, 0x3d5);
r76 = 0xff; r77 = 0xff; r78 = 0xff; r79 = 0xdf;
boutb(4, 0x4c, 0x3d4, 0x3d5);
r66 = 0x02;
boutb(1, 0x42, 0x3d4, 0x3d5);
/*
* Set Attribute Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x02; r3 = 0x03; r4 = 0x04;
r5 = 0x05; r6 = 0x14; r7 = 0x07; r8 = 0x38; r9 = 0x39;
r10 = 0x3a; r11 = 0x3b; r12 = 0x3c; r13 = 0x3d; r14 = 0x3e;
r15 = 0x3f; r16 = 0x01; r17 = 0x00; r18 = 0x0f; r19 = 0x00;
r20 = 0x00;
boutb(21, 0x00, 0x3c0, 0x3c1);
/*
* Set GDC Registers
*/
r0 = 0x00; r1 = 0x00; r2 = 0x00; r3 = 0x00; r4 = 0x00;
r5 = 0x00; r6 = 0x05; r7 = 0x0f; r8 = 0xff;
boutb(9, 0x00, 0x3ce, 0x3cf);
/*
* Set Enhanced Command Registers
*/
outw(0x4ae8, 0x0007);
outw(0xbee8, 0x1000);
outw(0xbee8, 0x33ff);
outw(0xbee8, 0x2000);
outw(0xbee8, 0x43ff);
outw(0xbee8, 0xa000);
outw(0xbee8, 0x03ff);
outw(0x96e8, 0x03ff);
outw(0x86e8, 0x0000);
outw(0x82e8, 0x0000);
[comment]
Graphics Mode: 1024 x 768 x 64k colors.
[AdapterType]
S3
[ChipSet]
S386C928
[ModeInfo]
ModeAttributes = 0x18
BytesPerScanLine = 128
XResolution = 1024
YResolution = 768
TextRows = 48
BitsPerPixel = 16
NumberOfPlanes = 1
PageLength = 1572864
SaveSize = 1572864
TotalMemory = 4194304
InterlaceMode = 0
BufferAddress = 0x0a0000
[TrapRegs]
0x3c2;
0x3c4, 0x00-0x04;
0x3c5;
0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
0x3d5;
0x3c0, 0x00-0x14;
0x3c1;
0x3ce, 0x00-0x08;
0x3cf;
0x4ae8;
0xbee8;
0x96e8;
0x86e8;
0x82e8;
[SetMode]
/*
* Set Hi Color DAC
*/
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c8, r1);
r1 = 0x00;
outb(0x3c9, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
rmww(0x3c6, 0x3c6, 0xff, 0x80);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
outb(0x3c8, 0x01);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0x2f);
/*
* Set Sequencer Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x0f; r3 = 0x00; r4 = 0x0e;
boutb(5, 0x00, 0x3c4, 0x3c5);
outw(0x3c4, 0x0300);
/*
* Set CRT Registers
*/
outw(0x3d4, 0x0e11);
r0 = 0x4d; r1 = 0x3f; r2 = 0x40; r3 = 0x8d; r4 = 0x42;
r5 = 0x08; r6 = 0x1e; r7 = 0xfd; r8 = 0x00; r9 = 0x60;
r10 = 0x1e; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0x06;
r15 = 0x4c; r16 = 0x00; r17 = 0x83; r18 = 0xff; r19 = 0x80;
r20 = 0x60; r21 = 0xff; r22 = 0x2a; r23 = 0xab; r24 = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);
r80 = 0x00; r81 = 0x00; r82 = 0xff; r83 = 0x00; r84 = 0x00;
r85 = 0x00; r86 = 0x00; r87 = 0x00; r88 = 0x08; r89 = 0x00;
boutb(10, 0x50, 0x3d4, 0x3d5);
r92 = 0x02; r93 = 0x00; r94 = 0x40;
boutb(3, 0x5c, 0x3d4, 0x3d5);
r96 = 0x07; r97 = 0x80; r98 = 0xa1;
boutb(3, 0x60, 0x3d4, 0x3d5);
r49 = 0x8d; r50 = 0x00; r51 = 0x20; r52 = 0x10; r53 = 0x00;
boutb(5, 0x31, 0x3d4, 0x3d5);
r58 = 0x95; r59 = 0x4b; r60 = 0x00;
boutb(3, 0x3a, 0x3d4, 0x3d5);
r64 = 0x01;
boutb(1, 0x40, 0x3d4, 0x3d5);
r67 = 0x80;
boutb(1, 0x43, 0x3d4, 0x3d5);
r69 = 0x80; r70 = 0x80; r71 = 0xff; r72 = 0xfc; r73 = 0xff;
boutb(5, 0x45, 0x3d4, 0x3d5);
r76 = 0xff; r77 = 0xff; r78 = 0xff; r79 = 0xdf;
boutb(4, 0x4c, 0x3d4, 0x3d5);
r66 = 0x02;
boutb(1, 0x42, 0x3d4, 0x3d5);
/*
* Set Attribute Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x02; r3 = 0x03; r4 = 0x04;
r5 = 0x05; r6 = 0x14; r7 = 0x07; r8 = 0x38; r9 = 0x39;
r10 = 0x3a; r11 = 0x3b; r12 = 0x3c; r13 = 0x3d; r14 = 0x3e;
r15 = 0x3f; r16 = 0x01; r17 = 0x00; r18 = 0x0f; r19 = 0x00;
r20 = 0x00;
boutb(21, 0x00, 0x3c0, 0x3c1);
/*
* Set GDC Registers
*/
r0 = 0x00; r1 = 0x00; r2 = 0x00; r3 = 0x00; r4 = 0x00;
r5 = 0x00; r6 = 0x05; r7 = 0x0f; r8 = 0xff;
boutb(9, 0x00, 0x3ce, 0x3cf);
/*
* Set Enhanced Command Registers
*/
outw(0x4ae8, 0x0007);
outw(0xbee8, 0x1000);
outw(0xbee8, 0x33ff);
outw(0xbee8, 0x2000);
outw(0xbee8, 0x43ff);
outw(0xbee8, 0xa000);
outw(0xbee8, 0x03ff);
outw(0x96e8, 0x03ff);
outw(0x86e8, 0x0000);
outw(0x82e8, 0x0000);
[comment]
Graphics Mode: 1024 x 768 x 16,7Mio colors.
[AdapterType]
S3
[ChipSet]
S386C928
[ModeInfo]
ModeAttributes = 0x18
BytesPerScanLine = 128
XResolution = 1024
YResolution = 768
TextRows = 48
BitsPerPixel = 32
NumberOfPlanes = 1
PageLength = 3145728
SaveSize = 3145728
TotalMemory = 4194304
InterlaceMode = 0
BufferAddress = 0x0a0000
[TrapRegs]
0x3c2;
0x3c4, 0x00-0x04;
0x3c5;
0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
0x3d5;
0x3c0, 0x00-0x14;
0x3c1;
0x3ce, 0x00-0x08;
0x3cf;
0x4ae8;
0xbee8;
0x96e8;
0x86e8;
0x82e8;
[SetMode]
/*
* Set Hi Color DAC
*/
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c8, r1);
r1 = 0x00;
outb(0x3c9, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
rmww(0x3c6, 0x3c6, 0xff, 0x80);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
outb(0x3c8, 0x01);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0x2f);
/*
* Set Sequencer Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x0f; r3 = 0x00; r4 = 0x0e;
boutb(5, 0x00, 0x3c4, 0x3c5);
outw(0x3c4, 0x0300);
/*
* Set CRT Registers
*/
outw(0x3d4, 0x0e11);
r0 = 0x4d; r1 = 0x3f; r2 = 0x40; r3 = 0x8d; r4 = 0x42;
r5 = 0x08; r6 = 0x1e; r7 = 0xfd; r8 = 0x00; r9 = 0x60;
r10 = 0x1e; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0x06;
r15 = 0x4c; r16 = 0x00; r17 = 0x83; r18 = 0xff; r19 = 0x80;
r20 = 0x60; r21 = 0xff; r22 = 0x2a; r23 = 0xab; r24 = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);
r80 = 0x00; r81 = 0x00; r82 = 0xff; r83 = 0x00; r84 = 0x00;
r85 = 0x00; r86 = 0x00; r87 = 0x00; r88 = 0x08; r89 = 0x00;
boutb(10, 0x50, 0x3d4, 0x3d5);
r92 = 0x02; r93 = 0x00; r94 = 0x40;
boutb(3, 0x5c, 0x3d4, 0x3d5);
r96 = 0x07; r97 = 0x80; r98 = 0xa1;
boutb(3, 0x60, 0x3d4, 0x3d5);
r49 = 0x8d; r50 = 0x00; r51 = 0x20; r52 = 0x10; r53 = 0x00;
boutb(5, 0x31, 0x3d4, 0x3d5);
r58 = 0x95; r59 = 0x4b; r60 = 0x00;
boutb(3, 0x3a, 0x3d4, 0x3d5);
r64 = 0x01;
boutb(1, 0x40, 0x3d4, 0x3d5);
r67 = 0x80;
boutb(1, 0x43, 0x3d4, 0x3d5);
r69 = 0x80; r70 = 0x80; r71 = 0xff; r72 = 0xfc; r73 = 0xff;
boutb(5, 0x45, 0x3d4, 0x3d5);
r76 = 0xff; r77 = 0xff; r78 = 0xff; r79 = 0xdf;
boutb(4, 0x4c, 0x3d4, 0x3d5);
r66 = 0x02;
boutb(1, 0x42, 0x3d4, 0x3d5);
/*
* Set Attribute Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x02; r3 = 0x03; r4 = 0x04;
r5 = 0x05; r6 = 0x14; r7 = 0x07; r8 = 0x38; r9 = 0x39;
r10 = 0x3a; r11 = 0x3b; r12 = 0x3c; r13 = 0x3d; r14 = 0x3e;
r15 = 0x3f; r16 = 0x01; r17 = 0x00; r18 = 0x0f; r19 = 0x00;
r20 = 0x00;
boutb(21, 0x00, 0x3c0, 0x3c1);
/*
* Set GDC Registers
*/
r0 = 0x00; r1 = 0x00; r2 = 0x00; r3 = 0x00; r4 = 0x00;
r5 = 0x00; r6 = 0x05; r7 = 0x0f; r8 = 0xff;
boutb(9, 0x00, 0x3ce, 0x3cf);
/*
* Set Enhanced Command Registers
*/
outw(0x4ae8, 0x0007);
outw(0xbee8, 0x1000);
outw(0xbee8, 0x33ff);
outw(0xbee8, 0x2000);
outw(0xbee8, 0x43ff);
outw(0xbee8, 0xa000);
outw(0xbee8, 0x03ff);
outw(0x96e8, 0x03ff);
outw(0x86e8, 0x0000);
outw(0x82e8, 0x0000);
[comment]
Graphics Mode: 1280 x 1024 x 256 colors.
[AdapterType]
S3
[ChipSet]
S386C928
[ModeInfo]
ModeAttributes = 0x18
BytesPerScanLine = 160
XResolution = 1280
YResolution = 1024
TextRows = 64
BitsPerPixel = 8
NumberOfPlanes = 1
PageLength = 1310720
SaveSize = 1310720
TotalMemory = 4194304
InterlaceMode = 0
BufferAddress = 0x0a0000
[TrapRegs]
0x3c2;
0x3c4, 0x00-0x04;
0x3c5;
0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
0x3d5;
0x3c0, 0x00-0x14;
0x3c1;
0x3ce, 0x00-0x08;
0x3cf;
0x4ae8;
0xbee8;
0x96e8;
0x86e8;
0x82e8;
[SetMode]
/*
* Set Hi Color DAC
*/
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c8, r1);
r1 = 0x00;
outb(0x3c9, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
rmww(0x3c6, 0x3c6, 0xff, 0x80);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
outb(0x3c8, 0x01);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0xef);
/*
* Set Sequencer Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x0f; r3 = 0x00; r4 = 0x0e;
boutb(5, 0x00, 0x3c4, 0x3c5);
outw(0x3c4, 0x0300);
/*
* Set CRT Registers
*/
outw(0x3d4, 0x0e11);
r0 = 0x30; r1 = 0x27; r2 = 0x27; r3 = 0x94; r4 = 0x2b;
r5 = 0x90; r6 = 0x25; r7 = 0x52; r8 = 0x00; r9 = 0x60;
r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
r15 = 0x00; r16 = 0x02; r17 = 0x85; r18 = 0xff; r19 = 0xa0;
r20 = 0x00; r21 = 0x00; r22 = 0x31; r23 = 0xa3; r24 = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);
r80 = 0xc0; r81 = 0x00; r82 = 0xff; r83 = 0x20; r84 = 0x00;
r85 = 0x28; r86 = 0x00; r87 = 0x00; r88 = 0x18; r89 = 0x00;
boutb(10, 0x50, 0x3d4, 0x3d5);
r92 = 0x16; r93 = 0x00; r94 = 0x55;
boutb(3, 0x5c, 0x3d4, 0x3d5);
r96 = 0x07; r97 = 0x80; r98 = 0xa1;
boutb(3, 0x60, 0x3d4, 0x3d5);
r49 = 0x8d; r50 = 0x00; r51 = 0x28; r52 = 0x10; r53 = 0x00;
boutb(5, 0x31, 0x3d4, 0x3d5);
r58 = 0x95; r59 = 0x2e; r60 = 0x14;
boutb(3, 0x3a, 0x3d4, 0x3d5);
r64 = 0x01;
boutb(1, 0x40, 0x3d4, 0x3d5);
r67 = 0x00;
boutb(1, 0x43, 0x3d4, 0x3d5);
r69 = 0x20; r70 = 0x20; r71 = 0xff; r72 = 0xfc; r73 = 0xff;
boutb(5, 0x45, 0x3d4, 0x3d5);
r76 = 0xff; r77 = 0xff; r78 = 0xff; r79 = 0xdf;
boutb(4, 0x4c, 0x3d4, 0x3d5);
r66 = 0x06;
boutb(1, 0x42, 0x3d4, 0x3d5);
/*
* Set Attribute Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x02; r3 = 0x03; r4 = 0x04;
r5 = 0x05; r6 = 0x14; r7 = 0x07; r8 = 0x38; r9 = 0x39;
r10 = 0x3a; r11 = 0x3b; r12 = 0x3c; r13 = 0x3d; r14 = 0x3e;
r15 = 0x3f; r16 = 0x01; r17 = 0x00; r18 = 0x0f; r19 = 0x00;
r20 = 0x00;
boutb(21, 0x00, 0x3c0, 0x3c1);
/*
* Set GDC Registers
*/
r0 = 0x00; r1 = 0x00; r2 = 0x00; r3 = 0x00; r4 = 0x00;
r5 = 0x00; r6 = 0x05; r7 = 0x0f; r8 = 0xff;
boutb(9, 0x00, 0x3ce, 0x3cf);
/*
* Set Enhanced Command Registers
*/
outw(0x4ae8, 0x0003);
outw(0xbee8, 0x1000);
outw(0xbee8, 0x33ff);
outw(0xbee8, 0x2000);
outw(0xbee8, 0x43ff);
outw(0xbee8, 0xa000);
outw(0xbee8, 0x03ff);
outw(0x96e8, 0x03ff);
outw(0x86e8, 0x0000);
outw(0x82e8, 0x0000);
/*
* Set Hi Color DAC
*/
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
r1 = 0x80;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x40;
outb(0x3c8, r1);
r1 = 0x30;
outb(0x3c9, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
rmww(0x3c6, 0x3c6, 0xff, 0x80);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
outb(0x3c8, 0x01);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x08;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
[comment]
Graphics Mode: 1280 x 1024 x 64k colors.
[AdapterType]
S3
[ChipSet]
S386C928
[ModeInfo]
ModeAttributes = 0x18
BytesPerScanLine = 160
XResolution = 1280
YResolution = 1024
TextRows = 64
BitsPerPixel = 16
NumberOfPlanes = 1
PageLength = 2621440
SaveSize = 2621440
TotalMemory = 4194304
InterlaceMode = 0
BufferAddress = 0x0a0000
[TrapRegs]
0x3c2;
0x3c4, 0x00-0x04;
0x3c5;
0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
0x3d5;
0x3c0, 0x00-0x14;
0x3c1;
0x3ce, 0x00-0x08;
0x3cf;
0x4ae8;
0xbee8;
0x96e8;
0x86e8;
0x82e8;
[SetMode]
/*
* Set Hi Color DAC
*/
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c8, r1);
r1 = 0x00;
outb(0x3c9, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
rmww(0x3c6, 0x3c6, 0xff, 0x80);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
outb(0x3c8, 0x01);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0xef);
/*
* Set Sequencer Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x0f; r3 = 0x00; r4 = 0x0e;
boutb(5, 0x00, 0x3c4, 0x3c5);
outw(0x3c4, 0x0300);
/*
* Set CRT Registers
*/
outw(0x3d4, 0x0e11);
r0 = 0x30; r1 = 0x27; r2 = 0x27; r3 = 0x94; r4 = 0x2b;
r5 = 0x90; r6 = 0x25; r7 = 0x52; r8 = 0x00; r9 = 0x60;
r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
r15 = 0x00; r16 = 0x02; r17 = 0x85; r18 = 0xff; r19 = 0xa0;
r20 = 0x00; r21 = 0x00; r22 = 0x31; r23 = 0xa3; r24 = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);
r80 = 0xc0; r81 = 0x00; r82 = 0xff; r83 = 0x20; r84 = 0x00;
r85 = 0x28; r86 = 0x00; r87 = 0x00; r88 = 0x18; r89 = 0x00;
boutb(10, 0x50, 0x3d4, 0x3d5);
r92 = 0x16; r93 = 0x00; r94 = 0x55;
boutb(3, 0x5c, 0x3d4, 0x3d5);
r96 = 0x07; r97 = 0x80; r98 = 0xa1;
boutb(3, 0x60, 0x3d4, 0x3d5);
r49 = 0x8d; r50 = 0x00; r51 = 0x28; r52 = 0x10; r53 = 0x00;
boutb(5, 0x31, 0x3d4, 0x3d5);
r58 = 0x95; r59 = 0x2e; r60 = 0x14;
boutb(3, 0x3a, 0x3d4, 0x3d5);
r64 = 0x01;
boutb(1, 0x40, 0x3d4, 0x3d5);
r67 = 0x00;
boutb(1, 0x43, 0x3d4, 0x3d5);
r69 = 0x20; r70 = 0x20; r71 = 0xff; r72 = 0xfc; r73 = 0xff;
boutb(5, 0x45, 0x3d4, 0x3d5);
r76 = 0xff; r77 = 0xff; r78 = 0xff; r79 = 0xdf;
boutb(4, 0x4c, 0x3d4, 0x3d5);
r66 = 0x06;
boutb(1, 0x42, 0x3d4, 0x3d5);
/*
* Set Attribute Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x02; r3 = 0x03; r4 = 0x04;
r5 = 0x05; r6 = 0x14; r7 = 0x07; r8 = 0x38; r9 = 0x39;
r10 = 0x3a; r11 = 0x3b; r12 = 0x3c; r13 = 0x3d; r14 = 0x3e;
r15 = 0x3f; r16 = 0x01; r17 = 0x00; r18 = 0x0f; r19 = 0x00;
r20 = 0x00;
boutb(21, 0x00, 0x3c0, 0x3c1);
/*
* Set GDC Registers
*/
r0 = 0x00; r1 = 0x00; r2 = 0x00; r3 = 0x00; r4 = 0x00;
r5 = 0x00; r6 = 0x05; r7 = 0x0f; r8 = 0xff;
boutb(9, 0x00, 0x3ce, 0x3cf);
/*
* Set Enhanced Command Registers
*/
outw(0x4ae8, 0x0003);
outw(0xbee8, 0x1000);
outw(0xbee8, 0x33ff);
outw(0xbee8, 0x2000);
outw(0xbee8, 0x43ff);
outw(0xbee8, 0xa000);
outw(0xbee8, 0x03ff);
outw(0x96e8, 0x03ff);
outw(0x86e8, 0x0000);
outw(0x82e8, 0x0000);
/*
* Set Hi Color DAC
*/
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
r1 = 0x80;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x40;
outb(0x3c8, r1);
r1 = 0x30;
outb(0x3c9, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
rmww(0x3c6, 0x3c6, 0xff, 0x80);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
outb(0x3c8, 0x01);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x08;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
[comment]
Graphics Mode: 1600 x 1200 x 256 colors.
[AdapterType]
S3
[ChipSet]
S386C928
[ModeInfo]
ModeAttributes = 0x18
BytesPerScanLine = 200
XResolution = 1600
YResolution = 1200
TextRows = 75
BitsPerPixel = 8
NumberOfPlanes = 1
PageLength = 2457600
SaveSize = 2457600
TotalMemory = 4194304
InterlaceMode = 0
BufferAddress = 0x0a0000
[TrapRegs]
0x3c2;
0x3c4, 0x00-0x04;
0x3c5;
0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
0x3d5;
0x3c0, 0x00-0x14;
0x3c1;
0x3ce, 0x00-0x08;
0x3cf;
0x4ae8;
0xbee8;
0x96e8;
0x86e8;
0x82e8;
[SetMode]
/*
* Set Hi Color DAC
*/
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c8, r1);
r1 = 0x00;
outb(0x3c9, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
rmww(0x3c6, 0x3c6, 0xff, 0x80);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
outb(0x3c8, 0x01);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0xef);
/*
* Set Sequencer Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x0f; r3 = 0x00; r4 = 0x0e;
boutb(5, 0x00, 0x3c4, 0x3c5);
outw(0x3c4, 0x0300);
/*
* Set CRT Registers
*/
outw(0x3d4, 0x0e11);
r0 = 0x30; r1 = 0x27; r2 = 0x27; r3 = 0x94; r4 = 0x2b;
r5 = 0x90; r6 = 0x25; r7 = 0x52; r8 = 0x00; r9 = 0x60;
r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
r15 = 0x00; r16 = 0x02; r17 = 0x85; r18 = 0xff; r19 = 0xa0;
r20 = 0x00; r21 = 0x00; r22 = 0x31; r23 = 0xa3; r24 = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);
r80 = 0xc0; r81 = 0x00; r82 = 0xff; r83 = 0x20; r84 = 0x00;
r85 = 0x28; r86 = 0x00; r87 = 0x00; r88 = 0x18; r89 = 0x00;
boutb(10, 0x50, 0x3d4, 0x3d5);
r92 = 0x16; r93 = 0x00; r94 = 0x55;
boutb(3, 0x5c, 0x3d4, 0x3d5);
r96 = 0x07; r97 = 0x80; r98 = 0xa1;
boutb(3, 0x60, 0x3d4, 0x3d5);
r49 = 0x8d; r50 = 0x00; r51 = 0x28; r52 = 0x10; r53 = 0x00;
boutb(5, 0x31, 0x3d4, 0x3d5);
r58 = 0x95; r59 = 0x2e; r60 = 0x14;
boutb(3, 0x3a, 0x3d4, 0x3d5);
r64 = 0x01;
boutb(1, 0x40, 0x3d4, 0x3d5);
r67 = 0x00;
boutb(1, 0x43, 0x3d4, 0x3d5);
r69 = 0x20; r70 = 0x20; r71 = 0xff; r72 = 0xfc; r73 = 0xff;
boutb(5, 0x45, 0x3d4, 0x3d5);
r76 = 0xff; r77 = 0xff; r78 = 0xff; r79 = 0xdf;
boutb(4, 0x4c, 0x3d4, 0x3d5);
r66 = 0x06;
boutb(1, 0x42, 0x3d4, 0x3d5);
/*
* Set Attribute Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x02; r3 = 0x03; r4 = 0x04;
r5 = 0x05; r6 = 0x14; r7 = 0x07; r8 = 0x38; r9 = 0x39;
r10 = 0x3a; r11 = 0x3b; r12 = 0x3c; r13 = 0x3d; r14 = 0x3e;
r15 = 0x3f; r16 = 0x01; r17 = 0x00; r18 = 0x0f; r19 = 0x00;
r20 = 0x00;
boutb(21, 0x00, 0x3c0, 0x3c1);
/*
* Set GDC Registers
*/
r0 = 0x00; r1 = 0x00; r2 = 0x00; r3 = 0x00; r4 = 0x00;
r5 = 0x00; r6 = 0x05; r7 = 0x0f; r8 = 0xff;
boutb(9, 0x00, 0x3ce, 0x3cf);
/*
* Set Enhanced Command Registers
*/
outw(0x4ae8, 0x0003);
outw(0xbee8, 0x1000);
outw(0xbee8, 0x33ff);
outw(0xbee8, 0x2000);
outw(0xbee8, 0x43ff);
outw(0xbee8, 0xa000);
outw(0xbee8, 0x03ff);
outw(0x96e8, 0x03ff);
outw(0x86e8, 0x0000);
outw(0x82e8, 0x0000);
/*
* Set Hi Color DAC
*/
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
r1 = 0x80;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x40;
outb(0x3c8, r1);
r1 = 0x30;
outb(0x3c9, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
rmww(0x3c6, 0x3c6, 0xff, 0x80);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
outb(0x3c8, 0x01);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x08;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
[comment]
Text Mode: 40 cols, 25 rows. (7)
[AdapterType]
S3
[ChipSet]
S386C928
[ModeInfo]
ModeAttributes = 0x08
BytesPerScanLine = 40
XResolution = 360
YResolution = 400
XCharSize = 9
YCharSize = 16
TextRows = 25
BitsPerPixel = 4
NumberOfPlanes = 1
PageLength = 4000
SaveSize = 4000
TotalMemory = 4194304
InterlaceMode = 0
BufferAddress = 0x0b8000
[TrapRegs]
0x3c2;
0x3c4, 0x00-0x04;
0x3c5;
0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
0x3d5;
0x3c0, 0x00-0x14;
0x3c1;
0x3ce, 0x00-0x08;
0x3cf;
0x4ae8;
[SetMode]
/*
* Set Hi Color DAC
*/
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c8, r1);
r1 = 0x00;
outb(0x3c9, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
rmww(0x3c6, 0x3c6, 0xff, 0x80);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
outb(0x3c8, 0x01);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0x67);
/*
* Set Sequencer Registers
*/
r0 = 0x00; r1 = 0x08; r2 = 0x03; r3 = 0x00; r4 = 0x02;
boutb(5, 0x00, 0x3c4, 0x3c5);
outw(0x3c4, 0x0300);
/*
* Set CRT Registers
*/
outw(0x3d4, 0x0e11);
r0 = 0x2d; r1 = 0x27; r2 = 0x28; r3 = 0x90; r4 = 0x2b;
r5 = 0xa0; r6 = 0xbf; r7 = 0x1f; r8 = 0x00; r9 = 0x4f;
r10 = 0x0d; r11 = 0x0e; r12 = 0x00; r13 = 0x00; r14 = 0x00;
r15 = 0x00; r16 = 0x9c; r17 = 0x8e; r18 = 0x8f; r19 = 0x14;
r20 = 0x1f; r21 = 0x96; r22 = 0xb9; r23 = 0xa3; r24 = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);
r80 = 0x00; r81 = 0x00; r82 = 0xff; r83 = 0x00; r84 = 0x38;
r85 = 0x00; r86 = 0x00; r87 = 0x00; r88 = 0x88; r89 = 0x00;
boutb(10, 0x50, 0x3d4, 0x3d5);
r92 = 0x01; r93 = 0x00; r94 = 0x00;
boutb(3, 0x5c, 0x3d4, 0x3d5);
r96 = 0x07; r97 = 0x80; r98 = 0xa1;
boutb(3, 0x60, 0x3d4, 0x3d5);
r49 = 0x85; r50 = 0x00; r51 = 0x00; r52 = 0x00; r53 = 0x00;
boutb(5, 0x31, 0x3d4, 0x3d5);
r58 = 0x85; r59 = 0x5a; r60 = 0x10;
boutb(3, 0x3a, 0x3d4, 0x3d5);
r64 = 0x09;
boutb(1, 0x40, 0x3d4, 0x3d5);
r67 = 0x00;
boutb(1, 0x43, 0x3d4, 0x3d5);
r69 = 0x00; r70 = 0x00; r71 = 0xff; r72 = 0xfc; r73 = 0xff;
boutb(5, 0x45, 0x3d4, 0x3d5);
r76 = 0xff; r77 = 0xff; r78 = 0xff; r79 = 0xdf;
boutb(4, 0x4c, 0x3d4, 0x3d5);
r66 = 0x02;
boutb(1, 0x42, 0x3d4, 0x3d5);
/*
* Set Attribute Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x02; r3 = 0x03; r4 = 0x04;
r5 = 0x05; r6 = 0x14; r7 = 0x07; r8 = 0x38; r9 = 0x39;
r10 = 0x3a; r11 = 0x3b; r12 = 0x3c; r13 = 0x3d; r14 = 0x3e;
r15 = 0x3f; r16 = 0x0c; r17 = 0x00; r18 = 0x0f; r19 = 0x08;
r20 = 0x00;
boutb(21, 0x00, 0x3c0, 0x3c1);
/*
* Set GDC Registers
*/
r0 = 0x00; r1 = 0x00; r2 = 0x00; r3 = 0x00; r4 = 0x00;
r5 = 0x10; r6 = 0x0e; r7 = 0x00; r8 = 0xff;
boutb(9, 0x00, 0x3ce, 0x3cf);
/*
* Set CRT Registers
*/
rmwb(0x3d4, 0x3d5, 0x40, 0xff, 0x01);
/*
* Set Enhanced Command Registers
*/
outw(0x4ae8, 0x0000);
rmwb(0x3d4, 0x3d5, 0x40, 0xfe, 0x00);
[comment]
Text Mode: 80 cols, 25 rows. (8)
[AdapterType]
S3
[ChipSet]
S386C928
[ModeInfo]
ModeAttributes = 0x08
BytesPerScanLine = 80
XResolution = 720
YResolution = 400
XCharSize = 9
YCharSize = 16
TextRows = 25
BitsPerPixel = 4
NumberOfPlanes = 1
PageLength = 4000
SaveSize = 4000
TotalMemory = 4194304
InterlaceMode = 0
BufferAddress = 0x0b8000
[TrapRegs]
0x3c2;
0x3c4, 0x00-0x04;
0x3c5;
0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
0x3d5;
0x3c0, 0x00-0x14;
0x3c1;
0x3ce, 0x00-0x08;
0x3cf;
0x4ae8;
[SetMode]
/*
* Set Hi Color DAC
*/
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c8, r1);
r1 = 0x00;
outb(0x3c9, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
rmww(0x3c6, 0x3c6, 0xff, 0x80);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
outb(0x3c8, 0x01);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0x67);
/*
* Set Sequencer Registers
*/
r0 = 0x00; r1 = 0x00; r2 = 0x03; r3 = 0x00; r4 = 0x02;
boutb(5, 0x00, 0x3c4, 0x3c5);
outw(0x3c4, 0x0300);
/*
* Set CRT Registers
*/
outw(0x3d4, 0x0e11);
r0 = 0x5f; r1 = 0x4f; r2 = 0x50; r3 = 0x82; r4 = 0x55;
r5 = 0x81; r6 = 0xbf; r7 = 0x1f; r8 = 0x00; r9 = 0x4f;
r10 = 0x0d; r11 = 0x0e; r12 = 0x00; r13 = 0x00; r14 = 0x00;
r15 = 0x00; r16 = 0x9c; r17 = 0x8e; r18 = 0x8f; r19 = 0x28;
r20 = 0x1f; r21 = 0x96; r22 = 0xb9; r23 = 0xa3; r24 = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);
r80 = 0x00; r81 = 0x00; r82 = 0xff; r83 = 0x00; r84 = 0x38;
r85 = 0x00; r86 = 0x00; r87 = 0x00; r88 = 0x88; r89 = 0x00;
boutb(10, 0x50, 0x3d4, 0x3d5);
r92 = 0x01; r93 = 0x00; r94 = 0x00;
boutb(3, 0x5c, 0x3d4, 0x3d5);
r96 = 0x07; r97 = 0x80; r98 = 0xa1;
boutb(3, 0x60, 0x3d4, 0x3d5);
r49 = 0x85; r50 = 0x00; r51 = 0x00; r52 = 0x00; r53 = 0x00;
boutb(5, 0x31, 0x3d4, 0x3d5);
r58 = 0x85; r59 = 0x5a; r60 = 0x10;
boutb(3, 0x3a, 0x3d4, 0x3d5);
r64 = 0x09;
boutb(1, 0x40, 0x3d4, 0x3d5);
r67 = 0x00;
boutb(1, 0x43, 0x3d4, 0x3d5);
r69 = 0x00; r70 = 0x00; r71 = 0xff; r72 = 0xfc; r73 = 0xff;
boutb(5, 0x45, 0x3d4, 0x3d5);
r76 = 0xff; r77 = 0xff; r78 = 0xff; r79 = 0xdf;
boutb(4, 0x4c, 0x3d4, 0x3d5);
r66 = 0x02;
boutb(1, 0x42, 0x3d4, 0x3d5);
/*
* Set Attribute Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x02; r3 = 0x03; r4 = 0x04;
r5 = 0x05; r6 = 0x14; r7 = 0x07; r8 = 0x38; r9 = 0x39;
r10 = 0x3a; r11 = 0x3b; r12 = 0x3c; r13 = 0x3d; r14 = 0x3e;
r15 = 0x3f; r16 = 0x0c; r17 = 0x00; r18 = 0x0f; r19 = 0x08;
r20 = 0x00;
boutb(21, 0x00, 0x3c0, 0x3c1);
/*
* Set GDC Registers
*/
r0 = 0x00; r1 = 0x00; r2 = 0x00; r3 = 0x00; r4 = 0x00;
r5 = 0x10; r6 = 0x0e; r7 = 0x00; r8 = 0xff;
boutb(9, 0x00, 0x3ce, 0x3cf);
/*
* Set CRT Registers
*/
rmwb(0x3d4, 0x3d5, 0x40, 0xff, 0x01);
/*
* Set Enhanced Command Registers
*/
outw(0x4ae8, 0x0000);
rmwb(0x3d4, 0x3d5, 0x40, 0xfe, 0x00);
[comment]
Text Mode: 132 cols, 25 rows. (9)
[AdapterType]
S3
[ChipSet]
S386C928
[ModeInfo]
ModeAttributes = 0x08
BytesPerScanLine = 132
XResolution = 1056
YResolution = 400
XCharSize = 8
YCharSize = 16
TextRows = 25
BitsPerPixel = 4
NumberOfPlanes = 1
PageLength = 6600
SaveSize = 6600
TotalMemory = 4194304
InterlaceMode = 0
BufferAddress = 0x0b8000
[TrapRegs]
0x3c2;
0x4ae8;
0x3c4, 0x00-0x04;
0x3c5;
0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
0x3d5;
0x3c0, 0x00-0x14;
0x3c1;
0x3ce, 0x00-0x08;
0x3cf;
[SetMode]
/*
* Set Hi Color DAC
*/
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c8, r1);
r1 = 0x00;
outb(0x3c9, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
rmww(0x3c6, 0x3c6, 0xff, 0x80);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
outb(0x3c8, 0x01);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0x6f);
/*
* Set Enhanced Command Registers
*/
outw(0x4ae8, 0x0000);
/*
* Set Sequencer Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x03; r3 = 0x00; r4 = 0x02;
boutb(5, 0x00, 0x3c4, 0x3c5);
outw(0x3c4, 0x0300);
/*
* Set CRT Registers
*/
outw(0x3d4, 0x0e11);
r0 = 0x9a; r1 = 0x83; r2 = 0x86; r3 = 0x9d; r4 = 0x87;
r5 = 0x1b; r6 = 0xbf; r7 = 0x1f; r8 = 0x00; r9 = 0x4f;
r10 = 0x0d; r11 = 0x0e; r12 = 0x00; r13 = 0x00; r14 = 0x03;
r15 = 0x9c; r16 = 0x9c; r17 = 0x8e; r18 = 0x8f; r19 = 0x42;
r20 = 0x1f; r21 = 0x96; r22 = 0xb9; r23 = 0xa3; r24 = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);
r80 = 0x00; r81 = 0x00; r82 = 0xff; r83 = 0x00; r84 = 0x08;
r85 = 0x00; r86 = 0x00; r87 = 0x00; r88 = 0x0c; r89 = 0x00;
boutb(10, 0x50, 0x3d4, 0x3d5);
r92 = 0x02; r93 = 0x00; r94 = 0x00;
boutb(3, 0x5c, 0x3d4, 0x3d5);
r96 = 0x07; r97 = 0x80; r98 = 0xa1;
boutb(3, 0x60, 0x3d4, 0x3d5);
r49 = 0x85; r50 = 0x00; r51 = 0x00; r52 = 0x10; r53 = 0x00;
boutb(5, 0x31, 0x3d4, 0x3d5);
r58 = 0x85; r59 = 0x90; r60 = 0x40;
boutb(3, 0x3a, 0x3d4, 0x3d5);
r64 = 0x09;
boutb(1, 0x40, 0x3d4, 0x3d5);
r67 = 0x00;
boutb(1, 0x43, 0x3d4, 0x3d5);
r69 = 0x00; r70 = 0x00; r71 = 0xff; r72 = 0xfc; r73 = 0xff;
boutb(5, 0x45, 0x3d4, 0x3d5);
r76 = 0xff; r77 = 0xff; r78 = 0xff; r79 = 0xdf;
boutb(4, 0x4c, 0x3d4, 0x3d5);
r66 = 0x02;
boutb(1, 0x42, 0x3d4, 0x3d5);
/*
* Set Attribute Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x02; r3 = 0x03; r4 = 0x04;
r5 = 0x05; r6 = 0x14; r7 = 0x07; r8 = 0x38; r9 = 0x39;
r10 = 0x3a; r11 = 0x3b; r12 = 0x3c; r13 = 0x3d; r14 = 0x3e;
r15 = 0x3f; r16 = 0x0c; r17 = 0x00; r18 = 0x0f; r19 = 0x00;
r20 = 0x00;
boutb(21, 0x00, 0x3c0, 0x3c1);
/*
* Set GDC Registers
*/
r0 = 0x00; r1 = 0x00; r2 = 0x00; r3 = 0x00; r4 = 0x00;
r5 = 0x10; r6 = 0x0e; r7 = 0x00; r8 = 0xff;
boutb(9, 0x00, 0x3ce, 0x3cf);
/*
* Set CRT Registers
*/
rmwb(0x3d4, 0x3d5, 0x40, 0xff, 0x01);
/*
* Set Enhanced Command Registers
*/
outw(0x4ae8, 0x0000);
rmwb(0x3d4, 0x3d5, 0x40, 0xfe, 0x00);
[comment]
Text Mode: 132 cols, 43 rows. (10)
[AdapterType]
S3
[ChipSet]
S386C928
[ModeInfo]
ModeAttributes = 0x08
BytesPerScanLine = 132
XResolution = 1056
YResolution = 396
XCharSize = 8
YCharSize = 8
TextRows = 43
BitsPerPixel = 4
NumberOfPlanes = 1
PageLength = 11616
SaveSize = 11616
TotalMemory = 4194304
InterlaceMode = 0
BufferAddress = 0x0b8000
[TrapRegs]
0x3c2;
0x4ae8;
0x3c4, 0x00-0x04;
0x3c5;
0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
0x3d5;
0x3c0, 0x00-0x14;
0x3c1;
0x3ce, 0x00-0x08;
0x3cf;
[SetMode]
/*
* Set Hi Color DAC
*/
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c8, r1);
r1 = 0x00;
outb(0x3c9, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
rmww(0x3c6, 0x3c6, 0xff, 0x80);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
outb(0x3c8, 0x01);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
r1 = 0x00;
outb(0x3c6, r1);
rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
/*
* Set Miscellaneous Output Register
*/
outb(0x3c2, 0x6f);
/*
* Set Enhanced Command Registers
*/
outw(0x4ae8, 0x0000);
/*
* Set Sequencer Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x03; r3 = 0x00; r4 = 0x02;
boutb(5, 0x00, 0x3c4, 0x3c5);
outw(0x3c4, 0x0300);
/*
* Set CRT Registers
*/
outw(0x3d4, 0x0e11);
r0 = 0x9a; r1 = 0x83; r2 = 0x84; r3 = 0x9d; r4 = 0x87;
r5 = 0x1b; r6 = 0xbf; r7 = 0x1f; r8 = 0x00; r9 = 0x48;
r10 = 0x07; r11 = 0x08; r12 = 0x00; r13 = 0x00; r14 = 0x15;
r15 = 0xa8; r16 = 0x98; r17 = 0x8a; r18 = 0x82; r19 = 0x42;
r20 = 0x1f; r21 = 0x8b; r22 = 0xb8; r23 = 0xa3; r24 = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);
r80 = 0x00; r81 = 0x00; r82 = 0xff; r83 = 0x00; r84 = 0x08;
r85 = 0x00; r86 = 0x00; r87 = 0x00; r88 = 0x0c; r89 = 0x00;
boutb(10, 0x50, 0x3d4, 0x3d5);
r92 = 0x02; r93 = 0x00; r94 = 0x00;
boutb(3, 0x5c, 0x3d4, 0x3d5);
r96 = 0x07; r97 = 0x80; r98 = 0xa1;
boutb(3, 0x60, 0x3d4, 0x3d5);
r49 = 0x85; r50 = 0x00; r51 = 0x00; r52 = 0x10; r53 = 0x00;
boutb(5, 0x31, 0x3d4, 0x3d5);
r58 = 0x85; r59 = 0x90; r60 = 0x40;
boutb(3, 0x3a, 0x3d4, 0x3d5);
r64 = 0x09;
boutb(1, 0x40, 0x3d4, 0x3d5);
r67 = 0x00;
boutb(1, 0x43, 0x3d4, 0x3d5);
r69 = 0x00; r70 = 0x00; r71 = 0xff; r72 = 0xfc; r73 = 0xff;
boutb(5, 0x45, 0x3d4, 0x3d5);
r76 = 0xff; r77 = 0xff; r78 = 0xff; r79 = 0xdf;
boutb(4, 0x4c, 0x3d4, 0x3d5);
r66 = 0x02;
boutb(1, 0x42, 0x3d4, 0x3d5);
/*
* Set Attribute Registers
*/
r0 = 0x00; r1 = 0x01; r2 = 0x02; r3 = 0x03; r4 = 0x04;
r5 = 0x05; r6 = 0x14; r7 = 0x07; r8 = 0x38; r9 = 0x39;
r10 = 0x3a; r11 = 0x3b; r12 = 0x3c; r13 = 0x3d; r14 = 0x3e;
r15 = 0x3f; r16 = 0x0c; r17 = 0x00; r18 = 0x0f; r19 = 0x00;
r20 = 0x00;
boutb(21, 0x00, 0x3c0, 0x3c1);
/*
* Set GDC Registers
*/
r0 = 0x00; r1 = 0x00; r2 = 0x00; r3 = 0x00; r4 = 0x00;
r5 = 0x10; r6 = 0x0e; r7 = 0x00; r8 = 0xff;
boutb(9, 0x00, 0x3ce, 0x3cf);
/*
* Set CRT Registers
*/
rmwb(0x3d4, 0x3d5, 0x40, 0xff, 0x01);
/*
* Set Enhanced Command Registers
*/
outw(0x4ae8, 0x0000);
rmwb(0x3d4, 0x3d5, 0x40, 0xfe, 0x00);