home *** CD-ROM | disk | FTP | other *** search
/ Media Gallery 1995 June / MG6.ISO / spea / install / mercury / mercury.pm_ / SVGADATA.PMI
Encoding:
Text File  |  1994-11-29  |  40.5 KB  |  1,722 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      = 2097152
  67.         InterlaceMode    = 1
  68.         BufferAddress    = 0x0a0000
  69.  
  70. [TrapRegs]
  71.     0x3c2;
  72.     0x3c4, 0x00-0x04;
  73.     0x3c5;
  74.     0x3d4, 0x00-0x18, 0x50-0x5a, 0x5c-0x5e, 0x60-0x62, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42, 0x67-0x67;
  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 Sequencer Registers
  90.  */
  91.  
  92. r0   = 0x00; r1   = 0x01; r2   = 0x0f; r3   = 0x00; r4   = 0x0e;
  93. boutb(5, 0x00, 0x3c4, 0x3c5);
  94.  
  95. outw(0x3c4, 0x0300);
  96. /*
  97.  *    Set CRT Registers
  98.  */
  99.  
  100. outw(0x3d4, 0x0e11);
  101. r0   = 0x2d; r1   = 0x27; r2   = 0x28; r3   = 0x90; r4   = 0x2a;
  102. r5   = 0x8f; r6   = 0x0b; r7   = 0x3e; r8   = 0x00; r9   = 0x40;
  103. r10  = 0x00; r11  = 0x00; r12  = 0x00; r13  = 0x00; r14  = 0xff;
  104. r15  = 0x00; r16  = 0xea; r17  = 0x8c; r18  = 0xdf; r19  = 0x50;
  105. r20  = 0x60; r21  = 0xdf; r22  = 0x0b; r23  = 0xab; r24  = 0xff;
  106. boutb(25, 0x00, 0x3d4, 0x3d5);
  107.  
  108. r80  = 0x00; r81  = 0x00; r82  = 0x00; r83  = 0x00; r84  = 0x38;
  109. r85  = 0x00; r86  = 0x00; r87  = 0x00; r88  = 0x08; r89  = 0x00;
  110. r90  = 0x0a; 
  111. boutb(11, 0x50, 0x3d4, 0x3d5);
  112.  
  113. r92  = 0x02; r93  = 0x00; r94  = 0x00; 
  114. boutb(3, 0x5c, 0x3d4, 0x3d5);
  115.  
  116. r96  = 0x07; r97  = 0x80; r98  = 0xa1; 
  117. boutb(3, 0x60, 0x3d4, 0x3d5);
  118.  
  119. r49  = 0x8d; r50  = 0x00; r51  = 0x20; r52  = 0x00; r53  = 0x00;
  120. boutb(5, 0x31, 0x3d4, 0x3d5);
  121.  
  122. r58  = 0x95; r59  = 0x5a; r60  = 0x40; 
  123. boutb(3, 0x3a, 0x3d4, 0x3d5);
  124.  
  125. r64  = 0x51; 
  126. boutb(1, 0x40, 0x3d4, 0x3d5);
  127.  
  128. r67  = 0x80; 
  129. boutb(1, 0x43, 0x3d4, 0x3d5);
  130.  
  131. r69  = 0x80; r70  = 0x80; r71  = 0xff; r72  = 0xfc; r73  = 0xff;
  132. boutb(5, 0x45, 0x3d4, 0x3d5);
  133.  
  134. r76  = 0xff; r77  = 0xff; r78  = 0xff; r79  = 0xdf; 
  135. boutb(4, 0x4c, 0x3d4, 0x3d5);
  136.  
  137. r66  = 0x02; 
  138. boutb(1, 0x42, 0x3d4, 0x3d5);
  139.  
  140. r103 = 0x02; 
  141. boutb(1, 0x67, 0x3d4, 0x3d5);
  142.  
  143. /*
  144.  *    Set Attribute Registers
  145.  */
  146.  
  147. r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
  148. r5   = 0x05; r6   = 0x06; r7   = 0x07; r8   = 0x10; r9   = 0x11;
  149. r10  = 0x12; r11  = 0x13; r12  = 0x14; r13  = 0x15; r14  = 0x16;
  150. r15  = 0x17; r16  = 0x41; r17  = 0x00; r18  = 0x0f; r19  = 0x00;
  151. r20  = 0x00; 
  152. boutb(21, 0x00, 0x3c0, 0x3c1);
  153.  
  154. /*
  155.  *    Set GDC Registers
  156.  */
  157.  
  158. r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
  159. r5   = 0x40; r6   = 0x05; r7   = 0x0f; r8   = 0xff; 
  160. boutb(9, 0x00, 0x3ce, 0x3cf);
  161.  
  162. /*
  163.  *    Set Enhanced Command Registers
  164.  */
  165.  
  166. outw(0x4ae8, 0x0001);
  167. outw(0xbee8, 0x1000);
  168. outw(0xbee8, 0x33ff);
  169. outw(0xbee8, 0x2000);
  170. outw(0xbee8, 0x43ff);
  171. outw(0xbee8, 0xa000);
  172. outw(0xbee8, 0x03ff);
  173. outw(0x96e8, 0x03ff);
  174. outw(0x86e8, 0x0000);
  175. outw(0x82e8, 0x0000);
  176. [comment]
  177.     Graphics Mode: 640 x 480 x 64K colors.
  178.  
  179. [AdapterType]
  180.         S3
  181.  
  182. [ChipSet]
  183.         S386C928
  184.  
  185. [ModeInfo]
  186.         ModeAttributes   = 0x18
  187.         BytesPerScanLine = 80
  188.         XResolution      = 640
  189.         YResolution      = 480
  190.         TextRows         = 30
  191.         BitsPerPixel     = 16
  192.         NumberOfPlanes   = 1
  193.         PageLength       = 614400
  194.         SaveSize         = 614400
  195.         TotalMemory      = 2097152
  196.         InterlaceMode    = 1
  197.         BufferAddress    = 0x0a0000
  198.  
  199. [TrapRegs]
  200.     0x3c2;
  201.     0x3c4, 0x00-0x04;
  202.     0x3c5;
  203.     0x3d4, 0x00-0x18, 0x50-0x5a, 0x5c-0x5e, 0x60-0x62, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42, 0x67-0x67;
  204.     0x3d5;
  205.     0x3c0, 0x00-0x14;
  206.     0x3c1;
  207.     0x3ce, 0x00-0x08;
  208.     0x3cf;
  209.     0x4ae8;
  210.     0xbee8;
  211.     0x96e8;
  212.     0x86e8;
  213.     0x82e8;
  214.  
  215. [SetMode]
  216.  
  217. /*
  218.  *    Set Sequencer Registers
  219.  */
  220.  
  221. r0   = 0x00; r1   = 0x01; r2   = 0x0f; r3   = 0x00; r4   = 0x0e;
  222. boutb(5, 0x00, 0x3c4, 0x3c5);
  223.  
  224. outw(0x3c4, 0x0300);
  225. /*
  226.  *    Set CRT Registers
  227.  */
  228.  
  229. outw(0x3d4, 0x0e11);
  230. r0   = 0x2d; r1   = 0x27; r2   = 0x28; r3   = 0x90; r4   = 0x2a;
  231. r5   = 0x8f; r6   = 0x0b; r7   = 0x3e; r8   = 0x00; r9   = 0x40;
  232. r10  = 0x00; r11  = 0x00; r12  = 0x00; r13  = 0x00; r14  = 0xff;
  233. r15  = 0x00; r16  = 0xea; r17  = 0x8c; r18  = 0xdf; r19  = 0xa0;
  234. r20  = 0x60; r21  = 0xdf; r22  = 0x0b; r23  = 0xab; r24  = 0xff;
  235. boutb(25, 0x00, 0x3d4, 0x3d5);
  236.  
  237. r80  = 0x50; r81  = 0x00; r82  = 0x00; r83  = 0x20; r84  = 0x18;
  238. r85  = 0x68; r86  = 0x00; r87  = 0x00; r88  = 0x18; r89  = 0x00;
  239. r90  = 0x0a; 
  240. boutb(11, 0x50, 0x3d4, 0x3d5);
  241.  
  242. r92  = 0x02; r93  = 0x00; r94  = 0x00; 
  243. boutb(3, 0x5c, 0x3d4, 0x3d5);
  244.  
  245. r96  = 0x0f; r97  = 0x81; r98  = 0x40; 
  246. boutb(3, 0x60, 0x3d4, 0x3d5);
  247.  
  248. r49  = 0x8d; r50  = 0x00; r51  = 0x20; r52  = 0x00; r53  = 0x00;
  249. boutb(5, 0x31, 0x3d4, 0x3d5);
  250.  
  251. r58  = 0x95; r59  = 0xbe; r60  = 0x40; 
  252. boutb(3, 0x3a, 0x3d4, 0x3d5);
  253.  
  254. r64  = 0x51; 
  255. boutb(1, 0x40, 0x3d4, 0x3d5);
  256.  
  257. r67  = 0x00; 
  258. boutb(1, 0x43, 0x3d4, 0x3d5);
  259.  
  260. r69  = 0x20; r70  = 0x20; r71  = 0xff; r72  = 0xfc; r73  = 0xff;
  261. boutb(5, 0x45, 0x3d4, 0x3d5);
  262.  
  263. r76  = 0xff; r77  = 0xff; r78  = 0xff; r79  = 0xdf; 
  264. boutb(4, 0x4c, 0x3d4, 0x3d5);
  265.  
  266. r66  = 0x02; 
  267. boutb(1, 0x42, 0x3d4, 0x3d5);
  268.  
  269. r103 = 0x02; 
  270. boutb(1, 0x67, 0x3d4, 0x3d5);
  271.  
  272. /*
  273.  *    Set Attribute Registers
  274.  */
  275.  
  276. r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
  277. r5   = 0x05; r6   = 0x06; r7   = 0x07; r8   = 0x10; r9   = 0x11;
  278. r10  = 0x12; r11  = 0x13; r12  = 0x14; r13  = 0x15; r14  = 0x16;
  279. r15  = 0x17; r16  = 0x41; r17  = 0x00; r18  = 0x0f; r19  = 0x00;
  280. r20  = 0x00; 
  281. boutb(21, 0x00, 0x3c0, 0x3c1);
  282.  
  283. /*
  284.  *    Set GDC Registers
  285.  */
  286.  
  287. r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
  288. r5   = 0x40; r6   = 0x05; r7   = 0x0f; r8   = 0xff; 
  289. boutb(9, 0x00, 0x3ce, 0x3cf);
  290.  
  291. /*
  292.  *    Set Enhanced Command Registers
  293.  */
  294.  
  295. outw(0x4ae8, 0x0001);
  296. outw(0xbee8, 0x1000);
  297. outw(0xbee8, 0x33ff);
  298. outw(0xbee8, 0x2000);
  299. outw(0xbee8, 0x43ff);
  300. outw(0xbee8, 0xa000);
  301. outw(0xbee8, 0x03ff);
  302. outw(0x96e8, 0x03ff);
  303. outw(0x86e8, 0x0000);
  304. outw(0x82e8, 0x0000);
  305. [comment]
  306.     Graphics Mode: 640 x 480 x 16.7M colors.
  307.  
  308. [AdapterType]
  309.         S3
  310.  
  311. [ChipSet]
  312.         S386C928
  313.  
  314. [ModeInfo]
  315.         ModeAttributes   = 0x18
  316.         BytesPerScanLine = 80
  317.         XResolution      = 640
  318.         YResolution      = 480
  319.         TextRows         = 30
  320.         BitsPerPixel     = 32
  321.         NumberOfPlanes   = 1
  322.         PageLength       = 1228800
  323.         SaveSize         = 1228800
  324.         TotalMemory      = 2097152
  325.         InterlaceMode    = 1
  326.         BufferAddress    = 0x0a0000
  327.  
  328. [TrapRegs]
  329.     0x3c2;
  330.     0x3c4, 0x00-0x04;
  331.     0x3c5;
  332.     0x3d4, 0x00-0x18, 0x50-0x5a, 0x5c-0x5e, 0x60-0x62, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42, 0x67-0x67;
  333.     0x3d5;
  334.     0x3c0, 0x00-0x14;
  335.     0x3c1;
  336.     0x3ce, 0x00-0x08;
  337.     0x3cf;
  338.     0x4ae8;
  339.     0xbee8;
  340.     0x96e8;
  341.     0x86e8;
  342.     0x82e8;
  343.  
  344. [SetMode]
  345.  
  346. /*
  347.  *    Set Sequencer Registers
  348.  */
  349.  
  350. r0   = 0x00; r1   = 0x01; r2   = 0x0f; r3   = 0x00; r4   = 0x0e;
  351. boutb(5, 0x00, 0x3c4, 0x3c5);
  352.  
  353. outw(0x3c4, 0x0300);
  354. /*
  355.  *    Set CRT Registers
  356.  */
  357.  
  358. outw(0x3d4, 0x0e11);
  359. r0   = 0x2d; r1   = 0x27; r2   = 0x28; r3   = 0x90; r4   = 0x2a;
  360. r5   = 0x8f; r6   = 0x0b; r7   = 0x3e; r8   = 0x00; r9   = 0x40;
  361. r10  = 0x00; r11  = 0x00; r12  = 0x00; r13  = 0x00; r14  = 0xff;
  362. r15  = 0x00; r16  = 0xea; r17  = 0x8c; r18  = 0xdf; r19  = 0x40;
  363. r20  = 0x60; r21  = 0xdf; r22  = 0x0b; r23  = 0xab; r24  = 0xff;
  364. boutb(25, 0x00, 0x3d4, 0x3d5);
  365.  
  366. r80  = 0x70; r81  = 0x00; r82  = 0x00; r83  = 0x20; r84  = 0x00;
  367. r85  = 0x68; r86  = 0x00; r87  = 0x00; r88  = 0x18; r89  = 0x00;
  368. r90  = 0x0a; 
  369. boutb(11, 0x50, 0x3d4, 0x3d5);
  370.  
  371. r92  = 0x02; r93  = 0x00; r94  = 0x00; 
  372. boutb(3, 0x5c, 0x3d4, 0x3d5);
  373.  
  374. r96  = 0x2f; r97  = 0x81; r98  = 0xe0; 
  375. boutb(3, 0x60, 0x3d4, 0x3d5);
  376.  
  377. r49  = 0x8d; r50  = 0x00; r51  = 0x20; r52  = 0x00; r53  = 0x00;
  378. boutb(5, 0x31, 0x3d4, 0x3d5);
  379.  
  380. r58  = 0x95; r59  = 0x5a; r60  = 0x40; 
  381. boutb(3, 0x3a, 0x3d4, 0x3d5);
  382.  
  383. r64  = 0x51; 
  384. boutb(1, 0x40, 0x3d4, 0x3d5);
  385.  
  386. r67  = 0x80; 
  387. boutb(1, 0x43, 0x3d4, 0x3d5);
  388.  
  389. r69  = 0xa0; r70  = 0xa0; r71  = 0xff; r72  = 0xfc; r73  = 0xff;
  390. boutb(5, 0x45, 0x3d4, 0x3d5);
  391.  
  392. r76  = 0xff; r77  = 0xff; r78  = 0xff; r79  = 0xdf; 
  393. boutb(4, 0x4c, 0x3d4, 0x3d5);
  394.  
  395. r66  = 0x02; 
  396. boutb(1, 0x42, 0x3d4, 0x3d5);
  397.  
  398. r103 = 0x02; 
  399. boutb(1, 0x67, 0x3d4, 0x3d5);
  400.  
  401. /*
  402.  *    Set Attribute Registers
  403.  */
  404.  
  405. r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
  406. r5   = 0x05; r6   = 0x06; r7   = 0x07; r8   = 0x10; r9   = 0x11;
  407. r10  = 0x12; r11  = 0x13; r12  = 0x14; r13  = 0x15; r14  = 0x16;
  408. r15  = 0x17; r16  = 0x41; r17  = 0x00; r18  = 0x0f; r19  = 0x00;
  409. r20  = 0x00; 
  410. boutb(21, 0x00, 0x3c0, 0x3c1);
  411.  
  412. /*
  413.  *    Set GDC Registers
  414.  */
  415.  
  416. r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
  417. r5   = 0x40; r6   = 0x05; r7   = 0x0f; r8   = 0xff; 
  418. boutb(9, 0x00, 0x3ce, 0x3cf);
  419.  
  420. /*
  421.  *    Set Enhanced Command Registers
  422.  */
  423.  
  424. outw(0x4ae8, 0x0001);
  425. outw(0xbee8, 0x1000);
  426. outw(0xbee8, 0x33ff);
  427. outw(0xbee8, 0x2000);
  428. outw(0xbee8, 0x43ff);
  429. outw(0xbee8, 0xa000);
  430. outw(0xbee8, 0x03ff);
  431. outw(0x96e8, 0x03ff);
  432. outw(0x86e8, 0x0000);
  433. outw(0x82e8, 0x0000);
  434. [comment]
  435.     Graphics Mode: 800 x 600 x 256 colors.
  436.  
  437. [AdapterType]
  438.         S3
  439.  
  440. [ChipSet]
  441.         S386C928
  442.  
  443. [ModeInfo]
  444.         ModeAttributes   = 0x18
  445.         BytesPerScanLine = 100
  446.         XResolution      = 800
  447.         YResolution      = 600
  448.         TextRows         = 37
  449.         BitsPerPixel     = 8
  450.         NumberOfPlanes   = 1
  451.         PageLength       = 614400
  452.         SaveSize         = 614400
  453.         TotalMemory      = 2097152
  454.         InterlaceMode    = 1
  455.         BufferAddress    = 0x0a0000
  456.  
  457. [TrapRegs]
  458.     0x3c2;
  459.     0x3c4, 0x00-0x04;
  460.     0x3c5;
  461.     0x3d4, 0x00-0x18, 0x50-0x5a, 0x5c-0x5e, 0x60-0x62, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42, 0x67-0x67;
  462.     0x3d5;
  463.     0x3c0, 0x00-0x14;
  464.     0x3c1;
  465.     0x3ce, 0x00-0x08;
  466.     0x3cf;
  467.     0x4ae8;
  468.     0xbee8;
  469.     0x96e8;
  470.     0x86e8;
  471.     0x82e8;
  472.  
  473. [SetMode]
  474.  
  475. /*
  476.  *    Set Sequencer Registers
  477.  */
  478.  
  479. r0   = 0x00; r1   = 0x01; r2   = 0x0f; r3   = 0x00; r4   = 0x0e;
  480. boutb(5, 0x00, 0x3c4, 0x3c5);
  481.  
  482. outw(0x3c4, 0x0300);
  483. /*
  484.  *    Set CRT Registers
  485.  */
  486.  
  487. outw(0x3d4, 0x0e11);
  488. r0   = 0x1c; r1   = 0x18; r2   = 0x19; r3   = 0x9f; r4   = 0x1a;
  489. r5   = 0x1e; r6   = 0x72; r7   = 0xf0; r8   = 0x00; r9   = 0x60;
  490. r10  = 0x00; r11  = 0x00; r12  = 0x00; r13  = 0x00; r14  = 0xff;
  491. r15  = 0x00; r16  = 0x58; r17  = 0x8c; r18  = 0x57; r19  = 0x64;
  492. r20  = 0x00; r21  = 0x57; r22  = 0x72; r23  = 0xe3; r24  = 0xff;
  493. boutb(25, 0x00, 0x3d4, 0x3d5);
  494.  
  495. r80  = 0x00; r81  = 0x00; r82  = 0x00; r83  = 0x20; r84  = 0x08;
  496. r85  = 0x68; r86  = 0x00; r87  = 0x00; r88  = 0x08; r89  = 0x00;
  497. r90  = 0x0a; 
  498. boutb(11, 0x50, 0x3d4, 0x3d5);
  499.  
  500. r92  = 0x02; r93  = 0x00; r94  = 0x00; 
  501. boutb(3, 0x5c, 0x3d4, 0x3d5);
  502.  
  503. r96  = 0x0f; r97  = 0x80; r98  = 0xc9; 
  504. boutb(3, 0x60, 0x3d4, 0x3d5);
  505.  
  506. r49  = 0x8d; r50  = 0x00; r51  = 0x20; r52  = 0x00; r53  = 0x00;
  507. boutb(5, 0x31, 0x3d4, 0x3d5);
  508.  
  509. r58  = 0x95; r59  = 0x7b; r60  = 0x00; 
  510. boutb(3, 0x3a, 0x3d4, 0x3d5);
  511.  
  512. r64  = 0x51; 
  513. boutb(1, 0x40, 0x3d4, 0x3d5);
  514.  
  515. r67  = 0x00; 
  516. boutb(1, 0x43, 0x3d4, 0x3d5);
  517.  
  518. r69  = 0x20; r70  = 0x20; r71  = 0xff; r72  = 0xfc; r73  = 0xff;
  519. boutb(5, 0x45, 0x3d4, 0x3d5);
  520.  
  521. r76  = 0xff; r77  = 0xff; r78  = 0xff; r79  = 0xdf; 
  522. boutb(4, 0x4c, 0x3d4, 0x3d5);
  523.  
  524. r66  = 0x02; 
  525. boutb(1, 0x42, 0x3d4, 0x3d5);
  526.  
  527. r103 = 0x02; 
  528. boutb(1, 0x67, 0x3d4, 0x3d5);
  529.  
  530. /*
  531.  *    Set Attribute Registers
  532.  */
  533.  
  534. r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
  535. r5   = 0x05; r6   = 0x14; r7   = 0x07; r8   = 0x38; r9   = 0x39;
  536. r10  = 0x3a; r11  = 0x3b; r12  = 0x3c; r13  = 0x3d; r14  = 0x3e;
  537. r15  = 0x3f; r16  = 0x01; r17  = 0x00; r18  = 0x0f; r19  = 0x00;
  538. r20  = 0x00; 
  539. boutb(21, 0x00, 0x3c0, 0x3c1);
  540.  
  541. /*
  542.  *    Set GDC Registers
  543.  */
  544.  
  545. r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
  546. r5   = 0x00; r6   = 0x05; r7   = 0x0f; r8   = 0xff; 
  547. boutb(9, 0x00, 0x3ce, 0x3cf);
  548.  
  549. /*
  550.  *    Set Enhanced Command Registers
  551.  */
  552.  
  553. outw(0x4ae8, 0x0007);
  554. outw(0xbee8, 0x1000);
  555. outw(0xbee8, 0x33ff);
  556. outw(0xbee8, 0x2000);
  557. outw(0xbee8, 0x43ff);
  558. outw(0xbee8, 0xa000);
  559. outw(0xbee8, 0x03ff);
  560. outw(0x96e8, 0x03ff);
  561. outw(0x86e8, 0x0000);
  562. outw(0x82e8, 0x0000);
  563. [comment]
  564.     Graphics Mode: 800 x 600 x 64K colors.
  565.  
  566. [AdapterType]
  567.         S3
  568.  
  569. [ChipSet]
  570.         S386C928
  571.  
  572. [ModeInfo]
  573.         ModeAttributes   = 0x18
  574.         BytesPerScanLine = 100
  575.         XResolution      = 800
  576.         YResolution      = 600
  577.         TextRows         = 37
  578.         BitsPerPixel     = 16
  579.         NumberOfPlanes   = 1
  580.         PageLength       = 960000
  581.         SaveSize         = 960000
  582.         TotalMemory      = 2097152
  583.         InterlaceMode    = 1
  584.         BufferAddress    = 0x0a0000
  585.  
  586. [TrapRegs]
  587.     0x3c2;
  588.     0x3c4, 0x00-0x04;
  589.     0x3c5;
  590.     0x3d4, 0x00-0x18, 0x50-0x5a, 0x5c-0x5e, 0x60-0x62, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42, 0x67-0x67;
  591.     0x3d5;
  592.     0x3c0, 0x00-0x14;
  593.     0x3c1;
  594.     0x3ce, 0x00-0x08;
  595.     0x3cf;
  596.     0x4ae8;
  597.     0xbee8;
  598.     0x96e8;
  599.     0x86e8;
  600.     0x82e8;
  601.  
  602. [SetMode]
  603.  
  604. /*
  605.  *    Set Sequencer Registers
  606.  */
  607.  
  608. r0   = 0x00; r1   = 0x01; r2   = 0x0f; r3   = 0x00; r4   = 0x0e;
  609. boutb(5, 0x00, 0x3c4, 0x3c5);
  610.  
  611. outw(0x3c4, 0x0300);
  612. /*
  613.  *    Set CRT Registers
  614.  */
  615.  
  616. outw(0x3d4, 0x0e11);
  617. r0   = 0x1c; r1   = 0x18; r2   = 0x19; r3   = 0x9f; r4   = 0x1a;
  618. r5   = 0x1e; r6   = 0x72; r7   = 0xf0; r8   = 0x00; r9   = 0x60;
  619. r10  = 0x00; r11  = 0x00; r12  = 0x00; r13  = 0x00; r14  = 0xff;
  620. r15  = 0x00; r16  = 0x58; r17  = 0x8c; r18  = 0x57; r19  = 0xc8;
  621. r20  = 0x00; r21  = 0x57; r22  = 0x72; r23  = 0xe3; r24  = 0xff;
  622. boutb(25, 0x00, 0x3d4, 0x3d5);
  623.  
  624. r80  = 0x90; r81  = 0x00; r82  = 0x00; r83  = 0x20; r84  = 0x00;
  625. r85  = 0x68; r86  = 0x00; r87  = 0x00; r88  = 0x18; r89  = 0x00;
  626. r90  = 0x0a; 
  627. boutb(11, 0x50, 0x3d4, 0x3d5);
  628.  
  629. r92  = 0x02; r93  = 0x00; r94  = 0x00; 
  630. boutb(3, 0x5c, 0x3d4, 0x3d5);
  631.  
  632. r96  = 0x2f; r97  = 0x81; r98  = 0x92; 
  633. boutb(3, 0x60, 0x3d4, 0x3d5);
  634.  
  635. r49  = 0x8d; r50  = 0x00; r51  = 0x20; r52  = 0x00; r53  = 0x00;
  636. boutb(5, 0x31, 0x3d4, 0x3d5);
  637.  
  638. r58  = 0x95; r59  = 0xf8; r60  = 0x19; 
  639. boutb(3, 0x3a, 0x3d4, 0x3d5);
  640.  
  641. r64  = 0x51; 
  642. boutb(1, 0x40, 0x3d4, 0x3d5);
  643.  
  644. r67  = 0x80; 
  645. boutb(1, 0x43, 0x3d4, 0x3d5);
  646.  
  647. r69  = 0xa0; r70  = 0xa0; r71  = 0xff; r72  = 0xfc; r73  = 0xff;
  648. boutb(5, 0x45, 0x3d4, 0x3d5);
  649.  
  650. r76  = 0xff; r77  = 0xff; r78  = 0xff; r79  = 0xdf; 
  651. boutb(4, 0x4c, 0x3d4, 0x3d5);
  652.  
  653. r66  = 0x02; 
  654. boutb(1, 0x42, 0x3d4, 0x3d5);
  655.  
  656. r103 = 0x02; 
  657. boutb(1, 0x67, 0x3d4, 0x3d5);
  658.  
  659. /*
  660.  *    Set Attribute Registers
  661.  */
  662.  
  663. r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
  664. r5   = 0x05; r6   = 0x14; r7   = 0x07; r8   = 0x38; r9   = 0x39;
  665. r10  = 0x3a; r11  = 0x3b; r12  = 0x3c; r13  = 0x3d; r14  = 0x3e;
  666. r15  = 0x3f; r16  = 0x01; r17  = 0x00; r18  = 0x0f; r19  = 0x00;
  667. r20  = 0x00; 
  668. boutb(21, 0x00, 0x3c0, 0x3c1);
  669.  
  670. /*
  671.  *    Set GDC Registers
  672.  */
  673.  
  674. r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
  675. r5   = 0x00; r6   = 0x05; r7   = 0x0f; r8   = 0xff; 
  676. boutb(9, 0x00, 0x3ce, 0x3cf);
  677.  
  678. /*
  679.  *    Set Enhanced Command Registers
  680.  */
  681.  
  682. outw(0x4ae8, 0x0003);
  683. outw(0xbee8, 0x1000);
  684. outw(0xbee8, 0x33ff);
  685. outw(0xbee8, 0x2000);
  686. outw(0xbee8, 0x43ff);
  687. outw(0xbee8, 0xa000);
  688. outw(0xbee8, 0x03ff);
  689. outw(0x96e8, 0x03ff);
  690. outw(0x86e8, 0x0000);
  691. outw(0x82e8, 0x0000);
  692. [comment]
  693.     Graphics Mode: 800 x 600 x 16.7M colors.
  694.  
  695. [AdapterType]
  696.         S3
  697.  
  698. [ChipSet]
  699.         S386C928
  700.  
  701. [ModeInfo]
  702.         ModeAttributes   = 0x18
  703.         BytesPerScanLine = 100
  704.         XResolution      = 800
  705.         YResolution      = 600
  706.         TextRows         = 37
  707.         BitsPerPixel     = 32
  708.         NumberOfPlanes   = 1
  709.         PageLength       = 1920000
  710.         SaveSize         = 1920000
  711.         TotalMemory      = 2097152
  712.         InterlaceMode    = 1
  713.         BufferAddress    = 0x0a0000
  714.  
  715. [TrapRegs]
  716.     0x3c2;
  717.     0x3c4, 0x00-0x04;
  718.     0x3c5;
  719.     0x3d4, 0x00-0x18, 0x50-0x5a, 0x5c-0x5e, 0x60-0x62, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42, 0x67-0x67;
  720.     0x3d5;
  721.     0x3c0, 0x00-0x14;
  722.     0x3c1;
  723.     0x3ce, 0x00-0x08;
  724.     0x3cf;
  725.     0x4ae8;
  726.     0xbee8;
  727.     0x96e8;
  728.     0x86e8;
  729.     0x82e8;
  730.  
  731. [SetMode]
  732.  
  733. /*
  734.  *    Set Sequencer Registers
  735.  */
  736.  
  737. r0   = 0x00; r1   = 0x01; r2   = 0x0f; r3   = 0x00; r4   = 0x0e;
  738. boutb(5, 0x00, 0x3c4, 0x3c5);
  739.  
  740. outw(0x3c4, 0x0300);
  741. /*
  742.  *    Set CRT Registers
  743.  */
  744.  
  745. outw(0x3d4, 0x0e11);
  746. r0   = 0x7f; r1   = 0x63; r2   = 0x64; r3   = 0x82; r4   = 0x6b;
  747. r5   = 0x19; r6   = 0x72; r7   = 0xf0; r8   = 0x00; r9   = 0x60;
  748. r10  = 0x00; r11  = 0x00; r12  = 0x00; r13  = 0x00; r14  = 0xff;
  749. r15  = 0x00; r16  = 0x58; r17  = 0x8c; r18  = 0x57; r19  = 0x90;
  750. r20  = 0x00; r21  = 0x57; r22  = 0x72; r23  = 0xe3; r24  = 0xff;
  751. boutb(25, 0x00, 0x3d4, 0x3d5);
  752.  
  753. r80  = 0xb0; r81  = 0x10; r82  = 0x00; r83  = 0x20; r84  = 0x00;
  754. r85  = 0x68; r86  = 0x00; r87  = 0x00; r88  = 0x18; r89  = 0x00;
  755. r90  = 0x0a; 
  756. boutb(11, 0x50, 0x3d4, 0x3d5);
  757.  
  758. r92  = 0x02; r93  = 0x00; r94  = 0x00; 
  759. boutb(3, 0x5c, 0x3d4, 0x3d5);
  760.  
  761. r96  = 0x2f; r97  = 0x81; r98  = 0x92; 
  762. boutb(3, 0x60, 0x3d4, 0x3d5);
  763.  
  764. r49  = 0x8d; r50  = 0x00; r51  = 0x20; r52  = 0x00; r53  = 0x00;
  765. boutb(5, 0x31, 0x3d4, 0x3d5);
  766.  
  767. r58  = 0x95; r59  = 0x7c; r60  = 0x32; 
  768. boutb(3, 0x3a, 0x3d4, 0x3d5);
  769.  
  770. r64  = 0x51; 
  771. boutb(1, 0x40, 0x3d4, 0x3d5);
  772.  
  773. r67  = 0x00; 
  774. boutb(1, 0x43, 0x3d4, 0x3d5);
  775.  
  776. r69  = 0x20; r70  = 0x20; r71  = 0xff; r72  = 0xfc; r73  = 0xff;
  777. boutb(5, 0x45, 0x3d4, 0x3d5);
  778.  
  779. r76  = 0xff; r77  = 0xff; r78  = 0xff; r79  = 0xdf; 
  780. boutb(4, 0x4c, 0x3d4, 0x3d5);
  781.  
  782. r66  = 0x02; 
  783. boutb(1, 0x42, 0x3d4, 0x3d5);
  784.  
  785. r103 = 0x02; 
  786. boutb(1, 0x67, 0x3d4, 0x3d5);
  787.  
  788. /*
  789.  *    Set Attribute Registers
  790.  */
  791.  
  792. r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
  793. r5   = 0x05; r6   = 0x14; r7   = 0x07; r8   = 0x38; r9   = 0x39;
  794. r10  = 0x3a; r11  = 0x3b; r12  = 0x3c; r13  = 0x3d; r14  = 0x3e;
  795. r15  = 0x3f; r16  = 0x01; r17  = 0x00; r18  = 0x0f; r19  = 0x00;
  796. r20  = 0x00; 
  797. boutb(21, 0x00, 0x3c0, 0x3c1);
  798.  
  799. /*
  800.  *    Set GDC Registers
  801.  */
  802.  
  803. r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
  804. r5   = 0x00; r6   = 0x05; r7   = 0x0f; r8   = 0xff; 
  805. boutb(9, 0x00, 0x3ce, 0x3cf);
  806.  
  807. /*
  808.  *    Set Enhanced Command Registers
  809.  */
  810.  
  811. outw(0x4ae8, 0x0003);
  812. outw(0xbee8, 0x1000);
  813. outw(0xbee8, 0x33ff);
  814. outw(0xbee8, 0x2000);
  815. outw(0xbee8, 0x43ff);
  816. outw(0xbee8, 0xa000);
  817. outw(0xbee8, 0x03ff);
  818. outw(0x96e8, 0x03ff);
  819. outw(0x86e8, 0x0000);
  820. outw(0x82e8, 0x0000);
  821. [comment]
  822.     Graphics Mode: 1024 x 768 x 256 colors.
  823.  
  824. [AdapterType]
  825.         S3
  826.  
  827. [ChipSet]
  828.         S386C928
  829.  
  830. [ModeInfo]
  831.         ModeAttributes   = 0x18
  832.         BytesPerScanLine = 128
  833.         XResolution      = 1024
  834.         YResolution      = 768
  835.         TextRows         = 48
  836.         BitsPerPixel     = 8
  837.         NumberOfPlanes   = 1
  838.         PageLength       = 786432
  839.         SaveSize         = 786432
  840.         TotalMemory      = 2097152
  841.         InterlaceMode    = 1
  842.         BufferAddress    = 0x0a0000
  843.  
  844. [TrapRegs]
  845.     0x3c2;
  846.     0x3c4, 0x00-0x04;
  847.     0x3c5;
  848.     0x3d4, 0x00-0x18, 0x50-0x5a, 0x5c-0x5e, 0x60-0x62, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42, 0x67-0x67;
  849.     0x3d5;
  850.     0x3c0, 0x00-0x14;
  851.     0x3c1;
  852.     0x3ce, 0x00-0x08;
  853.     0x3cf;
  854.     0x4ae8;
  855.     0xbee8;
  856.     0x96e8;
  857.     0x86e8;
  858.     0x82e8;
  859.  
  860. [SetMode]
  861.  
  862. /*
  863.  *    Set Sequencer Registers
  864.  */
  865.  
  866. r0   = 0x00; r1   = 0x01; r2   = 0x0f; r3   = 0x00; r4   = 0x0e;
  867. boutb(5, 0x00, 0x3c4, 0x3c5);
  868.  
  869. outw(0x3c4, 0x0300);
  870. /*
  871.  *    Set CRT Registers
  872.  */
  873.  
  874. outw(0x3d4, 0x0e11);
  875. r0   = 0x25; r1   = 0x1f; r2   = 0x20; r3   = 0x88; r4   = 0x21;
  876. r5   = 0x84; r6   = 0x24; r7   = 0xf5; r8   = 0x00; r9   = 0x60;
  877. r10  = 0x00; r11  = 0x00; r12  = 0x00; r13  = 0x00; r14  = 0xff;
  878. r15  = 0x00; r16  = 0x02; r17  = 0x88; r18  = 0xff; r19  = 0x80;
  879. r20  = 0x00; r21  = 0xff; r22  = 0x24; r23  = 0xeb; r24  = 0xff;
  880. boutb(25, 0x00, 0x3d4, 0x3d5);
  881.  
  882. r80  = 0x00; r81  = 0x00; r82  = 0x00; r83  = 0x20; r84  = 0x08;
  883. r85  = 0x68; r86  = 0x00; r87  = 0x00; r88  = 0x08; r89  = 0x00;
  884. r90  = 0x0a; 
  885. boutb(11, 0x50, 0x3d4, 0x3d5);
  886.  
  887. r92  = 0x02; r93  = 0x00; r94  = 0x00; 
  888. boutb(3, 0x5c, 0x3d4, 0x3d5);
  889.  
  890. r96  = 0x1f; r97  = 0x81; r98  = 0x00; 
  891. boutb(3, 0x60, 0x3d4, 0x3d5);
  892.  
  893. r49  = 0x8d; r50  = 0x00; r51  = 0x20; r52  = 0x00; r53  = 0x00;
  894. boutb(5, 0x31, 0x3d4, 0x3d5);
  895.  
  896. r58  = 0x95; r59  = 0x9d; r60  = 0x9f; 
  897. boutb(3, 0x3a, 0x3d4, 0x3d5);
  898.  
  899. r64  = 0x51; 
  900. boutb(1, 0x40, 0x3d4, 0x3d5);
  901.  
  902. r67  = 0x00; 
  903. boutb(1, 0x43, 0x3d4, 0x3d5);
  904.  
  905. r69  = 0x20; r70  = 0x20; r71  = 0xff; r72  = 0xfc; r73  = 0xff;
  906. boutb(5, 0x45, 0x3d4, 0x3d5);
  907.  
  908. r76  = 0xff; r77  = 0xff; r78  = 0xff; r79  = 0xdf; 
  909. boutb(4, 0x4c, 0x3d4, 0x3d5);
  910.  
  911. r66  = 0x02; 
  912. boutb(1, 0x42, 0x3d4, 0x3d5);
  913.  
  914. r103 = 0x02; 
  915. boutb(1, 0x67, 0x3d4, 0x3d5);
  916.  
  917. /*
  918.  *    Set Attribute Registers
  919.  */
  920.  
  921. r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
  922. r5   = 0x05; r6   = 0x14; r7   = 0x07; r8   = 0x38; r9   = 0x39;
  923. r10  = 0x3a; r11  = 0x3b; r12  = 0x3c; r13  = 0x3d; r14  = 0x3e;
  924. r15  = 0x3f; r16  = 0x01; r17  = 0x00; r18  = 0x0f; r19  = 0x00;
  925. r20  = 0x00; 
  926. boutb(21, 0x00, 0x3c0, 0x3c1);
  927.  
  928. /*
  929.  *    Set GDC Registers
  930.  */
  931.  
  932. r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
  933. r5   = 0x00; r6   = 0x05; r7   = 0x0f; r8   = 0xff; 
  934. boutb(9, 0x00, 0x3ce, 0x3cf);
  935.  
  936. /*
  937.  *    Set Enhanced Command Registers
  938.  */
  939.  
  940. outw(0x4ae8, 0x0007);
  941. outw(0xbee8, 0x1000);
  942. outw(0xbee8, 0x33ff);
  943. outw(0xbee8, 0x2000);
  944. outw(0xbee8, 0x43ff);
  945. outw(0xbee8, 0xa000);
  946. outw(0xbee8, 0x03ff);
  947. outw(0x96e8, 0x03ff);
  948. outw(0x86e8, 0x0000);
  949. outw(0x82e8, 0x0000);
  950. [comment]
  951.     Graphics Mode: 1024 x 768 x 64K colors.
  952.  
  953. [AdapterType]
  954.         S3
  955.  
  956. [ChipSet]
  957.         S386C928
  958.  
  959. [ModeInfo]
  960.         ModeAttributes   = 0x18
  961.         BytesPerScanLine = 128
  962.         XResolution      = 1024
  963.         YResolution      = 768
  964.         TextRows         = 48
  965.         BitsPerPixel     = 16
  966.         NumberOfPlanes   = 1
  967.         PageLength       = 1572864
  968.         SaveSize         = 1572864
  969.         TotalMemory      = 2097152
  970.         InterlaceMode    = 1
  971.         BufferAddress    = 0x0a0000
  972.  
  973. [TrapRegs]
  974.     0x3c2;
  975.     0x3c4, 0x00-0x04;
  976.     0x3c5;
  977.     0x3d4, 0x00-0x18, 0x50-0x5a, 0x5c-0x5e, 0x60-0x62, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42, 0x67-0x67;
  978.     0x3d5;
  979.     0x3c0, 0x00-0x14;
  980.     0x3c1;
  981.     0x3ce, 0x00-0x08;
  982.     0x3cf;
  983.     0x4ae8;
  984.     0xbee8;
  985.     0x96e8;
  986.     0x86e8;
  987.     0x82e8;
  988.  
  989. [SetMode]
  990.  
  991. /*
  992.  *    Set Sequencer Registers
  993.  */
  994.  
  995. r0   = 0x00; r1   = 0x01; r2   = 0x0f; r3   = 0x00; r4   = 0x0e;
  996. boutb(5, 0x00, 0x3c4, 0x3c5);
  997.  
  998. outw(0x3c4, 0x0300);
  999. /*
  1000.  *    Set CRT Registers
  1001.  */
  1002.  
  1003. outw(0x3d4, 0x0e11);
  1004. r0   = 0x25; r1   = 0x1f; r2   = 0x20; r3   = 0x88; r4   = 0x21;
  1005. r5   = 0x84; r6   = 0x24; r7   = 0xf5; r8   = 0x00; r9   = 0x60;
  1006. r10  = 0x00; r11  = 0x00; r12  = 0x00; r13  = 0x00; r14  = 0xff;
  1007. r15  = 0x00; r16  = 0x02; r17  = 0x88; r18  = 0xff; r19  = 0x00;
  1008. r20  = 0x00; r21  = 0xff; r22  = 0x24; r23  = 0xeb; r24  = 0xff;
  1009. boutb(25, 0x00, 0x3d4, 0x3d5);
  1010.  
  1011. r80  = 0x10; r81  = 0x10; r82  = 0x00; r83  = 0x20; r84  = 0x00;
  1012. r85  = 0x68; r86  = 0x00; r87  = 0x00; r88  = 0x18; r89  = 0x00;
  1013. r90  = 0x0a; 
  1014. boutb(11, 0x50, 0x3d4, 0x3d5);
  1015.  
  1016. r92  = 0x02; r93  = 0x00; r94  = 0x00; 
  1017. boutb(3, 0x5c, 0x3d4, 0x3d5);
  1018.  
  1019. r96  = 0x2f; r97  = 0x82; r98  = 0x00; 
  1020. boutb(3, 0x60, 0x3d4, 0x3d5);
  1021.  
  1022. r49  = 0x8d; r50  = 0x00; r51  = 0x20; r52  = 0x00; r53  = 0x00;
  1023. boutb(5, 0x31, 0x3d4, 0x3d5);
  1024.  
  1025. r58  = 0x95; r59  = 0x4b; r60  = 0x20; 
  1026. boutb(3, 0x3a, 0x3d4, 0x3d5);
  1027.  
  1028. r64  = 0x51; 
  1029. boutb(1, 0x40, 0x3d4, 0x3d5);
  1030.  
  1031. r67  = 0x80; 
  1032. boutb(1, 0x43, 0x3d4, 0x3d5);
  1033.  
  1034. r69  = 0xa0; r70  = 0xa0; r71  = 0xff; r72  = 0xfc; r73  = 0xff;
  1035. boutb(5, 0x45, 0x3d4, 0x3d5);
  1036.  
  1037. r76  = 0xff; r77  = 0xff; r78  = 0xff; r79  = 0xdf; 
  1038. boutb(4, 0x4c, 0x3d4, 0x3d5);
  1039.  
  1040. r66  = 0x02; 
  1041. boutb(1, 0x42, 0x3d4, 0x3d5);
  1042.  
  1043. r103 = 0x02; 
  1044. boutb(1, 0x67, 0x3d4, 0x3d5);
  1045.  
  1046. /*
  1047.  *    Set Attribute Registers
  1048.  */
  1049.  
  1050. r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
  1051. r5   = 0x05; r6   = 0x14; r7   = 0x07; r8   = 0x38; r9   = 0x39;
  1052. r10  = 0x3a; r11  = 0x3b; r12  = 0x3c; r13  = 0x3d; r14  = 0x3e;
  1053. r15  = 0x3f; r16  = 0x01; r17  = 0x00; r18  = 0x0f; r19  = 0x00;
  1054. r20  = 0x00; 
  1055. boutb(21, 0x00, 0x3c0, 0x3c1);
  1056.  
  1057. /*
  1058.  *    Set GDC Registers
  1059.  */
  1060.  
  1061. r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
  1062. r5   = 0x00; r6   = 0x05; r7   = 0x0f; r8   = 0xff; 
  1063. boutb(9, 0x00, 0x3ce, 0x3cf);
  1064.  
  1065. /*
  1066.  *    Set Enhanced Command Registers
  1067.  */
  1068.  
  1069. outw(0x4ae8, 0x0007);
  1070. outw(0xbee8, 0x1000);
  1071. outw(0xbee8, 0x33ff);
  1072. outw(0xbee8, 0x2000);
  1073. outw(0xbee8, 0x43ff);
  1074. outw(0xbee8, 0xa000);
  1075. outw(0xbee8, 0x03ff);
  1076. outw(0x96e8, 0x03ff);
  1077. outw(0x86e8, 0x0000);
  1078. outw(0x82e8, 0x0000);
  1079. [comment]
  1080.     Graphics Mode: 1280 x 1024 x 256 colors.
  1081.  
  1082. [AdapterType]
  1083.         S3
  1084.  
  1085. [ChipSet]
  1086.         S386C928
  1087.  
  1088. [ModeInfo]
  1089.         ModeAttributes   = 0x18
  1090.         BytesPerScanLine = 160
  1091.         XResolution      = 1280
  1092.         YResolution      = 1024
  1093.         TextRows         = 64
  1094.         BitsPerPixel     = 8
  1095.         NumberOfPlanes   = 1
  1096.         PageLength       = 1310720
  1097.         SaveSize         = 1310720
  1098.         TotalMemory      = 2097152
  1099.         InterlaceMode    = 0
  1100.         BufferAddress    = 0x0a0000
  1101.  
  1102. [TrapRegs]
  1103.     0x3c2;
  1104.     0x3c4, 0x00-0x04;
  1105.     0x3c5;
  1106.     0x3d4, 0x00-0x18, 0x50-0x5a, 0x5c-0x5e, 0x60-0x62, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42, 0x67-0x67;
  1107.     0x3d5;
  1108.     0x3c0, 0x00-0x14;
  1109.     0x3c1;
  1110.     0x3ce, 0x00-0x08;
  1111.     0x3cf;
  1112.     0x4ae8;
  1113.     0xbee8;
  1114.     0x96e8;
  1115.     0x86e8;
  1116.     0x82e8;
  1117.  
  1118. [SetMode]
  1119.  
  1120. /*
  1121.  *    Set Sequencer Registers
  1122.  */
  1123.  
  1124. r0   = 0x00; r1   = 0x01; r2   = 0x0f; r3   = 0x00; r4   = 0x0e;
  1125. boutb(5, 0x00, 0x3c4, 0x3c5);
  1126.  
  1127. outw(0x3c4, 0x0300);
  1128. /*
  1129.  *    Set CRT Registers
  1130.  */
  1131.  
  1132. outw(0x3d4, 0x0e11);
  1133. r0   = 0x2c; r1   = 0x27; r2   = 0x28; r3   = 0x8f; r4   = 0x29;
  1134. r5   = 0x8d; r6   = 0x1a; r7   = 0xba; r8   = 0x00; r9   = 0x40;
  1135. r10  = 0x00; r11  = 0x00; r12  = 0x00; r13  = 0x00; r14  = 0xff;
  1136. r15  = 0x00; r16  = 0x01; r17  = 0x85; r18  = 0xff; r19  = 0xa0;
  1137. r20  = 0x00; r21  = 0xff; r22  = 0x1a; r23  = 0xa3; r24  = 0xff;
  1138. boutb(25, 0x00, 0x3d4, 0x3d5);
  1139.  
  1140. r80  = 0xc0; r81  = 0x00; r82  = 0x00; r83  = 0x20; r84  = 0x00;
  1141. r85  = 0x68; r86  = 0x00; r87  = 0x00; r88  = 0x18; r89  = 0x00;
  1142. r90  = 0x0a; 
  1143. boutb(11, 0x50, 0x3d4, 0x3d5);
  1144.  
  1145. r92  = 0x02; r93  = 0x00; r94  = 0x00; 
  1146. boutb(3, 0x5c, 0x3d4, 0x3d5);
  1147.  
  1148. r96  = 0x2f; r97  = 0x81; r98  = 0x40; 
  1149. boutb(3, 0x60, 0x3d4, 0x3d5);
  1150.  
  1151. r49  = 0x8d; r50  = 0x00; r51  = 0x20; r52  = 0x00; r53  = 0x00;
  1152. boutb(5, 0x31, 0x3d4, 0x3d5);
  1153.  
  1154. r58  = 0x95; r59  = 0xbb; r60  = 0x18; 
  1155. boutb(3, 0x3a, 0x3d4, 0x3d5);
  1156.  
  1157. r64  = 0x51; 
  1158. boutb(1, 0x40, 0x3d4, 0x3d5);
  1159.  
  1160. r67  = 0x00; 
  1161. boutb(1, 0x43, 0x3d4, 0x3d5);
  1162.  
  1163. r69  = 0x20; r70  = 0x20; r71  = 0xff; r72  = 0xfc; r73  = 0xff;
  1164. boutb(5, 0x45, 0x3d4, 0x3d5);
  1165.  
  1166. r76  = 0xff; r77  = 0xff; r78  = 0xff; r79  = 0xdf; 
  1167. boutb(4, 0x4c, 0x3d4, 0x3d5);
  1168.  
  1169. r66  = 0x22; 
  1170. boutb(1, 0x42, 0x3d4, 0x3d5);
  1171.  
  1172. r103 = 0x22; 
  1173. boutb(1, 0x67, 0x3d4, 0x3d5);
  1174.  
  1175. /*
  1176.  *    Set Attribute Registers
  1177.  */
  1178.  
  1179. r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
  1180. r5   = 0x05; r6   = 0x14; r7   = 0x07; r8   = 0x38; r9   = 0x39;
  1181. r10  = 0x3a; r11  = 0x3b; r12  = 0x3c; r13  = 0x3d; r14  = 0x3e;
  1182. r15  = 0x3f; r16  = 0x01; r17  = 0x00; r18  = 0x0f; r19  = 0x00;
  1183. r20  = 0x00; 
  1184. boutb(21, 0x00, 0x3c0, 0x3c1);
  1185.  
  1186. /*
  1187.  *    Set GDC Registers
  1188.  */
  1189.  
  1190. r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
  1191. r5   = 0x00; r6   = 0x05; r7   = 0x0f; r8   = 0xff; 
  1192. boutb(9, 0x00, 0x3ce, 0x3cf);
  1193.  
  1194. /*
  1195.  *    Set Enhanced Command Registers
  1196.  */
  1197.  
  1198. outw(0x4ae8, 0x0003);
  1199. outw(0xbee8, 0x1000);
  1200. outw(0xbee8, 0x33ff);
  1201. outw(0xbee8, 0x2000);
  1202. outw(0xbee8, 0x43ff);
  1203. outw(0xbee8, 0xa000);
  1204. outw(0xbee8, 0x03ff);
  1205. outw(0x96e8, 0x03ff);
  1206. outw(0x86e8, 0x0000);
  1207. outw(0x82e8, 0x0000);
  1208. [comment]
  1209.     Text Mode: 40 cols, 25 rows.
  1210.  
  1211. [AdapterType]
  1212.         S3
  1213.  
  1214. [ChipSet]
  1215.         S386C928
  1216.  
  1217. [ModeInfo]
  1218.         ModeAttributes   = 0x08
  1219.         BytesPerScanLine = 40
  1220.         XResolution      = 360
  1221.         YResolution      = 400
  1222.         XCharSize        = 9
  1223.         YCharSize        = 16
  1224.         TextRows         = 25
  1225.         BitsPerPixel     = 4
  1226.         NumberOfPlanes   = 1
  1227.         PageLength       = 4000
  1228.         SaveSize         = 4000
  1229.         TotalMemory      = 2097152
  1230.         InterlaceMode    = 1
  1231.         BufferAddress    = 0x0b8000
  1232.  
  1233. [TrapRegs]
  1234.     0x3c2;
  1235.     0x3c4, 0x00-0x04;
  1236.     0x3c5;
  1237.     0x3d4, 0x00-0x18, 0x50-0x5a, 0x5c-0x5e, 0x60-0x62, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42, 0x67-0x67;
  1238.     0x3d5;
  1239.     0x3c0, 0x00-0x14;
  1240.     0x3c1;
  1241.     0x3ce, 0x00-0x08;
  1242.     0x3cf;
  1243.     0x4ae8;
  1244.  
  1245. [SetMode]
  1246.  
  1247. /*
  1248.  *    Set Sequencer Registers
  1249.  */
  1250.  
  1251. r0   = 0x00; r1   = 0x08; r2   = 0x03; r3   = 0x00; r4   = 0x02;
  1252. boutb(5, 0x00, 0x3c4, 0x3c5);
  1253.  
  1254. outw(0x3c4, 0x0300);
  1255. /*
  1256.  *    Set CRT Registers
  1257.  */
  1258.  
  1259. outw(0x3d4, 0x0e11);
  1260. r0   = 0x2d; r1   = 0x27; r2   = 0x28; r3   = 0x90; r4   = 0x2b;
  1261. r5   = 0xa0; r6   = 0xbf; r7   = 0x1f; r8   = 0x00; r9   = 0x4f;
  1262. r10  = 0x0d; r11  = 0x0e; r12  = 0x00; r13  = 0x00; r14  = 0x00;
  1263. r15  = 0x00; r16  = 0x9c; r17  = 0x8e; r18  = 0x8f; r19  = 0x14;
  1264. r20  = 0x1f; r21  = 0x96; r22  = 0xb9; r23  = 0xa3; r24  = 0xff;
  1265. boutb(25, 0x00, 0x3d4, 0x3d5);
  1266.  
  1267. r80  = 0x08; r81  = 0x00; r82  = 0x00; r83  = 0x00; r84  = 0x38;
  1268. r85  = 0x00; r86  = 0x00; r87  = 0x00; r88  = 0x88; r89  = 0x00;
  1269. r90  = 0x0a; 
  1270. boutb(11, 0x50, 0x3d4, 0x3d5);
  1271.  
  1272. r92  = 0x01; r93  = 0x00; r94  = 0x00; 
  1273. boutb(3, 0x5c, 0x3d4, 0x3d5);
  1274.  
  1275. r96  = 0x07; r97  = 0x80; r98  = 0xa1; 
  1276. boutb(3, 0x60, 0x3d4, 0x3d5);
  1277.  
  1278. r49  = 0x85; r50  = 0x00; r51  = 0x00; r52  = 0x00; r53  = 0x00;
  1279. boutb(5, 0x31, 0x3d4, 0x3d5);
  1280.  
  1281. r58  = 0x85; r59  = 0x5a; r60  = 0x10; 
  1282. boutb(3, 0x3a, 0x3d4, 0x3d5);
  1283.  
  1284. r64  = 0x59; 
  1285. boutb(1, 0x40, 0x3d4, 0x3d5);
  1286.  
  1287. r67  = 0x00; 
  1288. boutb(1, 0x43, 0x3d4, 0x3d5);
  1289.  
  1290. r69  = 0x00; r70  = 0x00; r71  = 0xff; r72  = 0xfc; r73  = 0xff;
  1291. boutb(5, 0x45, 0x3d4, 0x3d5);
  1292.  
  1293. r76  = 0xff; r77  = 0xff; r78  = 0xff; r79  = 0xdf; 
  1294. boutb(4, 0x4c, 0x3d4, 0x3d5);
  1295.  
  1296. r66  = 0x02; 
  1297. boutb(1, 0x42, 0x3d4, 0x3d5);
  1298.  
  1299. r103 = 0x02; 
  1300. boutb(1, 0x67, 0x3d4, 0x3d5);
  1301.  
  1302. /*
  1303.  *    Set Attribute Registers
  1304.  */
  1305.  
  1306. r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
  1307. r5   = 0x05; r6   = 0x14; r7   = 0x07; r8   = 0x38; r9   = 0x39;
  1308. r10  = 0x3a; r11  = 0x3b; r12  = 0x3c; r13  = 0x3d; r14  = 0x3e;
  1309. r15  = 0x3f; r16  = 0x0c; r17  = 0x00; r18  = 0x0f; r19  = 0x08;
  1310. r20  = 0x00; 
  1311. boutb(21, 0x00, 0x3c0, 0x3c1);
  1312.  
  1313. /*
  1314.  *    Set GDC Registers
  1315.  */
  1316.  
  1317. r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
  1318. r5   = 0x10; r6   = 0x0e; r7   = 0x00; r8   = 0xff; 
  1319. boutb(9, 0x00, 0x3ce, 0x3cf);
  1320.  
  1321. /*
  1322.  *    Set CRT Registers
  1323.  */
  1324.  
  1325. rmwb(0x3d4, 0x3d5, 0x40, 0xff, 0x01);
  1326. /*
  1327.  *    Set Enhanced Command Registers
  1328.  */
  1329.  
  1330. outw(0x4ae8, 0x0000);
  1331. rmwb(0x3d4, 0x3d5, 0x40, 0xfe, 0x00);
  1332. [comment]
  1333.     Text Mode: 80 cols, 25 rows.
  1334.  
  1335. [AdapterType]
  1336.         S3
  1337.  
  1338. [ChipSet]
  1339.         S386C928
  1340.  
  1341. [ModeInfo]
  1342.         ModeAttributes   = 0x08
  1343.         BytesPerScanLine = 80
  1344.         XResolution      = 720
  1345.         YResolution      = 400
  1346.         XCharSize        = 9
  1347.         YCharSize        = 16
  1348.         TextRows         = 25
  1349.         BitsPerPixel     = 4
  1350.         NumberOfPlanes   = 1
  1351.         PageLength       = 4000
  1352.         SaveSize         = 4000
  1353.         TotalMemory      = 2097152
  1354.         InterlaceMode    = 1
  1355.         BufferAddress    = 0x0b8000
  1356.  
  1357. [TrapRegs]
  1358.     0x3c2;
  1359.     0x3c4, 0x00-0x04, 0x09-0x18;
  1360.     0x3c5;
  1361.     0x3d4, 0x00-0x18, 0x50-0x5a, 0x5c-0x5e, 0x60-0x62, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42, 0x67-0x67;
  1362.     0x3d5;
  1363.     0x3c0, 0x00-0x14;
  1364.     0x3c1;
  1365.     0x3ce, 0x00-0x08;
  1366.     0x3cf;
  1367.     0x4ae8;
  1368.  
  1369. [SetMode]
  1370.  
  1371. /*
  1372.  *    Set Sequencer Registers
  1373.  */
  1374.  
  1375. r0   = 0x00; r1   = 0x00; r2   = 0x03; r3   = 0x00; r4   = 0x02;
  1376. boutb(5, 0x00, 0x3c4, 0x3c5);
  1377.  
  1378. outw(0x3c4, 0x0608);
  1379. r9   = 0x00; r10  = 0x03; r11  = 0x00; r12  = 0x02; r13  = 0x05;
  1380. r14  = 0x06; r15  = 0x07; r16  = 0x03; r17  = 0x00; r18  = 0x03;
  1381. r19  = 0x00; r20  = 0x02; r21  = 0x05; r22  = 0x06; r23  = 0x07;
  1382. r24  = 0x03; 
  1383. boutb(16, 0x09, 0x3c4, 0x3c5);
  1384.  
  1385. outw(0x3c4, 0x0008);
  1386. outw(0x3c4, 0x0300);
  1387. /*
  1388.  *    Set CRT Registers
  1389.  */
  1390.  
  1391. outw(0x3d4, 0x0e11);
  1392. r0   = 0x5f; r1   = 0x4f; r2   = 0x50; r3   = 0x82; r4   = 0x55;
  1393. r5   = 0x81; r6   = 0xbf; r7   = 0x1f; r8   = 0x00; r9   = 0x4f;
  1394. r10  = 0x0d; r11  = 0x0e; r12  = 0x00; r13  = 0x00; r14  = 0x00;
  1395. r15  = 0x00; r16  = 0x9c; r17  = 0x8e; r18  = 0x8f; r19  = 0x28;
  1396. r20  = 0x1f; r21  = 0x96; r22  = 0xb9; r23  = 0xa3; r24  = 0xff;
  1397. boutb(25, 0x00, 0x3d4, 0x3d5);
  1398.  
  1399. r80  = 0x08; r81  = 0x00; r82  = 0x00; r83  = 0x00; r84  = 0x38;
  1400. r85  = 0x00; r86  = 0x00; r87  = 0x00; r88  = 0x88; r89  = 0x00;
  1401. r90  = 0x0a; 
  1402. boutb(11, 0x50, 0x3d4, 0x3d5);
  1403.  
  1404. r92  = 0x01; r93  = 0x00; r94  = 0x00; 
  1405. boutb(3, 0x5c, 0x3d4, 0x3d5);
  1406.  
  1407. r96  = 0x07; r97  = 0x80; r98  = 0xa1; 
  1408. boutb(3, 0x60, 0x3d4, 0x3d5);
  1409.  
  1410. r49  = 0x85; r50  = 0x00; r51  = 0x00; r52  = 0x00; r53  = 0x00;
  1411. boutb(5, 0x31, 0x3d4, 0x3d5);
  1412.  
  1413. r58  = 0x85; r59  = 0x5a; r60  = 0x10; 
  1414. boutb(3, 0x3a, 0x3d4, 0x3d5);
  1415.  
  1416. r64  = 0x59; 
  1417. boutb(1, 0x40, 0x3d4, 0x3d5);
  1418.  
  1419. r67  = 0x00; 
  1420. boutb(1, 0x43, 0x3d4, 0x3d5);
  1421.  
  1422. r69  = 0x00; r70  = 0x00; r71  = 0xff; r72  = 0xfc; r73  = 0xff;
  1423. boutb(5, 0x45, 0x3d4, 0x3d5);
  1424.  
  1425. r76  = 0xff; r77  = 0xff; r78  = 0xff; r79  = 0xdf; 
  1426. boutb(4, 0x4c, 0x3d4, 0x3d5);
  1427.  
  1428. r66  = 0x02; 
  1429. boutb(1, 0x42, 0x3d4, 0x3d5);
  1430.  
  1431. r103 = 0x02; 
  1432. boutb(1, 0x67, 0x3d4, 0x3d5);
  1433.  
  1434. /*
  1435.  *    Set Attribute Registers
  1436.  */
  1437.  
  1438. r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
  1439. r5   = 0x05; r6   = 0x14; r7   = 0x07; r8   = 0x38; r9   = 0x39;
  1440. r10  = 0x3a; r11  = 0x3b; r12  = 0x3c; r13  = 0x3d; r14  = 0x3e;
  1441. r15  = 0x3f; r16  = 0x0c; r17  = 0x00; r18  = 0x0f; r19  = 0x08;
  1442. r20  = 0x00; 
  1443. boutb(21, 0x00, 0x3c0, 0x3c1);
  1444.  
  1445. /*
  1446.  *    Set GDC Registers
  1447.  */
  1448.  
  1449. r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
  1450. r5   = 0x10; r6   = 0x0e; r7   = 0x00; r8   = 0xff; 
  1451. boutb(9, 0x00, 0x3ce, 0x3cf);
  1452.  
  1453. /*
  1454.  *    Set CRT Registers
  1455.  */
  1456.  
  1457. rmwb(0x3d4, 0x3d5, 0x40, 0xff, 0x01);
  1458. /*
  1459.  *    Set Enhanced Command Registers
  1460.  */
  1461.  
  1462. outw(0x4ae8, 0x0000);
  1463. rmwb(0x3d4, 0x3d5, 0x40, 0xfe, 0x00);
  1464. [comment]
  1465.     Text Mode: 132 cols, 25 rows.
  1466.  
  1467. [AdapterType]
  1468.         S3
  1469.  
  1470. [ChipSet]
  1471.         S386C928
  1472.  
  1473. [ModeInfo]
  1474.         ModeAttributes   = 0x08
  1475.         BytesPerScanLine = 132
  1476.         XResolution      = 1056
  1477.         YResolution      = 400
  1478.         XCharSize        = 8
  1479.         YCharSize        = 16
  1480.         TextRows         = 25
  1481.         BitsPerPixel     = 4
  1482.         NumberOfPlanes   = 1
  1483.         PageLength       = 6600
  1484.         SaveSize         = 6600
  1485.         TotalMemory      = 2097152
  1486.         InterlaceMode    = 1
  1487.         BufferAddress    = 0x0b8000
  1488.  
  1489. [TrapRegs]
  1490.     0x3c2;
  1491.     0x4ae8;
  1492.     0x3c4, 0x00-0x04;
  1493.     0x3c5;
  1494.     0x3d4, 0x00-0x18, 0x50-0x5a, 0x5c-0x5e, 0x60-0x62, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42, 0x67-0x67;
  1495.     0x3d5;
  1496.     0x3c0, 0x00-0x14;
  1497.     0x3c1;
  1498.     0x3ce, 0x00-0x08;
  1499.     0x3cf;
  1500.  
  1501. [SetMode]
  1502.  
  1503. /*
  1504.  *    Set Enhanced Command Registers
  1505.  */
  1506.  
  1507. outw(0x4ae8, 0x0000);
  1508. /*
  1509.  *    Set Sequencer Registers
  1510.  */
  1511.  
  1512. r0   = 0x00; r1   = 0x01; r2   = 0x03; r3   = 0x00; r4   = 0x02;
  1513. boutb(5, 0x00, 0x3c4, 0x3c5);
  1514.  
  1515. outw(0x3c4, 0x0300);
  1516. /*
  1517.  *    Set CRT Registers
  1518.  */
  1519.  
  1520. outw(0x3d4, 0x0e11);
  1521. r0   = 0x9a; r1   = 0x83; r2   = 0x86; r3   = 0x9d; r4   = 0x87;
  1522. r5   = 0x1b; r6   = 0xbf; r7   = 0x1f; r8   = 0x00; r9   = 0x4f;
  1523. r10  = 0x0d; r11  = 0x0e; r12  = 0x00; r13  = 0x00; r14  = 0x03;
  1524. r15  = 0x9c; r16  = 0x9c; r17  = 0x8e; r18  = 0x8f; r19  = 0x42;
  1525. r20  = 0x1f; r21  = 0x96; r22  = 0xbf; r23  = 0xa3; r24  = 0xff;
  1526. boutb(25, 0x00, 0x3d4, 0x3d5);
  1527.  
  1528. r80  = 0x00; r81  = 0x00; r82  = 0x00; r83  = 0x00; r84  = 0x08;
  1529. r85  = 0x00; r86  = 0x00; r87  = 0x00; r88  = 0x08; r89  = 0x00;
  1530. r90  = 0x0a; 
  1531. boutb(11, 0x50, 0x3d4, 0x3d5);
  1532.  
  1533. r92  = 0x02; r93  = 0x00; r94  = 0x00; 
  1534. boutb(3, 0x5c, 0x3d4, 0x3d5);
  1535.  
  1536. r96  = 0x0f; r97  = 0x80; r98  = 0x85; 
  1537. boutb(3, 0x60, 0x3d4, 0x3d5);
  1538.  
  1539. r49  = 0x85; r50  = 0x00; r51  = 0x00; r52  = 0x10; r53  = 0x00;
  1540. boutb(5, 0x31, 0x3d4, 0x3d5);
  1541.  
  1542. r58  = 0x85; r59  = 0x90; r60  = 0x40; 
  1543. boutb(3, 0x3a, 0x3d4, 0x3d5);
  1544.  
  1545. r64  = 0x59; 
  1546. boutb(1, 0x40, 0x3d4, 0x3d5);
  1547.  
  1548. r67  = 0x00; 
  1549. boutb(1, 0x43, 0x3d4, 0x3d5);
  1550.  
  1551. r69  = 0x00; r70  = 0x00; r71  = 0xff; r72  = 0xfc; r73  = 0xff;
  1552. boutb(5, 0x45, 0x3d4, 0x3d5);
  1553.  
  1554. r76  = 0xff; r77  = 0xff; r78  = 0xff; r79  = 0xdf; 
  1555. boutb(4, 0x4c, 0x3d4, 0x3d5);
  1556.  
  1557. r66  = 0x02; 
  1558. boutb(1, 0x42, 0x3d4, 0x3d5);
  1559.  
  1560. r103 = 0x02; 
  1561. boutb(1, 0x67, 0x3d4, 0x3d5);
  1562.  
  1563. /*
  1564.  *    Set Attribute Registers
  1565.  */
  1566.  
  1567. r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
  1568. r5   = 0x05; r6   = 0x14; r7   = 0x07; r8   = 0x38; r9   = 0x39;
  1569. r10  = 0x3a; r11  = 0x3b; r12  = 0x3c; r13  = 0x3d; r14  = 0x3e;
  1570. r15  = 0x3f; r16  = 0x0c; r17  = 0x00; r18  = 0x0f; r19  = 0x00;
  1571. r20  = 0x00; 
  1572. boutb(21, 0x00, 0x3c0, 0x3c1);
  1573.  
  1574. /*
  1575.  *    Set GDC Registers
  1576.  */
  1577.  
  1578. r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
  1579. r5   = 0x10; r6   = 0x0e; r7   = 0x00; r8   = 0xff; 
  1580. boutb(9, 0x00, 0x3ce, 0x3cf);
  1581.  
  1582. /*
  1583.  *    Set CRT Registers
  1584.  */
  1585.  
  1586. rmwb(0x3d4, 0x3d5, 0x40, 0xff, 0x01);
  1587. /*
  1588.  *    Set Enhanced Command Registers
  1589.  */
  1590.  
  1591. outw(0x4ae8, 0x0000);
  1592. rmwb(0x3d4, 0x3d5, 0x40, 0xfe, 0x00);
  1593. [comment]
  1594.     Text Mode: 132 cols, 43 rows.
  1595.  
  1596. [AdapterType]
  1597.         S3
  1598.  
  1599. [ChipSet]
  1600.         S386C928
  1601.  
  1602. [ModeInfo]
  1603.         ModeAttributes   = 0x08
  1604.         BytesPerScanLine = 132
  1605.         XResolution      = 1056
  1606.         YResolution      = 400
  1607.         XCharSize        = 8
  1608.         YCharSize        = 16
  1609.         TextRows         = 43
  1610.         BitsPerPixel     = 4
  1611.         NumberOfPlanes   = 1
  1612.         PageLength       = 11616
  1613.         SaveSize         = 11616
  1614.         TotalMemory      = 2097152
  1615.         InterlaceMode    = 1
  1616.         BufferAddress    = 0x0b8000
  1617.  
  1618. [TrapRegs]
  1619.     0x3c2;
  1620.     0x4ae8;
  1621.     0x3c4, 0x00-0x04;
  1622.     0x3c5;
  1623.     0x3d4, 0x00-0x18, 0x50-0x5a, 0x5c-0x5e, 0x60-0x62, 0x31-0x35, 0x3a-0x3c, 0x40-0x40, 0x43-0x43, 0x45-0x49, 0x4c-0x4f, 0x42-0x42, 0x67-0x67;
  1624.     0x3d5;
  1625.     0x3c0, 0x00-0x14;
  1626.     0x3c1;
  1627.     0x3ce, 0x00-0x08;
  1628.     0x3cf;
  1629.  
  1630. [SetMode]
  1631.  
  1632. /*
  1633.  *    Set Enhanced Command Registers
  1634.  */
  1635.  
  1636. outw(0x4ae8, 0x0000);
  1637. /*
  1638.  *    Set Sequencer Registers
  1639.  */
  1640.  
  1641. r0   = 0x00; r1   = 0x01; r2   = 0x03; r3   = 0x00; r4   = 0x02;
  1642. boutb(5, 0x00, 0x3c4, 0x3c5);
  1643.  
  1644. outw(0x3c4, 0x0300);
  1645. /*
  1646.  *    Set CRT Registers
  1647.  */
  1648.  
  1649. outw(0x3d4, 0x0e11);
  1650. r0   = 0x9a; r1   = 0x83; r2   = 0x86; r3   = 0x9d; r4   = 0x87;
  1651. r5   = 0x1b; r6   = 0xbf; r7   = 0x1f; r8   = 0x00; r9   = 0x4f;
  1652. r10  = 0x0d; r11  = 0x0e; r12  = 0x00; r13  = 0x00; r14  = 0x03;
  1653. r15  = 0x9c; r16  = 0x9c; r17  = 0x8e; r18  = 0x8f; r19  = 0x42;
  1654. r20  = 0x1f; r21  = 0x96; r22  = 0xbf; r23  = 0xa3; r24  = 0xff;
  1655. boutb(25, 0x00, 0x3d4, 0x3d5);
  1656.  
  1657. r80  = 0x00; r81  = 0x00; r82  = 0x00; r83  = 0x00; r84  = 0x08;
  1658. r85  = 0x00; r86  = 0x00; r87  = 0x00; r88  = 0x08; r89  = 0x00;
  1659. r90  = 0x0a; 
  1660. boutb(11, 0x50, 0x3d4, 0x3d5);
  1661.  
  1662. r92  = 0x02; r93  = 0x00; r94  = 0x00; 
  1663. boutb(3, 0x5c, 0x3d4, 0x3d5);
  1664.  
  1665. r96  = 0x0f; r97  = 0x80; r98  = 0x85; 
  1666. boutb(3, 0x60, 0x3d4, 0x3d5);
  1667.  
  1668. r49  = 0x85; r50  = 0x00; r51  = 0x00; r52  = 0x10; r53  = 0x00;
  1669. boutb(5, 0x31, 0x3d4, 0x3d5);
  1670.  
  1671. r58  = 0x85; r59  = 0x90; r60  = 0x40; 
  1672. boutb(3, 0x3a, 0x3d4, 0x3d5);
  1673.  
  1674. r64  = 0x59; 
  1675. boutb(1, 0x40, 0x3d4, 0x3d5);
  1676.  
  1677. r67  = 0x00; 
  1678. boutb(1, 0x43, 0x3d4, 0x3d5);
  1679.  
  1680. r69  = 0x00; r70  = 0x00; r71  = 0xff; r72  = 0xfc; r73  = 0xff;
  1681. boutb(5, 0x45, 0x3d4, 0x3d5);
  1682.  
  1683. r76  = 0xff; r77  = 0xff; r78  = 0xff; r79  = 0xdf; 
  1684. boutb(4, 0x4c, 0x3d4, 0x3d5);
  1685.  
  1686. r66  = 0x02; 
  1687. boutb(1, 0x42, 0x3d4, 0x3d5);
  1688.  
  1689. r103 = 0x02; 
  1690. boutb(1, 0x67, 0x3d4, 0x3d5);
  1691.  
  1692. /*
  1693.  *    Set Attribute Registers
  1694.  */
  1695.  
  1696. r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
  1697. r5   = 0x05; r6   = 0x14; r7   = 0x07; r8   = 0x38; r9   = 0x39;
  1698. r10  = 0x3a; r11  = 0x3b; r12  = 0x3c; r13  = 0x3d; r14  = 0x3e;
  1699. r15  = 0x3f; r16  = 0x0c; r17  = 0x00; r18  = 0x0f; r19  = 0x00;
  1700. r20  = 0x00; 
  1701. boutb(21, 0x00, 0x3c0, 0x3c1);
  1702.  
  1703. /*
  1704.  *    Set GDC Registers
  1705.  */
  1706.  
  1707. r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
  1708. r5   = 0x10; r6   = 0x0e; r7   = 0x00; r8   = 0xff; 
  1709. boutb(9, 0x00, 0x3ce, 0x3cf);
  1710.  
  1711. /*
  1712.  *    Set CRT Registers
  1713.  */
  1714.  
  1715. rmwb(0x3d4, 0x3d5, 0x40, 0xff, 0x01);
  1716. /*
  1717.  *    Set Enhanced Command Registers
  1718.  */
  1719.  
  1720. outw(0x4ae8, 0x0000);
  1721. rmwb(0x3d4, 0x3d5, 0x40, 0xfe, 0x00);
  1722.