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