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.

3699 lines
116 KiB

  1. /*++
  2. Copyright (c) 1992 Microsoft Corporation
  3. Module Name:
  4. cldata.c
  5. Abstract:
  6. This module contains all the global data used by the cirrus driver.
  7. Environment:
  8. Kernel mode
  9. Revision History:
  10. * jl01 09-24-96 For 1280x1024x256, refresh 71Hz is replaced by 72Hz
  11. * Refer to PDR#5373.
  12. * chu01 10-06-96 Correst miscellaneous for CL-GD5480 refresh rate setting
  13. * sge01 10-06-96 Fix PDR #6794: Correct Monitor refresh rate for 100Hz
  14. * file changed: cldata.c modeset.c
  15. * jl02 10-15-96 Add CL5446-BE support to the Mode Table; also newly support
  16. * 1152x864x64K@70Hz/75Hz and 1280x1024x64K@60Hz
  17. * jl03 11-18-96 The mode 0x12 needs to be set up in Full DOS Screen ( Japanese
  18. * Version). Refer to PDR#7170.
  19. * jl04 11-26-96 1024x768x16M@70Hz is corrected. Refer to PDR#7629.
  20. * 1600x1200x64K and 1280x1024x16M missing for 5480. PDR#7616
  21. * jl05 12-06-96 1152x864x16M only for 5480.
  22. *
  23. * myf0 : 08-19-96 added 85hz supported, and delete 6x4x16M for CL754x
  24. * myf1 : 08-20-96 supported panning scrolling
  25. * myf2 : 08-20-96 : fixed hardware save/restore state bug for matterhorn
  26. * myf3 : 09-01-96 : Added IOCTL_CIRRUS_PRIVATE_BIOS_CALL for TV supported
  27. * myf4 : 09-01-96 : patch Viking BIOS bug, PDR #4287, begin
  28. * myf5 : 09-01-96 : Fixed PDR #4365 keep all default refresh rate
  29. * myf6 : 09-17-96 : Merged Desktop SRC1001 & MINI102
  30. * myf7 : 09-19-96 : Fixed exclude 60Hz refresh rate select
  31. * myf8 :*09-21-96*: May be need change CheckandUpdateDDC2BMonitor --keystring[]
  32. * myf9 : 09-21-96 : 8x6 panel in 6x4x256 mode, cursor can't move to bottom scrn
  33. * ms0809:09-25-96 : fixed dstn panel icon corrupted
  34. * ms923 :09-25-96 : merge MS-923 Disp.zip code
  35. * myf10 :09-26-96 : Fixed DSTN reserved half-frame buffer bug.
  36. * myf11 :09-26-96 : Fixed 755x CE chip HW bug, access ramdac before disable HW
  37. * icons and cursor
  38. * myf12 :10-01-96 : Supported Hot Key switch display
  39. * myf13 :10-02-96 : Fixed Panning scrolling (1280x1024x256) bug y < ppdev->miny
  40. * myf14 :10-15-96 : Fixed PDR#6917, 6x4 panel can't panning scrolling for 754x
  41. * myf15 :10-16-96 : Fixed disable memory mapped IO for 754x, 755x
  42. * myf16 :10-22-96 : Fixed PDR #6933,panel type set different demo board setting
  43. * tao1 : 10-21-96 : Added 7555 flag for Direct Draw support.
  44. * smith :10-22-96 : Disable Timer event, because sometimes creat PAGE_FAULT or
  45. * IRQ level can't handle
  46. * myf17 :11-04-96 : Added special escape code must be use 11/5/96 later NTCTRL,
  47. * and added Matterhorn LF Device ID==0x4C
  48. * myf18 :11-04-96 : Fixed PDR #7075,
  49. * myf19 :11-06-96 : Fixed Vinking can't work problem, because DEVICEID = 0x30
  50. * is different from data book (CR27=0x2C)
  51. * myf20 :11-12-96 : Fixed DSTN panel initial reserved 128K memoru
  52. * myf21 :11-15-96 : fixed #7495 during change resolution, screen appear garbage
  53. * image, because not clear video memory.
  54. * myf22 :11-19-96 : Added 640x480x256/640x480x64K -85Hz refresh rate for 7548
  55. * myf23 :11-21-96 : Added fixed NT 3.51 S/W cursor panning problem
  56. * myf24 :11-22-96 : Added fixed NT 4.0 Japanese dos full screen problem
  57. * myf25 :12-03-96 : Fixed 8x6x16M 2560byte/line patch H/W bug PDR#7843, and
  58. * fixed pre-install microsoft requested
  59. * myf26 :12-11-96 : Fixed Japanese NT 4.0 Dos-full screen bug for LCD enable
  60. * myf27 :01-09-97 : Fixed jumper set 8x6 DSTN panel, select 8x6x64K mode,
  61. * boot up CRT garbage appear PDR#7986
  62. --*/
  63. #include <dderror.h>
  64. #include <devioctl.h>
  65. #include <miniport.h>
  66. #include <ntddvdeo.h>
  67. #include <video.h>
  68. #include "cirrus.h"
  69. #include "cmdcnst.h"
  70. #if defined(ALLOC_PRAGMA)
  71. #pragma data_seg("PAGE")
  72. #endif
  73. //---------------------------------------------------------------------------
  74. //
  75. // The actual register values for the supported modes are in chipset-specific
  76. // include files:
  77. //
  78. // mode64xx.h has values for CL6410 and CL6420
  79. // mode542x.h has values for CL5422, CL5424, and CL5426
  80. // mode543x.h has values for CL5430-CL5439 (Alpine chips)
  81. //
  82. #include "mode6410.h"
  83. #include "mode6420.h"
  84. #include "mode542x.h"
  85. #include "mode543x.h"
  86. //crus begin
  87. #ifdef PANNING_SCROLL //myf1
  88. //myf1, begin
  89. #ifdef INT10_MODE_SET
  90. RESTABLE ResolutionTable[] = {
  91. // {1280, 1024, 1, 16, 0x6C},
  92. // {1024, 768, 1, 11, 0x5D},
  93. // { 800, 600, 1, 8, 0x6A},
  94. { 640, 480, 1, 4, 0x12}, //myf26
  95. {1280, 1024, 8, 32, 0x6D}, //31,27
  96. {1024, 768, 8, 21, 0x60}, //20,16
  97. { 800, 600, 8, 15, 0x5C}, //14,10
  98. { 640, 480, 8, 9, 0x5F}, //08,04
  99. {1280, 1024, 16, 62, 0x75}, //61,56
  100. {1024, 768, 16, 52, 0x74}, //51,47
  101. { 800, 600, 16, 45, 0x65}, //44,40
  102. { 640, 480, 16, 40, 0x64}, //39,35
  103. {1280, 1024, 24, NULL, NULL},
  104. {1024, 768, 24, 82, 0x79}, //81,77
  105. { 800, 600, 24, 76, 0x78}, //75,71
  106. { 640, 480, 24, 70, 0x71}, //69,65
  107. {1280, 1024, 32, NULL, 0},
  108. {1024, 768, 32, NULL, 0},
  109. { 800, 600, 32, NULL, 0},
  110. { 640, 480, 32, NULL, 0},
  111. { 0, 0, 0, 0},
  112. };
  113. #endif
  114. //myf1, end
  115. #endif
  116. //crus end
  117. //
  118. // This structure describes to which ports access is required.
  119. //
  120. VIDEO_ACCESS_RANGE VgaAccessRange[] = {
  121. {
  122. VGA_BASE_IO_PORT, 0x00000000, // 64-bit linear base address
  123. // of range
  124. VGA_START_BREAK_PORT - VGA_BASE_IO_PORT + 1, // # of ports
  125. 1, // range is in I/O space
  126. 1, // range should be visible
  127. 0 //myf25 // range should be shareable
  128. },
  129. {
  130. VGA_END_BREAK_PORT, 0x00000000,
  131. VGA_MAX_IO_PORT - VGA_END_BREAK_PORT + 1,
  132. 1,
  133. 1,
  134. 0 //myf25
  135. },
  136. //
  137. // This next region also includes Memory mapped IO. In MMIO, the ports are
  138. // repeated every 256 bytes from b8000 to bff00.
  139. //
  140. {
  141. MEM_VGA, 0x00000000,
  142. MEM_VGA_SIZE,
  143. 0,
  144. 1,
  145. 0 //myf25
  146. },
  147. //
  148. // Region reserved for when linear mode is enabled.
  149. //
  150. {
  151. MEM_LINEAR, 0x00000000,
  152. MEM_LINEAR_SIZE,
  153. 0,
  154. 0,
  155. 0
  156. },
  157. //
  158. // This next region is for relocatable VGA register and MMIO register.
  159. //
  160. {
  161. MEM_VGA, 0x00000000,
  162. MEM_VGA_SIZE,
  163. 0,
  164. 1,
  165. 0
  166. }
  167. };
  168. //
  169. // Validator Port list.
  170. // This structure describes all the ports that must be hooked out of the V86
  171. // emulator when a DOS app goes to full-screen mode.
  172. // The structure determines to which routine the data read or written to a
  173. // specific port should be sent.
  174. //
  175. EMULATOR_ACCESS_ENTRY VgaEmulatorAccessEntries[] = {
  176. //
  177. // Traps for byte OUTs.
  178. //
  179. {
  180. 0x000003b0, // range start I/O address
  181. 0x0C, // range length
  182. Uchar, // access size to trap
  183. EMULATOR_READ_ACCESS | EMULATOR_WRITE_ACCESS, // types of access to trap
  184. FALSE, // does not support string accesses
  185. (PVOID)VgaValidatorUcharEntry // routine to which to trap
  186. },
  187. {
  188. 0x000003c0, // range start I/O address
  189. 0x20, // range length
  190. Uchar, // access size to trap
  191. EMULATOR_READ_ACCESS | EMULATOR_WRITE_ACCESS, // types of access to trap
  192. FALSE, // does not support string accesses
  193. (PVOID)VgaValidatorUcharEntry // routine to which to trap
  194. },
  195. //
  196. // Traps for word OUTs.
  197. //
  198. {
  199. 0x000003b0,
  200. 0x06,
  201. Ushort,
  202. EMULATOR_READ_ACCESS | EMULATOR_WRITE_ACCESS,
  203. FALSE,
  204. (PVOID)VgaValidatorUshortEntry
  205. },
  206. {
  207. 0x000003c0,
  208. 0x10,
  209. Ushort,
  210. EMULATOR_READ_ACCESS | EMULATOR_WRITE_ACCESS,
  211. FALSE,
  212. (PVOID)VgaValidatorUshortEntry
  213. },
  214. //
  215. // Traps for dword OUTs.
  216. //
  217. {
  218. 0x000003b0,
  219. 0x03,
  220. Ulong,
  221. EMULATOR_READ_ACCESS | EMULATOR_WRITE_ACCESS,
  222. FALSE,
  223. (PVOID)VgaValidatorUlongEntry
  224. },
  225. {
  226. 0x000003c0,
  227. 0x08,
  228. Ulong,
  229. EMULATOR_READ_ACCESS | EMULATOR_WRITE_ACCESS,
  230. FALSE,
  231. (PVOID)VgaValidatorUlongEntry
  232. }
  233. };
  234. //
  235. // Used to trap only the sequncer and the misc output registers
  236. //
  237. VIDEO_ACCESS_RANGE MinimalVgaValidatorAccessRange[] = {
  238. {
  239. VGA_BASE_IO_PORT, 0x00000000,
  240. VGA_START_BREAK_PORT - VGA_BASE_IO_PORT + 1,
  241. 1,
  242. 1, // <- enable range IOPM so that it is not trapped.
  243. 0
  244. },
  245. {
  246. VGA_END_BREAK_PORT, 0x00000000,
  247. VGA_MAX_IO_PORT - VGA_END_BREAK_PORT + 1,
  248. 1,
  249. 1,
  250. 0
  251. },
  252. {
  253. MISC_OUTPUT_REG_WRITE_PORT, 0x00000000,
  254. 0x00000001,
  255. 1,
  256. 0,
  257. 0
  258. },
  259. {
  260. SEQ_ADDRESS_PORT, 0x00000000,
  261. 0x00000002,
  262. 1,
  263. 0,
  264. 0
  265. }
  266. };
  267. //
  268. // Used to trap all registers
  269. //
  270. VIDEO_ACCESS_RANGE FullVgaValidatorAccessRange[] = {
  271. {
  272. VGA_BASE_IO_PORT, 0x00000000,
  273. VGA_START_BREAK_PORT - VGA_BASE_IO_PORT + 1,
  274. 1,
  275. 0, // <- disable range in the IOPM so that it is trapped.
  276. 0
  277. },
  278. {
  279. VGA_END_BREAK_PORT, 0x00000000,
  280. VGA_MAX_IO_PORT - VGA_END_BREAK_PORT + 1,
  281. 1,
  282. 0,
  283. 0
  284. }
  285. };
  286. USHORT MODESET_MODEX_320_200[] = {
  287. OW,
  288. SEQ_ADDRESS_PORT,
  289. 0x0604,
  290. OWM,
  291. CRTC_ADDRESS_PORT_COLOR,
  292. 2,
  293. 0xe317,
  294. 0x0014,
  295. EOD
  296. };
  297. USHORT MODESET_MODEX_320_240[] = {
  298. OWM,
  299. SEQ_ADDRESS_PORT,
  300. 2,
  301. 0x0604,
  302. 0x0100,
  303. OB,
  304. MISC_OUTPUT_REG_WRITE_PORT,
  305. 0xe3,
  306. OW,
  307. SEQ_ADDRESS_PORT,
  308. 0x0300,
  309. OB,
  310. CRTC_ADDRESS_PORT_COLOR,
  311. 0x11,
  312. METAOUT+MASKOUT,
  313. CRTC_DATA_PORT_COLOR,
  314. 0x7f, 0x00,
  315. OWM,
  316. CRTC_ADDRESS_PORT_COLOR,
  317. 10,
  318. 0x0d06,
  319. 0x3e07,
  320. 0x4109,
  321. 0xea10,
  322. 0xac11,
  323. 0xdf12,
  324. 0x0014,
  325. 0xe715,
  326. 0x0616,
  327. 0xe317,
  328. OW,
  329. SEQ_ADDRESS_PORT,
  330. 0x0f02,
  331. EOD
  332. };
  333. USHORT MODESET_MODEX_320_400[] = {
  334. OW,
  335. SEQ_ADDRESS_PORT,
  336. 0x0604,
  337. OWM,
  338. CRTC_ADDRESS_PORT_COLOR,
  339. 3,
  340. 0xe317,
  341. 0x0014,
  342. 0x4009,
  343. EOD
  344. };
  345. USHORT MODESET_MODEX_320_480[] = {
  346. OWM,
  347. SEQ_ADDRESS_PORT,
  348. 2,
  349. 0x0604,
  350. 0x0100,
  351. OB,
  352. MISC_OUTPUT_REG_WRITE_PORT,
  353. 0xe3,
  354. OW,
  355. SEQ_ADDRESS_PORT,
  356. 0x0300,
  357. OB,
  358. CRTC_ADDRESS_PORT_COLOR,
  359. 0x11,
  360. METAOUT+MASKOUT,
  361. CRTC_DATA_PORT_COLOR,
  362. 0x7f, 0x00,
  363. OWM,
  364. CRTC_ADDRESS_PORT_COLOR,
  365. 10,
  366. 0x0d06,
  367. 0x3e07,
  368. 0x4109,
  369. 0xea10,
  370. 0xac11,
  371. 0xdf12,
  372. 0x0014,
  373. 0xe715,
  374. 0x0616,
  375. 0xe317,
  376. OW,
  377. SEQ_ADDRESS_PORT,
  378. 0x0f02,
  379. OW,
  380. CRTC_ADDRESS_PORT_COLOR,
  381. 0x4009,
  382. EOD
  383. };
  384. USHORT MODESET_1K_WIDE[] = {
  385. OW, // stretch scans to 1k
  386. CRTC_ADDRESS_PORT_COLOR,
  387. 0x8013,
  388. EOD
  389. };
  390. USHORT MODESET_2K_WIDE[] = {
  391. OWM, // stretch scans to 2k
  392. CRTC_ADDRESS_PORT_COLOR,
  393. 2,
  394. 0x0013,
  395. 0x021B, // CR1B[5]=0, 0x321b for 64kc bug
  396. EOD
  397. };
  398. USHORT MODESET_75[] = {
  399. OWM,
  400. CRTC_ADDRESS_PORT_COLOR,
  401. 2,
  402. 0x4013,
  403. 0x321B,
  404. EOD
  405. };
  406. USHORT CL543x_640x480x16M[] = {
  407. OW, // begin setmode
  408. SEQ_ADDRESS_PORT,
  409. 0x1206, // enable extensions
  410. /*
  411. OWM,
  412. CRTC_ADDRESS_PORT_COLOR,
  413. 2,
  414. 0xF013, 0x221B,
  415. */
  416. OW,
  417. CRTC_ADDRESS_PORT_COLOR,
  418. 0xF013,
  419. OW,
  420. CRTC_ADDRESS_PORT_COLOR,
  421. 0x221B,
  422. EOD
  423. };
  424. USHORT CL543x_800x600x16M[] = {
  425. OW, // begin setmode
  426. SEQ_ADDRESS_PORT,
  427. 0x1206, // enable extensions
  428. /*
  429. OWM,
  430. CRTC_ADDRESS_PORT_COLOR,
  431. 2,
  432. 0x2C13, 0x321B,
  433. */
  434. OW,
  435. CRTC_ADDRESS_PORT_COLOR,
  436. 0x2C13,
  437. OW,
  438. CRTC_ADDRESS_PORT_COLOR,
  439. 0x321B,
  440. EOD
  441. };
  442. //myf25
  443. USHORT CL543x_800x600x16M_1[] = {
  444. OW, // begin setmode
  445. SEQ_ADDRESS_PORT,
  446. 0x1206, // enable extensions
  447. OW,
  448. CRTC_ADDRESS_PORT_COLOR,
  449. 0x4013,
  450. OW,
  451. CRTC_ADDRESS_PORT_COLOR,
  452. 0x321B,
  453. EOD
  454. };
  455. //---------------------------------------------------------------------------
  456. //
  457. // Memory map table -
  458. //
  459. // These memory maps are used to save and restore the physical video buffer.
  460. //
  461. MEMORYMAPS MemoryMaps[] = {
  462. // length start
  463. // ------ -----
  464. { 0x08000, 0x10000}, // all mono text modes (7)
  465. { 0x08000, 0x18000}, // all color text modes (0, 1, 2, 3,
  466. { 0x10000, 0x00000} // all VGA graphics modes
  467. };
  468. //
  469. // Video mode table - contains information and commands for initializing each
  470. // mode. These entries must correspond with those in VIDEO_MODE_VGA. The first
  471. // entry is commented; the rest follow the same format, but are not so
  472. // heavily commented.
  473. //
  474. VIDEOMODE ModesVGA[] = {
  475. //
  476. // Color text mode 3, 720x400, 9x16 char cell (VGA).
  477. //
  478. {
  479. VIDEO_MODE_COLOR, // flags that this mode is a color mode, but not graphics
  480. 4, // four planes
  481. 1, // one bit of colour per plane
  482. 80, 25, // 80x25 text resolution
  483. 720, 400, // 720x400 pixels on screen
  484. 160, 0x10000, // 160 bytes per scan line, 64K of CPU-addressable bitmap
  485. 0, 0, // only support one frequency, non-interlaced
  486. 0, // montype is 'dont care' for text modes
  487. 0, 0, 0, // montype is 'dont care' for text modes
  488. TRUE, // hardware cursor enabled for this mode
  489. NoBanking, // no banking supported or needed in this mode
  490. MemMap_CGA, // the memory mapping is the standard CGA memory mapping
  491. // of 32K at B8000
  492. // crus
  493. CL6245 | CL6410 | CL6420 | CL754x | CL755x | CL542x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  494. crt | panel | panel8x6 | panel10x7,
  495. FALSE, // ModeValid default is always off
  496. FALSE, // This mode cannot be mapped linearly
  497. { 3,3,3}, // int10 BIOS modes
  498. { CL6410_80x25Text_crt, CL6410_80x25Text_panel,
  499. CL6420_80x25Text_crt, CL6420_80x25Text_panel,
  500. CL542x_80x25Text, CL543x_80x25Text, 0 },
  501. }, //myf1, 0
  502. //
  503. // Color text mode 3, 640x350, 8x14 char cell (EGA).
  504. //
  505. { VIDEO_MODE_COLOR, // flags that this mode is a color mode, but not graphics
  506. 4, // four planes
  507. 1, // one bit of colour per plane
  508. 80, 25, // 80x25 text resolution
  509. 640, 350, // 640x350 pixels on screen
  510. 160, 0x10000, // 160 bytes per scan line, 64K of CPU-addressable bitmap
  511. 0, 0, // only support one frequency, non-interlaced
  512. 0, // montype is 'dont care' for text modes
  513. 0, 0, 0, // montype is 'dont care' for text modes
  514. TRUE, // hardware cursor enabled for this mode
  515. NoBanking, // no banking supported or needed in this mode
  516. MemMap_CGA, // the memory mapping is the standard CGA memory mapping
  517. // of 32K at B8000
  518. // crus
  519. CL6245 | CL6410 | CL6420 | CL754x | CL755x | CL542x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  520. crt | panel | panel8x6 | panel10x7,
  521. FALSE, // ModeValid default is always off
  522. FALSE,
  523. { 3,3,3}, // int10 BIOS modes
  524. { CL6410_80x25_14_Text_crt, CL6410_80x25_14_Text_panel,
  525. CL6420_80x25_14_Text_crt, CL6420_80x25_14_Text_panel,
  526. CL542x_80x25_14_Text, CL543x_80x25_14_Text, 0 },
  527. }, //myf1, 1
  528. //
  529. //
  530. // Monochrome text mode 7, 720x400, 9x16 char cell (VGA).
  531. //
  532. { 0, // flags that this mode is a monochrome text mode
  533. 4, // four planes
  534. 1, // one bit of colour per plane
  535. 80, 25, // 80x25 text resolution
  536. 720, 400, // 720x400 pixels on screen
  537. 160, 0x10000, // 160 bytes per scan line, 64K of CPU-addressable bitmap
  538. 0, 0, // only support one frequency, non-interlaced
  539. 0, // montype is 'dont care' for text modes
  540. 0, 0, 0, // montype is 'dont care' for text modes
  541. TRUE, // hardware cursor enabled for this mode
  542. NoBanking, // no banking supported or needed in this mode
  543. MemMap_Mono, // the memory mapping is the standard monochrome memory
  544. // mapping of 32K at B0000
  545. // crus
  546. CL6245 | CL6410 | CL6420 | CL754x | CL755x | CL542x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  547. crt | panel | panel8x6 | panel10x7,
  548. FALSE, // ModeValid default is always off
  549. FALSE, // This mode cannot be mapped linearly
  550. { 7,7,7 }, // int10 BIOS modes
  551. { CL6410_80x25Text_crt, CL6410_80x25Text_panel,
  552. CL6420_80x25Text_crt, CL6420_80x25Text_panel,
  553. CL542x_80x25Text, CL543x_80x25Text, 0 },
  554. }, //myf1, 2
  555. //
  556. //
  557. // Monochrome text mode 7, 640x350, 8x14 char cell (EGA).
  558. //
  559. { 0, // flags that this mode is a monochrome text mode
  560. 4, // four planes
  561. 1, // one bit of colour per plane
  562. 80, 25, // 80x25 text resolution
  563. 640, 350, // 640x350 pixels on screen
  564. 160, 0x10000, // 160 bytes per scan line, 64K of CPU-addressable bitmap
  565. 0, 0, // only support one frequency, non-interlaced
  566. 0, // montype is 'dont care' for text modes
  567. 0, 0, 0, // montype is 'dont care' for text modes
  568. TRUE, // hardware cursor enabled for this mode
  569. NoBanking, // no banking supported or needed in this mode
  570. MemMap_Mono, // the memory mapping is the standard monochrome memory
  571. // mapping of 32K at B0000
  572. // crus
  573. CL6245 | CL6410 | CL6420 | CL754x | CL755x | CL542x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  574. crt | panel | panel8x6 | panel10x7,
  575. FALSE, // ModeValid default is always off
  576. FALSE,
  577. { 7,7,7 }, // int10 BIOS modes
  578. { CL6410_80x25_14_Text_crt, CL6410_80x25_14_Text_panel,
  579. CL6420_80x25_14_Text_crt, CL6420_80x25_14_Text_panel,
  580. CL542x_80x25_14_Text, CL543x_80x25_14_Text, 0 },
  581. }, //myf1, 3
  582. //
  583. // Standard VGA Color graphics mode 0x12, 640x480 16 colors.
  584. //
  585. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 4, 1, 80, 30,
  586. 640, 480, 80, 0x10000,
  587. 60, 0, // 60hz, non-interlaced
  588. 3, // montype
  589. 0x1203, 0x00A4, 0, // montype
  590. FALSE, // hardware cursor disabled for this mode
  591. NoBanking, MemMap_VGA,
  592. // crus
  593. CL6245 | CL6410 | CL6420 | CL754x | CL755x | CL542x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  594. crt | panel | panel8x6 | panel10x7,
  595. FALSE, // ModeValid default is always off
  596. FALSE,
  597. { 0x12,0x12,0x12}, // int10 BIOS modes
  598. { CL6410_640x480_crt, CL6410_640x480_panel,
  599. CL6420_640x480_crt, CL6420_640x480_panel,
  600. CL542x_640x480_16, CL543x_640x480_16, 0 },
  601. }, //myf1, 4
  602. //
  603. // Standard VGA Color graphics mode 0x12, 640x480 16 colors.
  604. //
  605. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 4, 1, 80, 30,
  606. 640, 480, 80, 0x10000,
  607. 72, 0, // 72hz, non-interlaced
  608. 4, // montype
  609. 0x1213, 0x00A4, 0, // montype
  610. FALSE, // hardware cursor disabled for this mode
  611. NoBanking, MemMap_VGA,
  612. // crus
  613. CL6245 | CL754x | CL755x | CL542x | CL754x | CL5436 | CL5446 | CL5446BE | CL5480,
  614. crt,
  615. FALSE, // ModeValid default is always off
  616. FALSE,
  617. { 0,0,0x12}, // int10 BIOS modes
  618. { NULL, NULL,
  619. NULL, NULL,
  620. CL542x_640x480_16, NULL, 0 },
  621. },
  622. //
  623. // Standard VGA Color graphics mode 0x12, 640x480 16 colors.
  624. //
  625. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 4, 1, 80, 30,
  626. 640, 480, 80, 0x10000,
  627. 75, 0, // 75hz, non-interlaced
  628. 4, // montype
  629. 0x1230, 0x00A4, 0, // montype
  630. FALSE, // hardware cursor disabled for this mode
  631. NoBanking, MemMap_VGA,
  632. CL754x | CL755x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  633. crt,
  634. FALSE, // ModeValid default is always off
  635. FALSE,
  636. { 0,0,0x12}, // int10 BIOS modes
  637. { NULL, NULL,
  638. NULL, NULL,
  639. NULL, CL543x_640x480_16, 0 },
  640. },
  641. //
  642. // Standard VGA Color graphics mode 0x12
  643. // 640x480 16 colors, 85 Hz non-interlaced
  644. //
  645. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 4, 1, 80, 30,
  646. 640, 480, 80, 0x10000,
  647. 85, 0, // 85hz, non-interlaced
  648. 4, // montype
  649. 0x1213, 0x00A4, 0, // montype
  650. FALSE, // hardware cursor disabled for this mode
  651. NoBanking, MemMap_VGA,
  652. CL755x | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  653. //myf0
  654. crt,
  655. FALSE, // ModeValid default is always off
  656. FALSE,
  657. { 0,0,0x12}, // int10 BIOS modes
  658. { NULL, NULL,
  659. NULL, NULL,
  660. NULL, CL543x_640x480_16, 0 },
  661. },
  662. // We make ModeX modes available only on x86 because our IO-mapping IOCTL,
  663. // QUERY_PUBLIC_ACCESS_RANGES doesn't currently support the ModeX request
  664. // format:
  665. #if defined(_X86_)
  666. // Standard ModeX mode
  667. // 320x200 256 colors, 70 Hz non-interlaced
  668. //
  669. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 8, 1, 80, 30,
  670. 320, 200, 80, 0x10000,
  671. 70, 0, // 70hz, non-interlaced
  672. 3, // montype
  673. 0x1203, 0x00A4, 0, // montype
  674. FALSE, // hardware cursor disabled for this mode
  675. NoBanking, MemMap_VGA,
  676. CL6245 | CL6410 | CL6420 | CL754x | CL755x | CL542x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  677. crt | panel | panel8x6 | panel10x7,
  678. FALSE, // ModeValid default is always off
  679. FALSE,
  680. { 0x13,0x13,0x13}, // int10 BIOS modes
  681. { MODESET_MODEX_320_200, MODESET_MODEX_320_200,
  682. MODESET_MODEX_320_200, MODESET_MODEX_320_200,
  683. MODESET_MODEX_320_200, MODESET_MODEX_320_200, 0 },
  684. }, //myf1, 5
  685. // Standard ModeX mode
  686. // 320x240 256 colors, 60 Hz non-interlaced
  687. //
  688. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 8, 1, 80, 30,
  689. 320, 240, 80, 0x10000,
  690. 60, 0, // 60hz, non-interlaced
  691. 3, // montype
  692. 0x1203, 0x00A4, 0, // montype
  693. FALSE, // hardware cursor disabled for this mode
  694. NoBanking, MemMap_VGA,
  695. CL6245 | CL6410 | CL6420 | CL754x | CL755x | CL542x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  696. crt | panel | panel8x6 | panel10x7,
  697. FALSE, // ModeValid default is always off
  698. FALSE,
  699. { 0x13,0x13,0x13}, // int10 BIOS modes
  700. { MODESET_MODEX_320_240, MODESET_MODEX_320_240,
  701. MODESET_MODEX_320_240, MODESET_MODEX_320_240,
  702. MODESET_MODEX_320_240, MODESET_MODEX_320_240, 0 },
  703. }, //myf1, 6
  704. // Standard ModeX mode
  705. // 320x400 256 colors, 70 Hz non-interlaced
  706. //
  707. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 8, 1, 80, 30,
  708. 320, 400, 80, 0x10000,
  709. 70, 0, // 70hz, non-interlaced
  710. 3, // montype
  711. 0x1203, 0x00A4, 0, // montype
  712. FALSE, // hardware cursor disabled for this mode
  713. NoBanking, MemMap_VGA,
  714. CL6245 | CL6410 | CL6420 | CL754x | CL755x | CL542x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  715. crt | panel | panel8x6 | panel10x7,
  716. FALSE, // ModeValid default is always off
  717. FALSE,
  718. { 0x13,0x13,0x13}, // int10 BIOS modes
  719. { MODESET_MODEX_320_400, MODESET_MODEX_320_400,
  720. MODESET_MODEX_320_400, MODESET_MODEX_320_400,
  721. MODESET_MODEX_320_400, MODESET_MODEX_320_400, 0 },
  722. }, //myf1, 7
  723. // Standard ModeX mode
  724. // 320x480 256 colors, 60 Hz non-interlaced
  725. //
  726. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 8, 1, 80, 30,
  727. 320, 480, 80, 0x10000,
  728. 60, 0, // 60hz, non-interlaced
  729. 3, // montype
  730. 0x1203, 0x00A4, 0, // montype
  731. FALSE, // hardware cursor disabled for this mode
  732. NoBanking, MemMap_VGA,
  733. CL6245 | CL6410 | CL6420 | CL754x | CL755x | CL542x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  734. crt | panel | panel8x6 | panel10x7,
  735. FALSE, // ModeValid default is always off
  736. FALSE,
  737. { 0x13,0x13,0x13}, // int10 BIOS modes
  738. { MODESET_MODEX_320_480, MODESET_MODEX_320_480,
  739. MODESET_MODEX_320_480, MODESET_MODEX_320_480,
  740. MODESET_MODEX_320_480, MODESET_MODEX_320_480, 0 },
  741. }, //myf1, 8
  742. #endif // #defined(_X86_)
  743. //
  744. // Beginning of SVGA modes
  745. //
  746. //
  747. // 800x600 16 colors.
  748. //
  749. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 4, 1, 100, 37,
  750. 800, 600, 100, 0x10000,
  751. 56, 0, // 56hz, non-interlaced
  752. 3, // montype
  753. 0x1203, 0xA4, 0, // montype
  754. FALSE, // hardware cursor disabled for this mode
  755. NoBanking, MemMap_VGA,
  756. // crus
  757. CL6245 | CL6410 | CL6420 | CL754x | CL755x | CL542x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  758. crt,
  759. FALSE, // ModeValid default is always off
  760. FALSE,
  761. { 0x6a,0x6a,0x6a}, // int10 BIOS modes
  762. { CL6410_800x600_crt, NULL,
  763. CL6420_800x600_crt, NULL,
  764. CL542x_800x600_16, CL543x_800x600_16, 0 },
  765. },
  766. //
  767. // 800x600 16 colors.
  768. //
  769. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 4, 1, 100, 37,
  770. 800, 600, 100, 0x10000,
  771. 60, 0, // 60hz, non-interlaced
  772. 4, // montype
  773. 0x1203, 0x01A4, 0, // montype
  774. FALSE, // hardware cursor disabled for this mode
  775. NoBanking, MemMap_VGA,
  776. // crus
  777. CL6245 | CL6420 | CL754x | CL755x | CL542x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  778. crt | panel8x6 | panel10x7,
  779. FALSE, // ModeValid default is always off
  780. FALSE,
  781. { 0,0x6a,0x6a}, // int10 BIOS modes
  782. { NULL, NULL,
  783. CL6420_800x600_crt, NULL,
  784. CL542x_800x600_16, CL543x_800x600_16, 0 },
  785. },
  786. //
  787. // 800x600 16 colors.
  788. //
  789. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 4, 1, 100, 37,
  790. 800, 600, 100, 0x10000,
  791. 72, 0, // 72hz, non-interlaced
  792. 5, // montype
  793. 0x1203, 0x02A4, 0, // montype
  794. FALSE, // hardware cursor disabled for this mode
  795. NoBanking, MemMap_VGA,
  796. // crus
  797. CL6245 | CL754x | CL755x | CL542x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  798. crt,
  799. FALSE, // ModeValid default is always off
  800. FALSE,
  801. { 0,0,0x6a}, // int10 BIOS modes
  802. { NULL, NULL,
  803. NULL, NULL,
  804. CL542x_800x600_16, CL543x_800x600_16, 0 },
  805. },
  806. //
  807. // 800x600 16 colors.
  808. //
  809. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 4, 1, 100, 37,
  810. 800, 600, 100, 0x10000,
  811. 75, 0, // 75hz, non-interlaced
  812. 5, // montype
  813. 0x1203, 0x03A4, 0, // montype
  814. FALSE, // hardware cursor disabled for this mode
  815. NoBanking, MemMap_VGA,
  816. CL754x | CL755x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  817. crt,
  818. FALSE, // ModeValid default is always off
  819. FALSE,
  820. { 0,0,0x6a}, // int10 BIOS modes
  821. { NULL, NULL,
  822. NULL, NULL,
  823. NULL, CL543x_800x600_16, 0 },
  824. },
  825. //
  826. // 1024x768 non-interlaced 16 colors.
  827. // Assumes 512K.
  828. //
  829. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 4, 1, 128, 48,
  830. 1024, 768, 128, 0x20000,
  831. 60, 0, // 60hz, non-interlaced
  832. 5, // montype
  833. 0x1203, 0x10A4, 0, // montype
  834. FALSE, // hardware cursor disabled for this mode
  835. NormalBanking, MemMap_VGA,
  836. // crus
  837. CL6245 | CL754x | CL755x | CL542x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  838. crt | panel10x7,
  839. FALSE, // ModeValid default is always off
  840. FALSE,
  841. { 0,0,0x5d}, // int10 BIOS modes
  842. { NULL, NULL,
  843. NULL, NULL,
  844. CL542x_1024x768_16, CL543x_1024x768_16, 0 },
  845. },
  846. //
  847. // 1024x768 non-interlaced 16 colors.
  848. // Assumes 512K.
  849. //
  850. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 4, 1, 128, 48,
  851. 1024, 768, 128, 0x20000,
  852. 70, 0, // 70hz, non-interlaced
  853. 6, // montype
  854. 0x1203, 0x20A4, 0, // montype
  855. FALSE, // hardware cursor disabled for this mode
  856. NormalBanking, MemMap_VGA,
  857. CL754x | CL755x | CL542x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  858. crt,
  859. FALSE, // ModeValid default is always off
  860. FALSE,
  861. { 0,0,0x5d}, // int10 BIOS modes
  862. { NULL, NULL,
  863. NULL, NULL,
  864. CL542x_1024x768_16, CL543x_1024x768_16, 0 },
  865. },
  866. //
  867. // 1024x768 non-interlaced 16 colors.
  868. // Assumes 512K.
  869. //
  870. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 4, 1, 128, 48,
  871. 1024, 768, 128, 0x20000,
  872. 72, 0, // 72hz, non-interlaced
  873. 7, // montype
  874. 0x1203, 0x30A4, 0, // montype
  875. FALSE, // hardware cursor disabled for this mode
  876. NormalBanking, MemMap_VGA,
  877. CL754x | CL755x | CL542x | CL543x | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  878. crt,
  879. FALSE, // ModeValid default is always off
  880. FALSE,
  881. { 0,0,0x5d}, // int10 BIOS modes
  882. { NULL, NULL,
  883. NULL, NULL,
  884. CL542x_1024x768_16, CL543x_1024x768_16, 0 },
  885. },
  886. //
  887. // 1024x768 non-interlaced 16 colors.
  888. // Assumes 512K.
  889. //
  890. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 4, 1, 128, 48,
  891. 1024, 768, 128, 0x20000,
  892. 75, 0, // 75hz, non-interlaced
  893. 7, // montype
  894. 0x1203, 0x40A4, 0, // montype
  895. FALSE, // hardware cursor disabled for this mode
  896. NormalBanking, MemMap_VGA,
  897. CL754x | CL755x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  898. crt,
  899. FALSE, // ModeValid default is always off
  900. FALSE,
  901. { 0,0,0x5d}, // int10 BIOS modes
  902. { NULL, NULL,
  903. NULL, NULL,
  904. NULL, CL543x_1024x768_16, 0 },
  905. },
  906. //
  907. // 1024x768 interlaced 16 colors.
  908. // Assumes 512K.
  909. //
  910. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 4, 1, 128, 48,
  911. 1024, 768, 128, 0x20000,
  912. 43, 1, // 43hz, interlaced
  913. 4, // montype
  914. 0x1203, 0xA4, 0, // montype
  915. FALSE, // hardware cursor disabled for this mode
  916. NormalBanking, MemMap_VGA,
  917. // crus
  918. CL6245 | CL6420 | CL754x | CL755x | CL542x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  919. crt,
  920. FALSE, // ModeValid default is always off
  921. FALSE,
  922. { 0,0x37,0x5d}, // int10 BIOS modes
  923. { NULL, NULL,
  924. CL6420_1024x768_crt, NULL,
  925. CL542x_1024x768_16, CL543x_1024x768_16, 0 },
  926. },
  927. //
  928. // 1280x1024 interlaced 16 colors.
  929. // Assumes 1meg required. 1K scan line
  930. //
  931. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 4, 1, 160, 64,
  932. 1280, 1024, 256, 0x40000,
  933. 43, 1, // 43Hz, interlaced
  934. 5, // montype
  935. 0x1203, 0xA4, 0, // montype
  936. FALSE, // hardware cursor disabled for this mode
  937. NormalBanking, MemMap_VGA,
  938. CL754x | CL755x | CL542x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  939. crt,
  940. FALSE, // ModeValid default is always off
  941. FALSE,
  942. { 0,0,0x6c}, // int10 BIOS modes
  943. { NULL, NULL,
  944. NULL, NULL,
  945. CL542x_1280x1024_16, CL543x_1280x1024_16, MODESET_1K_WIDE},
  946. },
  947. //
  948. //
  949. // VGA Color graphics,
  950. //
  951. // 640x480 256 colors.
  952. //
  953. // For each mode which we have a broken raster version of the mode,
  954. // followed by a stretched version of the mode. This is ok because
  955. // the vga display drivers will reject modes with broken rasters.
  956. //
  957. // ----- 640x480x256@60Hz ---------------------------------------------------
  958. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 80, 30,
  959. 640, 480, 640, 0x80000,
  960. 60, 0, // 60hz, non-interlaced
  961. 3, // montype
  962. 0x1203, 0x00A4, 0, // montype
  963. TRUE, // hardware cursor enabled for this mode
  964. PlanarHCBanking, MemMap_VGA,
  965. CL6245 | CL6420 | CL754x | CL755x | CL542x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  966. crt | panel | panel8x6 | panel10x7,
  967. FALSE, // ModeValid default is always off
  968. TRUE,
  969. { 0,0x2e,0x5f}, // int10 BIOS modes
  970. { NULL, NULL,
  971. CL6420_640x480_256color_crt, CL6420_640x480_256color_panel,
  972. CL542x_640x480_256, CL543x_640x480_256, NULL},
  973. }, //myf1, 9
  974. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 80, 30,
  975. 640, 480, 1024, 0x80000,
  976. 60, 0, // 60hz, non-interlaced
  977. 3, // montype
  978. 0x1203, 0x00A4, 0, // montype
  979. TRUE, // hardware cursor enabled for this mode
  980. PlanarHCBanking, MemMap_VGA,
  981. CL6245 | CL6420 | CL754x | CL755x | CL542x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  982. crt | panel | panel8x6 | panel10x7,
  983. FALSE, // ModeValid default is always off
  984. TRUE,
  985. { 0,0x2e,0x5f}, // int10 BIOS modes
  986. { NULL, NULL,
  987. CL6420_640x480_256color_crt, CL6420_640x480_256color_panel,
  988. CL542x_640x480_256, CL543x_640x480_256, MODESET_1K_WIDE },
  989. },
  990. // ----- 640x480x256@72Hz ---------------------------------------------------
  991. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 80, 30,
  992. 640, 480, 640, 0x80000,
  993. 72, 0, // 72hz, non-interlaced
  994. 4, // montype
  995. 0x1213, 0x00A4, 0, // montype
  996. TRUE, // hardware cursor enabled for this mode
  997. PlanarHCBanking, MemMap_VGA,
  998. CL6245 | CL754x | CL755x | CL542x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  999. crt,
  1000. FALSE, // ModeValid default is always off
  1001. TRUE,
  1002. { 0,0,0x5f}, // int10 BIOS modes
  1003. { NULL, NULL,
  1004. NULL, NULL,
  1005. CL542x_640x480_256, CL543x_640x480_256, NULL },
  1006. }, //myf1, 10
  1007. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 80, 30,
  1008. 640, 480, 1024, 0x80000,
  1009. 72, 0, // 72hz, non-interlaced
  1010. 4, // montype
  1011. 0x1213, 0x00A4, 0, // montype
  1012. TRUE, // hardware cursor enabled for this mode
  1013. PlanarHCBanking, MemMap_VGA,
  1014. CL6245 | CL754x | CL755x | CL542x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL54UM36 | CL5480,
  1015. crt,
  1016. FALSE, // ModeValid default is always off
  1017. TRUE,
  1018. { 0,0,0x5f}, // int10 BIOS modes
  1019. { NULL, NULL,
  1020. NULL, NULL,
  1021. CL542x_640x480_256, CL543x_640x480_256, MODESET_1K_WIDE },
  1022. },
  1023. // ----- 640x480x256@75Hz ---------------------------------------------------
  1024. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 80, 30,
  1025. 640, 480, 640, 0x80000,
  1026. 75, 0, // 75hz, non-interlaced
  1027. 4, // montype
  1028. 0x1230, 0x00A4, 0, // montype
  1029. TRUE, // hardware cursor enabled for this mode
  1030. PlanarHCBanking, MemMap_VGA,
  1031. CL754x | CL755x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  1032. crt,
  1033. FALSE, // ModeValid default is always off
  1034. TRUE,
  1035. { 0,0,0x5f}, // int10 BIOS modes
  1036. { NULL, NULL,
  1037. NULL, NULL,
  1038. NULL, CL543x_640x480_256, NULL },
  1039. }, //myf1, 11
  1040. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 80, 30,
  1041. 640, 480, 1024, 0x80000,
  1042. 75, 0, // 75hz, non-interlaced
  1043. 4, // montype
  1044. 0x1230, 0x00A4, 0, // montype
  1045. TRUE, // hardware cursor enabled for this mode
  1046. PlanarHCBanking, MemMap_VGA,
  1047. CL754x | CL755x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL54UM36 | CL5480,
  1048. crt,
  1049. FALSE, // ModeValid default is always off
  1050. TRUE,
  1051. { 0,0,0x5f}, // int10 BIOS modes
  1052. { NULL, NULL,
  1053. NULL, NULL,
  1054. NULL, CL543x_640x480_256, MODESET_1K_WIDE },
  1055. },
  1056. // ----- 640x480x256@85Hz ---------------------------------------------------
  1057. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 80, 30,
  1058. 640, 480, 640, 0x80000,
  1059. 85, 0, // 85 Hz, non-interlaced
  1060. 4, // montype
  1061. 0x1213, 0x00A4, 0, // montype
  1062. TRUE, // hardware cursor enabled for this mode
  1063. PlanarHCBanking, MemMap_VGA,
  1064. CL754x | CL755x | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  1065. crt,
  1066. FALSE, // ModeValid default is always off
  1067. TRUE,
  1068. { 0,0,0x5f}, // int10 BIOS modes
  1069. { NULL, NULL,
  1070. NULL, NULL,
  1071. NULL, CL543x_640x480_256, NULL },
  1072. }, //myf1, 12
  1073. // ----- 640x480x256@100Hz --------------------------------------------------
  1074. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 80, 30,
  1075. 640, 480, 640, 0x80000,
  1076. 100, 0, // 100 Hz, non-interlaced
  1077. 4, // montype
  1078. 0x1213, 0x00A4, 0, // montype
  1079. TRUE, // hardware cursor enabled for this mode
  1080. PlanarHCBanking, MemMap_VGA,
  1081. CL5480,
  1082. crt,
  1083. FALSE, // ModeValid default is always off
  1084. TRUE,
  1085. { 0,0,0x5F}, // int10 BIOS modes
  1086. { NULL, NULL,
  1087. NULL, NULL,
  1088. NULL, CL543x_640x480_256, NULL },
  1089. }, //myf1, 13
  1090. // ----- 800x600x256@56Hz ---------------------------------------------------
  1091. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 100, 37,
  1092. 800, 600, 800, 0x80000,
  1093. 56, 0, // 56hz, non-interlaced
  1094. 3, // montype
  1095. 0x1203, 0xA4, 0, // montype
  1096. TRUE, // hardware cursor enabled for this mode
  1097. PlanarHCBanking, MemMap_VGA,
  1098. CL6245 | CL6420 | CL754x | CL755x | CL542x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  1099. crt,
  1100. FALSE, // ModeValid default is always off
  1101. TRUE,
  1102. { 0,0x30,0x5c}, // int10 BIOS modes
  1103. { NULL, NULL,
  1104. CL6420_800x600_256color_crt, NULL,
  1105. CL542x_800x600_256, CL543x_800x600_256, NULL },
  1106. }, //myf1, 14
  1107. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 100, 37,
  1108. 800, 600, 1024, 0x100000,
  1109. 56, 0, // 56hz, non-interlaced
  1110. 3, // montype
  1111. 0x1203, 0xA4, 0, // montype
  1112. TRUE, // hardware cursor enabled for this mode
  1113. PlanarHCBanking, MemMap_VGA,
  1114. CL6245 | CL6420 | CL754x | CL755x | CL542x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL54UM36 | CL5480,
  1115. crt,
  1116. FALSE, // ModeValid default is always off
  1117. TRUE,
  1118. { 0,0x30,0x5c}, // int10 BIOS modes
  1119. { NULL, NULL,
  1120. CL6420_800x600_256color_crt, NULL,
  1121. CL542x_800x600_256, CL543x_800x600_256, MODESET_1K_WIDE },
  1122. },
  1123. // ----- 800x600x256@60Hz ---------------------------------------------------
  1124. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 100, 37,
  1125. 800, 600, 800, 0x80000,
  1126. 60, 0, // 60hz, non-interlaced
  1127. 4, // montype
  1128. 0x1203, 0x01A4, 0, // montype
  1129. TRUE, // hardware cursor enabled for this mode
  1130. PlanarHCBanking, MemMap_VGA,
  1131. CL6245 | CL6420 | CL754x | CL755x | CL542x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  1132. #ifdef PANNING_SCROLL //myf17
  1133. crt | panel | panel8x6 | panel10x7,
  1134. #else
  1135. crt | panel8x6 | panel10x7,
  1136. #endif
  1137. FALSE, // ModeValid default is always off
  1138. TRUE,
  1139. { 0,0x30,0x5c}, // int10 BIOS modes
  1140. { NULL, NULL,
  1141. CL6420_800x600_256color_crt, NULL,
  1142. CL542x_800x600_256, CL543x_800x600_256, NULL },
  1143. }, //myf1, 15
  1144. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 100, 37,
  1145. 800, 600, 1024, 0x100000,
  1146. 60, 0, // 60hz, non-interlaced
  1147. 4, // montype
  1148. 0x1203, 0x01A4, 0, // montype
  1149. TRUE, // hardware cursor enabled for this mode
  1150. PlanarHCBanking, MemMap_VGA,
  1151. CL6245 | CL6420 | CL754x | CL755x | CL542x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL54UM36 | CL5480,
  1152. #ifdef PANNING_SCROLL //myf17
  1153. crt | panel | panel8x6 | panel10x7,
  1154. #else
  1155. crt | panel8x6 | panel10x7,
  1156. #endif
  1157. FALSE, // ModeValid default is always off
  1158. TRUE,
  1159. { 0,0x30,0x5c}, // int10 BIOS modes
  1160. { NULL, NULL,
  1161. CL6420_800x600_256color_crt, NULL,
  1162. CL542x_800x600_256, CL543x_800x600_256, MODESET_1K_WIDE },
  1163. },
  1164. // ----- 800x600x256@72Hz ---------------------------------------------------
  1165. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 100, 37,
  1166. 800, 600, 800, 0x80000,
  1167. 72, 0, // 72hz, non-interlaced
  1168. 5, // montype
  1169. 0x1203, 0x02A4, 0, // montype
  1170. TRUE, // hardware cursor enabled for this mode
  1171. PlanarHCBanking, MemMap_VGA,
  1172. CL6245 | CL754x | CL755x | CL542x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  1173. crt,
  1174. FALSE, // ModeValid default is always off
  1175. TRUE,
  1176. { 0,0,0x5c}, // int10 BIOS modes
  1177. { NULL, NULL,
  1178. NULL, NULL,
  1179. CL542x_800x600_256, CL543x_800x600_256, NULL },
  1180. }, //myf1, 16
  1181. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 100, 37,
  1182. 800, 600, 1024, 0x100000,
  1183. 72, 0, // 72hz, non-interlaced
  1184. 5, // montype
  1185. 0x1203, 0x02A4, 0, // montype
  1186. TRUE, // hardware cursor enabled for this mode
  1187. PlanarHCBanking, MemMap_VGA,
  1188. CL6245 | CL754x | CL755x | CL542x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL54UM36 | CL5480,
  1189. crt,
  1190. FALSE, // ModeValid default is always off
  1191. TRUE,
  1192. { 0,0,0x5c}, // int10 BIOS modes
  1193. { NULL, NULL,
  1194. NULL, NULL,
  1195. CL542x_800x600_256, CL543x_800x600_256, MODESET_1K_WIDE },
  1196. },
  1197. // ----- 800x600x256@75Hz ---------------------------------------------------
  1198. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 100, 37,
  1199. 800, 600, 800, 0x80000,
  1200. 75, 0, // 75hz, non-interlaced
  1201. 5, // montype
  1202. 0x1203, 0x03A4, 0, // montype
  1203. TRUE, // hardware cursor enabled for this mode
  1204. PlanarHCBanking, MemMap_VGA,
  1205. CL754x | CL755x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  1206. crt,
  1207. FALSE, // ModeValid default is always off
  1208. TRUE,
  1209. { 0,0,0x5c}, // int10 BIOS modes
  1210. { NULL, NULL,
  1211. NULL, NULL,
  1212. NULL, CL543x_800x600_256, NULL },
  1213. }, //myf1, 17
  1214. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 100, 37,
  1215. 800, 600, 1024, 0x100000,
  1216. 75, 0, // 75hz, non-interlaced
  1217. 5, // montype
  1218. 0x1203, 0x03A4, 0, // montype
  1219. TRUE, // hardware cursor enabled for this mode
  1220. PlanarHCBanking, MemMap_VGA,
  1221. CL754x | CL755x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL54UM36 | CL5480,
  1222. crt,
  1223. FALSE, // ModeValid default is always off
  1224. TRUE,
  1225. { 0,0,0x5c}, // int10 BIOS modes
  1226. { NULL, NULL,
  1227. NULL, NULL,
  1228. NULL, CL543x_800x600_256, MODESET_1K_WIDE },
  1229. },
  1230. // ----- 800x600x256@85Hz ---------------------------------------------------
  1231. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 100, 37,
  1232. 800, 600, 800, 0x80000,
  1233. 85, 0, // 85hz, non-interlaced
  1234. 5, // montype
  1235. 0x1203, 0x04A4, 0, // montype
  1236. TRUE, // hardware cursor enabled for this mode
  1237. PlanarHCBanking, MemMap_VGA,
  1238. CL754x | CL755x | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  1239. crt,
  1240. FALSE, // ModeValid default is always off
  1241. TRUE,
  1242. { 0,0,0x5c}, // int10 BIOS modes
  1243. { NULL, NULL,
  1244. NULL, NULL,
  1245. NULL, CL543x_800x600_256, NULL },
  1246. }, //myf1, 18
  1247. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 100, 37,
  1248. 800, 600, 1024, 0x100000,
  1249. 85, 0, // 85hz, non-interlaced
  1250. 5, // montype
  1251. 0x1203, 0x04A4, 0, // montype
  1252. TRUE, // hardware cursor enabled for this mode
  1253. PlanarHCBanking, MemMap_VGA,
  1254. CL754x | CL755x | CL5436 | CL5446 | CL54UM36 | CL5480,
  1255. crt,
  1256. FALSE, // ModeValid default is always off
  1257. TRUE,
  1258. { 0,0,0x5c}, // int10 BIOS modes
  1259. { NULL, NULL,
  1260. NULL, NULL,
  1261. NULL, CL543x_800x600_256, MODESET_1K_WIDE },
  1262. },
  1263. // ----- 800x600x256@100Hz --------------------------------------------------
  1264. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 100, 37,
  1265. 800, 600, 800, 0x80000,
  1266. 100, 0, // 100Hz, non-interlaced
  1267. 5, // montype
  1268. 0x1203, 0x05A4, 0, // sge01 // montype
  1269. TRUE, // hardware cursor enabled for this mode
  1270. PlanarHCBanking, MemMap_VGA,
  1271. CL5480,
  1272. crt,
  1273. FALSE, // ModeValid default is always off
  1274. TRUE,
  1275. { 0,0,0x5C}, // int10 BIOS modes
  1276. { NULL, NULL,
  1277. NULL, NULL,
  1278. NULL, CL543x_800x600_256, NULL },
  1279. }, //myf1, 19
  1280. // ----- 1024x768x256@43i ---------------------------------------------------
  1281. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 128, 48,
  1282. 1024, 768, 1024, 0x100000,
  1283. 43, 1, // 43Hz, interlaced
  1284. 4, // montype
  1285. 0x1203, 0xA4, 0, // montype
  1286. TRUE, // hardware cursor enabled for this mode
  1287. PlanarHCBanking, MemMap_VGA,
  1288. CL6420 | CL754x | CL755x | CL542x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  1289. crt,
  1290. FALSE, // ModeValid default is always off
  1291. TRUE,
  1292. { 0,0x38,0x60}, // int10 BIOS modes
  1293. { NULL, NULL,
  1294. CL6420_1024x768_256color_crt, NULL,
  1295. CL542x_1024x768_16, CL543x_1024x768_16, 0 },
  1296. }, //myf1, 20
  1297. // ----- 1024x768x256@60Hz --------------------------------------------------
  1298. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 128, 48,
  1299. 1024, 768, 1024, 0x100000,
  1300. 60, 0, // 60hz, non-interlaced
  1301. 5, // montype
  1302. 0x1203, 0x10A4, 0, // montype
  1303. TRUE, // hardware cursor enabled for this mode
  1304. PlanarHCBanking, MemMap_VGA,
  1305. CL754x | CL755x | CL542x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  1306. #ifdef PANNING_SCROLL //myf17
  1307. crt | panel | panel8x6 | panel10x7,
  1308. #else
  1309. crt | panel10x7,
  1310. #endif
  1311. FALSE, // ModeValid default is always off
  1312. TRUE, // what should we do for this mode? vga will accept this!
  1313. { 0,0,0x60}, // int10 BIOS modes
  1314. { NULL, NULL,
  1315. NULL, NULL,
  1316. CL542x_1024x768_16, CL543x_1024x768_16, 0 },
  1317. }, //myf1, 21
  1318. // ----- 1024x768x256@70Hz --------------------------------------------------
  1319. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 128, 48,
  1320. 1024, 768, 1024, 0x100000,
  1321. 70, 0, // 70hz, non-interlaced
  1322. 6, // montype
  1323. 0x1203, 0x20A4, 0, // montype
  1324. TRUE, // hardware cursor enabled for this mode
  1325. PlanarHCBanking, MemMap_VGA,
  1326. CL754x | CL755x | CL542x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  1327. crt,
  1328. FALSE, // ModeValid default is always off
  1329. TRUE,
  1330. { 0,0,0x60}, // int10 BIOS modes
  1331. { NULL, NULL,
  1332. NULL, NULL,
  1333. CL542x_1024x768_16, CL543x_1024x768_16, 0 },
  1334. }, //myf1, 22
  1335. // ----- 1024x768x256@72Hz --------------------------------------------------
  1336. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 128, 48,
  1337. 1024, 768, 1024, 0x100000,
  1338. 72, 0, // 72hz, non-interlaced
  1339. 7, // montype
  1340. 0x1203, 0x30A4, 0, // montype
  1341. TRUE, // hardware cursor enabled for this mode
  1342. PlanarHCBanking, MemMap_VGA,
  1343. CL754x | CL755x | CL542x | CL543x | CL5436 | CL5446 | CL5446BE | CL54UM36,
  1344. crt,
  1345. FALSE, // ModeValid default is always off
  1346. TRUE,
  1347. { 0,0,0x60}, // int10 BIOS modes
  1348. { NULL, NULL,
  1349. NULL, NULL,
  1350. CL542x_1024x768_16, CL543x_1024x768_16, 0 },
  1351. }, //myf1, 23
  1352. // ----- 1024x768x256@75Hz --------------------------------------------------
  1353. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 128, 48,
  1354. 1024, 768, 1024, 0x100000,
  1355. 75, 0, // 75hz, non-interlaced
  1356. 7, // montype
  1357. 0x1203, 0x40A4, 0, // montype
  1358. TRUE, // hardware cursor enabled for this mode
  1359. PlanarHCBanking, MemMap_VGA,
  1360. CL754x | CL755x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  1361. crt,
  1362. FALSE, // ModeValid default is always off
  1363. TRUE,
  1364. { 0,0,0x60}, // int10 BIOS modes
  1365. { NULL, NULL,
  1366. NULL, NULL,
  1367. NULL, CL543x_1024x768_16, 0 },
  1368. }, //myf1, 24
  1369. // ----- 1024x768x256@85Hz --------------------------------------------------
  1370. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 128, 48,
  1371. 1024, 768, 1024, 0x100000,
  1372. 85, 0, // 85hz, non-interlaced
  1373. 7, // montype
  1374. 0x1203, 0x50A4, 0, // montype
  1375. TRUE, // hardware cursor enabled for this mode
  1376. PlanarHCBanking, MemMap_VGA,
  1377. CL755x | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480, //myf0
  1378. crt,
  1379. FALSE, // ModeValid default is always off
  1380. TRUE,
  1381. { 0,0,0x60}, // int10 BIOS modes
  1382. { NULL, NULL,
  1383. NULL, NULL,
  1384. NULL, CL543x_1024x768_16, 0 },
  1385. }, //myf1, 25
  1386. // ----- 1024x768x256@100Hz -------------------------------------------------
  1387. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 128, 48,
  1388. 1024, 768, 1024, 0x100000,
  1389. 100, 0, // 100Hz, non-interlaced
  1390. 7, // montype
  1391. 0x1203, 0x60A4, 0, // sge01 // montype
  1392. TRUE, // hardware cursor enabled for this mode
  1393. PlanarHCBanking, MemMap_VGA,
  1394. CL5480,
  1395. crt,
  1396. FALSE, // ModeValid default is always off
  1397. TRUE,
  1398. { 0,0,0x60}, // int10 BIOS modes
  1399. { NULL, NULL,
  1400. NULL, NULL,
  1401. NULL, CL543x_1024x768_16, 0 },
  1402. }, //myf1, 26
  1403. /* ----->
  1404. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 128, 48,
  1405. 1024, 768, 1024, 0x100000,
  1406. 43, 1, // 43Hz, interlaced
  1407. 4, // montype
  1408. 0x1203, 0xA4, 0, // montype
  1409. TRUE, // hardware cursor enabled for this mode
  1410. PlanarHCBanking, MemMap_VGA,
  1411. CL6420 | CL754x | CL755x | CL542x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL54UM36 | CL5480,
  1412. crt,
  1413. FALSE, // ModeValid default is always off
  1414. TRUE,
  1415. { 0,0x38,0x60}, // int10 BIOS modes
  1416. { NULL, NULL,
  1417. CL6420_1024x768_256color_crt, NULL,
  1418. CL542x_1024x768_16, CL543x_1024x768_16, 0 },
  1419. },
  1420. <----- */
  1421. // ----- 1152x864x256@70Hz --------------------------------------------------
  1422. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 144, 54,
  1423. 1152, 864, 1152, 0x100000,
  1424. 70, 0, // 70hz, non-interlaced
  1425. 7, // montype
  1426. 0x1203, 0xA4, 0x0000, // montype
  1427. TRUE, // hardware cursor enabled for this mode
  1428. PlanarHCBanking, MemMap_VGA,
  1429. CL5446 | CL5446BE | CL5480,
  1430. crt,
  1431. FALSE, // ModeValid default is always off
  1432. TRUE,
  1433. { 0,0,0x7c }, // int10 BIOS modes
  1434. { NULL, NULL,
  1435. NULL, NULL,
  1436. NULL, NULL, 0 },
  1437. }, //myf1, 27
  1438. // ----- 1152x864x256@75Hz --------------------------------------------------
  1439. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 144, 54,
  1440. 1152, 864, 1152, 0x100000,
  1441. 75, 0, // 75hz, non-interlaced
  1442. 7, // montype
  1443. 0x1203, 0xA4, 0x0100, // montype
  1444. TRUE, // hardware cursor enabled for this mode
  1445. PlanarHCBanking, MemMap_VGA,
  1446. CL5446 | CL5446BE | CL5480,
  1447. crt,
  1448. FALSE, // ModeValid default is always off
  1449. TRUE,
  1450. { 0,0,0x7c }, // int10 BIOS modes
  1451. { NULL, NULL,
  1452. NULL, NULL,
  1453. NULL, NULL, 0 },
  1454. }, //myf1, 28
  1455. // ----- 1152x864x256@85Hz --------------------------------------------------
  1456. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 144, 54,
  1457. 1152, 864, 1152, 0x100000,
  1458. 85, 0, // 85Hz, non-interlaced
  1459. 7, // montype
  1460. 0x1203, 0xA4, 0x0200, // sge01 // montype
  1461. TRUE, // hardware cursor enabled for this mode
  1462. PlanarHCBanking, MemMap_VGA,
  1463. CL5480,
  1464. crt,
  1465. FALSE, // ModeValid default is always off
  1466. TRUE,
  1467. { 0,0,0x7C }, // int10 BIOS modes
  1468. { NULL, NULL,
  1469. NULL, NULL,
  1470. NULL, NULL, 0 },
  1471. }, //myf1, 29
  1472. // ----- 1152x864x256@100Hz --------------------------------------------------
  1473. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 144, 54,
  1474. 1152, 864, 1152, 0x100000,
  1475. 100, 0, // 100Hz, non-interlaced
  1476. 7, // montype
  1477. 0x1203, 0xA4, 0x0300, // sge01 // montype
  1478. TRUE, // hardware cursor enabled for this mode
  1479. PlanarHCBanking, MemMap_VGA,
  1480. CL5480,
  1481. crt,
  1482. FALSE, // ModeValid default is always off
  1483. TRUE,
  1484. { 0,0,0x7C }, // int10 BIOS modes
  1485. { NULL, NULL,
  1486. NULL, NULL,
  1487. NULL, NULL, 0 },
  1488. }, //myf1, 30
  1489. // ----- 1280x1024x256@43i --------------------------------------------------
  1490. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 160, 64,
  1491. 1280, 1024, 1280, 0x200000,
  1492. 43, 1, // 43Hz, interlaced
  1493. 5, // montype
  1494. 0x1203, 0xA4, 0, // montype
  1495. TRUE, // hardware cursor enabled for this mode
  1496. PlanarHCBanking, MemMap_VGA,
  1497. CL754x | CL755x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  1498. crt,
  1499. FALSE, // ModeValid default is always off
  1500. TRUE,
  1501. { 0,0,0x6D}, // int10 BIOS modes
  1502. { NULL, NULL,
  1503. NULL, NULL,
  1504. NULL, CL543x_1280x1024_16, NULL },
  1505. }, //myf1, 31
  1506. /* ----->
  1507. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 160, 64,
  1508. 1280, 1024, 2048, 0x200000,
  1509. 43, 1, // 43Hz, interlaced
  1510. 5, // montype
  1511. 0x1203, 0xA4, 0, // montype
  1512. TRUE, // hardware cursor enabled for this mode
  1513. PlanarHCBanking, MemMap_VGA,
  1514. CL754x | CL755x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL54UM36 | CL5480,
  1515. crt,
  1516. FALSE, // ModeValid default is always off
  1517. TRUE,
  1518. { 0,0,0x6D}, // int10 BIOS modes
  1519. { NULL, NULL,
  1520. NULL, NULL,
  1521. NULL, CL543x_1280x1024_16, MODESET_2K_WIDE },
  1522. },
  1523. <----- */
  1524. // ----- 1280x1024x256@60Hz -------------------------------------------------
  1525. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 160, 64,
  1526. 1280, 1024, 1280, 0x200000,
  1527. 60, 0, // 60Hz, non-interlaced
  1528. 0, // montype
  1529. 0x1203, 0xA4, 0x1000, // montype
  1530. FALSE, // hardware cursor disabled for this mode
  1531. PlanarHCBanking, MemMap_VGA,
  1532. CL754x | CL755x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  1533. #ifdef PANNING_SCROLL //myf17
  1534. crt | panel | panel8x6 | panel10x7,
  1535. #else
  1536. crt,
  1537. #endif
  1538. FALSE, // ModeValid default is always off
  1539. TRUE,
  1540. { 0,0,0x6D}, // int10 BIOS modes
  1541. { NULL, NULL,
  1542. NULL, NULL,
  1543. NULL, CL543x_1280x1024_16, NULL },
  1544. }, //myf1, 32
  1545. /* ----->
  1546. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 160, 64,
  1547. 1280, 1024, 2048, 0x200000,
  1548. 60, 0, // 60Hz, non-interlaced
  1549. 0, // montype
  1550. 0x1203, 0xA4, 0x1000, // montype
  1551. FALSE, // hardware cursor disabled for this mode
  1552. PlanarHCBanking, MemMap_VGA,
  1553. CL754x | CL755x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL54UM36 | CL5480,
  1554. crt,
  1555. FALSE, // ModeValid default is always off
  1556. TRUE,
  1557. { 0,0,0x6D}, // int10 BIOS modes
  1558. { NULL, NULL,
  1559. NULL, NULL,
  1560. NULL, CL543x_1280x1024_16, MODESET_2K_WIDE },
  1561. },
  1562. <----- */
  1563. // ----- 1280x1024x256@72Hz -------------------------------------------------
  1564. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 160, 64,
  1565. 1280, 1024, 1280, 0x200000,
  1566. 72, 0, // 72Hz, non-interlaced, jl01
  1567. 0, // montype
  1568. 0x1203, 0xA4, 0x2000, // montype
  1569. FALSE, // hardware cursor disabled for this mode
  1570. PlanarHCBanking, MemMap_VGA,
  1571. CL5434_6 | CL5436 | CL54UM36 | CL5446 | CL5446BE,
  1572. crt,
  1573. FALSE, // ModeValid default is always off
  1574. TRUE,
  1575. { 0,0,0x6D}, // int10 BIOS modes
  1576. { NULL, NULL,
  1577. NULL, NULL,
  1578. NULL, CL543x_1280x1024_16, NULL },
  1579. }, //myf1, 33
  1580. /* ----->
  1581. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 160, 64,
  1582. 1280, 1024, 2048, 0x200000,
  1583. 71, 0, // 71Hz, non-interlaced
  1584. 0, // montype
  1585. 0x1203, 0xA4, 0x2000, // montype
  1586. FALSE, // hardware cursor disabled for this mode
  1587. PlanarHCBanking, MemMap_VGA,
  1588. CL5434_6 | CL5436 | CL54UM36 | CL5446 | CL5480,
  1589. crt,
  1590. FALSE, // ModeValid default is always off
  1591. TRUE,
  1592. { 0,0,0x6D}, // int10 BIOS modes
  1593. { NULL, NULL,
  1594. NULL, NULL,
  1595. NULL, CL543x_1280x1024_16, MODESET_2K_WIDE },
  1596. },
  1597. <----- */
  1598. // ----- 1280x1024x256@75Hz -------------------------------------------------
  1599. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 160, 64,
  1600. 1280, 1024, 1280, 0x200000,
  1601. 75, 0, // 75Hz, non-interlaced
  1602. 0, // montype
  1603. 0x1203, 0xA4, 0x3000, // montype
  1604. FALSE, // hardware cursor disabled for this mode
  1605. PlanarHCBanking, MemMap_VGA,
  1606. CL5434_6 | CL5436 | CL54UM36 | CL5446 | CL5446BE | CL5480 | CL7556,
  1607. crt,
  1608. FALSE, // ModeValid default is always off
  1609. TRUE,
  1610. { 0,0,0x6D}, // int10 BIOS modes
  1611. { NULL, NULL,
  1612. NULL, NULL,
  1613. NULL, CL543x_1280x1024_16, NULL },
  1614. }, //myf1, 34
  1615. /* ----->
  1616. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 160, 64,
  1617. 1280, 1024, 2048, 0x200000,
  1618. 75, 0, // 75Hz, non-interlaced
  1619. 0, // montype
  1620. 0x1203, 0xA4, 0x3000, // montype
  1621. FALSE, // hardware cursor disabled for this mode
  1622. PlanarHCBanking, MemMap_VGA,
  1623. CL5434_6 | CL5446 | CL5480, //myf0
  1624. crt,
  1625. FALSE, // ModeValid default is always off
  1626. TRUE,
  1627. { 0,0,0x6D}, // int10 BIOS modes
  1628. { NULL, NULL,
  1629. NULL, NULL,
  1630. NULL, CL543x_1280x1024_16, MODESET_2K_WIDE },
  1631. },
  1632. <----- */
  1633. // ----- 1280x1024x256@85Hz -------------------------------------------------
  1634. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 160, 64,
  1635. 1280, 1024, 1280, 0x200000,
  1636. 85, 0, // 85Hz, non-interlaced
  1637. 0, // montype
  1638. 0x1203, 0xA4, 0x4000, // sge01 // montype
  1639. FALSE, // hardware cursor disabled for this mode
  1640. PlanarHCBanking, MemMap_VGA,
  1641. CL5480,
  1642. crt,
  1643. FALSE, // ModeValid default is always off
  1644. TRUE,
  1645. { 0,0,0x6D}, // int10 BIOS modes
  1646. { NULL, NULL,
  1647. NULL, NULL,
  1648. NULL, CL543x_1280x1024_16, NULL },
  1649. }, //myf1, 35
  1650. // ----- 1280x1024x256@100Hz ------------------------------------------------
  1651. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 160, 64,
  1652. 1280, 1024, 1280, 0x200000,
  1653. 100, 0, // 100Hz, non-interlaced
  1654. 0, // montype
  1655. 0x1203, 0xA4, 0x5000, // sge01 // montype
  1656. FALSE, // hardware cursor disabled for this mode
  1657. PlanarHCBanking, MemMap_VGA,
  1658. CL5480,
  1659. crt,
  1660. FALSE, // ModeValid default is always off
  1661. TRUE,
  1662. { 0,0,0x6D}, // int10 BIOS modes
  1663. { NULL, NULL,
  1664. NULL, NULL,
  1665. NULL, CL543x_1280x1024_16, NULL },
  1666. }, //myf1, 36
  1667. // (This mode doesn't seem to work! ????? )
  1668. //
  1669. // ----- 1600x1200x256@48i --------------------------------------------------
  1670. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 200, 75,
  1671. 1600, 1200, 1600, 0x200000,
  1672. 48, 1, // 96Hz, interlaced
  1673. 7, // montype
  1674. 0x1204, 0xA4, 0x0000, // montype
  1675. FALSE, // hardware cursor disabled for this mode
  1676. PlanarHCBanking, MemMap_VGA,
  1677. CL5480,
  1678. crt,
  1679. FALSE, // ModeValid default is always off
  1680. TRUE,
  1681. { 0,0,0x7B }, // int10 BIOS modes
  1682. { NULL, NULL,
  1683. NULL, NULL,
  1684. NULL, NULL, 0 },
  1685. }, //myf1, 37
  1686. // ----- 1600x1200x256@60Hz -------------------------------------------------
  1687. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 200, 75,
  1688. 1600, 1200, 1600, 0x200000,
  1689. 60, 0, // 60Hz, non-interlaced
  1690. 7, // montype
  1691. 0x1204, 0x00A4, 0x0400, // chu01 // montype
  1692. FALSE, // hardware cursor disabled for this mode
  1693. PlanarHCBanking, MemMap_VGA,
  1694. CL5480,
  1695. crt,
  1696. FALSE, // ModeValid default is always off
  1697. TRUE,
  1698. { 0,0,0x7B }, // int10 BIOS modes
  1699. { NULL, NULL,
  1700. NULL, NULL,
  1701. NULL, NULL, 0 },
  1702. }, //myf1, 38
  1703. // ----- 1600x1200x256@70Hz -------------------------------------------------
  1704. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 8, 200, 75,
  1705. 1600, 1200, 1600, 0x200000,
  1706. 70, 0, // 70Hz, non-interlaced
  1707. 7, // montype
  1708. 0x1204, 0x00A4, 0x0800, // chu01 // montype
  1709. FALSE, // hardware cursor disabled for this mode
  1710. PlanarHCBanking, MemMap_VGA,
  1711. CL5480,
  1712. crt,
  1713. FALSE, // ModeValid default is always off
  1714. TRUE,
  1715. { 0,0,0x7B }, // int10 BIOS modes
  1716. { NULL, NULL,
  1717. NULL, NULL,
  1718. NULL, NULL, 0 },
  1719. }, //myf1, 39
  1720. //
  1721. // The Cirrus Display Driver now supports broken rasters,
  1722. // so I have enabled support for broken rasters in the
  1723. // miniport.
  1724. //
  1725. // Eventually we will probably want to add additional
  1726. // (equivalent) modes which don't require broken rasters.
  1727. //
  1728. // To get back to these modes, make the wbytes field
  1729. // equal to 2048, set the memory requirements field
  1730. // appropriately (1 meg for 640x480x64k, 2 meg for
  1731. // 800x600x64).
  1732. //
  1733. // Finally for non broken rasters we need to the
  1734. // stretch from NULL to MODESET_2K_WIDE.
  1735. //
  1736. // ----- 640x480x64K@60Hz ---------------------------------------------------
  1737. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 80, 30,
  1738. 640, 480, 1280, 0x100000,
  1739. 60, 0, // 60hz, non-interlaced
  1740. 3, // montype
  1741. 0x1203, 0x00A4, 0, // montype
  1742. TRUE, // hardware cursor enabled for this mode
  1743. PlanarHCBanking, MemMap_VGA,
  1744. CL754x | CL755x | CL542x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  1745. #ifdef PANNING_SCROLL //myf17
  1746. crt | panel | panel8x6 | panel10x7,
  1747. #else
  1748. crt | panel | panel8x6 | panel10x7,
  1749. #endif
  1750. FALSE, // ModeValid default is always off
  1751. TRUE,
  1752. { 0,0,0x64}, // int10 BIOS modes
  1753. { NULL, NULL,
  1754. NULL, NULL,
  1755. CL542x_640x480_64k, CL543x_640x480_64k, NULL},
  1756. }, //myf1, 40
  1757. //
  1758. // The Compaq storm (754x 800x600 LCD) has a problem with the stretch
  1759. // code under 64k color modes. The last pixel on a line is wrapped
  1760. // around to the start of the next line. The problem is solved if we
  1761. // use a non-stretched broken raster mode.
  1762. //
  1763. // I've expanded our 640x480x64k color modes such that we have both
  1764. // a broken raster mode (on all platforms) and a stretched mode for
  1765. // x86 machines. (In case cirrus.dll does not load, and vga64k
  1766. // loads instead. Vga64k does not support broken rasters.)
  1767. //
  1768. //
  1769. // VGA Color graphics, 640x480 64k colors. 2K scan line
  1770. // Non-Broken Raster version
  1771. //
  1772. /* ----->
  1773. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 80, 30,
  1774. 640, 480, 2048, 0x100000,
  1775. 60, 0, // 60hz, non-interlaced
  1776. 3, // montype
  1777. 0x1203, 0x00A4, 0, // montype
  1778. TRUE, // hardware cursor enabled for this mode
  1779. PlanarHCBanking, MemMap_VGA,
  1780. CL754x | CL755x | CL542x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL54UM36 | CL5480,
  1781. crt | panel | panel8x6 | panel10x7,
  1782. FALSE, // ModeValid default is always off
  1783. TRUE,
  1784. { 0,0,0x64}, // int10 BIOS modes
  1785. { NULL, NULL,
  1786. NULL, NULL,
  1787. CL542x_640x480_64k, CL543x_640x480_64k, MODESET_2K_WIDE },
  1788. },
  1789. <----- */
  1790. //
  1791. //
  1792. // VGA Color graphics, 640x480 64k colors. 2K scan line
  1793. //
  1794. // ----- 640x480x64K@72Hz ---------------------------------------------------
  1795. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 80, 30,
  1796. 640, 480, 1280, 0x100000,
  1797. 72, 0, // 72hz, non-interlaced
  1798. 4, // montype
  1799. 0x1213, 0x00A4, 0, // montype
  1800. TRUE, // hardware cursor enabled for this mode
  1801. PlanarHCBanking, MemMap_VGA,
  1802. CL754x | CL755x | CL542x | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  1803. crt,
  1804. FALSE, // ModeValid default is always off
  1805. TRUE,
  1806. { 0,0,0x64}, // int10 BIOS modes
  1807. { NULL, NULL,
  1808. NULL, NULL,
  1809. NULL, CL543x_640x480_64k, NULL },
  1810. }, //myf1, 41
  1811. /* ----->
  1812. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 80, 30,
  1813. 640, 480, 2048, 0x100000,
  1814. 72, 0, // 72hz, non-interlaced
  1815. 4, // montype
  1816. 0x1213, 0x00A4, 0, // montype
  1817. TRUE, // hardware cursor enabled for this mode
  1818. PlanarHCBanking, MemMap_VGA,
  1819. CL754x | CL755x | CL542x | CL5436 | CL5446 | CL54UM36 | CL5480,
  1820. crt,
  1821. FALSE, // ModeValid default is always off
  1822. TRUE,
  1823. { 0,0,0x64}, // int10 BIOS modes
  1824. { NULL, NULL,
  1825. NULL, NULL,
  1826. NULL, CL543x_640x480_64k, NULL },
  1827. },
  1828. <----- */
  1829. //
  1830. // VGA Color graphics, 640x480 64k colors. 2K scan line
  1831. //
  1832. // ----- 640x480x64K@75Hz ---------------------------------------------------
  1833. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 80, 30,
  1834. 640, 480, 1280, 0x100000,
  1835. 75, 0, // 75hz, non-interlaced
  1836. 4, // montype
  1837. 0x1230, 0x00A4, 0, // montype
  1838. TRUE, // hardware cursor enabled for this mode
  1839. PlanarHCBanking, MemMap_VGA,
  1840. CL754x | CL755x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  1841. crt,
  1842. FALSE, // ModeValid default is always off
  1843. TRUE,
  1844. { 0,0,0x64}, // int10 BIOS modes
  1845. { NULL, NULL,
  1846. NULL, NULL,
  1847. NULL, CL543x_640x480_64k, NULL },
  1848. }, //myf1, 42
  1849. /* ----->
  1850. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 80, 30,
  1851. 640, 480, 2048, 0x100000,
  1852. 75, 0, // 75hz, non-interlaced
  1853. 4, // montype
  1854. 0x1230, 0x00A4, 0, // montype
  1855. TRUE, // hardware cursor enabled for this mode
  1856. PlanarHCBanking, MemMap_VGA,
  1857. CL754x | CL755x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL54UM36 | CL5480,
  1858. crt,
  1859. FALSE, // ModeValid default is always off
  1860. TRUE,
  1861. { 0,0,0x64}, // int10 BIOS modes
  1862. { NULL, NULL,
  1863. NULL, NULL,
  1864. NULL, CL543x_640x480_64k, MODESET_2K_WIDE },
  1865. },
  1866. <----- */
  1867. // 640x480 64k colors. 85hz non-interlaced
  1868. //
  1869. // ----- 640x480x64K@85Hz ---------------------------------------------------
  1870. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 80, 30,
  1871. 640, 480, 1280, 0x100000,
  1872. 85, 0, // 85hz, non-interlaced
  1873. 4, // montype
  1874. 0x1230, 0x00A4, 0, // montype
  1875. TRUE, // hardware cursor enabled for this mode
  1876. PlanarHCBanking, MemMap_VGA,
  1877. CL754x | CL755x | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480, //myf0, myf22
  1878. crt,
  1879. FALSE, // ModeValid default is always off
  1880. TRUE,
  1881. { 0,0,0x64}, // int10 BIOS modes
  1882. { NULL, NULL,
  1883. NULL, NULL,
  1884. NULL, CL543x_640x480_64k, NULL },
  1885. }, //myf1, 43
  1886. /* ----->
  1887. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 80, 30,
  1888. 640, 480, 2048, 0x100000,
  1889. 85, 0, // 85hz, non-interlaced
  1890. 4, // montype
  1891. 0x1213, 0x00A4, 0, // montype
  1892. TRUE, // hardware cursor enabled for this mode
  1893. PlanarHCBanking, MemMap_VGA,
  1894. CL755x | CL5436 | CL5446 | CL54UM36 | CL5480, //myf0
  1895. crt,
  1896. FALSE, // ModeValid default is always off
  1897. TRUE,
  1898. { 0,0,0x64}, // int10 BIOS modes
  1899. { NULL, NULL,
  1900. NULL, NULL,
  1901. NULL, CL543x_640x480_64k, MODESET_2K_WIDE },
  1902. },
  1903. <----- */
  1904. // ----- 640x480x64K@100Hz --------------------------------------------------
  1905. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 80, 30,
  1906. 640, 480, 1280, 0x100000,
  1907. 100, 0, // 100hz, non-interlaced
  1908. 4, // montype
  1909. 0x1230, 0x00A4, 0, // montype
  1910. TRUE, // hardware cursor enabled for this mode
  1911. PlanarHCBanking, MemMap_VGA,
  1912. CL5480,
  1913. crt,
  1914. FALSE, // ModeValid default is always off
  1915. TRUE,
  1916. { 0,0,0x64}, // int10 BIOS modes
  1917. { NULL, NULL,
  1918. NULL, NULL,
  1919. NULL, CL543x_640x480_64k, NULL },
  1920. }, //myf1, 44
  1921. //
  1922. // VGA Color graphics, 800x600 64k colors. 2K scan line
  1923. //
  1924. // ----- 800x600x64K@56Hz ---------------------------------------------------
  1925. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 100, 37,
  1926. 800, 600, 1600, 0x100000,
  1927. 56, 0, // 56hz, non-interlaced
  1928. 4, // montype
  1929. 0x1203, 0x00A4, 0, // montype
  1930. TRUE, // hardware cursor enabled for this mode
  1931. PlanarHCBanking, MemMap_VGA,
  1932. CL754x | CL755x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL542x | CL5480,
  1933. crt,
  1934. FALSE, // ModeValid default is always off
  1935. TRUE,
  1936. { 0,0,0x65}, // int10 BIOS modes
  1937. { NULL, NULL,
  1938. NULL, NULL,
  1939. NULL, CL543x_800x600_64k, NULL },
  1940. }, //myf1, 45
  1941. /* ----->
  1942. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 100, 37,
  1943. 800, 600, 2048, 0x200000,
  1944. 56, 0, // 56hz, non-interlaced
  1945. 4, // montype
  1946. 0x1203, 0x00A4, 0, // montype
  1947. TRUE, // hardware cursor enabled for this mode
  1948. PlanarHCBanking, MemMap_VGA,
  1949. CL754x | CL755x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL54UM36 | CL5480,
  1950. crt,
  1951. FALSE, // ModeValid default is always off
  1952. TRUE,
  1953. { 0,0,0x65}, // int10 BIOS modes
  1954. { NULL, NULL,
  1955. NULL, NULL,
  1956. NULL, CL543x_800x600_64k, MODESET_2K_WIDE },
  1957. },
  1958. <----- */
  1959. //
  1960. // VGA Color graphics, 800x600 64k colors. 2K scan line
  1961. //
  1962. // ----- 800x600x64K@60Hz ---------------------------------------------------
  1963. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 100, 37,
  1964. 800, 600, 1600, 0x100000,
  1965. 60, 0, // 60hz, non-interlaced
  1966. 4, // montype
  1967. 0x1203, 0x01A4, 0, // montype
  1968. TRUE, // hardware cursor enabled for this mode
  1969. PlanarHCBanking, MemMap_VGA,
  1970. CL754x | CL755x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL542x | CL5480,
  1971. #ifdef PANNING_SCROLL //myf17
  1972. crt | panel | panel8x6 | panel10x7,
  1973. #else
  1974. crt | panel8x6 | panel10x7,
  1975. #endif
  1976. FALSE, // ModeValid default is always off
  1977. TRUE,
  1978. { 0,0,0x65}, // int10 BIOS modes
  1979. { NULL, NULL,
  1980. NULL, NULL,
  1981. NULL, CL543x_800x600_64k, NULL },
  1982. }, //myf1, 46
  1983. /* ----->
  1984. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 100, 37,
  1985. 800, 600, 2048, 0x200000,
  1986. 60, 0, // 60hz, non-interlaced
  1987. 4, // montype
  1988. 0x1203, 0x01A4, 0, // montype
  1989. TRUE, // hardware cursor enabled for this mode
  1990. PlanarHCBanking, MemMap_VGA,
  1991. CL754x | CL755x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL54UM36 | CL5480,
  1992. #ifdef PANNING_SCROLL //myf17
  1993. crt | panel | panel8x6 | panel10x7,
  1994. #else
  1995. crt | panel8x6 | panel10x7,
  1996. #endif
  1997. FALSE, // ModeValid default is always off
  1998. TRUE,
  1999. { 0,0,0x65}, // int10 BIOS modes
  2000. { NULL, NULL,
  2001. NULL, NULL,
  2002. NULL, CL543x_800x600_64k, MODESET_2K_WIDE },
  2003. },
  2004. <----- */
  2005. //
  2006. // VGA Color graphics, 800x600 64k colors. 2K scan line
  2007. //
  2008. // ----- 800x600x64K@72Hz ---------------------------------------------------
  2009. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 100, 37,
  2010. 800, 600, 1600, 0x100000,
  2011. 72, 0, // 72hz, non-interlaced
  2012. 5, // montype
  2013. 0x1203, 0x02A4, 0, // montype
  2014. TRUE, // hardware cursor enabled for this mode
  2015. PlanarHCBanking, MemMap_VGA,
  2016. CL754x | CL755x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL542x | CL5480,
  2017. crt,
  2018. FALSE, // ModeValid default is always off
  2019. TRUE,
  2020. { 0,0,0x65}, // int10 BIOS modes
  2021. { NULL, NULL,
  2022. NULL, NULL,
  2023. NULL, CL543x_800x600_64k, NULL },
  2024. }, //myf1, 47
  2025. /* ----->
  2026. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 100, 37,
  2027. 800, 600, 2048, 0x200000,
  2028. 72, 0, // 72hz, non-interlaced
  2029. 5, // montype
  2030. 0x1203, 0x02A4, 0, // montype
  2031. TRUE, // hardware cursor enabled for this mode
  2032. PlanarHCBanking, MemMap_VGA,
  2033. CL754x | CL755x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL54UM36 | CL5480,
  2034. crt,
  2035. FALSE, // ModeValid default is always off
  2036. TRUE,
  2037. { 0,0,0x65}, // int10 BIOS modes
  2038. { NULL, NULL,
  2039. NULL, NULL,
  2040. NULL, CL543x_800x600_64k, MODESET_2K_WIDE },
  2041. },
  2042. <----- */
  2043. //
  2044. // VGA Color graphics, 800x600 64k colors. 2K scan line
  2045. //
  2046. // ----- 800x600x64K@75Hz ---------------------------------------------------
  2047. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 100, 37,
  2048. 800, 600, 1600, 0x100000,
  2049. 75, 0, // 75hz, non-interlaced
  2050. 5, // montype
  2051. 0x1203, 0x03A4, 0, // montype
  2052. TRUE, // hardware cursor enabled for this mode
  2053. PlanarHCBanking, MemMap_VGA,
  2054. CL754x | CL755x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  2055. crt,
  2056. FALSE, // ModeValid default is always off
  2057. TRUE,
  2058. { 0,0,0x65}, // int10 BIOS modes
  2059. { NULL, NULL,
  2060. NULL, NULL,
  2061. NULL, CL543x_800x600_64k, NULL },
  2062. }, //myf1, 48
  2063. /* ----->
  2064. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 100, 37,
  2065. 800, 600, 2048, 0x200000,
  2066. 75, 0, // 75hz, non-interlaced
  2067. 5, // montype
  2068. 0x1203, 0x03A4, 0, // montype
  2069. TRUE, // hardware cursor enabled for this mode
  2070. PlanarHCBanking, MemMap_VGA,
  2071. CL754x | CL755x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL54UM36 | CL5480,
  2072. crt,
  2073. FALSE, // ModeValid default is always off
  2074. TRUE,
  2075. { 0,0,0x65}, // int10 BIOS modes
  2076. { NULL, NULL,
  2077. NULL, NULL,
  2078. NULL, CL543x_800x600_64k, MODESET_2K_WIDE },
  2079. },
  2080. <----- */
  2081. // ----- 800x600x64K@85Hz ---------------------------------------------------
  2082. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 100, 37,
  2083. 800, 600, 1600, 0x100000,
  2084. 85, 0, // 85hz, non-interlaced
  2085. 5, // montype
  2086. 0x1203, 0x04A4, 0, // montype
  2087. TRUE, // hardware cursor enabled for this mode
  2088. PlanarHCBanking, MemMap_VGA,
  2089. CL755x | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480, //myf0
  2090. crt,
  2091. FALSE, // ModeValid default is always off
  2092. TRUE,
  2093. { 0,0,0x65}, // int10 BIOS modes
  2094. { NULL, NULL,
  2095. NULL, NULL,
  2096. NULL, CL543x_800x600_64k, NULL },
  2097. }, //myf1, 49
  2098. // ----- 800x600x64K@100Hz --------------------------------------------------
  2099. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 100, 37,
  2100. 800, 600, 1600, 0x100000,
  2101. 100, 0, // 100hz, non-interlaced
  2102. 5, // montype
  2103. 0x1203, 0x05A4, 0, // sge01 // montype
  2104. TRUE, // hardware cursor enabled for this mode
  2105. PlanarHCBanking, MemMap_VGA,
  2106. CL5480,
  2107. crt,
  2108. FALSE, // ModeValid default is always off
  2109. TRUE,
  2110. { 0,0,0x65}, // int10 BIOS modes
  2111. { NULL, NULL,
  2112. NULL, NULL,
  2113. NULL, CL543x_800x600_64k, NULL },
  2114. }, //myf1, 50
  2115. //
  2116. // VGA Color graphics, 1024x768 64k colors. 2K scan line
  2117. //
  2118. // ----- 1024x768x64K@43i ---------------------------------------------------
  2119. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 128, 48,
  2120. 1024, 768, 2048, 0x200000,
  2121. 43, 1, // 43hz, interlaced
  2122. 5, // montype
  2123. 0x1203, 0x00A4, 0, // montype
  2124. TRUE, // hardware cursor enabled for this mode
  2125. PlanarHCBanking, MemMap_VGA,
  2126. CL754x | CL755x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  2127. crt,
  2128. FALSE, // ModeValid default is always off
  2129. TRUE,
  2130. { 0,0,0x74}, // int10 BIOS modes
  2131. { NULL, NULL,
  2132. NULL, NULL,
  2133. NULL, CL543x_1024x768_64k, 0 },
  2134. }, //myf1, 51
  2135. //
  2136. // VGA Color graphics, 1024x768 64k colors. 2K scan line
  2137. //
  2138. // ----- 1024x768x64K@60Hz --------------------------------------------------
  2139. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 128, 48,
  2140. 1024, 768, 2048, 0x200000,
  2141. 60, 0, // 60hz, non-interlaced
  2142. 5, // montype
  2143. 0x1203, 0x10A4, 0, // montype
  2144. TRUE, // hardware cursor enabled for this mode
  2145. PlanarHCBanking, MemMap_VGA,
  2146. CL754x | CL755x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  2147. #ifdef PANNING_SCROLL //myf17
  2148. crt | panel | panel8x6 | panel10x7,
  2149. #else
  2150. crt | panel10x7,
  2151. #endif
  2152. FALSE, // ModeValid default is always off
  2153. TRUE,
  2154. { 0,0,0x74}, // int10 BIOS modes
  2155. { NULL, NULL,
  2156. NULL, NULL,
  2157. NULL, CL543x_1024x768_64k, 0 },
  2158. }, //myf1, 52
  2159. //
  2160. // VGA Color graphics, 1024x768 64k colors. 2K scan line
  2161. //
  2162. // ----- 1024x768x64K@70Hz --------------------------------------------------
  2163. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 128, 48,
  2164. 1024, 768, 2048, 0x200000,
  2165. 70, 0, // 70hz, non-interlaced
  2166. 6, // montype
  2167. 0x1203, 0x20A4, 0, // montype
  2168. TRUE, // hardware cursor enabled for this mode
  2169. PlanarHCBanking, MemMap_VGA,
  2170. CL754x | CL755x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  2171. crt,
  2172. FALSE, // ModeValid default is always off
  2173. TRUE,
  2174. { 0,0,0x74}, // int10 BIOS modes
  2175. { NULL, NULL,
  2176. NULL, NULL,
  2177. NULL, CL543x_1024x768_64k, 0 },
  2178. }, //myf1, 53
  2179. //
  2180. // VGA Color graphics, 1024x768 64k colors. 2K scan line
  2181. //
  2182. // ----- 1024x768x64K@75Hz --------------------------------------------------
  2183. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 128, 48,
  2184. 1024, 768, 2048, 0x200000,
  2185. 75, 0, // 75hz, non-interlaced
  2186. 7, // montype
  2187. 0x1203, 0x40A4, 0, // montype
  2188. TRUE, // hardware cursor enabled for this mode
  2189. PlanarHCBanking, MemMap_VGA,
  2190. CL754x | CL755x | CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  2191. crt,
  2192. FALSE, // ModeValid default is always off
  2193. TRUE,
  2194. { 0,0,0x74}, // int10 BIOS modes
  2195. { NULL, NULL,
  2196. NULL, NULL,
  2197. NULL, CL543x_1024x768_64k, 0 },
  2198. }, //myf1, 54
  2199. // 1024x768 64k colors. 85Hz non-interlaced
  2200. //
  2201. // ----- 1024x768x64K@85Hz --------------------------------------------------
  2202. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 128, 48,
  2203. 1024, 768, 2048, 0x200000,
  2204. 85, 0, // 85hz, non-interlaced
  2205. 7, // montype
  2206. 0x1203, 0x50A4, 0, // montype
  2207. TRUE, // hardware cursor enabled for this mode
  2208. PlanarHCBanking, MemMap_VGA,
  2209. CL755x | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480, //myf0
  2210. crt,
  2211. FALSE, // ModeValid default is always off
  2212. TRUE,
  2213. { 0,0,0x74}, // int10 BIOS modes
  2214. { NULL, NULL,
  2215. NULL, NULL,
  2216. NULL, CL543x_1024x768_64k, 0,
  2217. NULL},
  2218. }, //myf1, 55
  2219. // ----- 1024x768x64K@100Hz -------------------------------------------------
  2220. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 128, 48,
  2221. 1024, 768, 2048, 0x200000,
  2222. 100, 0, // 100hz, non-interlaced
  2223. 7, // montype
  2224. 0x1203, 0x60A4, 0, // sge01 // montype
  2225. TRUE, // hardware cursor enabled for this mode
  2226. PlanarHCBanking, MemMap_VGA,
  2227. CL5480,
  2228. crt,
  2229. FALSE, // ModeValid default is always off
  2230. TRUE,
  2231. { 0,0,0x74}, // int10 BIOS modes
  2232. { NULL, NULL,
  2233. NULL, NULL,
  2234. NULL, CL543x_1024x768_64k, 0,
  2235. NULL},
  2236. }, //myf1, 56
  2237. // crus
  2238. // 1152x864 64k colors. 70Hz non-interlaced
  2239. //
  2240. // ----- 1152x864x64K@70Hz --------------------------------------------------
  2241. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 144, 54,
  2242. 1152, 864, 2304, 0x200000,
  2243. 70, 0, // 70Hz, non-interlaced
  2244. 7, // montype
  2245. 0x1203, 0x00A4, 0x0000, // montype
  2246. TRUE, // hardware cursor enabled for this mode
  2247. PlanarHCBanking, MemMap_VGA,
  2248. CL5446BE | CL5480, // jl02
  2249. crt,
  2250. FALSE, // ModeValid default is always off
  2251. TRUE,
  2252. { 0,0,0x7d }, // int10 BIOS modes
  2253. { NULL, NULL,
  2254. NULL, NULL,
  2255. NULL, NULL, 0 },
  2256. }, //myf1, 57
  2257. // crus
  2258. // 1152x864 64k colors. 75Hz non-interlaced
  2259. //
  2260. // ----- 1152x864x64K@75Hz --------------------------------------------------
  2261. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 144, 54,
  2262. 1152, 864, 2304, 0x200000,
  2263. 75, 0, // 75Hz, non-interlaced
  2264. 7, // montype
  2265. 0x1203, 0x00A4, 0x0100, // montype
  2266. TRUE, // hardware cursor enabled for this mode
  2267. PlanarHCBanking, MemMap_VGA,
  2268. CL5446BE | CL5480, // jl02
  2269. crt,
  2270. FALSE, // ModeValid default is always off
  2271. TRUE,
  2272. { 0,0,0x7d }, // int10 BIOS modes
  2273. { NULL, NULL,
  2274. NULL, NULL,
  2275. NULL, NULL, 0 },
  2276. }, //myf1, 58
  2277. // ----- 1152x864x64K@85Hz --------------------------------------------------
  2278. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 144, 54,
  2279. 1152, 864, 2304, 0x200000,
  2280. 85, 0, // 85Hz, non-interlaced
  2281. 7, // montype
  2282. 0x1203, 0x00A4, 0x0200, // sge01 // montype
  2283. TRUE, // hardware cursor enabled for this mode
  2284. PlanarHCBanking, MemMap_VGA,
  2285. CL5480,
  2286. crt,
  2287. FALSE, // ModeValid default is always off
  2288. TRUE,
  2289. { 0,0,0x7d }, // int10 BIOS modes
  2290. { NULL, NULL,
  2291. NULL, NULL,
  2292. NULL, NULL, 0 },
  2293. }, //myf1, 59
  2294. // ----- 1152x864x64K@100Hz -------------------------------------------------
  2295. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 144, 54,
  2296. 1152, 864, 2304, 0x200000,
  2297. 100, 0, // 100Hz, non-interlaced
  2298. 7, // montype
  2299. 0x1203, 0x00A4, 0x0300, // sge01 // montype
  2300. TRUE, // hardware cursor enabled for this mode
  2301. PlanarHCBanking, MemMap_VGA,
  2302. CL5480,
  2303. crt,
  2304. FALSE, // ModeValid default is always off
  2305. TRUE,
  2306. { 0,0,0x7d }, // int10 BIOS modes
  2307. { NULL, NULL,
  2308. NULL, NULL,
  2309. NULL, NULL, 0 },
  2310. }, //myf1, 60
  2311. // crus
  2312. //
  2313. // 1280x1024 interlaced 64k colors, 43Hz interleaced
  2314. // Assumes 3 MB required.
  2315. //
  2316. // ----- 1280x1024x64K@43i --------------------------------------------------
  2317. #if 1
  2318. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 160, 64,
  2319. 1280, 1024, 2560, 0x300000, // 0x400000
  2320. 43, 1, // 43Hz, interlaced
  2321. 0, // montype
  2322. 0x1203, 0xA4, 0x0000, // montype
  2323. TRUE, // hardware cursor enabled for this mode
  2324. PlanarHCBanking, MemMap_VGA,
  2325. CL543x | CL5434 | CL5434_6 | CL5436 | CL5446 | CL5446BE | CL5480,
  2326. crt,
  2327. FALSE, // ModeValid default is always off
  2328. TRUE,
  2329. { 0,0,0x75 }, // int10 BIOS modes
  2330. { NULL, NULL,
  2331. NULL, NULL,
  2332. NULL, NULL, MODESET_75 }, // crus
  2333. }, //myf1, 61
  2334. #endif
  2335. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 160, 64,
  2336. 1280, 1024, 2560, 0x400000, // 0x400000
  2337. 43, 1, // 43Hz, interlaced
  2338. 0, // montype
  2339. 0x1203, 0xA4, 0x0000, // montype
  2340. TRUE, // hardware cursor enabled for this mode
  2341. PlanarHCBanking, MemMap_VGA,
  2342. CL5480 | CL7556,
  2343. crt,
  2344. FALSE, // ModeValid default is always off
  2345. TRUE,
  2346. { 0,0,0x75 }, // int10 BIOS modes
  2347. { NULL, NULL,
  2348. NULL, NULL,
  2349. NULL, NULL, MODESET_75 }, // crus
  2350. }, //myf1, 62
  2351. // ----- 1280x1024x64K@60Hz -------------------------------------------------
  2352. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 160, 64,
  2353. 1280, 1024, 2560, 0x400000, // 0x400000
  2354. 60, 0, // 60Hz, non-interlaced
  2355. 0, // montype
  2356. 0x1203, 0xA4, 0x1000, // sge01 // montype
  2357. TRUE, // hardware cursor enabled for this mode
  2358. PlanarHCBanking, MemMap_VGA,
  2359. CL5446BE | CL5480 | CL7556, // jl02
  2360. crt,
  2361. FALSE, // ModeValid default is always off
  2362. TRUE,
  2363. { 0,0,0x75 }, // int10 BIOS modes
  2364. { NULL, NULL,
  2365. NULL, NULL,
  2366. NULL, NULL, MODESET_75 }, // crus
  2367. }, //myf1, 63
  2368. // ----- 1280x1024x64K@75Hz -------------------------------------------------
  2369. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 160, 64,
  2370. 1280, 1024, 2560, 0x400000, // 0x400000
  2371. 75, 0, // 75Hz, non-interlaced
  2372. 0, // montype
  2373. 0x1203, 0xA4, 0x3000, // sge01 // montype
  2374. TRUE, // hardware cursor enabled for this mode
  2375. PlanarHCBanking, MemMap_VGA,
  2376. CL5480,
  2377. crt,
  2378. FALSE, // ModeValid default is always off
  2379. TRUE,
  2380. { 0,0,0x75 }, // int10 BIOS modes
  2381. { NULL, NULL,
  2382. NULL, NULL,
  2383. NULL, NULL, MODESET_75 }, // crus
  2384. }, //myf1, 64
  2385. // ----- 1280x1024x64K@85Hz -------------------------------------------------
  2386. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 160, 64,
  2387. 1280, 1024, 2560, 0x400000, // 0x400000
  2388. 85, 0, // 85Hz, non-interlaced
  2389. 0, // montype
  2390. 0x1203, 0xA4, 0x4000, //sge01 // montype
  2391. TRUE, // hardware cursor enabled for this mode
  2392. PlanarHCBanking, MemMap_VGA,
  2393. CL5480,
  2394. crt,
  2395. FALSE, // ModeValid default is always off
  2396. TRUE,
  2397. { 0,0,0x75 }, // int10 BIOS modes
  2398. { NULL, NULL,
  2399. NULL, NULL,
  2400. NULL, NULL, MODESET_75 }, // crus
  2401. }, //myf1, 65
  2402. // ----- 1280x1024x64K@100Hz ------------------------------------------------
  2403. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 160, 64,
  2404. 1280, 1024, 2560, 0x400000, // 0x400000
  2405. 100, 0, // 100Hz, non-interlaced
  2406. 0, // montype
  2407. 0x1203, 0xA4, 0x5000, // sge01 // montype
  2408. TRUE, // hardware cursor enabled for this mode
  2409. PlanarHCBanking, MemMap_VGA,
  2410. CL5480,
  2411. crt,
  2412. FALSE, // ModeValid default is always off
  2413. TRUE,
  2414. { 0,0,0x75 }, // int10 BIOS modes
  2415. { NULL, NULL,
  2416. NULL, NULL,
  2417. NULL, NULL, MODESET_75 }, // crus
  2418. }, //myf1, 66
  2419. //
  2420. // 1600x1200 64K colors. (This mode doesn't seem to work! ????? )
  2421. //
  2422. // ----- 1600x1200x64K@48i --------------------------------------------------
  2423. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 200, 75,
  2424. 1600, 1200, 3200, 0x400000,
  2425. 48, 1, // 96Hz, interlaced
  2426. 7, // montype
  2427. 0x1204, 0xA4, 0x0000, // montype
  2428. FALSE, // hardware cursor disabled for this mode
  2429. PlanarHCBanking, MemMap_VGA,
  2430. CL5480,
  2431. crt,
  2432. FALSE, // ModeValid default is always off
  2433. TRUE,
  2434. { 0,0,0x7F }, // int10 BIOS modes
  2435. { NULL, NULL,
  2436. NULL, NULL,
  2437. NULL, NULL, 0 },
  2438. }, //myf1, 67
  2439. // ----- 1600x1200x64K@60Hz -------------------------------------------------
  2440. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 200, 75,
  2441. 1600, 1200, 3200, 0x400000,
  2442. 60, 0, // 60Hz, non-interlaced
  2443. 7, // montype
  2444. 0x1204, 0xA4, 0x0400, // sge01 // montype
  2445. FALSE, // hardware cursor disabled for this mode
  2446. PlanarHCBanking, MemMap_VGA,
  2447. CL5480,
  2448. crt,
  2449. FALSE, // ModeValid default is always off
  2450. TRUE,
  2451. { 0,0,0x7F }, // int10 BIOS modes
  2452. { NULL, NULL,
  2453. NULL, NULL,
  2454. NULL, NULL, 0 },
  2455. }, //myf1, 68
  2456. // ----- 1600x1200x64K@70Hz -------------------------------------------------
  2457. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 16, 200, 75,
  2458. 1600, 1200, 3200, 0x400000,
  2459. 70, 0, // 70Hz, non-interlaced
  2460. 7, // montype
  2461. 0x1204, 0xA4, 0x0800, // sge01 // montype
  2462. FALSE, // hardware cursor disabled for this mode
  2463. PlanarHCBanking, MemMap_VGA,
  2464. CL5480,
  2465. crt,
  2466. FALSE, // ModeValid default is always off
  2467. TRUE,
  2468. { 0,0,0x7F }, // int10 BIOS modes
  2469. { NULL, NULL,
  2470. NULL, NULL,
  2471. NULL, NULL, 0 },
  2472. }, //myf1, 69
  2473. #if 1
  2474. // added 24bpp mode tables
  2475. // ----- 640x480x16M@60Hz ---------------------------------------------------
  2476. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 80, 30,
  2477. 640, 480, 1920, 0x100000,
  2478. 60, 0, // 60hz, non-interlaced
  2479. 3, // montype
  2480. 0x1203, 0x00A4, 0, // montype
  2481. TRUE, // hardware cursor enabled for this mode
  2482. PlanarHCBanking, MemMap_VGA,
  2483. // crus
  2484. //myf0 CL754x | CL755x | CL5436 | CL5446 | CL54UM36 | CL5480, //myf0
  2485. CL755x | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480, //myf0
  2486. // crus
  2487. #ifdef PANNING_SCROLL //myf17
  2488. crt | panel | panel8x6 | panel10x7,
  2489. #else
  2490. crt | panel | panel8x6 | panel10x7,
  2491. #endif
  2492. FALSE, // ModeValid default is always off
  2493. TRUE,
  2494. { 0,0,0x71}, // int10 BIOS modes
  2495. { NULL, NULL,
  2496. NULL, NULL,
  2497. NULL, CL543x_640x480x16M, 0 },
  2498. }, //myf1, 70
  2499. /* ----->
  2500. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 80, 30,
  2501. 640, 480, 2048, 0x100000,
  2502. 60, 0, // 60hz, non-interlaced
  2503. 3, // montype
  2504. 0x1203, 0x00A4, 0, // montype
  2505. TRUE, // hardware cursor enabled for this mode
  2506. PlanarHCBanking, MemMap_VGA,
  2507. // crus
  2508. // CL754x | CL755x | CL5436 | CL5446 | CL54UM36 | CL5480,
  2509. CL755x | CL5436 | CL5446 | CL54UM36 | CL5480, //myf0
  2510. // crus
  2511. crt | panel | panel8x6 | panel10x7,
  2512. FALSE, // ModeValid default is always off
  2513. TRUE,
  2514. { 0,0,0x71}, // int10 BIOS modes
  2515. { NULL, NULL,
  2516. NULL, NULL,
  2517. NULL, NULL, 0 },
  2518. },
  2519. <----- */
  2520. // ----- 640x480x16M@72Hz ---------------------------------------------------
  2521. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 80, 30,
  2522. 640, 480, 1920, 0x100000,
  2523. 72, 0, // 72hz, non-interlaced
  2524. 3, // montype
  2525. 0x1213, 0x00A4, 0, // montype
  2526. TRUE, // hardware cursor enabled for this mode
  2527. PlanarHCBanking, MemMap_VGA,
  2528. // crus
  2529. // CL754x | CL755x | CL5436 | CL5446 | CL54UM36 | CL5480,
  2530. CL755x | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480, //myf0
  2531. crt,
  2532. FALSE, // ModeValid default is always off
  2533. TRUE,
  2534. { 0,0,0x71}, // int10 BIOS modes
  2535. { NULL, NULL,
  2536. NULL, NULL,
  2537. NULL, CL543x_640x480x16M, 0 },
  2538. }, //myf1, 71
  2539. /* ----->
  2540. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 80, 30,
  2541. 640, 480, 2048, 0x100000,
  2542. 72, 0, // 72hz, non-interlaced
  2543. 3, // montype
  2544. 0x1213, 0x00A4, 0, // montype
  2545. TRUE, // hardware cursor enabled for this mode
  2546. PlanarHCBanking, MemMap_VGA,
  2547. // crus
  2548. // CL754x | CL755x | CL5436 | CL5446 | CL54UM36 | CL5480,
  2549. CL755x | CL5436 | CL5446 | CL54UM36 | CL5480, //myf0
  2550. crt,
  2551. FALSE, // ModeValid default is always off
  2552. TRUE,
  2553. { 0,0,0x71}, // int10 BIOS modes
  2554. { NULL, NULL,
  2555. NULL, NULL,
  2556. NULL, NULL, 0 },
  2557. },
  2558. <----- */
  2559. // ----- 640x480x16M@75Hz ---------------------------------------------------
  2560. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 80, 30,
  2561. 640, 480, 1920, 0x100000,
  2562. 75, 0, // 75hz, non-interlaced
  2563. 3, // montype
  2564. 0x1213, 0x00A4, 0, // montype
  2565. TRUE, // hardware cursor enabled for this mode
  2566. PlanarHCBanking, MemMap_VGA,
  2567. // crus
  2568. // CL754x | CL755x | CL5436 | CL5446 | CL54UM36 | CL5480,
  2569. CL755x | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480, //myf0
  2570. crt,
  2571. FALSE, // ModeValid default is always off
  2572. TRUE,
  2573. { 0,0,0x71}, // int10 BIOS modes
  2574. { NULL, NULL,
  2575. NULL, NULL,
  2576. NULL, CL543x_640x480x16M, 0 },
  2577. }, //myf1, 72
  2578. /* ----->
  2579. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 80, 30,
  2580. 640, 480, 2048, 0x100000,
  2581. 75, 0, // 75hz, non-interlaced
  2582. 3, // montype
  2583. 0x1213, 0x00A4, 0, // montype
  2584. TRUE, // hardware cursor enabled for this mode
  2585. PlanarHCBanking, MemMap_VGA,
  2586. // crus
  2587. CL755x | CL5436 | CL5446 | CL54UM36 | CL5480, //myf0
  2588. crt,
  2589. FALSE, // ModeValid default is always off
  2590. TRUE,
  2591. { 0,0,0x71}, // int10 BIOS modes
  2592. { NULL, NULL,
  2593. NULL, NULL,
  2594. NULL, NULL, 0 },
  2595. },
  2596. <----- */
  2597. // ----- 640x480x16M@85Hz ---------------------------------------------------
  2598. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 80, 30,
  2599. 640, 480, 1920, 0x100000,
  2600. 85, 0, // 85hz, non-interlaced
  2601. 3, // montype
  2602. 0x1213, 0x00A4, 0, // montype
  2603. TRUE, // hardware cursor enabled for this mode
  2604. PlanarHCBanking, MemMap_VGA,
  2605. CL755x | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480, //myf0
  2606. crt,
  2607. FALSE, // ModeValid default is always off
  2608. TRUE,
  2609. { 0,0,0x71}, // int10 BIOS modes
  2610. { NULL, NULL,
  2611. NULL, NULL,
  2612. NULL, CL543x_640x480x16M, 0 },
  2613. }, //myf1, 73
  2614. /* ----->
  2615. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 80, 30,
  2616. 640, 480, 2048, 0x100000,
  2617. 85, 0, // 85hz, non-interlaced
  2618. 3, // montype
  2619. 0x1213, 0x00A4, 0, // montype
  2620. TRUE, // hardware cursor enabled for this mode
  2621. PlanarHCBanking, MemMap_VGA,
  2622. CL755x | CL5436 | CL5446 | CL54UM36 | CL5480, //myf0
  2623. crt,
  2624. FALSE, // ModeValid default is always off
  2625. TRUE,
  2626. { 0,0,0x71}, // int10 BIOS modes
  2627. { NULL, NULL,
  2628. NULL, NULL,
  2629. NULL, NULL, 0 },
  2630. },
  2631. <----- */
  2632. // ----- 640x480x16M@100Hz --------------------------------------------------
  2633. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 80, 30,
  2634. 640, 480, 1920, 0x100000,
  2635. 100, 0, // 100hz, non-interlaced
  2636. 3, // montype
  2637. 0x1213, 0x00A4, 0, // montype
  2638. TRUE, // hardware cursor enabled for this mode
  2639. PlanarHCBanking, MemMap_VGA,
  2640. CL5480,
  2641. crt,
  2642. FALSE, // ModeValid default is always off
  2643. TRUE,
  2644. { 0,0,0x71}, // int10 BIOS modes
  2645. { NULL, NULL,
  2646. NULL, NULL,
  2647. NULL, CL543x_640x480x16M, 0 },
  2648. }, //myf1, 74
  2649. // ----- 800x600x16M@56Hz ------------------- MYF TEST ----------------------
  2650. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 100, 37,
  2651. 800, 600, 2400, 0x200000,
  2652. 56, 0, // 56hz, non-interlaced
  2653. 3, // montype
  2654. 0x1203, 0x00A4, 0, // montype
  2655. TRUE, // hardware cursor enabled for this mode
  2656. PlanarHCBanking, MemMap_VGA,
  2657. CL755x | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480, //myf0
  2658. crt,
  2659. FALSE, // ModeValid default is always off
  2660. TRUE,
  2661. { 0,0,0x78}, // int10 BIOS modes
  2662. { NULL, NULL,
  2663. NULL, NULL,
  2664. NULL, CL543x_800x600x16M, 0 },
  2665. }, //myf1, 75
  2666. /* -----> MYF TEST
  2667. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 100, 37,
  2668. // 800, 600, 3072, 0x200000,
  2669. 800, 600, 2560, 0x177000, //myf25
  2670. 56, 0, // 56hz, non-interlaced
  2671. 3, // montype
  2672. 0x1203, 0x00A4, 0, // montype
  2673. TRUE, // hardware cursor enabled for this mode
  2674. PlanarHCBanking, MemMap_VGA,
  2675. CL755x | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480, //myf0
  2676. crt,
  2677. FALSE, // ModeValid default is always off
  2678. TRUE,
  2679. { 0,0,0x78}, // int10 BIOS modes
  2680. { NULL, NULL,
  2681. NULL, NULL,
  2682. // NULL, NULL, 0 },
  2683. NULL, CL543x_800x600x16M_1, 0 }, //myf25
  2684. },
  2685. <----- */
  2686. // ----- 800x600x16M@60Hz ---------------------- MYF TEST -------------------
  2687. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 100, 37,
  2688. 800, 600, 2400, 0x200000,
  2689. 60, 0, // 60hz, non-interlaced
  2690. 3, // montype
  2691. 0x1203, 0x01A4, 0, // montype
  2692. TRUE, // hardware cursor enabled for this mode
  2693. PlanarHCBanking, MemMap_VGA,
  2694. CL755x | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480, //myf0
  2695. #ifdef PANNING_SCROLL //myf17
  2696. crt | panel | panel8x6 | panel10x7,
  2697. #else
  2698. crt | panel8x6 | panel10x7,
  2699. #endif
  2700. FALSE, // ModeValid default is always off
  2701. TRUE,
  2702. { 0,0,0x78}, // int10 BIOS modes
  2703. { NULL, NULL,
  2704. NULL, NULL,
  2705. NULL, CL543x_800x600x16M, 0 },
  2706. }, //myf1, 76
  2707. /* -----> MYF TEST
  2708. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 100, 37,
  2709. // 800, 600, 3072, 0x200000,
  2710. 800, 600, 2560, 0x177000, //myf25
  2711. 60, 0, // 60hz, non-interlaced
  2712. 3, // montype
  2713. 0x1203, 0x01A4, 0, // montype
  2714. TRUE, // hardware cursor enabled for this mode
  2715. PlanarHCBanking, MemMap_VGA,
  2716. CL755x | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480, //myf0
  2717. #ifdef PANNING_SCROLL //myf17
  2718. crt | panel | panel8x6 | panel10x7,
  2719. #else
  2720. crt | panel8x6 | panel10x7,
  2721. #endif
  2722. FALSE, // ModeValid default is always off
  2723. TRUE,
  2724. { 0,0,0x78}, // int10 BIOS modes
  2725. { NULL, NULL,
  2726. NULL, NULL,
  2727. // NULL, NULL, 0 },
  2728. NULL, CL543x_800x600x16M_1, 0 }, //myf25
  2729. },
  2730. <----- */
  2731. // ----- 800x600x16M@72Hz ---------------------- MYF TEST -------------------
  2732. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 100, 37,
  2733. 800, 600, 2400, 0x200000,
  2734. 72, 0, // 72hz, non-interlaced
  2735. 3, // montype
  2736. 0x1203, 0x02A4, 0, // montype
  2737. TRUE, // hardware cursor enabled for this mode
  2738. PlanarHCBanking, MemMap_VGA,
  2739. CL755x | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480, //myf0
  2740. crt,
  2741. FALSE, // ModeValid default is always off
  2742. TRUE,
  2743. { 0,0,0x78}, // int10 BIOS modes
  2744. { NULL, NULL,
  2745. NULL, NULL,
  2746. NULL, CL543x_800x600x16M, 0 },
  2747. }, //myf1, 77
  2748. /* -----> MYF TEST
  2749. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 100, 37,
  2750. // 800, 600, 3072, 0x200000,
  2751. 800, 600, 2560, 0x177000, //myf25
  2752. 72, 0, // 72hz, non-interlaced
  2753. 3, // montype
  2754. 0x1203, 0x02A4, 0, // montype
  2755. TRUE, // hardware cursor enabled for this mode
  2756. PlanarHCBanking, MemMap_VGA,
  2757. CL755x | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480, //myf0
  2758. crt,
  2759. FALSE, // ModeValid default is always off
  2760. TRUE,
  2761. { 0,0,0x78}, // int10 BIOS modes
  2762. { NULL, NULL,
  2763. NULL, NULL,
  2764. // NULL, NULL, 0 },
  2765. NULL, CL543x_800x600x16M_1, 0 }, //myf25
  2766. },
  2767. <----- */
  2768. // ----- 800x600x16M@75Hz ---------------------- MYF TEST -------------------
  2769. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 100, 37,
  2770. 800, 600, 2400, 0x200000,
  2771. 75, 0, // 75hz, non-interlaced
  2772. 3, // montype
  2773. 0x1203, 0x03A4, 0, // montype
  2774. TRUE, // hardware cursor enabled for this mode
  2775. PlanarHCBanking, MemMap_VGA,
  2776. CL755x | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480, //myf0
  2777. crt,
  2778. FALSE, // ModeValid default is always off
  2779. TRUE,
  2780. { 0,0,0x78}, // int10 BIOS modes
  2781. { NULL, NULL,
  2782. NULL, NULL,
  2783. NULL, CL543x_800x600x16M, 0 },
  2784. }, //myf1, 78
  2785. /* -----> MYF TEST
  2786. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 100, 37,
  2787. // 800, 600, 3072, 0x200000,
  2788. 800, 600, 2560, 0x177000, //myf25
  2789. 75, 0, // 75hz, non-interlaced
  2790. 3, // montype
  2791. 0x1203, 0x03A4, 0, // montype
  2792. TRUE, // hardware cursor enabled for this mode
  2793. PlanarHCBanking, MemMap_VGA,
  2794. CL755x | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480, //myf0
  2795. crt,
  2796. FALSE, // ModeValid default is always off
  2797. TRUE,
  2798. { 0,0,0x78}, // int10 BIOS modes
  2799. { NULL, NULL,
  2800. NULL, NULL,
  2801. // NULL, NULL, 0 },
  2802. NULL, CL543x_800x600x16M_1, 0 }, //myf25
  2803. },
  2804. <----- */
  2805. // ----- 800x600x16M@85Hz ---------------------- MYF TEST -------------------
  2806. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 100, 37,
  2807. 800, 600, 2400, 0x200000,
  2808. 85, 0, // 85hz, non-interlaced
  2809. 3, // montype
  2810. 0x1203, 0x04A4, 0, // montype
  2811. TRUE, // hardware cursor enabled for this mode
  2812. PlanarHCBanking, MemMap_VGA,
  2813. CL755x | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480, //myf0
  2814. crt,
  2815. FALSE, // ModeValid default is always off
  2816. TRUE,
  2817. { 0,0,0x78}, // int10 BIOS modes
  2818. { NULL, NULL,
  2819. NULL, NULL,
  2820. NULL, CL543x_800x600x16M, 0 },
  2821. }, //myf1, 79
  2822. /* -----> MYF TEST
  2823. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 100, 37,
  2824. // 800, 600, 3072, 0x200000,
  2825. 800, 600, 2560, 0x177000, //myf25
  2826. 85, 0, // 85hz, non-interlaced
  2827. 3, // montype
  2828. 0x1203, 0x04A4, 0, // montype
  2829. TRUE, // hardware cursor enabled for this mode
  2830. PlanarHCBanking, MemMap_VGA,
  2831. CL755x | CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480, //myf0
  2832. crt,
  2833. FALSE, // ModeValid default is always off
  2834. TRUE,
  2835. { 0,0,0x78}, // int10 BIOS modes
  2836. { NULL, NULL,
  2837. NULL, NULL,
  2838. // NULL, NULL, 0 },
  2839. NULL, CL543x_800x600x16M_1, 0 }, //myf25
  2840. },
  2841. <----- */
  2842. // ----- 800x600x16M@100Hz ---------------------------------------------------
  2843. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 100, 37,
  2844. 800, 600, 2400, 0x200000,
  2845. 100, 0, // 100Hz, non-interlaced
  2846. 3, // montype
  2847. 0x1203, 0x05A4, 0, // sge01 // montype
  2848. TRUE, // hardware cursor enabled for this mode
  2849. PlanarHCBanking, MemMap_VGA,
  2850. CL5480,
  2851. crt,
  2852. FALSE, // ModeValid default is always off
  2853. TRUE,
  2854. { 0,0,0x78}, // int10 BIOS modes
  2855. { NULL, NULL,
  2856. NULL, NULL,
  2857. NULL, CL543x_800x600x16M, 0 },
  2858. }, //myf1, 80
  2859. // ----- 1024x768x16M@43i ---------------------------------------------------
  2860. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 80, 30,
  2861. 1024, 768, 3072, 0x300000,
  2862. 43, 1, // 43Hz, interlaced
  2863. 3, // montype
  2864. 0x1203, 0x00A4, 0, // montype
  2865. TRUE, // hardware cursor enabled for this mode
  2866. PlanarHCBanking, MemMap_VGA,
  2867. CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480 | CL7556,
  2868. crt,
  2869. FALSE, // ModeValid default is always off
  2870. TRUE,
  2871. { 0,0,0x79}, // int10 BIOS modes
  2872. { NULL, NULL,
  2873. NULL, NULL,
  2874. NULL, NULL, 0 },
  2875. }, //myf1, 81
  2876. // ----- 1024x768x16M@60Hz --------------------------------------------------
  2877. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 128, 48,
  2878. 1024, 768, 3072, 0x300000,
  2879. 60, 0, // 60Hz, non-interlaced
  2880. 3, // montype
  2881. 0x1203, 0x10A4, 0, // montype
  2882. TRUE, // hardware cursor enabled for this mode
  2883. PlanarHCBanking, MemMap_VGA,
  2884. CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480 | CL7556,
  2885. crt,
  2886. FALSE, // ModeValid default is always off
  2887. TRUE,
  2888. { 0,0,0x79}, // int10 BIOS modes
  2889. { NULL, NULL,
  2890. NULL, NULL,
  2891. NULL, NULL, 0 },
  2892. }, //myf1, 82
  2893. // ----- 1024x768x16M@70Hz --------------------------------------------------
  2894. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 128, 48,
  2895. 1024, 768, 3072, 0x300000,
  2896. 70, 0, // 70Hz, non-interlaced
  2897. 3, // montype
  2898. 0x1203, 0x20A4, 0, // montype
  2899. TRUE, // hardware cursor enabled for this mode
  2900. PlanarHCBanking, MemMap_VGA,
  2901. CL5446 | CL5446BE | CL5480 | CL7556, // jl04
  2902. crt,
  2903. FALSE, // ModeValid default is always off
  2904. TRUE,
  2905. { 0,0,0x79}, // int10 BIOS modes
  2906. { NULL, NULL,
  2907. NULL, NULL,
  2908. NULL, NULL, 0 },
  2909. },
  2910. // ----- 1024x768x16M@72Hz --------------------------------------------------
  2911. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 128, 48,
  2912. 1024, 768, 3072, 0x300000,
  2913. 72, 0, // 72Hz, non-interlaced
  2914. 3, // montype
  2915. 0x1203, 0x30A4, 0, // montype
  2916. TRUE, // hardware cursor enabled for this mode
  2917. PlanarHCBanking, MemMap_VGA,
  2918. CL5436, // jl04
  2919. crt,
  2920. FALSE, // ModeValid default is always off
  2921. TRUE,
  2922. { 0,0,0x79}, // int10 BIOS modes
  2923. { NULL, NULL,
  2924. NULL, NULL,
  2925. NULL, NULL, 0 },
  2926. }, //myf1, 83
  2927. // ----- 1024x768x16M@75Hz --------------------------------------------------
  2928. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 128, 48,
  2929. 1024, 768, 3072, 0x300000,
  2930. 75, 0, // 75Hz, non-interlaced
  2931. 3, // montype
  2932. 0x1203, 0x40A4, 0, // montype
  2933. TRUE, // hardware cursor enabled for this mode
  2934. PlanarHCBanking, MemMap_VGA,
  2935. CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  2936. crt,
  2937. FALSE, // ModeValid default is always off
  2938. TRUE,
  2939. { 0,0,0x79}, // int10 BIOS modes
  2940. { NULL, NULL,
  2941. NULL, NULL,
  2942. NULL, NULL, 0 },
  2943. }, //myf1, 84
  2944. // ----- 1024x768x16M@85Hz --------------------------------------------------
  2945. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 128, 48,
  2946. 1024, 768, 3072, 0x300000,
  2947. 85, 0, // 85hz, non-interlaced
  2948. 3, // montype
  2949. 0x1203, 0x50A4, 0, // montype
  2950. TRUE, // hardware cursor enabled for this mode
  2951. PlanarHCBanking, MemMap_VGA,
  2952. CL5436 | CL5446 | CL5446BE | CL54UM36 | CL5480,
  2953. crt,
  2954. FALSE, // ModeValid default is always off
  2955. TRUE,
  2956. { 0,0,0x79}, // int10 BIOS modes
  2957. { NULL, NULL,
  2958. NULL, NULL,
  2959. NULL, NULL, 0 },
  2960. }, //myf1, 85
  2961. // ----- 1024x768x16M@100Hz --------------------------------------------------
  2962. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 128, 48,
  2963. 1024, 768, 3072, 0x300000,
  2964. 100, 0, // 85hz, non-interlaced
  2965. 3, // montype
  2966. 0x1203, 0x60A4, 0, // sge01 // montype
  2967. TRUE, // hardware cursor enabled for this mode
  2968. PlanarHCBanking, MemMap_VGA,
  2969. CL5480,
  2970. crt,
  2971. FALSE, // ModeValid default is always off
  2972. TRUE,
  2973. { 0,0,0x79}, // int10 BIOS modes
  2974. { NULL, NULL,
  2975. NULL, NULL,
  2976. NULL, NULL, 0 },
  2977. }, //myf1, 86
  2978. // ----- 1152x864x16M@70Hz --------------------------------------------------
  2979. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 144, 54,
  2980. 1152, 864, 3456, 0x400000,
  2981. 70, 0, // 70hz, non-interlaced
  2982. 7, // montype
  2983. 0x1203, 0xA4, 0x0000, // montype
  2984. TRUE, // hardware cursor enabled for this mode
  2985. PlanarHCBanking, MemMap_VGA,
  2986. CL5480,
  2987. crt,
  2988. FALSE, // ModeValid default is always off
  2989. TRUE,
  2990. { 0,0,0x7E }, // int10 BIOS modes
  2991. { NULL, NULL,
  2992. NULL, NULL,
  2993. NULL, NULL, 0 },
  2994. }, //myf1, 87
  2995. // ----- 1152x864x16M@75Hz --------------------------------------------------
  2996. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 144, 54,
  2997. 1152, 864, 3456, 0x400000,
  2998. 75, 0, // 75hz, non-interlaced
  2999. 7, // montype
  3000. 0x1203, 0xA4, 0x0100, // montype
  3001. TRUE, // hardware cursor enabled for this mode
  3002. PlanarHCBanking, MemMap_VGA,
  3003. CL5480,
  3004. crt,
  3005. FALSE, // ModeValid default is always off
  3006. TRUE,
  3007. { 0,0,0x7E }, // int10 BIOS modes
  3008. { NULL, NULL,
  3009. NULL, NULL,
  3010. NULL, NULL, 0 },
  3011. }, //myf1, 88
  3012. // ----- 1152x864x16M@85Hz --------------------------------------------------
  3013. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 144, 54,
  3014. 1152, 864, 3456, 0x400000,
  3015. 85, 0, // 75hz, non-interlaced
  3016. 7, // montype
  3017. 0x1203, 0xA4, 0x0200, // sge01 // montype
  3018. TRUE, // hardware cursor enabled for this mode
  3019. PlanarHCBanking, MemMap_VGA,
  3020. CL5480,
  3021. crt,
  3022. FALSE, // ModeValid default is always off
  3023. TRUE,
  3024. { 0,0,0x7E }, // int10 BIOS modes
  3025. { NULL, NULL,
  3026. NULL, NULL,
  3027. NULL, NULL, 0 },
  3028. }, //myf1, 89
  3029. // ----- 1280x1024x16M@43i --------------------------------------------------
  3030. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 160, 64,
  3031. 1280, 1024, 3840, 0x400000, // 0x400000
  3032. 43, 1, // 43Hz, interlaced
  3033. 0, // montype
  3034. 0x1203, 0xA4, 0x0000, // montype
  3035. TRUE, // hardware cursor enabled for this mode
  3036. PlanarHCBanking, MemMap_VGA,
  3037. CL5480,
  3038. crt,
  3039. FALSE, // ModeValid default is always off
  3040. TRUE,
  3041. { 0,0,0x77 }, // int10 BIOS modes
  3042. { NULL, NULL,
  3043. NULL, NULL,
  3044. NULL, NULL, 0 }, // crus
  3045. }, //myf1, 90
  3046. // ----- 1280x1024x16M@60Hz -------------------------------------------------
  3047. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 160, 64,
  3048. 1280, 1024, 3840, 0x400000, // 0x400000
  3049. 60, 0, // 60Hz, non-interlaced
  3050. 0, // montype
  3051. 0x1203, 0xA4, 0x1000, // sge01 // montype
  3052. TRUE, // hardware cursor enabled for this mode
  3053. PlanarHCBanking, MemMap_VGA,
  3054. CL5480,
  3055. crt,
  3056. FALSE, // ModeValid default is always off
  3057. TRUE,
  3058. { 0,0,0x77 }, // int10 BIOS modes
  3059. { NULL, NULL,
  3060. NULL, NULL,
  3061. NULL, NULL, 0 }, // crus
  3062. }, //myf1, 91
  3063. // ----- 1280x1024x16M@75Hz -------------------------------------------------
  3064. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 24, 160, 64,
  3065. 1280, 1024, 3840, 0x400000, // 0x400000
  3066. 75, 0, // 75Hz, non-interlaced
  3067. 0, // montype
  3068. 0x1203, 0xA4, 0x3000, // sge01 // montype
  3069. TRUE, // hardware cursor enabled for this mode
  3070. PlanarHCBanking, MemMap_VGA,
  3071. CL5480,
  3072. crt,
  3073. FALSE, // ModeValid default is always off
  3074. TRUE,
  3075. { 0,0,0x77 }, // int10 BIOS modes
  3076. { NULL, NULL,
  3077. NULL, NULL,
  3078. NULL, NULL, 0 }, // crus
  3079. }, //myf1, 92
  3080. #endif // added 24bpp mode tables
  3081. //
  3082. // VGA Color graphics, 640x480, 32 bpp, broken rasters
  3083. //
  3084. // ----- 640x480x16M --------------------------------------------------------
  3085. { VIDEO_MODE_COLOR+VIDEO_MODE_GRAPHICS, 1, 32, 80, 30,
  3086. 640, 480, 640*4, 0x200000,
  3087. 60, 0, // 60hz, non-interlaced
  3088. 4, // montype
  3089. 0x1213, 0x00A4, 0, // montype
  3090. TRUE, // hardware cursor enabled for this mode
  3091. PlanarHCBanking, MemMap_VGA,
  3092. //myf9 CL754x | CL755x | CL5434 | CL5434_6,
  3093. CL5434 | CL5434_6,
  3094. //myf9 crt | panel | panel8x6 | panel10x7,
  3095. crt,
  3096. FALSE, // ModeValid default is always off
  3097. TRUE,
  3098. { 0,0,0x76}, // int10 BIOS modes
  3099. { NULL, NULL,
  3100. NULL, NULL,
  3101. NULL, NULL, 0,
  3102. NULL },
  3103. }, //myf1, 93
  3104. };
  3105. ULONG NumVideoModes = sizeof(ModesVGA) / sizeof(VIDEOMODE);
  3106. //
  3107. //
  3108. // Data used to set the Graphics and Sequence Controllers to put the
  3109. // VGA into a planar state at A0000 for 64K, with plane 2 enabled for
  3110. // reads and writes, so that a font can be loaded, and to disable that mode.
  3111. //
  3112. // Settings to enable planar mode with plane 2 enabled.
  3113. //
  3114. USHORT EnableA000Data[] = {
  3115. OWM,
  3116. SEQ_ADDRESS_PORT,
  3117. 1,
  3118. 0x0100,
  3119. OWM,
  3120. GRAPH_ADDRESS_PORT,
  3121. 3,
  3122. 0x0204, // Read Map = plane 2
  3123. 0x0005, // Graphics Mode = read mode 0, write mode 0
  3124. 0x0406, // Graphics Miscellaneous register = A0000 for 64K, not odd/even,
  3125. // graphics mode
  3126. OWM,
  3127. SEQ_ADDRESS_PORT,
  3128. 3,
  3129. 0x0402, // Map Mask = write to plane 2 only
  3130. 0x0404, // Memory Mode = not odd/even, not full memory, graphics mode
  3131. 0x0300, // end sync reset
  3132. EOD
  3133. };
  3134. //
  3135. // Settings to disable the font-loading planar mode.
  3136. //
  3137. USHORT DisableA000Color[] = {
  3138. OWM,
  3139. SEQ_ADDRESS_PORT,
  3140. 1,
  3141. 0x0100,
  3142. OWM,
  3143. GRAPH_ADDRESS_PORT,
  3144. 3,
  3145. 0x0004, 0x1005, 0x0E06,
  3146. OWM,
  3147. SEQ_ADDRESS_PORT,
  3148. 3,
  3149. 0x0302, 0x0204, 0x0300, // end sync reset
  3150. EOD
  3151. };
  3152. #if defined(ALLOC_PRAGMA)
  3153. #pragma data_seg()
  3154. #endif