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