Add support for all high-definition and quad extended graphics array resolutions as listed on Wikipedia.
https://en.wikipedia.org/wiki/Graphics_display_resolution
Signed-off-by: Elliot Killick elliotkillick@zohomail.eu --- vgasrc/svgamodes.c | 87 +++++++++++++++++++++++++++++++++++++++------- 1 file changed, 75 insertions(+), 12 deletions(-)
diff --git a/vgasrc/svgamodes.c b/vgasrc/svgamodes.c index 6e494c7..af71853 100644 --- a/vgasrc/svgamodes.c +++ b/vgasrc/svgamodes.c @@ -72,25 +72,88 @@ struct generic_svga_mode svga_modes[] VAR16 = { { 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, 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 } }, + { 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, 960, 540, 16, 8, 16, SEG_GRAPH } }, + { 0x197, { MM_DIRECT, 960, 540, 24, 8, 16, SEG_GRAPH } }, + { 0x198, { MM_DIRECT, 960, 540, 32, 8, 16, SEG_GRAPH } }, + { 0x199, { MM_DIRECT, 1280, 1080, 16, 8, 16, SEG_GRAPH } }, + { 0x19a, { MM_DIRECT, 1280, 1080, 24, 8, 16, SEG_GRAPH } }, + { 0x19b, { 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 */ + { 0x19c, { MM_DIRECT, 2048, 1080, 16, 8, 16, SEG_GRAPH } }, + { 0x19d, { MM_DIRECT, 2048, 1080, 24, 8, 16, SEG_GRAPH } }, + { 0x19e, { MM_DIRECT, 2048, 1080, 32, 8, 16, SEG_GRAPH } }, + { 0x19f, { MM_DIRECT, 2160, 1080, 16, 8, 16, SEG_GRAPH } }, + { 0x1a0, { MM_DIRECT, 2160, 1080, 24, 8, 16, SEG_GRAPH } }, + { 0x1a1, { MM_DIRECT, 2160, 1080, 32, 8, 16, SEG_GRAPH } }, + { 0x1a2, { MM_DIRECT, 2560, 1080, 16, 8, 16, SEG_GRAPH } }, + { 0x1a3, { MM_DIRECT, 2560, 1080, 24, 8, 16, SEG_GRAPH } }, + { 0x1a4, { MM_DIRECT, 2560, 1080, 32, 8, 16, SEG_GRAPH } }, + { 0x1a5, { MM_DIRECT, 2560, 1440, 16, 8, 16, SEG_GRAPH } }, + { 0x1a6, { MM_DIRECT, 2560, 1440, 24, 8, 16, SEG_GRAPH } }, + { 0x1a7, { MM_DIRECT, 2560, 1440, 32, 8, 16, SEG_GRAPH } }, + { 0x1a8, { MM_DIRECT, 3200, 1800, 16, 8, 16, SEG_GRAPH } }, + { 0x1a9, { MM_DIRECT, 3200, 1800, 24, 8, 16, SEG_GRAPH } }, + { 0x1aa, { MM_DIRECT, 3200, 1800, 32, 8, 16, SEG_GRAPH } }, + { 0x1ab, { MM_DIRECT, 3440, 1440, 16, 8, 16, SEG_GRAPH } }, + { 0x1ac, { MM_DIRECT, 3440, 1440, 24, 8, 16, SEG_GRAPH } }, + { 0x1ad, { MM_DIRECT, 3440, 1440, 32, 8, 16, SEG_GRAPH } }, + { 0x1ae, { MM_DIRECT, 3840, 1080, 16, 8, 16, SEG_GRAPH } }, + { 0x1af, { MM_DIRECT, 3840, 1080, 24, 8, 16, SEG_GRAPH } }, + { 0x1b0, { MM_DIRECT, 3840, 1080, 32, 8, 16, SEG_GRAPH } }, + { 0x1b1, { MM_DIRECT, 3840, 1600, 16, 8, 16, SEG_GRAPH } }, + { 0x1b2, { MM_DIRECT, 3840, 1600, 24, 8, 16, SEG_GRAPH } }, + { 0x1b3, { MM_DIRECT, 3840, 1600, 32, 8, 16, SEG_GRAPH } }, + { 0x1b4, { MM_DIRECT, 3840, 2160, 16, 8, 16, SEG_GRAPH } }, + { 0x1b5, { MM_DIRECT, 3840, 2160, 24, 8, 16, SEG_GRAPH } }, + { 0x1b6, { MM_DIRECT, 3840, 2160, 32, 8, 16, SEG_GRAPH } }, + { 0x1b7, { MM_DIRECT, 4096, 2160, 16, 8, 16, SEG_GRAPH } }, + { 0x1b8, { MM_DIRECT, 4096, 2160, 24, 8, 16, SEG_GRAPH } }, + { 0x1b9, { MM_DIRECT, 4096, 2160, 32, 8, 16, SEG_GRAPH } }, + { 0x1ba, { MM_DIRECT, 5120, 2160, 16, 8, 16, SEG_GRAPH } }, + { 0x1bb, { MM_DIRECT, 5120, 2160, 24, 8, 16, SEG_GRAPH } }, + { 0x1bc, { MM_DIRECT, 5120, 2160, 32, 8, 16, SEG_GRAPH } }, + { 0x1bd, { MM_DIRECT, 5120, 2880, 16, 8, 16, SEG_GRAPH } }, + { 0x1be, { MM_DIRECT, 5120, 2880, 24, 8, 16, SEG_GRAPH } }, + { 0x1bf, { MM_DIRECT, 5120, 2880, 32, 8, 16, SEG_GRAPH } }, + { 0x1c0, { MM_DIRECT, 7680, 4320, 16, 8, 16, SEG_GRAPH } }, + { 0x1c1, { MM_DIRECT, 7680, 4320, 24, 8, 16, SEG_GRAPH } }, + { 0x1c2, { MM_DIRECT, 7680, 4320, 32, 8, 16, SEG_GRAPH } }, + { 0x1c3, { MM_DIRECT, 17280,4320, 16, 8, 16, SEG_GRAPH } }, + { 0x1c4, { MM_DIRECT, 17280,4320, 24, 8, 16, SEG_GRAPH } }, + { 0x1c5, { MM_DIRECT, 17280,4320, 32, 8, 16, SEG_GRAPH } }, + + /* quad extended graphics array resolutions */ + { 0x1c6, { MM_DIRECT, 2048, 1152, 16, 8, 16, SEG_GRAPH } }, + { 0x1c7, { MM_DIRECT, 2048, 1152, 24, 8, 16, SEG_GRAPH } }, + { 0x1c8, { MM_DIRECT, 2048, 1152, 32, 8, 16, SEG_GRAPH } }, + { 0x1c9, { MM_DIRECT, 2048, 1536, 16, 8, 16, SEG_GRAPH } }, + { 0x1ca, { MM_DIRECT, 2048, 1536, 24, 8, 16, SEG_GRAPH } }, + { 0x1cb, { MM_DIRECT, 2048, 1536, 32, 8, 16, SEG_GRAPH } }, + { 0x1cc, { MM_DIRECT, 2560, 1600, 16, 8, 16, SEG_GRAPH } }, + { 0x1cd, { MM_DIRECT, 2560, 1600, 24, 8, 16, SEG_GRAPH } }, + { 0x1ce, { MM_DIRECT, 2560, 1600, 32, 8, 16, SEG_GRAPH } }, + { 0x1cf, { MM_DIRECT, 2560, 2048, 16, 8, 16, SEG_GRAPH } }, + { 0x1d0, { MM_DIRECT, 2560, 2048, 24, 8, 16, SEG_GRAPH } }, + { 0x1d1, { MM_DIRECT, 2560, 2048, 32, 8, 16, SEG_GRAPH } }, + { 0x1d2, { MM_DIRECT, 3200, 2048, 16, 8, 16, SEG_GRAPH } }, + { 0x1d3, { MM_DIRECT, 3200, 2048, 24, 8, 16, SEG_GRAPH } }, + { 0x1d4, { MM_DIRECT, 3200, 2048, 32, 8, 16, SEG_GRAPH } }, + { 0x1d5, { MM_DIRECT, 3200, 2400, 16, 8, 16, SEG_GRAPH } }, + { 0x1d6, { MM_DIRECT, 3200, 2400, 24, 8, 16, SEG_GRAPH } }, + { 0x1d7, { MM_DIRECT, 3200, 2400, 32, 8, 16, SEG_GRAPH } }, + { 0x1d8, { MM_DIRECT, 3840, 2400, 16, 8, 16, SEG_GRAPH } }, + { 0x1d9, { MM_DIRECT, 3840, 2400, 24, 8, 16, SEG_GRAPH } }, + { 0x1da, { MM_DIRECT, 3840, 2400, 32, 8, 16, SEG_GRAPH } }, }; unsigned int svga_mcount VAR16 = ARRAY_SIZE(svga_modes);