home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 April (Special) / Chip-Special_1997-04_cd.bin / spea / mirage / w3m32326 / w3m32326.exe / rar / V7I3T37.SDD / V7I3T37.SDD
Text File  |  1995-02-01  |  30KB  |  947 lines

  1. // 
  2. //  Copyright (c) 1995 SPEA Software AG All Rights Reserved
  3. // 
  4. //# @(#)v7i3t37.sdd  3.00   95/02/01 SPEA   (BIOS 1.01)
  5. // 
  6. //  v7i3t37.sdd  -  SVPMI File for V7-MIRAGE P-32
  7. // 
  8. //  1280x1024x4  47.7 / 44  kHz / Hz
  9. //  1152x864x8   55.4 / 60  kHz / Hz
  10. //  1024x768x8   35.2 / 43  kHz / Hz
  11. //  1024x768x4   35.2 / 43  kHz / Hz
  12. //  800x600x16   38.2 / 61  kHz / Hz
  13. //  800x600x8    35.4 / 56  kHz / Hz
  14. //  800x600x4    35.4 / 56  kHz / Hz
  15. //  640x480x16   31.5 / 60  kHz / Hz
  16. //  640x480x8    31.4 / 60  kHz / Hz
  17. //  640x400x8    31.4 / 70  kHz / Hz
  18.  
  19. [VERSION]
  20.  1.0;
  21.  
  22. [ACTIVE_ADAPTER]
  23.  V7-MIRAGE P-32 (37 kHz Multiscan);
  24.  
  25. [ADAPTER]
  26.  V7-MIRAGE P-32 (37 kHz Multiscan);
  27.  
  28. [ADAPTER_INFO]
  29.  BoardType = VGA;
  30.  SaveSize = 100;
  31.  PaletteSize = 768;
  32.  //# MemorySize = 1024;
  33.  
  34. // ***********************************
  35. // 0x004F
  36. // ***********************************
  37. [MODE]
  38.  0x004F;
  39. [MODEINFO]
  40.     ModeAttributes      = 0x1b;
  41.     WinAAttributes      = 7;
  42.     WinBAttributes      = 0;
  43.     WinAGranularity     = 64;
  44.     WinBGranularity     = 64;
  45.     WinASize            = 64;
  46.     WinBSize            = 64;
  47.     WinABase            = 0xa0000;
  48.     WinBBase            = 0xa0000;
  49.     BytesPerScanline    = 1024;
  50.     XResolution         = 1280;
  51.     YResolution         = 1024;
  52.     XCharSize           = 8;
  53.     YCharSize           = 16;
  54.     Colormodel          = 1;
  55.     BitsPerPixel        = 4;
  56.     NumberOfColors      = 16;
  57.     BitsRGB             = 6;
  58.     NumberOfBanks       = 1;
  59.     BankSize            = 0;
  60.     MemoryModel         = 0x4;
  61.     NumberOfImagePages  = 0;
  62.  
  63. [SETMODE]
  64.  outb(0x3d4,0x38);outb(0x3d5,0x48);      // unlock S3 registers (30..3c);
  65.  outb(0x3d4,0x39);outb(0x3d5,0xa5);      // unlock system + extension (40..5f);
  66.  outb(0x3d4,0x35);outb(0x3d5,0x00);      // unlock timing regs;
  67.  outb(0x3d4,0x11);outb(0x3d5,0x00);      // unlock timing regs;
  68.  
  69.  r0  = 0xc0; r1  = 0x9f; r2  = 0x9f; r3  = 0x83; r4  = 0xa6;
  70.  r5  = 0x1b; r6  = 0x18; r7  = 0xb2; r8  = 0x00; r9  = 0x60;
  71.  r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
  72.  r15 = 0x00; r16 = 0x01; r17 = 0x85; r18 = 0xff; r19 = 0x80;
  73.  r20 = 0x00; r21 = 0x00; r22 = 0x18; r23 = 0xe3; r24 = 0xff;
  74.  boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
  75.  
  76.  outb(0x3d4,0x3b);outb(0x3d5,0xb9);
  77.  outb(0x3d4,0x42);outb(0x3d5,0x69);
  78.  outb(0x3d4,0x54);outb(0x3d5,0x10);
  79.  outb(0x3d4,0x5d);outb(0x3d5,0x00);
  80.  outb(0x3d4,0x5e);outb(0x3d5,0x00);
  81.  outb(0x3d4,0x60);outb(0x3d5,0xff);
  82.  outb(0x3d4,0x67);outb(0x3d5,0x11);
  83.  
  84.  
  85. // TRIO64 internal clock synthesis
  86. // M/N value: 2013, DCLK
  87.  
  88.  outb(0x3c4,0x08); outb(0x3c5,0x06);
  89.  outb(0x3c4,0x15); outb(0x3c5,0x00);
  90.  outb(0x3c4,0x12); outb(0x3c5,0x20);
  91.  outb(0x3c4,0x13); outb(0x3c5,0x13);
  92.  outb(0x3c4,0x18); outb(0x3c5,0xc0);
  93.  outb(0x3c4,0x15); outb(0x3c5,0x12);
  94. // Bit 2&3 set enable loading of DCLK parameters
  95.  outb(0x3c2,0xef);
  96.  outb(0x3c4,0x08); outb(0x3c5,0x00);
  97.  
  98. //# [SPEA]
  99.  //# SerialWord = 0x2013;
  100.  //# DacMode = 0x5;
  101.  //# Cr42 = 0x2e;
  102.  
  103. // ***********************************
  104. // 0x004E
  105. // ***********************************
  106. [MODE]
  107.  0x004E;
  108. [MODEINFO]
  109.     ModeAttributes      = 0x1b;
  110.     WinAAttributes      = 7;
  111.     WinBAttributes      = 0;
  112.     WinAGranularity     = 64;
  113.     WinBGranularity     = 64;
  114.     WinASize            = 64;
  115.     WinBSize            = 64;
  116.     WinABase            = 0xa0000;
  117.     WinBBase            = 0xa0000;
  118.     BytesPerScanline    = 1152;
  119.     XResolution         = 1152;
  120.     YResolution         = 864;
  121.     XCharSize           = 8;
  122.     YCharSize           = 16;
  123.     Colormodel          = 1;
  124.     BitsPerPixel        = 8;
  125.     NumberOfColors      = 256;
  126.     BitsRGB             = 6;
  127.     NumberOfBanks       = 1;
  128.     BankSize            = 0;
  129.     MemoryModel         = 0x4;
  130.     NumberOfImagePages  = 0;
  131.  
  132. [SETMODE]
  133.  outb(0x3d4,0x38);outb(0x3d5,0x48);      // unlock S3 registers (30..3c);
  134.  outb(0x3d4,0x39);outb(0x3d5,0xa5);      // unlock system + extension (40..5f);
  135.  outb(0x3d4,0x35);outb(0x3d5,0x00);      // unlock timing regs;
  136.  outb(0x3d4,0x11);outb(0x3d5,0x00);      // unlock timing regs;
  137.  
  138.  r0  = 0xb1; r1  = 0x8f; r2  = 0x90; r3  = 0x14; r4  = 0x93;
  139.  r5  = 0x9f; r6  = 0x9a; r7  = 0xff; r8  = 0x00; r9  = 0x60;
  140.  r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
  141.  r15 = 0x00; r16 = 0x70; r17 = 0x83; r18 = 0x5f; r19 = 0x90;
  142.  r20 = 0x60; r21 = 0x6f; r22 = 0x8d; r23 = 0xeb; r24 = 0xff;
  143.  boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
  144.  
  145.  outb(0x3d4,0x3b);outb(0x3d5,0xaa);
  146.  outb(0x3d4,0x42);outb(0x3d5,0x92);
  147.  outb(0x3d4,0x54);outb(0x3d5,0x28);
  148.  outb(0x3d4,0x5d);outb(0x3d5,0x00);
  149.  outb(0x3d4,0x5e);outb(0x3d5,0x00);
  150.  outb(0x3d4,0x60);outb(0x3d5,0xff);
  151.  outb(0x3d4,0x67);outb(0x3d5,0x00);
  152.  
  153.  
  154. // TRIO64 internal clock synthesis
  155. // M/N value: 222b, DCLK
  156.  
  157.  outb(0x3c4,0x08); outb(0x3c5,0x06);
  158.  outb(0x3c4,0x15); outb(0x3c5,0x00);
  159.  outb(0x3c4,0x12); outb(0x3c5,0x22);
  160.  outb(0x3c4,0x13); outb(0x3c5,0x2b);
  161.  outb(0x3c4,0x18); outb(0x3c5,0x40);
  162.  outb(0x3c4,0x15); outb(0x3c5,0x02);
  163. // Bit 2&3 set enable loading of DCLK parameters
  164.  outb(0x3c2,0xef);
  165.  outb(0x3c4,0x08); outb(0x3c5,0x00);
  166.  
  167. //# [SPEA]
  168.  //# SerialWord = 0x222b;
  169.  //# DacMode = 0x0;
  170.  //# Cr42 = 0xa;
  171.  
  172. // ***********************************
  173. // 0x004D
  174. // ***********************************
  175. [MODE]
  176.  0x004D;
  177. [MODEINFO]
  178.     ModeAttributes      = 0x1b;
  179.     WinAAttributes      = 7;
  180.     WinBAttributes      = 0;
  181.     WinAGranularity     = 64;
  182.     WinBGranularity     = 64;
  183.     WinASize            = 64;
  184.     WinBSize            = 64;
  185.     WinABase            = 0xa0000;
  186.     WinBBase            = 0xa0000;
  187.     BytesPerScanline    = 1024;
  188.     XResolution         = 1024;
  189.     YResolution         = 768;
  190.     XCharSize           = 8;
  191.     YCharSize           = 16;
  192.     Colormodel          = 1;
  193.     BitsPerPixel        = 8;
  194.     NumberOfColors      = 256;
  195.     BitsRGB             = 6;
  196.     NumberOfBanks       = 1;
  197.     BankSize            = 0;
  198.     MemoryModel         = 0x4;
  199.     NumberOfImagePages  = 0;
  200.  
  201. [SETMODE]
  202.  outb(0x3d4,0x38);outb(0x3d5,0x48);      // unlock S3 registers (30..3c);
  203.  outb(0x3d4,0x39);outb(0x3d5,0xa5);      // unlock system + extension (40..5f);
  204.  outb(0x3d4,0x35);outb(0x3d5,0x00);      // unlock timing regs;
  205.  outb(0x3d4,0x11);outb(0x3d5,0x00);      // unlock timing regs;
  206.  
  207.  r0  = 0x9a; r1  = 0x7f; r2  = 0x7f; r3  = 0x9d; r4  = 0x81;
  208.  r5  = 0x17; r6  = 0x97; r7  = 0x1f; r8  = 0x00; r9  = 0x40;
  209.  r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
  210.  r15 = 0x00; r16 = 0x80; r17 = 0x84; r18 = 0x7f; r19 = 0x80;
  211.  r20 = 0x00; r21 = 0x80; r22 = 0x00; r23 = 0xe3; r24 = 0xff;
  212.  boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
  213.  
  214.  outb(0x3d4,0x3b);outb(0x3d5,0x93);
  215.  outb(0x3d4,0x42);outb(0x3d5,0x20);
  216.  outb(0x3d4,0x54);outb(0x3d5,0x60);
  217.  outb(0x3d4,0x5d);outb(0x3d5,0x00);
  218.  outb(0x3d4,0x5e);outb(0x3d5,0x00);
  219.  outb(0x3d4,0x60);outb(0x3d5,0xff);
  220.  outb(0x3d4,0x67);outb(0x3d5,0x00);
  221.  
  222.  
  223. // TRIO64 internal clock synthesis
  224. // M/N value: 4230, DCLK
  225.  
  226.  outb(0x3c4,0x08); outb(0x3c5,0x06);
  227.  outb(0x3c4,0x15); outb(0x3c5,0x00);
  228.  outb(0x3c4,0x12); outb(0x3c5,0x42);
  229.  outb(0x3c4,0x13); outb(0x3c5,0x30);
  230.  outb(0x3c4,0x18); outb(0x3c5,0x40);
  231.  outb(0x3c4,0x15); outb(0x3c5,0x02);
  232. // Bit 2&3 set enable loading of DCLK parameters
  233.  outb(0x3c2,0xef);
  234.  outb(0x3c4,0x08); outb(0x3c5,0x00);
  235.  
  236. //# [SPEA]
  237.  //# SerialWord = 0x4230;
  238.  //# DacMode = 0x0;
  239.  //# Cr42 = 0x27;
  240.  
  241. // ***********************************
  242. // 0x006D
  243. // ***********************************
  244. [MODE]
  245.  0x006D;
  246. [MODEINFO]
  247.     ModeAttributes      = 0x1b;
  248.     WinAAttributes      = 7;
  249.     WinBAttributes      = 0;
  250.     WinAGranularity     = 64;
  251.     WinBGranularity     = 64;
  252.     WinASize            = 64;
  253.     WinBSize            = 64;
  254.     WinABase            = 0xa0000;
  255.     WinBBase            = 0xa0000;
  256.     BytesPerScanline    = 1024;
  257.     XResolution         = 1024;
  258.     YResolution         = 768;
  259.     XCharSize           = 8;
  260.     YCharSize           = 16;
  261.     Colormodel          = 1;
  262.     BitsPerPixel        = 8;
  263.     NumberOfColors      = 256;
  264.     BitsRGB             = 6;
  265.     NumberOfBanks       = 1;
  266.     BankSize            = 0;
  267.     MemoryModel         = 0x4;
  268.     NumberOfImagePages  = 0;
  269.  
  270. [SETMODE]
  271.  outb(0x3d4,0x38);outb(0x3d5,0x48);      // unlock S3 registers (30..3c);
  272.  outb(0x3d4,0x39);outb(0x3d5,0xa5);      // unlock system + extension (40..5f);
  273.  outb(0x3d4,0x35);outb(0x3d5,0x00);      // unlock timing regs;
  274.  outb(0x3d4,0x11);outb(0x3d5,0x00);      // unlock timing regs;
  275.  
  276.  r0  = 0x9a; r1  = 0x7f; r2  = 0x7f; r3  = 0x9d; r4  = 0x81;
  277.  r5  = 0x17; r6  = 0x97; r7  = 0x1f; r8  = 0x00; r9  = 0x40;
  278.  r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
  279.  r15 = 0x00; r16 = 0x80; r17 = 0x84; r18 = 0x7f; r19 = 0x80;
  280.  r20 = 0x00; r21 = 0x80; r22 = 0x00; r23 = 0xe3; r24 = 0xff;
  281.  boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
  282.  
  283.  outb(0x3d4,0x3b);outb(0x3d5,0x93);
  284.  outb(0x3d4,0x42);outb(0x3d5,0x20);
  285.  outb(0x3d4,0x54);outb(0x3d5,0x60);
  286.  outb(0x3d4,0x5d);outb(0x3d5,0x00);
  287.  outb(0x3d4,0x5e);outb(0x3d5,0x00);
  288.  outb(0x3d4,0x60);outb(0x3d5,0xff);
  289.  outb(0x3d4,0x67);outb(0x3d5,0x00);
  290.  
  291.  
  292. // TRIO64 internal clock synthesis
  293. // M/N value: 4230, DCLK
  294.  
  295.  outb(0x3c4,0x08); outb(0x3c5,0x06);
  296.  outb(0x3c4,0x15); outb(0x3c5,0x00);
  297.  outb(0x3c4,0x12); outb(0x3c5,0x42);
  298.  outb(0x3c4,0x13); outb(0x3c5,0x30);
  299.  outb(0x3c4,0x18); outb(0x3c5,0x40);
  300.  outb(0x3c4,0x15); outb(0x3c5,0x02);
  301. // Bit 2&3 set enable loading of DCLK parameters
  302.  outb(0x3c2,0xef);
  303.  outb(0x3c4,0x08); outb(0x3c5,0x00);
  304.  
  305. //# [SPEA]
  306.  //# SerialWord = 0x4230;
  307.  //# DacMode = 0x0;
  308.  //# Cr42 = 0x27;
  309.  
  310. // ***********************************
  311. // 0x004C
  312. // ***********************************
  313. [MODE]
  314.  0x004C;
  315. [MODEINFO]
  316.     ModeAttributes      = 0x1b;
  317.     WinAAttributes      = 7;
  318.     WinBAttributes      = 0;
  319.     WinAGranularity     = 64;
  320.     WinBGranularity     = 64;
  321.     WinASize            = 64;
  322.     WinBSize            = 64;
  323.     WinABase            = 0xa0000;
  324.     WinBBase            = 0xa0000;
  325.     BytesPerScanline    = 1024;
  326.     XResolution         = 1024;
  327.     YResolution         = 768;
  328.     XCharSize           = 8;
  329.     YCharSize           = 16;
  330.     Colormodel          = 1;
  331.     BitsPerPixel        = 4;
  332.     NumberOfColors      = 16;
  333.     BitsRGB             = 6;
  334.     NumberOfBanks       = 1;
  335.     BankSize            = 0;
  336.     MemoryModel         = 0x4;
  337.     NumberOfImagePages  = 0;
  338.  
  339. [SETMODE]
  340.  outb(0x3d4,0x38);outb(0x3d5,0x48);      // unlock S3 registers (30..3c);
  341.  outb(0x3d4,0x39);outb(0x3d5,0xa5);      // unlock system + extension (40..5f);
  342.  outb(0x3d4,0x35);outb(0x3d5,0x00);      // unlock timing regs;
  343.  outb(0x3d4,0x11);outb(0x3d5,0x00);      // unlock timing regs;
  344.  
  345.  r0  = 0x9a; r1  = 0x7f; r2  = 0x7f; r3  = 0x9d; r4  = 0x83;
  346.  r5  = 0x19; r6  = 0x97; r7  = 0x1f; r8  = 0x00; r9  = 0x40;
  347.  r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
  348.  r15 = 0x00; r16 = 0x80; r17 = 0x84; r18 = 0x7f; r19 = 0x80;
  349.  r20 = 0x00; r21 = 0x80; r22 = 0x00; r23 = 0xe3; r24 = 0xff;
  350.  boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
  351.  
  352.  outb(0x3d4,0x3b);outb(0x3d5,0x93);
  353.  outb(0x3d4,0x42);outb(0x3d5,0x20);
  354.  outb(0x3d4,0x54);outb(0x3d5,0x20);
  355.  outb(0x3d4,0x5d);outb(0x3d5,0x00);
  356.  outb(0x3d4,0x5e);outb(0x3d5,0x00);
  357.  outb(0x3d4,0x60);outb(0x3d5,0xff);
  358.  outb(0x3d4,0x67);outb(0x3d5,0x00);
  359.  
  360.  
  361. // TRIO64 internal clock synthesis
  362. // M/N value: 4230, DCLK
  363.  
  364.  outb(0x3c4,0x08); outb(0x3c5,0x06);
  365.  outb(0x3c4,0x15); outb(0x3c5,0x00);
  366.  outb(0x3c4,0x12); outb(0x3c5,0x42);
  367.  outb(0x3c4,0x13); outb(0x3c5,0x30);
  368.  outb(0x3c4,0x18); outb(0x3c5,0x40);
  369.  outb(0x3c4,0x15); outb(0x3c5,0x02);
  370. // Bit 2&3 set enable loading of DCLK parameters
  371.  outb(0x3c2,0xef);
  372.  outb(0x3c4,0x08); outb(0x3c5,0x00);
  373.  
  374. //# [SPEA]
  375.  //# SerialWord = 0x4230;
  376.  //# DacMode = 0x0;
  377.  //# Cr42 = 0x27;
  378.  
  379. // ***********************************
  380. // 0x0074
  381. // ***********************************
  382. [MODE]
  383.  0x0074;
  384. [MODEINFO]
  385.     ModeAttributes      = 0x1b;
  386.     WinAAttributes      = 7;
  387.     WinBAttributes      = 0;
  388.     WinAGranularity     = 64;
  389.     WinBGranularity     = 64;
  390.     WinASize            = 64;
  391.     WinBSize            = 64;
  392.     WinABase            = 0xa0000;
  393.     WinBBase            = 0xa0000;
  394.     BytesPerScanline    = 1600;
  395.     XResolution         = 800;
  396.     YResolution         = 600;
  397.     XCharSize           = 8;
  398.     YCharSize           = 8;
  399.     Colormodel          = 2;
  400.     BitsPerPixel        = 16;
  401.     NumberOfColors      = 65536;
  402.     BitsRGB             = 6;
  403.     RedSize             = 5;
  404.     RedPosition         = 11;
  405.     GreenSize           = 6;
  406.     GreenPosition       = 5;
  407.     BlueSize            = 5;
  408.     BluePosition        = 0;
  409.     ReservedSize        = 0;
  410.     ReservedPosition    = 0;
  411.     NumberOfBanks       = 1;
  412.     BankSize            = 0;
  413.     MemoryModel         = 0x6;
  414.     NumberOfImagePages  = 0;
  415.  
  416. [SETMODE]
  417.  outb(0x3d4,0x38);outb(0x3d5,0x48);      // unlock S3 registers (30..3c);
  418.  outb(0x3d4,0x39);outb(0x3d5,0xa5);      // unlock system + extension (40..5f);
  419.  outb(0x3d4,0x35);outb(0x3d5,0x00);      // unlock timing regs;
  420.  outb(0x3d4,0x11);outb(0x3d5,0x00);      // unlock timing regs;
  421.  
  422.  r0  = 0x03; r1  = 0xc7; r2  = 0xc8; r3  = 0x06; r4  = 0xd3;
  423.  r5  = 0x13; r6  = 0x72; r7  = 0xf0; r8  = 0x00; r9  = 0x60;
  424.  r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
  425.  r15 = 0x00; r16 = 0x58; r17 = 0x8c; r18 = 0x57; r19 = 0xc8;
  426.  r20 = 0x00; r21 = 0x57; r22 = 0x00; r23 = 0xa3; r24 = 0xff;
  427.  boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
  428.  
  429.  outb(0x3d4,0x3b);outb(0x3d5,0xfc);
  430.  outb(0x3d4,0x42);outb(0x3d5,0x04);
  431.  outb(0x3d4,0x54);outb(0x3d5,0x28);
  432.  outb(0x3d4,0x5d);outb(0x3d5,0x01);
  433.  outb(0x3d4,0x5e);outb(0x3d5,0x00);
  434.  outb(0x3d4,0x60);outb(0x3d5,0xff);
  435.  outb(0x3d4,0x67);outb(0x3d5,0x50);
  436.  
  437.  
  438. // TRIO64 internal clock synthesis
  439. // M/N value: 422b, DCLK
  440.  
  441.  outb(0x3c4,0x08); outb(0x3c5,0x06);
  442.  outb(0x3c4,0x15); outb(0x3c5,0x00);
  443.  outb(0x3c4,0x12); outb(0x3c5,0x42);
  444.  outb(0x3c4,0x13); outb(0x3c5,0x2b);
  445.  outb(0x3c4,0x18); outb(0x3c5,0x40);
  446.  outb(0x3c4,0x15); outb(0x3c5,0x02);
  447. // Bit 2&3 set enable loading of DCLK parameters
  448.  outb(0x3c2,0x2f);
  449.  outb(0x3c4,0x08); outb(0x3c5,0x00);
  450.  
  451. //# [SPEA]
  452.  //# SerialWord = 0x422b;
  453.  //# DacMode = 0x2;
  454.  //# Cr42 = 0x2;
  455.  
  456. // ***********************************
  457. // 0x004B
  458. // ***********************************
  459. [MODE]
  460.  0x004B;
  461. [MODEINFO]
  462.     ModeAttributes      = 0x1b;
  463.     WinAAttributes      = 7;
  464.     WinBAttributes      = 0;
  465.     WinAGranularity     = 64;
  466.     WinBGranularity     = 64;
  467.     WinASize            = 64;
  468.     WinBSize            = 64;
  469.     WinABase            = 0xa0000;
  470.     WinBBase            = 0xa0000;
  471.     BytesPerScanline    = 1024;
  472.     XResolution         = 800;
  473.     YResolution         = 600;
  474.     XCharSize           = 8;
  475.     YCharSize           = 8;
  476.     Colormodel          = 1;
  477.     BitsPerPixel        = 8;
  478.     NumberOfColors      = 256;
  479.     BitsRGB             = 6;
  480.     NumberOfBanks       = 1;
  481.     BankSize            = 0;
  482.     MemoryModel         = 0x4;
  483.     NumberOfImagePages  = 0;
  484.  
  485. [SETMODE]
  486.  outb(0x3d4,0x38);outb(0x3d5,0x48);      // unlock S3 registers (30..3c);
  487.  outb(0x3d4,0x39);outb(0x3d5,0xa5);      // unlock system + extension (40..5f);
  488.  outb(0x3d4,0x35);outb(0x3d5,0x00);      // unlock timing regs;
  489.  outb(0x3d4,0x11);outb(0x3d5,0x00);      // unlock timing regs;
  490.  
  491.  r0  = 0x7b; r1  = 0x63; r2  = 0x63; r3  = 0x80; r4  = 0x67;
  492.  r5  = 0x10; r6  = 0x6f; r7  = 0xf0; r8  = 0x00; r9  = 0x60;
  493.  r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
  494.  r15 = 0x00; r16 = 0x58; r17 = 0x8a; r18 = 0x57; r19 = 0x80;
  495.  r20 = 0x00; r21 = 0x57; r22 = 0x00; r23 = 0xe3; r24 = 0xff;
  496.  boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
  497.  
  498.  outb(0x3d4,0x3b);outb(0x3d5,0x74);
  499.  outb(0x3d4,0x42);outb(0x3d5,0x00);
  500.  outb(0x3d4,0x54);outb(0x3d5,0xe0);
  501.  outb(0x3d4,0x5d);outb(0x3d5,0x00);
  502.  outb(0x3d4,0x5e);outb(0x3d5,0x00);
  503.  outb(0x3d4,0x60);outb(0x3d5,0xff);
  504.  outb(0x3d4,0x67);outb(0x3d5,0x00);
  505.  
  506.  
  507. // TRIO64 internal clock synthesis
  508. // M/N value: 4863, DCLK
  509.  
  510.  outb(0x3c4,0x08); outb(0x3c5,0x06);
  511.  outb(0x3c4,0x15); outb(0x3c5,0x00);
  512.  outb(0x3c4,0x12); outb(0x3c5,0x48);
  513.  outb(0x3c4,0x13); outb(0x3c5,0x63);
  514.  outb(0x3c4,0x18); outb(0x3c5,0x40);
  515.  outb(0x3c4,0x15); outb(0x3c5,0x02);
  516. // Bit 2&3 set enable loading of DCLK parameters
  517.  outb(0x3c2,0xef);
  518.  outb(0x3c4,0x08); outb(0x3c5,0x00);
  519.  
  520. //# [SPEA]
  521.  //# SerialWord = 0x4863;
  522.  //# DacMode = 0x0;
  523.  //# Cr42 = 0x46;
  524.  
  525. // ***********************************
  526. // 0x006B
  527. // ***********************************
  528. [MODE]
  529.  0x006B;
  530. [MODEINFO]
  531.     ModeAttributes      = 0x1b;
  532.     WinAAttributes      = 7;
  533.     WinBAttributes      = 0;
  534.     WinAGranularity     = 64;
  535.     WinBGranularity     = 64;
  536.     WinASize            = 64;
  537.     WinBSize            = 64;
  538.     WinABase            = 0xa0000;
  539.     WinBBase            = 0xa0000;
  540.     BytesPerScanline    = 800;
  541.     XResolution         = 800;
  542.     YResolution         = 600;
  543.     XCharSize           = 8;
  544.     YCharSize           = 8;
  545.     Colormodel          = 1;
  546.     BitsPerPixel        = 8;
  547.     NumberOfColors      = 256;
  548.     BitsRGB             = 6;
  549.     NumberOfBanks       = 1;
  550.     BankSize            = 0;
  551.     MemoryModel         = 0x4;
  552.     NumberOfImagePages  = 0;
  553.  
  554. [SETMODE]
  555.  outb(0x3d4,0x38);outb(0x3d5,0x48);      // unlock S3 registers (30..3c);
  556.  outb(0x3d4,0x39);outb(0x3d5,0xa5);      // unlock system + extension (40..5f);
  557.  outb(0x3d4,0x35);outb(0x3d5,0x00);      // unlock timing regs;
  558.  outb(0x3d4,0x11);outb(0x3d5,0x00);      // unlock timing regs;
  559.  
  560.  r0  = 0x7b; r1  = 0x63; r2  = 0x63; r3  = 0x80; r4  = 0x67;
  561.  r5  = 0x10; r6  = 0x6f; r7  = 0xf0; r8  = 0x00; r9  = 0x60;
  562.  r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
  563.  r15 = 0x00; r16 = 0x58; r17 = 0x8a; r18 = 0x57; r19 = 0x64;
  564.  r20 = 0x00; r21 = 0x57; r22 = 0x00; r23 = 0xe3; r24 = 0xff;
  565.  boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
  566.  
  567.  outb(0x3d4,0x3b);outb(0x3d5,0x74);
  568.  outb(0x3d4,0x42);outb(0x3d5,0x00);
  569.  outb(0x3d4,0x54);outb(0x3d5,0xe0);
  570.  outb(0x3d4,0x5d);outb(0x3d5,0x00);
  571.  outb(0x3d4,0x5e);outb(0x3d5,0x00);
  572.  outb(0x3d4,0x60);outb(0x3d5,0xff);
  573.  outb(0x3d4,0x67);outb(0x3d5,0x00);
  574.  
  575.  
  576. // TRIO64 internal clock synthesis
  577. // M/N value: 4863, DCLK
  578.  
  579.  outb(0x3c4,0x08); outb(0x3c5,0x06);
  580.  outb(0x3c4,0x15); outb(0x3c5,0x00);
  581.  outb(0x3c4,0x12); outb(0x3c5,0x48);
  582.  outb(0x3c4,0x13); outb(0x3c5,0x63);
  583.  outb(0x3c4,0x18); outb(0x3c5,0x40);
  584.  outb(0x3c4,0x15); outb(0x3c5,0x02);
  585. // Bit 2&3 set enable loading of DCLK parameters
  586.  outb(0x3c2,0xef);
  587.  outb(0x3c4,0x08); outb(0x3c5,0x00);
  588.  
  589. //# [SPEA]
  590.  //# SerialWord = 0x4863;
  591.  //# DacMode = 0x0;
  592.  //# Cr42 = 0x46;
  593.  
  594. // ***********************************
  595. // 0x004A
  596. // ***********************************
  597. [MODE]
  598.  0x004A;
  599. [MODEINFO]
  600.     ModeAttributes      = 0x1b;
  601.     WinAAttributes      = 7;
  602.     WinBAttributes      = 0;
  603.     WinAGranularity     = 64;
  604.     WinBGranularity     = 64;
  605.     WinASize            = 64;
  606.     WinBSize            = 64;
  607.     WinABase            = 0xa0000;
  608.     WinBBase            = 0xa0000;
  609.     BytesPerScanline    = 1024;
  610.     XResolution         = 800;
  611.     YResolution         = 600;
  612.     XCharSize           = 8;
  613.     YCharSize           = 8;
  614.     Colormodel          = 1;
  615.     BitsPerPixel        = 4;
  616.     NumberOfColors      = 16;
  617.     BitsRGB             = 6;
  618.     NumberOfBanks       = 1;
  619.     BankSize            = 0;
  620.     MemoryModel         = 0x4;
  621.     NumberOfImagePages  = 0;
  622.  
  623. [SETMODE]
  624.  outb(0x3d4,0x38);outb(0x3d5,0x48);      // unlock S3 registers (30..3c);
  625.  outb(0x3d4,0x39);outb(0x3d5,0xa5);      // unlock system + extension (40..5f);
  626.  outb(0x3d4,0x35);outb(0x3d5,0x00);      // unlock timing regs;
  627.  outb(0x3d4,0x11);outb(0x3d5,0x00);      // unlock timing regs;
  628.  
  629.  r0  = 0x7b; r1  = 0x63; r2  = 0x63; r3  = 0x80; r4  = 0x69;
  630.  r5  = 0x12; r6  = 0x6f; r7  = 0xf0; r8  = 0x00; r9  = 0x60;
  631.  r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
  632.  r15 = 0x00; r16 = 0x58; r17 = 0x8a; r18 = 0x57; r19 = 0x80;
  633.  r20 = 0x00; r21 = 0x57; r22 = 0x00; r23 = 0xe3; r24 = 0xff;
  634.  boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
  635.  
  636.  outb(0x3d4,0x3b);outb(0x3d5,0x74);
  637.  outb(0x3d4,0x42);outb(0x3d5,0x00);
  638.  outb(0x3d4,0x54);outb(0x3d5,0xf8);
  639.  outb(0x3d4,0x5d);outb(0x3d5,0x00);
  640.  outb(0x3d4,0x5e);outb(0x3d5,0x00);
  641.  outb(0x3d4,0x60);outb(0x3d5,0xff);
  642.  outb(0x3d4,0x67);outb(0x3d5,0x00);
  643.  
  644.  
  645. // TRIO64 internal clock synthesis
  646. // M/N value: 4863, DCLK
  647.  
  648.  outb(0x3c4,0x08); outb(0x3c5,0x06);
  649.  outb(0x3c4,0x15); outb(0x3c5,0x00);
  650.  outb(0x3c4,0x12); outb(0x3c5,0x48);
  651.  outb(0x3c4,0x13); outb(0x3c5,0x63);
  652.  outb(0x3c4,0x18); outb(0x3c5,0x40);
  653.  outb(0x3c4,0x15); outb(0x3c5,0x02);
  654. // Bit 2&3 set enable loading of DCLK parameters
  655.  outb(0x3c2,0xef);
  656.  outb(0x3c4,0x08); outb(0x3c5,0x00);
  657.  
  658. //# [SPEA]
  659.  //# SerialWord = 0x4863;
  660.  //# DacMode = 0x0;
  661.  //# Cr42 = 0x46;
  662.  
  663. // ***********************************
  664. // 0x0071
  665. // ***********************************
  666. [MODE]
  667.  0x0071;
  668. [MODEINFO]
  669.     ModeAttributes      = 0x1b;
  670.     WinAAttributes      = 7;
  671.     WinBAttributes      = 0;
  672.     WinAGranularity     = 64;
  673.     WinBGranularity     = 64;
  674.     WinASize            = 64;
  675.     WinBSize            = 64;
  676.     WinABase            = 0xa0000;
  677.     WinBBase            = 0xa0000;
  678.     BytesPerScanline    = 1280;
  679.     XResolution         = 640;
  680.     YResolution         = 480;
  681.     XCharSize           = 8;
  682.     YCharSize           = 16;
  683.     Colormodel          = 2;
  684.     BitsPerPixel        = 16;
  685.     NumberOfColors      = 65536;
  686.     BitsRGB             = 6;
  687.     RedSize             = 5;
  688.     RedPosition         = 11;
  689.     GreenSize           = 6;
  690.     GreenPosition       = 5;
  691.     BlueSize            = 5;
  692.     BluePosition        = 0;
  693.     ReservedSize        = 0;
  694.     ReservedPosition    = 0;
  695.     NumberOfBanks       = 1;
  696.     BankSize            = 0;
  697.     MemoryModel         = 0x6;
  698.     NumberOfImagePages  = 0;
  699.  
  700. [SETMODE]
  701.  outb(0x3d4,0x38);outb(0x3d5,0x48);      // unlock S3 registers (30..3c);
  702.  outb(0x3d4,0x39);outb(0x3d5,0xa5);      // unlock system + extension (40..5f);
  703.  outb(0x3d4,0x35);outb(0x3d5,0x00);      // unlock timing regs;
  704.  outb(0x3d4,0x11);outb(0x3d5,0x00);      // unlock timing regs;
  705.  
  706.  r0  = 0xc2; r1  = 0x9f; r2  = 0xa0; r3  = 0x84; r4  = 0xa3;
  707.  r5  = 0x1b; r6  = 0x0c; r7  = 0x3e; r8  = 0x00; r9  = 0x40;
  708.  r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
  709.  r15 = 0x00; r16 = 0xe9; r17 = 0x8b; r18 = 0xdf; r19 = 0xa0;
  710.  r20 = 0x60; r21 = 0xe7; r22 = 0x04; r23 = 0xab; r24 = 0xff;
  711.  boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
  712.  
  713.  outb(0x3d4,0x3b);outb(0x3d5,0xbb);
  714.  outb(0x3d4,0x42);outb(0x3d5,0x00);
  715.  outb(0x3d4,0x54);outb(0x3d5,0x70);
  716.  outb(0x3d4,0x5d);outb(0x3d5,0x00);
  717.  outb(0x3d4,0x5e);outb(0x3d5,0x00);
  718.  outb(0x3d4,0x60);outb(0x3d5,0xff);
  719.  outb(0x3d4,0x67);outb(0x3d5,0x50);
  720.  
  721.  
  722. // TRIO64 internal clock synthesis
  723. // M/N value: 6128, DCLK
  724.  
  725.  outb(0x3c4,0x08); outb(0x3c5,0x06);
  726.  outb(0x3c4,0x15); outb(0x3c5,0x00);
  727.  outb(0x3c4,0x12); outb(0x3c5,0x61);
  728.  outb(0x3c4,0x13); outb(0x3c5,0x28);
  729.  outb(0x3c4,0x18); outb(0x3c5,0x40);
  730.  outb(0x3c4,0x15); outb(0x3c5,0x02);
  731. // Bit 2&3 set enable loading of DCLK parameters
  732.  outb(0x3c2,0xef);
  733.  outb(0x3c4,0x08); outb(0x3c5,0x00);
  734.  
  735. //# [SPEA]
  736.  //# SerialWord = 0x6128;
  737.  //# DacMode = 0x2;
  738.  //# Cr42 = 0x0;
  739.  
  740. // ***********************************
  741. // 0x0049
  742. // ***********************************
  743. [MODE]
  744.  0x0049;
  745. [MODEINFO]
  746.     ModeAttributes      = 0x1b;
  747.     WinAAttributes      = 7;
  748.     WinBAttributes      = 0;
  749.     WinAGranularity     = 64;
  750.     WinBGranularity     = 64;
  751.     WinASize            = 64;
  752.     WinBSize            = 64;
  753.     WinABase            = 0xa0000;
  754.     WinBBase            = 0xa0000;
  755.     BytesPerScanline    = 1024;
  756.     XResolution         = 640;
  757.     YResolution         = 480;
  758.     XCharSize           = 8;
  759.     YCharSize           = 16;
  760.     Colormodel          = 1;
  761.     BitsPerPixel        = 8;
  762.     NumberOfColors      = 256;
  763.     BitsRGB             = 6;
  764.     NumberOfBanks       = 1;
  765.     BankSize            = 0;
  766.     MemoryModel         = 0x4;
  767.     NumberOfImagePages  = 0;
  768.  
  769. [SETMODE]
  770.  outb(0x3d4,0x38);outb(0x3d5,0x48);      // unlock S3 registers (30..3c);
  771.  outb(0x3d4,0x39);outb(0x3d5,0xa5);      // unlock system + extension (40..5f);
  772.  outb(0x3d4,0x35);outb(0x3d5,0x00);      // unlock timing regs;
  773.  outb(0x3d4,0x11);outb(0x3d5,0x00);      // unlock timing regs;
  774.  
  775.  r0  = 0x5f; r1  = 0x4f; r2  = 0x50; r3  = 0x02; r4  = 0x53;
  776.  r5  = 0x9f; r6  = 0x0b; r7  = 0x3e; r8  = 0x00; r9  = 0x40;
  777.  r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
  778.  r15 = 0x00; r16 = 0xea; r17 = 0x8c; r18 = 0xdf; r19 = 0x80;
  779.  r20 = 0x60; r21 = 0xe7; r22 = 0x04; r23 = 0xab; r24 = 0xff;
  780.  boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
  781.  
  782.  outb(0x3d4,0x3b);outb(0x3d5,0x58);
  783.  outb(0x3d4,0x42);outb(0x3d5,0x00);
  784.  outb(0x3d4,0x54);outb(0x3d5,0xf8);
  785.  outb(0x3d4,0x5d);outb(0x3d5,0x00);
  786.  outb(0x3d4,0x5e);outb(0x3d5,0x00);
  787.  outb(0x3d4,0x60);outb(0x3d5,0xff);
  788.  outb(0x3d4,0x67);outb(0x3d5,0x00);
  789.  
  790.  
  791. // TRIO64 internal clock synthesis
  792. // M/N value: 6128, DCLK
  793.  
  794.  outb(0x3c4,0x08); outb(0x3c5,0x06);
  795.  outb(0x3c4,0x15); outb(0x3c5,0x00);
  796.  outb(0x3c4,0x12); outb(0x3c5,0x61);
  797.  outb(0x3c4,0x13); outb(0x3c5,0x28);
  798.  outb(0x3c4,0x18); outb(0x3c5,0x40);
  799.  outb(0x3c4,0x15); outb(0x3c5,0x02);
  800. // Bit 2&3 set enable loading of DCLK parameters
  801.  outb(0x3c2,0xef);
  802.  outb(0x3c4,0x08); outb(0x3c5,0x00);
  803.  
  804. //# [SPEA]
  805.  //# SerialWord = 0x6128;
  806.  //# DacMode = 0x0;
  807.  //# Cr42 = 0x40;
  808.  
  809. // ***********************************
  810. // 0x0069
  811. // ***********************************
  812. [MODE]
  813.  0x0069;
  814. [MODEINFO]
  815.     ModeAttributes      = 0x1b;
  816.     WinAAttributes      = 7;
  817.     WinBAttributes      = 0;
  818.     WinAGranularity     = 64;
  819.     WinBGranularity     = 64;
  820.     WinASize            = 64;
  821.     WinBSize            = 64;
  822.     WinABase            = 0xa0000;
  823.     WinBBase            = 0xa0000;
  824.     BytesPerScanline    = 640;
  825.     XResolution         = 640;
  826.     YResolution         = 480;
  827.     XCharSize           = 8;
  828.     YCharSize           = 16;
  829.     Colormodel          = 1;
  830.     BitsPerPixel        = 8;
  831.     NumberOfColors      = 256;
  832.     BitsRGB             = 6;
  833.     NumberOfBanks       = 1;
  834.     BankSize            = 0;
  835.     MemoryModel         = 0x4;
  836.     NumberOfImagePages  = 0;
  837.  
  838. [SETMODE]
  839.  outb(0x3d4,0x38);outb(0x3d5,0x48);      // unlock S3 registers (30..3c);
  840.  outb(0x3d4,0x39);outb(0x3d5,0xa5);      // unlock system + extension (40..5f);
  841.  outb(0x3d4,0x35);outb(0x3d5,0x00);      // unlock timing regs;
  842.  outb(0x3d4,0x11);outb(0x3d5,0x00);      // unlock timing regs;
  843.  
  844.  r0  = 0x5f; r1  = 0x4f; r2  = 0x50; r3  = 0x02; r4  = 0x53;
  845.  r5  = 0x9f; r6  = 0x0b; r7  = 0x3e; r8  = 0x00; r9  = 0x40;
  846.  r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
  847.  r15 = 0x00; r16 = 0xea; r17 = 0x8c; r18 = 0xdf; r19 = 0x50;
  848.  r20 = 0x60; r21 = 0xe7; r22 = 0x04; r23 = 0xab; r24 = 0xff;
  849.  boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
  850.  
  851.  outb(0x3d4,0x3b);outb(0x3d5,0x58);
  852.  outb(0x3d4,0x42);outb(0x3d5,0x00);
  853.  outb(0x3d4,0x54);outb(0x3d5,0xf8);
  854.  outb(0x3d4,0x5d);outb(0x3d5,0x00);
  855.  outb(0x3d4,0x5e);outb(0x3d5,0x00);
  856.  outb(0x3d4,0x60);outb(0x3d5,0xff);
  857.  outb(0x3d4,0x67);outb(0x3d5,0x00);
  858.  
  859.  
  860. // TRIO64 internal clock synthesis
  861. // M/N value: 6128, DCLK
  862.  
  863.  outb(0x3c4,0x08); outb(0x3c5,0x06);
  864.  outb(0x3c4,0x15); outb(0x3c5,0x00);
  865.  outb(0x3c4,0x12); outb(0x3c5,0x61);
  866.  outb(0x3c4,0x13); outb(0x3c5,0x28);
  867.  outb(0x3c4,0x18); outb(0x3c5,0x40);
  868.  outb(0x3c4,0x15); outb(0x3c5,0x02);
  869. // Bit 2&3 set enable loading of DCLK parameters
  870.  outb(0x3c2,0xef);
  871.  outb(0x3c4,0x08); outb(0x3c5,0x00);
  872.  
  873. //# [SPEA]
  874.  //# SerialWord = 0x6128;
  875.  //# DacMode = 0x0;
  876.  //# Cr42 = 0x40;
  877.  
  878. // ***********************************
  879. // 0x0068
  880. // ***********************************
  881. [MODE]
  882.  0x0068;
  883. [MODEINFO]
  884.     ModeAttributes      = 0x1b;
  885.     WinAAttributes      = 7;
  886.     WinBAttributes      = 0;
  887.     WinAGranularity     = 64;
  888.     WinBGranularity     = 64;
  889.     WinASize            = 64;
  890.     WinBSize            = 64;
  891.     WinABase            = 0xa0000;
  892.     WinBBase            = 0xa0000;
  893.     BytesPerScanline    = 640;
  894.     XResolution         = 640;
  895.     YResolution         = 400;
  896.     XCharSize           = 8;
  897.     YCharSize           = 16;
  898.     Colormodel          = 1;
  899.     BitsPerPixel        = 8;
  900.     NumberOfColors      = 256;
  901.     BitsRGB             = 6;
  902.     NumberOfBanks       = 1;
  903.     BankSize            = 0;
  904.     MemoryModel         = 0x4;
  905.     NumberOfImagePages  = 0;
  906.  
  907. [SETMODE]
  908.  outb(0x3d4,0x38);outb(0x3d5,0x48);      // unlock S3 registers (30..3c);
  909.  outb(0x3d4,0x39);outb(0x3d5,0xa5);      // unlock system + extension (40..5f);
  910.  outb(0x3d4,0x35);outb(0x3d5,0x00);      // unlock timing regs;
  911.  outb(0x3d4,0x11);outb(0x3d5,0x00);      // unlock timing regs;
  912.  
  913.  r0  = 0x5f; r1  = 0x4f; r2  = 0x50; r3  = 0x82; r4  = 0x54;
  914.  r5  = 0x80; r6  = 0xbf; r7  = 0x1f; r8  = 0x00; r9  = 0x40;
  915.  r10 = 0x00; r11 = 0x00; r12 = 0x00; r13 = 0x00; r14 = 0xff;
  916.  r15 = 0x00; r16 = 0x9c; r17 = 0x8e; r18 = 0x8f; r19 = 0x50;
  917.  r20 = 0x40; r21 = 0x96; r22 = 0xb9; r23 = 0xa3; r24 = 0xff;
  918.  boutb(25,0x3d4,0x3d5);// forced display start address to 0,0
  919.  
  920.  outb(0x3d4,0x3b);outb(0x3d5,0x58);
  921.  outb(0x3d4,0x42);outb(0x3d5,0x00);
  922.  outb(0x3d4,0x54);outb(0x3d5,0x50);
  923.  outb(0x3d4,0x5d);outb(0x3d5,0x00);
  924.  outb(0x3d4,0x5e);outb(0x3d5,0x00);
  925.  outb(0x3d4,0x60);outb(0x3d5,0xff);
  926.  outb(0x3d4,0x67);outb(0x3d5,0x00);
  927.  
  928.  
  929. // TRIO64 internal clock synthesis
  930. // M/N value: 6128, DCLK
  931.  
  932.  outb(0x3c4,0x08); outb(0x3c5,0x06);
  933.  outb(0x3c4,0x15); outb(0x3c5,0x00);
  934.  outb(0x3c4,0x12); outb(0x3c5,0x61);
  935.  outb(0x3c4,0x13); outb(0x3c5,0x28);
  936.  outb(0x3c4,0x18); outb(0x3c5,0x40);
  937.  outb(0x3c4,0x15); outb(0x3c5,0x02);
  938. // Bit 2&3 set enable loading of DCLK parameters
  939.  outb(0x3c2,0xef);
  940.  outb(0x3c4,0x08); outb(0x3c5,0x00);
  941.  
  942. //# [SPEA]
  943.  //# SerialWord = 0x6128;
  944.  //# DacMode = 0x0;
  945.  //# Cr42 = 0x40;
  946.  
  947.