Cirrus_vgabios: New mode 1024x1536
PATCH 1/1 Cirrus_vgabios: New mode 1024x1536
If "[Patch] Cirrus_vga: More than 1024 lines" for hw/cirrus_vga.c is used, CRTC Mode Control (CR17) bit 2 can be set to double the number of scanlines to 2048.
In vgabios-0.6c the 1024x768 modes can simply be transformed into additonal 1024x1536 modes. It is only necessary to set CR17 bit 2. For testing, I added non-standard VESA/video modes 0x1a0..0x1a3/0xa0..0xa3 with 1024x1536 pixels.
patch for vgabios-0.6c:
clext.c +67 -0
@@ -254,6 +254,52 @@0xffff }; +/* 1024x1536x8 */ +unsigned short cseq_1024x1536x8[] = { +0x0300 ,0x2101 ,0x0f02 ,0x0003 ,0x0e04 ,0x1107 , +0x760b ,0x760c ,0x760d ,0x760e , +0x0412 ,0x0013 ,0x2017 , +0x341b ,0x341c ,0x341d ,0x341e , +0xffff +}; +unsigned short ccrtc_1024x1536x8[] = { +0x2911 ,0xa300 ,0x7f01 ,0x7f02 ,0x8603 ,0x8304 ,0x9405 ,0x2406 ,0xf507 , +0x6009 ,0x000c ,0x000d , +0x0310 ,0xff12 ,0x8013 ,0x4014 ,0xff15 ,0x2416 ,0xc717 ,0xff18 , +0x001a ,0x221b ,0x001d , +0xffff +}; +/* 1024x1536x16 */ +unsigned short cseq_1024x1536x16[] = { +0x0300 ,0x2101 ,0x0f02 ,0x0003 ,0x0e04 ,0x1707 , +0x760b ,0x760c ,0x760d ,0x760e , +0x0412 ,0x0013 ,0x2017 , +0x341b ,0x341c ,0x341d ,0x341e , +0xffff +}; +unsigned short ccrtc_1024x1536x16[] = { +0x2911 ,0xa300 ,0x7f01 ,0x7f02 ,0x8603 ,0x8304 ,0x9405 ,0x2406 ,0xf507 , +0x6009 ,0x000c ,0x000d , +0x0310 ,0xff12 ,0x0013 ,0x4014 ,0xff15 ,0x2416 ,0xc717 ,0xff18 , +0x001a ,0x321b ,0x001d , +0xffff +}; +/* 1024x768x24 */ +unsigned short cseq_1024x1536x24[] = { +0x0300 ,0x2101 ,0x0f02 ,0x0003 ,0x0e04 ,0x1507 , +0x760b ,0x760c ,0x760d ,0x760e , +0x0412 ,0x0013 ,0x2017 , +0x341b ,0x341c ,0x341d ,0x341e , +0xffff +}; +unsigned short ccrtc_1024x1536x24[] = { +0x2911 ,0xa300 ,0x7f01 ,0x7f02 ,0x8603 ,0x8304 ,0x9405 ,0x2406 ,0xf507 , +0x6009 ,0x000c ,0x000d , +0x0310 ,0xff12 ,0x8013 ,0x4014 ,0xff15 ,0x2416 ,0xc717 ,0xff18 , +0x001a ,0x321b ,0x001d , +0xffff +}; +cirrus_mode_t cirrus_modes[] = { {0x5f ,640 ,480 ,8 ,0x00 ,
@@ -310,6 +356,19 @@ cseq_1600x1200x8,cgraph_svgacolor,ccrtc_1600x1200x8,8 , 4,0,0,0,0,0,0,0,0}, + {0xA0,1024,1536,8,0x00, + cseq_1024x1536x8,cgraph_svgacolor,ccrtc_1024x1536x8,8 , + 4,0,0,0,0,0,0,0,0}, + {0xA2,1024,1536,16,0xe1, + cseq_1024x1536x16,cgraph_svgacolor,ccrtc_1024x1536x16,16 , + 6,5,11,6,5,5,0,0,0}, + {0xA1,1024,1536,15,0xf0, + cseq_1024x1536x16,cgraph_svgacolor,ccrtc_1024x1536x16,16 , + 6,5,10,5,5,5,0,1,15}, + {0xA3,1024,1536,24,0xe5, + cseq_1024x1536x24,cgraph_svgacolor,ccrtc_1024x1536x24,24 , + 6,8,16,8,8,8,0,0,0}, + {0xfe,0,0,0,0,cseq_vga,cgraph_vga,ccrtc_vga,0, 0xff,0,0,0,0,0,0,0,0}, {0xff,0,0,0,0,0,0,0,0,
@@ -357,6 +416,14 @@0x119 ,0x69 ,// 1280x1024x16 0x11a ,0x75 , +// 1024x1536x8 +0x1a0 ,0xA0 , +// 1024x1536x15 +0x1a1 ,0xA1 , +// 1024x1536x16 +0x1a2 ,0xA2 , +// 1024x1536x24 +0x1a3 ,0xA3 ,// invalid 0xffff ,0xffff };
vbetables-gen.c +8 -0
@@ -76,6 +76,14 @@ { 2560, 1600, 16 , 0x18a}, { 2560, 1600, 24 , 0x18b}, { 2560, 1600, 32 , 0x18c}, + +/* Portrait mode for testing > 1024 lines */ +{ 1024, 1536, 8 , 0x1a0}, +{ 1024, 1536, 15 , 0x1a1}, +{ 1024, 1536, 16 , 0x1a2}, +{ 1024, 1536, 24 , 0x1a3}, +{ 1024, 1536, 32 , 0x1a4}, + { 0, }, };
Signature · 2 lines
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT! Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01