home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 33 VDrivers / 33-VDrivers.zip / winn1000.zip / SVGADATA.PMI < prev    next >
Text File  |  1994-11-15  |  59KB  |  2,557 lines

  1. /*
  2.  *    OS/2 2.1 SVGA PMI-File Generator
  3.  */
  4.  
  5. /*
  6.  *    Lock Extended Registers
  7.  */
  8.  
  9. [Lock]
  10. outb(0x3d4, 0x38);
  11. outb(0x3d5, 0x00);
  12. outb(0x3d4, 0x39);
  13. outb(0x3d5, 0x00);
  14.  
  15. /*
  16.  *    Unlock Extended Registers
  17.  */
  18.  
  19. [UnLock]
  20. outb(0x3d4, 0x38);
  21. outb(0x3d5, 0x48);
  22. outb(0x3d4, 0x39);
  23. outb(0x3d5, 0xa0);
  24. outb(0x3b4, 0x38);
  25. outb(0x3b5, 0x48);
  26. outb(0x3b4, 0x39);
  27. outb(0x3b5, 0xa0);
  28.  
  29. [Cleanup]
  30.  
  31. rmww(0x4ae8, 0x4ae8, 0x00, 0x00);
  32. rmwb(0x3d4, 0x3d5, 0x31, 0xf7, 0x00);
  33. rmwb(0x3d4, 0x3d5, 0x34, 0x00, 0x00);
  34. rmwb(0x3d4, 0x3d5, 0x3a, 0xef, 0x00);
  35. rmwb(0x3d4, 0x3d5, 0x40, 0xfe, 0x00);
  36. rmwb(0x3d4, 0x3d5, 0x45, 0xfe, 0x00);
  37. rmwb(0x3d4, 0x3d5, 0x51, 0xf3, 0x00);
  38. rmwb(0x3d4, 0x3d5, 0x58, 0xec, 0x00);
  39. rmwb(0x3d4, 0x3d5, 0x60, 0x00, 0x07);
  40. rmwb(0x3d4, 0x3d5, 0x61, 0x00, 0x80);
  41. rmwb(0x3d4, 0x3d5, 0x62, 0x00, 0xa1);
  42.  
  43. /*
  44.  *    HI-COLOR DAC by Brooktree Corporation
  45.  */
  46.  
  47. [comment]
  48.     Graphics Mode: 640 x 480 x 256 colors.
  49.  
  50. [AdapterType]
  51.         S3
  52.  
  53. [ChipSet]
  54.         S386C928
  55.  
  56. [ModeInfo]
  57.         ModeAttributes   = 0x18
  58.         BytesPerScanLine = 80
  59.         XResolution      = 640
  60.         YResolution      = 480
  61.         TextRows         = 30
  62.         BitsPerPixel     = 8
  63.         NumberOfPlanes   = 1
  64.         PageLength       = 491520
  65.         SaveSize         = 491520
  66.         TotalMemory      = 4194304
  67.         InterlaceMode    = 0
  68.         BufferAddress    = 0x0a0000
  69.  
  70. [TrapRegs]
  71.     0x3c2;
  72.     0x3c4, 0x00-0x04;
  73.     0x3c5;
  74.         0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
  75.     0x3d5;
  76.     0x3c0, 0x00-0x14;
  77.     0x3c1;
  78.     0x3ce, 0x00-0x08;
  79.     0x3cf;
  80.     0x4ae8;
  81.     0xbee8;
  82.     0x96e8;
  83.     0x86e8;
  84.     0x82e8;
  85.  
  86. [SetMode]
  87.  
  88. /*
  89.  *    Set Hi Color DAC
  90.  */
  91.  
  92. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  93. r1    = 0x00;
  94. outb(0x3c6, r1);
  95. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  96. r1    = 0x00;
  97. outb(0x3c8, r1);
  98. r1    = 0x00;
  99. outb(0x3c9, r1);
  100. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  101. rmww(0x3c6, 0x3c6, 0xff, 0x80);
  102. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  103. outb(0x3c8, 0x01);
  104. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  105. r1    = 0x00;
  106. outb(0x3c6, r1);
  107. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  108.  
  109. /*
  110.  *    Set Miscellaneous Output Register
  111.  */
  112.  
  113. outb(0x3c2, 0xef);
  114.  
  115.  
  116. /*
  117.  *    Set Sequencer Registers
  118.  */
  119.  
  120. r0   = 0x00; r1   = 0x01; r2   = 0x0f; r3   = 0x00; r4   = 0x0e;
  121. boutb(5, 0x00, 0x3c4, 0x3c5);
  122.  
  123. outw(0x3c4, 0x0300);
  124. /*
  125.  *    Set CRT Registers
  126.  */
  127.  
  128. outw(0x3d4, 0x0e11);
  129. r0   = 0x2f; r1   = 0x27; r2   = 0x28; r3   = 0x8a; r4   = 0x2a;
  130. r5   = 0x8d; r6   = 0x06; r7   = 0x3e; r8   = 0x00; r9   = 0x40;
  131. r10  = 0x00; r11  = 0x00; r12  = 0x00; r13  = 0x00; r14  = 0xff;
  132. r15  = 0x00; r16  = 0xe8; r17  = 0x8b; r18  = 0xdf; r19  = 0x50;
  133. r20  = 0x60; r21  = 0xdf; r22  = 0x06; r23  = 0xab; r24  = 0xff;
  134. boutb(25, 0x00, 0x3d4, 0x3d5);
  135.  
  136. r80  = 0x00; r81  = 0x00; r82  = 0xff; r83  = 0x00; r84  = 0x00;
  137. r85  = 0x00; r86  = 0x00; r87  = 0x00; r88  = 0x18; r89  = 0x00;
  138. boutb(10, 0x50, 0x3d4, 0x3d5);
  139.  
  140. r92  = 0x02; r93  = 0x00; r94  = 0x00;
  141. boutb(3, 0x5c, 0x3d4, 0x3d5);
  142.  
  143. r96  = 0x07; r97  = 0x80; r98  = 0xa1;
  144. boutb(3, 0x60, 0x3d4, 0x3d5);
  145.  
  146. r49  = 0x8d; r50  = 0x00; r51  = 0x20; r52  = 0x00; r53  = 0x00;
  147. boutb(5, 0x31, 0x3d4, 0x3d5);
  148.  
  149. r58  = 0x95; r59  = 0x5e; r60  = 0x40;
  150. boutb(3, 0x3a, 0x3d4, 0x3d5);
  151.  
  152. r64  = 0x01;
  153. boutb(1, 0x40, 0x3d4, 0x3d5);
  154.  
  155. r67  = 0x80;
  156. boutb(1, 0x43, 0x3d4, 0x3d5);
  157.  
  158. r69  = 0x80; r70  = 0x80; r71  = 0xff; r72  = 0xfc; r73  = 0xff;
  159. boutb(5, 0x45, 0x3d4, 0x3d5);
  160.  
  161. r76  = 0xff; r77  = 0xff; r78  = 0xff; r79  = 0xdf;
  162. boutb(4, 0x4c, 0x3d4, 0x3d5);
  163.  
  164. r66  = 0x02;
  165. boutb(1, 0x42, 0x3d4, 0x3d5);
  166.  
  167. /*
  168.  *    Set Attribute Registers
  169.  */
  170.  
  171. r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
  172. r5   = 0x05; r6   = 0x06; r7   = 0x07; r8   = 0x10; r9   = 0x11;
  173. r10  = 0x12; r11  = 0x13; r12  = 0x14; r13  = 0x15; r14  = 0x16;
  174. r15  = 0x17; r16  = 0x41; r17  = 0x00; r18  = 0x0f; r19  = 0x00;
  175. r20  = 0x00;
  176. boutb(21, 0x00, 0x3c0, 0x3c1);
  177.  
  178. /*
  179.  *    Set GDC Registers
  180.  */
  181.  
  182. r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
  183. r5   = 0x40; r6   = 0x05; r7   = 0x0f; r8   = 0xff;
  184. boutb(9, 0x00, 0x3ce, 0x3cf);
  185.  
  186. /*
  187.  *    Set Enhanced Command Registers
  188.  */
  189.  
  190. outw(0x4ae8, 0x0001);
  191. outw(0xbee8, 0x1000);
  192. outw(0xbee8, 0x33ff);
  193. outw(0xbee8, 0x2000);
  194. outw(0xbee8, 0x43ff);
  195. outw(0xbee8, 0xa000);
  196. outw(0xbee8, 0x03ff);
  197. outw(0x96e8, 0x03ff);
  198. outw(0x86e8, 0x0000);
  199. outw(0x82e8, 0x0000);
  200.  
  201. [comment]
  202.         Graphics Mode: 640 x 480 x 64k colors.
  203.  
  204. [AdapterType]
  205.         S3
  206.  
  207. [ChipSet]
  208.         S386C928
  209.  
  210. [ModeInfo]
  211.         ModeAttributes   = 0x18
  212.         BytesPerScanLine = 80
  213.         XResolution      = 640
  214.         YResolution      = 480
  215.         TextRows         = 30
  216.         BitsPerPixel     = 16
  217.         NumberOfPlanes   = 1
  218.         PageLength       = 614400
  219.         SaveSize         = 614400
  220.         TotalMemory      = 4194304
  221.         InterlaceMode    = 0
  222.         BufferAddress    = 0x0a0000
  223.  
  224. [TrapRegs]
  225.     0x3c2;
  226.     0x3c4, 0x00-0x04;
  227.     0x3c5;
  228.         0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
  229.     0x3d5;
  230.     0x3c0, 0x00-0x14;
  231.     0x3c1;
  232.     0x3ce, 0x00-0x08;
  233.     0x3cf;
  234.     0x4ae8;
  235.     0xbee8;
  236.     0x96e8;
  237.     0x86e8;
  238.     0x82e8;
  239.  
  240. [SetMode]
  241.  
  242. /*
  243.  *    Set Hi Color DAC
  244.  */
  245.  
  246. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  247. r1    = 0x00;
  248. outb(0x3c6, r1);
  249. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  250. r1    = 0x00;
  251. outb(0x3c8, r1);
  252. r1    = 0x00;
  253. outb(0x3c9, r1);
  254. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  255. rmww(0x3c6, 0x3c6, 0xff, 0x80);
  256. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  257. outb(0x3c8, 0x01);
  258. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  259. r1    = 0x00;
  260. outb(0x3c6, r1);
  261. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  262.  
  263. /*
  264.  *    Set Miscellaneous Output Register
  265.  */
  266.  
  267. outb(0x3c2, 0xef);
  268.  
  269.  
  270. /*
  271.  *    Set Sequencer Registers
  272.  */
  273.  
  274. r0   = 0x00; r1   = 0x01; r2   = 0x0f; r3   = 0x00; r4   = 0x0e;
  275. boutb(5, 0x00, 0x3c4, 0x3c5);
  276.  
  277. outw(0x3c4, 0x0300);
  278. /*
  279.  *    Set CRT Registers
  280.  */
  281.  
  282. outw(0x3d4, 0x0e11);
  283. r0   = 0x2f; r1   = 0x27; r2   = 0x28; r3   = 0x8a; r4   = 0x2a;
  284. r5   = 0x8d; r6   = 0x06; r7   = 0x3e; r8   = 0x00; r9   = 0x40;
  285. r10  = 0x00; r11  = 0x00; r12  = 0x00; r13  = 0x00; r14  = 0xff;
  286. r15  = 0x00; r16  = 0xe8; r17  = 0x8b; r18  = 0xdf; r19  = 0x50;
  287. r20  = 0x60; r21  = 0xdf; r22  = 0x06; r23  = 0xab; r24  = 0xff;
  288. boutb(25, 0x00, 0x3d4, 0x3d5);
  289.  
  290. r80  = 0x00; r81  = 0x00; r82  = 0xff; r83  = 0x00; r84  = 0x00;
  291. r85  = 0x00; r86  = 0x00; r87  = 0x00; r88  = 0x18; r89  = 0x00;
  292. boutb(10, 0x50, 0x3d4, 0x3d5);
  293.  
  294. r92  = 0x02; r93  = 0x00; r94  = 0x00;
  295. boutb(3, 0x5c, 0x3d4, 0x3d5);
  296.  
  297. r96  = 0x07; r97  = 0x80; r98  = 0xa1;
  298. boutb(3, 0x60, 0x3d4, 0x3d5);
  299.  
  300. r49  = 0x8d; r50  = 0x00; r51  = 0x20; r52  = 0x00; r53  = 0x00;
  301. boutb(5, 0x31, 0x3d4, 0x3d5);
  302.  
  303. r58  = 0x95; r59  = 0x5e; r60  = 0x40;
  304. boutb(3, 0x3a, 0x3d4, 0x3d5);
  305.  
  306. r64  = 0x01;
  307. boutb(1, 0x40, 0x3d4, 0x3d5);
  308.  
  309. r67  = 0x80;
  310. boutb(1, 0x43, 0x3d4, 0x3d5);
  311.  
  312. r69  = 0x80; r70  = 0x80; r71  = 0xff; r72  = 0xfc; r73  = 0xff;
  313. boutb(5, 0x45, 0x3d4, 0x3d5);
  314.  
  315. r76  = 0xff; r77  = 0xff; r78  = 0xff; r79  = 0xdf;
  316. boutb(4, 0x4c, 0x3d4, 0x3d5);
  317.  
  318. r66  = 0x02;
  319. boutb(1, 0x42, 0x3d4, 0x3d5);
  320.  
  321. /*
  322.  *    Set Attribute Registers
  323.  */
  324.  
  325. r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
  326. r5   = 0x05; r6   = 0x06; r7   = 0x07; r8   = 0x10; r9   = 0x11;
  327. r10  = 0x12; r11  = 0x13; r12  = 0x14; r13  = 0x15; r14  = 0x16;
  328. r15  = 0x17; r16  = 0x41; r17  = 0x00; r18  = 0x0f; r19  = 0x00;
  329. r20  = 0x00;
  330. boutb(21, 0x00, 0x3c0, 0x3c1);
  331.  
  332. /*
  333.  *    Set GDC Registers
  334.  */
  335.  
  336. r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
  337. r5   = 0x40; r6   = 0x05; r7   = 0x0f; r8   = 0xff;
  338. boutb(9, 0x00, 0x3ce, 0x3cf);
  339.  
  340. /*
  341.  *    Set Enhanced Command Registers
  342.  */
  343.  
  344. outw(0x4ae8, 0x0001);
  345. outw(0xbee8, 0x1000);
  346. outw(0xbee8, 0x33ff);
  347. outw(0xbee8, 0x2000);
  348. outw(0xbee8, 0x43ff);
  349. outw(0xbee8, 0xa000);
  350. outw(0xbee8, 0x03ff);
  351. outw(0x96e8, 0x03ff);
  352. outw(0x86e8, 0x0000);
  353. outw(0x82e8, 0x0000);
  354.  
  355. [comment]
  356.         Graphics Mode: 640 x 480 x 16,7Mio colors.
  357.  
  358. [AdapterType]
  359.         S3
  360.  
  361. [ChipSet]
  362.         S386C928
  363.  
  364. [ModeInfo]
  365.         ModeAttributes   = 0x18
  366.         BytesPerScanLine = 80
  367.         XResolution      = 640
  368.         YResolution      = 480
  369.         TextRows         = 30
  370.         BitsPerPixel     = 32
  371.         NumberOfPlanes   = 1
  372.         PageLength       = 1228800
  373.         SaveSize         = 1228800
  374.         TotalMemory      = 4194304
  375.         InterlaceMode    = 0
  376.         BufferAddress    = 0x0a0000
  377.  
  378. [TrapRegs]
  379.     0x3c2;
  380.     0x3c4, 0x00-0x04;
  381.     0x3c5;
  382.         0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
  383.     0x3d5;
  384.     0x3c0, 0x00-0x14;
  385.     0x3c1;
  386.     0x3ce, 0x00-0x08;
  387.     0x3cf;
  388.     0x4ae8;
  389.     0xbee8;
  390.     0x96e8;
  391.     0x86e8;
  392.     0x82e8;
  393.  
  394. [SetMode]
  395.  
  396. /*
  397.  *    Set Hi Color DAC
  398.  */
  399.  
  400. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  401. r1    = 0x00;
  402. outb(0x3c6, r1);
  403. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  404. r1    = 0x00;
  405. outb(0x3c8, r1);
  406. r1    = 0x00;
  407. outb(0x3c9, r1);
  408. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  409. rmww(0x3c6, 0x3c6, 0xff, 0x80);
  410. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  411. outb(0x3c8, 0x01);
  412. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  413. r1    = 0x00;
  414. outb(0x3c6, r1);
  415. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  416.  
  417. /*
  418.  *    Set Miscellaneous Output Register
  419.  */
  420.  
  421. outb(0x3c2, 0xef);
  422.  
  423.  
  424. /*
  425.  *    Set Sequencer Registers
  426.  */
  427.  
  428. r0   = 0x00; r1   = 0x01; r2   = 0x0f; r3   = 0x00; r4   = 0x0e;
  429. boutb(5, 0x00, 0x3c4, 0x3c5);
  430.  
  431. outw(0x3c4, 0x0300);
  432. /*
  433.  *    Set CRT Registers
  434.  */
  435.  
  436. outw(0x3d4, 0x0e11);
  437. r0   = 0x2f; r1   = 0x27; r2   = 0x28; r3   = 0x8a; r4   = 0x2a;
  438. r5   = 0x8d; r6   = 0x06; r7   = 0x3e; r8   = 0x00; r9   = 0x40;
  439. r10  = 0x00; r11  = 0x00; r12  = 0x00; r13  = 0x00; r14  = 0xff;
  440. r15  = 0x00; r16  = 0xe8; r17  = 0x8b; r18  = 0xdf; r19  = 0x50;
  441. r20  = 0x60; r21  = 0xdf; r22  = 0x06; r23  = 0xab; r24  = 0xff;
  442. boutb(25, 0x00, 0x3d4, 0x3d5);
  443.  
  444. r80  = 0x00; r81  = 0x00; r82  = 0xff; r83  = 0x00; r84  = 0x00;
  445. r85  = 0x00; r86  = 0x00; r87  = 0x00; r88  = 0x18; r89  = 0x00;
  446. boutb(10, 0x50, 0x3d4, 0x3d5);
  447.  
  448. r92  = 0x02; r93  = 0x00; r94  = 0x00;
  449. boutb(3, 0x5c, 0x3d4, 0x3d5);
  450.  
  451. r96  = 0x07; r97  = 0x80; r98  = 0xa1;
  452. boutb(3, 0x60, 0x3d4, 0x3d5);
  453.  
  454. r49  = 0x8d; r50  = 0x00; r51  = 0x20; r52  = 0x00; r53  = 0x00;
  455. boutb(5, 0x31, 0x3d4, 0x3d5);
  456.  
  457. r58  = 0x95; r59  = 0x5e; r60  = 0x40;
  458. boutb(3, 0x3a, 0x3d4, 0x3d5);
  459.  
  460. r64  = 0x01;
  461. boutb(1, 0x40, 0x3d4, 0x3d5);
  462.  
  463. r67  = 0x80;
  464. boutb(1, 0x43, 0x3d4, 0x3d5);
  465.  
  466. r69  = 0x80; r70  = 0x80; r71  = 0xff; r72  = 0xfc; r73  = 0xff;
  467. boutb(5, 0x45, 0x3d4, 0x3d5);
  468.  
  469. r76  = 0xff; r77  = 0xff; r78  = 0xff; r79  = 0xdf;
  470. boutb(4, 0x4c, 0x3d4, 0x3d5);
  471.  
  472. r66  = 0x02;
  473. boutb(1, 0x42, 0x3d4, 0x3d5);
  474.  
  475. /*
  476.  *    Set Attribute Registers
  477.  */
  478.  
  479. r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
  480. r5   = 0x05; r6   = 0x06; r7   = 0x07; r8   = 0x10; r9   = 0x11;
  481. r10  = 0x12; r11  = 0x13; r12  = 0x14; r13  = 0x15; r14  = 0x16;
  482. r15  = 0x17; r16  = 0x41; r17  = 0x00; r18  = 0x0f; r19  = 0x00;
  483. r20  = 0x00;
  484. boutb(21, 0x00, 0x3c0, 0x3c1);
  485.  
  486. /*
  487.  *    Set GDC Registers
  488.  */
  489.  
  490. r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
  491. r5   = 0x40; r6   = 0x05; r7   = 0x0f; r8   = 0xff;
  492. boutb(9, 0x00, 0x3ce, 0x3cf);
  493.  
  494. /*
  495.  *    Set Enhanced Command Registers
  496.  */
  497.  
  498. outw(0x4ae8, 0x0001);
  499. outw(0xbee8, 0x1000);
  500. outw(0xbee8, 0x33ff);
  501. outw(0xbee8, 0x2000);
  502. outw(0xbee8, 0x43ff);
  503. outw(0xbee8, 0xa000);
  504. outw(0xbee8, 0x03ff);
  505. outw(0x96e8, 0x03ff);
  506. outw(0x86e8, 0x0000);
  507. outw(0x82e8, 0x0000);
  508.  
  509. [comment]
  510.     Graphics Mode: 800 x 600 x 256 colors.
  511.  
  512. [AdapterType]
  513.         S3
  514.  
  515. [ChipSet]
  516.         S386C928
  517.  
  518. [ModeInfo]
  519.         ModeAttributes   = 0x18
  520.         BytesPerScanLine = 100
  521.         XResolution      = 800
  522.         YResolution      = 600
  523.         TextRows         = 37
  524.         BitsPerPixel     = 8
  525.         NumberOfPlanes   = 1
  526.         PageLength       = 614400
  527.         SaveSize         = 614400
  528.         TotalMemory      = 4194304
  529.         InterlaceMode    = 0
  530.         BufferAddress    = 0x0a0000
  531.  
  532. [TrapRegs]
  533.     0x3c2;
  534.     0x3c4, 0x00-0x04;
  535.     0x3c5;
  536.         0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
  537.     0x3d5;
  538.     0x3c0, 0x00-0x14;
  539.     0x3c1;
  540.     0x3ce, 0x00-0x08;
  541.     0x3cf;
  542.     0x4ae8;
  543.     0xbee8;
  544.     0x96e8;
  545.     0x86e8;
  546.     0x82e8;
  547.  
  548. [SetMode]
  549.  
  550. /*
  551.  *    Set Hi Color DAC
  552.  */
  553.  
  554. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  555. r1    = 0x00;
  556. outb(0x3c6, r1);
  557. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  558. r1    = 0x00;
  559. outb(0x3c8, r1);
  560. r1    = 0x00;
  561. outb(0x3c9, r1);
  562. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  563. rmww(0x3c6, 0x3c6, 0xff, 0x80);
  564. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  565. outb(0x3c8, 0x01);
  566. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  567. r1    = 0x00;
  568. outb(0x3c6, r1);
  569. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  570.  
  571. /*
  572.  *    Set Miscellaneous Output Register
  573.  */
  574.  
  575. outb(0x3c2, 0x6f);
  576.  
  577.  
  578. /*
  579.  *    Set Sequencer Registers
  580.  */
  581.  
  582. r0   = 0x00; r1   = 0x01; r2   = 0x0f; r3   = 0x00; r4   = 0x0e;
  583. boutb(5, 0x00, 0x3c4, 0x3c5);
  584.  
  585. outw(0x3c4, 0x0300);
  586. /*
  587.  *    Set CRT Registers
  588.  */
  589.  
  590. outw(0x3d4, 0x0e11);
  591. r0   = 0x9a; r1   = 0x83; r2   = 0x86; r3   = 0x9d; r4   = 0x87;
  592. r5   = 0x1b; r6   = 0xbf; r7   = 0x1f; r8   = 0x00; r9   = 0x4f;
  593. r10  = 0x0d; r11  = 0x0e; r12  = 0x00; r13  = 0x00; r14  = 0x03;
  594. r15  = 0x9c; r16  = 0x9c; r17  = 0x8e; r18  = 0x8f; r19  = 0x64;
  595. r20  = 0x1f; r21  = 0x96; r22  = 0xb9; r23  = 0xa3; r24  = 0xff;
  596. boutb(25, 0x00, 0x3d4, 0x3d5);
  597.  
  598. r80  = 0x00; r81  = 0x00; r82  = 0xff; r83  = 0x00; r84  = 0x08;
  599. r85  = 0x00; r86  = 0x00; r87  = 0x00; r88  = 0x0c; r89  = 0x00;
  600. boutb(10, 0x50, 0x3d4, 0x3d5);
  601.  
  602. r92  = 0x02; r93  = 0x00; r94  = 0x00;
  603. boutb(3, 0x5c, 0x3d4, 0x3d5);
  604.  
  605. r96  = 0x07; r97  = 0x80; r98  = 0xa1;
  606. boutb(3, 0x60, 0x3d4, 0x3d5);
  607.  
  608. r49  = 0x85; r50  = 0x00; r51  = 0x00; r52  = 0x10; r53  = 0x00;
  609. boutb(5, 0x31, 0x3d4, 0x3d5);
  610.  
  611. r58  = 0x85; r59  = 0x90; r60  = 0x40;
  612. boutb(3, 0x3a, 0x3d4, 0x3d5);
  613.  
  614. r64  = 0x09;
  615. boutb(1, 0x40, 0x3d4, 0x3d5);
  616.  
  617. r67  = 0x00;
  618. boutb(1, 0x43, 0x3d4, 0x3d5);
  619.  
  620. r69  = 0x00; r70  = 0x00; r71  = 0xff; r72  = 0xfc; r73  = 0xff;
  621. boutb(5, 0x45, 0x3d4, 0x3d5);
  622.  
  623. r76  = 0xff; r77  = 0xff; r78  = 0xff; r79  = 0xdf;
  624. boutb(4, 0x4c, 0x3d4, 0x3d5);
  625.  
  626. r66  = 0x02;
  627. boutb(1, 0x42, 0x3d4, 0x3d5);
  628.  
  629. /*
  630.  *    Set Attribute Registers
  631.  */
  632.  
  633. r0   = 0x3a; r1   = 0x3b; r2   = 0x3c; r3   = 0x3d; r4   = 0x3e;
  634. r5   = 0x3f; r6   = 0x01; r7   = 0x00; r8   = 0x0f; r9   = 0x00;
  635. r10  = 0x00; r11  = 0x00; r12  = 0x00; r13  = 0x00; r14  = 0x00;
  636. r15  = 0x00; r16  = 0x05; r17  = 0x0f; r18  = 0x3f; r19  = 0x0c;
  637. r20  = 0x00;
  638. boutb(21, 0x00, 0x3c0, 0x3c1);
  639.  
  640. /*
  641.  *    Set GDC Registers
  642.  */
  643.  
  644. r0   = 0x00; r1   = 0x0f; r2   = 0x00; r3   = 0x1f; r4   = 0x03;
  645. r5   = 0x01; r6   = 0x0f; r7   = 0x00; r8   = 0x06;
  646. boutb(9, 0x00, 0x3ce, 0x3cf);
  647.  
  648. /*
  649.  *    Set Enhanced Command Registers
  650.  */
  651.  
  652. outw(0x4ae8, 0x0007);
  653. outw(0xbee8, 0x1000);
  654. outw(0xbee8, 0x33ff);
  655. outw(0xbee8, 0x2000);
  656. outw(0xbee8, 0x43ff);
  657. outw(0xbee8, 0xa000);
  658. outw(0xbee8, 0x03ff);
  659. outw(0x96e8, 0x03ff);
  660. outw(0x86e8, 0x0000);
  661. outw(0x82e8, 0x0000);
  662.  
  663. [comment]
  664.     Graphics Mode: 800 x 600 x 64k colors.
  665.  
  666. [AdapterType]
  667.         S3
  668.  
  669. [ChipSet]
  670.         S386C928
  671.  
  672. [ModeInfo]
  673.         ModeAttributes   = 0x18
  674.         BytesPerScanLine = 100
  675.         XResolution      = 800
  676.         YResolution      = 600
  677.         TextRows         = 37
  678.         BitsPerPixel     = 16
  679.         NumberOfPlanes   = 1
  680.         PageLength       = 614400
  681.         SaveSize         = 614400
  682.         TotalMemory      = 4194304
  683.         InterlaceMode    = 0
  684.         BufferAddress    = 0x0a0000
  685.  
  686. [TrapRegs]
  687.     0x3c2;
  688.     0x3c4, 0x00-0x04;
  689.     0x3c5;
  690.         0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
  691.     0x3d5;
  692.     0x3c0, 0x00-0x14;
  693.     0x3c1;
  694.     0x3ce, 0x00-0x08;
  695.     0x3cf;
  696.     0x4ae8;
  697.     0xbee8;
  698.     0x96e8;
  699.     0x86e8;
  700.     0x82e8;
  701.  
  702. [SetMode]
  703.  
  704. /*
  705.  *    Set Hi Color DAC
  706.  */
  707.  
  708. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  709. r1    = 0x00;
  710. outb(0x3c6, r1);
  711. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  712. r1    = 0x00;
  713. outb(0x3c8, r1);
  714. r1    = 0x00;
  715. outb(0x3c9, r1);
  716. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  717. rmww(0x3c6, 0x3c6, 0xff, 0x80);
  718. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  719. outb(0x3c8, 0x01);
  720. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  721. r1    = 0x00;
  722. outb(0x3c6, r1);
  723. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  724.  
  725. /*
  726.  *    Set Miscellaneous Output Register
  727.  */
  728.  
  729. outb(0x3c2, 0x6f);
  730.  
  731.  
  732. /*
  733.  *    Set Sequencer Registers
  734.  */
  735.  
  736. r0   = 0x00; r1   = 0x01; r2   = 0x0f; r3   = 0x00; r4   = 0x0e;
  737. boutb(5, 0x00, 0x3c4, 0x3c5);
  738.  
  739. outw(0x3c4, 0x0300);
  740. /*
  741.  *    Set CRT Registers
  742.  */
  743.  
  744. outw(0x3d4, 0x0e11);
  745. r0   = 0x9a; r1   = 0x83; r2   = 0x86; r3   = 0x9d; r4   = 0x87;
  746. r5   = 0x1b; r6   = 0xbf; r7   = 0x1f; r8   = 0x00; r9   = 0x4f;
  747. r10  = 0x0d; r11  = 0x0e; r12  = 0x00; r13  = 0x00; r14  = 0x03;
  748. r15  = 0x9c; r16  = 0x9c; r17  = 0x8e; r18  = 0x8f; r19  = 0x64;
  749. r20  = 0x1f; r21  = 0x96; r22  = 0xb9; r23  = 0xa3; r24  = 0xff;
  750. boutb(25, 0x00, 0x3d4, 0x3d5);
  751.  
  752. r80  = 0x00; r81  = 0x00; r82  = 0xff; r83  = 0x00; r84  = 0x08;
  753. r85  = 0x00; r86  = 0x00; r87  = 0x00; r88  = 0x0c; r89  = 0x00;
  754. boutb(10, 0x50, 0x3d4, 0x3d5);
  755.  
  756. r92  = 0x02; r93  = 0x00; r94  = 0x00;
  757. boutb(3, 0x5c, 0x3d4, 0x3d5);
  758.  
  759. r96  = 0x07; r97  = 0x80; r98  = 0xa1;
  760. boutb(3, 0x60, 0x3d4, 0x3d5);
  761.  
  762. r49  = 0x85; r50  = 0x00; r51  = 0x00; r52  = 0x10; r53  = 0x00;
  763. boutb(5, 0x31, 0x3d4, 0x3d5);
  764.  
  765. r58  = 0x85; r59  = 0x90; r60  = 0x40;
  766. boutb(3, 0x3a, 0x3d4, 0x3d5);
  767.  
  768. r64  = 0x09;
  769. boutb(1, 0x40, 0x3d4, 0x3d5);
  770.  
  771. r67  = 0x00;
  772. boutb(1, 0x43, 0x3d4, 0x3d5);
  773.  
  774. r69  = 0x00; r70  = 0x00; r71  = 0xff; r72  = 0xfc; r73  = 0xff;
  775. boutb(5, 0x45, 0x3d4, 0x3d5);
  776.  
  777. r76  = 0xff; r77  = 0xff; r78  = 0xff; r79  = 0xdf;
  778. boutb(4, 0x4c, 0x3d4, 0x3d5);
  779.  
  780. r66  = 0x02;
  781. boutb(1, 0x42, 0x3d4, 0x3d5);
  782.  
  783. /*
  784.  *    Set Attribute Registers
  785.  */
  786.  
  787. r0   = 0x3a; r1   = 0x3b; r2   = 0x3c; r3   = 0x3d; r4   = 0x3e;
  788. r5   = 0x3f; r6   = 0x01; r7   = 0x00; r8   = 0x0f; r9   = 0x00;
  789. r10  = 0x00; r11  = 0x00; r12  = 0x00; r13  = 0x00; r14  = 0x00;
  790. r15  = 0x00; r16  = 0x05; r17  = 0x0f; r18  = 0x3f; r19  = 0x0c;
  791. r20  = 0x00;
  792. boutb(21, 0x00, 0x3c0, 0x3c1);
  793.  
  794. /*
  795.  *    Set GDC Registers
  796.  */
  797.  
  798. r0   = 0x00; r1   = 0x0f; r2   = 0x00; r3   = 0x1f; r4   = 0x03;
  799. r5   = 0x01; r6   = 0x0f; r7   = 0x00; r8   = 0x06;
  800. boutb(9, 0x00, 0x3ce, 0x3cf);
  801.  
  802. /*
  803.  *    Set Enhanced Command Registers
  804.  */
  805.  
  806. outw(0x4ae8, 0x0007);
  807. outw(0xbee8, 0x1000);
  808. outw(0xbee8, 0x33ff);
  809. outw(0xbee8, 0x2000);
  810. outw(0xbee8, 0x43ff);
  811. outw(0xbee8, 0xa000);
  812. outw(0xbee8, 0x03ff);
  813. outw(0x96e8, 0x03ff);
  814. outw(0x86e8, 0x0000);
  815. outw(0x82e8, 0x0000);
  816.  
  817.  
  818. [comment]
  819.     Graphics Mode: 800 x 600 x 16,7Mio colors.
  820.  
  821. [AdapterType]
  822.         S3
  823.  
  824. [ChipSet]
  825.         S386C928
  826.  
  827. [ModeInfo]
  828.         ModeAttributes   = 0x18
  829.         BytesPerScanLine = 100
  830.         XResolution      = 800
  831.         YResolution      = 600
  832.         TextRows         = 37
  833.         BitsPerPixel     = 32
  834.         NumberOfPlanes   = 1
  835.         PageLength       = 1920000
  836.         SaveSize         = 1920000
  837.         TotalMemory      = 4194304
  838.         InterlaceMode    = 0
  839.         BufferAddress    = 0x0a0000
  840.  
  841. [TrapRegs]
  842.     0x3c2;
  843.     0x3c4, 0x00-0x04;
  844.     0x3c5;
  845.         0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
  846.     0x3d5;
  847.     0x3c0, 0x00-0x14;
  848.     0x3c1;
  849.     0x3ce, 0x00-0x08;
  850.     0x3cf;
  851.     0x4ae8;
  852.     0xbee8;
  853.     0x96e8;
  854.     0x86e8;
  855.     0x82e8;
  856.  
  857. [SetMode]
  858.  
  859. /*
  860.  *    Set Hi Color DAC
  861.  */
  862.  
  863. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  864. r1    = 0x00;
  865. outb(0x3c6, r1);
  866. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  867. r1    = 0x00;
  868. outb(0x3c8, r1);
  869. r1    = 0x00;
  870. outb(0x3c9, r1);
  871. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  872. rmww(0x3c6, 0x3c6, 0xff, 0x80);
  873. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  874. outb(0x3c8, 0x01);
  875. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  876. r1    = 0x00;
  877. outb(0x3c6, r1);
  878. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  879.  
  880. /*
  881.  *    Set Miscellaneous Output Register
  882.  */
  883.  
  884. outb(0x3c2, 0x6f);
  885.  
  886.  
  887. /*
  888.  *    Set Sequencer Registers
  889.  */
  890.  
  891. r0   = 0x00; r1   = 0x01; r2   = 0x0f; r3   = 0x00; r4   = 0x0e;
  892. boutb(5, 0x00, 0x3c4, 0x3c5);
  893.  
  894. outw(0x3c4, 0x0300);
  895. /*
  896.  *    Set CRT Registers
  897.  */
  898.  
  899. outw(0x3d4, 0x0e11);
  900. r0   = 0x9a; r1   = 0x83; r2   = 0x86; r3   = 0x9d; r4   = 0x87;
  901. r5   = 0x1b; r6   = 0xbf; r7   = 0x1f; r8   = 0x00; r9   = 0x4f;
  902. r10  = 0x0d; r11  = 0x0e; r12  = 0x00; r13  = 0x00; r14  = 0x03;
  903. r15  = 0x9c; r16  = 0x9c; r17  = 0x8e; r18  = 0x8f; r19  = 0x64;
  904. r20  = 0x1f; r21  = 0x96; r22  = 0xb9; r23  = 0xa3; r24  = 0xff;
  905. boutb(25, 0x00, 0x3d4, 0x3d5);
  906.  
  907. r80  = 0x00; r81  = 0x00; r82  = 0xff; r83  = 0x00; r84  = 0x08;
  908. r85  = 0x00; r86  = 0x00; r87  = 0x00; r88  = 0x0c; r89  = 0x00;
  909. boutb(10, 0x50, 0x3d4, 0x3d5);
  910.  
  911. r92  = 0x02; r93  = 0x00; r94  = 0x00;
  912. boutb(3, 0x5c, 0x3d4, 0x3d5);
  913.  
  914. r96  = 0x07; r97  = 0x80; r98  = 0xa1;
  915. boutb(3, 0x60, 0x3d4, 0x3d5);
  916.  
  917. r49  = 0x85; r50  = 0x00; r51  = 0x00; r52  = 0x10; r53  = 0x00;
  918. boutb(5, 0x31, 0x3d4, 0x3d5);
  919.  
  920. r58  = 0x85; r59  = 0x90; r60  = 0x40;
  921. boutb(3, 0x3a, 0x3d4, 0x3d5);
  922.  
  923. r64  = 0x09;
  924. boutb(1, 0x40, 0x3d4, 0x3d5);
  925.  
  926. r67  = 0x00;
  927. boutb(1, 0x43, 0x3d4, 0x3d5);
  928.  
  929. r69  = 0x00; r70  = 0x00; r71  = 0xff; r72  = 0xfc; r73  = 0xff;
  930. boutb(5, 0x45, 0x3d4, 0x3d5);
  931.  
  932. r76  = 0xff; r77  = 0xff; r78  = 0xff; r79  = 0xdf;
  933. boutb(4, 0x4c, 0x3d4, 0x3d5);
  934.  
  935. r66  = 0x02;
  936. boutb(1, 0x42, 0x3d4, 0x3d5);
  937.  
  938. /*
  939.  *    Set Attribute Registers
  940.  */
  941.  
  942. r0   = 0x3a; r1   = 0x3b; r2   = 0x3c; r3   = 0x3d; r4   = 0x3e;
  943. r5   = 0x3f; r6   = 0x01; r7   = 0x00; r8   = 0x0f; r9   = 0x00;
  944. r10  = 0x00; r11  = 0x00; r12  = 0x00; r13  = 0x00; r14  = 0x00;
  945. r15  = 0x00; r16  = 0x05; r17  = 0x0f; r18  = 0x3f; r19  = 0x0c;
  946. r20  = 0x00;
  947. boutb(21, 0x00, 0x3c0, 0x3c1);
  948.  
  949. /*
  950.  *    Set GDC Registers
  951.  */
  952.  
  953. r0   = 0x00; r1   = 0x0f; r2   = 0x00; r3   = 0x1f; r4   = 0x03;
  954. r5   = 0x01; r6   = 0x0f; r7   = 0x00; r8   = 0x06;
  955. boutb(9, 0x00, 0x3ce, 0x3cf);
  956.  
  957. /*
  958.  *    Set Enhanced Command Registers
  959.  */
  960.  
  961. outw(0x4ae8, 0x0007);
  962. outw(0xbee8, 0x1000);
  963. outw(0xbee8, 0x33ff);
  964. outw(0xbee8, 0x2000);
  965. outw(0xbee8, 0x43ff);
  966. outw(0xbee8, 0xa000);
  967. outw(0xbee8, 0x03ff);
  968. outw(0x96e8, 0x03ff);
  969. outw(0x86e8, 0x0000);
  970. outw(0x82e8, 0x0000);
  971.  
  972. [comment]
  973.     Graphics Mode: 1024 x 768 x 256 colors.
  974.  
  975. [AdapterType]
  976.         S3
  977.  
  978. [ChipSet]
  979.         S386C928
  980.  
  981. [ModeInfo]
  982.         ModeAttributes   = 0x18
  983.         BytesPerScanLine = 128
  984.         XResolution      = 1024
  985.         YResolution      = 768
  986.         TextRows         = 48
  987.         BitsPerPixel     = 8
  988.         NumberOfPlanes   = 1
  989.         PageLength       = 786432
  990.         SaveSize         = 786432
  991.         TotalMemory      = 4194304
  992.         InterlaceMode    = 0
  993.         BufferAddress    = 0x0a0000
  994.  
  995. [TrapRegs]
  996.     0x3c2;
  997.     0x3c4, 0x00-0x04;
  998.     0x3c5;
  999.         0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
  1000.     0x3d5;
  1001.     0x3c0, 0x00-0x14;
  1002.     0x3c1;
  1003.     0x3ce, 0x00-0x08;
  1004.     0x3cf;
  1005.     0x4ae8;
  1006.     0xbee8;
  1007.     0x96e8;
  1008.     0x86e8;
  1009.     0x82e8;
  1010.  
  1011. [SetMode]
  1012.  
  1013. /*
  1014.  *    Set Hi Color DAC
  1015.  */
  1016.  
  1017. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  1018. r1    = 0x00;
  1019. outb(0x3c6, r1);
  1020. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  1021. r1    = 0x00;
  1022. outb(0x3c8, r1);
  1023. r1    = 0x00;
  1024. outb(0x3c9, r1);
  1025. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  1026. rmww(0x3c6, 0x3c6, 0xff, 0x80);
  1027. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  1028. outb(0x3c8, 0x01);
  1029. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  1030. r1    = 0x00;
  1031. outb(0x3c6, r1);
  1032. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  1033.  
  1034. /*
  1035.  *    Set Miscellaneous Output Register
  1036.  */
  1037.  
  1038. outb(0x3c2, 0x2f);
  1039.  
  1040.  
  1041. /*
  1042.  *    Set Sequencer Registers
  1043.  */
  1044.  
  1045. r0   = 0x00; r1   = 0x01; r2   = 0x0f; r3   = 0x00; r4   = 0x0e;
  1046. boutb(5, 0x00, 0x3c4, 0x3c5);
  1047.  
  1048. outw(0x3c4, 0x0300);
  1049. /*
  1050.  *    Set CRT Registers
  1051.  */
  1052.  
  1053. outw(0x3d4, 0x0e11);
  1054. r0   = 0x4d; r1   = 0x3f; r2   = 0x40; r3   = 0x8d; r4   = 0x42;
  1055. r5   = 0x08; r6   = 0x1e; r7   = 0xfd; r8   = 0x00; r9   = 0x60;
  1056. r10  = 0x1e; r11  = 0x00; r12  = 0x00; r13  = 0x00; r14  = 0x06;
  1057. r15  = 0x4c; r16  = 0x00; r17  = 0x83; r18  = 0xff; r19  = 0x80;
  1058. r20  = 0x60; r21  = 0xff; r22  = 0x2a; r23  = 0xab; r24  = 0xff;
  1059. boutb(25, 0x00, 0x3d4, 0x3d5);
  1060.  
  1061. r80  = 0x00; r81  = 0x00; r82  = 0xff; r83  = 0x00; r84  = 0x00;
  1062. r85  = 0x00; r86  = 0x00; r87  = 0x00; r88  = 0x08; r89  = 0x00;
  1063. boutb(10, 0x50, 0x3d4, 0x3d5);
  1064.  
  1065. r92  = 0x02; r93  = 0x00; r94  = 0x40;
  1066. boutb(3, 0x5c, 0x3d4, 0x3d5);
  1067.  
  1068. r96  = 0x07; r97  = 0x80; r98  = 0xa1;
  1069. boutb(3, 0x60, 0x3d4, 0x3d5);
  1070.  
  1071. r49  = 0x8d; r50  = 0x00; r51  = 0x20; r52  = 0x10; r53  = 0x00;
  1072. boutb(5, 0x31, 0x3d4, 0x3d5);
  1073.  
  1074. r58  = 0x95; r59  = 0x4b; r60  = 0x00;
  1075. boutb(3, 0x3a, 0x3d4, 0x3d5);
  1076.  
  1077. r64  = 0x01;
  1078. boutb(1, 0x40, 0x3d4, 0x3d5);
  1079.  
  1080. r67  = 0x80;
  1081. boutb(1, 0x43, 0x3d4, 0x3d5);
  1082.  
  1083. r69  = 0x80; r70  = 0x80; r71  = 0xff; r72  = 0xfc; r73  = 0xff;
  1084. boutb(5, 0x45, 0x3d4, 0x3d5);
  1085.  
  1086. r76  = 0xff; r77  = 0xff; r78  = 0xff; r79  = 0xdf;
  1087. boutb(4, 0x4c, 0x3d4, 0x3d5);
  1088.  
  1089. r66  = 0x02;
  1090. boutb(1, 0x42, 0x3d4, 0x3d5);
  1091.  
  1092. /*
  1093.  *    Set Attribute Registers
  1094.  */
  1095.  
  1096. r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
  1097. r5   = 0x05; r6   = 0x14; r7   = 0x07; r8   = 0x38; r9   = 0x39;
  1098. r10  = 0x3a; r11  = 0x3b; r12  = 0x3c; r13  = 0x3d; r14  = 0x3e;
  1099. r15  = 0x3f; r16  = 0x01; r17  = 0x00; r18  = 0x0f; r19  = 0x00;
  1100. r20  = 0x00;
  1101. boutb(21, 0x00, 0x3c0, 0x3c1);
  1102.  
  1103. /*
  1104.  *    Set GDC Registers
  1105.  */
  1106.  
  1107. r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
  1108. r5   = 0x00; r6   = 0x05; r7   = 0x0f; r8   = 0xff;
  1109. boutb(9, 0x00, 0x3ce, 0x3cf);
  1110.  
  1111. /*
  1112.  *    Set Enhanced Command Registers
  1113.  */
  1114.  
  1115. outw(0x4ae8, 0x0007);
  1116. outw(0xbee8, 0x1000);
  1117. outw(0xbee8, 0x33ff);
  1118. outw(0xbee8, 0x2000);
  1119. outw(0xbee8, 0x43ff);
  1120. outw(0xbee8, 0xa000);
  1121. outw(0xbee8, 0x03ff);
  1122. outw(0x96e8, 0x03ff);
  1123. outw(0x86e8, 0x0000);
  1124. outw(0x82e8, 0x0000);
  1125.  
  1126. [comment]
  1127.         Graphics Mode: 1024 x 768 x 64k colors.
  1128.  
  1129. [AdapterType]
  1130.         S3
  1131.  
  1132. [ChipSet]
  1133.         S386C928
  1134.  
  1135. [ModeInfo]
  1136.         ModeAttributes   = 0x18
  1137.         BytesPerScanLine = 128
  1138.         XResolution      = 1024
  1139.         YResolution      = 768
  1140.         TextRows         = 48
  1141.         BitsPerPixel     = 16
  1142.         NumberOfPlanes   = 1
  1143.         PageLength       = 1572864
  1144.         SaveSize         = 1572864
  1145.         TotalMemory      = 4194304
  1146.         InterlaceMode    = 0
  1147.         BufferAddress    = 0x0a0000
  1148.  
  1149. [TrapRegs]
  1150.     0x3c2;
  1151.     0x3c4, 0x00-0x04;
  1152.     0x3c5;
  1153.         0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
  1154.     0x3d5;
  1155.     0x3c0, 0x00-0x14;
  1156.     0x3c1;
  1157.     0x3ce, 0x00-0x08;
  1158.     0x3cf;
  1159.     0x4ae8;
  1160.     0xbee8;
  1161.     0x96e8;
  1162.     0x86e8;
  1163.     0x82e8;
  1164.  
  1165. [SetMode]
  1166.  
  1167. /*
  1168.  *    Set Hi Color DAC
  1169.  */
  1170.  
  1171. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  1172. r1    = 0x00;
  1173. outb(0x3c6, r1);
  1174. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  1175. r1    = 0x00;
  1176. outb(0x3c8, r1);
  1177. r1    = 0x00;
  1178. outb(0x3c9, r1);
  1179. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  1180. rmww(0x3c6, 0x3c6, 0xff, 0x80);
  1181. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  1182. outb(0x3c8, 0x01);
  1183. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  1184. r1    = 0x00;
  1185. outb(0x3c6, r1);
  1186. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  1187.  
  1188. /*
  1189.  *    Set Miscellaneous Output Register
  1190.  */
  1191.  
  1192. outb(0x3c2, 0x2f);
  1193.  
  1194.  
  1195. /*
  1196.  *    Set Sequencer Registers
  1197.  */
  1198.  
  1199. r0   = 0x00; r1   = 0x01; r2   = 0x0f; r3   = 0x00; r4   = 0x0e;
  1200. boutb(5, 0x00, 0x3c4, 0x3c5);
  1201.  
  1202. outw(0x3c4, 0x0300);
  1203. /*
  1204.  *    Set CRT Registers
  1205.  */
  1206.  
  1207. outw(0x3d4, 0x0e11);
  1208. r0   = 0x4d; r1   = 0x3f; r2   = 0x40; r3   = 0x8d; r4   = 0x42;
  1209. r5   = 0x08; r6   = 0x1e; r7   = 0xfd; r8   = 0x00; r9   = 0x60;
  1210. r10  = 0x1e; r11  = 0x00; r12  = 0x00; r13  = 0x00; r14  = 0x06;
  1211. r15  = 0x4c; r16  = 0x00; r17  = 0x83; r18  = 0xff; r19  = 0x80;
  1212. r20  = 0x60; r21  = 0xff; r22  = 0x2a; r23  = 0xab; r24  = 0xff;
  1213. boutb(25, 0x00, 0x3d4, 0x3d5);
  1214.  
  1215. r80  = 0x00; r81  = 0x00; r82  = 0xff; r83  = 0x00; r84  = 0x00;
  1216. r85  = 0x00; r86  = 0x00; r87  = 0x00; r88  = 0x08; r89  = 0x00;
  1217. boutb(10, 0x50, 0x3d4, 0x3d5);
  1218.  
  1219. r92  = 0x02; r93  = 0x00; r94  = 0x40;
  1220. boutb(3, 0x5c, 0x3d4, 0x3d5);
  1221.  
  1222. r96  = 0x07; r97  = 0x80; r98  = 0xa1;
  1223. boutb(3, 0x60, 0x3d4, 0x3d5);
  1224.  
  1225. r49  = 0x8d; r50  = 0x00; r51  = 0x20; r52  = 0x10; r53  = 0x00;
  1226. boutb(5, 0x31, 0x3d4, 0x3d5);
  1227.  
  1228. r58  = 0x95; r59  = 0x4b; r60  = 0x00;
  1229. boutb(3, 0x3a, 0x3d4, 0x3d5);
  1230.  
  1231. r64  = 0x01;
  1232. boutb(1, 0x40, 0x3d4, 0x3d5);
  1233.  
  1234. r67  = 0x80;
  1235. boutb(1, 0x43, 0x3d4, 0x3d5);
  1236.  
  1237. r69  = 0x80; r70  = 0x80; r71  = 0xff; r72  = 0xfc; r73  = 0xff;
  1238. boutb(5, 0x45, 0x3d4, 0x3d5);
  1239.  
  1240. r76  = 0xff; r77  = 0xff; r78  = 0xff; r79  = 0xdf;
  1241. boutb(4, 0x4c, 0x3d4, 0x3d5);
  1242.  
  1243. r66  = 0x02;
  1244. boutb(1, 0x42, 0x3d4, 0x3d5);
  1245.  
  1246. /*
  1247.  *    Set Attribute Registers
  1248.  */
  1249.  
  1250. r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
  1251. r5   = 0x05; r6   = 0x14; r7   = 0x07; r8   = 0x38; r9   = 0x39;
  1252. r10  = 0x3a; r11  = 0x3b; r12  = 0x3c; r13  = 0x3d; r14  = 0x3e;
  1253. r15  = 0x3f; r16  = 0x01; r17  = 0x00; r18  = 0x0f; r19  = 0x00;
  1254. r20  = 0x00;
  1255. boutb(21, 0x00, 0x3c0, 0x3c1);
  1256.  
  1257. /*
  1258.  *    Set GDC Registers
  1259.  */
  1260.  
  1261. r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
  1262. r5   = 0x00; r6   = 0x05; r7   = 0x0f; r8   = 0xff;
  1263. boutb(9, 0x00, 0x3ce, 0x3cf);
  1264.  
  1265. /*
  1266.  *    Set Enhanced Command Registers
  1267.  */
  1268.  
  1269. outw(0x4ae8, 0x0007);
  1270. outw(0xbee8, 0x1000);
  1271. outw(0xbee8, 0x33ff);
  1272. outw(0xbee8, 0x2000);
  1273. outw(0xbee8, 0x43ff);
  1274. outw(0xbee8, 0xa000);
  1275. outw(0xbee8, 0x03ff);
  1276. outw(0x96e8, 0x03ff);
  1277. outw(0x86e8, 0x0000);
  1278. outw(0x82e8, 0x0000);
  1279.  
  1280. [comment]
  1281.         Graphics Mode: 1024 x 768 x 16,7Mio colors.
  1282.  
  1283. [AdapterType]
  1284.         S3
  1285.  
  1286. [ChipSet]
  1287.         S386C928
  1288.  
  1289. [ModeInfo]
  1290.         ModeAttributes   = 0x18
  1291.         BytesPerScanLine = 128
  1292.         XResolution      = 1024
  1293.         YResolution      = 768
  1294.         TextRows         = 48
  1295.         BitsPerPixel     = 32
  1296.         NumberOfPlanes   = 1
  1297.         PageLength       = 3145728
  1298.         SaveSize         = 3145728
  1299.         TotalMemory      = 4194304
  1300.         InterlaceMode    = 0
  1301.         BufferAddress    = 0x0a0000
  1302.  
  1303. [TrapRegs]
  1304.     0x3c2;
  1305.     0x3c4, 0x00-0x04;
  1306.     0x3c5;
  1307.         0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
  1308.     0x3d5;
  1309.     0x3c0, 0x00-0x14;
  1310.     0x3c1;
  1311.     0x3ce, 0x00-0x08;
  1312.     0x3cf;
  1313.     0x4ae8;
  1314.     0xbee8;
  1315.     0x96e8;
  1316.     0x86e8;
  1317.     0x82e8;
  1318.  
  1319. [SetMode]
  1320.  
  1321. /*
  1322.  *    Set Hi Color DAC
  1323.  */
  1324.  
  1325. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  1326. r1    = 0x00;
  1327. outb(0x3c6, r1);
  1328. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  1329. r1    = 0x00;
  1330. outb(0x3c8, r1);
  1331. r1    = 0x00;
  1332. outb(0x3c9, r1);
  1333. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  1334. rmww(0x3c6, 0x3c6, 0xff, 0x80);
  1335. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  1336. outb(0x3c8, 0x01);
  1337. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  1338. r1    = 0x00;
  1339. outb(0x3c6, r1);
  1340. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  1341.  
  1342. /*
  1343.  *    Set Miscellaneous Output Register
  1344.  */
  1345.  
  1346. outb(0x3c2, 0x2f);
  1347.  
  1348.  
  1349. /*
  1350.  *    Set Sequencer Registers
  1351.  */
  1352.  
  1353. r0   = 0x00; r1   = 0x01; r2   = 0x0f; r3   = 0x00; r4   = 0x0e;
  1354. boutb(5, 0x00, 0x3c4, 0x3c5);
  1355.  
  1356. outw(0x3c4, 0x0300);
  1357. /*
  1358.  *    Set CRT Registers
  1359.  */
  1360.  
  1361. outw(0x3d4, 0x0e11);
  1362. r0   = 0x4d; r1   = 0x3f; r2   = 0x40; r3   = 0x8d; r4   = 0x42;
  1363. r5   = 0x08; r6   = 0x1e; r7   = 0xfd; r8   = 0x00; r9   = 0x60;
  1364. r10  = 0x1e; r11  = 0x00; r12  = 0x00; r13  = 0x00; r14  = 0x06;
  1365. r15  = 0x4c; r16  = 0x00; r17  = 0x83; r18  = 0xff; r19  = 0x80;
  1366. r20  = 0x60; r21  = 0xff; r22  = 0x2a; r23  = 0xab; r24  = 0xff;
  1367. boutb(25, 0x00, 0x3d4, 0x3d5);
  1368.  
  1369. r80  = 0x00; r81  = 0x00; r82  = 0xff; r83  = 0x00; r84  = 0x00;
  1370. r85  = 0x00; r86  = 0x00; r87  = 0x00; r88  = 0x08; r89  = 0x00;
  1371. boutb(10, 0x50, 0x3d4, 0x3d5);
  1372.  
  1373. r92  = 0x02; r93  = 0x00; r94  = 0x40;
  1374. boutb(3, 0x5c, 0x3d4, 0x3d5);
  1375.  
  1376. r96  = 0x07; r97  = 0x80; r98  = 0xa1;
  1377. boutb(3, 0x60, 0x3d4, 0x3d5);
  1378.  
  1379. r49  = 0x8d; r50  = 0x00; r51  = 0x20; r52  = 0x10; r53  = 0x00;
  1380. boutb(5, 0x31, 0x3d4, 0x3d5);
  1381.  
  1382. r58  = 0x95; r59  = 0x4b; r60  = 0x00;
  1383. boutb(3, 0x3a, 0x3d4, 0x3d5);
  1384.  
  1385. r64  = 0x01;
  1386. boutb(1, 0x40, 0x3d4, 0x3d5);
  1387.  
  1388. r67  = 0x80;
  1389. boutb(1, 0x43, 0x3d4, 0x3d5);
  1390.  
  1391. r69  = 0x80; r70  = 0x80; r71  = 0xff; r72  = 0xfc; r73  = 0xff;
  1392. boutb(5, 0x45, 0x3d4, 0x3d5);
  1393.  
  1394. r76  = 0xff; r77  = 0xff; r78  = 0xff; r79  = 0xdf;
  1395. boutb(4, 0x4c, 0x3d4, 0x3d5);
  1396.  
  1397. r66  = 0x02;
  1398. boutb(1, 0x42, 0x3d4, 0x3d5);
  1399.  
  1400. /*
  1401.  *    Set Attribute Registers
  1402.  */
  1403.  
  1404. r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
  1405. r5   = 0x05; r6   = 0x14; r7   = 0x07; r8   = 0x38; r9   = 0x39;
  1406. r10  = 0x3a; r11  = 0x3b; r12  = 0x3c; r13  = 0x3d; r14  = 0x3e;
  1407. r15  = 0x3f; r16  = 0x01; r17  = 0x00; r18  = 0x0f; r19  = 0x00;
  1408. r20  = 0x00;
  1409. boutb(21, 0x00, 0x3c0, 0x3c1);
  1410.  
  1411. /*
  1412.  *    Set GDC Registers
  1413.  */
  1414.  
  1415. r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
  1416. r5   = 0x00; r6   = 0x05; r7   = 0x0f; r8   = 0xff;
  1417. boutb(9, 0x00, 0x3ce, 0x3cf);
  1418.  
  1419. /*
  1420.  *    Set Enhanced Command Registers
  1421.  */
  1422.  
  1423. outw(0x4ae8, 0x0007);
  1424. outw(0xbee8, 0x1000);
  1425. outw(0xbee8, 0x33ff);
  1426. outw(0xbee8, 0x2000);
  1427. outw(0xbee8, 0x43ff);
  1428. outw(0xbee8, 0xa000);
  1429. outw(0xbee8, 0x03ff);
  1430. outw(0x96e8, 0x03ff);
  1431. outw(0x86e8, 0x0000);
  1432. outw(0x82e8, 0x0000);
  1433.  
  1434.  
  1435. [comment]
  1436.     Graphics Mode: 1280 x 1024 x 256 colors.
  1437.  
  1438. [AdapterType]
  1439.         S3
  1440.  
  1441. [ChipSet]
  1442.         S386C928
  1443.  
  1444. [ModeInfo]
  1445.         ModeAttributes   = 0x18
  1446.         BytesPerScanLine = 160
  1447.         XResolution      = 1280
  1448.         YResolution      = 1024
  1449.         TextRows         = 64
  1450.         BitsPerPixel     = 8
  1451.         NumberOfPlanes   = 1
  1452.         PageLength       = 1310720
  1453.         SaveSize         = 1310720
  1454.         TotalMemory      = 4194304
  1455.         InterlaceMode    = 0
  1456.         BufferAddress    = 0x0a0000
  1457.  
  1458. [TrapRegs]
  1459.     0x3c2;
  1460.     0x3c4, 0x00-0x04;
  1461.     0x3c5;
  1462.         0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
  1463.     0x3d5;
  1464.     0x3c0, 0x00-0x14;
  1465.     0x3c1;
  1466.     0x3ce, 0x00-0x08;
  1467.     0x3cf;
  1468.     0x4ae8;
  1469.     0xbee8;
  1470.     0x96e8;
  1471.     0x86e8;
  1472.     0x82e8;
  1473.  
  1474. [SetMode]
  1475.  
  1476. /*
  1477.  *    Set Hi Color DAC
  1478.  */
  1479.  
  1480. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  1481. r1    = 0x00;
  1482. outb(0x3c6, r1);
  1483. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  1484. r1    = 0x00;
  1485. outb(0x3c8, r1);
  1486. r1    = 0x00;
  1487. outb(0x3c9, r1);
  1488. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  1489. rmww(0x3c6, 0x3c6, 0xff, 0x80);
  1490. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  1491. outb(0x3c8, 0x01);
  1492. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  1493. r1    = 0x00;
  1494. outb(0x3c6, r1);
  1495. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  1496.  
  1497. /*
  1498.  *    Set Miscellaneous Output Register
  1499.  */
  1500.  
  1501. outb(0x3c2, 0xef);
  1502.  
  1503.  
  1504. /*
  1505.  *    Set Sequencer Registers
  1506.  */
  1507.  
  1508. r0   = 0x00; r1   = 0x01; r2   = 0x0f; r3   = 0x00; r4   = 0x0e;
  1509. boutb(5, 0x00, 0x3c4, 0x3c5);
  1510.  
  1511. outw(0x3c4, 0x0300);
  1512. /*
  1513.  *    Set CRT Registers
  1514.  */
  1515.  
  1516. outw(0x3d4, 0x0e11);
  1517. r0   = 0x30; r1   = 0x27; r2   = 0x27; r3   = 0x94; r4   = 0x2b;
  1518. r5   = 0x90; r6   = 0x25; r7   = 0x52; r8   = 0x00; r9   = 0x60;
  1519. r10  = 0x00; r11  = 0x00; r12  = 0x00; r13  = 0x00; r14  = 0xff;
  1520. r15  = 0x00; r16  = 0x02; r17  = 0x85; r18  = 0xff; r19  = 0xa0;
  1521. r20  = 0x00; r21  = 0x00; r22  = 0x31; r23  = 0xa3; r24  = 0xff;
  1522. boutb(25, 0x00, 0x3d4, 0x3d5);
  1523.  
  1524. r80  = 0xc0; r81  = 0x00; r82  = 0xff; r83  = 0x20; r84  = 0x00;
  1525. r85  = 0x28; r86  = 0x00; r87  = 0x00; r88  = 0x18; r89  = 0x00;
  1526. boutb(10, 0x50, 0x3d4, 0x3d5);
  1527.  
  1528. r92  = 0x16; r93  = 0x00; r94  = 0x55;
  1529. boutb(3, 0x5c, 0x3d4, 0x3d5);
  1530.  
  1531. r96  = 0x07; r97  = 0x80; r98  = 0xa1;
  1532. boutb(3, 0x60, 0x3d4, 0x3d5);
  1533.  
  1534. r49  = 0x8d; r50  = 0x00; r51  = 0x28; r52  = 0x10; r53  = 0x00;
  1535. boutb(5, 0x31, 0x3d4, 0x3d5);
  1536.  
  1537. r58  = 0x95; r59  = 0x2e; r60  = 0x14;
  1538. boutb(3, 0x3a, 0x3d4, 0x3d5);
  1539.  
  1540. r64  = 0x01;
  1541. boutb(1, 0x40, 0x3d4, 0x3d5);
  1542.  
  1543. r67  = 0x00;
  1544. boutb(1, 0x43, 0x3d4, 0x3d5);
  1545.  
  1546. r69  = 0x20; r70  = 0x20; r71  = 0xff; r72  = 0xfc; r73  = 0xff;
  1547. boutb(5, 0x45, 0x3d4, 0x3d5);
  1548.  
  1549. r76  = 0xff; r77  = 0xff; r78  = 0xff; r79  = 0xdf;
  1550. boutb(4, 0x4c, 0x3d4, 0x3d5);
  1551.  
  1552. r66  = 0x06;
  1553. boutb(1, 0x42, 0x3d4, 0x3d5);
  1554.  
  1555. /*
  1556.  *    Set Attribute Registers
  1557.  */
  1558.  
  1559. r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
  1560. r5   = 0x05; r6   = 0x14; r7   = 0x07; r8   = 0x38; r9   = 0x39;
  1561. r10  = 0x3a; r11  = 0x3b; r12  = 0x3c; r13  = 0x3d; r14  = 0x3e;
  1562. r15  = 0x3f; r16  = 0x01; r17  = 0x00; r18  = 0x0f; r19  = 0x00;
  1563. r20  = 0x00;
  1564. boutb(21, 0x00, 0x3c0, 0x3c1);
  1565.  
  1566. /*
  1567.  *    Set GDC Registers
  1568.  */
  1569.  
  1570. r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
  1571. r5   = 0x00; r6   = 0x05; r7   = 0x0f; r8   = 0xff;
  1572. boutb(9, 0x00, 0x3ce, 0x3cf);
  1573.  
  1574. /*
  1575.  *    Set Enhanced Command Registers
  1576.  */
  1577.  
  1578. outw(0x4ae8, 0x0003);
  1579. outw(0xbee8, 0x1000);
  1580. outw(0xbee8, 0x33ff);
  1581. outw(0xbee8, 0x2000);
  1582. outw(0xbee8, 0x43ff);
  1583. outw(0xbee8, 0xa000);
  1584. outw(0xbee8, 0x03ff);
  1585. outw(0x96e8, 0x03ff);
  1586. outw(0x86e8, 0x0000);
  1587. outw(0x82e8, 0x0000);
  1588. /*
  1589.  *    Set Hi Color DAC
  1590.  */
  1591.  
  1592. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  1593. r1    = 0x80;
  1594. outb(0x3c6, r1);
  1595. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  1596. r1    = 0x40;
  1597. outb(0x3c8, r1);
  1598. r1    = 0x30;
  1599. outb(0x3c9, r1);
  1600. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  1601. rmww(0x3c6, 0x3c6, 0xff, 0x80);
  1602. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  1603. outb(0x3c8, 0x01);
  1604. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  1605. r1    = 0x08;
  1606. outb(0x3c6, r1);
  1607. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  1608. [comment]
  1609.         Graphics Mode: 1280 x 1024 x 64k colors.
  1610.  
  1611. [AdapterType]
  1612.         S3
  1613.  
  1614. [ChipSet]
  1615.         S386C928
  1616.  
  1617. [ModeInfo]
  1618.         ModeAttributes   = 0x18
  1619.         BytesPerScanLine = 160
  1620.         XResolution      = 1280
  1621.         YResolution      = 1024
  1622.         TextRows         = 64
  1623.         BitsPerPixel     = 16
  1624.         NumberOfPlanes   = 1
  1625.         PageLength       = 2621440
  1626.         SaveSize         = 2621440
  1627.         TotalMemory      = 4194304
  1628.         InterlaceMode    = 0
  1629.         BufferAddress    = 0x0a0000
  1630.  
  1631. [TrapRegs]
  1632.     0x3c2;
  1633.     0x3c4, 0x00-0x04;
  1634.     0x3c5;
  1635.         0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
  1636.     0x3d5;
  1637.     0x3c0, 0x00-0x14;
  1638.     0x3c1;
  1639.     0x3ce, 0x00-0x08;
  1640.     0x3cf;
  1641.     0x4ae8;
  1642.     0xbee8;
  1643.     0x96e8;
  1644.     0x86e8;
  1645.     0x82e8;
  1646.  
  1647. [SetMode]
  1648.  
  1649. /*
  1650.  *    Set Hi Color DAC
  1651.  */
  1652.  
  1653. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  1654. r1    = 0x00;
  1655. outb(0x3c6, r1);
  1656. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  1657. r1    = 0x00;
  1658. outb(0x3c8, r1);
  1659. r1    = 0x00;
  1660. outb(0x3c9, r1);
  1661. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  1662. rmww(0x3c6, 0x3c6, 0xff, 0x80);
  1663. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  1664. outb(0x3c8, 0x01);
  1665. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  1666. r1    = 0x00;
  1667. outb(0x3c6, r1);
  1668. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  1669.  
  1670. /*
  1671.  *    Set Miscellaneous Output Register
  1672.  */
  1673.  
  1674. outb(0x3c2, 0xef);
  1675.  
  1676.  
  1677. /*
  1678.  *    Set Sequencer Registers
  1679.  */
  1680.  
  1681. r0   = 0x00; r1   = 0x01; r2   = 0x0f; r3   = 0x00; r4   = 0x0e;
  1682. boutb(5, 0x00, 0x3c4, 0x3c5);
  1683.  
  1684. outw(0x3c4, 0x0300);
  1685. /*
  1686.  *    Set CRT Registers
  1687.  */
  1688.  
  1689. outw(0x3d4, 0x0e11);
  1690. r0   = 0x30; r1   = 0x27; r2   = 0x27; r3   = 0x94; r4   = 0x2b;
  1691. r5   = 0x90; r6   = 0x25; r7   = 0x52; r8   = 0x00; r9   = 0x60;
  1692. r10  = 0x00; r11  = 0x00; r12  = 0x00; r13  = 0x00; r14  = 0xff;
  1693. r15  = 0x00; r16  = 0x02; r17  = 0x85; r18  = 0xff; r19  = 0xa0;
  1694. r20  = 0x00; r21  = 0x00; r22  = 0x31; r23  = 0xa3; r24  = 0xff;
  1695. boutb(25, 0x00, 0x3d4, 0x3d5);
  1696.  
  1697. r80  = 0xc0; r81  = 0x00; r82  = 0xff; r83  = 0x20; r84  = 0x00;
  1698. r85  = 0x28; r86  = 0x00; r87  = 0x00; r88  = 0x18; r89  = 0x00;
  1699. boutb(10, 0x50, 0x3d4, 0x3d5);
  1700.  
  1701. r92  = 0x16; r93  = 0x00; r94  = 0x55;
  1702. boutb(3, 0x5c, 0x3d4, 0x3d5);
  1703.  
  1704. r96  = 0x07; r97  = 0x80; r98  = 0xa1;
  1705. boutb(3, 0x60, 0x3d4, 0x3d5);
  1706.  
  1707. r49  = 0x8d; r50  = 0x00; r51  = 0x28; r52  = 0x10; r53  = 0x00;
  1708. boutb(5, 0x31, 0x3d4, 0x3d5);
  1709.  
  1710. r58  = 0x95; r59  = 0x2e; r60  = 0x14;
  1711. boutb(3, 0x3a, 0x3d4, 0x3d5);
  1712.  
  1713. r64  = 0x01;
  1714. boutb(1, 0x40, 0x3d4, 0x3d5);
  1715.  
  1716. r67  = 0x00;
  1717. boutb(1, 0x43, 0x3d4, 0x3d5);
  1718.  
  1719. r69  = 0x20; r70  = 0x20; r71  = 0xff; r72  = 0xfc; r73  = 0xff;
  1720. boutb(5, 0x45, 0x3d4, 0x3d5);
  1721.  
  1722. r76  = 0xff; r77  = 0xff; r78  = 0xff; r79  = 0xdf;
  1723. boutb(4, 0x4c, 0x3d4, 0x3d5);
  1724.  
  1725. r66  = 0x06;
  1726. boutb(1, 0x42, 0x3d4, 0x3d5);
  1727.  
  1728. /*
  1729.  *    Set Attribute Registers
  1730.  */
  1731.  
  1732. r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
  1733. r5   = 0x05; r6   = 0x14; r7   = 0x07; r8   = 0x38; r9   = 0x39;
  1734. r10  = 0x3a; r11  = 0x3b; r12  = 0x3c; r13  = 0x3d; r14  = 0x3e;
  1735. r15  = 0x3f; r16  = 0x01; r17  = 0x00; r18  = 0x0f; r19  = 0x00;
  1736. r20  = 0x00;
  1737. boutb(21, 0x00, 0x3c0, 0x3c1);
  1738.  
  1739. /*
  1740.  *    Set GDC Registers
  1741.  */
  1742.  
  1743. r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
  1744. r5   = 0x00; r6   = 0x05; r7   = 0x0f; r8   = 0xff;
  1745. boutb(9, 0x00, 0x3ce, 0x3cf);
  1746.  
  1747. /*
  1748.  *    Set Enhanced Command Registers
  1749.  */
  1750.  
  1751. outw(0x4ae8, 0x0003);
  1752. outw(0xbee8, 0x1000);
  1753. outw(0xbee8, 0x33ff);
  1754. outw(0xbee8, 0x2000);
  1755. outw(0xbee8, 0x43ff);
  1756. outw(0xbee8, 0xa000);
  1757. outw(0xbee8, 0x03ff);
  1758. outw(0x96e8, 0x03ff);
  1759. outw(0x86e8, 0x0000);
  1760. outw(0x82e8, 0x0000);
  1761. /*
  1762.  *    Set Hi Color DAC
  1763.  */
  1764.  
  1765. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  1766. r1    = 0x80;
  1767. outb(0x3c6, r1);
  1768. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  1769. r1    = 0x40;
  1770. outb(0x3c8, r1);
  1771. r1    = 0x30;
  1772. outb(0x3c9, r1);
  1773. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  1774. rmww(0x3c6, 0x3c6, 0xff, 0x80);
  1775. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  1776. outb(0x3c8, 0x01);
  1777. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  1778. r1    = 0x08;
  1779. outb(0x3c6, r1);
  1780. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  1781.  
  1782. [comment]
  1783.         Graphics Mode: 1600 x 1200 x 256 colors.
  1784.  
  1785. [AdapterType]
  1786.         S3
  1787.  
  1788. [ChipSet]
  1789.         S386C928
  1790.  
  1791. [ModeInfo]
  1792.         ModeAttributes   = 0x18
  1793.         BytesPerScanLine = 200
  1794.         XResolution      = 1600
  1795.         YResolution      = 1200
  1796.         TextRows         = 75
  1797.         BitsPerPixel     = 8
  1798.         NumberOfPlanes   = 1
  1799.         PageLength       = 2457600
  1800.         SaveSize         = 2457600
  1801.         TotalMemory      = 4194304
  1802.         InterlaceMode    = 0
  1803.         BufferAddress    = 0x0a0000
  1804.  
  1805. [TrapRegs]
  1806.     0x3c2;
  1807.     0x3c4, 0x00-0x04;
  1808.     0x3c5;
  1809.         0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
  1810.     0x3d5;
  1811.     0x3c0, 0x00-0x14;
  1812.     0x3c1;
  1813.     0x3ce, 0x00-0x08;
  1814.     0x3cf;
  1815.     0x4ae8;
  1816.     0xbee8;
  1817.     0x96e8;
  1818.     0x86e8;
  1819.     0x82e8;
  1820.  
  1821. [SetMode]
  1822.  
  1823. /*
  1824.  *    Set Hi Color DAC
  1825.  */
  1826.  
  1827. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  1828. r1    = 0x00;
  1829. outb(0x3c6, r1);
  1830. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  1831. r1    = 0x00;
  1832. outb(0x3c8, r1);
  1833. r1    = 0x00;
  1834. outb(0x3c9, r1);
  1835. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  1836. rmww(0x3c6, 0x3c6, 0xff, 0x80);
  1837. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  1838. outb(0x3c8, 0x01);
  1839. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  1840. r1    = 0x00;
  1841. outb(0x3c6, r1);
  1842. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  1843.  
  1844. /*
  1845.  *    Set Miscellaneous Output Register
  1846.  */
  1847.  
  1848. outb(0x3c2, 0xef);
  1849.  
  1850.  
  1851. /*
  1852.  *    Set Sequencer Registers
  1853.  */
  1854.  
  1855. r0   = 0x00; r1   = 0x01; r2   = 0x0f; r3   = 0x00; r4   = 0x0e;
  1856. boutb(5, 0x00, 0x3c4, 0x3c5);
  1857.  
  1858. outw(0x3c4, 0x0300);
  1859. /*
  1860.  *    Set CRT Registers
  1861.  */
  1862.  
  1863. outw(0x3d4, 0x0e11);
  1864. r0   = 0x30; r1   = 0x27; r2   = 0x27; r3   = 0x94; r4   = 0x2b;
  1865. r5   = 0x90; r6   = 0x25; r7   = 0x52; r8   = 0x00; r9   = 0x60;
  1866. r10  = 0x00; r11  = 0x00; r12  = 0x00; r13  = 0x00; r14  = 0xff;
  1867. r15  = 0x00; r16  = 0x02; r17  = 0x85; r18  = 0xff; r19  = 0xa0;
  1868. r20  = 0x00; r21  = 0x00; r22  = 0x31; r23  = 0xa3; r24  = 0xff;
  1869. boutb(25, 0x00, 0x3d4, 0x3d5);
  1870.  
  1871. r80  = 0xc0; r81  = 0x00; r82  = 0xff; r83  = 0x20; r84  = 0x00;
  1872. r85  = 0x28; r86  = 0x00; r87  = 0x00; r88  = 0x18; r89  = 0x00;
  1873. boutb(10, 0x50, 0x3d4, 0x3d5);
  1874.  
  1875. r92  = 0x16; r93  = 0x00; r94  = 0x55;
  1876. boutb(3, 0x5c, 0x3d4, 0x3d5);
  1877.  
  1878. r96  = 0x07; r97  = 0x80; r98  = 0xa1;
  1879. boutb(3, 0x60, 0x3d4, 0x3d5);
  1880.  
  1881. r49  = 0x8d; r50  = 0x00; r51  = 0x28; r52  = 0x10; r53  = 0x00;
  1882. boutb(5, 0x31, 0x3d4, 0x3d5);
  1883.  
  1884. r58  = 0x95; r59  = 0x2e; r60  = 0x14;
  1885. boutb(3, 0x3a, 0x3d4, 0x3d5);
  1886.  
  1887. r64  = 0x01;
  1888. boutb(1, 0x40, 0x3d4, 0x3d5);
  1889.  
  1890. r67  = 0x00;
  1891. boutb(1, 0x43, 0x3d4, 0x3d5);
  1892.  
  1893. r69  = 0x20; r70  = 0x20; r71  = 0xff; r72  = 0xfc; r73  = 0xff;
  1894. boutb(5, 0x45, 0x3d4, 0x3d5);
  1895.  
  1896. r76  = 0xff; r77  = 0xff; r78  = 0xff; r79  = 0xdf;
  1897. boutb(4, 0x4c, 0x3d4, 0x3d5);
  1898.  
  1899. r66  = 0x06;
  1900. boutb(1, 0x42, 0x3d4, 0x3d5);
  1901.  
  1902. /*
  1903.  *    Set Attribute Registers
  1904.  */
  1905.  
  1906. r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
  1907. r5   = 0x05; r6   = 0x14; r7   = 0x07; r8   = 0x38; r9   = 0x39;
  1908. r10  = 0x3a; r11  = 0x3b; r12  = 0x3c; r13  = 0x3d; r14  = 0x3e;
  1909. r15  = 0x3f; r16  = 0x01; r17  = 0x00; r18  = 0x0f; r19  = 0x00;
  1910. r20  = 0x00;
  1911. boutb(21, 0x00, 0x3c0, 0x3c1);
  1912.  
  1913. /*
  1914.  *    Set GDC Registers
  1915.  */
  1916.  
  1917. r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
  1918. r5   = 0x00; r6   = 0x05; r7   = 0x0f; r8   = 0xff;
  1919. boutb(9, 0x00, 0x3ce, 0x3cf);
  1920.  
  1921. /*
  1922.  *    Set Enhanced Command Registers
  1923.  */
  1924.  
  1925. outw(0x4ae8, 0x0003);
  1926. outw(0xbee8, 0x1000);
  1927. outw(0xbee8, 0x33ff);
  1928. outw(0xbee8, 0x2000);
  1929. outw(0xbee8, 0x43ff);
  1930. outw(0xbee8, 0xa000);
  1931. outw(0xbee8, 0x03ff);
  1932. outw(0x96e8, 0x03ff);
  1933. outw(0x86e8, 0x0000);
  1934. outw(0x82e8, 0x0000);
  1935. /*
  1936.  *    Set Hi Color DAC
  1937.  */
  1938.  
  1939. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  1940. r1    = 0x80;
  1941. outb(0x3c6, r1);
  1942. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  1943. r1    = 0x40;
  1944. outb(0x3c8, r1);
  1945. r1    = 0x30;
  1946. outb(0x3c9, r1);
  1947. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  1948. rmww(0x3c6, 0x3c6, 0xff, 0x80);
  1949. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  1950. outb(0x3c8, 0x01);
  1951. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  1952. r1    = 0x08;
  1953. outb(0x3c6, r1);
  1954. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  1955. [comment]
  1956.         Text Mode: 40 cols, 25 rows. (7)
  1957.  
  1958. [AdapterType]
  1959.         S3
  1960.  
  1961. [ChipSet]
  1962.         S386C928
  1963.  
  1964. [ModeInfo]
  1965.         ModeAttributes   = 0x08
  1966.         BytesPerScanLine = 40
  1967.         XResolution      = 360
  1968.         YResolution      = 400
  1969.         XCharSize        = 9
  1970.         YCharSize        = 16
  1971.         TextRows         = 25
  1972.         BitsPerPixel     = 4
  1973.         NumberOfPlanes   = 1
  1974.         PageLength       = 4000
  1975.         SaveSize         = 4000
  1976.         TotalMemory      = 4194304
  1977.         InterlaceMode    = 0
  1978.         BufferAddress    = 0x0b8000
  1979.  
  1980. [TrapRegs]
  1981.     0x3c2;
  1982.     0x3c4, 0x00-0x04;
  1983.     0x3c5;
  1984.         0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
  1985.     0x3d5;
  1986.     0x3c0, 0x00-0x14;
  1987.     0x3c1;
  1988.     0x3ce, 0x00-0x08;
  1989.     0x3cf;
  1990.     0x4ae8;
  1991.  
  1992. [SetMode]
  1993.  
  1994. /*
  1995.  *    Set Hi Color DAC
  1996.  */
  1997.  
  1998. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  1999. r1    = 0x00;
  2000. outb(0x3c6, r1);
  2001. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  2002. r1    = 0x00;
  2003. outb(0x3c8, r1);
  2004. r1    = 0x00;
  2005. outb(0x3c9, r1);
  2006. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  2007. rmww(0x3c6, 0x3c6, 0xff, 0x80);
  2008. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  2009. outb(0x3c8, 0x01);
  2010. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  2011. r1    = 0x00;
  2012. outb(0x3c6, r1);
  2013. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  2014.  
  2015. /*
  2016.  *    Set Miscellaneous Output Register
  2017.  */
  2018.  
  2019. outb(0x3c2, 0x67);
  2020.  
  2021.  
  2022. /*
  2023.  *    Set Sequencer Registers
  2024.  */
  2025.  
  2026. r0   = 0x00; r1   = 0x08; r2   = 0x03; r3   = 0x00; r4   = 0x02;
  2027. boutb(5, 0x00, 0x3c4, 0x3c5);
  2028.  
  2029. outw(0x3c4, 0x0300);
  2030. /*
  2031.  *    Set CRT Registers
  2032.  */
  2033.  
  2034. outw(0x3d4, 0x0e11);
  2035. r0   = 0x2d; r1   = 0x27; r2   = 0x28; r3   = 0x90; r4   = 0x2b;
  2036. r5   = 0xa0; r6   = 0xbf; r7   = 0x1f; r8   = 0x00; r9   = 0x4f;
  2037. r10  = 0x0d; r11  = 0x0e; r12  = 0x00; r13  = 0x00; r14  = 0x00;
  2038. r15  = 0x00; r16  = 0x9c; r17  = 0x8e; r18  = 0x8f; r19  = 0x14;
  2039. r20  = 0x1f; r21  = 0x96; r22  = 0xb9; r23  = 0xa3; r24  = 0xff;
  2040. boutb(25, 0x00, 0x3d4, 0x3d5);
  2041.  
  2042. r80  = 0x00; r81  = 0x00; r82  = 0xff; r83  = 0x00; r84  = 0x38;
  2043. r85  = 0x00; r86  = 0x00; r87  = 0x00; r88  = 0x88; r89  = 0x00;
  2044. boutb(10, 0x50, 0x3d4, 0x3d5);
  2045.  
  2046. r92  = 0x01; r93  = 0x00; r94  = 0x00;
  2047. boutb(3, 0x5c, 0x3d4, 0x3d5);
  2048.  
  2049. r96  = 0x07; r97  = 0x80; r98  = 0xa1;
  2050. boutb(3, 0x60, 0x3d4, 0x3d5);
  2051.  
  2052. r49  = 0x85; r50  = 0x00; r51  = 0x00; r52  = 0x00; r53  = 0x00;
  2053. boutb(5, 0x31, 0x3d4, 0x3d5);
  2054.  
  2055. r58  = 0x85; r59  = 0x5a; r60  = 0x10;
  2056. boutb(3, 0x3a, 0x3d4, 0x3d5);
  2057.  
  2058. r64  = 0x09;
  2059. boutb(1, 0x40, 0x3d4, 0x3d5);
  2060.  
  2061. r67  = 0x00;
  2062. boutb(1, 0x43, 0x3d4, 0x3d5);
  2063.  
  2064. r69  = 0x00; r70  = 0x00; r71  = 0xff; r72  = 0xfc; r73  = 0xff;
  2065. boutb(5, 0x45, 0x3d4, 0x3d5);
  2066.  
  2067. r76  = 0xff; r77  = 0xff; r78  = 0xff; r79  = 0xdf;
  2068. boutb(4, 0x4c, 0x3d4, 0x3d5);
  2069.  
  2070. r66  = 0x02;
  2071. boutb(1, 0x42, 0x3d4, 0x3d5);
  2072.  
  2073. /*
  2074.  *    Set Attribute Registers
  2075.  */
  2076.  
  2077. r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
  2078. r5   = 0x05; r6   = 0x14; r7   = 0x07; r8   = 0x38; r9   = 0x39;
  2079. r10  = 0x3a; r11  = 0x3b; r12  = 0x3c; r13  = 0x3d; r14  = 0x3e;
  2080. r15  = 0x3f; r16  = 0x0c; r17  = 0x00; r18  = 0x0f; r19  = 0x08;
  2081. r20  = 0x00;
  2082. boutb(21, 0x00, 0x3c0, 0x3c1);
  2083.  
  2084. /*
  2085.  *    Set GDC Registers
  2086.  */
  2087.  
  2088. r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
  2089. r5   = 0x10; r6   = 0x0e; r7   = 0x00; r8   = 0xff;
  2090. boutb(9, 0x00, 0x3ce, 0x3cf);
  2091.  
  2092. /*
  2093.  *    Set CRT Registers
  2094.  */
  2095.  
  2096. rmwb(0x3d4, 0x3d5, 0x40, 0xff, 0x01);
  2097. /*
  2098.  *    Set Enhanced Command Registers
  2099.  */
  2100.  
  2101. outw(0x4ae8, 0x0000);
  2102. rmwb(0x3d4, 0x3d5, 0x40, 0xfe, 0x00);
  2103. [comment]
  2104.         Text Mode: 80 cols, 25 rows. (8)
  2105.  
  2106. [AdapterType]
  2107.         S3
  2108.  
  2109. [ChipSet]
  2110.         S386C928
  2111.  
  2112. [ModeInfo]
  2113.         ModeAttributes   = 0x08
  2114.         BytesPerScanLine = 80
  2115.         XResolution      = 720
  2116.         YResolution      = 400
  2117.         XCharSize        = 9
  2118.         YCharSize        = 16
  2119.         TextRows         = 25
  2120.         BitsPerPixel     = 4
  2121.         NumberOfPlanes   = 1
  2122.         PageLength       = 4000
  2123.         SaveSize         = 4000
  2124.         TotalMemory      = 4194304
  2125.         InterlaceMode    = 0
  2126.         BufferAddress    = 0x0b8000
  2127.  
  2128. [TrapRegs]
  2129.     0x3c2;
  2130.     0x3c4, 0x00-0x04;
  2131.     0x3c5;
  2132.         0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
  2133.     0x3d5;
  2134.     0x3c0, 0x00-0x14;
  2135.     0x3c1;
  2136.     0x3ce, 0x00-0x08;
  2137.     0x3cf;
  2138.     0x4ae8;
  2139.  
  2140. [SetMode]
  2141.  
  2142. /*
  2143.  *    Set Hi Color DAC
  2144.  */
  2145.  
  2146. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  2147. r1    = 0x00;
  2148. outb(0x3c6, r1);
  2149. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  2150. r1    = 0x00;
  2151. outb(0x3c8, r1);
  2152. r1    = 0x00;
  2153. outb(0x3c9, r1);
  2154. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  2155. rmww(0x3c6, 0x3c6, 0xff, 0x80);
  2156. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  2157. outb(0x3c8, 0x01);
  2158. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  2159. r1    = 0x00;
  2160. outb(0x3c6, r1);
  2161. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  2162.  
  2163. /*
  2164.  *    Set Miscellaneous Output Register
  2165.  */
  2166.  
  2167. outb(0x3c2, 0x67);
  2168.  
  2169.  
  2170. /*
  2171.  *    Set Sequencer Registers
  2172.  */
  2173.  
  2174. r0   = 0x00; r1   = 0x00; r2   = 0x03; r3   = 0x00; r4   = 0x02;
  2175. boutb(5, 0x00, 0x3c4, 0x3c5);
  2176.  
  2177. outw(0x3c4, 0x0300);
  2178. /*
  2179.  *    Set CRT Registers
  2180.  */
  2181.  
  2182. outw(0x3d4, 0x0e11);
  2183. r0   = 0x5f; r1   = 0x4f; r2   = 0x50; r3   = 0x82; r4   = 0x55;
  2184. r5   = 0x81; r6   = 0xbf; r7   = 0x1f; r8   = 0x00; r9   = 0x4f;
  2185. r10  = 0x0d; r11  = 0x0e; r12  = 0x00; r13  = 0x00; r14  = 0x00;
  2186. r15  = 0x00; r16  = 0x9c; r17  = 0x8e; r18  = 0x8f; r19  = 0x28;
  2187. r20  = 0x1f; r21  = 0x96; r22  = 0xb9; r23  = 0xa3; r24  = 0xff;
  2188. boutb(25, 0x00, 0x3d4, 0x3d5);
  2189.  
  2190. r80  = 0x00; r81  = 0x00; r82  = 0xff; r83  = 0x00; r84  = 0x38;
  2191. r85  = 0x00; r86  = 0x00; r87  = 0x00; r88  = 0x88; r89  = 0x00;
  2192. boutb(10, 0x50, 0x3d4, 0x3d5);
  2193.  
  2194. r92  = 0x01; r93  = 0x00; r94  = 0x00;
  2195. boutb(3, 0x5c, 0x3d4, 0x3d5);
  2196.  
  2197. r96  = 0x07; r97  = 0x80; r98  = 0xa1;
  2198. boutb(3, 0x60, 0x3d4, 0x3d5);
  2199.  
  2200. r49  = 0x85; r50  = 0x00; r51  = 0x00; r52  = 0x00; r53  = 0x00;
  2201. boutb(5, 0x31, 0x3d4, 0x3d5);
  2202.  
  2203. r58  = 0x85; r59  = 0x5a; r60  = 0x10;
  2204. boutb(3, 0x3a, 0x3d4, 0x3d5);
  2205.  
  2206. r64  = 0x09;
  2207. boutb(1, 0x40, 0x3d4, 0x3d5);
  2208.  
  2209. r67  = 0x00;
  2210. boutb(1, 0x43, 0x3d4, 0x3d5);
  2211.  
  2212. r69  = 0x00; r70  = 0x00; r71  = 0xff; r72  = 0xfc; r73  = 0xff;
  2213. boutb(5, 0x45, 0x3d4, 0x3d5);
  2214.  
  2215. r76  = 0xff; r77  = 0xff; r78  = 0xff; r79  = 0xdf;
  2216. boutb(4, 0x4c, 0x3d4, 0x3d5);
  2217.  
  2218. r66  = 0x02;
  2219. boutb(1, 0x42, 0x3d4, 0x3d5);
  2220.  
  2221. /*
  2222.  *    Set Attribute Registers
  2223.  */
  2224.  
  2225. r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
  2226. r5   = 0x05; r6   = 0x14; r7   = 0x07; r8   = 0x38; r9   = 0x39;
  2227. r10  = 0x3a; r11  = 0x3b; r12  = 0x3c; r13  = 0x3d; r14  = 0x3e;
  2228. r15  = 0x3f; r16  = 0x0c; r17  = 0x00; r18  = 0x0f; r19  = 0x08;
  2229. r20  = 0x00;
  2230. boutb(21, 0x00, 0x3c0, 0x3c1);
  2231.  
  2232. /*
  2233.  *    Set GDC Registers
  2234.  */
  2235.  
  2236. r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
  2237. r5   = 0x10; r6   = 0x0e; r7   = 0x00; r8   = 0xff;
  2238. boutb(9, 0x00, 0x3ce, 0x3cf);
  2239.  
  2240. /*
  2241.  *    Set CRT Registers
  2242.  */
  2243.  
  2244. rmwb(0x3d4, 0x3d5, 0x40, 0xff, 0x01);
  2245. /*
  2246.  *    Set Enhanced Command Registers
  2247.  */
  2248.  
  2249. outw(0x4ae8, 0x0000);
  2250. rmwb(0x3d4, 0x3d5, 0x40, 0xfe, 0x00);
  2251. [comment]
  2252.         Text Mode: 132 cols, 25 rows. (9)
  2253.  
  2254. [AdapterType]
  2255.         S3
  2256.  
  2257. [ChipSet]
  2258.         S386C928
  2259.  
  2260. [ModeInfo]
  2261.         ModeAttributes   = 0x08
  2262.         BytesPerScanLine = 132
  2263.         XResolution      = 1056
  2264.         YResolution      = 400
  2265.         XCharSize        = 8
  2266.         YCharSize        = 16
  2267.         TextRows         = 25
  2268.         BitsPerPixel     = 4
  2269.         NumberOfPlanes   = 1
  2270.         PageLength       = 6600
  2271.         SaveSize         = 6600
  2272.         TotalMemory      = 4194304
  2273.         InterlaceMode    = 0
  2274.         BufferAddress    = 0x0b8000
  2275.  
  2276. [TrapRegs]
  2277.     0x3c2;
  2278.     0x4ae8;
  2279.     0x3c4, 0x00-0x04;
  2280.     0x3c5;
  2281.         0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
  2282.     0x3d5;
  2283.     0x3c0, 0x00-0x14;
  2284.     0x3c1;
  2285.     0x3ce, 0x00-0x08;
  2286.     0x3cf;
  2287.  
  2288. [SetMode]
  2289.  
  2290. /*
  2291.  *    Set Hi Color DAC
  2292.  */
  2293.  
  2294. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  2295. r1    = 0x00;
  2296. outb(0x3c6, r1);
  2297. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  2298. r1    = 0x00;
  2299. outb(0x3c8, r1);
  2300. r1    = 0x00;
  2301. outb(0x3c9, r1);
  2302. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  2303. rmww(0x3c6, 0x3c6, 0xff, 0x80);
  2304. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  2305. outb(0x3c8, 0x01);
  2306. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  2307. r1    = 0x00;
  2308. outb(0x3c6, r1);
  2309. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  2310.  
  2311. /*
  2312.  *    Set Miscellaneous Output Register
  2313.  */
  2314.  
  2315. outb(0x3c2, 0x6f);
  2316.  
  2317.  
  2318. /*
  2319.  *    Set Enhanced Command Registers
  2320.  */
  2321.  
  2322. outw(0x4ae8, 0x0000);
  2323. /*
  2324.  *    Set Sequencer Registers
  2325.  */
  2326.  
  2327. r0   = 0x00; r1   = 0x01; r2   = 0x03; r3   = 0x00; r4   = 0x02;
  2328. boutb(5, 0x00, 0x3c4, 0x3c5);
  2329.  
  2330. outw(0x3c4, 0x0300);
  2331. /*
  2332.  *    Set CRT Registers
  2333.  */
  2334.  
  2335. outw(0x3d4, 0x0e11);
  2336. r0   = 0x9a; r1   = 0x83; r2   = 0x86; r3   = 0x9d; r4   = 0x87;
  2337. r5   = 0x1b; r6   = 0xbf; r7   = 0x1f; r8   = 0x00; r9   = 0x4f;
  2338. r10  = 0x0d; r11  = 0x0e; r12  = 0x00; r13  = 0x00; r14  = 0x03;
  2339. r15  = 0x9c; r16  = 0x9c; r17  = 0x8e; r18  = 0x8f; r19  = 0x42;
  2340. r20  = 0x1f; r21  = 0x96; r22  = 0xb9; r23  = 0xa3; r24  = 0xff;
  2341. boutb(25, 0x00, 0x3d4, 0x3d5);
  2342.  
  2343. r80  = 0x00; r81  = 0x00; r82  = 0xff; r83  = 0x00; r84  = 0x08;
  2344. r85  = 0x00; r86  = 0x00; r87  = 0x00; r88  = 0x0c; r89  = 0x00;
  2345. boutb(10, 0x50, 0x3d4, 0x3d5);
  2346.  
  2347. r92  = 0x02; r93  = 0x00; r94  = 0x00;
  2348. boutb(3, 0x5c, 0x3d4, 0x3d5);
  2349.  
  2350. r96  = 0x07; r97  = 0x80; r98  = 0xa1;
  2351. boutb(3, 0x60, 0x3d4, 0x3d5);
  2352.  
  2353. r49  = 0x85; r50  = 0x00; r51  = 0x00; r52  = 0x10; r53  = 0x00;
  2354. boutb(5, 0x31, 0x3d4, 0x3d5);
  2355.  
  2356. r58  = 0x85; r59  = 0x90; r60  = 0x40;
  2357. boutb(3, 0x3a, 0x3d4, 0x3d5);
  2358.  
  2359. r64  = 0x09;
  2360. boutb(1, 0x40, 0x3d4, 0x3d5);
  2361.  
  2362. r67  = 0x00;
  2363. boutb(1, 0x43, 0x3d4, 0x3d5);
  2364.  
  2365. r69  = 0x00; r70  = 0x00; r71  = 0xff; r72  = 0xfc; r73  = 0xff;
  2366. boutb(5, 0x45, 0x3d4, 0x3d5);
  2367.  
  2368. r76  = 0xff; r77  = 0xff; r78  = 0xff; r79  = 0xdf;
  2369. boutb(4, 0x4c, 0x3d4, 0x3d5);
  2370.  
  2371. r66  = 0x02;
  2372. boutb(1, 0x42, 0x3d4, 0x3d5);
  2373.  
  2374. /*
  2375.  *    Set Attribute Registers
  2376.  */
  2377.  
  2378. r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
  2379. r5   = 0x05; r6   = 0x14; r7   = 0x07; r8   = 0x38; r9   = 0x39;
  2380. r10  = 0x3a; r11  = 0x3b; r12  = 0x3c; r13  = 0x3d; r14  = 0x3e;
  2381. r15  = 0x3f; r16  = 0x0c; r17  = 0x00; r18  = 0x0f; r19  = 0x00;
  2382. r20  = 0x00;
  2383. boutb(21, 0x00, 0x3c0, 0x3c1);
  2384.  
  2385. /*
  2386.  *    Set GDC Registers
  2387.  */
  2388.  
  2389. r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
  2390. r5   = 0x10; r6   = 0x0e; r7   = 0x00; r8   = 0xff;
  2391. boutb(9, 0x00, 0x3ce, 0x3cf);
  2392.  
  2393. /*
  2394.  *    Set CRT Registers
  2395.  */
  2396.  
  2397. rmwb(0x3d4, 0x3d5, 0x40, 0xff, 0x01);
  2398. /*
  2399.  *    Set Enhanced Command Registers
  2400.  */
  2401.  
  2402. outw(0x4ae8, 0x0000);
  2403. rmwb(0x3d4, 0x3d5, 0x40, 0xfe, 0x00);
  2404. [comment]
  2405.         Text Mode: 132 cols, 43 rows. (10)
  2406.  
  2407. [AdapterType]
  2408.         S3
  2409.  
  2410. [ChipSet]
  2411.         S386C928
  2412.  
  2413. [ModeInfo]
  2414.         ModeAttributes   = 0x08
  2415.         BytesPerScanLine = 132
  2416.         XResolution      = 1056
  2417.         YResolution      = 396
  2418.         XCharSize        = 8
  2419.         YCharSize        = 8
  2420.         TextRows         = 43
  2421.         BitsPerPixel     = 4
  2422.         NumberOfPlanes   = 1
  2423.         PageLength       = 11616
  2424.         SaveSize         = 11616
  2425.         TotalMemory      = 4194304
  2426.         InterlaceMode    = 0
  2427.         BufferAddress    = 0x0b8000
  2428.  
  2429. [TrapRegs]
  2430.     0x3c2;
  2431.     0x4ae8;
  2432.     0x3c4, 0x00-0x04;
  2433.     0x3c5;
  2434.         0x3d4, 0x00-0x18, 0x50-0x59, 0x5c-0x5e, 0x60-0x67, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42;
  2435.     0x3d5;
  2436.     0x3c0, 0x00-0x14;
  2437.     0x3c1;
  2438.     0x3ce, 0x00-0x08;
  2439.     0x3cf;
  2440.  
  2441. [SetMode]
  2442.  
  2443. /*
  2444.  *    Set Hi Color DAC
  2445.  */
  2446.  
  2447. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  2448. r1    = 0x00;
  2449. outb(0x3c6, r1);
  2450. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  2451. r1    = 0x00;
  2452. outb(0x3c8, r1);
  2453. r1    = 0x00;
  2454. outb(0x3c9, r1);
  2455. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x01);
  2456. rmww(0x3c6, 0x3c6, 0xff, 0x80);
  2457. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  2458. outb(0x3c8, 0x01);
  2459. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x02);
  2460. r1    = 0x00;
  2461. outb(0x3c6, r1);
  2462. rmwb(0x3d4, 0x3d5, 0x55, 0xfc, 0x00);
  2463.  
  2464. /*
  2465.  *    Set Miscellaneous Output Register
  2466.  */
  2467.  
  2468. outb(0x3c2, 0x6f);
  2469.  
  2470.  
  2471. /*
  2472.  *    Set Enhanced Command Registers
  2473.  */
  2474.  
  2475. outw(0x4ae8, 0x0000);
  2476. /*
  2477.  *    Set Sequencer Registers
  2478.  */
  2479.  
  2480. r0   = 0x00; r1   = 0x01; r2   = 0x03; r3   = 0x00; r4   = 0x02;
  2481. boutb(5, 0x00, 0x3c4, 0x3c5);
  2482.  
  2483. outw(0x3c4, 0x0300);
  2484. /*
  2485.  *    Set CRT Registers
  2486.  */
  2487.  
  2488. outw(0x3d4, 0x0e11);
  2489. r0   = 0x9a; r1   = 0x83; r2   = 0x84; r3   = 0x9d; r4   = 0x87;
  2490. r5   = 0x1b; r6   = 0xbf; r7   = 0x1f; r8   = 0x00; r9   = 0x48;
  2491. r10  = 0x07; r11  = 0x08; r12  = 0x00; r13  = 0x00; r14  = 0x15;
  2492. r15  = 0xa8; r16  = 0x98; r17  = 0x8a; r18  = 0x82; r19  = 0x42;
  2493. r20  = 0x1f; r21  = 0x8b; r22  = 0xb8; r23  = 0xa3; r24  = 0xff;
  2494. boutb(25, 0x00, 0x3d4, 0x3d5);
  2495.  
  2496. r80  = 0x00; r81  = 0x00; r82  = 0xff; r83  = 0x00; r84  = 0x08;
  2497. r85  = 0x00; r86  = 0x00; r87  = 0x00; r88  = 0x0c; r89  = 0x00;
  2498. boutb(10, 0x50, 0x3d4, 0x3d5);
  2499.  
  2500. r92  = 0x02; r93  = 0x00; r94  = 0x00;
  2501. boutb(3, 0x5c, 0x3d4, 0x3d5);
  2502.  
  2503. r96  = 0x07; r97  = 0x80; r98  = 0xa1;
  2504. boutb(3, 0x60, 0x3d4, 0x3d5);
  2505.  
  2506. r49  = 0x85; r50  = 0x00; r51  = 0x00; r52  = 0x10; r53  = 0x00;
  2507. boutb(5, 0x31, 0x3d4, 0x3d5);
  2508.  
  2509. r58  = 0x85; r59  = 0x90; r60  = 0x40;
  2510. boutb(3, 0x3a, 0x3d4, 0x3d5);
  2511.  
  2512. r64  = 0x09;
  2513. boutb(1, 0x40, 0x3d4, 0x3d5);
  2514.  
  2515. r67  = 0x00;
  2516. boutb(1, 0x43, 0x3d4, 0x3d5);
  2517.  
  2518. r69  = 0x00; r70  = 0x00; r71  = 0xff; r72  = 0xfc; r73  = 0xff;
  2519. boutb(5, 0x45, 0x3d4, 0x3d5);
  2520.  
  2521. r76  = 0xff; r77  = 0xff; r78  = 0xff; r79  = 0xdf;
  2522. boutb(4, 0x4c, 0x3d4, 0x3d5);
  2523.  
  2524. r66  = 0x02;
  2525. boutb(1, 0x42, 0x3d4, 0x3d5);
  2526.  
  2527. /*
  2528.  *    Set Attribute Registers
  2529.  */
  2530.  
  2531. r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
  2532. r5   = 0x05; r6   = 0x14; r7   = 0x07; r8   = 0x38; r9   = 0x39;
  2533. r10  = 0x3a; r11  = 0x3b; r12  = 0x3c; r13  = 0x3d; r14  = 0x3e;
  2534. r15  = 0x3f; r16  = 0x0c; r17  = 0x00; r18  = 0x0f; r19  = 0x00;
  2535. r20  = 0x00;
  2536. boutb(21, 0x00, 0x3c0, 0x3c1);
  2537.  
  2538. /*
  2539.  *    Set GDC Registers
  2540.  */
  2541.  
  2542. r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
  2543. r5   = 0x10; r6   = 0x0e; r7   = 0x00; r8   = 0xff;
  2544. boutb(9, 0x00, 0x3ce, 0x3cf);
  2545.  
  2546. /*
  2547.  *    Set CRT Registers
  2548.  */
  2549.  
  2550. rmwb(0x3d4, 0x3d5, 0x40, 0xff, 0x01);
  2551. /*
  2552.  *    Set Enhanced Command Registers
  2553.  */
  2554.  
  2555. outw(0x4ae8, 0x0000);
  2556. rmwb(0x3d4, 0x3d5, 0x40, 0xfe, 0x00);
  2557.