This patch series adds support for all the standard resolutions as listed on Wikipedia.
I've fixed the issue Gerd pointed out and rebased onto master.
I also see that Gerd himself has recently put out a patch for 4K resolutions, however, my own ultrawide resolution of 3440x1440 remains unsupported by SeaBIOS. I've heard from some others that they have unique resolutions that are still not in SeaBIOS but they should be with this patch so I hope we can get it in.
Regarding 24 bpp, probably yes, most software doesn't care about it but for maximal compatability (and because Windows has been finicky in my experience), I think we should include it. Also, there's still the chance that some people may want to use it in some unlikely scenarios which they should be able to do without recompilation. One last thing to consider is that we would then have to decide at what point do the resolutions being added with this patch become modern/new enough that it no longer makes sense to keep the 24 bpp variants. It seems like we would basically just have to draw an arbitrary line in the sand. However, if you would still like to remove 24 bpp variants then please provide me with a cut off point and I'll put it in the next patch version.
Again, if we could get this in that would be fantastic because I've personally had people raise this issue with me in regards to an issue they're having in relation to one of my projects.
Thanks, Elliot
Elliot Killick (2): svgamodes: Add support for all standard resolutions svgamodes: Improve formatting
vgasrc/svgamodes.c | 225 ++++++++++++++++++++++++++++----------------- 1 file changed, 141 insertions(+), 84 deletions(-)
Add support for all standard resolutions as listed on Wikipedia.
https://en.wikipedia.org/wiki/Graphics_display_resolution
Signed-off-by: Elliot Killick elliotkillick@zohomail.eu --- vgasrc/svgamodes.c | 103 +++++++++++++++++++++++++++++++++++---------- 1 file changed, 80 insertions(+), 23 deletions(-)
diff --git a/vgasrc/svgamodes.c b/vgasrc/svgamodes.c index 2543b95..ba5bb5c 100644 --- a/vgasrc/svgamodes.c +++ b/vgasrc/svgamodes.c @@ -75,30 +75,87 @@ struct generic_svga_mode svga_modes[] VAR16 = { { 0x187, { MM_DIRECT, 1920, 1200, 16, 8, 16, SEG_GRAPH } }, { 0x188, { MM_DIRECT, 1920, 1200, 24, 8, 16, SEG_GRAPH } }, { 0x189, { MM_DIRECT, 1920, 1200, 32, 8, 16, SEG_GRAPH } }, - { 0x18a, { MM_DIRECT, 2560, 1600, 16, 8, 16, SEG_GRAPH } }, - { 0x18b, { MM_DIRECT, 2560, 1600, 24, 8, 16, SEG_GRAPH } }, - { 0x18c, { MM_DIRECT, 2560, 1600, 32, 8, 16, SEG_GRAPH } }, - { 0x18d, { MM_DIRECT, 1280, 720, 16, 8, 16, SEG_GRAPH } }, - { 0x18e, { MM_DIRECT, 1280, 720, 24, 8, 16, SEG_GRAPH } }, - { 0x18f, { MM_DIRECT, 1280, 720, 32, 8, 16, SEG_GRAPH } }, - { 0x190, { MM_DIRECT, 1920, 1080, 16, 8, 16, SEG_GRAPH } }, - { 0x191, { MM_DIRECT, 1920, 1080, 24, 8, 16, SEG_GRAPH } }, - { 0x192, { MM_DIRECT, 1920, 1080, 32, 8, 16, SEG_GRAPH } }, + { 0x18a, { MM_DIRECT, 1280, 720, 16, 8, 16, SEG_GRAPH } }, + { 0x18b, { MM_DIRECT, 1280, 720, 24, 8, 16, SEG_GRAPH } }, + { 0x18c, { MM_DIRECT, 1280, 720, 32, 8, 16, SEG_GRAPH } }, + { 0x18d, { MM_DIRECT, 1920, 1080, 16, 8, 16, SEG_GRAPH } }, + { 0x18e, { MM_DIRECT, 1920, 1080, 24, 8, 16, SEG_GRAPH } }, + { 0x18f, { MM_DIRECT, 1920, 1080, 32, 8, 16, SEG_GRAPH } }, + { 0x190, { MM_DIRECT, 1600, 900, 16, 8, 16, SEG_GRAPH } }, + { 0x191, { MM_DIRECT, 1600, 900, 24, 8, 16, SEG_GRAPH } }, + { 0x192, { MM_DIRECT, 1600, 900, 32, 8, 16, SEG_GRAPH } }, + { 0x193, { MM_DIRECT, 960, 540, 16, 8, 16, SEG_GRAPH } }, + { 0x194, { MM_DIRECT, 960, 540, 24, 8, 16, SEG_GRAPH } }, + { 0x195, { MM_DIRECT, 960, 540, 32, 8, 16, SEG_GRAPH } }, + { 0x196, { MM_DIRECT, 1280, 1080, 16, 8, 16, SEG_GRAPH } }, + { 0x197, { MM_DIRECT, 1280, 1080, 24, 8, 16, SEG_GRAPH } }, + { 0x198, { MM_DIRECT, 1280, 1080, 32, 8, 16, SEG_GRAPH } },
- /* custom resolutions for 16:9 displays */ - { 0x193, { MM_DIRECT, 1600, 900, 16, 8, 16, SEG_GRAPH } }, - { 0x194, { MM_DIRECT, 1600, 900, 24, 8, 16, SEG_GRAPH } }, - { 0x195, { MM_DIRECT, 1600, 900, 32, 8, 16, SEG_GRAPH } }, - { 0x196, { MM_DIRECT, 2560, 1440, 16, 8, 16, SEG_GRAPH } }, - { 0x197, { MM_DIRECT, 2560, 1440, 24, 8, 16, SEG_GRAPH } }, - { 0x198, { MM_DIRECT, 2560, 1440, 32, 8, 16, SEG_GRAPH } }, + /* other high-definition resloutions */ + { 0x199, { MM_DIRECT, 2048, 1080, 16, 8, 16, SEG_GRAPH } }, + { 0x19a, { MM_DIRECT, 2048, 1080, 24, 8, 16, SEG_GRAPH } }, + { 0x19b, { MM_DIRECT, 2048, 1080, 32, 8, 16, SEG_GRAPH } }, + { 0x19c, { MM_DIRECT, 2160, 1080, 16, 8, 16, SEG_GRAPH } }, + { 0x19d, { MM_DIRECT, 2160, 1080, 24, 8, 16, SEG_GRAPH } }, + { 0x19e, { MM_DIRECT, 2160, 1080, 32, 8, 16, SEG_GRAPH } }, + { 0x19f, { MM_DIRECT, 2560, 1080, 16, 8, 16, SEG_GRAPH } }, + { 0x1a0, { MM_DIRECT, 2560, 1080, 24, 8, 16, SEG_GRAPH } }, + { 0x1a1, { MM_DIRECT, 2560, 1080, 32, 8, 16, SEG_GRAPH } }, + { 0x1a2, { MM_DIRECT, 2560, 1440, 16, 8, 16, SEG_GRAPH } }, + { 0x1a3, { MM_DIRECT, 2560, 1440, 24, 8, 16, SEG_GRAPH } }, + { 0x1a4, { MM_DIRECT, 2560, 1440, 32, 8, 16, SEG_GRAPH } }, + { 0x1a5, { MM_DIRECT, 3200, 1800, 16, 8, 16, SEG_GRAPH } }, + { 0x1a6, { MM_DIRECT, 3200, 1800, 24, 8, 16, SEG_GRAPH } }, + { 0x1a7, { MM_DIRECT, 3200, 1800, 32, 8, 16, SEG_GRAPH } }, + { 0x1a8, { MM_DIRECT, 3440, 1440, 16, 8, 16, SEG_GRAPH } }, + { 0x1a9, { MM_DIRECT, 3440, 1440, 24, 8, 16, SEG_GRAPH } }, + { 0x1aa, { MM_DIRECT, 3440, 1440, 32, 8, 16, SEG_GRAPH } }, + { 0x1ab, { MM_DIRECT, 3840, 1080, 16, 8, 16, SEG_GRAPH } }, + { 0x1ac, { MM_DIRECT, 3840, 1080, 24, 8, 16, SEG_GRAPH } }, + { 0x1ad, { MM_DIRECT, 3840, 1080, 32, 8, 16, SEG_GRAPH } }, + { 0x1ae, { MM_DIRECT, 3840, 1600, 16, 8, 16, SEG_GRAPH } }, + { 0x1af, { MM_DIRECT, 3840, 1600, 24, 8, 16, SEG_GRAPH } }, + { 0x1b0, { MM_DIRECT, 3840, 1600, 32, 8, 16, SEG_GRAPH } }, + { 0x1b1, { MM_DIRECT, 3840, 2160, 16, 8, 16, SEG_GRAPH } }, + { 0x1b2, { MM_DIRECT, 3840, 2160, 24, 8, 16, SEG_GRAPH } }, + { 0x1b3, { MM_DIRECT, 3840, 2160, 32, 8, 16, SEG_GRAPH } }, + { 0x1b4, { MM_DIRECT, 4096, 2160, 16, 8, 16, SEG_GRAPH } }, + { 0x1b5, { MM_DIRECT, 4096, 2160, 24, 8, 16, SEG_GRAPH } }, + { 0x1b6, { MM_DIRECT, 4096, 2160, 32, 8, 16, SEG_GRAPH } }, + { 0x1b7, { MM_DIRECT, 5120, 2160, 16, 8, 16, SEG_GRAPH } }, + { 0x1b8, { MM_DIRECT, 5120, 2160, 24, 8, 16, SEG_GRAPH } }, + { 0x1b9, { MM_DIRECT, 5120, 2160, 32, 8, 16, SEG_GRAPH } }, + { 0x1ba, { MM_DIRECT, 5120, 2880, 16, 8, 16, SEG_GRAPH } }, + { 0x1bb, { MM_DIRECT, 5120, 2880, 24, 8, 16, SEG_GRAPH } }, + { 0x1bc, { MM_DIRECT, 5120, 2880, 32, 8, 16, SEG_GRAPH } }, + { 0x1bd, { MM_DIRECT, 7680, 4320, 16, 8, 16, SEG_GRAPH } }, + { 0x1be, { MM_DIRECT, 7680, 4320, 24, 8, 16, SEG_GRAPH } }, + { 0x1bf, { MM_DIRECT, 7680, 4320, 32, 8, 16, SEG_GRAPH } }, + { 0x1c0, { MM_DIRECT, 17280,4320, 16, 8, 16, SEG_GRAPH } }, + { 0x1c1, { MM_DIRECT, 17280,4320, 24, 8, 16, SEG_GRAPH } }, + { 0x1c2, { MM_DIRECT, 17280,4320, 32, 8, 16, SEG_GRAPH } },
- /* 4k modes */ - { 0x199, { MM_DIRECT, 3840, 2160, 16, 8, 16, SEG_GRAPH } }, - { 0x19a, { MM_DIRECT, 3840, 2160, 32, 8, 16, SEG_GRAPH } }, - { 0x19b, { MM_DIRECT, 4096, 2160, 16, 8, 16, SEG_GRAPH } }, - { 0x19c, { MM_DIRECT, 4096, 2160, 32, 8, 16, SEG_GRAPH } }, - { 0x19d, { MM_DIRECT, 5120, 2160, 16, 8, 16, SEG_GRAPH } }, - { 0x19e, { MM_DIRECT, 5120, 2160, 32, 8, 16, SEG_GRAPH } }, + /* quad extended graphics array resolutions */ + { 0x1c3, { MM_DIRECT, 2048, 1152, 16, 8, 16, SEG_GRAPH } }, + { 0x1c4, { MM_DIRECT, 2048, 1152, 24, 8, 16, SEG_GRAPH } }, + { 0x1c5, { MM_DIRECT, 2048, 1152, 32, 8, 16, SEG_GRAPH } }, + { 0x1c6, { MM_DIRECT, 2048, 1536, 16, 8, 16, SEG_GRAPH } }, + { 0x1c7, { MM_DIRECT, 2048, 1536, 24, 8, 16, SEG_GRAPH } }, + { 0x1c8, { MM_DIRECT, 2048, 1536, 32, 8, 16, SEG_GRAPH } }, + { 0x1c9, { MM_DIRECT, 2560, 1600, 16, 8, 16, SEG_GRAPH } }, + { 0x1ca, { MM_DIRECT, 2560, 1600, 24, 8, 16, SEG_GRAPH } }, + { 0x1cb, { MM_DIRECT, 2560, 1600, 32, 8, 16, SEG_GRAPH } }, + { 0x1cc, { MM_DIRECT, 2560, 2048, 16, 8, 16, SEG_GRAPH } }, + { 0x1cd, { MM_DIRECT, 2560, 2048, 24, 8, 16, SEG_GRAPH } }, + { 0x1ce, { MM_DIRECT, 2560, 2048, 32, 8, 16, SEG_GRAPH } }, + { 0x1cf, { MM_DIRECT, 3200, 2048, 16, 8, 16, SEG_GRAPH } }, + { 0x1d0, { MM_DIRECT, 3200, 2048, 24, 8, 16, SEG_GRAPH } }, + { 0x1d1, { MM_DIRECT, 3200, 2048, 32, 8, 16, SEG_GRAPH } }, + { 0x1d2, { MM_DIRECT, 3200, 2400, 16, 8, 16, SEG_GRAPH } }, + { 0x1d3, { MM_DIRECT, 3200, 2400, 24, 8, 16, SEG_GRAPH } }, + { 0x1d4, { MM_DIRECT, 3200, 2400, 32, 8, 16, SEG_GRAPH } }, + { 0x1d5, { MM_DIRECT, 3840, 2400, 16, 8, 16, SEG_GRAPH } }, + { 0x1d6, { MM_DIRECT, 3840, 2400, 24, 8, 16, SEG_GRAPH } }, + { 0x1d7, { MM_DIRECT, 3840, 2400, 32, 8, 16, SEG_GRAPH } }, }; unsigned int svga_mcount VAR16 = ARRAY_SIZE(svga_modes);
Normalize capitalization of hex identifiers and fix spacing to accommodate new 5-digit resolution width.
Signed-off-by: Elliot Killick elliotkillick@zohomail.eu --- vgasrc/svgamodes.c | 278 ++++++++++++++++++++++----------------------- 1 file changed, 139 insertions(+), 139 deletions(-)
diff --git a/vgasrc/svgamodes.c b/vgasrc/svgamodes.c index ba5bb5c..b3f1321 100644 --- a/vgasrc/svgamodes.c +++ b/vgasrc/svgamodes.c @@ -13,149 +13,149 @@
struct generic_svga_mode svga_modes[] VAR16 = { /* standard modes */ - { 0x100, { MM_PACKED, 640, 400, 8, 8, 16, SEG_GRAPH } }, - { 0x101, { MM_PACKED, 640, 480, 8, 8, 16, SEG_GRAPH } }, - { 0x102, { MM_PLANAR, 800, 600, 4, 8, 16, SEG_GRAPH } }, - { 0x103, { MM_PACKED, 800, 600, 8, 8, 16, SEG_GRAPH } }, - { 0x104, { MM_PLANAR, 1024, 768, 4, 8, 16, SEG_GRAPH } }, - { 0x105, { MM_PACKED, 1024, 768, 8, 8, 16, SEG_GRAPH } }, - { 0x106, { MM_PLANAR, 1280, 1024, 4, 8, 16, SEG_GRAPH } }, - { 0x107, { MM_PACKED, 1280, 1024, 8, 8, 16, SEG_GRAPH } }, - { 0x10D, { MM_DIRECT, 320, 200, 15, 8, 16, SEG_GRAPH } }, - { 0x10E, { MM_DIRECT, 320, 200, 16, 8, 16, SEG_GRAPH } }, - { 0x10F, { MM_DIRECT, 320, 200, 24, 8, 16, SEG_GRAPH } }, - { 0x110, { MM_DIRECT, 640, 480, 15, 8, 16, SEG_GRAPH } }, - { 0x111, { MM_DIRECT, 640, 480, 16, 8, 16, SEG_GRAPH } }, - { 0x112, { MM_DIRECT, 640, 480, 24, 8, 16, SEG_GRAPH } }, - { 0x113, { MM_DIRECT, 800, 600, 15, 8, 16, SEG_GRAPH } }, - { 0x114, { MM_DIRECT, 800, 600, 16, 8, 16, SEG_GRAPH } }, - { 0x115, { MM_DIRECT, 800, 600, 24, 8, 16, SEG_GRAPH } }, - { 0x116, { MM_DIRECT, 1024, 768, 15, 8, 16, SEG_GRAPH } }, - { 0x117, { MM_DIRECT, 1024, 768, 16, 8, 16, SEG_GRAPH } }, - { 0x118, { MM_DIRECT, 1024, 768, 24, 8, 16, SEG_GRAPH } }, - { 0x119, { MM_DIRECT, 1280, 1024, 15, 8, 16, SEG_GRAPH } }, - { 0x11A, { MM_DIRECT, 1280, 1024, 16, 8, 16, SEG_GRAPH } }, - { 0x11B, { MM_DIRECT, 1280, 1024, 24, 8, 16, SEG_GRAPH } }, - { 0x11C, { MM_PACKED, 1600, 1200, 8, 8, 16, SEG_GRAPH } }, - { 0x11D, { MM_DIRECT, 1600, 1200, 15, 8, 16, SEG_GRAPH } }, - { 0x11E, { MM_DIRECT, 1600, 1200, 16, 8, 16, SEG_GRAPH } }, - { 0x11F, { MM_DIRECT, 1600, 1200, 24, 8, 16, SEG_GRAPH } }, + { 0x100, { MM_PACKED, 640, 400, 8, 8, 16, SEG_GRAPH } }, + { 0x101, { MM_PACKED, 640, 480, 8, 8, 16, SEG_GRAPH } }, + { 0x102, { MM_PLANAR, 800, 600, 4, 8, 16, SEG_GRAPH } }, + { 0x103, { MM_PACKED, 800, 600, 8, 8, 16, SEG_GRAPH } }, + { 0x104, { MM_PLANAR, 1024, 768, 4, 8, 16, SEG_GRAPH } }, + { 0x105, { MM_PACKED, 1024, 768, 8, 8, 16, SEG_GRAPH } }, + { 0x106, { MM_PLANAR, 1280, 1024, 4, 8, 16, SEG_GRAPH } }, + { 0x107, { MM_PACKED, 1280, 1024, 8, 8, 16, SEG_GRAPH } }, + { 0x10d, { MM_DIRECT, 320, 200, 15, 8, 16, SEG_GRAPH } }, + { 0x10e, { MM_DIRECT, 320, 200, 16, 8, 16, SEG_GRAPH } }, + { 0x10f, { MM_DIRECT, 320, 200, 24, 8, 16, SEG_GRAPH } }, + { 0x110, { MM_DIRECT, 640, 480, 15, 8, 16, SEG_GRAPH } }, + { 0x111, { MM_DIRECT, 640, 480, 16, 8, 16, SEG_GRAPH } }, + { 0x112, { MM_DIRECT, 640, 480, 24, 8, 16, SEG_GRAPH } }, + { 0x113, { MM_DIRECT, 800, 600, 15, 8, 16, SEG_GRAPH } }, + { 0x114, { MM_DIRECT, 800, 600, 16, 8, 16, SEG_GRAPH } }, + { 0x115, { MM_DIRECT, 800, 600, 24, 8, 16, SEG_GRAPH } }, + { 0x116, { MM_DIRECT, 1024, 768, 15, 8, 16, SEG_GRAPH } }, + { 0x117, { MM_DIRECT, 1024, 768, 16, 8, 16, SEG_GRAPH } }, + { 0x118, { MM_DIRECT, 1024, 768, 24, 8, 16, SEG_GRAPH } }, + { 0x119, { MM_DIRECT, 1280, 1024, 15, 8, 16, SEG_GRAPH } }, + { 0x11a, { MM_DIRECT, 1280, 1024, 16, 8, 16, SEG_GRAPH } }, + { 0x11b, { MM_DIRECT, 1280, 1024, 24, 8, 16, SEG_GRAPH } }, + { 0x11c, { MM_PACKED, 1600, 1200, 8, 8, 16, SEG_GRAPH } }, + { 0x11d, { MM_DIRECT, 1600, 1200, 15, 8, 16, SEG_GRAPH } }, + { 0x11e, { MM_DIRECT, 1600, 1200, 16, 8, 16, SEG_GRAPH } }, + { 0x11f, { MM_DIRECT, 1600, 1200, 24, 8, 16, SEG_GRAPH } }, /* other modes */ - { 0x140, { MM_DIRECT, 320, 200, 32, 8, 16, SEG_GRAPH } }, - { 0x141, { MM_DIRECT, 640, 400, 32, 8, 16, SEG_GRAPH } }, - { 0x142, { MM_DIRECT, 640, 480, 32, 8, 16, SEG_GRAPH } }, - { 0x143, { MM_DIRECT, 800, 600, 32, 8, 16, SEG_GRAPH } }, - { 0x144, { MM_DIRECT, 1024, 768, 32, 8, 16, SEG_GRAPH } }, - { 0x145, { MM_DIRECT, 1280, 1024, 32, 8, 16, SEG_GRAPH } }, - { 0x146, { MM_PACKED, 320, 200, 8, 8, 16, SEG_GRAPH } }, - { 0x147, { MM_DIRECT, 1600, 1200, 32, 8, 16, SEG_GRAPH } }, - { 0x148, { MM_PACKED, 1152, 864, 8, 8, 16, SEG_GRAPH } }, - { 0x149, { MM_DIRECT, 1152, 864, 15, 8, 16, SEG_GRAPH } }, - { 0x14a, { MM_DIRECT, 1152, 864, 16, 8, 16, SEG_GRAPH } }, - { 0x14b, { MM_DIRECT, 1152, 864, 24, 8, 16, SEG_GRAPH } }, - { 0x14c, { MM_DIRECT, 1152, 864, 32, 8, 16, SEG_GRAPH } }, - { 0x175, { MM_DIRECT, 1280, 768, 16, 8, 16, SEG_GRAPH } }, - { 0x176, { MM_DIRECT, 1280, 768, 24, 8, 16, SEG_GRAPH } }, - { 0x177, { MM_DIRECT, 1280, 768, 32, 8, 16, SEG_GRAPH } }, - { 0x178, { MM_DIRECT, 1280, 800, 16, 8, 16, SEG_GRAPH } }, - { 0x179, { MM_DIRECT, 1280, 800, 24, 8, 16, SEG_GRAPH } }, - { 0x17a, { MM_DIRECT, 1280, 800, 32, 8, 16, SEG_GRAPH } }, - { 0x17b, { MM_DIRECT, 1280, 960, 16, 8, 16, SEG_GRAPH } }, - { 0x17c, { MM_DIRECT, 1280, 960, 24, 8, 16, SEG_GRAPH } }, - { 0x17d, { MM_DIRECT, 1280, 960, 32, 8, 16, SEG_GRAPH } }, - { 0x17e, { MM_DIRECT, 1440, 900, 16, 8, 16, SEG_GRAPH } }, - { 0x17f, { MM_DIRECT, 1440, 900, 24, 8, 16, SEG_GRAPH } }, - { 0x180, { MM_DIRECT, 1440, 900, 32, 8, 16, SEG_GRAPH } }, - { 0x181, { MM_DIRECT, 1400, 1050, 16, 8, 16, SEG_GRAPH } }, - { 0x182, { MM_DIRECT, 1400, 1050, 24, 8, 16, SEG_GRAPH } }, - { 0x183, { MM_DIRECT, 1400, 1050, 32, 8, 16, SEG_GRAPH } }, - { 0x184, { MM_DIRECT, 1680, 1050, 16, 8, 16, SEG_GRAPH } }, - { 0x185, { MM_DIRECT, 1680, 1050, 24, 8, 16, SEG_GRAPH } }, - { 0x186, { MM_DIRECT, 1680, 1050, 32, 8, 16, SEG_GRAPH } }, - { 0x187, { MM_DIRECT, 1920, 1200, 16, 8, 16, SEG_GRAPH } }, - { 0x188, { MM_DIRECT, 1920, 1200, 24, 8, 16, SEG_GRAPH } }, - { 0x189, { MM_DIRECT, 1920, 1200, 32, 8, 16, SEG_GRAPH } }, - { 0x18a, { MM_DIRECT, 1280, 720, 16, 8, 16, SEG_GRAPH } }, - { 0x18b, { MM_DIRECT, 1280, 720, 24, 8, 16, SEG_GRAPH } }, - { 0x18c, { MM_DIRECT, 1280, 720, 32, 8, 16, SEG_GRAPH } }, - { 0x18d, { MM_DIRECT, 1920, 1080, 16, 8, 16, SEG_GRAPH } }, - { 0x18e, { MM_DIRECT, 1920, 1080, 24, 8, 16, SEG_GRAPH } }, - { 0x18f, { MM_DIRECT, 1920, 1080, 32, 8, 16, SEG_GRAPH } }, - { 0x190, { MM_DIRECT, 1600, 900, 16, 8, 16, SEG_GRAPH } }, - { 0x191, { MM_DIRECT, 1600, 900, 24, 8, 16, SEG_GRAPH } }, - { 0x192, { MM_DIRECT, 1600, 900, 32, 8, 16, SEG_GRAPH } }, - { 0x193, { MM_DIRECT, 960, 540, 16, 8, 16, SEG_GRAPH } }, - { 0x194, { MM_DIRECT, 960, 540, 24, 8, 16, SEG_GRAPH } }, - { 0x195, { MM_DIRECT, 960, 540, 32, 8, 16, SEG_GRAPH } }, - { 0x196, { MM_DIRECT, 1280, 1080, 16, 8, 16, SEG_GRAPH } }, - { 0x197, { MM_DIRECT, 1280, 1080, 24, 8, 16, SEG_GRAPH } }, - { 0x198, { MM_DIRECT, 1280, 1080, 32, 8, 16, SEG_GRAPH } }, + { 0x140, { MM_DIRECT, 320, 200, 32, 8, 16, SEG_GRAPH } }, + { 0x141, { MM_DIRECT, 640, 400, 32, 8, 16, SEG_GRAPH } }, + { 0x142, { MM_DIRECT, 640, 480, 32, 8, 16, SEG_GRAPH } }, + { 0x143, { MM_DIRECT, 800, 600, 32, 8, 16, SEG_GRAPH } }, + { 0x144, { MM_DIRECT, 1024, 768, 32, 8, 16, SEG_GRAPH } }, + { 0x145, { MM_DIRECT, 1280, 1024, 32, 8, 16, SEG_GRAPH } }, + { 0x146, { MM_PACKED, 320, 200, 8, 8, 16, SEG_GRAPH } }, + { 0x147, { MM_DIRECT, 1600, 1200, 32, 8, 16, SEG_GRAPH } }, + { 0x148, { MM_PACKED, 1152, 864, 8, 8, 16, SEG_GRAPH } }, + { 0x149, { MM_DIRECT, 1152, 864, 15, 8, 16, SEG_GRAPH } }, + { 0x14a, { MM_DIRECT, 1152, 864, 16, 8, 16, SEG_GRAPH } }, + { 0x14b, { MM_DIRECT, 1152, 864, 24, 8, 16, SEG_GRAPH } }, + { 0x14c, { MM_DIRECT, 1152, 864, 32, 8, 16, SEG_GRAPH } }, + { 0x175, { MM_DIRECT, 1280, 768, 16, 8, 16, SEG_GRAPH } }, + { 0x176, { MM_DIRECT, 1280, 768, 24, 8, 16, SEG_GRAPH } }, + { 0x177, { MM_DIRECT, 1280, 768, 32, 8, 16, SEG_GRAPH } }, + { 0x178, { MM_DIRECT, 1280, 800, 16, 8, 16, SEG_GRAPH } }, + { 0x179, { MM_DIRECT, 1280, 800, 24, 8, 16, SEG_GRAPH } }, + { 0x17a, { MM_DIRECT, 1280, 800, 32, 8, 16, SEG_GRAPH } }, + { 0x17b, { MM_DIRECT, 1280, 960, 16, 8, 16, SEG_GRAPH } }, + { 0x17c, { MM_DIRECT, 1280, 960, 24, 8, 16, SEG_GRAPH } }, + { 0x17d, { MM_DIRECT, 1280, 960, 32, 8, 16, SEG_GRAPH } }, + { 0x17e, { MM_DIRECT, 1440, 900, 16, 8, 16, SEG_GRAPH } }, + { 0x17f, { MM_DIRECT, 1440, 900, 24, 8, 16, SEG_GRAPH } }, + { 0x180, { MM_DIRECT, 1440, 900, 32, 8, 16, SEG_GRAPH } }, + { 0x181, { MM_DIRECT, 1400, 1050, 16, 8, 16, SEG_GRAPH } }, + { 0x182, { MM_DIRECT, 1400, 1050, 24, 8, 16, SEG_GRAPH } }, + { 0x183, { MM_DIRECT, 1400, 1050, 32, 8, 16, SEG_GRAPH } }, + { 0x184, { MM_DIRECT, 1680, 1050, 16, 8, 16, SEG_GRAPH } }, + { 0x185, { MM_DIRECT, 1680, 1050, 24, 8, 16, SEG_GRAPH } }, + { 0x186, { MM_DIRECT, 1680, 1050, 32, 8, 16, SEG_GRAPH } }, + { 0x187, { MM_DIRECT, 1920, 1200, 16, 8, 16, SEG_GRAPH } }, + { 0x188, { MM_DIRECT, 1920, 1200, 24, 8, 16, SEG_GRAPH } }, + { 0x189, { MM_DIRECT, 1920, 1200, 32, 8, 16, SEG_GRAPH } }, + { 0x18a, { MM_DIRECT, 1280, 720, 16, 8, 16, SEG_GRAPH } }, + { 0x18b, { MM_DIRECT, 1280, 720, 24, 8, 16, SEG_GRAPH } }, + { 0x18c, { MM_DIRECT, 1280, 720, 32, 8, 16, SEG_GRAPH } }, + { 0x18d, { MM_DIRECT, 1920, 1080, 16, 8, 16, SEG_GRAPH } }, + { 0x18e, { MM_DIRECT, 1920, 1080, 24, 8, 16, SEG_GRAPH } }, + { 0x18f, { MM_DIRECT, 1920, 1080, 32, 8, 16, SEG_GRAPH } }, + { 0x190, { MM_DIRECT, 1600, 900, 16, 8, 16, SEG_GRAPH } }, + { 0x191, { MM_DIRECT, 1600, 900, 24, 8, 16, SEG_GRAPH } }, + { 0x192, { MM_DIRECT, 1600, 900, 32, 8, 16, SEG_GRAPH } }, + { 0x193, { MM_DIRECT, 960, 540, 16, 8, 16, SEG_GRAPH } }, + { 0x194, { MM_DIRECT, 960, 540, 24, 8, 16, SEG_GRAPH } }, + { 0x195, { MM_DIRECT, 960, 540, 32, 8, 16, SEG_GRAPH } }, + { 0x196, { MM_DIRECT, 1280, 1080, 16, 8, 16, SEG_GRAPH } }, + { 0x197, { MM_DIRECT, 1280, 1080, 24, 8, 16, SEG_GRAPH } }, + { 0x198, { MM_DIRECT, 1280, 1080, 32, 8, 16, SEG_GRAPH } },
/* other high-definition resloutions */ - { 0x199, { MM_DIRECT, 2048, 1080, 16, 8, 16, SEG_GRAPH } }, - { 0x19a, { MM_DIRECT, 2048, 1080, 24, 8, 16, SEG_GRAPH } }, - { 0x19b, { MM_DIRECT, 2048, 1080, 32, 8, 16, SEG_GRAPH } }, - { 0x19c, { MM_DIRECT, 2160, 1080, 16, 8, 16, SEG_GRAPH } }, - { 0x19d, { MM_DIRECT, 2160, 1080, 24, 8, 16, SEG_GRAPH } }, - { 0x19e, { MM_DIRECT, 2160, 1080, 32, 8, 16, SEG_GRAPH } }, - { 0x19f, { MM_DIRECT, 2560, 1080, 16, 8, 16, SEG_GRAPH } }, - { 0x1a0, { MM_DIRECT, 2560, 1080, 24, 8, 16, SEG_GRAPH } }, - { 0x1a1, { MM_DIRECT, 2560, 1080, 32, 8, 16, SEG_GRAPH } }, - { 0x1a2, { MM_DIRECT, 2560, 1440, 16, 8, 16, SEG_GRAPH } }, - { 0x1a3, { MM_DIRECT, 2560, 1440, 24, 8, 16, SEG_GRAPH } }, - { 0x1a4, { MM_DIRECT, 2560, 1440, 32, 8, 16, SEG_GRAPH } }, - { 0x1a5, { MM_DIRECT, 3200, 1800, 16, 8, 16, SEG_GRAPH } }, - { 0x1a6, { MM_DIRECT, 3200, 1800, 24, 8, 16, SEG_GRAPH } }, - { 0x1a7, { MM_DIRECT, 3200, 1800, 32, 8, 16, SEG_GRAPH } }, - { 0x1a8, { MM_DIRECT, 3440, 1440, 16, 8, 16, SEG_GRAPH } }, - { 0x1a9, { MM_DIRECT, 3440, 1440, 24, 8, 16, SEG_GRAPH } }, - { 0x1aa, { MM_DIRECT, 3440, 1440, 32, 8, 16, SEG_GRAPH } }, - { 0x1ab, { MM_DIRECT, 3840, 1080, 16, 8, 16, SEG_GRAPH } }, - { 0x1ac, { MM_DIRECT, 3840, 1080, 24, 8, 16, SEG_GRAPH } }, - { 0x1ad, { MM_DIRECT, 3840, 1080, 32, 8, 16, SEG_GRAPH } }, - { 0x1ae, { MM_DIRECT, 3840, 1600, 16, 8, 16, SEG_GRAPH } }, - { 0x1af, { MM_DIRECT, 3840, 1600, 24, 8, 16, SEG_GRAPH } }, - { 0x1b0, { MM_DIRECT, 3840, 1600, 32, 8, 16, SEG_GRAPH } }, - { 0x1b1, { MM_DIRECT, 3840, 2160, 16, 8, 16, SEG_GRAPH } }, - { 0x1b2, { MM_DIRECT, 3840, 2160, 24, 8, 16, SEG_GRAPH } }, - { 0x1b3, { MM_DIRECT, 3840, 2160, 32, 8, 16, SEG_GRAPH } }, - { 0x1b4, { MM_DIRECT, 4096, 2160, 16, 8, 16, SEG_GRAPH } }, - { 0x1b5, { MM_DIRECT, 4096, 2160, 24, 8, 16, SEG_GRAPH } }, - { 0x1b6, { MM_DIRECT, 4096, 2160, 32, 8, 16, SEG_GRAPH } }, - { 0x1b7, { MM_DIRECT, 5120, 2160, 16, 8, 16, SEG_GRAPH } }, - { 0x1b8, { MM_DIRECT, 5120, 2160, 24, 8, 16, SEG_GRAPH } }, - { 0x1b9, { MM_DIRECT, 5120, 2160, 32, 8, 16, SEG_GRAPH } }, - { 0x1ba, { MM_DIRECT, 5120, 2880, 16, 8, 16, SEG_GRAPH } }, - { 0x1bb, { MM_DIRECT, 5120, 2880, 24, 8, 16, SEG_GRAPH } }, - { 0x1bc, { MM_DIRECT, 5120, 2880, 32, 8, 16, SEG_GRAPH } }, - { 0x1bd, { MM_DIRECT, 7680, 4320, 16, 8, 16, SEG_GRAPH } }, - { 0x1be, { MM_DIRECT, 7680, 4320, 24, 8, 16, SEG_GRAPH } }, - { 0x1bf, { MM_DIRECT, 7680, 4320, 32, 8, 16, SEG_GRAPH } }, - { 0x1c0, { MM_DIRECT, 17280,4320, 16, 8, 16, SEG_GRAPH } }, - { 0x1c1, { MM_DIRECT, 17280,4320, 24, 8, 16, SEG_GRAPH } }, - { 0x1c2, { MM_DIRECT, 17280,4320, 32, 8, 16, SEG_GRAPH } }, + { 0x199, { MM_DIRECT, 2048, 1080, 16, 8, 16, SEG_GRAPH } }, + { 0x19a, { MM_DIRECT, 2048, 1080, 24, 8, 16, SEG_GRAPH } }, + { 0x19b, { MM_DIRECT, 2048, 1080, 32, 8, 16, SEG_GRAPH } }, + { 0x19c, { MM_DIRECT, 2160, 1080, 16, 8, 16, SEG_GRAPH } }, + { 0x19d, { MM_DIRECT, 2160, 1080, 24, 8, 16, SEG_GRAPH } }, + { 0x19e, { MM_DIRECT, 2160, 1080, 32, 8, 16, SEG_GRAPH } }, + { 0x19f, { MM_DIRECT, 2560, 1080, 16, 8, 16, SEG_GRAPH } }, + { 0x1a0, { MM_DIRECT, 2560, 1080, 24, 8, 16, SEG_GRAPH } }, + { 0x1a1, { MM_DIRECT, 2560, 1080, 32, 8, 16, SEG_GRAPH } }, + { 0x1a2, { MM_DIRECT, 2560, 1440, 16, 8, 16, SEG_GRAPH } }, + { 0x1a3, { MM_DIRECT, 2560, 1440, 24, 8, 16, SEG_GRAPH } }, + { 0x1a4, { MM_DIRECT, 2560, 1440, 32, 8, 16, SEG_GRAPH } }, + { 0x1a5, { MM_DIRECT, 3200, 1800, 16, 8, 16, SEG_GRAPH } }, + { 0x1a6, { MM_DIRECT, 3200, 1800, 24, 8, 16, SEG_GRAPH } }, + { 0x1a7, { MM_DIRECT, 3200, 1800, 32, 8, 16, SEG_GRAPH } }, + { 0x1a8, { MM_DIRECT, 3440, 1440, 16, 8, 16, SEG_GRAPH } }, + { 0x1a9, { MM_DIRECT, 3440, 1440, 24, 8, 16, SEG_GRAPH } }, + { 0x1aa, { MM_DIRECT, 3440, 1440, 32, 8, 16, SEG_GRAPH } }, + { 0x1ab, { MM_DIRECT, 3840, 1080, 16, 8, 16, SEG_GRAPH } }, + { 0x1ac, { MM_DIRECT, 3840, 1080, 24, 8, 16, SEG_GRAPH } }, + { 0x1ad, { MM_DIRECT, 3840, 1080, 32, 8, 16, SEG_GRAPH } }, + { 0x1ae, { MM_DIRECT, 3840, 1600, 16, 8, 16, SEG_GRAPH } }, + { 0x1af, { MM_DIRECT, 3840, 1600, 24, 8, 16, SEG_GRAPH } }, + { 0x1b0, { MM_DIRECT, 3840, 1600, 32, 8, 16, SEG_GRAPH } }, + { 0x1b1, { MM_DIRECT, 3840, 2160, 16, 8, 16, SEG_GRAPH } }, + { 0x1b2, { MM_DIRECT, 3840, 2160, 24, 8, 16, SEG_GRAPH } }, + { 0x1b3, { MM_DIRECT, 3840, 2160, 32, 8, 16, SEG_GRAPH } }, + { 0x1b4, { MM_DIRECT, 4096, 2160, 16, 8, 16, SEG_GRAPH } }, + { 0x1b5, { MM_DIRECT, 4096, 2160, 24, 8, 16, SEG_GRAPH } }, + { 0x1b6, { MM_DIRECT, 4096, 2160, 32, 8, 16, SEG_GRAPH } }, + { 0x1b7, { MM_DIRECT, 5120, 2160, 16, 8, 16, SEG_GRAPH } }, + { 0x1b8, { MM_DIRECT, 5120, 2160, 24, 8, 16, SEG_GRAPH } }, + { 0x1b9, { MM_DIRECT, 5120, 2160, 32, 8, 16, SEG_GRAPH } }, + { 0x1ba, { MM_DIRECT, 5120, 2880, 16, 8, 16, SEG_GRAPH } }, + { 0x1bb, { MM_DIRECT, 5120, 2880, 24, 8, 16, SEG_GRAPH } }, + { 0x1bc, { MM_DIRECT, 5120, 2880, 32, 8, 16, SEG_GRAPH } }, + { 0x1bd, { MM_DIRECT, 7680, 4320, 16, 8, 16, SEG_GRAPH } }, + { 0x1be, { MM_DIRECT, 7680, 4320, 24, 8, 16, SEG_GRAPH } }, + { 0x1bf, { MM_DIRECT, 7680, 4320, 32, 8, 16, SEG_GRAPH } }, + { 0x1c0, { MM_DIRECT, 17280, 4320, 16, 8, 16, SEG_GRAPH } }, + { 0x1c1, { MM_DIRECT, 17280, 4320, 24, 8, 16, SEG_GRAPH } }, + { 0x1c2, { MM_DIRECT, 17280, 4320, 32, 8, 16, SEG_GRAPH } },
/* quad extended graphics array resolutions */ - { 0x1c3, { MM_DIRECT, 2048, 1152, 16, 8, 16, SEG_GRAPH } }, - { 0x1c4, { MM_DIRECT, 2048, 1152, 24, 8, 16, SEG_GRAPH } }, - { 0x1c5, { MM_DIRECT, 2048, 1152, 32, 8, 16, SEG_GRAPH } }, - { 0x1c6, { MM_DIRECT, 2048, 1536, 16, 8, 16, SEG_GRAPH } }, - { 0x1c7, { MM_DIRECT, 2048, 1536, 24, 8, 16, SEG_GRAPH } }, - { 0x1c8, { MM_DIRECT, 2048, 1536, 32, 8, 16, SEG_GRAPH } }, - { 0x1c9, { MM_DIRECT, 2560, 1600, 16, 8, 16, SEG_GRAPH } }, - { 0x1ca, { MM_DIRECT, 2560, 1600, 24, 8, 16, SEG_GRAPH } }, - { 0x1cb, { MM_DIRECT, 2560, 1600, 32, 8, 16, SEG_GRAPH } }, - { 0x1cc, { MM_DIRECT, 2560, 2048, 16, 8, 16, SEG_GRAPH } }, - { 0x1cd, { MM_DIRECT, 2560, 2048, 24, 8, 16, SEG_GRAPH } }, - { 0x1ce, { MM_DIRECT, 2560, 2048, 32, 8, 16, SEG_GRAPH } }, - { 0x1cf, { MM_DIRECT, 3200, 2048, 16, 8, 16, SEG_GRAPH } }, - { 0x1d0, { MM_DIRECT, 3200, 2048, 24, 8, 16, SEG_GRAPH } }, - { 0x1d1, { MM_DIRECT, 3200, 2048, 32, 8, 16, SEG_GRAPH } }, - { 0x1d2, { MM_DIRECT, 3200, 2400, 16, 8, 16, SEG_GRAPH } }, - { 0x1d3, { MM_DIRECT, 3200, 2400, 24, 8, 16, SEG_GRAPH } }, - { 0x1d4, { MM_DIRECT, 3200, 2400, 32, 8, 16, SEG_GRAPH } }, - { 0x1d5, { MM_DIRECT, 3840, 2400, 16, 8, 16, SEG_GRAPH } }, - { 0x1d6, { MM_DIRECT, 3840, 2400, 24, 8, 16, SEG_GRAPH } }, - { 0x1d7, { MM_DIRECT, 3840, 2400, 32, 8, 16, SEG_GRAPH } }, + { 0x1c3, { MM_DIRECT, 2048, 1152, 16, 8, 16, SEG_GRAPH } }, + { 0x1c4, { MM_DIRECT, 2048, 1152, 24, 8, 16, SEG_GRAPH } }, + { 0x1c5, { MM_DIRECT, 2048, 1152, 32, 8, 16, SEG_GRAPH } }, + { 0x1c6, { MM_DIRECT, 2048, 1536, 16, 8, 16, SEG_GRAPH } }, + { 0x1c7, { MM_DIRECT, 2048, 1536, 24, 8, 16, SEG_GRAPH } }, + { 0x1c8, { MM_DIRECT, 2048, 1536, 32, 8, 16, SEG_GRAPH } }, + { 0x1c9, { MM_DIRECT, 2560, 1600, 16, 8, 16, SEG_GRAPH } }, + { 0x1ca, { MM_DIRECT, 2560, 1600, 24, 8, 16, SEG_GRAPH } }, + { 0x1cb, { MM_DIRECT, 2560, 1600, 32, 8, 16, SEG_GRAPH } }, + { 0x1cc, { MM_DIRECT, 2560, 2048, 16, 8, 16, SEG_GRAPH } }, + { 0x1cd, { MM_DIRECT, 2560, 2048, 24, 8, 16, SEG_GRAPH } }, + { 0x1ce, { MM_DIRECT, 2560, 2048, 32, 8, 16, SEG_GRAPH } }, + { 0x1cf, { MM_DIRECT, 3200, 2048, 16, 8, 16, SEG_GRAPH } }, + { 0x1d0, { MM_DIRECT, 3200, 2048, 24, 8, 16, SEG_GRAPH } }, + { 0x1d1, { MM_DIRECT, 3200, 2048, 32, 8, 16, SEG_GRAPH } }, + { 0x1d2, { MM_DIRECT, 3200, 2400, 16, 8, 16, SEG_GRAPH } }, + { 0x1d3, { MM_DIRECT, 3200, 2400, 24, 8, 16, SEG_GRAPH } }, + { 0x1d4, { MM_DIRECT, 3200, 2400, 32, 8, 16, SEG_GRAPH } }, + { 0x1d5, { MM_DIRECT, 3840, 2400, 16, 8, 16, SEG_GRAPH } }, + { 0x1d6, { MM_DIRECT, 3840, 2400, 24, 8, 16, SEG_GRAPH } }, + { 0x1d7, { MM_DIRECT, 3840, 2400, 32, 8, 16, SEG_GRAPH } }, }; unsigned int svga_mcount VAR16 = ARRAY_SIZE(svga_modes);