Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2104 lines
91 KiB

  1. /**************************************************************************\
  2. $Header: r:rcs\TABLES.C 1.2 94/09/16 05:28:50 bleblanc Exp $
  3. $Log: TABLES.C $
  4. * Revision 1.2 94/09/16 05:28:50 bleblanc
  5. * modes 0,Z en 8-bit avec PCI_2M enleves
  6. *
  7. * Revision 1.1 94/08/22 05:44:29 bleblanc
  8. * Initial revision
  9. *
  10. \**************************************************************************/
  11. /*/****************************************************************************
  12. * name: tables.c
  13. *
  14. * description: Offscreens and hardware modes definitions
  15. *
  16. * designed: Benoit Leblanc
  17. * last modified: $Author: bleblanc $
  18. *
  19. * version: $Id: TABLES.C 1.2 94/09/16 05:28:50 bleblanc Exp $
  20. *
  21. ******************************************************************************/
  22. #include "switches.h"
  23. #include "bind.h"
  24. #include "defbind.h"
  25. #ifdef WINDOWS_NT
  26. #if defined(ALLOC_PRAGMA)
  27. #pragma data_seg("PAGE")
  28. #endif
  29. #endif
  30. #define N_VRAM 0 /* normal off screen memory in VRAM, supports block mode */
  31. #define N_DRAM 6 /* normal off screen memory in DRAM, no block mode */
  32. #define Z_VRAM 1 /* z-buffer memory in VRAM, supports block mode */
  33. #define Z_DRAM 7 /* z-buffer memory in DRAM, no block mode */
  34. #define DB_VRAM 8
  35. #define Z 1 /* Z-buffer available */
  36. #define ND 0xc0 /* Not displayable , hw limited */
  37. #define TV 0x02 /* TV Mode */
  38. #define LUT 0x04 /* LUT mode (pseudo color) */
  39. #define M565 0x08 /* Mode 565 XGA */
  40. #define DB 0x10
  41. /* OFFSCREENS DEFINITION */
  42. /*------------------*/
  43. /*** MGA-ULT/ 1Mb ***/
  44. /*------------------*/
  45. OffScrData OffScrFBM_000_A[] = {
  46. /* 640x480/8 */
  47. N_VRAM, 0, 480, 640, 1158, 0x000000ff, 0,
  48. /* 640x480/16 */
  49. N_VRAM, 0, 480, 640, 339, 0x0000ffff, 0,
  50. /* 768x576/8 */
  51. N_VRAM, 0, 576, 768, 789, 0x000000ff, 0,
  52. /* 768x576/16 */
  53. N_VRAM, 0, 576, 768, 106, 0x0000ffff, 0,
  54. /* 800x600/8 */
  55. N_VRAM, 0, 600, 800, 710, 0x000000ff, 0,
  56. /* 800x600/16 */
  57. N_VRAM, 0, 600, 800, 55, 0x0000ffff, 0,
  58. /* 1024x768/8 */
  59. N_VRAM, 0, 768, 1024, 256, 0x000000ff, 0,
  60. /* 1152x882/8 */
  61. N_VRAM, 0, 882, 1152, 28, 0x000000ff, 0,
  62. };
  63. /*----------------------------*/
  64. /*** MGA-ULT/ 1Mb INTERLACE ***/
  65. /*----------------------------*/
  66. OffScrData iOffScrFBM_000_A[] = {
  67. /* 640x480/8 */
  68. N_VRAM, 0, 480, 768, 885, 0x000000ff, 0,
  69. N_VRAM, 640, 0, 128, 480, 0x000000ff, 0,
  70. /* 640x480/16 */
  71. N_VRAM, 0, 480, 768, 202, 0x0000ffff, 0,
  72. N_VRAM, 640, 0, 128, 480, 0x0000ffff, 0,
  73. /* 800x600/8 */
  74. N_VRAM, 0, 600, 1024, 424, 0x000000ff, 0,
  75. N_VRAM, 800, 0, 224, 600, 0x000000ff, 0,
  76. };
  77. /*------------------------*/
  78. /*** MGA-ULT/ 2Mb TITAN ***/
  79. /*------------------------*/
  80. OffScrData OffScrFBM_010_A[] = {
  81. /* 640x480/8 */
  82. N_VRAM, 0, 480, 640, 2796, 0x000000ff, 0,
  83. /* 640x480/16 */
  84. N_VRAM, 0, 480, 640, 1158, 0x0000ffff, 0,
  85. /* 640x480/32 */
  86. N_VRAM, 0, 480, 640, 339, 0xffffffff, 0,
  87. N_VRAM, 0, 0, 640, 480, 0xff000000, 0,
  88. /* 768x576/8 */
  89. N_VRAM, 0, 576, 768, 2154, 0x000000ff, 0,
  90. /* 768x576/16 */
  91. N_VRAM, 0, 576, 768, 789, 0x0000ffff, 0,
  92. /* 768x576/32 */
  93. N_VRAM, 0, 576, 768, 106, 0xffffffff, 0,
  94. N_VRAM, 0, 0, 768, 576, 0xff000000, 0,
  95. /* 800x600/8 */
  96. N_VRAM, 0, 600, 800, 2021, 0x000000ff, 0,
  97. /* 800x600/16 */
  98. N_VRAM, 0, 600, 800, 710, 0x0000ffff, 0,
  99. /* 800x600/32 */
  100. N_VRAM, 0, 600, 800, 55, 0xffffffff, 0,
  101. N_VRAM, 0, 0, 800, 600, 0xff000000, 0,
  102. /* 1024x768/8 */
  103. N_VRAM, 0, 768, 1024, 1280, 0x000000ff, 0,
  104. /* 1024x768/16 */
  105. N_VRAM, 0, 768, 1024, 256, 0x0000ffff, 0,
  106. /* 1152x882/8 */
  107. N_VRAM, 0, 882, 1152, 938, 0x000000ff, 0,
  108. /* 1152x882/16 */
  109. N_VRAM, 0, 882, 1152, 28, 0x0000ffff, 0,
  110. /* 1280x1024/8 */
  111. N_VRAM, 0, 1024, 1280, 614, 0x000000ff, 0,
  112. /* 1600x1200/8 */
  113. N_VRAM, 0, 1200, 1600, 110, 0x000000ff, 0
  114. };
  115. /*------------------------------*/
  116. /*** MGA-ULT/ 2Mb INTERLACE ***/
  117. /*------------------------------*/
  118. OffScrData iOffScrFBM_010_A[] = {
  119. /* 640x480/8 */
  120. N_VRAM, 0, 480, 768, 2250, 0x000000ff, 0,
  121. N_VRAM, 640, 0, 128, 480, 0x000000ff, 0,
  122. /* 640x480/16 */
  123. N_VRAM, 0, 480, 768, 885, 0x0000ffff, 0,
  124. N_VRAM, 640, 0, 128, 480, 0x0000ffff, 0,
  125. /* 640x480/32 */
  126. N_VRAM, 0, 480, 768, 202, 0xffffffff, 0,
  127. N_VRAM, 640, 0, 128, 480, 0xffffffff, 0,
  128. N_VRAM, 0, 0, 640, 480, 0xff000000, 0,
  129. /* 800x600/8 */
  130. N_VRAM, 0, 600, 1024, 1448, 0x000000ff, 0,
  131. N_VRAM, 800, 0, 224, 600, 0x000000ff, 0,
  132. /* 800x600/16 */
  133. N_VRAM, 0, 600, 1024, 424, 0x0000ffff, 0,
  134. N_VRAM, 800, 0, 224, 600, 0x0000ffff, 0,
  135. /* 1152x882/8 */
  136. N_VRAM, 0, 882, 1280, 756, 0x000000ff, 0,
  137. N_VRAM,1152, 0, 128, 882, 0x000000ff, 0,
  138. };
  139. /*------------------*/
  140. /*** MGA-IMP/ 3Mb ***/
  141. /*------------------*/
  142. OffScrData OffScrFBM_010_B[] = {
  143. /* 640x480/8 */
  144. N_VRAM, 0, 480, 640, 4435, 0x000000ff, 0,
  145. /* 640x480/8Z */
  146. N_VRAM, 0, 480, 640, 2796, 0x000000ff, 0,
  147. Z_VRAM, 0, 3276, 640, 960, 0x000000ff, 512,
  148. N_VRAM, 0, 4237, 640, 678, 0x000000ff, 0,
  149. /* 640x480/16 */
  150. N_VRAM, 0, 480, 640, 1977, 0x0000ffff, 0,
  151. /* 640x480/16Z */
  152. N_VRAM, 0, 480, 640, 1158, 0x0000ffff, 0,
  153. Z_VRAM, 0, 1638, 640, 480, 0x0000ffff, 256,
  154. N_VRAM, 0, 2119, 640, 338, 0x0000ffff, 0,
  155. /* 640x480/32 */
  156. N_VRAM, 0, 480, 640, 748, 0xffffffff, 0,
  157. N_VRAM, 0, 0, 640, 480, 0xff000000, 0,
  158. /* 640x480/32Z */
  159. N_VRAM, 0, 480, 640, 339, 0xffffffff, 0,
  160. Z_VRAM, 0, 819, 640, 240, 0xffffffff, 128,
  161. N_VRAM, 0, 1060, 640, 168, 0xffffffff, 0,
  162. N_VRAM, 0, 0, 640, 480, 0xff000000, 0,
  163. /* 768x576/8 */
  164. N_VRAM, 0, 576, 768, 3520, 0x000000ff, 0,
  165. /* 768x576/8Z */
  166. N_VRAM, 0, 576, 768, 2154, 0x000000ff, 0,
  167. Z_VRAM, 0, 2730, 768, 1152, 0x000000ff, 512,
  168. N_VRAM, 0, 3883, 768, 213, 0x000000ff, 0,
  169. /* 768x576/16 */
  170. N_VRAM, 0, 576, 768, 1472, 0x0000ffff, 0,
  171. /* 768x576/16Z */
  172. N_VRAM, 0, 576, 768, 789, 0x0000ffff, 0,
  173. Z_VRAM, 0, 1365, 768, 576, 0x0000ffff, 256,
  174. N_VRAM, 0, 1942, 768, 106, 0x0000ffff, 0,
  175. /* 768x576/32 */
  176. N_VRAM, 0, 576, 768, 448, 0xffffffff, 0,
  177. N_VRAM, 0, 0, 768, 576, 0xff000000, 0,
  178. /* 768x576/32Z */
  179. Z_VRAM, 0, 682, 768, 288, 0xffffffff, 512,
  180. N_VRAM, 0, 576, 768, 106, 0xffffffff, 0,
  181. N_VRAM, 0, 971, 768, 53, 0xffffffff, 0,
  182. N_VRAM, 0, 0, 768, 576, 0xff000000, 0,
  183. /* 800x600/8 */
  184. N_VRAM, 0, 600, 800, 3332, 0x000000ff, 0,
  185. /* 800x600/8Z */
  186. N_VRAM, 0, 600, 800, 2021, 0x000000ff, 0,
  187. Z_VRAM, 0, 2621, 800, 1200, 0x000000ff, 352,
  188. N_VRAM, 0, 3822, 800, 110, 0x000000ff, 0,
  189. /* 800x600/16 */
  190. N_VRAM, 0, 600, 800, 1366, 0x0000ffff, 0,
  191. /* 800x600/16Z */
  192. N_VRAM, 0, 600, 800, 710, 0x0000ffff, 0,
  193. Z_VRAM, 0, 1310, 800, 600, 0x0000ffff, 576,
  194. N_VRAM, 0, 1911, 800, 55, 0x0000ffff, 0,
  195. /* 800x600/32 */
  196. N_VRAM, 0, 600, 800, 383, 0xffffffff, 0,
  197. N_VRAM, 0, 0, 800, 600, 0xff000000, 0,
  198. /* 800x600/32Z */
  199. Z_VRAM, 0, 655, 800, 300, 0xffffffff, 288,
  200. N_VRAM, 0, 600, 800, 55, 0xffffffff, 0,
  201. N_VRAM, 0, 956, 800, 27, 0xffffffff, 0,
  202. N_VRAM, 0, 0, 800, 600, 0xff000000, 0,
  203. /* 1024x768/8 */
  204. N_VRAM, 0, 768, 1024, 2304, 0x000000ff, 0,
  205. /* 1024x768/16 */
  206. N_VRAM, 0, 768, 1024, 768, 0x0000ffff, 0,
  207. /* 1024x768/32 */
  208. N_VRAM, 0, 0, 1024, 768, 0xff000000, 0,
  209. /* 1152x882/8 */
  210. N_VRAM, 0, 882, 1152, 1848, 0x000000ff, 0,
  211. /* 1152x882/16 */
  212. N_VRAM, 0, 882, 1152, 483, 0x0000ffff, 1,
  213. /* 1280x1024/8 */
  214. N_VRAM, 0, 1024, 1280, 1433, 0x000000ff, 0,
  215. /* 1280x1024/16 */
  216. N_VRAM, 0, 1024, 1280, 204, 0x0000ffff, 1,
  217. /* 1600x1200/8 */
  218. N_VRAM, 0, 1200, 1600, 766, 0x000000ff, 1
  219. };
  220. /*----------------------------*/
  221. /*** MGA-IMP/ 3Mb INTERLACE ***/
  222. /*----------------------------*/
  223. OffScrData iOffScrFBM_010_B[] = {
  224. /* 640x480/8 */
  225. N_VRAM, 0, 480, 768, 3616, 0x000000ff, 0,
  226. N_VRAM, 640, 0, 128, 480, 0x000000ff, 0,
  227. /* 640x480/8Z */
  228. N_VRAM, 0, 480, 768, 2250, 0x000000ff, 0,
  229. Z_VRAM, 0, 2730, 768, 800, 0x000000ff, 512,
  230. N_VRAM, 0, 3531, 768, 565, 0x000000ff, 0,
  231. N_VRAM, 640, 0, 128, 480, 0x000000ff, 0,
  232. /* 640x480/16 */
  233. N_VRAM, 0, 480, 768, 1568, 0x0000ffff, 0,
  234. N_VRAM, 640, 0, 128, 480, 0x0000ffff, 0,
  235. /* 640x480/16Z */
  236. N_VRAM, 0, 480, 768, 885, 0x0000ffff, 0,
  237. Z_VRAM, 0, 1365, 768, 400, 0x0000ffff, 256,
  238. N_VRAM, 0, 1766, 768, 282, 0x0000ffff, 0,
  239. N_VRAM, 640, 0, 128, 480, 0x0000ffff, 0,
  240. /* 640x480/32 */
  241. N_VRAM, 0, 480, 768, 544, 0xffffffff, 0,
  242. N_VRAM, 640, 0, 128, 480, 0xffffffff, 0,
  243. N_VRAM, 0, 0, 640, 480, 0xff000000, 0,
  244. /* 640x480/32Z */
  245. N_VRAM, 0, 480, 768, 202, 0xffffffff, 0,
  246. Z_VRAM, 0, 682, 768, 200, 0xffffffff, 512,
  247. N_VRAM, 0, 883, 768, 141, 0xffffffff, 0,
  248. N_VRAM, 640, 0, 128, 480, 0xffffffff, 0,
  249. N_VRAM, 0, 0, 640, 480, 0xff000000, 0,
  250. /* 800x600/8 */
  251. N_VRAM, 0, 480, 1024, 2472, 0x000000ff, 0,
  252. N_VRAM, 800, 0, 224, 600, 0x000000ff, 0,
  253. /* 800x600/8Z */
  254. N_VRAM, 0, 600, 1024, 1448, 0x000000ff, 0,
  255. Z_VRAM, 0, 2048, 1024, 937, 0x000000ff, 0,
  256. N_VRAM, 0, 2986, 1024, 86, 0x000000ff, 0,
  257. N_VRAM, 800, 0, 224, 600, 0x000000ff, 0,
  258. /* 800x600/16 */
  259. N_VRAM, 0, 600, 1024, 936, 0x0000ffff, 0,
  260. N_VRAM, 800, 0, 224, 600, 0x0000ffff, 0,
  261. /* 800x600/16Z */
  262. Z_VRAM, 0, 1024, 1024, 468, 0x0000ffff, 0,
  263. N_VRAM, 0, 600, 1024, 424, 0x0000ffff, 0,
  264. N_VRAM, 0, 1493, 1024, 43, 0x0000ffff, 0,
  265. N_VRAM, 800, 0, 224, 600, 0x0000ffff, 0,
  266. /* 800x600/32 */
  267. N_VRAM, 0, 600, 1024, 168, 0xffffffff, 0,
  268. N_VRAM, 800, 0, 224, 600, 0xffffffff, 0,
  269. N_VRAM, 0, 0, 800, 600, 0xff000000, 0,
  270. /* 1152x882/8 */
  271. N_VRAM, 0, 882, 1280, 1575, 0x000000ff, 0,
  272. N_VRAM,1152, 0, 128, 882, 0x000000ff, 0,
  273. /* 1152x882/16 */
  274. N_VRAM, 0, 882, 1280, 346, 0x0000ffff, 0,
  275. N_VRAM,1152, 0, 128, 882, 0x0000ffff, 0
  276. };
  277. /*-------------------------*/
  278. /*** MGA-IMP/ 3Mb with Z ***/
  279. /*-------------------------*/
  280. OffScrData OffScrFBM_011_A[] = {
  281. /* 640x480/8 */
  282. N_VRAM, 0, 480, 640, 3616, 0x000000ff, 0,
  283. N_DRAM, 0, 6554, 640, 3276, 0x000000ff, 0,
  284. N_VRAM, 0, 9831, 640, 818, 0x000000ff, 0,
  285. /* 640x480/8Z */
  286. N_VRAM, 0, 480, 640, 3616, 0x000000ff, 0,
  287. N_DRAM, 0, 7514, 640, 2316, 0x000000ff, 0,
  288. Z_DRAM, 0, 6553, 640, 960, 0x000000ff, 384,
  289. N_VRAM, 0, 9831, 640, 818, 0x000000ff, 0,
  290. /* 640x480/16 */
  291. N_DRAM, 0, 3277, 640, 1638, 0x0000ffff, 0,
  292. N_VRAM, 0, 480, 640, 1568, 0x0000ffff, 0,
  293. N_VRAM, 0, 4916, 640, 408, 0x0000ffff, 0,
  294. /* 640x480/16Z */
  295. N_VRAM, 0, 480, 640, 1568, 0x0000ffff, 0,
  296. N_DRAM, 0, 3757, 640, 1158, 0x0000ffff, 0,
  297. Z_DRAM, 0, 3276, 640, 480, 0x0000ffff, 512,
  298. N_VRAM, 0, 4916, 640, 408, 0x0000ffff, 0,
  299. /* 640x480/32 */
  300. N_DRAM, 0, 1639, 640, 818, 0xffffffff, 0,
  301. N_VRAM, 0, 480, 640, 544, 0xffffffff, 0,
  302. N_VRAM, 0, 2458, 640, 204, 0xffffffff, 0,
  303. N_VRAM, 0, 0, 640, 480, 0xff000000, 0,
  304. /* 640x480/32Z */
  305. N_DRAM, 0, 1879, 640, 578, 0xffffffff, 0,
  306. N_VRAM, 0, 480, 640, 544, 0xffffffff, 0,
  307. Z_DRAM, 0, 1638, 640, 240, 0xffffffff, 256,
  308. N_VRAM, 0, 2458, 640, 204, 0xffffffff, 0,
  309. N_VRAM, 0, 0, 640, 480, 0xff000000, 0,
  310. /* 768x576/8 */
  311. N_VRAM, 0, 576, 768, 2837, 0x000000ff, 0,
  312. N_DRAM, 0, 5462, 768, 2730, 0x000000ff, 0,
  313. N_VRAM, 0, 8192, 768, 682, 0x000000ff, 0,
  314. /* 768x576/8Z */
  315. N_VRAM, 0, 576, 768, 2837, 0x000000ff, 0,
  316. N_DRAM, 0, 6614, 768, 1578, 0x000000ff, 0,
  317. Z_DRAM, 0, 5461, 768, 1152, 0x000000ff, 256,
  318. N_VRAM, 0, 8192, 768, 682, 0x000000ff, 0,
  319. /* 768x576/16 */
  320. N_DRAM, 0, 2731, 768, 1365, 0x0000ffff, 0,
  321. N_VRAM, 0, 576, 768, 1130, 0x0000ffff, 0,
  322. N_VRAM, 0, 4096, 768, 341, 0x0000ffff, 0,
  323. /* 768x576/16Z */
  324. N_VRAM, 0, 576, 768, 1130, 0x0000ffff, 0,
  325. N_DRAM, 0, 3307, 768, 789, 0x0000ffff, 0,
  326. Z_DRAM, 0, 2730, 768, 576, 0x0000ffff, 512,
  327. N_VRAM, 0, 4096, 768, 341, 0x0000ffff, 0,
  328. /* 768x576/32 */
  329. N_DRAM, 0, 1366, 768, 682, 0xffffffff, 0,
  330. N_VRAM, 0, 576, 768, 277, 0xffffffff, 0,
  331. N_VRAM, 0, 2048, 768, 170, 0xffffffff, 0,
  332. N_VRAM, 0, 0, 768, 576, 0xff000000, 0,
  333. /* 768x576/32Z */
  334. N_DRAM, 0, 1654, 768, 394, 0xffffffff, 0,
  335. Z_DRAM, 0, 1365, 768, 288, 0xffffffff, 256,
  336. N_VRAM, 0, 576, 768, 277, 0xffffffff, 0,
  337. N_VRAM, 0, 2048, 768, 170, 0xffffffff, 0,
  338. N_VRAM, 0, 0, 768, 576, 0xff000000, 0,
  339. /* 800x600/8 */
  340. N_VRAM, 0, 600, 800, 2676, 0x000000ff, 0,
  341. N_DRAM, 0, 5243, 800, 2621, 0x000000ff, 0,
  342. N_VRAM, 0, 7865, 800, 654, 0x000000ff, 0,
  343. /* 800x600/8Z */
  344. N_VRAM, 0, 600, 800, 2676, 0x000000ff, 0,
  345. N_DRAM, 0, 6443, 800, 1421, 0x000000ff, 0,
  346. Z_DRAM, 0, 5242, 800, 1200, 0x000000ff, 704,
  347. N_VRAM, 0, 7865, 800, 654, 0x000000ff, 0,
  348. /* 800x600/16 */
  349. N_DRAM, 0, 2622, 800, 1310, 0x0000ffff, 0,
  350. N_VRAM, 0, 600, 800, 1038, 0x0000ffff, 0,
  351. N_VRAM, 0, 3933, 800, 326, 0x0000ffff, 0,
  352. /* 800x600/16Z */
  353. N_VRAM, 0, 600, 800, 1038, 0x0000ffff, 0,
  354. N_DRAM, 0, 3222, 800, 710, 0x0000ffff, 0,
  355. Z_DRAM, 0, 2621, 800, 600, 0x0000ffff, 352,
  356. N_VRAM, 0, 3933, 800, 326, 0x0000ffff, 0,
  357. /* 800x600/32 */
  358. N_DRAM, 0, 1311, 800, 655, 0xffffffff, 0,
  359. N_VRAM, 0, 600, 800, 219, 0xffffffff, 0,
  360. N_VRAM, 0, 1967, 800, 162, 0xffffffff, 0,
  361. N_VRAM, 0, 0, 800, 600, 0xff000000, 0,
  362. /* 800x600/32Z */
  363. N_DRAM, 0, 1611, 800, 355, 0xffffffff, 0,
  364. Z_DRAM, 0, 1310, 800, 300, 0xffffffff, 576,
  365. N_VRAM, 0, 600, 800, 219, 0xffffffff, 0,
  366. N_VRAM, 0, 1967, 800, 162, 0xffffffff, 0,
  367. N_VRAM, 0, 0, 800, 600, 0xff000000, 0,
  368. /* 1024x768/8 */
  369. N_DRAM, 0, 4096, 1024, 2048, 0x000000ff, 0,
  370. N_VRAM, 0, 768, 1024, 1792, 0x000000ff, 0,
  371. N_VRAM, 0, 6144, 1024, 512, 0x000000ff, 0,
  372. /* 1024x768/8Z */
  373. N_VRAM, 0, 768, 1024, 1792, 0x000000ff, 0,
  374. Z_DRAM, 0, 4096, 1024, 1536, 0x000000ff, 0,
  375. N_VRAM, 0, 6144, 1024, 512, 0x000000ff, 0,
  376. N_DRAM, 0, 5632, 1024, 512, 0x000000ff, 0,
  377. /* 1024x768/16 */
  378. N_DRAM, 0, 2048, 1024, 1024, 0x0000ffff, 0,
  379. N_VRAM, 0, 768, 1024, 512, 0x0000ffff, 0,
  380. N_VRAM, 0, 3072, 1024, 256, 0x0000ffff, 0,
  381. /* 1024x768/16Z*/
  382. Z_DRAM, 0, 2048, 1024, 768, 0x0000ffff, 0,
  383. N_VRAM, 0, 768, 1024, 512, 0x0000ffff, 0,
  384. N_VRAM, 0, 3072, 1024, 256, 0x0000ffff, 0,
  385. N_DRAM, 0, 2816, 1024, 256, 0x0000ffff, 0,
  386. /* 1024x768/32*/
  387. N_DRAM, 0, 1024, 1024, 512, 0xffffffff, 0,
  388. N_VRAM, 0, 0, 1024, 768, 0xff000000, 0,
  389. /* 1152x882/8 */
  390. N_DRAM, 0, 3641, 1152, 1820, 0x000000ff, 0,
  391. N_VRAM, 0, 882, 1152, 1393, 0x000000ff, 0,
  392. N_VRAM, 0, 5462, 1152, 454, 0x000000ff, 0,
  393. /* 1152x882/8Z */
  394. Z_DRAM, 0, 3640, 1152, 1764, 0x000000ff, 1024,
  395. N_VRAM, 0, 882, 1152, 1393, 0x000000ff, 0,
  396. N_VRAM, 0, 5462, 1152, 454, 0x000000ff, 0,
  397. N_DRAM, 0, 5405, 1152, 56, 0x000000ff, 0,
  398. /* 1152x882/16 */
  399. N_DRAM, 0, 1821, 1152, 909, 0x0000ffff, 0,
  400. N_VRAM, 0, 882, 1152, 255, 0x0000ffff, 0,
  401. N_VRAM, 0, 2731, 1152, 227, 0x0000ffff, 0,
  402. /* 1152x882/16Z*/
  403. Z_DRAM, 0, 1820, 1152, 882, 0x0000ffff, 512,
  404. N_VRAM, 0, 882, 1152, 255, 0x0000ffff, 0,
  405. N_VRAM, 0, 2731, 1152, 227, 0x0000ffff, 0,
  406. N_DRAM, 0, 2703, 1152, 27, 0x0000ffff, 0,
  407. /* 1280x1024/8 */
  408. N_DRAM, 0, 3277, 1280, 1638, 0x000000ff, 0,
  409. N_VRAM, 0, 1024, 1280, 1024, 0x000000ff, 0,
  410. N_VRAM, 0, 4916, 1280, 408, 0x000000ff, 0,
  411. /* 1280x1024/8Z*/
  412. N_VRAM, 0, 1024, 1280, 1024, 0x000000ff, 0,
  413. /* 1280x1024/16 */
  414. N_DRAM, 0, 1639, 1280, 818, 0x0000ffff, 0,
  415. N_VRAM, 0, 2458, 1280, 204, 0x0000ffff, 0,
  416. /* 1280x1024/16Z */
  417. {(word) -1},
  418. /* 1600x1200/8 */
  419. N_DRAM, 0, 2622, 1600, 1310, 0x000000ff, 0,
  420. N_VRAM, 0, 1200, 1600, 438, 0x000000ff, 0,
  421. N_VRAM, 0, 3933, 1600, 326, 0x000000ff, 0
  422. };
  423. /*------------------------------------*/
  424. /*** MGA-IMP/ 3Mb with Z INTERLACE ***/
  425. /*------------------------------------*/
  426. OffScrData iOffScrFBM_011_A[] = {
  427. /* 640x480/8 */
  428. N_VRAM, 0, 480, 768, 2933, 0x000000ff, 0,
  429. N_DRAM, 0, 5462, 768, 2730, 0x000000ff, 0,
  430. N_VRAM, 0, 8192, 768, 682, 0x000000ff, 0,
  431. N_VRAM, 640, 0, 128, 480, 0x000000ff, 0,
  432. /* 640x480/8Z */
  433. N_VRAM, 0, 480, 768, 2933, 0x000000ff, 0,
  434. N_DRAM, 0, 6262, 768, 1930, 0x000000ff, 0,
  435. Z_DRAM, 0, 5462, 768, 800, 0x000000ff, 256,
  436. N_VRAM, 0, 8192, 768, 682, 0x000000ff, 0,
  437. N_VRAM, 640, 0, 128, 480, 0x000000ff, 0,
  438. /* 640x480/16 */
  439. N_DRAM, 0, 2731, 768, 1365, 0x0000ffff, 0,
  440. N_VRAM, 0, 480, 768, 1226, 0x0000ffff, 0,
  441. N_VRAM, 0, 4096, 768, 341, 0x0000ffff, 0,
  442. N_VRAM, 640, 0, 128, 480, 0x0000ffff, 0,
  443. /* 640x480/16Z */
  444. N_VRAM, 0, 480, 768, 1226, 0x0000ffff, 0,
  445. N_DRAM, 0, 3131, 768, 965, 0x0000ffff, 0,
  446. Z_DRAM, 0, 2731, 768, 400, 0x0000ffff, 512,
  447. N_VRAM, 0, 4096, 768, 341, 0x0000ffff, 0,
  448. N_VRAM, 640, 0, 128, 480, 0x0000ffff, 0,
  449. /* 640x480/32 */
  450. N_DRAM, 0, 1366, 768, 682, 0xffffffff, 0,
  451. N_VRAM, 0, 480, 768, 373, 0xffffffff, 0,
  452. N_VRAM, 0, 2048, 768, 170, 0xffffffff, 0,
  453. N_VRAM, 640, 0, 128, 480, 0xffffffff, 0,
  454. N_VRAM, 0, 0, 640, 480, 0xff000000, 0,
  455. /* 640x480/32Z */
  456. N_DRAM, 0, 1566, 768, 482, 0xffffffff, 0,
  457. N_VRAM, 0, 480, 768, 373, 0xffffffff, 0,
  458. Z_DRAM, 0, 1365, 768, 200, 0xffffffff, 256,
  459. N_VRAM, 0, 2048, 768, 170, 0xffffffff, 0,
  460. N_VRAM, 640, 0, 128, 480, 0xffffffff, 0,
  461. N_VRAM, 0, 0, 640, 480, 0xff000000, 0,
  462. /* 800x600/8 */
  463. N_DRAM, 0, 4096, 1024, 2048, 0x000000ff, 0,
  464. N_VRAM, 0, 600, 1024, 1960, 0x000000ff, 0,
  465. N_VRAM, 0, 6144, 1024, 512, 0x000000ff, 0,
  466. N_VRAM, 800, 0, 224, 600, 0x000000ff, 0,
  467. /* 800x600/8Z */
  468. N_VRAM, 0, 600, 1024, 1960, 0x000000ff, 0,
  469. N_DRAM, 0, 5034, 1024, 1110, 0x000000ff, 0,
  470. Z_DRAM, 0, 4096, 1024, 937, 0x000000ff, 0,
  471. N_VRAM, 0, 6144, 1024, 512, 0x000000ff, 0,
  472. N_VRAM, 800, 0, 224, 600, 0x000000ff, 0,
  473. /* 800x600/16 */
  474. N_DRAM, 0, 2048, 1024, 1024, 0x0000ffff, 0,
  475. N_VRAM, 0, 600, 1024, 680, 0x0000ffff, 0,
  476. N_VRAM, 0, 3072, 1024, 256, 0x0000ffff, 0,
  477. N_VRAM, 800, 0, 224, 600, 0x0000ffff, 0,
  478. /* 800x600/16Z */
  479. N_VRAM, 0, 600, 1024, 680, 0x0000ffff, 0,
  480. N_DRAM, 0, 2517, 1024, 555, 0x0000ffff, 0,
  481. Z_DRAM, 0, 2048, 1024, 468, 0x0000ffff, 0,
  482. N_VRAM, 0, 3072, 1024, 256, 0x0000ffff, 0,
  483. N_VRAM, 800, 0, 224, 600, 0x0000ffff, 0,
  484. /* 800x600/32 */
  485. N_DRAM, 0, 1024, 1024, 512, 0xffffffff, 0,
  486. N_VRAM, 0, 1536, 1024, 128, 0xffffffff, 0,
  487. N_VRAM, 0, 600, 1024, 40, 0xffffffff, 0,
  488. N_VRAM, 800, 0, 224, 600, 0xffffffff, 0,
  489. N_VRAM, 0, 0, 800, 600, 0xff000000, 0,
  490. /* 800x600/32Z */
  491. N_DRAM, 0, 1259, 1024, 277, 0xffffffff, 0,
  492. Z_DRAM, 0, 1024, 1024, 234, 0xffffffff, 0,
  493. N_VRAM, 0, 1536, 1024, 128, 0xffffffff, 0,
  494. N_VRAM, 0, 600, 1024, 40, 0xffffffff, 0,
  495. N_VRAM, 800, 0, 224, 600, 0xffffffff, 0,
  496. N_VRAM, 0, 0, 800, 600, 0xff000000, 0,
  497. /* 1152x882/8 */
  498. N_DRAM, 0, 3277, 1280, 1638, 0x000000ff, 0,
  499. N_VRAM, 0, 882, 1280, 1166, 0x000000ff, 0,
  500. N_VRAM, 0, 4916, 1280, 408, 0x000000ff, 0,
  501. N_VRAM,1152, 0, 128, 882, 0x000000ff, 0,
  502. /* 1152x882/8Z */
  503. Z_DRAM, 0, 2048, 1280, 1587, 0x000000ff, 1024,
  504. N_VRAM, 0, 882, 1280, 1166, 0x000000ff, 0,
  505. N_VRAM, 0, 4916, 1280, 408, 0x000000ff, 0,
  506. N_DRAM, 0, 4865, 1280, 50, 0x000000ff, 0,
  507. N_VRAM,1152, 0, 128, 882, 0x000000ff, 0,
  508. /* 1152x882/16 */
  509. N_DRAM, 0, 1639, 1280, 818, 0x0000ffff, 0,
  510. N_VRAM, 0, 2458, 1280, 204, 0x0000ffff, 0,
  511. N_VRAM, 0, 882, 1280, 142, 0x0000ffff, 0,
  512. N_VRAM,1152, 0, 128, 882, 0x0000ffff, 0,
  513. /* 1152x882/16Z*/
  514. Z_DRAM, 0, 1638, 1280, 793, 0x0000ffff, 512,
  515. N_VRAM, 0, 2458, 1280, 204, 0x0000ffff, 0,
  516. N_VRAM, 0, 882, 1280, 142, 0x0000ffff, 0,
  517. N_DRAM, 0, 2433, 1280, 24, 0x0000ffff, 0,
  518. N_VRAM,1152, 0, 128, 882, 0x0000ffff, 0
  519. };
  520. /*--------------------------*/
  521. /*** MGA-PRO/4/V (4.5Meg) ***/
  522. /*--------------------------*/
  523. OffScrData OffScrFBM_101_B[] = {
  524. /* 640x480/24 */
  525. N_VRAM, 0, 480, 640, 1772, 0x00ffffff, 0,
  526. N_DRAM, 0, 2253, 640, 204, 0xffffffff, 0,
  527. /* 768x576/24 */
  528. N_VRAM, 0, 576, 768, 1301, 0x00ffffff, 0,
  529. N_DRAM, 0, 1878, 768, 170, 0xffffffff, 0,
  530. /* 800x600/24 */
  531. N_VRAM, 0, 600, 800, 1202, 0x00ffffff, 0,
  532. N_DRAM, 0, 1803, 800, 163, 0xffffffff, 0,
  533. /* 1024x768/24 */
  534. N_VRAM, 0, 768, 1024, 640, 0x00ffffff, 0,
  535. N_DRAM, 0, 1408, 1024, 128, 0xffffffff, 0,
  536. /* 1152x882/24 */
  537. N_VRAM, 0, 882, 1152, 369, 0x00ffffff, 0,
  538. N_DRAM, 0, 1252, 1152, 113, 0xffffffff, 0,
  539. /* 1280x1024/24 */
  540. N_VRAM, 0, 1024, 1280, 102, 0x00ffffff, 0,
  541. N_DRAM, 0, 1127, 1280, 101, 0xffffffff, 0
  542. };
  543. /*------------------------------------*/
  544. /*** MGA-PRO/4/V (4.5Meg) INTERLACE ***/
  545. /*------------------------------------*/
  546. OffScrData iOffScrFBM_101_B[] = {
  547. /* 640x480/24 */
  548. N_VRAM, 0, 480, 768, 1397, 0x00ffffff, 0,
  549. N_DRAM, 0, 1878, 768, 170, 0xffffffff, 0,
  550. N_VRAM, 640, 0, 128, 480, 0x00ffffff, 0,
  551. /* 800x600/24 */
  552. N_VRAM, 0, 600, 1024, 808, 0x00ffffff, 0,
  553. N_DRAM, 0, 1408, 1024, 128, 0xffffffff, 0,
  554. N_VRAM, 800, 0, 224, 600, 0x00ffffff, 0,
  555. /* 1152x882/24 */
  556. N_VRAM, 0, 882, 1280, 244, 0x00ffffff, 0,
  557. N_DRAM, 0, 1127, 1280, 101, 0xffffffff, 0,
  558. N_VRAM, 1152, 0, 128, 882, 0x00ffffff, 0
  559. };
  560. /*-----------------------------------------*/
  561. /*** MGA-PRO/4Z/V (4.5Mb + 4Mb Z-buffer) ***/
  562. /*-----------------------------------------*/
  563. OffScrData OffScrFBM_111_A[] = {
  564. /* 640x480/24 */
  565. N_VRAM, 0, 480, 640, 1977, 0x00ffffff, 0,
  566. N_DRAM, 0, 2458, 640, 1638, 0xffffffff, 0,
  567. /* 640x480/24Z */
  568. N_VRAM, 0, 480, 640, 1977, 0x00ffffff, 0,
  569. N_DRAM, 0, 2698, 640, 1398, 0xffffffff, 0,
  570. Z_DRAM, 0, 2458, 640, 239, 0xffffffff, 0,
  571. /* 768x576/24 */
  572. N_VRAM, 0, 576, 768, 1472, 0x00ffffff, 0,
  573. N_DRAM, 0, 2048, 768, 1365, 0xffffffff, 0,
  574. /* 768x576/24Z */
  575. N_VRAM, 0, 576, 768, 1472, 0x00ffffff, 0,
  576. N_DRAM, 0, 2336, 768, 1077, 0xffffffff, 0,
  577. Z_DRAM, 0, 2048, 768, 288, 0xffffffff, 0,
  578. /* 800x600/24 */
  579. N_VRAM, 0, 600, 800, 1366, 0x00ffffff, 0,
  580. N_DRAM, 0, 1967, 800, 1309, 0xffffffff, 0,
  581. /* 800x600/24Z */
  582. N_VRAM, 0, 600, 800, 1366, 0x00ffffff, 0,
  583. N_DRAM, 0, 2267, 800, 1009, 0xffffffff, 0,
  584. Z_DRAM, 0, 1967, 800, 299, 0xffffffff, 0,
  585. /* 1024x768/24 */
  586. N_DRAM, 0, 1536, 1024, 1024, 0xffffffff, 0,
  587. N_VRAM, 0, 768, 1024, 768, 0x00ffffff, 0,
  588. /* 1024x768/24Z */
  589. N_VRAM, 0, 768, 1024, 768, 0x00ffffff, 0,
  590. N_DRAM, 0, 1920, 1024, 640, 0xffffffff, 0,
  591. Z_DRAM, 0, 1536, 1024, 384, 0xffffffff, 0,
  592. /* 1152x882/24 */
  593. N_DRAM, 0, 1366, 1152, 909, 0xffffffff, 0,
  594. N_VRAM, 0, 882, 1152, 483, 0x00ffffff, 0,
  595. /* 1152x882/24Z */
  596. N_VRAM, 0, 882, 1152, 483, 0x00ffffff, 0,
  597. N_DRAM, 0, 1807, 1152, 468, 0xffffffff, 0,
  598. Z_DRAM, 0, 1366, 1152, 440, 0xffffffff, 0,
  599. /* 1280x1024/24 */
  600. N_DRAM, 0, 1229, 1280, 819, 0xffffffff, 0,
  601. N_VRAM, 0, 1024, 1280, 204, 0x00ffffff, 0,
  602. /* 1280x1024/24Z */
  603. Z_DRAM, 0, 1229, 1280, 511, 0xffffffff, 0,
  604. N_DRAM, 0, 1741, 1280, 307, 0xffffffff, 0,
  605. N_VRAM, 0, 1024, 1280, 204, 0x00ffffff, 0
  606. };
  607. /*---------------------------------------------------*/
  608. /*** MGA-PRO/4Z/V (4.5Mb + 4Mb Z-buffer) INTERLACE ***/
  609. /*---------------------------------------------------*/
  610. OffScrData iOffScrFBM_111_A[] = {
  611. /* 640x480/24 */
  612. N_VRAM, 0, 480, 768, 1568, 0x00ffffff, 0,
  613. N_DRAM, 0, 2048, 768, 1365, 0xffffffff, 0,
  614. N_VRAM, 640, 0, 128, 480, 0x00ffffff, 0,
  615. /* 640x480/24Z */
  616. N_VRAM, 0, 480, 768, 1568, 0x00ffffff, 0,
  617. N_DRAM, 0, 2248, 768, 1165, 0xffffffff, 0,
  618. Z_DRAM, 0, 2048, 768, 200, 0xffffffff, 0,
  619. N_VRAM, 640, 0, 128, 480, 0x00ffffff, 0,
  620. /* 800x600/24 */
  621. N_DRAM, 0, 1536, 1024, 1024, 0xffffffff, 0,
  622. N_VRAM, 0, 600, 1024, 936, 0x00ffffff, 0,
  623. N_VRAM, 800, 0, 224, 600, 0x00ffffff, 0,
  624. /* 800x600/24Z */
  625. N_VRAM, 0, 600, 1024, 936, 0x00ffffff, 0,
  626. N_DRAM, 0, 1771, 1024, 789, 0xffffffff, 0,
  627. Z_DRAM, 0, 1536, 1024, 234, 0xffffffff, 0,
  628. N_VRAM, 800, 0, 224, 600, 0x00ffffff, 0,
  629. /* 1152x882/24 */
  630. N_DRAM, 0, 1229, 1280, 819, 0xffffffff, 0,
  631. N_VRAM, 0, 882, 1280, 346, 0x00ffffff, 0,
  632. N_VRAM,1152, 0, 128, 882, 0x00ffffff, 0,
  633. /* 1152x882/24Z */
  634. N_DRAM, 0, 1626, 1280, 422, 0xffffffff, 0,
  635. Z_DRAM, 0, 1229, 1280, 396, 0xffffffff, 0,
  636. N_VRAM, 0, 882, 1280, 346, 0x00ffffff, 0,
  637. N_VRAM,1152, 0, 128, 882, 0x00ffffff, 0
  638. };
  639. /**************************/
  640. /*** HWMODES DEFINITION ***/
  641. /**************************/
  642. /*------------------*/
  643. /*** MGA-ULT/ 1Mb ***/
  644. /*------------------*/
  645. HwModeData HwModesFBM_000_A[21] = {
  646. 640, 480, DB, 0, 8, 256, 640, 1, &OffScrFBM_000_A[0],
  647. 640, 480, DB+LUT, 0, 8, 256, 640, 1, &OffScrFBM_000_A[0],
  648. 640, 480, DB, 0, 16, 32768, 640, 1, &OffScrFBM_000_A[1],
  649. 640, 480, M565, 0, 16, 65536, 640, 1, &OffScrFBM_000_A[1],
  650. 800, 600, DB, 0, 8, 256, 800, 1, &OffScrFBM_000_A[4],
  651. 800, 600, DB+LUT, 0, 8, 256, 800, 1, &OffScrFBM_000_A[4],
  652. 800, 600, DB, 0, 16, 32768, 800, 1, &OffScrFBM_000_A[5],
  653. 800, 600, M565, 0, 16, 65536, 800, 1, &OffScrFBM_000_A[5],
  654. 1024, 768, DB, 0, 8, 256, 1024, 1, &OffScrFBM_000_A[6],
  655. 1024, 768, DB+LUT, 0, 8, 256, 1024, 1, &OffScrFBM_000_A[6],
  656. 1152, 882, DB, 0, 8, 256, 1152, 1, &OffScrFBM_000_A[7],
  657. 1152, 882, DB+LUT, 0, 8, 256, 1152, 1, &OffScrFBM_000_A[7],
  658. 640, 480, DB+TV, 0, 8, 256, 640, 2, &OffScrFBM_000_A[0],
  659. 640, 480, DB+TV+LUT, 0, 8, 256, 640, 2, &OffScrFBM_000_A[0],
  660. 640, 480, DB+TV, 0, 16, 32768, 640, 2, &OffScrFBM_000_A[1],
  661. 640, 480, TV+M565, 0, 16, 65536, 640, 2, &OffScrFBM_000_A[1],
  662. 768, 576, DB+TV, 0, 8, 256, 768, 1, &OffScrFBM_000_A[2],
  663. 768, 576, DB+TV+LUT, 0, 8, 256, 768, 1, &OffScrFBM_000_A[2],
  664. 768, 576, DB+TV, 0, 16, 32768, 768, 1, &OffScrFBM_000_A[3],
  665. 768, 576, TV+M565, 0, 16, 65536, 768, 1, &OffScrFBM_000_A[3],{(word) -1}
  666. };
  667. HwModeInterlace iHwModesFBM_000_A[21] = {
  668. /* 640x480/8 */ 768, DB, 2, &iOffScrFBM_000_A[0],
  669. /* 640x480/8 LUT */ 768, DB+LUT, 2, &iOffScrFBM_000_A[0],
  670. /* 640x480/16 */ 768, DB, 2, &iOffScrFBM_000_A[2],
  671. /* 640x480/15 */ 768, M565, 2, &iOffScrFBM_000_A[2],
  672. /* 800x600/8 */ 1024, DB, 2, &iOffScrFBM_000_A[4],
  673. /* 800x600/8 LUT */ 1024, DB+LUT, 2, &iOffScrFBM_000_A[4],
  674. /* 800x600/16 */ 1024, ND+DB, 0, 0,
  675. /* 800x600/15 */ 1024, ND+M565, 0, 0,
  676. /* 1024x768/8 */ {0},
  677. /* 1024x768/8 LUT */ {0},
  678. /* 1152x882/8 */ 1280, ND+DB, 0, 0,
  679. /* 1152x882/8 LUT */ 1280, ND+DB+LUT, 0, 0,
  680. /* 640x480/8 TV */ 768, DB+TV, 2, &iOffScrFBM_000_A[0],
  681. /* 640x480/8 TV+LUT */ 768, DB+TV+LUT, 2, &iOffScrFBM_000_A[0],
  682. /* 640x480/16 TV */ 768, DB+TV, 2, &iOffScrFBM_000_A[2],
  683. /* 640x480/15 TV */ 768, TV+M565, 2, &iOffScrFBM_000_A[2],
  684. /* 768x576/8 TV */ {0},
  685. /* 768x576/8 TV+LUT */ {0},
  686. /* 768x576/16 TV */ {0},
  687. /* 768x576/15 TV */ {0},
  688. {(word) -1}
  689. };
  690. /*------------------------*/
  691. /*** MGA-ULT/ 2Mb TITAN ***/
  692. /*------------------------*/
  693. HwModeData HwModesFBM_010_A[34] = {
  694. 640, 480, DB, 0, 8, 256, 640, 1, &OffScrFBM_010_A[0],
  695. 640, 480, LUT+DB, 0, 8, 256, 640, 1, &OffScrFBM_010_A[0],
  696. 640, 480, DB, 0, 16, 32768, 640, 1, &OffScrFBM_010_A[1],
  697. 640, 480, M565, 0, 16, 65536, 640, 1, &OffScrFBM_010_A[1],
  698. 640, 480, DB, 0, 32, 16777216, 640, 2, &OffScrFBM_010_A[2],
  699. 800, 600, DB, 0, 8, 256, 800, 1, &OffScrFBM_010_A[8],
  700. 800, 600, DB+LUT, 0, 8, 256, 800, 1, &OffScrFBM_010_A[8],
  701. 800, 600, DB, 0, 16, 32768, 800, 1, &OffScrFBM_010_A[9],
  702. 800, 600, M565, 0, 16, 65536, 800, 1, &OffScrFBM_010_A[9],
  703. 800, 600, DB, 0, 32, 16777216, 800, 2, &OffScrFBM_010_A[10],
  704. 1024, 768, DB, 0, 8, 256, 1024, 1, &OffScrFBM_010_A[12],
  705. 1024, 768, DB+LUT, 0, 8, 256, 1024, 1, &OffScrFBM_010_A[12],
  706. 1024, 768, DB, 0, 16, 32768, 1024, 1, &OffScrFBM_010_A[13],
  707. 1024, 768, M565, 0, 16, 65536, 1024, 1, &OffScrFBM_010_A[13],
  708. 1152, 882, DB, 0, 8, 256, 1152, 1, &OffScrFBM_010_A[14],
  709. 1152, 882, DB+LUT, 0, 8, 256, 1152, 1, &OffScrFBM_010_A[14],
  710. 1152, 882, DB, 0, 16, 32768, 1152, 1, &OffScrFBM_010_A[15],
  711. 1152, 882, M565, 0, 16, 65536, 1152, 1, &OffScrFBM_010_A[15],
  712. 1280, 1024, DB, 0, 8, 256, 1280, 1, &OffScrFBM_010_A[16],
  713. 1280, 1024, DB+LUT, 0, 8, 256, 1280, 1, &OffScrFBM_010_A[16],
  714. 1600, 1200, DB, 0, 8, 256, 1600, 1, &OffScrFBM_010_A[17],
  715. 1600, 1200, DB+LUT, 0, 8, 256, 1600, 1, &OffScrFBM_010_A[17],
  716. 640, 480, TV+DB, 0, 8, 256, 640, 2, &OffScrFBM_010_A[0],
  717. 640, 480, TV+DB+LUT, 0, 8, 256, 640, 2, &OffScrFBM_010_A[0],
  718. 640, 480, TV+DB, 0, 16, 32768, 640, 2, &OffScrFBM_010_A[1],
  719. 640, 480, TV+M565, 0, 16, 65536, 640, 2, &OffScrFBM_010_A[1],
  720. 640, 480, TV+DB, 0, 32, 16777216, 640, 3, &OffScrFBM_010_A[2],
  721. 768, 576, TV+DB, 0, 8, 256, 768, 1, &OffScrFBM_010_A[4],
  722. 768, 576, TV+DB+LUT, 0, 8, 256, 768, 1, &OffScrFBM_010_A[4],
  723. 768, 576, TV+DB, 0, 16, 32768, 768, 1, &OffScrFBM_010_A[5],
  724. 768, 576, TV+M565, 0, 16, 65536, 768, 1, &OffScrFBM_010_A[5],
  725. 768, 576, TV+DB, 0, 32, 16777216, 768, 2, &OffScrFBM_010_A[6],{(word) -1}
  726. };
  727. HwModeInterlace iHwModesFBM_010_A[34] = {
  728. /* 640x480/8 */ 768, DB, 2, &iOffScrFBM_010_A[0],
  729. /* 640x480/8 LUT */ 768, DB+LUT, 2, &iOffScrFBM_010_A[0],
  730. /* 640x480/16 */ 768, DB, 2, &iOffScrFBM_010_A[2],
  731. /* 640x480/15 */ 768, M565, 2, &iOffScrFBM_010_A[2],
  732. /* 640x480/32 */ 768, DB, 3, &iOffScrFBM_010_A[4],
  733. /* 800x600/8 */ 1024, DB, 2, &iOffScrFBM_010_A[7],
  734. /* 800x600/8 LUT */ 1024, DB+LUT, 2, &iOffScrFBM_010_A[7],
  735. /* 800x600/16 */ 1024, DB, 2, &iOffScrFBM_010_A[9],
  736. /* 800x600/15 */ 1024, M565, 2, &iOffScrFBM_010_A[9],
  737. /* 800x600/32 */ 1024, ND+DB, 0, 0,
  738. /* 1024x768/8 */ {0},
  739. /* 1024x768/8 LUT */ {0},
  740. /* 1024x768/16 */ {0},
  741. /* 1024x768/15 */ {0},
  742. /* 1152x882/8 */ 1280, DB, 2, &iOffScrFBM_010_A[11],
  743. /* 1152x882/8 LUT */ 1280, DB+LUT, 2, &iOffScrFBM_010_A[11],
  744. /* 1152x882/16 */ 1280, ND+DB, 0, 0,
  745. /* 1152x882/15 */ 1280, ND+M565, 0, 0,
  746. /* 1280x1024/8 */ {0},
  747. /* 1280x1024/8 LUT */ {0},
  748. /* 1600x1200/8 */ 1600, ND+DB, 0, 0,
  749. /* 1600x1200/8 LUT */ 1600, ND+DB+LUT, 0, 0,
  750. /* 640x480/8 TV */ 768, TV+DB, 2, &iOffScrFBM_010_A[0],
  751. /* 640x480/8 TV+LUT */ 768, TV+DB+LUT, 2, &iOffScrFBM_010_A[0],
  752. /* 640x480/16 TV */ 768, TV+DB, 2, &iOffScrFBM_010_A[2],
  753. /* 640x480/15 TV */ 768, TV+M565, 2, &iOffScrFBM_010_A[2],
  754. /* 640x480/32 TV */ 768, TV+DB, 3, &iOffScrFBM_010_A[4],
  755. /* 768x576/8 TV */ {0},
  756. /* 768x576/8 TV+LUT */ {0},
  757. /* 768x576/16 TV */ {0},
  758. /* 768x576/15 TV */ {0},
  759. /* 768x576/32 TV */ {0},
  760. {(word) -1}
  761. };
  762. /*------------------*/
  763. /*** MGA-IMP/ 3Mb ***/
  764. /*------------------*/
  765. HwModeData HwModesFBM_010_B[48] = {
  766. 640, 480, DB, 0, 8, 256, 640, 1, &OffScrFBM_010_B[0],
  767. 640, 480, DB+LUT, 0, 8, 256, 640, 1, &OffScrFBM_010_B[0],
  768. 640, 480, DB, Z, 8, 256, 640, 3, &OffScrFBM_010_B[1],
  769. 640, 480, DB, 0, 16, 32768, 640, 1, &OffScrFBM_010_B[4],
  770. 640, 480, M565, 0, 16, 65536, 640, 1, &OffScrFBM_010_B[4],
  771. 640, 480, DB, Z, 16, 65536, 640, 3, &OffScrFBM_010_B[5],
  772. 640, 480, DB, 0, 32, 16777216, 640, 2, &OffScrFBM_010_B[8],
  773. 640, 480, DB, Z, 32, 16777216, 640, 4, &OffScrFBM_010_B[10],
  774. 800, 600, DB, 0, 8, 256, 800, 1, &OffScrFBM_010_B[28],
  775. 800, 600, DB+LUT, 0, 8, 256, 800, 1, &OffScrFBM_010_B[28],
  776. 800, 600, DB, Z, 8, 256, 800, 3, &OffScrFBM_010_B[29],
  777. 800, 600, DB, 0, 16, 32768, 800, 1, &OffScrFBM_010_B[32],
  778. 800, 600, M565, 0, 16, 65536, 800, 1, &OffScrFBM_010_B[32],
  779. 800, 600, DB, Z, 16, 32768, 800, 3, &OffScrFBM_010_B[33],
  780. 800, 600, DB, 0, 32, 16777216, 800, 2, &OffScrFBM_010_B[36],
  781. 800, 600, DB, Z, 32, 16777216, 800, 4, &OffScrFBM_010_B[38],
  782. 1024, 768, DB, 0, 8, 256, 1024, 1, &OffScrFBM_010_B[42],
  783. 1024, 768, DB+LUT, 0, 8, 256, 1024, 1, &OffScrFBM_010_B[42],
  784. 1024, 768, DB, 0, 16, 32768, 1024, 1, &OffScrFBM_010_B[43],
  785. 1024, 768, M565, 0, 16, 65536, 1024, 1, &OffScrFBM_010_B[43],
  786. 1024, 768, DB, 0, 32, 16777216, 1024, 1, &OffScrFBM_010_B[44],
  787. 1152, 882, DB, 0, 8, 256, 1152, 1, &OffScrFBM_010_B[45],
  788. 1152, 882, DB+LUT, 0, 8, 256, 1152, 1, &OffScrFBM_010_B[45],
  789. 1152, 882, DB, 0, 16, 32768, 1152, 1, &OffScrFBM_010_B[46],
  790. 1152, 882, M565, 0, 16, 65536, 1152, 1, &OffScrFBM_010_B[46],
  791. 1280, 1024, DB, 0, 8, 256, 1280, 1, &OffScrFBM_010_B[47],
  792. 1280, 1024, DB+LUT, 0, 8, 256, 1280, 1, &OffScrFBM_010_B[47],
  793. 1280, 1024, ND+DB, 0, 16, 32768, 1280, 1, &OffScrFBM_010_B[48],
  794. 1280, 1024, ND+M565, 0, 16, 65536, 1280, 1, &OffScrFBM_010_B[48],
  795. 1600, 1200, DB, 0, 8, 256, 1600, 1, &OffScrFBM_010_B[49],
  796. 1600, 1200, DB+LUT, 0, 8, 256, 1600, 1, &OffScrFBM_010_B[49],
  797. 640, 480, TV+DB, 0, 8, 256, 640, 2, &OffScrFBM_010_B[0],
  798. 640, 480, TV+DB+LUT, 0, 8, 256, 640, 2, &OffScrFBM_010_B[0],
  799. 640, 480, TV+DB, Z, 8, 256, 640, 4, &OffScrFBM_010_B[1],
  800. 640, 480, TV+DB, 0, 16, 32768, 640, 2, &OffScrFBM_010_B[4],
  801. 640, 480, TV+M565, 0, 16, 65536, 640, 2, &OffScrFBM_010_B[4],
  802. 640, 480, TV+DB, Z, 16, 32768, 640, 4, &OffScrFBM_010_B[5],
  803. 640, 480, TV+DB, 0, 32, 16777216, 640, 3, &OffScrFBM_010_B[8],
  804. 640, 480, TV+DB, Z, 32, 16777216, 640, 5, &OffScrFBM_010_B[10],
  805. 768, 576, TV+DB, 0, 8, 256, 768, 1, &OffScrFBM_010_B[14],
  806. 768, 576, TV+DB+LUT, 0, 8, 256, 768, 1, &OffScrFBM_010_B[14],
  807. 768, 576, TV+DB, Z, 8, 256, 768, 3, &OffScrFBM_010_B[15],
  808. 768, 576, TV+DB, 0, 16, 32768, 768, 1, &OffScrFBM_010_B[18],
  809. 768, 576, TV+M565, 0, 16, 65536, 768, 1, &OffScrFBM_010_B[18],
  810. 768, 576, TV+DB, Z, 16, 32768, 768, 3, &OffScrFBM_010_B[19],
  811. 768, 576, TV+DB, 0, 32, 16777216, 768, 2, &OffScrFBM_010_B[22],
  812. 768, 576, TV+DB, Z, 32, 16777216, 768, 4, &OffScrFBM_010_B[24],{(word) -1}
  813. };
  814. /*------------------- ---------*/
  815. /*** MGA-IMP/ 3Mb INTERLACE ***/
  816. /*-----------------------------*/
  817. HwModeInterlace iHwModesFBM_010_B[48] = {
  818. /* 640X480/8 */ 768, DB, 2, &iOffScrFBM_010_B[0],
  819. /* 640X480/8 LUT */ 768, DB+LUT, 2, &iOffScrFBM_010_B[0],
  820. /* 640X480/8Z */ 768, DB, 4, &iOffScrFBM_010_B[2],
  821. /* 640X480/16 */ 768, DB, 2, &iOffScrFBM_010_B[6],
  822. /* 640X480/15 */ 768, M565, 2, &iOffScrFBM_010_B[6],
  823. /* 640X480/16Z */ 768, DB, 4, &iOffScrFBM_010_B[8],
  824. /* 640X480/32 */ 768, DB, 3, &iOffScrFBM_010_B[12],
  825. /* 640X480/32Z */ 768, DB, 5, &iOffScrFBM_010_B[15],
  826. /* 800X600/8 */ 1024, DB, 2, &iOffScrFBM_010_B[20],
  827. /* 800X600/8 LUT */ 1024, DB+LUT, 2, &iOffScrFBM_010_B[20],
  828. /* 800X600/8Z */ 1024, DB, 4, &iOffScrFBM_010_B[22],
  829. /* 800X600/16 */ 1024, DB, 2, &iOffScrFBM_010_B[26],
  830. /* 800X600/15 */ 1024, M565, 2, &iOffScrFBM_010_B[26],
  831. /* 800X600/16Z */ 1024, DB, 4, &iOffScrFBM_010_B[28],
  832. /* 800X600/32 */ 1024, DB, 3, &iOffScrFBM_010_B[32],
  833. /* 800X600/32Z */ 1024, ND+DB, 0, 0,
  834. /* 1024x768/8 */ {0},
  835. /* 1024x768/8 LUT */ {0},
  836. /* 1024x768/16 */ {0},
  837. /* 1024x768/15 */ {0},
  838. /* 1024x768/32 */ {0},
  839. /* 1152X882/8 */ 1280, DB, 2, &iOffScrFBM_010_B[35],
  840. /* 1152X882/8 LUT */ 1280, DB+LUT, 2, &iOffScrFBM_010_B[35],
  841. /* 1152X882/16 */ 1280, ND+DB, 0, 0,
  842. /* 1152X882/15 */ 1280, ND+M565, 0, 0,
  843. /* 1280x1024/8 */ {0},
  844. /* 1280x1024/8 LUT */ {0},
  845. /* 1280x1024/16 */ {0},
  846. /* 1280x1024/15 */ {0},
  847. /* 1600x1200/8 */ 1600, ND+DB, 0, 0,
  848. /* 1600x1200/8 LUT */ 1600, ND+DB+LUT, 0, 0,
  849. /* 640X480/8 TV */ 768, TV+DB, 2, &iOffScrFBM_010_B[0],
  850. /* 640X480/8 TV+LUT */ 768, TV+DB+LUT, 2, &iOffScrFBM_010_B[0],
  851. /* 640X480/8Z TV */ 768, TV+DB, 4, &iOffScrFBM_010_B[2],
  852. /* 640X480/16 TV */ 768, TV+DB, 2, &iOffScrFBM_010_B[6],
  853. /* 640X480/15 TV */ 768, TV+M565, 2, &iOffScrFBM_010_B[6],
  854. /* 640X480/16Z TV */ 768, TV+DB, 4, &iOffScrFBM_010_B[8],
  855. /* 640X480/32 TV */ 768, TV+DB, 3, &iOffScrFBM_010_B[12],
  856. /* 640X480/32Z TV */ 768, TV+DB, 5, &iOffScrFBM_010_B[15],
  857. /* 768X576/8 TV */ {0},
  858. /* 768X576/8 TV+LUT */ {0},
  859. /* 768X576/8Z TV */ {0},
  860. /* 768X576/16 TV */ {0},
  861. /* 768X576/15 TV */ {0},
  862. /* 768X576/16Z TV */ {0},
  863. /* 768X576/32 TV */ {0},
  864. /* 768X576/32Z TV */ {0},
  865. {(word) -1}
  866. };
  867. /*-------------------------*/
  868. /*** MGA-IMP/ 3Mb with Z ***/
  869. /*-------------------------*/
  870. HwModeData HwModesFBM_011_A[55] = {
  871. 640, 480, DB, 0, 8, 256, 640, 3, &OffScrFBM_011_A[0],
  872. 640, 480, DB+LUT, 0, 8, 256, 640, 3, &OffScrFBM_011_A[0],
  873. 640, 480, DB, Z, 8, 256, 640, 4, &OffScrFBM_011_A[3],
  874. 640, 480, DB, 0, 16, 32768, 640, 3, &OffScrFBM_011_A[7],
  875. 640, 480, M565, 0, 16, 65536, 640, 3, &OffScrFBM_011_A[7],
  876. 640, 480, DB, Z, 16, 32768, 640, 4, &OffScrFBM_011_A[10],
  877. 640, 480, DB, 0, 32, 16777216, 640, 4, &OffScrFBM_011_A[14],
  878. 640, 480, DB, Z, 32, 16777216, 640, 5, &OffScrFBM_011_A[18],
  879. 800, 600, DB, 0, 8, 256, 800, 3, &OffScrFBM_011_A[46],
  880. 800, 600, DB+LUT, 0, 8, 256, 800, 3, &OffScrFBM_011_A[46],
  881. 800, 600, DB, Z, 8, 256, 800, 4, &OffScrFBM_011_A[49],
  882. 800, 600, DB, 0, 16, 32768, 800, 3, &OffScrFBM_011_A[53],
  883. 800, 600, M565, 0, 16, 65536, 800, 3, &OffScrFBM_011_A[53],
  884. 800, 600, DB, Z, 16, 32768, 800, 4, &OffScrFBM_011_A[56],
  885. 800, 600, DB, 0, 32, 16777216, 800, 4, &OffScrFBM_011_A[60],
  886. 800, 600, DB, Z, 32, 16777216, 800, 5, &OffScrFBM_011_A[64],
  887. 1024, 768, DB, 0, 8, 256, 1024, 3, &OffScrFBM_011_A[69],
  888. 1024, 768, DB+LUT, 0, 8, 256, 1024, 3, &OffScrFBM_011_A[69],
  889. 1024, 768, DB, Z, 8, 256, 1024, 4, &OffScrFBM_011_A[72],
  890. 1024, 768, DB, 0, 16, 32768, 1024, 3, &OffScrFBM_011_A[76],
  891. 1024, 768, M565, 0, 16, 65536, 1024, 3, &OffScrFBM_011_A[76],
  892. 1024, 768, DB, Z, 16, 32768, 1024, 4, &OffScrFBM_011_A[79],
  893. 1024, 768, DB, 0, 32, 16777216, 1024, 2, &OffScrFBM_011_A[83],
  894. 1152, 882, DB, 0, 8, 256, 1152, 3, &OffScrFBM_011_A[85],
  895. 1152, 882, DB+LUT, 0, 8, 256, 1152, 3, &OffScrFBM_011_A[85],
  896. 1152, 882, DB, Z, 8, 256, 1152, 4, &OffScrFBM_011_A[88],
  897. 1152, 882, DB, 0, 16, 32768, 1152, 3, &OffScrFBM_011_A[92],
  898. 1152, 882, M565, 0, 16, 65536, 1152, 3, &OffScrFBM_011_A[92],
  899. 1152, 882, DB, Z, 16, 32768, 1152, 4, &OffScrFBM_011_A[95],
  900. 1280, 1024, DB, 0, 8, 256, 1280, 3, &OffScrFBM_011_A[99],
  901. 1280, 1024, DB+LUT, 0, 8, 256, 1280, 3, &OffScrFBM_011_A[99],
  902. 1280, 1024, DB, Z, 8, 256, 1280, 1, &OffScrFBM_011_A[102],
  903. 1280, 1024, ND+DB, 0, 16, 32768, 1280, 2, &OffScrFBM_011_A[103],
  904. 1280, 1024, ND+M565, 0, 16, 65536, 1280, 2, &OffScrFBM_011_A[103],
  905. 1280, 1024, ND+DB, Z, 16, 32768, 1280, 0, &OffScrFBM_011_A[105],
  906. 1600, 1200, DB, 0, 8, 256, 1600, 3, &OffScrFBM_011_A[106],
  907. 1600, 1200, DB+LUT, 0, 8, 256, 1600, 3, &OffScrFBM_011_A[106],
  908. 640, 480, TV+DB, 0, 8, 256, 640, 4, &OffScrFBM_011_A[0],
  909. 640, 480, TV+DB+LUT, 0, 8, 256, 640, 4, &OffScrFBM_011_A[0],
  910. 640, 480, TV+DB, Z, 8, 256, 640, 5, &OffScrFBM_011_A[3],
  911. 640, 480, TV+DB, 0, 16, 32768, 640, 4, &OffScrFBM_011_A[7],
  912. 640, 480, TV+M565, 0, 16, 65536, 640, 4, &OffScrFBM_011_A[7],
  913. 640, 480, TV+DB, Z, 16, 32768, 640, 5, &OffScrFBM_011_A[10],
  914. 640, 480, TV+DB, 0, 32, 16777216, 640, 5, &OffScrFBM_011_A[14],
  915. 640, 480, TV+DB, Z, 32, 16777216, 640, 6, &OffScrFBM_011_A[18],
  916. 768, 576, TV+DB, 0, 8, 256, 768, 3, &OffScrFBM_011_A[23],
  917. 768, 576, TV+DB+LUT, 0, 8, 256, 768, 3, &OffScrFBM_011_A[23],
  918. 768, 576, TV+DB, Z, 8, 256, 768, 4, &OffScrFBM_011_A[26],
  919. 768, 576, TV+DB, 0, 16, 32768, 768, 3, &OffScrFBM_011_A[30],
  920. 768, 576, TV+M565, 0, 16, 65536, 768, 3, &OffScrFBM_011_A[30],
  921. 768, 576, TV+DB, Z, 16, 32768, 768, 4, &OffScrFBM_011_A[33],
  922. 768, 576, TV+DB, 0, 32, 16777216, 768, 4, &OffScrFBM_011_A[37],
  923. 768, 576, TV+DB, Z, 32, 16777216, 768, 5, &OffScrFBM_011_A[41],{(word) -1}
  924. };
  925. /*------------------------------------*/
  926. /*** MGA-IMP/ 3Mb with Z INTERLACE ***/
  927. /*------------------------------------*/
  928. HwModeInterlace iHwModesFBM_011_A[55] = {
  929. /* 640X480/8 */ 768, DB, 4, &iOffScrFBM_011_A[0],
  930. /* 640X480/8 LUT */ 768, DB+LUT, 4, &iOffScrFBM_011_A[0],
  931. /* 640X480/8Z */ 768, DB, 5, &iOffScrFBM_011_A[4],
  932. /* 640X480/16 */ 768, DB, 4, &iOffScrFBM_011_A[9],
  933. /* 640X480/15 */ 768, M565, 4, &iOffScrFBM_011_A[9],
  934. /* 640X480/16Z */ 768, DB, 5, &iOffScrFBM_011_A[13],
  935. /* 640X480/32 */ 768, DB, 5, &iOffScrFBM_011_A[18],
  936. /* 640X480/32Z */ 768, DB, 6, &iOffScrFBM_011_A[23],
  937. /* 800X600/8 */ 1024, DB, 4, &iOffScrFBM_011_A[29],
  938. /* 800X600/8 LUT */ 1024, DB+LUT, 4, &iOffScrFBM_011_A[29],
  939. /* 800X600/8Z */ 1024, DB, 5, &iOffScrFBM_011_A[33],
  940. /* 800X600/16 */ 1024, DB, 4, &iOffScrFBM_011_A[38],
  941. /* 800X600/15 */ 1024, M565, 4, &iOffScrFBM_011_A[38],
  942. /* 800X600/16Z */ 1024, DB, 5, &iOffScrFBM_011_A[42],
  943. /* 800X600/32 */ 1024, DB, 5, &iOffScrFBM_011_A[47],
  944. /* 800X600/32Z */ 1024, DB, 6, &iOffScrFBM_011_A[52],
  945. /* 1024x768/8 */ {0},
  946. /* 1024x768/8 LUT */ {0},
  947. /* 1024x768/8Z */ {0},
  948. /* 1024x768/16 */ {0},
  949. /* 1024x768/15 */ {0},
  950. /* 1024x768/16Z */ {0},
  951. /* 1024x768/32 */ {0},
  952. /* 1152X882/8 */ 1280, DB, 4, &iOffScrFBM_011_A[58],
  953. /* 1152X882/8 LUT */ 1280, DB+LUT, 4, &iOffScrFBM_011_A[58],
  954. /* 1152X882/8Z */ 1280, DB, 5, &iOffScrFBM_011_A[62],
  955. /* 1152X882/16 */ 1280, ND+DB, 0, 0,
  956. /* 1152X882/15 */ 1280, ND+M565, 0, 0,
  957. /* 1152X882/16Z */ 1280, ND+DB, 0, 0,
  958. /* 1280x1024/8 */ {0},
  959. /* 1280x1024/8 LUT */ {0},
  960. /* 1280x1024/8Z */ {0},
  961. /* 1280x1024/16 */ {0},
  962. /* 1280x1024/15 */ {0},
  963. /* 1280x1024/16Z */ {0},
  964. /* 1600x1200/8 */ 1600, ND+DB, 0, 0,
  965. /* 1600x1200/8 LUT */ 1600, ND+DB+LUT, 0, 0,
  966. /* 640X480/8 TV */ 768, TV+DB, 4, &iOffScrFBM_011_A[0],
  967. /* 640X480/8 TV+LUT */ 768, TV+DB+LUT, 4, &iOffScrFBM_011_A[0],
  968. /* 640X480/8Z TV */ 768, TV+DB, 5, &iOffScrFBM_011_A[4],
  969. /* 640X480/16 TV */ 768, TV+DB, 4, &iOffScrFBM_011_A[9],
  970. /* 640X480/15 TV */ 768, TV+M565, 4, &iOffScrFBM_011_A[9],
  971. /* 640X480/16Z TV */ 768, TV+DB, 5, &iOffScrFBM_011_A[13],
  972. /* 640X480/32 TV */ 768, TV+DB, 5, &iOffScrFBM_011_A[18],
  973. /* 640X480/32Z TV */ 768, TV+DB, 6, &iOffScrFBM_011_A[23],
  974. /* 768X576/8 TV */ {0},
  975. /* 768X576/8 TV+LUT */ {0},
  976. /* 768X576/8Z TV */ {0},
  977. /* 768X576/16 TV */ {0},
  978. /* 768X576/15 TV */ {0},
  979. /* 768X576/16Z TV */ {0},
  980. /* 768X576/32 TV */ {0},
  981. /* 768X576/32Z TV */ {0},
  982. {(word) -1}
  983. };
  984. /*--------------------------*/
  985. /*** MGA-PRO/4/V (4.5Meg) ***/
  986. /*--------------------------*/
  987. HwModeData HwModesFBM_101_B[8] = {
  988. 640, 480, DB, 0, 32, 16777216, 640, 2, &OffScrFBM_101_B[0],
  989. 800, 600, DB, 0, 32, 16777216, 800, 2, &OffScrFBM_101_B[4],
  990. 1024, 768, DB, 0, 32, 16777216, 1024, 2, &OffScrFBM_101_B[6],
  991. 1152, 882, DB, 0, 32, 16777216, 1152, 2, &OffScrFBM_101_B[8],
  992. 1280, 1024, DB, 0, 32, 16777216, 1280, 2, &OffScrFBM_101_B[10],
  993. 640, 480,TV+DB, 0, 32, 16777216, 640, 2, &OffScrFBM_101_B[0],
  994. 768, 576,TV+DB, 0, 32, 16777216, 768, 2, &OffScrFBM_101_B[2],{(word) -1}
  995. };
  996. HwModeInterlace iHwModesFBM_101_B[8] = {
  997. /* 640x480/24 */ 768, DB, 3, &iOffScrFBM_101_B[0],
  998. /* 800x600/24 */ 1024, DB, 3, &iOffScrFBM_101_B[3],
  999. /* 1024x768/24 */ {0},
  1000. /* 1152x882/24 */ 1280, DB, 3, &iOffScrFBM_101_B[6],
  1001. /* 1280x1024/24 */ {0},
  1002. /* 640x480/24 TV */ 768, TV+DB, 3, &iOffScrFBM_101_B[0],
  1003. /* 768x576/24 TV */ {0},
  1004. {(word) -1}
  1005. };
  1006. /*-----------------------------------------*/
  1007. /*** MGA-PRO/4Z/V (4.5Mb + 4Mb Z-buffer) ***/
  1008. /*-----------------------------------------*/
  1009. HwModeData HwModesFBM_111_A[15] = {
  1010. 640, 480, DB, 0, 32, 16777216, 640, 2, &OffScrFBM_111_A[0],
  1011. 640, 480, DB, Z, 32, 16777216, 640, 3, &OffScrFBM_111_A[2],
  1012. 800, 600, DB, 0, 32, 16777216, 800, 2, &OffScrFBM_111_A[10],
  1013. 800, 600, DB, Z, 32, 16777216, 800, 3, &OffScrFBM_111_A[12],
  1014. 1024, 768, DB, 0, 32, 16777216, 1024, 2, &OffScrFBM_111_A[15],
  1015. 1024, 768, DB, Z, 32, 16777216, 1024, 3, &OffScrFBM_111_A[17],
  1016. 1152, 882, DB, 0, 32, 16777216, 1152, 2, &OffScrFBM_111_A[20],
  1017. 1152, 882, DB, Z, 32, 16777216, 1152, 3, &OffScrFBM_111_A[22],
  1018. 1280, 1024, DB, 0, 32, 16777216, 1280, 2, &OffScrFBM_111_A[25],
  1019. 1280, 1024, DB, Z, 32, 16777216, 1280, 3, &OffScrFBM_111_A[27],
  1020. 640, 480,TV+DB, 0, 32, 16777216, 640, 2, &OffScrFBM_111_A[0],
  1021. 640, 480,TV+DB, Z, 32, 16777216, 640, 3, &OffScrFBM_111_A[2],
  1022. 768, 576,TV+DB, 0, 32, 16777216, 768, 2, &OffScrFBM_111_A[5],
  1023. 768, 576,TV+DB, Z, 32, 16777216, 768, 3, &OffScrFBM_111_A[7],{(word) -1}
  1024. };
  1025. HwModeInterlace iHwModesFBM_111_A[15] = {
  1026. /* 640x480/24 */ 768, DB, 3, &iOffScrFBM_111_A[0],
  1027. /* 640x480/24Z */ 768, DB, 4, &iOffScrFBM_111_A[3],
  1028. /* 800x600/24 */ 1024, DB, 3, &iOffScrFBM_111_A[7],
  1029. /* 800x600/24Z */ 1024, DB, 4, &iOffScrFBM_111_A[10],
  1030. /* 1024x768/24 */ {0},
  1031. /* 1024x768/24Z */ {0},
  1032. /* 1152x882/24 */ 1280, DB, 3, &iOffScrFBM_111_A[14],
  1033. /* 1152x882/24Z */ 1280, DB, 4, &iOffScrFBM_111_A[17],
  1034. /* 1280x1024/24 */ {0},
  1035. /* 1280x1024/24Z */ {0},
  1036. /* 640x480/24 TV */ 768, TV+DB, 3, &iOffScrFBM_111_A[0],
  1037. /* 640x480/24Z TV */ 768, TV+DB, 4, &iOffScrFBM_111_A[3],
  1038. /* 768x576/24 TV */ {0},
  1039. /* 768x576/24Z TV */ {0},
  1040. {(word) -1}
  1041. };
  1042. /*----------------------------------*/
  1043. /*** MGA PCI 2Mb (Atlas+Athena) ***/
  1044. /*----------------------------------*/
  1045. OffScrData OffAth2[] = {
  1046. /* 640x 480/ 8 */
  1047. N_VRAM, 0, 480, 640, 2796, 0x000000ff, 0,
  1048. /* 640x 480/ 8 DB */
  1049. N_VRAM, 0, 960, 640, 2316, 0x000000ff, 0,
  1050. DB_VRAM, 0, 480, 640, 480, 0x000000ff, 0,
  1051. /* 640x 480/ 8 DB+Z */
  1052. N_VRAM, 0, 480, 640, 339, 0x0000ffff, 0,
  1053. N_VRAM, 0, 1300, 640, 338, 0x0000ffff, 0,
  1054. Z_VRAM, 0, 819, 640, 480, 0x0000ffff, 128,
  1055. /* 640x 480/16 */
  1056. N_VRAM, 0, 480, 640, 1158, 0x0000ffff, 0,
  1057. /* 640x 480/16 Z */
  1058. N_VRAM, 0, 480, 640, 339, 0x0000ffff, 0,
  1059. N_VRAM, 0, 1300, 640, 338, 0x0000ffff, 0,
  1060. Z_VRAM, 0, 819, 640, 480, 0x0000ffff, 128,
  1061. /* 640x 480/16 DB */
  1062. N_VRAM, 0, 960, 640, 678, 0x0000ffff, 0,
  1063. DB_VRAM, 0, 480, 640, 480, 0x0000ffff, 0,
  1064. /* 640x 480/32 */
  1065. N_VRAM, 0, 480, 640, 339, 0xffffffff, 0,
  1066. N_VRAM, 0, 0, 480, 640, 0xff000000, 0,
  1067. /* 800x 600/ 8 */
  1068. N_VRAM, 0, 600, 800, 2021, 0x000000ff, 0,
  1069. /* 800x 600/ 8 DB */
  1070. N_VRAM, 0, 1200, 800, 1421, 0x000000ff, 0,
  1071. DB_VRAM, 0, 600, 800, 600, 0x000000ff, 0,
  1072. /* 800x 600/ 8 DB+Z */
  1073. N_VRAM, 0, 600, 800, 55, 0x0000ffff, 0,
  1074. N_VRAM, 0, 1256, 800, 54, 0x0000ffff, 0,
  1075. Z_VRAM, 0, 655, 800, 600, 0x0000ffff, 288,
  1076. /* 800x 600/16 */
  1077. N_VRAM, 0, 600, 800, 710, 0x0000ffff, 0,
  1078. /* 800x 600/16 Z */
  1079. N_VRAM, 0, 600, 800, 55, 0x0000ffff, 0,
  1080. N_VRAM, 0, 1256, 800, 54, 0x0000ffff, 0,
  1081. Z_VRAM, 0, 655, 800, 600, 0x0000ffff, 288,
  1082. /* 800x 600/16 DB */
  1083. N_VRAM, 0, 1200, 800, 110, 0x0000ffff, 0,
  1084. DB_VRAM, 0, 600, 800, 600, 0x0000ffff, 0,
  1085. /* 800x 600/32 */
  1086. N_VRAM, 0, 600, 800, 55, 0xffffffff, 0,
  1087. N_VRAM, 0, 0, 600, 800, 0xff000000, 0,
  1088. /* 1024x 768/ 8 */
  1089. N_VRAM, 0, 768, 1024, 1280, 0x000000ff, 0,
  1090. /* 1024x 768/ 8 DB */
  1091. N_VRAM, 0, 1536, 1024, 512, 0x000000ff, 0,
  1092. DB_VRAM, 0, 768, 1024, 768, 0x000000ff, 0,
  1093. /* 1024x 768/16 */
  1094. N_VRAM, 0, 768, 1024, 256, 0x0000ffff, 0,
  1095. /* 1152x 882/ 8 */
  1096. N_VRAM, 0, 882, 1152, 938, 0x000000ff, 0,
  1097. /* 1152x 882/ 8 DB */
  1098. N_VRAM, 0, 1764, 1152, 56, 0x000000ff, 0,
  1099. DB_VRAM, 0, 882, 1152, 882, 0x000000ff, 0,
  1100. /* 1152x 882/16 */
  1101. N_VRAM, 0, 882, 1152, 28, 0x0000ffff, 0,
  1102. /* 1280x1024/ 8 */
  1103. N_VRAM, 0, 1024, 1280, 614, 0x000000ff, 0,
  1104. /* 1600x1200/ 8 */
  1105. N_VRAM, 0, 1200, 1600, 110, 0x000000ff, 0,
  1106. /* 768x 576/ 8 */
  1107. N_VRAM, 0, 576, 768, 2154, 0x000000ff, 0,
  1108. /* 768x 576/ 8 DB */
  1109. N_VRAM, 0, 1152, 768, 1578, 0x000000ff, 0,
  1110. DB_VRAM, 0, 576, 768, 576, 0x000000ff, 0,
  1111. /* 768x 576/ 8 DB+Z */
  1112. N_VRAM, 0, 576, 768, 106, 0x0000ffff, 0,
  1113. N_VRAM, 0, 1259, 768, 105, 0x0000ffff, 0,
  1114. Z_VRAM, 0, 682, 768, 576, 0x0000ffff, 512,
  1115. /* 768x 576/16 */
  1116. N_VRAM, 0, 576, 768, 789, 0x0000ffff, 0,
  1117. /* 768x 576/16 Z */
  1118. N_VRAM, 0, 576, 768, 106, 0x0000ffff, 0,
  1119. N_VRAM, 0, 1259, 768, 105, 0x0000ffff, 0,
  1120. Z_VRAM, 0, 682, 768, 576, 0x0000ffff, 512,
  1121. /* 768x 576/16 DB */
  1122. N_VRAM, 0, 1152, 768, 213, 0x0000ffff, 0,
  1123. DB_VRAM, 0, 576, 768, 576, 0x0000ffff, 0,
  1124. /* 768x 576/32 */
  1125. N_VRAM, 0, 576, 768, 106, 0xffffffff, 0,
  1126. N_VRAM, 0, 0, 576, 768, 0xff000000, 0,
  1127. };
  1128. /*----------------------------------*/
  1129. /*** MGA PCI 2Mb (Atlas+Athena) ***/
  1130. /*----------------------------------*/
  1131. OffScrData iOffAth2[] = {
  1132. /* 640x 480/ 8 */
  1133. N_VRAM, 0, 480, 768, 2250, 0x000000ff, 0,
  1134. N_VRAM, 480, 0, 128, 480, 0x000000ff, 0,
  1135. /* 640x 480/ 8 DB */
  1136. N_VRAM, 0, 960, 768, 1770, 0x000000ff, 0,
  1137. N_VRAM, 640, 0, 128, 480, 0x000000ff, 0,
  1138. DB_VRAM, 0, 480, 768, 480, 0x000000ff, 0,
  1139. /* 640x 480/ 8 DB+Z */
  1140. N_VRAM, 0, 480, 768, 202, 0x0000ffff, 0,
  1141. N_VRAM, 0, 1083, 768, 281, 0x0000ffff, 0,
  1142. N_VRAM, 640, 0, 128, 682, 0x0000ffff, 0,
  1143. N_VRAM, 640, 1083, 128, 281, 0x0000ffff, 0,
  1144. Z_VRAM, 0, 682, 768, 400, 0x0000ffff, 512,
  1145. DB_VRAM, 0, 480, 768, 480, 0x0000ffff, 0,
  1146. /* 640x 480/16 */
  1147. N_VRAM, 0, 480, 768, 885, 0x0000ffff, 0,
  1148. N_VRAM, 480, 0, 128, 480, 0x0000ffff, 0,
  1149. /* 640x 480/16 Z */
  1150. N_VRAM, 0, 1083, 768, 281, 0x0000ffff, 0,
  1151. N_VRAM, 0, 480, 768, 202, 0x0000ffff, 0,
  1152. N_VRAM, 640, 0, 128, 682, 0x0000ffff, 0,
  1153. N_VRAM, 640, 1083, 128, 281, 0x0000ffff, 0,
  1154. Z_VRAM, 0, 682, 768, 400, 0x0000ffff, 512,
  1155. /* 640x 480/16 DB */
  1156. N_VRAM, 0, 960, 768, 405, 0x0000ffff, 0,
  1157. N_VRAM, 640, 0, 128, 480, 0x0000ffff, 0,
  1158. DB_VRAM, 0, 480, 768, 480, 0x0000ffff, 0,
  1159. /* 640x 480/32 */
  1160. N_VRAM, 0, 480, 768, 202, 0xffffffff, 0,
  1161. N_VRAM, 480, 0, 128, 480, 0xffffffff, 0,
  1162. N_VRAM, 0, 0, 480, 768, 0xff000000, 0,
  1163. /* 800x 600/ 8 */
  1164. N_VRAM, 0, 600, 1024, 1448, 0x000000ff, 0,
  1165. N_VRAM, 600, 0, 224, 600, 0x000000ff, 0,
  1166. /* 800x 600/ 8 DB */
  1167. N_VRAM, 0, 1200, 1024, 848, 0x000000ff, 0,
  1168. N_VRAM, 800, 0, 224, 600, 0x000000ff, 0,
  1169. DB_VRAM, 0, 600, 1024, 600, 0x000000ff, 0,
  1170. /* 800x 600/16 */
  1171. N_VRAM, 0, 600, 1024, 424, 0x0000ffff, 0,
  1172. N_VRAM, 600, 0, 224, 600, 0x0000ffff, 0,
  1173. /* 1024x 768/ 8 */
  1174. N_VRAM, 0, 768, 1024, 1280, 0x000000ff, 0,
  1175. N_VRAM, 768, 0, 0, 768, 0x000000ff, 0,
  1176. /* 1024x 768/ 8 DB */
  1177. N_VRAM, 0, 1536, 1024, 512, 0x000000ff, 0,
  1178. N_VRAM, 1024, 0, 0, 768, 0x000000ff, 0,
  1179. DB_VRAM, 0, 768, 1024, 768, 0x000000ff, 0,
  1180. /* 1024x 768/16 */
  1181. N_VRAM, 0, 768, 1024, 256, 0x0000ffff, 0,
  1182. N_VRAM, 768, 0, 0, 768, 0x0000ffff, 0,
  1183. /* 1152x 882/ 8 */
  1184. N_VRAM, 0, 882, 1280, 756, 0x000000ff, 0,
  1185. N_VRAM, 882, 0, 128, 882, 0x000000ff, 0,
  1186. /* 1280x1024/ 8 */
  1187. N_VRAM, 0, 1024, 1280, 614, 0x000000ff, 0,
  1188. N_VRAM, 1024, 0, 0, 1024, 0x000000ff, 0,
  1189. /* 1600x1200/ 8 */
  1190. N_VRAM, 0, 1200, 1600, 110, 0x000000ff, 0,
  1191. N_VRAM, 1200, 0, 0, 1200, 0x000000ff, 0,
  1192. /* 768x 576/ 8 */
  1193. N_VRAM, 0, 576, 768, 2154, 0x000000ff, 0,
  1194. N_VRAM, 576, 0, 0, 576, 0x000000ff, 0,
  1195. /* 768x 576/ 8 DB */
  1196. N_VRAM, 0, 1152, 768, 1578, 0x000000ff, 0,
  1197. N_VRAM, 768, 0, 0, 576, 0x000000ff, 0,
  1198. DB_VRAM, 0, 576, 768, 576, 0x000000ff, 0,
  1199. /* 768x 576/ 8 DB+Z */
  1200. N_VRAM, 0, 576, 768, 106, 0x0000ffff, 0,
  1201. N_VRAM, 0, 1259, 768, 105, 0x0000ffff, 0,
  1202. N_VRAM, 768, 0, 0, 682, 0x0000ffff, 0,
  1203. N_VRAM, 768, 1259, 0, 105, 0x0000ffff, 0,
  1204. Z_VRAM, 0, 682, 768, 576, 0x0000ffff, 512,
  1205. DB_VRAM, 0, 576, 768, 576, 0x0000ffff, 0,
  1206. /* 768x 576/16 */
  1207. N_VRAM, 0, 576, 768, 789, 0x0000ffff, 0,
  1208. N_VRAM, 576, 0, 0, 576, 0x0000ffff, 0,
  1209. /* 768x 576/16 Z */
  1210. N_VRAM, 0, 1259, 768, 105, 0x0000ffff, 0,
  1211. N_VRAM, 0, 576, 768, 106, 0x0000ffff, 0,
  1212. N_VRAM, 768, 0, 0, 682, 0x0000ffff, 0,
  1213. N_VRAM, 768, 1259, 0, 105, 0x0000ffff, 0,
  1214. Z_VRAM, 0, 682, 768, 576, 0x0000ffff, 512,
  1215. /* 768x 576/16 DB */
  1216. N_VRAM, 0, 1152, 768, 213, 0x0000ffff, 0,
  1217. N_VRAM, 768, 0, 0, 576, 0x0000ffff, 0,
  1218. DB_VRAM, 0, 576, 768, 576, 0x0000ffff, 0,
  1219. /* 768x 576/32 */
  1220. N_VRAM, 0, 576, 768, 106, 0xffffffff, 0,
  1221. N_VRAM, 576, 0, 0, 576, 0xffffffff, 0,
  1222. N_VRAM, 0, 0, 576, 768, 0xff000000, 0,
  1223. };
  1224. /*----------------------------------*/
  1225. /*** MGA PCI 2Mb (Atlas+Athena) ***/
  1226. /*----------------------------------*/
  1227. HwModeData ModesAth2[63] = {
  1228. 640, 480, 0, 0, 8, 256, 640, 1, &OffAth2[0],
  1229. 640, 480, DB, 0, 8, 256, 640, 2, &OffAth2[1],
  1230. 640, 480, DB, Z, 8, 256, 640, 3, &OffAth2[3],
  1231. 640, 480, LUT, 0, 8, 256, 640, 1, &OffAth2[0],
  1232. 640, 480, DB+LUT, 0, 8, 256, 640, 1, &OffAth2[0],
  1233. 640, 480, 0, 0, 16, 32768, 640, 1, &OffAth2[6],
  1234. 640, 480, 0, Z, 16, 32768, 640, 3, &OffAth2[7],
  1235. 640, 480, DB, 0, 16, 32768, 640, 2, &OffAth2[10],
  1236. 640, 480, M565, 0, 16, 65536, 640, 1, &OffAth2[6],
  1237. 640, 480, M565+DB, 0, 16, 65536, 640, 2, &OffAth2[10],
  1238. 640, 480, 0, 0, 32, 16777216, 640, 2, &OffAth2[12],
  1239. 800, 600, 0, 0, 8, 256, 800, 1, &OffAth2[14],
  1240. 800, 600, DB, 0, 8, 256, 800, 2, &OffAth2[15],
  1241. 800, 600, DB, Z, 8, 256, 800, 3, &OffAth2[17],
  1242. 800, 600, LUT, 0, 8, 256, 800, 1, &OffAth2[14],
  1243. 800, 600, DB+LUT, 0, 8, 256, 800, 1, &OffAth2[14],
  1244. 800, 600, 0, 0, 16, 32768, 800, 1, &OffAth2[20],
  1245. 800, 600, 0, Z, 16, 32768, 800, 3, &OffAth2[21],
  1246. 800, 600, DB, 0, 16, 32768, 800, 2, &OffAth2[24],
  1247. 800, 600, M565, 0, 16, 65536, 800, 1, &OffAth2[20],
  1248. 800, 600, M565+DB, 0, 16, 65536, 800, 2, &OffAth2[24],
  1249. 800, 600, 0, 0, 32, 16777216, 800, 2, &OffAth2[26],
  1250. 1024, 768, 0, 0, 8, 256, 1024, 1, &OffAth2[28],
  1251. 1024, 768, DB, 0, 8, 256, 1024, 2, &OffAth2[29],
  1252. 1024, 768, LUT, 0, 8, 256, 1024, 1, &OffAth2[28],
  1253. 1024, 768, DB+LUT, 0, 8, 256, 1024, 1, &OffAth2[28],
  1254. 1024, 768, 0, 0, 16, 32768, 1024, 1, &OffAth2[31],
  1255. 1024, 768, M565, 0, 16, 65536, 1024, 1, &OffAth2[31],
  1256. 1152, 882, 0, 0, 8, 256, 1152, 1, &OffAth2[32],
  1257. 1152, 882, DB, 0, 8, 256, 1152, 2, &OffAth2[33],
  1258. 1152, 882, LUT, 0, 8, 256, 1152, 1, &OffAth2[32],
  1259. 1152, 882, DB+LUT, 0, 8, 256, 1152, 1, &OffAth2[32],
  1260. 1152, 882, 0, 0, 16, 32768, 1152, 1, &OffAth2[35],
  1261. 1152, 882, M565, 0, 16, 65536, 1152, 1, &OffAth2[35],
  1262. 1280, 1024, 0, 0, 8, 256, 1280, 1, &OffAth2[36],
  1263. 1280, 1024, LUT, 0, 8, 256, 1280, 1, &OffAth2[36],
  1264. 1280, 1024, DB+LUT, 0, 8, 256, 1280, 1, &OffAth2[36],
  1265. 1600, 1200, 0, 0, 8, 256, 1600, 1, &OffAth2[37],
  1266. 1600, 1200, LUT, 0, 8, 256, 1600, 1, &OffAth2[37],
  1267. 1600, 1200, DB+LUT, 0, 8, 256, 1600, 1, &OffAth2[37],
  1268. 640, 480, TV, 0, 8, 256, 640, 1, &OffAth2[0],
  1269. 640, 480, TV+DB, 0, 8, 256, 640, 2, &OffAth2[1],
  1270. 640, 480, TV+DB, Z, 8, 256, 640, 3, &OffAth2[3],
  1271. 640, 480, TV+LUT, 0, 8, 256, 640, 1, &OffAth2[0],
  1272. 640, 480, TV+DB+LUT, 0, 8, 256, 640, 1, &OffAth2[0],
  1273. 640, 480, TV, 0, 16, 32768, 640, 1, &OffAth2[6],
  1274. 640, 480, TV, Z, 16, 32768, 640, 3, &OffAth2[7],
  1275. 640, 480, TV+DB, 0, 16, 32768, 640, 2, &OffAth2[10],
  1276. 640, 480, TV+M565, 0, 16, 65536, 640, 1, &OffAth2[6],
  1277. 640, 480,TV+M565+DB, 0, 16, 65536, 640, 2, &OffAth2[10],
  1278. 640, 480, TV, 0, 32, 16777216, 640, 2, &OffAth2[12],
  1279. 768, 576, TV, 0, 8, 256, 768, 1, &OffAth2[38],
  1280. 768, 576, TV+DB, 0, 8, 256, 768, 2, &OffAth2[39],
  1281. 768, 576, TV+DB, Z, 8, 256, 768, 3, &OffAth2[41],
  1282. 768, 576, TV+LUT, 0, 8, 256, 768, 1, &OffAth2[38],
  1283. 768, 576, TV+DB+LUT, 0, 8, 256, 768, 1, &OffAth2[38],
  1284. 768, 576, TV, 0, 16, 32768, 768, 1, &OffAth2[44],
  1285. 768, 576, TV, Z, 16, 32768, 768, 3, &OffAth2[45],
  1286. 768, 576, TV+DB, 0, 16, 32768, 768, 2, &OffAth2[48],
  1287. 768, 576, TV+M565, 0, 16, 65536, 768, 1, &OffAth2[44],
  1288. 768, 576,TV+M565+DB, 0, 16, 65536, 768, 2, &OffAth2[48],
  1289. 768, 576, TV, 0, 32, 16777216, 768, 2, &OffAth2[50],
  1290. {(word) -1}
  1291. };
  1292. /*----------------------------------*/
  1293. /*** MGA PCI 2Mb (Atlas+Athena) ***/
  1294. /*----------------------------------*/
  1295. HwModeInterlace iModesAth2[63] = {
  1296. /* 640x 480/ 8 */ 768, 0, 2, &iOffAth2[0],
  1297. /* 640x 480/ 8 */ 768, DB, 3, &iOffAth2[2],
  1298. /* 640x 480/ 8 */ 768, DB, 6, &iOffAth2[5],
  1299. /* 640x 480/ 8 */ 768, LUT, 2, &iOffAth2[0],
  1300. /* 640x 480/ 8 */ 768, DB+LUT, 2, &iOffAth2[0],
  1301. /* 640x 480/16 */ 768, 0, 2, &iOffAth2[11],
  1302. /* 640x 480/16 */ 768, 0, 5, &iOffAth2[13],
  1303. /* 640x 480/16 */ 768, DB, 3, &iOffAth2[18],
  1304. /* 640x 480/16 */ 768, M565, 2, &iOffAth2[11],
  1305. /* 640x 480/16 */ 768, M565+DB, 3, &iOffAth2[18],
  1306. /* 640x 480/32 */ 768, 0, 3, &iOffAth2[21],
  1307. /* 800x 600/ 8 */ 1024, 0, 2, &iOffAth2[24],
  1308. /* 800x 600/ 8 */ 1024, DB, 3, &iOffAth2[26],
  1309. /* 800x 600/ 8 */ 1024, ND, 0, 0,
  1310. /* 800x 600/ 8 */ 1024, LUT, 2, &iOffAth2[24],
  1311. /* 800x 600/ 8 */ 1024, DB+LUT, 2, &iOffAth2[24],
  1312. /* 800x 600/16 */ 1024, 0, 2, &iOffAth2[29],
  1313. /* 800x 600/16 */ 1024, ND, 0, 0,
  1314. /* 800x 600/16 */ 1024, ND, 0, 0,
  1315. /* 800x 600/16 */ 1024, M565, 2, &iOffAth2[29],
  1316. /* 800x 600/16 */ 1024, ND, 0, 0,
  1317. /* 800x 600/32 */ 1024, ND, 0, 0,
  1318. /* 1024x 768/ 8 */ {0},
  1319. /* 1024x 768/ 8 */ {0},
  1320. /* 1024x 768/ 8 */ {0},
  1321. /* 1024x 768/ 8 */ {0},
  1322. /* 1024x 768/16 */ {0},
  1323. /* 1024x 768/16 */ {0},
  1324. /* 1152x 882/ 8 */ 1280, 0, 2, &iOffAth2[38],
  1325. /* 1152x 882/ 8 */ 1280, ND, 0, 0,
  1326. /* 1152x 882/ 8 */ 1280, LUT, 2, &iOffAth2[38],
  1327. /* 1152x 882/ 8 */ 1280, DB+LUT, 2, &iOffAth2[38],
  1328. /* 1152x 882/16 */ 1280, ND, 0, 0,
  1329. /* 1152x 882/16 */ 1280, ND, 0, 0,
  1330. /* 1280x1024/ 8 */ {0},
  1331. /* 1280x1024/ 8 */ {0},
  1332. /* 1280x1024/ 8 */ {0},
  1333. /* 1600x1200/ 8 */ 1600, 0, 2, &iOffAth2[42],
  1334. /* 1600x1200/ 8 */ 1600, LUT, 2, &iOffAth2[42],
  1335. /* 1600x1200/ 8 */ 1600, DB+LUT, 2, &iOffAth2[42],
  1336. /* 640x 480/ 8 */ 768, TV, 2, &iOffAth2[0],
  1337. /* 640x 480/ 8 */ 768, TV+DB, 3, &iOffAth2[2],
  1338. /* 640x 480/ 8 */ 768, TV+DB, 6, &iOffAth2[5],
  1339. /* 640x 480/ 8 */ 768, TV+LUT, 2, &iOffAth2[0],
  1340. /* 640x 480/ 8 */ 768, TV+DB+LUT, 2, &iOffAth2[0],
  1341. /* 640x 480/16 */ 768, TV, 2, &iOffAth2[11],
  1342. /* 640x 480/16 */ 768, TV, 5, &iOffAth2[13],
  1343. /* 640x 480/16 */ 768, TV+DB, 3, &iOffAth2[18],
  1344. /* 640x 480/16 */ 768, TV+M565, 2, &iOffAth2[11],
  1345. /* 640x 480/16 */ 768,TV+M565+DB, 3, &iOffAth2[18],
  1346. /* 640x 480/32 */ 768, TV, 3, &iOffAth2[21],
  1347. /* 768x 576/ 8 */ {0},
  1348. /* 768x 576/ 8 */ {0},
  1349. /* 768x 576/ 8 */ {0},
  1350. /* 768x 576/ 8 */ {0},
  1351. /* 768x 576/ 8 */ {0},
  1352. /* 768x 576/16 */ {0},
  1353. /* 768x 576/16 */ {0},
  1354. /* 768x 576/16 */ {0},
  1355. /* 768x 576/16 */ {0},
  1356. /* 768x 576/16 */ {0},
  1357. /* 768x 576/32 */ {0},
  1358. {(word) -1}
  1359. };
  1360. /*----------------------------------*/
  1361. /*** MGA PCI 4Mb (Atlas+Athena) ***/
  1362. /*----------------------------------*/
  1363. OffScrData OffAth4[] = {
  1364. /* 640x 480/ 8 */
  1365. N_VRAM, 0, 480, 640, 6073, 0x000000ff, 0,
  1366. /* 640x 480/ 8 Z */
  1367. N_VRAM, 0, 480, 640, 2796, 0x000000ff, 0,
  1368. N_VRAM, 0, 4237, 640, 2315, 0x000000ff, 0,
  1369. Z_VRAM, 0, 3276, 640, 960, 0x000000ff, 512,
  1370. /* 640x 480/ 8 DB */
  1371. N_VRAM, 0, 960, 640, 5593, 0x000000ff, 0,
  1372. DB_VRAM, 0, 480, 640, 480, 0x000000ff, 0,
  1373. /* 640x 480/ 8 DB+Z */
  1374. N_VRAM, 0, 4237, 640, 2315, 0x000000ff, 0,
  1375. N_VRAM, 0, 480, 640, 1158, 0x000000ff, 0,
  1376. N_VRAM, 0, 2119, 640, 1157, 0x000000ff, 0,
  1377. Z_VRAM, 0, 3276, 640, 960, 0x000000ff, 512,
  1378. DB_VRAM, 0, 1639, 640, 479, 0x000000ff, 0,
  1379. /* 640x 480/16 */
  1380. N_VRAM, 0, 480, 640, 2796, 0x0000ffff, 0,
  1381. /* 640x 480/16 Z */
  1382. N_VRAM, 0, 480, 640, 1158, 0x0000ffff, 0,
  1383. N_VRAM, 0, 2119, 640, 1157, 0x0000ffff, 0,
  1384. Z_VRAM, 0, 1638, 640, 480, 0x0000ffff, 256,
  1385. /* 640x 480/16 DB */
  1386. N_VRAM, 0, 960, 640, 2316, 0x0000ffff, 0,
  1387. DB_VRAM, 0, 480, 640, 480, 0x0000ffff, 0,
  1388. /* 640x 480/16 DB+Z */
  1389. N_VRAM, 0, 960, 640, 678, 0x0000ffff, 0,
  1390. N_VRAM, 0, 2599, 640, 677, 0x0000ffff, 0,
  1391. Z_VRAM, 0, 1638, 640, 480, 0x0000ffff, 256,
  1392. Z_VRAM, 0, 2118, 640, 480, 0x0000ffff, 256,
  1393. DB_VRAM, 0, 480, 640, 480, 0x0000ffff, 0,
  1394. /* 640x 480/32 */
  1395. N_VRAM, 0, 480, 640, 1158, 0xffffffff, 0,
  1396. N_VRAM, 0, 0, 480, 640, 0xff000000, 0,
  1397. /* 640x 480/32 Z */
  1398. N_VRAM, 0, 1060, 640, 578, 0xffffffff, 0,
  1399. N_VRAM, 0, 480, 640, 339, 0xffffffff, 0,
  1400. Z_VRAM, 0, 819, 640, 240, 0xffffffff, 128,
  1401. /* 640x 480/32 DB */
  1402. N_VRAM, 0, 960, 640, 678, 0xffffffff, 0,
  1403. DB_VRAM, 0, 480, 640, 480, 0xffffffff, 0,
  1404. /* 800x 600/ 8 */
  1405. N_VRAM, 0, 600, 800, 4642, 0x000000ff, 0,
  1406. /* 800x 600/ 8 Z */
  1407. N_VRAM, 0, 600, 800, 2021, 0x000000ff, 0,
  1408. N_VRAM, 0, 3822, 800, 1420, 0x000000ff, 0,
  1409. Z_VRAM, 0, 2621, 800, 1200, 0x000000ff, 352,
  1410. /* 800x 600/ 8 DB */
  1411. N_VRAM, 0, 1200, 800, 4042, 0x000000ff, 0,
  1412. DB_VRAM, 0, 600, 800, 600, 0x000000ff, 0,
  1413. /* 800x 600/ 8 DB+Z */
  1414. N_VRAM, 0, 3822, 800, 1420, 0x000000ff, 0,
  1415. N_VRAM, 0, 600, 800, 710, 0x000000ff, 0,
  1416. N_VRAM, 0, 1911, 800, 709, 0x000000ff, 0,
  1417. Z_VRAM, 0, 2621, 800, 1200, 0x000000ff, 352,
  1418. DB_VRAM, 0, 1311, 800, 599, 0x000000ff, 0,
  1419. /* 800x 600/16 */
  1420. N_VRAM, 0, 600, 800, 2021, 0x0000ffff, 0,
  1421. /* 800x 600/16 Z */
  1422. N_VRAM, 0, 600, 800, 710, 0x0000ffff, 0,
  1423. N_VRAM, 0, 1911, 800, 709, 0x0000ffff, 0,
  1424. Z_VRAM, 0, 1310, 800, 600, 0x0000ffff, 576,
  1425. /* 800x 600/16 DB */
  1426. N_VRAM, 0, 1200, 800, 1421, 0x0000ffff, 0,
  1427. DB_VRAM, 0, 600, 800, 600, 0x0000ffff, 0,
  1428. /* 800x 600/16 DB+Z */
  1429. N_VRAM, 0, 1200, 800, 110, 0x0000ffff, 0,
  1430. N_VRAM, 0, 2511, 800, 109, 0x0000ffff, 0,
  1431. Z_VRAM, 0, 1310, 800, 600, 0x0000ffff, 576,
  1432. Z_VRAM, 0, 1910, 800, 600, 0x0000ffff, 576,
  1433. DB_VRAM, 0, 600, 800, 600, 0x0000ffff, 0,
  1434. /* 800x 600/32 */
  1435. N_VRAM, 0, 600, 800, 710, 0xffffffff, 0,
  1436. N_VRAM, 0, 0, 600, 800, 0xff000000, 0,
  1437. /* 800x 600/32 Z */
  1438. N_VRAM, 0, 956, 800, 354, 0xffffffff, 0,
  1439. N_VRAM, 0, 600, 800, 55, 0xffffffff, 0,
  1440. Z_VRAM, 0, 655, 800, 300, 0xffffffff, 288,
  1441. /* 800x 600/32 DB */
  1442. N_VRAM, 0, 1200, 800, 110, 0xffffffff, 0,
  1443. DB_VRAM, 0, 600, 800, 600, 0xffffffff, 0,
  1444. /* 1024x 768/ 8 */
  1445. N_VRAM, 0, 768, 1024, 3328, 0x000000ff, 0,
  1446. /* 1024x 768/ 8 Z */
  1447. N_VRAM, 0, 768, 1024, 1280, 0x000000ff, 0,
  1448. N_VRAM, 0, 3585, 1024, 511, 0x000000ff, 0,
  1449. Z_VRAM, 0, 2048, 1024, 1536, 0x000000ff, 0,
  1450. /* 1024x 768/ 8 DB */
  1451. N_VRAM, 0, 1536, 1024, 2560, 0x000000ff, 0,
  1452. DB_VRAM, 0, 768, 1024, 768, 0x000000ff, 0,
  1453. /* 1024x 768/ 8 DB+Z */
  1454. N_VRAM, 0, 3585, 1024, 511, 0x000000ff, 0,
  1455. N_VRAM, 0, 768, 1024, 256, 0x000000ff, 0,
  1456. N_VRAM, 0, 1793, 1024, 255, 0x000000ff, 0,
  1457. Z_VRAM, 0, 2048, 1024, 1536, 0x000000ff, 0,
  1458. DB_VRAM, 0, 1025, 1024, 767, 0x000000ff, 0,
  1459. /* 1024x 768/16 */
  1460. N_VRAM, 0, 768, 1024, 1280, 0x0000ffff, 0,
  1461. /* 1024x 768/16 Z */
  1462. N_VRAM, 0, 768, 1024, 256, 0x0000ffff, 0,
  1463. N_VRAM, 0, 1793, 1024, 255, 0x0000ffff, 0,
  1464. Z_VRAM, 0, 1024, 1024, 768, 0x0000ffff, 0,
  1465. /* 1024x 768/16 DB */
  1466. N_VRAM, 0, 1536, 1024, 512, 0x0000ffff, 0,
  1467. DB_VRAM, 0, 768, 1024, 768, 0x0000ffff, 0,
  1468. /* 1024x 768/32 */
  1469. N_VRAM, 0, 768, 1024, 256, 0xffffffff, 0,
  1470. N_VRAM, 0, 0, 768, 1024, 0xff000000, 0,
  1471. /* 1152x 882/ 8 */
  1472. N_VRAM, 0, 882, 1152, 2758, 0x000000ff, 0,
  1473. /* 1152x 882/ 8 Z */
  1474. N_VRAM, 0, 882, 1152, 938, 0x000000ff, 0,
  1475. N_VRAM, 0, 3585, 1152, 55, 0x000000ff, 0,
  1476. Z_VRAM, 0, 1820, 1152, 1764, 0x000000ff, 512,
  1477. /* 1152x 882/ 8 DB */
  1478. N_VRAM, 0, 1764, 1152, 1876, 0x000000ff, 0,
  1479. DB_VRAM, 0, 882, 1152, 882, 0x000000ff, 0,
  1480. /* 1152x 882/ 8 DB+Z */
  1481. N_VRAM, 0, 3585, 1152, 55, 0x000000ff, 0,
  1482. N_VRAM, 0, 882, 1152, 28, 0x000000ff, 0,
  1483. N_VRAM, 0, 1793, 1152, 27, 0x000000ff, 0,
  1484. Z_VRAM, 0, 1820, 1152, 1764, 0x000000ff, 512,
  1485. DB_VRAM, 0, 911, 1152, 881, 0x000000ff, 0,
  1486. /* 1152x 882/16 */
  1487. N_VRAM, 0, 882, 1152, 938, 0x0000ffff, 0,
  1488. /* 1152x 882/16 Z */
  1489. N_VRAM, 0, 882, 1152, 28, 0x0000ffff, 0,
  1490. N_VRAM, 0, 1793, 1152, 27, 0x0000ffff, 0,
  1491. Z_VRAM, 0, 910, 1152, 882, 0x0000ffff, 256,
  1492. /* 1152x 882/16 DB */
  1493. N_VRAM, 0, 1764, 1152, 56, 0x0000ffff, 0,
  1494. DB_VRAM, 0, 882, 1152, 882, 0x0000ffff, 0,
  1495. /* 1152x 882/32 */
  1496. N_VRAM, 0, 882, 1152, 28, 0xffffffff, 0,
  1497. N_VRAM, 0, 0, 882, 1152, 0xff000000, 0,
  1498. /* 1280x1024/ 8 */
  1499. N_VRAM, 0, 1024, 1280, 2252, 0x000000ff, 0,
  1500. /* 1280x1024/ 8 DB */
  1501. N_VRAM, 0, 2048, 1280, 1228, 0x000000ff, 0,
  1502. DB_VRAM, 0, 1024, 1280, 1024, 0x000000ff, 0,
  1503. /* 1280x1024/16 */
  1504. N_VRAM, 0, 1024, 1280, 614, 0x0000ffff, 0,
  1505. /* 1280x1024/ 24 */
  1506. N_VRAM, 0, 1024, 1280, 68, 0x00ffffff, 0,
  1507. /* 1600x1200/ 8 */
  1508. N_VRAM, 0, 1200, 1600, 1421, 0x000000ff, 0,
  1509. /* 1600x1200/ 8 DB */
  1510. N_VRAM, 0, 2400, 1600, 221, 0x000000ff, 0,
  1511. DB_VRAM, 0, 1200, 1600, 1200, 0x000000ff, 0,
  1512. /* 1600x1200/16 */
  1513. N_VRAM, 0, 1200, 1600, 110, 0x0000ffff, 0,
  1514. /* 768x 576/ 8 */
  1515. N_VRAM, 0, 576, 768, 4885, 0x000000ff, 0,
  1516. /* 768x 576/ 8 Z */
  1517. N_VRAM, 0, 576, 768, 2154, 0x000000ff, 0,
  1518. N_VRAM, 0, 3883, 768, 1577, 0x000000ff, 0,
  1519. Z_VRAM, 0, 2730, 768, 1152, 0x000000ff, 512,
  1520. /* 768x 576/ 8 DB */
  1521. N_VRAM, 0, 1152, 768, 4309, 0x000000ff, 0,
  1522. DB_VRAM, 0, 576, 768, 576, 0x000000ff, 0,
  1523. /* 768x 576/ 8 DB+Z */
  1524. N_VRAM, 0, 3883, 768, 1577, 0x000000ff, 0,
  1525. N_VRAM, 0, 576, 768, 789, 0x000000ff, 0,
  1526. N_VRAM, 0, 1942, 768, 788, 0x000000ff, 0,
  1527. Z_VRAM, 0, 2730, 768, 1152, 0x000000ff, 512,
  1528. DB_VRAM, 0, 1366, 768, 575, 0x000000ff, 0,
  1529. /* 768x 576/16 */
  1530. N_VRAM, 0, 576, 768, 2154, 0x0000ffff, 0,
  1531. /* 768x 576/16 Z */
  1532. N_VRAM, 0, 576, 768, 789, 0x0000ffff, 0,
  1533. N_VRAM, 0, 1942, 768, 788, 0x0000ffff, 0,
  1534. Z_VRAM, 0, 1365, 768, 576, 0x0000ffff, 256,
  1535. /* 768x 576/16 DB */
  1536. N_VRAM, 0, 1152, 768, 1578, 0x0000ffff, 0,
  1537. DB_VRAM, 0, 576, 768, 576, 0x0000ffff, 0,
  1538. /* 768x 576/16 DB+Z */
  1539. N_VRAM, 0, 1152, 768, 213, 0x0000ffff, 0,
  1540. N_VRAM, 0, 2518, 768, 212, 0x0000ffff, 0,
  1541. Z_VRAM, 0, 1365, 768, 576, 0x0000ffff, 256,
  1542. Z_VRAM, 0, 1941, 768, 576, 0x0000ffff, 256,
  1543. DB_VRAM, 0, 576, 768, 576, 0x0000ffff, 0,
  1544. /* 768x 576/32 */
  1545. N_VRAM, 0, 576, 768, 789, 0xffffffff, 0,
  1546. N_VRAM, 0, 0, 576, 768, 0xff000000, 0,
  1547. /* 768x 576/32 Z */
  1548. N_VRAM, 0, 971, 768, 393, 0xffffffff, 0,
  1549. N_VRAM, 0, 576, 768, 106, 0xffffffff, 0,
  1550. Z_VRAM, 0, 682, 768, 288, 0xffffffff, 512,
  1551. /* 768x 576/32 DB */
  1552. N_VRAM, 0, 1152, 768, 213, 0xffffffff, 0,
  1553. DB_VRAM, 0, 576, 768, 576, 0xffffffff, 0,
  1554. };
  1555. /*----------------------------------*/
  1556. /*** MGA PCI 4Mb (Atlas+Athena) ***/
  1557. /*----------------------------------*/
  1558. OffScrData iOffAth4[] = {
  1559. /* 640x 480/ 8 */
  1560. N_VRAM, 0, 480, 768, 4981, 0x000000ff, 0,
  1561. N_VRAM, 480, 0, 128, 480, 0x000000ff, 0,
  1562. /* 640x 480/ 8 Z */
  1563. N_VRAM, 0, 480, 768, 2250, 0x000000ff, 0,
  1564. N_VRAM, 0, 3531, 768, 1929, 0x000000ff, 0,
  1565. N_VRAM, 640, 0, 128, 2730, 0x000000ff, 0,
  1566. N_VRAM, 640, 3531, 128, 1929, 0x000000ff, 0,
  1567. Z_VRAM, 0, 2730, 768, 800, 0x000000ff, 512,
  1568. /* 640x 480/ 8 DB */
  1569. N_VRAM, 0, 960, 768, 4501, 0x000000ff, 0,
  1570. N_VRAM, 640, 0, 128, 480, 0x000000ff, 0,
  1571. DB_VRAM, 0, 480, 768, 480, 0x000000ff, 0,
  1572. /* 640x 480/ 8 DB+Z */
  1573. N_VRAM, 0, 3531, 768, 1929, 0x000000ff, 0,
  1574. N_VRAM, 0, 480, 768, 885, 0x000000ff, 0,
  1575. N_VRAM, 0, 1846, 768, 884, 0x000000ff, 0,
  1576. N_VRAM, 640, 0, 128, 480, 0x000000ff, 0,
  1577. N_VRAM, 640, 1364, 128, 479, 0x000000ff, 0,
  1578. Z_VRAM, 0, 2731, 768, 799, 0x000000ff, 512,
  1579. DB_VRAM, 0, 1366, 768, 479, 0x000000ff, 0,
  1580. /* 640x 480/16 */
  1581. N_VRAM, 0, 480, 768, 2250, 0x0000ffff, 0,
  1582. N_VRAM, 480, 0, 128, 480, 0x0000ffff, 0,
  1583. /* 640x 480/16 Z */
  1584. N_VRAM, 0, 1766, 768, 964, 0x0000ffff, 0,
  1585. N_VRAM, 0, 480, 768, 885, 0x0000ffff, 0,
  1586. N_VRAM, 640, 0, 128, 1365, 0x0000ffff, 0,
  1587. N_VRAM, 640, 1766, 128, 964, 0x0000ffff, 0,
  1588. Z_VRAM, 0, 1365, 768, 400, 0x0000ffff, 256,
  1589. /* 640x 480/16 DB */
  1590. N_VRAM, 0, 960, 768, 1770, 0x0000ffff, 0,
  1591. N_VRAM, 640, 0, 128, 480, 0x0000ffff, 0,
  1592. DB_VRAM, 0, 480, 768, 480, 0x0000ffff, 0,
  1593. /* 640x 480/16 DB+Z */
  1594. N_VRAM, 0, 960, 768, 810, 0x0000ffff, 0,
  1595. N_VRAM, 0, 4331, 768, 564, 0x0000ffff, 0,
  1596. N_VRAM, 640, 0, 128, 960, 0x0000ffff, 0,
  1597. Z_VRAM, 0, 1366, 768, 399, 0x0000ffff, 256,
  1598. Z_VRAM, 0, 1766, 768, 399, 0x0000ffff, 256,
  1599. DB_VRAM, 0, 480, 768, 480, 0x0000ffff, 0,
  1600. /* 640x 480/32 */
  1601. N_VRAM, 0, 480, 768, 885, 0xffffffff, 0,
  1602. N_VRAM, 480, 0, 128, 480, 0xffffffff, 0,
  1603. N_VRAM, 0, 0, 480, 768, 0xff000000, 0,
  1604. /* 640x 480/32 Z */
  1605. N_VRAM, 0, 883, 768, 481, 0xffffffff, 0,
  1606. N_VRAM, 0, 480, 768, 202, 0xffffffff, 0,
  1607. N_VRAM, 640, 0, 128, 682, 0xffffffff, 0,
  1608. N_VRAM, 640, 883, 128, 481, 0xffffffff, 0,
  1609. Z_VRAM, 0, 682, 768, 200, 0xffffffff, 512,
  1610. /* 640x 480/32 DB */
  1611. N_VRAM, 0, 960, 768, 405, 0xffffffff, 0,
  1612. N_VRAM, 640, 0, 128, 480, 0xffffffff, 0,
  1613. DB_VRAM, 0, 480, 768, 480, 0xffffffff, 0,
  1614. /* 800x 600/ 8 */
  1615. N_VRAM, 0, 600, 1024, 3496, 0x000000ff, 0,
  1616. N_VRAM, 600, 0, 224, 600, 0x000000ff, 0,
  1617. /* 800x 600/ 8 Z */
  1618. N_VRAM, 0, 600, 1024, 1448, 0x000000ff, 0,
  1619. N_VRAM, 0, 2986, 1024, 1109, 0x000000ff, 0,
  1620. N_VRAM, 800, 0, 224, 2048, 0x000000ff, 0,
  1621. N_VRAM, 800, 2986, 224, 1109, 0x000000ff, 0,
  1622. Z_VRAM, 0, 2048, 1024, 937, 0x000000ff, 0,
  1623. /* 800x 600/ 8 DB */
  1624. N_VRAM, 0, 1200, 1024, 2896, 0x000000ff, 0,
  1625. N_VRAM, 800, 0, 224, 600, 0x000000ff, 0,
  1626. DB_VRAM, 0, 600, 1024, 600, 0x000000ff, 0,
  1627. /* 800x 600/16 */
  1628. N_VRAM, 0, 600, 1024, 1448, 0x0000ffff, 0,
  1629. N_VRAM, 600, 0, 224, 600, 0x0000ffff, 0,
  1630. /* 800x 600/16 Z */
  1631. N_VRAM, 0, 1493, 1024, 554, 0x0000ffff, 0,
  1632. N_VRAM, 0, 600, 1024, 424, 0x0000ffff, 0,
  1633. N_VRAM, 800, 0, 224, 1024, 0x0000ffff, 0,
  1634. N_VRAM, 800, 1493, 224, 554, 0x0000ffff, 0,
  1635. Z_VRAM, 0, 1024, 1024, 468, 0x0000ffff, 0,
  1636. /* 800x 600/16 DB */
  1637. N_VRAM, 0, 1200, 1024, 848, 0x0000ffff, 0,
  1638. N_VRAM, 800, 0, 224, 600, 0x0000ffff, 0,
  1639. DB_VRAM, 0, 600, 1024, 600, 0x0000ffff, 0,
  1640. /* 800x 600/32 */
  1641. N_VRAM, 0, 600, 1024, 424, 0xffffffff, 0,
  1642. N_VRAM, 600, 0, 224, 600, 0xffffffff, 0,
  1643. N_VRAM, 0, 0, 600, 1024, 0xff000000, 0,
  1644. /* 1024x 768/ 8 */
  1645. N_VRAM, 0, 768, 1024, 3328, 0x000000ff, 0,
  1646. N_VRAM, 768, 0, 0, 768, 0x000000ff, 0,
  1647. /* 1024x 768/ 8 Z */
  1648. N_VRAM, 0, 768, 1024, 1280, 0x000000ff, 0,
  1649. N_VRAM, 0, 3585, 1024, 511, 0x000000ff, 0,
  1650. N_VRAM, 1024, 0, 0, 2048, 0x000000ff, 0,
  1651. N_VRAM, 1024, 3585, 0, 511, 0x000000ff, 0,
  1652. Z_VRAM, 0, 2048, 1024, 1536, 0x000000ff, 0,
  1653. /* 1024x 768/ 8 DB */
  1654. N_VRAM, 0, 1536, 1024, 2560, 0x000000ff, 0,
  1655. N_VRAM, 1024, 0, 0, 768, 0x000000ff, 0,
  1656. DB_VRAM, 0, 768, 1024, 768, 0x000000ff, 0,
  1657. /* 1024x 768/16 */
  1658. N_VRAM, 0, 768, 1024, 1280, 0x0000ffff, 0,
  1659. N_VRAM, 768, 0, 0, 768, 0x0000ffff, 0,
  1660. /* 1024x 768/16 Z */
  1661. N_VRAM, 0, 1793, 1024, 255, 0x0000ffff, 0,
  1662. N_VRAM, 0, 768, 1024, 256, 0x0000ffff, 0,
  1663. N_VRAM, 1024, 0, 0, 1024, 0x0000ffff, 0,
  1664. N_VRAM, 1024, 1793, 0, 255, 0x0000ffff, 0,
  1665. Z_VRAM, 0, 1024, 1024, 768, 0x0000ffff, 0,
  1666. /* 1024x 768/16 DB */
  1667. N_VRAM, 0, 1536, 1024, 512, 0x0000ffff, 0,
  1668. N_VRAM, 1024, 0, 0, 768, 0x0000ffff, 0,
  1669. DB_VRAM, 0, 768, 1024, 768, 0x0000ffff, 0,
  1670. /* 1024x 768/32 */
  1671. N_VRAM, 0, 768, 1024, 256, 0xffffffff, 0,
  1672. N_VRAM, 768, 0, 0, 768, 0xffffffff, 0,
  1673. N_VRAM, 0, 0, 768, 1024, 0xff000000, 0,
  1674. /* 1152x 882/ 8 */
  1675. N_VRAM, 0, 882, 1280, 2394, 0x000000ff, 0,
  1676. N_VRAM, 882, 0, 128, 882, 0x000000ff, 0,
  1677. /* 1152x 882/ 8 Z */
  1678. N_VRAM, 0, 882, 1280, 756, 0x000000ff, 0,
  1679. N_VRAM, 0, 3227, 1280, 49, 0x000000ff, 0,
  1680. N_VRAM, 1152, 0, 128, 1638, 0x000000ff, 0,
  1681. N_VRAM, 1152, 3227, 128, 49, 0x000000ff, 0,
  1682. Z_VRAM, 0, 1638, 1280, 1587, 0x000000ff, 512,
  1683. /* 1152x 882/ 8 DB */
  1684. N_VRAM, 0, 1764, 1280, 1512, 0x000000ff, 0,
  1685. N_VRAM, 1152, 0, 128, 882, 0x000000ff, 0,
  1686. DB_VRAM, 0, 882, 1280, 882, 0x000000ff, 0,
  1687. /* 1152x 882/16 */
  1688. N_VRAM, 0, 882, 1280, 756, 0x0000ffff, 0,
  1689. N_VRAM, 882, 0, 128, 882, 0x0000ffff, 0,
  1690. /* 1280x1024/ 8 */
  1691. N_VRAM, 0, 1024, 1280, 2252, 0x000000ff, 0,
  1692. N_VRAM, 1024, 0, 0, 1024, 0x000000ff, 0,
  1693. /* 1280x1024/ 8 DB */
  1694. N_VRAM, 0, 2048, 1280, 1228, 0x000000ff, 0,
  1695. N_VRAM, 1280, 0, 0, 1024, 0x000000ff, 0,
  1696. DB_VRAM, 0, 1024, 1280, 1024, 0x000000ff, 0,
  1697. /* 1280x1024/16 */
  1698. N_VRAM, 0, 1024, 1280, 614, 0x0000ffff, 0,
  1699. N_VRAM, 1024, 0, 0, 1024, 0x0000ffff, 0,
  1700. /* 1600x1200/ 8 */
  1701. N_VRAM, 0, 1200, 1600, 1421, 0x000000ff, 0,
  1702. N_VRAM, 1200, 0, 0, 1200, 0x000000ff, 0,
  1703. /* 1600x1200/ 8 DB */
  1704. N_VRAM, 0, 2400, 1600, 221, 0x000000ff, 0,
  1705. N_VRAM, 1600, 0, 0, 1200, 0x000000ff, 0,
  1706. DB_VRAM, 0, 1200, 1600, 1200, 0x000000ff, 0,
  1707. /* 1600x1200/16 */
  1708. N_VRAM, 0, 1200, 1600, 110, 0x0000ffff, 0,
  1709. N_VRAM, 1200, 0, 0, 1200, 0x0000ffff, 0,
  1710. /* 768x 576/ 8 */
  1711. N_VRAM, 0, 576, 768, 4885, 0x000000ff, 0,
  1712. N_VRAM, 576, 0, 0, 576, 0x000000ff, 0,
  1713. /* 768x 576/ 8 Z */
  1714. N_VRAM, 0, 576, 768, 2154, 0x000000ff, 0,
  1715. N_VRAM, 0, 3883, 768, 1577, 0x000000ff, 0,
  1716. N_VRAM, 768, 0, 0, 2730, 0x000000ff, 0,
  1717. N_VRAM, 768, 3883, 0, 1577, 0x000000ff, 0,
  1718. Z_VRAM, 0, 2730, 768, 1152, 0x000000ff, 512,
  1719. /* 768x 576/ 8 DB */
  1720. N_VRAM, 0, 1152, 768, 4309, 0x000000ff, 0,
  1721. N_VRAM, 768, 0, 0, 576, 0x000000ff, 0,
  1722. DB_VRAM, 0, 576, 768, 576, 0x000000ff, 0,
  1723. /* 768x 576/ 8 DB+Z */
  1724. N_VRAM, 0, 3883, 768, 1577, 0x000000ff, 0,
  1725. N_VRAM, 0, 576, 768, 789, 0x000000ff, 0,
  1726. N_VRAM, 0, 1942, 768, 788, 0x000000ff, 0,
  1727. N_VRAM, 768, 0, 0, 576, 0x000000ff, 0,
  1728. N_VRAM, 768, 1364, 0, 575, 0x000000ff, 0,
  1729. Z_VRAM, 0, 2731, 768, 1151, 0x000000ff, 512,
  1730. DB_VRAM, 0, 1366, 768, 575, 0x000000ff, 0,
  1731. /* 768x 576/16 */
  1732. N_VRAM, 0, 576, 768, 2154, 0x0000ffff, 0,
  1733. N_VRAM, 576, 0, 0, 576, 0x0000ffff, 0,
  1734. /* 768x 576/16 Z */
  1735. N_VRAM, 0, 1942, 768, 788, 0x0000ffff, 0,
  1736. N_VRAM, 0, 576, 768, 789, 0x0000ffff, 0,
  1737. N_VRAM, 768, 0, 0, 1365, 0x0000ffff, 0,
  1738. N_VRAM, 768, 1942, 0, 788, 0x0000ffff, 0,
  1739. Z_VRAM, 0, 1365, 768, 576, 0x0000ffff, 256,
  1740. /* 768x 576/16 DB */
  1741. N_VRAM, 0, 1152, 768, 1578, 0x0000ffff, 0,
  1742. N_VRAM, 768, 0, 0, 576, 0x0000ffff, 0,
  1743. DB_VRAM, 0, 576, 768, 576, 0x0000ffff, 0,
  1744. /* 768x 576/16 DB+Z */
  1745. N_VRAM, 0, 1152, 768, 426, 0x0000ffff, 0,
  1746. N_VRAM, 0, 5035, 768, 212, 0x0000ffff, 0,
  1747. N_VRAM, 768, 0, 0, 1152, 0x0000ffff, 0,
  1748. Z_VRAM, 0, 1366, 768, 575, 0x0000ffff, 256,
  1749. Z_VRAM, 0, 1942, 768, 575, 0x0000ffff, 256,
  1750. DB_VRAM, 0, 576, 768, 576, 0x0000ffff, 0,
  1751. /* 768x 576/32 */
  1752. N_VRAM, 0, 576, 768, 789, 0xffffffff, 0,
  1753. N_VRAM, 576, 0, 0, 576, 0xffffffff, 0,
  1754. N_VRAM, 0, 0, 576, 768, 0xff000000, 0,
  1755. /* 768x 576/32 Z */
  1756. N_VRAM, 0, 971, 768, 393, 0xffffffff, 0,
  1757. N_VRAM, 0, 576, 768, 106, 0xffffffff, 0,
  1758. N_VRAM, 768, 0, 0, 682, 0xffffffff, 0,
  1759. N_VRAM, 768, 971, 0, 393, 0xffffffff, 0,
  1760. Z_VRAM, 0, 682, 768, 288, 0xffffffff, 512,
  1761. /* 768x 576/32 DB */
  1762. N_VRAM, 0, 1152, 768, 213, 0xffffffff, 0,
  1763. N_VRAM, 768, 0, 0, 576, 0xffffffff, 0,
  1764. DB_VRAM, 0, 576, 768, 576, 0xffffffff, 0,
  1765. };
  1766. /*----------------------------------*/
  1767. /*** MGA PCI 4Mb (Atlas+Athena) ***/
  1768. /*----------------------------------*/
  1769. HwModeData ModesAth4[98] = {
  1770. 640, 480, 0, 0, 8, 256, 640, 1, &OffAth4[0],
  1771. 640, 480, 0, Z, 8, 256, 640, 3, &OffAth4[1],
  1772. 640, 480, DB, 0, 8, 256, 640, 2, &OffAth4[4],
  1773. 640, 480, DB, Z, 8, 256, 640, 5, &OffAth4[6],
  1774. 640, 480, LUT, 0, 8, 256, 640, 1, &OffAth4[0],
  1775. 640, 480, DB+LUT, 0, 8, 256, 640, 1, &OffAth4[0],
  1776. 640, 480, 0, 0, 16, 32768, 640, 1, &OffAth4[11],
  1777. 640, 480, 0, Z, 16, 32768, 640, 3, &OffAth4[12],
  1778. 640, 480, DB, 0, 16, 32768, 640, 2, &OffAth4[15],
  1779. 640, 480, DB, Z, 16, 32768, 640, 5, &OffAth4[17],
  1780. 640, 480, M565, 0, 16, 65536, 640, 1, &OffAth4[11],
  1781. 640, 480, M565+DB, 0, 16, 65536, 640, 2, &OffAth4[15],
  1782. 640, 480, 0, 0, 32, 16777216, 640, 2, &OffAth4[22],
  1783. 640, 480, 0, Z, 32, 16777216, 640, 3, &OffAth4[24],
  1784. 640, 480, DB, 0, 32, 16777216, 640, 2, &OffAth4[27],
  1785. 800, 600, 0, 0, 8, 256, 800, 1, &OffAth4[29],
  1786. 800, 600, 0, Z, 8, 256, 800, 3, &OffAth4[30],
  1787. 800, 600, DB, 0, 8, 256, 800, 2, &OffAth4[33],
  1788. 800, 600, DB, Z, 8, 256, 800, 5, &OffAth4[35],
  1789. 800, 600, LUT, 0, 8, 256, 800, 1, &OffAth4[29],
  1790. 800, 600, DB+LUT, 0, 8, 256, 800, 1, &OffAth4[29],
  1791. 800, 600, 0, 0, 16, 32768, 800, 1, &OffAth4[40],
  1792. 800, 600, 0, Z, 16, 32768, 800, 3, &OffAth4[41],
  1793. 800, 600, DB, 0, 16, 32768, 800, 2, &OffAth4[44],
  1794. 800, 600, DB, Z, 16, 32768, 800, 5, &OffAth4[46],
  1795. 800, 600, M565, 0, 16, 65536, 800, 1, &OffAth4[40],
  1796. 800, 600, M565+DB, 0, 16, 65536, 800, 2, &OffAth4[44],
  1797. 800, 600, 0, 0, 32, 16777216, 800, 2, &OffAth4[51],
  1798. 800, 600, 0, Z, 32, 16777216, 800, 3, &OffAth4[53],
  1799. 800, 600, DB, 0, 32, 16777216, 800, 2, &OffAth4[56],
  1800. 1024, 768, 0, 0, 8, 256, 1024, 1, &OffAth4[58],
  1801. 1024, 768, 0, Z, 8, 256, 1024, 3, &OffAth4[59],
  1802. 1024, 768, DB, 0, 8, 256, 1024, 2, &OffAth4[62],
  1803. 1024, 768, DB, Z, 8, 256, 1024, 5, &OffAth4[64],
  1804. 1024, 768, LUT, 0, 8, 256, 1024, 1, &OffAth4[58],
  1805. 1024, 768, DB+LUT, 0, 8, 256, 1024, 1, &OffAth4[58],
  1806. 1024, 768, 0, 0, 16, 32768, 1024, 1, &OffAth4[69],
  1807. 1024, 768, 0, Z, 16, 32768, 1024, 3, &OffAth4[70],
  1808. 1024, 768, DB, 0, 16, 32768, 1024, 2, &OffAth4[73],
  1809. 1024, 768, M565, 0, 16, 65536, 1024, 1, &OffAth4[69],
  1810. 1024, 768, M565+DB, 0, 16, 65536, 1024, 2, &OffAth4[73],
  1811. 1024, 768, 0, 0, 32, 16777216, 1024, 2, &OffAth4[75],
  1812. 1152, 882, 0, 0, 8, 256, 1152, 1, &OffAth4[77],
  1813. 1152, 882, 0, Z, 8, 256, 1152, 3, &OffAth4[78],
  1814. 1152, 882, DB, 0, 8, 256, 1152, 2, &OffAth4[81],
  1815. 1152, 882, DB, Z, 8, 256, 1152, 5, &OffAth4[83],
  1816. 1152, 882, LUT, 0, 8, 256, 1152, 1, &OffAth4[77],
  1817. 1152, 882, DB+LUT, 0, 8, 256, 1152, 1, &OffAth4[77],
  1818. 1152, 882, 0, 0, 16, 32768, 1152, 1, &OffAth4[88],
  1819. 1152, 882, 0, Z, 16, 32768, 1152, 3, &OffAth4[89],
  1820. 1152, 882, DB, 0, 16, 32768, 1152, 2, &OffAth4[92],
  1821. 1152, 882, M565, 0, 16, 65536, 1152, 1, &OffAth4[88],
  1822. 1152, 882, M565+DB, 0, 16, 65536, 1152, 2, &OffAth4[92],
  1823. 1152, 882, 0, 0, 32, 16777216, 1152, 2, &OffAth4[94],
  1824. 1280, 1024, 0, 0, 8, 256, 1280, 1, &OffAth4[96],
  1825. 1280, 1024, DB, 0, 8, 256, 1280, 2, &OffAth4[97],
  1826. 1280, 1024, LUT, 0, 8, 256, 1280, 1, &OffAth4[96],
  1827. 1280, 1024, DB+LUT, 0, 8, 256, 1280, 1, &OffAth4[96],
  1828. 1280, 1024, 0, 0, 16, 32768, 1280, 1, &OffAth4[99],
  1829. 1280, 1024, M565, 0, 16, 65536, 1280, 1, &OffAth4[99],
  1830. 1280, 1024, 0, 0, 24, 16777216, 1280, 1, &OffAth4[100],
  1831. 1600, 1200, 0, 0, 8, 256, 1600, 1, &OffAth4[101],
  1832. 1600, 1200, DB, 0, 8, 256, 1600, 2, &OffAth4[102],
  1833. 1600, 1200, LUT, 0, 8, 256, 1600, 1, &OffAth4[101],
  1834. 1600, 1200, DB+LUT, 0, 8, 256, 1600, 1, &OffAth4[101],
  1835. 1600, 1200, 0, 0, 16, 32768, 1600, 1, &OffAth4[104],
  1836. 1600, 1200, M565, 0, 16, 65536, 1600, 1, &OffAth4[104],
  1837. 640, 480, TV, 0, 8, 256, 640, 1, &OffAth4[0],
  1838. 640, 480, TV, Z, 8, 256, 640, 3, &OffAth4[1],
  1839. 640, 480, TV+DB, 0, 8, 256, 640, 2, &OffAth4[4],
  1840. 640, 480, TV+DB, Z, 8, 256, 640, 5, &OffAth4[6],
  1841. 640, 480, TV+LUT, 0, 8, 256, 640, 1, &OffAth4[0],
  1842. 640, 480, TV+DB+LUT, 0, 8, 256, 640, 1, &OffAth4[0],
  1843. 640, 480, TV, 0, 16, 32768, 640, 1, &OffAth4[11],
  1844. 640, 480, TV, Z, 16, 32768, 640, 3, &OffAth4[12],
  1845. 640, 480, TV+DB, 0, 16, 32768, 640, 2, &OffAth4[15],
  1846. 640, 480, TV+DB, Z, 16, 32768, 640, 5, &OffAth4[17],
  1847. 640, 480, TV+M565, 0, 16, 65536, 640, 1, &OffAth4[11],
  1848. 640, 480,TV+M565+DB, 0, 16, 65536, 640, 2, &OffAth4[15],
  1849. 640, 480, TV, 0, 32, 16777216, 640, 2, &OffAth4[22],
  1850. 640, 480, TV, Z, 32, 16777216, 640, 3, &OffAth4[24],
  1851. 640, 480, TV+DB, 0, 32, 16777216, 640, 2, &OffAth4[27],
  1852. 768, 576, TV, 0, 8, 256, 768, 1, &OffAth4[105],
  1853. 768, 576, TV, Z, 8, 256, 768, 3, &OffAth4[106],
  1854. 768, 576, TV+DB, 0, 8, 256, 768, 2, &OffAth4[109],
  1855. 768, 576, TV+DB, Z, 8, 256, 768, 5, &OffAth4[111],
  1856. 768, 576, TV+LUT, 0, 8, 256, 768, 1, &OffAth4[105],
  1857. 768, 576, TV+DB+LUT, 0, 8, 256, 768, 1, &OffAth4[105],
  1858. 768, 576, TV, 0, 16, 32768, 768, 1, &OffAth4[116],
  1859. 768, 576, TV, Z, 16, 32768, 768, 3, &OffAth4[117],
  1860. 768, 576, TV+DB, 0, 16, 32768, 768, 2, &OffAth4[120],
  1861. 768, 576, TV+DB, Z, 16, 32768, 768, 5, &OffAth4[122],
  1862. 768, 576, TV+M565, 0, 16, 65536, 768, 1, &OffAth4[116],
  1863. 768, 576,TV+M565+DB, 0, 16, 65536, 768, 2, &OffAth4[120],
  1864. 768, 576, TV, 0, 32, 16777216, 768, 2, &OffAth4[127],
  1865. 768, 576, TV, Z, 32, 16777216, 768, 3, &OffAth4[129],
  1866. 768, 576, TV+DB, 0, 32, 16777216, 768, 2, &OffAth4[132],
  1867. {(word) -1}
  1868. };
  1869. /*----------------------------------*/
  1870. /*** MGA PCI 4Mb (Atlas+Athena) ***/
  1871. /*----------------------------------*/
  1872. HwModeInterlace iModesAth4[98] = {
  1873. /* 640x 480/ 8 */ 768, 0, 2, &iOffAth4[0],
  1874. /* 640x 480/ 8 */ 768, 0, 5, &iOffAth4[2],
  1875. /* 640x 480/ 8 */ 768, DB, 3, &iOffAth4[7],
  1876. /* 640x 480/ 8 */ 768, DB, 7, &iOffAth4[10],
  1877. /* 640x 480/ 8 */ 768, LUT, 2, &iOffAth4[0],
  1878. /* 640x 480/ 8 */ 768, DB+LUT, 2, &iOffAth4[0],
  1879. /* 640x 480/16 */ 768, 0, 2, &iOffAth4[17],
  1880. /* 640x 480/16 */ 768, 0, 5, &iOffAth4[19],
  1881. /* 640x 480/16 */ 768, DB, 3, &iOffAth4[24],
  1882. /* 640x 480/16 */ 768, DB, 6, &iOffAth4[27],
  1883. /* 640x 480/16 */ 768, M565, 2, &iOffAth4[17],
  1884. /* 640x 480/16 */ 768, M565+DB, 3, &iOffAth4[24],
  1885. /* 640x 480/32 */ 768, 0, 3, &iOffAth4[33],
  1886. /* 640x 480/32 */ 768, 0, 5, &iOffAth4[36],
  1887. /* 640x 480/32 */ 768, DB, 3, &iOffAth4[41],
  1888. /* 800x 600/ 8 */ 1024, 0, 2, &iOffAth4[44],
  1889. /* 800x 600/ 8 */ 1024, 0, 5, &iOffAth4[46],
  1890. /* 800x 600/ 8 */ 1024, DB, 3, &iOffAth4[51],
  1891. /* 800x 600/ 8 */ 1024, DB, 0, &iOffAth4[54],
  1892. /* 800x 600/ 8 */ 1024, LUT, 2, &iOffAth4[44],
  1893. /* 800x 600/ 8 */ 1024, DB+LUT, 2, &iOffAth4[44],
  1894. /* 800x 600/16 */ 1024, 0, 2, &iOffAth4[54],
  1895. /* 800x 600/16 */ 1024, 0, 5, &iOffAth4[56],
  1896. /* 800x 600/16 */ 1024, DB, 3, &iOffAth4[61],
  1897. /* 800x 600/16 */ 1024, ND, 0, 0,
  1898. /* 800x 600/16 */ 1024, M565, 2, &iOffAth4[54],
  1899. /* 800x 600/16 */ 1024, M565+DB, 3, &iOffAth4[61],
  1900. /* 800x 600/32 */ 1024, 0, 3, &iOffAth4[64],
  1901. /* 800x 600/32 */ 1024, ND, 0, 0,
  1902. /* 800x 600/32 */ 1024, ND, 0, 0,
  1903. /* 1024x 768/ 8 */ {0},
  1904. /* 1024x 768/ 8 */ {0},
  1905. /* 1024x 768/ 8 */ {0},
  1906. /* 1024x 768/ 8 */ {0},
  1907. /* 1024x 768/ 8 */ {0},
  1908. /* 1024x 768/ 8 */ {0},
  1909. /* 1024x 768/16 */ {0},
  1910. /* 1024x 768/16 */ {0},
  1911. /* 1024x 768/16 */ {0},
  1912. /* 1024x 768/16 */ {0},
  1913. /* 1024x 768/16 */ {0},
  1914. /* 1024x 768/32 */ {0},
  1915. /* 1152x 882/ 8 */ 1280, 0, 2, &iOffAth4[90],
  1916. /* 1152x 882/ 8 */ 1280, 0, 5, &iOffAth4[92],
  1917. /* 1152x 882/ 8 */ 1280, DB, 3, &iOffAth4[97],
  1918. /* 1152x 882/ 8 */ 1280, ND, 0, 0,
  1919. /* 1152x 882/ 8 */ 1280, LUT, 2, &iOffAth4[90],
  1920. /* 1152x 882/ 8 */ 1280, DB+LUT, 2, &iOffAth4[90],
  1921. /* 1152x 882/16 */ 1280, 0, 2, &iOffAth4[100],
  1922. /* 1152x 882/16 */ 1280, ND, 0, 0,
  1923. /* 1152x 882/16 */ 1280, ND, 0, 0,
  1924. /* 1152x 882/16 */ 1280, M565, 2, &iOffAth4[100],
  1925. /* 1152x 882/16 */ 1280, ND, 0, 0,
  1926. /* 1152x 882/32 */ 1280, ND, 0, 0,
  1927. /* 1280x1024/ 8 */ {0},
  1928. /* 1280x1024/ 8 */ {0},
  1929. /* 1280x1024/ 8 */ {0},
  1930. /* 1280x1024/ 8 */ {0},
  1931. /* 1280x1024/16 */ {0},
  1932. /* 1280x1024/16 */ {0},
  1933. /* 1280x1024/24 */ {0},
  1934. /* 1600x1200/ 8 */ 1600, 0, 2, &iOffAth4[109],
  1935. /* 1600x1200/ 8 */ 1600, DB, 3, &iOffAth4[111],
  1936. /* 1600x1200/ 8 */ 1600, LUT, 2, &iOffAth4[109],
  1937. /* 1600x1200/ 8 */ 1600, DB+LUT, 2, &iOffAth4[109],
  1938. /* 1600x1200/16 */ 1600, 0, 2, &iOffAth4[114],
  1939. /* 1600x1200/16 */ 1600, M565, 2, &iOffAth4[114],
  1940. /* 640x 480/ 8 */ 768, TV, 2, &iOffAth4[0],
  1941. /* 640x 480/ 8 */ 768, TV, 5, &iOffAth4[2],
  1942. /* 640x 480/ 8 */ 768, TV+DB, 3, &iOffAth4[7],
  1943. /* 640x 480/ 8 */ 768, TV+DB, 7, &iOffAth4[10],
  1944. /* 640x 480/ 8 */ 768, TV+LUT, 2, &iOffAth4[0],
  1945. /* 640x 480/ 8 */ 768, TV+DB+LUT, 2, &iOffAth4[0],
  1946. /* 640x 480/16 */ 768, TV, 2, &iOffAth4[17],
  1947. /* 640x 480/16 */ 768, TV, 5, &iOffAth4[19],
  1948. /* 640x 480/16 */ 768, TV+DB, 3, &iOffAth4[24],
  1949. /* 640x 480/16 */ 768, TV+DB, 6, &iOffAth4[27],
  1950. /* 640x 480/16 */ 768, TV+M565, 2, &iOffAth4[17],
  1951. /* 640x 480/16 */ 768,TV+M565+DB, 3, &iOffAth4[24],
  1952. /* 640x 480/32 */ 768, TV, 3, &iOffAth4[33],
  1953. /* 640x 480/32 */ 768, TV, 5, &iOffAth4[36],
  1954. /* 640x 480/32 */ 768, TV+DB, 3, &iOffAth4[41],
  1955. /* 768x 576/ 8 */ {0},
  1956. /* 768x 576/ 8 */ {0},
  1957. /* 768x 576/ 8 */ {0},
  1958. /* 768x 576/ 8 */ {0},
  1959. /* 768x 576/ 8 */ {0},
  1960. /* 768x 576/ 8 */ {0},
  1961. /* 768x 576/16 */ {0},
  1962. /* 768x 576/16 */ {0},
  1963. /* 768x 576/16 */ {0},
  1964. /* 768x 576/16 */ {0},
  1965. /* 768x 576/16 */ {0},
  1966. /* 768x 576/16 */ {0},
  1967. /* 768x 576/32 */ {0},
  1968. /* 768x 576/32 */ {0},
  1969. /* 768x 576/32 */ {0},
  1970. {(word) -1}
  1971. };