public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* Widescreen troubles again
@ 2008-02-18 12:50 Arne Brutschy
  2008-02-19 15:08 ` Andreas Winkelbauer
  2008-02-20 21:00 ` Widescreen troubles again --> solved Andreas Winkelbauer
  0 siblings, 2 replies; 8+ messages in thread
From: Arne Brutschy @ 2008-02-18 12:50 UTC (permalink / raw)
  To: kvm-devel

Hey,

I'm still trying to get kvm/qemu to run at 1920x1200x32 widescreen mode
(my tft's resolution). Host is 32bit Gentoo, guest is 32bit Windows XP.
I'm using kvm-60.

Following this post [1], I added the following lines to
kvm-60/vgabios/vbetables-gen.c

{ 1920, 1200, 8                       , 0x190},
{ 1920, 1200, 15                      , 0x191},
{ 1920, 1200, 16                      , 0x192},
{ 1920, 1200, 24                      , 0x193},

After that, I called make which correctly updated vbemodes.h and
compiled the bios. I then copied the bios to /usr/share/kvm
and /usr/share/qemu.

My problem is that I can't select the video mode in Windows XP, nor are
the modes displayed in the "Show available video modes" list. I tried to
reuse existing mode numbers too, but this didn't help either. Is this a
limitation of the video memory? Do I need another/special driver for
this BIOS? I'm currently using the generic VBE 2.0 driver of the VBEMP
x86 Project [2].

Perhaps we should add a wiki page about this as the wide screen modes
are more and more common...

Thanks in advance,
Arne

[1]http://www.mail-archive.com/kvm-devel@lists.sourceforge.net/msg09887.html
[2]http://www.navozhdeniye.narod.ru/vbemp.htm



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Widescreen troubles again
  2008-02-18 12:50 Widescreen troubles again Arne Brutschy
@ 2008-02-19 15:08 ` Andreas Winkelbauer
  2008-02-19 15:53   ` Arne Brutschy
  2008-02-20 21:00 ` Widescreen troubles again --> solved Andreas Winkelbauer
  1 sibling, 1 reply; 8+ messages in thread
From: Andreas Winkelbauer @ 2008-02-19 15:08 UTC (permalink / raw)
  To: kvm-devel

hi,

> After that, I called make which correctly updated vbemodes.h and
> compiled the bios. I then copied the bios to /usr/share/kvm
> and /usr/share/qemu.

well, I think it is very unlikely that the vgabios is located at /usr/share/kvm
or so. if you are unsure do a "locate vgabios.bin". I've installed kvm in
/usr/local/kvm/ and the vgabios.bin and vgabios-cirrus.bin files are located at
/usr/local/kvm/share/qemu/.

to try out your new bios files just delete the old ones and try to start the VM
(if it works you've obviously deleted the wrong files ;-)) then copy your new
files and test them.

I am currently using a widescreen notebook and I do have trouble to get
1680x1050 working, although 1680x1050 is in the vbetables-gen.c at least since
the kvm-60 release.

bye,
Andi


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Widescreen troubles again
  2008-02-19 15:08 ` Andreas Winkelbauer
@ 2008-02-19 15:53   ` Arne Brutschy
  2008-02-19 16:02     ` Avi Kivity
  2008-02-19 16:21     ` Andreas Winkelbauer
  0 siblings, 2 replies; 8+ messages in thread
From: Arne Brutschy @ 2008-02-19 15:53 UTC (permalink / raw)
  To: kvm-devel

[-- Attachment #1: Type: text/plain, Size: 1199 bytes --]

Hi,

thanks for the response!

On Di, 2008-02-19 at 15:08 +0000, Andreas Winkelbauer wrote:
> well, I think it is very unlikely that the vgabios is located at /usr/share/kvm
> or so. 
It actually is, and qemu is using it correctly.

I contacted the author of the VBEMP driver. He wrote me that there exist
several methods of requesting the available modes from the BIOS.
Apparently, by adding a mode to the vbetables-gen.c it's only added to
parts of the tables and not to all of them, which is incorrect. By only
using vbetables-gen I edited the BIOS only half-way.

I checked by using a infovbe tool from the authors website [1]. The
tools reports my mode (1920x1200) correctly for the first method used,
but misses it in the second method (output attached).

Additionally, I think it may have something to do with the video memory,
as 1920x1200x32 required more than 8 MB of vmem. I increased the value
in vbetables-gen.c, but I don't know it this is sufficient to make it
work (the value gets reported correctly by the driver, though).

I'm trying to contact the VGAbios people about this, because this list
might be the wrong place for it.

Arne

[1] http://www.navozhdeniye.narod.ru/vbemp.htm

[-- Attachment #2: edison.txt --]
[-- Type: text/plain, Size: 44715 bytes --]

InfoVBE (build 27dec2007)
VESA/VBE BIOS Present (2.00, 8192 Kb)
OEM String: (0xC0008B56) Bochs/Plex86 VBE(C) 2003 http://savannah.nongnu.org/projects/vgabios/
Capabilities: 0x00000001
OEM VendorName: (0xC0008B9C) Bochs/Plex86 Developers
OEM ProductName: (0xC0008BB4) Bochs/Plex86 VBE Adapter
OEM ProductRev: (0xC0008BCD) $Id: vbe.c,v 1.58 2006/08/19 09:39:43 vruppert Exp $
OEM SoftwareRev: 0x0002
VideoModePtr: 0x0799FDEA
***************************
Power Management is NOT supported, ax = 0x100
DPMS ver. is 0x00, apm modes 0x00
***************************
DDC is NOT supported, ax = 0x100

main info done. press a key...
(01) 0x0100; 640x400x8, LFB:0xE0000000, MPCLK:0
(02) 0x0101; 640x480x8, LFB:0xE0000000, MPCLK:0
(03) 0x0102; 800x600x4, noLFB, MPCLK:0
(04) 0x0103; 800x600x8, LFB:0xE0000000, MPCLK:0
(05) 0x0104; 1024x768x4, noLFB, MPCLK:0
(06) 0x0105; 1024x768x8, LFB:0xE0000000, MPCLK:0
(07) 0x0106; 1280x1024x4, noLFB, MPCLK:0
(08) 0x0107; 1280x1024x8, LFB:0xE0000000, MPCLK:0
(09) 0x010D; 320x200x15, LFB:0xE0000000, MPCLK:0
(10) 0x010E; 320x200x16, LFB:0xE0000000, MPCLK:0
(11) 0x010F; 320x200x24, LFB:0xE0000000, MPCLK:0
(12) 0x0110; 640x480x15, LFB:0xE0000000, MPCLK:0
(13) 0x0111; 640x480x16, LFB:0xE0000000, MPCLK:0
(14) 0x0112; 640x480x24, LFB:0xE0000000, MPCLK:0
(15) 0x0113; 800x600x15, LFB:0xE0000000, MPCLK:0
(16) 0x0114; 800x600x16, LFB:0xE0000000, MPCLK:0
(17) 0x0115; 800x600x24, LFB:0xE0000000, MPCLK:0
(18) 0x0116; 1024x768x15, LFB:0xE0000000, MPCLK:0
(19) 0x0117; 1024x768x16, LFB:0xE0000000, MPCLK:0
(20) 0x0118; 1024x768x24, LFB:0xE0000000, MPCLK:0
(21) 0x0119; 1280x1024x15, LFB:0xE0000000, MPCLK:0
(22) 0x011A; 1280x1024x16, LFB:0xE0000000, MPCLK:0
(23) 0x011B; 1280x1024x24, LFB:0xE0000000, MPCLK:0
(24) 0x011C; 1920x1200x8, LFB:0xE0000000, MPCLK:0
(25) 0x011D; 1920x1200x15, LFB:0xE0000000, MPCLK:0
(26) 0x011E; 1920x1200x16, LFB:0xE0000000, MPCLK:0
(27) 0x011F; 1920x1200x24, LFB:0xE0000000, MPCLK:0
(28) 0x0140; 320x200x32, LFB:0xE0000000, MPCLK:0
(29) 0x0141; 640x400x32, LFB:0xE0000000, MPCLK:0
(30) 0x0142; 640x480x32, LFB:0xE0000000, MPCLK:0
(31) 0x0143; 800x600x32, LFB:0xE0000000, MPCLK:0
(32) 0x0144; 1024x768x32, LFB:0xE0000000, MPCLK:0
(33) 0x0145; 1280x1024x32, LFB:0xE0000000, MPCLK:0
(34) 0x0146; 320x200x8, LFB:0xE0000000, MPCLK:0
(35) 0x0147; 1600x1200x32, LFB:0xE0000000, MPCLK:0
(36) 0x0148; 1152x864x8, LFB:0xE0000000, MPCLK:0
(37) 0x0149; 1152x864x15, LFB:0xE0000000, MPCLK:0
(38) 0x014A; 1152x864x16, LFB:0xE0000000, MPCLK:0
(39) 0x014B; 1152x864x24, LFB:0xE0000000, MPCLK:0
(40) 0x014C; 1152x864x32, LFB:0xE0000000, MPCLK:0
(41) 0x0178; 1280x800x24, LFB:0xE0000000, MPCLK:0
(42) 0x0179; 1280x800x32, LFB:0xE0000000, MPCLK:0
(43) 0x0180; 1280x960x24, LFB:0xE0000000, MPCLK:0
(44) 0x0181; 1280x960x32, LFB:0xE0000000, MPCLK:0
(45) 0x0182; 1280x960x24, LFB:0xE0000000, MPCLK:0
(46) 0x0183; 1280x960x32, LFB:0xE0000000, MPCLK:0
(47) 0x0184; 1440x900x24, LFB:0xE0000000, MPCLK:0
(48) 0x0185; 1440x900x32, LFB:0xE0000000, MPCLK:0
(49) 0x0186; 1400x1050x24, LFB:0xE0000000, MPCLK:0
(50) 0x0187; 1400x1050x32, LFB:0xE0000000, MPCLK:0
(51) 0x0188; 1680x1050x24, LFB:0xE0000000, MPCLK:0
(52) 0x0189; 1680x1050x32, LFB:0xE0000000, MPCLK:0
(53) 0x0300; 640x400x8, LFB:0xE0000000, MPCLK:0
(54) 0x0301; 640x480x8, LFB:0xE0000000, MPCLK:0
(55) 0x0302; 800x600x4, noLFB, MPCLK:0
(56) 0x0303; 800x600x8, LFB:0xE0000000, MPCLK:0
(57) 0x0304; 1024x768x4, noLFB, MPCLK:0
(58) 0x0305; 1024x768x8, LFB:0xE0000000, MPCLK:0
(59) 0x0306; 1280x1024x4, noLFB, MPCLK:0
(60) 0x0307; 1280x1024x8, LFB:0xE0000000, MPCLK:0
(61) 0x030D; 320x200x15, LFB:0xE0000000, MPCLK:0
(62) 0x030E; 320x200x16, LFB:0xE0000000, MPCLK:0
(63) 0x030F; 320x200x24, LFB:0xE0000000, MPCLK:0
(64) 0x0310; 640x480x15, LFB:0xE0000000, MPCLK:0
(65) 0x0311; 640x480x16, LFB:0xE0000000, MPCLK:0
(66) 0x0312; 640x480x24, LFB:0xE0000000, MPCLK:0
(67) 0x0313; 800x600x15, LFB:0xE0000000, MPCLK:0
(68) 0x0314; 800x600x16, LFB:0xE0000000, MPCLK:0
(69) 0x0315; 800x600x24, LFB:0xE0000000, MPCLK:0
(70) 0x0316; 1024x768x15, LFB:0xE0000000, MPCLK:0
(71) 0x0317; 1024x768x16, LFB:0xE0000000, MPCLK:0
(72) 0x0318; 1024x768x24, LFB:0xE0000000, MPCLK:0
(73) 0x0319; 1280x1024x15, LFB:0xE0000000, MPCLK:0
(74) 0x031A; 1280x1024x16, LFB:0xE0000000, MPCLK:0
(75) 0x031B; 1280x1024x24, LFB:0xE0000000, MPCLK:0
(76) 0x031C; 1920x1200x8, LFB:0xE0000000, MPCLK:0
(77) 0x031D; 1920x1200x15, LFB:0xE0000000, MPCLK:0
(78) 0x031E; 1920x1200x16, LFB:0xE0000000, MPCLK:0
(79) 0x031F; 1920x1200x24, LFB:0xE0000000, MPCLK:0
(80) 0x0340; 320x200x32, LFB:0xE0000000, MPCLK:0
(81) 0x0341; 640x400x32, LFB:0xE0000000, MPCLK:0
(82) 0x0342; 640x480x32, LFB:0xE0000000, MPCLK:0
(83) 0x0343; 800x600x32, LFB:0xE0000000, MPCLK:0
(84) 0x0344; 1024x768x32, LFB:0xE0000000, MPCLK:0
(85) 0x0345; 1280x1024x32, LFB:0xE0000000, MPCLK:0
(86) 0x0346; 320x200x8, LFB:0xE0000000, MPCLK:0
(87) 0x0347; 1600x1200x32, LFB:0xE0000000, MPCLK:0
(88) 0x0348; 1152x864x8, LFB:0xE0000000, MPCLK:0
(89) 0x0349; 1152x864x15, LFB:0xE0000000, MPCLK:0
(90) 0x034A; 1152x864x16, LFB:0xE0000000, MPCLK:0
(91) 0x034B; 1152x864x24, LFB:0xE0000000, MPCLK:0
(92) 0x034C; 1152x864x32, LFB:0xE0000000, MPCLK:0
(93) 0x0378; 1280x800x24, LFB:0xE0000000, MPCLK:0
(94) 0x0379; 1280x800x32, LFB:0xE0000000, MPCLK:0
(95) 0x0380; 1280x960x24, LFB:0xE0000000, MPCLK:0
(96) 0x0381; 1280x960x32, LFB:0xE0000000, MPCLK:0
(97) 0x0382; 1280x960x24, LFB:0xE0000000, MPCLK:0
(98) 0x0383; 1280x960x32, LFB:0xE0000000, MPCLK:0
(99) 0x0384; 1440x900x24, LFB:0xE0000000, MPCLK:0
(100) 0x0385; 1440x900x32, LFB:0xE0000000, MPCLK:0
(101) 0x0386; 1400x1050x24, LFB:0xE0000000, MPCLK:0
(102) 0x0387; 1400x1050x32, LFB:0xE0000000, MPCLK:0
(103) 0x0388; 1680x1050x24, LFB:0xE0000000, MPCLK:0
(104) 0x0389; 1680x1050x32, LFB:0xE0000000, MPCLK:0
(105) 0x0500; 640x400x8, LFB:0xE0000000, MPCLK:0
(106) 0x0501; 640x480x8, LFB:0xE0000000, MPCLK:0
(107) 0x0502; 800x600x4, noLFB, MPCLK:0
(108) 0x0503; 800x600x8, LFB:0xE0000000, MPCLK:0
(109) 0x0504; 1024x768x4, noLFB, MPCLK:0
(110) 0x0505; 1024x768x8, LFB:0xE0000000, MPCLK:0
(111) 0x0506; 1280x1024x4, noLFB, MPCLK:0
(112) 0x0507; 1280x1024x8, LFB:0xE0000000, MPCLK:0
(113) 0x050D; 320x200x15, LFB:0xE0000000, MPCLK:0
(114) 0x050E; 320x200x16, LFB:0xE0000000, MPCLK:0
(115) 0x050F; 320x200x24, LFB:0xE0000000, MPCLK:0
(116) 0x0510; 640x480x15, LFB:0xE0000000, MPCLK:0
(117) 0x0511; 640x480x16, LFB:0xE0000000, MPCLK:0
(118) 0x0512; 640x480x24, LFB:0xE0000000, MPCLK:0
(119) 0x0513; 800x600x15, LFB:0xE0000000, MPCLK:0
(120) 0x0514; 800x600x16, LFB:0xE0000000, MPCLK:0
(121) 0x0515; 800x600x24, LFB:0xE0000000, MPCLK:0
(122) 0x0516; 1024x768x15, LFB:0xE0000000, MPCLK:0
(123) 0x0517; 1024x768x16, LFB:0xE0000000, MPCLK:0
(124) 0x0518; 1024x768x24, LFB:0xE0000000, MPCLK:0
(125) 0x0519; 1280x1024x15, LFB:0xE0000000, MPCLK:0
(126) 0x051A; 1280x1024x16, LFB:0xE0000000, MPCLK:0
(127) 0x051B; 1280x1024x24, LFB:0xE0000000, MPCLK:0
(128) 0x051C; 1920x1200x8, LFB:0xE0000000, MPCLK:0
(129) 0x051D; 1920x1200x15, LFB:0xE0000000, MPCLK:0
(130) 0x051E; 1920x1200x16, LFB:0xE0000000, MPCLK:0
(131) 0x051F; 1920x1200x24, LFB:0xE0000000, MPCLK:0
(132) 0x0540; 320x200x32, LFB:0xE0000000, MPCLK:0
(133) 0x0541; 640x400x32, LFB:0xE0000000, MPCLK:0
(134) 0x0542; 640x480x32, LFB:0xE0000000, MPCLK:0
(135) 0x0543; 800x600x32, LFB:0xE0000000, MPCLK:0
(136) 0x0544; 1024x768x32, LFB:0xE0000000, MPCLK:0
(137) 0x0545; 1280x1024x32, LFB:0xE0000000, MPCLK:0
(138) 0x0546; 320x200x8, LFB:0xE0000000, MPCLK:0
(139) 0x0547; 1600x1200x32, LFB:0xE0000000, MPCLK:0
(140) 0x0548; 1152x864x8, LFB:0xE0000000, MPCLK:0
(141) 0x0549; 1152x864x15, LFB:0xE0000000, MPCLK:0
(142) 0x054A; 1152x864x16, LFB:0xE0000000, MPCLK:0
(143) 0x054B; 1152x864x24, LFB:0xE0000000, MPCLK:0
(144) 0x054C; 1152x864x32, LFB:0xE0000000, MPCLK:0
(145) 0x0578; 1280x800x24, LFB:0xE0000000, MPCLK:0
(146) 0x0579; 1280x800x32, LFB:0xE0000000, MPCLK:0
(147) 0x0580; 1280x960x24, LFB:0xE0000000, MPCLK:0
(148) 0x0581; 1280x960x32, LFB:0xE0000000, MPCLK:0
(149) 0x0582; 1280x960x24, LFB:0xE0000000, MPCLK:0
(150) 0x0583; 1280x960x32, LFB:0xE0000000, MPCLK:0
(151) 0x0584; 1440x900x24, LFB:0xE0000000, MPCLK:0
(152) 0x0585; 1440x900x32, LFB:0xE0000000, MPCLK:0
(153) 0x0586; 1400x1050x24, LFB:0xE0000000, MPCLK:0
(154) 0x0587; 1400x1050x32, LFB:0xE0000000, MPCLK:0
(155) 0x0588; 1680x1050x24, LFB:0xE0000000, MPCLK:0
(156) 0x0589; 1680x1050x32, LFB:0xE0000000, MPCLK:0
(157) 0x0700; 640x400x8, LFB:0xE0000000, MPCLK:0
(158) 0x0701; 640x480x8, LFB:0xE0000000, MPCLK:0
(159) 0x0702; 800x600x4, noLFB, MPCLK:0
(160) 0x0703; 800x600x8, LFB:0xE0000000, MPCLK:0
(161) 0x0704; 1024x768x4, noLFB, MPCLK:0
(162) 0x0705; 1024x768x8, LFB:0xE0000000, MPCLK:0
(163) 0x0706; 1280x1024x4, noLFB, MPCLK:0
(164) 0x0707; 1280x1024x8, LFB:0xE0000000, MPCLK:0
(165) 0x070D; 320x200x15, LFB:0xE0000000, MPCLK:0
(166) 0x070E; 320x200x16, LFB:0xE0000000, MPCLK:0
(167) 0x070F; 320x200x24, LFB:0xE0000000, MPCLK:0
(168) 0x0710; 640x480x15, LFB:0xE0000000, MPCLK:0
(169) 0x0711; 640x480x16, LFB:0xE0000000, MPCLK:0
(170) 0x0712; 640x480x24, LFB:0xE0000000, MPCLK:0
(171) 0x0713; 800x600x15, LFB:0xE0000000, MPCLK:0
(172) 0x0714; 800x600x16, LFB:0xE0000000, MPCLK:0
(173) 0x0715; 800x600x24, LFB:0xE0000000, MPCLK:0
(174) 0x0716; 1024x768x15, LFB:0xE0000000, MPCLK:0
(175) 0x0717; 1024x768x16, LFB:0xE0000000, MPCLK:0
(176) 0x0718; 1024x768x24, LFB:0xE0000000, MPCLK:0
(177) 0x0719; 1280x1024x15, LFB:0xE0000000, MPCLK:0
(178) 0x071A; 1280x1024x16, LFB:0xE0000000, MPCLK:0
(179) 0x071B; 1280x1024x24, LFB:0xE0000000, MPCLK:0
(180) 0x071C; 1920x1200x8, LFB:0xE0000000, MPCLK:0
(181) 0x071D; 1920x1200x15, LFB:0xE0000000, MPCLK:0
(182) 0x071E; 1920x1200x16, LFB:0xE0000000, MPCLK:0
(183) 0x071F; 1920x1200x24, LFB:0xE0000000, MPCLK:0
(184) 0x0740; 320x200x32, LFB:0xE0000000, MPCLK:0
(185) 0x0741; 640x400x32, LFB:0xE0000000, MPCLK:0
(186) 0x0742; 640x480x32, LFB:0xE0000000, MPCLK:0
(187) 0x0743; 800x600x32, LFB:0xE0000000, MPCLK:0
(188) 0x0744; 1024x768x32, LFB:0xE0000000, MPCLK:0
(189) 0x0745; 1280x1024x32, LFB:0xE0000000, MPCLK:0
(190) 0x0746; 320x200x8, LFB:0xE0000000, MPCLK:0
(191) 0x0747; 1600x1200x32, LFB:0xE0000000, MPCLK:0
(192) 0x0748; 1152x864x8, LFB:0xE0000000, MPCLK:0
(193) 0x0749; 1152x864x15, LFB:0xE0000000, MPCLK:0
(194) 0x074A; 1152x864x16, LFB:0xE0000000, MPCLK:0
(195) 0x074B; 1152x864x24, LFB:0xE0000000, MPCLK:0
(196) 0x074C; 1152x864x32, LFB:0xE0000000, MPCLK:0
(197) 0x0778; 1280x800x24, LFB:0xE0000000, MPCLK:0
(198) 0x0779; 1280x800x32, LFB:0xE0000000, MPCLK:0
(199) 0x0780; 1280x960x24, LFB:0xE0000000, MPCLK:0
(200) 0x0781; 1280x960x32, LFB:0xE0000000, MPCLK:0
(201) 0x0782; 1280x960x24, LFB:0xE0000000, MPCLK:0
(202) 0x0783; 1280x960x32, LFB:0xE0000000, MPCLK:0
(203) 0x0784; 1440x900x24, LFB:0xE0000000, MPCLK:0
(204) 0x0785; 1440x900x32, LFB:0xE0000000, MPCLK:0
(205) 0x0786; 1400x1050x24, LFB:0xE0000000, MPCLK:0
(206) 0x0787; 1400x1050x32, LFB:0xE0000000, MPCLK:0
(207) 0x0788; 1680x1050x24, LFB:0xE0000000, MPCLK:0
(208) 0x0789; 1680x1050x32, LFB:0xE0000000, MPCLK:0
1 method query (0x100 - 0x7FF): 208 mode(s) done. press a key...
(01) 0x0100; 640x400x8, LFB:0xE0000000, MPCLK:0
(02) 0x0101; 640x480x8, LFB:0xE0000000, MPCLK:0
(03) 0x0102; 800x600x4, noLFB, MPCLK:0
(04) 0x0103; 800x600x8, LFB:0xE0000000, MPCLK:0
(05) 0x0104; 1024x768x4, noLFB, MPCLK:0
(06) 0x0105; 1024x768x8, LFB:0xE0000000, MPCLK:0
(07) 0x0106; 1280x1024x4, noLFB, MPCLK:0
(08) 0x0107; 1280x1024x8, LFB:0xE0000000, MPCLK:0
(09) 0x010D; 320x200x15, LFB:0xE0000000, MPCLK:0
(10) 0x010E; 320x200x16, LFB:0xE0000000, MPCLK:0
(11) 0x010F; 320x200x24, LFB:0xE0000000, MPCLK:0
(12) 0x0110; 640x480x15, LFB:0xE0000000, MPCLK:0
(13) 0x0111; 640x480x16, LFB:0xE0000000, MPCLK:0
(14) 0x0112; 640x480x24, LFB:0xE0000000, MPCLK:0
(15) 0x0113; 800x600x15, LFB:0xE0000000, MPCLK:0
(16) 0x0114; 800x600x16, LFB:0xE0000000, MPCLK:0
(17) 0x0115; 800x600x24, LFB:0xE0000000, MPCLK:0
(18) 0x0116; 1024x768x15, LFB:0xE0000000, MPCLK:0
(19) 0x0117; 1024x768x16, LFB:0xE0000000, MPCLK:0
(20) 0x0118; 1024x768x24, LFB:0xE0000000, MPCLK:0
(21) 0x0119; 1280x1024x15, LFB:0xE0000000, MPCLK:0
(22) 0x011A; 1280x1024x16, LFB:0xE0000000, MPCLK:0
(23) 0x011B; 1280x1024x24, LFB:0xE0000000, MPCLK:0
(24) 0x0140; 320x200x32, LFB:0xE0000000, MPCLK:0
(25) 0x0141; 640x400x32, LFB:0xE0000000, MPCLK:0
(26) 0x0142; 640x480x32, LFB:0xE0000000, MPCLK:0
(27) 0x0143; 800x600x32, LFB:0xE0000000, MPCLK:0
(28) 0x0144; 1024x768x32, LFB:0xE0000000, MPCLK:0
(29) 0x0145; 1280x1024x32, LFB:0xE0000000, MPCLK:0
(30) 0x0146; 320x200x8, LFB:0xE0000000, MPCLK:0
(31) 0x0147; 1600x1200x32, LFB:0xE0000000, MPCLK:0
(32) 0x0148; 1152x864x8, LFB:0xE0000000, MPCLK:0
(33) 0x0149; 1152x864x15, LFB:0xE0000000, MPCLK:0
(34) 0x014A; 1152x864x16, LFB:0xE0000000, MPCLK:0
(35) 0x014B; 1152x864x24, LFB:0xE0000000, MPCLK:0
(36) 0x014C; 1152x864x32, LFB:0xE0000000, MPCLK:0
(37) 0x0178; 1280x800x24, LFB:0xE0000000, MPCLK:0
(38) 0x0179; 1280x800x32, LFB:0xE0000000, MPCLK:0
(39) 0x0180; 1280x960x24, LFB:0xE0000000, MPCLK:0
(40) 0x0181; 1280x960x32, LFB:0xE0000000, MPCLK:0
(41) 0x0182; 1280x960x24, LFB:0xE0000000, MPCLK:0
(42) 0x0183; 1280x960x32, LFB:0xE0000000, MPCLK:0
(43) 0x0184; 1440x900x24, LFB:0xE0000000, MPCLK:0
(44) 0x0185; 1440x900x32, LFB:0xE0000000, MPCLK:0
(45) 0x0186; 1400x1050x24, LFB:0xE0000000, MPCLK:0
(46) 0x0187; 1400x1050x32, LFB:0xE0000000, MPCLK:0
2 method query (rom table): 46 mode(s) done. press a key...
3 method query (legacy vga modes): 00 mode(s) done. press a key...
// VESA VBE Builder (4may2007) generated report
VBE_INFO VBEInfo[] = {
{ "VESA", // VESA Mode
  0x0200,
  0xC0008B56, // OemString: Bochs/Plex86 VBE(C) 2003 http://savannah.nongnu.org/projects/vgabios/
  0x00000001, // Capabilities
  0x0799FDEA, // VideoModePtr
  0x0080, // TotalMemory : 8192 KBytes
  0x0002, // OemSoftwareRev
  0xC0008B9C, // OemVendorName: Bochs/Plex86 Developers
  0xC0008BB4, // OemProductName: Bochs/Plex86 VBE Adapter
  0xC0008BCD, // OemProductRev: $Id: vbe.c,v 1.58 2006/08/19 09:39:43 vruppert Exp $
 " ", // reserved[222]
 " "}}; // OemDATA[256] // end
VBE_MODEINFO ModesVBE[] = {
{ 0x0100, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  640, // BpSL
  640,  400, 8, 16, 1, 8, // XRes x YRes, XChar, YChar, Planes, BPP
  4, 4, 0, 31, 0, // NoB, MM, szB, NoI, res1
  0, 0, 0, 0, 0, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  640, 0, 0, // LBpSL, BNNoIP, LNNoIP
  0, 0, 0, 0, 0, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0101, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  640, // BpSL
  640,  480, 8, 16, 1, 8, // XRes x YRes, XChar, YChar, Planes, BPP
  5, 4, 0, 26, 0, // NoB, MM, szB, NoI, res1
  0, 0, 0, 0, 0, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  640, 0, 0, // LBpSL, BNNoIP, LNNoIP
  0, 0, 0, 0, 0, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0102, // VESA Mode
  0x001F, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  100, // BpSL
  800,  600, 8, 16, 4, 4, // XRes x YRes, XChar, YChar, Planes, BPP
  1, 3, 0, 33, 0, // NoB, MM, szB, NoI, res1
  0, 0, 0, 0, 0, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0x00000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  100, 0, 0, // LBpSL, BNNoIP, LNNoIP
  0, 0, 0, 0, 0, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0103, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  800, // BpSL
  800,  600, 8, 16, 1, 8, // XRes x YRes, XChar, YChar, Planes, BPP
  8, 4, 0, 16, 0, // NoB, MM, szB, NoI, res1
  0, 0, 0, 0, 0, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  800, 0, 0, // LBpSL, BNNoIP, LNNoIP
  0, 0, 0, 0, 0, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0104, // VESA Mode
  0x001F, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  128, // BpSL
  1024,  768, 8, 16, 4, 4, // XRes x YRes, XChar, YChar, Planes, BPP
  2, 3, 0, 20, 0, // NoB, MM, szB, NoI, res1
  0, 0, 0, 0, 0, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0x00000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  128, 0, 0, // LBpSL, BNNoIP, LNNoIP
  0, 0, 0, 0, 0, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0105, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  1024, // BpSL
  1024,  768, 8, 16, 1, 8, // XRes x YRes, XChar, YChar, Planes, BPP
  12, 4, 0, 9, 0, // NoB, MM, szB, NoI, res1
  0, 0, 0, 0, 0, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  1024, 0, 0, // LBpSL, BNNoIP, LNNoIP
  0, 0, 0, 0, 0, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0106, // VESA Mode
  0x001F, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  160, // BpSL
  1280,  1024, 8, 16, 4, 4, // XRes x YRes, XChar, YChar, Planes, BPP
  3, 3, 0, 11, 0, // NoB, MM, szB, NoI, res1
  0, 0, 0, 0, 0, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0x00000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  160, 0, 0, // LBpSL, BNNoIP, LNNoIP
  0, 0, 0, 0, 0, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0107, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  1280, // BpSL
  1280,  1024, 8, 16, 1, 8, // XRes x YRes, XChar, YChar, Planes, BPP
  20, 4, 0, 5, 0, // NoB, MM, szB, NoI, res1
  0, 0, 0, 0, 0, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  1280, 0, 0, // LBpSL, BNNoIP, LNNoIP
  0, 0, 0, 0, 0, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x010D, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  640, // BpSL
  320,  200, 8, 16, 1, 15, // XRes x YRes, XChar, YChar, Planes, BPP
  2, 6, 0, 64, 0, // NoB, MM, szB, NoI, res1
  5, 10, 5, 5, 5, 0, 1, 15, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  640, 0, 0, // LBpSL, BNNoIP, LNNoIP
  5, 10, 5, 5, 5, 0, 1, 15, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x010E, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  640, // BpSL
  320,  200, 8, 16, 1, 16, // XRes x YRes, XChar, YChar, Planes, BPP
  2, 6, 0, 64, 0, // NoB, MM, szB, NoI, res1
  5, 11, 6, 5, 5, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  640, 0, 0, // LBpSL, BNNoIP, LNNoIP
  5, 11, 6, 5, 5, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x010F, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  960, // BpSL
  320,  200, 8, 16, 1, 24, // XRes x YRes, XChar, YChar, Planes, BPP
  3, 6, 0, 42, 0, // NoB, MM, szB, NoI, res1
  8, 16, 8, 8, 8, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  960, 0, 0, // LBpSL, BNNoIP, LNNoIP
  8, 16, 8, 8, 8, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0110, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  1280, // BpSL
  640,  480, 8, 16, 1, 15, // XRes x YRes, XChar, YChar, Planes, BPP
  10, 6, 0, 12, 0, // NoB, MM, szB, NoI, res1
  5, 10, 5, 5, 5, 0, 1, 15, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  1280, 0, 0, // LBpSL, BNNoIP, LNNoIP
  5, 10, 5, 5, 5, 0, 1, 15, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0111, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  1280, // BpSL
  640,  480, 8, 16, 1, 16, // XRes x YRes, XChar, YChar, Planes, BPP
  10, 6, 0, 12, 0, // NoB, MM, szB, NoI, res1
  5, 11, 6, 5, 5, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  1280, 0, 0, // LBpSL, BNNoIP, LNNoIP
  5, 11, 6, 5, 5, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0112, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  1920, // BpSL
  640,  480, 8, 16, 1, 24, // XRes x YRes, XChar, YChar, Planes, BPP
  15, 6, 0, 8, 0, // NoB, MM, szB, NoI, res1
  8, 16, 8, 8, 8, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  1920, 0, 0, // LBpSL, BNNoIP, LNNoIP
  8, 16, 8, 8, 8, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0113, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  1600, // BpSL
  800,  600, 8, 16, 1, 15, // XRes x YRes, XChar, YChar, Planes, BPP
  15, 6, 0, 7, 0, // NoB, MM, szB, NoI, res1
  5, 10, 5, 5, 5, 0, 1, 15, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  1600, 0, 0, // LBpSL, BNNoIP, LNNoIP
  5, 10, 5, 5, 5, 0, 1, 15, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0114, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  1600, // BpSL
  800,  600, 8, 16, 1, 16, // XRes x YRes, XChar, YChar, Planes, BPP
  15, 6, 0, 7, 0, // NoB, MM, szB, NoI, res1
  5, 11, 6, 5, 5, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  1600, 0, 0, // LBpSL, BNNoIP, LNNoIP
  5, 11, 6, 5, 5, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0115, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  2400, // BpSL
  800,  600, 8, 16, 1, 24, // XRes x YRes, XChar, YChar, Planes, BPP
  22, 6, 0, 4, 0, // NoB, MM, szB, NoI, res1
  8, 16, 8, 8, 8, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  2400, 0, 0, // LBpSL, BNNoIP, LNNoIP
  8, 16, 8, 8, 8, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0116, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  2048, // BpSL
  1024,  768, 8, 16, 1, 15, // XRes x YRes, XChar, YChar, Planes, BPP
  24, 6, 0, 4, 0, // NoB, MM, szB, NoI, res1
  5, 10, 5, 5, 5, 0, 1, 15, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  2048, 0, 0, // LBpSL, BNNoIP, LNNoIP
  5, 10, 5, 5, 5, 0, 1, 15, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0117, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  2048, // BpSL
  1024,  768, 8, 16, 1, 16, // XRes x YRes, XChar, YChar, Planes, BPP
  24, 6, 0, 4, 0, // NoB, MM, szB, NoI, res1
  5, 11, 6, 5, 5, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  2048, 0, 0, // LBpSL, BNNoIP, LNNoIP
  5, 11, 6, 5, 5, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0118, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  3072, // BpSL
  1024,  768, 8, 16, 1, 24, // XRes x YRes, XChar, YChar, Planes, BPP
  36, 6, 0, 2, 0, // NoB, MM, szB, NoI, res1
  8, 16, 8, 8, 8, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  3072, 0, 0, // LBpSL, BNNoIP, LNNoIP
  8, 16, 8, 8, 8, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0119, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  2560, // BpSL
  1280,  1024, 8, 16, 1, 15, // XRes x YRes, XChar, YChar, Planes, BPP
  40, 6, 0, 2, 0, // NoB, MM, szB, NoI, res1
  5, 10, 5, 5, 5, 0, 1, 15, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  2560, 0, 0, // LBpSL, BNNoIP, LNNoIP
  5, 10, 5, 5, 5, 0, 1, 15, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x011A, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  2560, // BpSL
  1280,  1024, 8, 16, 1, 16, // XRes x YRes, XChar, YChar, Planes, BPP
  40, 6, 0, 2, 0, // NoB, MM, szB, NoI, res1
  5, 11, 6, 5, 5, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  2560, 0, 0, // LBpSL, BNNoIP, LNNoIP
  5, 11, 6, 5, 5, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x011B, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  3840, // BpSL
  1280,  1024, 8, 16, 1, 24, // XRes x YRes, XChar, YChar, Planes, BPP
  60, 6, 0, 1, 0, // NoB, MM, szB, NoI, res1
  8, 16, 8, 8, 8, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  3840, 0, 0, // LBpSL, BNNoIP, LNNoIP
  8, 16, 8, 8, 8, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x011C, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  1920, // BpSL
  1920,  1200, 8, 16, 1, 8, // XRes x YRes, XChar, YChar, Planes, BPP
  36, 4, 0, 2, 0, // NoB, MM, szB, NoI, res1
  0, 0, 0, 0, 0, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  1920, 0, 0, // LBpSL, BNNoIP, LNNoIP
  0, 0, 0, 0, 0, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x011D, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  3840, // BpSL
  1920,  1200, 8, 16, 1, 15, // XRes x YRes, XChar, YChar, Planes, BPP
  71, 6, 0, 0, 0, // NoB, MM, szB, NoI, res1
  5, 10, 5, 5, 5, 0, 1, 15, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  3840, 0, 0, // LBpSL, BNNoIP, LNNoIP
  5, 10, 5, 5, 5, 0, 1, 15, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x011E, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  3840, // BpSL
  1920,  1200, 8, 16, 1, 16, // XRes x YRes, XChar, YChar, Planes, BPP
  71, 6, 0, 0, 0, // NoB, MM, szB, NoI, res1
  5, 11, 6, 5, 5, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  3840, 0, 0, // LBpSL, BNNoIP, LNNoIP
  5, 11, 6, 5, 5, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x011F, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  5760, // BpSL
  1920,  1200, 8, 16, 1, 24, // XRes x YRes, XChar, YChar, Planes, BPP
  106, 6, 0, 0, 0, // NoB, MM, szB, NoI, res1
  8, 16, 8, 8, 8, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  5760, 0, 0, // LBpSL, BNNoIP, LNNoIP
  8, 16, 8, 8, 8, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0140, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  1280, // BpSL
  320,  200, 8, 16, 1, 32, // XRes x YRes, XChar, YChar, Planes, BPP
  4, 6, 0, 31, 0, // NoB, MM, szB, NoI, res1
  8, 16, 8, 8, 8, 0, 8, 24, // red, green, blue, rsvd ms/fp
  2, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  1280, 0, 0, // LBpSL, BNNoIP, LNNoIP
  8, 16, 8, 8, 8, 0, 8, 24, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0141, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  2560, // BpSL
  640,  400, 8, 16, 1, 32, // XRes x YRes, XChar, YChar, Planes, BPP
  16, 6, 0, 7, 0, // NoB, MM, szB, NoI, res1
  8, 16, 8, 8, 8, 0, 8, 24, // red, green, blue, rsvd ms/fp
  2, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  2560, 0, 0, // LBpSL, BNNoIP, LNNoIP
  8, 16, 8, 8, 8, 0, 8, 24, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0142, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  2560, // BpSL
  640,  480, 8, 16, 1, 32, // XRes x YRes, XChar, YChar, Planes, BPP
  19, 6, 0, 5, 0, // NoB, MM, szB, NoI, res1
  8, 16, 8, 8, 8, 0, 8, 24, // red, green, blue, rsvd ms/fp
  2, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  2560, 0, 0, // LBpSL, BNNoIP, LNNoIP
  8, 16, 8, 8, 8, 0, 8, 24, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0143, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  3200, // BpSL
  800,  600, 8, 16, 1, 32, // XRes x YRes, XChar, YChar, Planes, BPP
  30, 6, 0, 3, 0, // NoB, MM, szB, NoI, res1
  8, 16, 8, 8, 8, 0, 8, 24, // red, green, blue, rsvd ms/fp
  2, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  3200, 0, 0, // LBpSL, BNNoIP, LNNoIP
  8, 16, 8, 8, 8, 0, 8, 24, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0144, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  4096, // BpSL
  1024,  768, 8, 16, 1, 32, // XRes x YRes, XChar, YChar, Planes, BPP
  48, 6, 0, 1, 0, // NoB, MM, szB, NoI, res1
  8, 16, 8, 8, 8, 0, 8, 24, // red, green, blue, rsvd ms/fp
  2, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  4096, 0, 0, // LBpSL, BNNoIP, LNNoIP
  8, 16, 8, 8, 8, 0, 8, 24, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0145, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  5120, // BpSL
  1280,  1024, 8, 16, 1, 32, // XRes x YRes, XChar, YChar, Planes, BPP
  80, 6, 0, 0, 0, // NoB, MM, szB, NoI, res1
  8, 16, 8, 8, 8, 0, 8, 24, // red, green, blue, rsvd ms/fp
  2, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  5120, 0, 0, // LBpSL, BNNoIP, LNNoIP
  8, 16, 8, 8, 8, 0, 8, 24, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0146, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  320, // BpSL
  320,  200, 8, 16, 1, 8, // XRes x YRes, XChar, YChar, Planes, BPP
  1, 4, 0, 65410, 0, // NoB, MM, szB, NoI, res1
  0, 0, 0, 0, 0, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  320, 0, 0, // LBpSL, BNNoIP, LNNoIP
  0, 0, 0, 0, 0, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0147, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  6400, // BpSL
  1600,  1200, 8, 16, 1, 32, // XRes x YRes, XChar, YChar, Planes, BPP
  118, 6, 0, 0, 0, // NoB, MM, szB, NoI, res1
  8, 16, 8, 8, 8, 0, 8, 24, // red, green, blue, rsvd ms/fp
  2, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  6400, 0, 0, // LBpSL, BNNoIP, LNNoIP
  8, 16, 8, 8, 8, 0, 8, 24, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0148, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  1152, // BpSL
  1152,  864, 8, 16, 1, 8, // XRes x YRes, XChar, YChar, Planes, BPP
  16, 4, 0, 7, 0, // NoB, MM, szB, NoI, res1
  0, 0, 0, 0, 0, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  1152, 0, 0, // LBpSL, BNNoIP, LNNoIP
  0, 0, 0, 0, 0, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0149, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  2304, // BpSL
  1152,  864, 8, 16, 1, 15, // XRes x YRes, XChar, YChar, Planes, BPP
  31, 6, 0, 3, 0, // NoB, MM, szB, NoI, res1
  5, 10, 5, 5, 5, 0, 1, 15, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  2304, 0, 0, // LBpSL, BNNoIP, LNNoIP
  5, 10, 5, 5, 5, 0, 1, 15, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x014A, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  2304, // BpSL
  1152,  864, 8, 16, 1, 16, // XRes x YRes, XChar, YChar, Planes, BPP
  31, 6, 0, 3, 0, // NoB, MM, szB, NoI, res1
  5, 11, 6, 5, 5, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  2304, 0, 0, // LBpSL, BNNoIP, LNNoIP
  5, 11, 6, 5, 5, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x014B, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  3456, // BpSL
  1152,  864, 8, 16, 1, 24, // XRes x YRes, XChar, YChar, Planes, BPP
  46, 6, 0, 1, 0, // NoB, MM, szB, NoI, res1
  8, 16, 8, 8, 8, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  3456, 0, 0, // LBpSL, BNNoIP, LNNoIP
  8, 16, 8, 8, 8, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x014C, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  4608, // BpSL
  1152,  864, 8, 16, 1, 32, // XRes x YRes, XChar, YChar, Planes, BPP
  61, 6, 0, 1, 0, // NoB, MM, szB, NoI, res1
  8, 16, 8, 8, 8, 0, 8, 24, // red, green, blue, rsvd ms/fp
  2, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  4608, 0, 0, // LBpSL, BNNoIP, LNNoIP
  8, 16, 8, 8, 8, 0, 8, 24, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0178, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  3840, // BpSL
  1280,  800, 8, 16, 1, 24, // XRes x YRes, XChar, YChar, Planes, BPP
  47, 6, 0, 1, 0, // NoB, MM, szB, NoI, res1
  8, 16, 8, 8, 8, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  3840, 0, 0, // LBpSL, BNNoIP, LNNoIP
  8, 16, 8, 8, 8, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0179, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  5120, // BpSL
  1280,  800, 8, 16, 1, 32, // XRes x YRes, XChar, YChar, Planes, BPP
  63, 6, 0, 1, 0, // NoB, MM, szB, NoI, res1
  8, 16, 8, 8, 8, 0, 8, 24, // red, green, blue, rsvd ms/fp
  2, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  5120, 0, 0, // LBpSL, BNNoIP, LNNoIP
  8, 16, 8, 8, 8, 0, 8, 24, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0180, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  3840, // BpSL
  1280,  960, 8, 16, 1, 24, // XRes x YRes, XChar, YChar, Planes, BPP
  57, 6, 0, 1, 0, // NoB, MM, szB, NoI, res1
  8, 16, 8, 8, 8, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  3840, 0, 0, // LBpSL, BNNoIP, LNNoIP
  8, 16, 8, 8, 8, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0181, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  5120, // BpSL
  1280,  960, 8, 16, 1, 32, // XRes x YRes, XChar, YChar, Planes, BPP
  75, 6, 0, 0, 0, // NoB, MM, szB, NoI, res1
  8, 16, 8, 8, 8, 0, 8, 24, // red, green, blue, rsvd ms/fp
  2, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  5120, 0, 0, // LBpSL, BNNoIP, LNNoIP
  8, 16, 8, 8, 8, 0, 8, 24, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0182, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  3840, // BpSL
  1280,  960, 8, 16, 1, 24, // XRes x YRes, XChar, YChar, Planes, BPP
  57, 6, 0, 1, 0, // NoB, MM, szB, NoI, res1
  8, 16, 8, 8, 8, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  3840, 0, 0, // LBpSL, BNNoIP, LNNoIP
  8, 16, 8, 8, 8, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0183, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  5120, // BpSL
  1280,  960, 8, 16, 1, 32, // XRes x YRes, XChar, YChar, Planes, BPP
  75, 6, 0, 0, 0, // NoB, MM, szB, NoI, res1
  8, 16, 8, 8, 8, 0, 8, 24, // red, green, blue, rsvd ms/fp
  2, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  5120, 0, 0, // LBpSL, BNNoIP, LNNoIP
  8, 16, 8, 8, 8, 0, 8, 24, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0184, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  4320, // BpSL
  1440,  900, 8, 16, 1, 24, // XRes x YRes, XChar, YChar, Planes, BPP
  60, 6, 0, 1, 0, // NoB, MM, szB, NoI, res1
  8, 16, 8, 8, 8, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  4320, 0, 0, // LBpSL, BNNoIP, LNNoIP
  8, 16, 8, 8, 8, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0185, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  5760, // BpSL
  1440,  900, 8, 16, 1, 32, // XRes x YRes, XChar, YChar, Planes, BPP
  80, 6, 0, 0, 0, // NoB, MM, szB, NoI, res1
  8, 16, 8, 8, 8, 0, 8, 24, // red, green, blue, rsvd ms/fp
  2, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  5760, 0, 0, // LBpSL, BNNoIP, LNNoIP
  8, 16, 8, 8, 8, 0, 8, 24, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0186, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  4200, // BpSL
  1400,  1050, 8, 16, 1, 24, // XRes x YRes, XChar, YChar, Planes, BPP
  68, 6, 0, 0, 0, // NoB, MM, szB, NoI, res1
  8, 16, 8, 8, 8, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  4200, 0, 0, // LBpSL, BNNoIP, LNNoIP
  8, 16, 8, 8, 8, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0187, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  5600, // BpSL
  1400,  1050, 8, 16, 1, 32, // XRes x YRes, XChar, YChar, Planes, BPP
  90, 6, 0, 0, 0, // NoB, MM, szB, NoI, res1
  8, 16, 8, 8, 8, 0, 8, 24, // red, green, blue, rsvd ms/fp
  2, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  5600, 0, 0, // LBpSL, BNNoIP, LNNoIP
  8, 16, 8, 8, 8, 0, 8, 24, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0188, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  5040, // BpSL
  1680,  1050, 8, 16, 1, 24, // XRes x YRes, XChar, YChar, Planes, BPP
  81, 6, 0, 0, 0, // NoB, MM, szB, NoI, res1
  8, 16, 8, 8, 8, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  5040, 0, 0, // LBpSL, BNNoIP, LNNoIP
  8, 16, 8, 8, 8, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
{ 0x0189, // VESA Mode
  0x009B, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC0008E97, // WinA SEG, WinB SEG, WinFunc ptr
  6720, // BpSL
  1680,  1050, 8, 16, 1, 32, // XRes x YRes, XChar, YChar, Planes, BPP
  108, 6, 0, 0, 0, // NoB, MM, szB, NoI, res1
  8, 16, 8, 8, 8, 0, 8, 24, // red, green, blue, rsvd ms/fp
  2, // DCMI
  0xE0000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  6720, 0, 0, // LBpSL, BNNoIP, LNNoIP
  8, 16, 8, 8, 8, 0, 8, 24, // lin. red, green, blue, rsvd ms/fp
 0, " "}, // MaxPCLK(Hz), char res2[189]
}; // table end

[-- Attachment #3: Type: text/plain, Size: 228 bytes --]

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/

[-- Attachment #4: Type: text/plain, Size: 158 bytes --]

_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Widescreen troubles again
  2008-02-19 15:53   ` Arne Brutschy
@ 2008-02-19 16:02     ` Avi Kivity
  2008-02-19 16:21     ` Andreas Winkelbauer
  1 sibling, 0 replies; 8+ messages in thread
From: Avi Kivity @ 2008-02-19 16:02 UTC (permalink / raw)
  To: arne.brutschy; +Cc: kvm-devel

Arne Brutschy wrote:
> Hi,
>
> thanks for the response!
>
> On Di, 2008-02-19 at 15:08 +0000, Andreas Winkelbauer wrote:
>   
>> well, I think it is very unlikely that the vgabios is located at /usr/share/kvm
>> or so. 
>>     
> It actually is, and qemu is using it correctly.
>
> I contacted the author of the VBEMP driver. He wrote me that there exist
> several methods of requesting the available modes from the BIOS.
> Apparently, by adding a mode to the vbetables-gen.c it's only added to
> parts of the tables and not to all of them, which is incorrect. By only
> using vbetables-gen I edited the BIOS only half-way.
>
> I checked by using a infovbe tool from the authors website [1]. The
> tools reports my mode (1920x1200) correctly for the first method used,
> but misses it in the second method (output attached).
>
> Additionally, I think it may have something to do with the video memory,
> as 1920x1200x32 required more than 8 MB of vmem. I increased the value
> in vbetables-gen.c, but I don't know it this is sufficient to make it
> work (the value gets reported correctly by the driver, though).
>
>   

Yes, qemu only allocates 8MB.  It should be easy to increase this.

> I'm trying to contact the VGAbios people about this, because this list
> might be the wrong place for it.
>
>   

Please keep kvm-devel copied, several people are interested.

-- 
error compiling committee.c: too many arguments to function


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Widescreen troubles again
  2008-02-19 15:53   ` Arne Brutschy
  2008-02-19 16:02     ` Avi Kivity
@ 2008-02-19 16:21     ` Andreas Winkelbauer
  2008-02-20  8:11       ` Arne Brutschy
  1 sibling, 1 reply; 8+ messages in thread
From: Andreas Winkelbauer @ 2008-02-19 16:21 UTC (permalink / raw)
  To: kvm-devel

hi,

> I contacted the author of the VBEMP driver. He wrote me that there exist
> several methods of requesting the available modes from the BIOS.
> Apparently, by adding a mode to the vbetables-gen.c it's only added to
> parts of the tables and not to all of them, which is incorrect. By only
> using vbetables-gen I edited the BIOS only half-way.

as far as I have seen the 'special' modes have a preprocessor constant defined
in vgabios/vbe.h which looks like

...
#define VBE_OWN_MODE_1152X864X8888 0x14c

the numbers (0x14c in this case) correspond to those used in vbetables-gen.c. I
don't know if and where these definitions are used, but I guess they aren't very
important, because the widescreen modes which were added to vbetables-gen.c (for
example 1440x900) are not in vbe.h and they do work anyway.

in fact all the non-standard (widescreen) modes defined in vbetables-gen.c work
for me _except_ 1680x1050. I've tested this with kvm-60, kvm-61 and the latest
snapshot (as of writing this). this really looks like a limitation somewhere,
but at the moment I have no clue who could be responsible for that limitation.

> Additionally, I think it may have something to do with the video memory,
> as 1920x1200x32 required more than 8 MB of vmem. I increased the value
> in vbetables-gen.c, but I don't know it this is sufficient to make it
> work (the value gets reported correctly by the driver, though).

well, the amount of memory (in bytes) needed (for the framebuffer) is: width x
heigth x (color depth in bit / 8). in you example: 1920 x 1200 x 4 = 9216000
bytes which is greater than 8MB, so you might want to try using 16MB of video
memory.

> I'm trying to contact the VGAbios people about this, because this list
> might be the wrong place for it.

I hope they can help you/us. Please keep the list informed about this issue.

bye,
Andi


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Widescreen troubles again
  2008-02-19 16:21     ` Andreas Winkelbauer
@ 2008-02-20  8:11       ` Arne Brutschy
  0 siblings, 0 replies; 8+ messages in thread
From: Arne Brutschy @ 2008-02-20  8:11 UTC (permalink / raw)
  To: kvm-devel


On Di, 2008-02-19 at 16:21 +0000, Andreas Winkelbauer wrote:
> as far as I have seen the 'special' modes have a preprocessor constant defined
> in vgabios/vbe.h which looks like
> #define VBE_OWN_MODE_1152X864X8888 0x14c
> 
> the numbers (0x14c in this case) correspond to those used in vbetables-gen.c. I
> don't know if and where these definitions are used
Yes, I found that too, but I could any references to it. I added my mode
anyways, which didn't change anything.

> in fact all the non-standard (widescreen) modes defined in vbetables-gen.c work
> for me _except_ 1680x1050. I've tested this with kvm-60, kvm-61 and the latest
> snapshot (as of writing this). this really looks like a limitation somewhere,
> but at the moment I have no clue who could be responsible for that limitation.
This is very strange... For me only some of the additional modes work
and are reported by the driver correctly, but I couldn't find the
criteria which makes the difference.

> well, the amount of memory (in bytes) needed (for the framebuffer) is: width x
> heigth x (color depth in bit / 8). in you example: 1920 x 1200 x 4 = 9216000
> bytes which is greater than 8MB, so you might want to try using 16MB of video
> memory.
I did already. Increasing the value in the vbetables.h actually did
change the amount of vram reported by the windows driver, but appart
from that nothing changed.

Regards,
Arne



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Widescreen troubles again --> solved
  2008-02-18 12:50 Widescreen troubles again Arne Brutschy
  2008-02-19 15:08 ` Andreas Winkelbauer
@ 2008-02-20 21:00 ` Andreas Winkelbauer
  2008-02-20 21:08   ` Haydn Solomon
  1 sibling, 1 reply; 8+ messages in thread
From: Andreas Winkelbauer @ 2008-02-20 21:00 UTC (permalink / raw)
  To: kvm-devel

hi,

I managed to get kvm-61 working at a resolution of 1680x1050 (using -std-vga;
windowed as well as fullscreen) with windows xp as guest os.

Basically I took the following steps:
* increase vga memory from 8MB to 16MB (in vbetables-gen.c)
* add modes to vbetables-gen.c
* change qemu/hw/vga_int.h accordingly

I'll post a patch according to my changes soon.

cheers,
Andi


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Widescreen troubles again --> solved
  2008-02-20 21:00 ` Widescreen troubles again --> solved Andreas Winkelbauer
@ 2008-02-20 21:08   ` Haydn Solomon
  0 siblings, 0 replies; 8+ messages in thread
From: Haydn Solomon @ 2008-02-20 21:08 UTC (permalink / raw)
  To: Andreas Winkelbauer; +Cc: kvm-devel


[-- Attachment #1.1: Type: text/plain, Size: 1002 bytes --]

Great Job,

Any chance on getting it up to resolution 1900x1200? Looking forward to
these updates.

On Wed, Feb 20, 2008 at 1:00 PM, Andreas Winkelbauer <
andreas.winkelbauer@gmx.at> wrote:

> hi,
>
> I managed to get kvm-61 working at a resolution of 1680x1050 (using
> -std-vga;
> windowed as well as fullscreen) with windows xp as guest os.
>
> Basically I took the following steps:
> * increase vga memory from 8MB to 16MB (in vbetables-gen.c)
> * add modes to vbetables-gen.c
> * change qemu/hw/vga_int.h accordingly
>
> I'll post a patch according to my changes soon.
>
> cheers,
> Andi
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> kvm-devel mailing list
> kvm-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/kvm-devel
>

[-- Attachment #1.2: Type: text/html, Size: 1527 bytes --]

[-- Attachment #2: Type: text/plain, Size: 228 bytes --]

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/

[-- Attachment #3: Type: text/plain, Size: 158 bytes --]

_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2008-02-20 21:08 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-02-18 12:50 Widescreen troubles again Arne Brutschy
2008-02-19 15:08 ` Andreas Winkelbauer
2008-02-19 15:53   ` Arne Brutschy
2008-02-19 16:02     ` Avi Kivity
2008-02-19 16:21     ` Andreas Winkelbauer
2008-02-20  8:11       ` Arne Brutschy
2008-02-20 21:00 ` Widescreen troubles again --> solved Andreas Winkelbauer
2008-02-20 21:08   ` Haydn Solomon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox