Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dosbox-staging/dosbox-staging.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkcgen <kcgen@users.noreply.github.com>2022-08-20 17:49:16 +0300
committerkcgen <kcgen@users.noreply.github.com>2022-08-20 21:31:15 +0300
commit74c9d2fc67b702be2b4a0b915c24541a79468bc9 (patch)
tree8476e2bd3a236ed5cfcf7ae0737ff728f70a085a
parentb90159500a9d244d063b05ad12450bf90ff0131c (diff)
Revert "Replace pre-VBE 2.0 32-bit modes with 24-bit modes"kc/revert-vesa-modes-1
This reverts commit 8d49f89dcff66700fd37aab47bef6e4ed19b3d10.
-rw-r--r--src/ints/int10_modes.cpp35
1 files changed, 15 insertions, 20 deletions
diff --git a/src/ints/int10_modes.cpp b/src/ints/int10_modes.cpp
index ee4d297ee..0f2a0e168 100644
--- a/src/ints/int10_modes.cpp
+++ b/src/ints/int10_modes.cpp
@@ -68,10 +68,7 @@ std::vector<VideoModeBlock> ModeList_VGA = {
{ 0x069, M_LIN8, 640, 480, 80, 30, 8, 16, 1, 0xA0000, 0x10000, 100, 525, 80, 480, 0},
{ 0x06A, M_LIN4, 800, 600, 100, 37, 8, 16, 1, 0xA0000, 0x10000, 128, 663, 100, 600, 0},
-// Defined VESA modes (pre-VBE version 2.0)
-// Video Electronics Standards Association (VESA), VESA BIOS EXTENSION (VBE),
-// Core Functions Standard Version: 2.0, Document Revision 1.2, 18 Nov, 1994, pp. 6,7.
-// Ref: https://www.ele.uva.es/~jesman/BigSeti/ftp/Perifericos/Vesa/vbe_2_0.pdf
+ // Follow VESA 1.2 mode list from 0x100 to 0x11B
{ 0x100, M_LIN8, 640, 400, 80, 25, 8, 16, 1, 0xA0000, 0x10000, 100, 449, 80, 400, 0},
{ 0x101, M_LIN8, 640, 480, 80, 30, 8, 16, 1, 0xA0000, 0x10000, 100, 525, 80, 480, 0},
{ 0x102, M_LIN4, 800, 600, 100, 37, 8, 16, 1, 0xA0000, 0x10000, 132, 628, 100, 600, 0},
@@ -81,38 +78,36 @@ std::vector<VideoModeBlock> ModeList_VGA = {
{ 0x106, M_LIN4, 1280, 1024, 160, 64, 8, 16, 1, 0xA0000, 0x10000, 212, 1066, 160, 1024, 0},
{ 0x107, M_LIN8, 1280, 1024, 160, 64, 8, 16, 1, 0xA0000, 0x10000, 212, 1066, 160, 1024, 0},
+ // VESA text modes
{ 0x108, M_TEXT, 640, 480, 80, 60, 8, 8, 2, 0xB8000, 0x4000, 100, 525, 80, 480, 0},
{ 0x109, M_TEXT, 1056, 400, 132, 25, 8, 16, 1, 0xB8000, 0x2000, 160, 449, 132, 400, 0},
{ 0x10A, M_TEXT, 1056, 688, 132, 43, 8, 8, 1, 0xB8000, 0x4000, 160, 449, 132, 344, 0},
{ 0x10B, M_TEXT, 1056, 400, 132, 50, 8, 8, 1, 0xB8000, 0x4000, 160, 449, 132, 400, 0},
{ 0x10C, M_TEXT, 1056, 480, 132, 60, 8, 8, 2, 0xB8000, 0x4000, 160, 531, 132, 480, 0},
+ // VESA higher color modes
{ 0x10D, M_LIN15, 320, 200, 40, 25, 8, 8, 1, 0xA0000, 0x10000, 100, 449, 80, 400, VGA_PIXEL_DOUBLE | EGA_LINE_DOUBLE},
{ 0x10E, M_LIN16, 320, 200, 40, 25, 8, 8, 1, 0xA0000, 0x10000, 100, 449, 80, 400, VGA_PIXEL_DOUBLE | EGA_LINE_DOUBLE},
- { 0x10F, M_LIN24, 320, 200, 40, 25, 8, 8, 1, 0xA0000, 0x10000, 50, 449, 40, 400, VGA_PIXEL_DOUBLE | EGA_LINE_DOUBLE},
+ { 0x10F, M_LIN32, 320, 200, 40, 25, 8, 8, 1, 0xA0000, 0x10000, 50, 449, 40, 400, VGA_PIXEL_DOUBLE | EGA_LINE_DOUBLE},
{ 0x110, M_LIN15, 640, 480, 80, 30, 8, 16, 1, 0xA0000, 0x10000, 200, 525, 160, 480, 0},
{ 0x111, M_LIN16, 640, 480, 80, 30, 8, 16, 1, 0xA0000, 0x10000, 200, 525, 160, 480, 0},
- { 0x112, M_LIN24, 640, 480, 80, 30, 8, 16, 1, 0xA0000, 0x10000, 100, 525, 80, 480, 0},
+ { 0x112, M_LIN32, 640, 480, 80, 30, 8, 16, 1, 0xA0000, 0x10000, 100, 525, 80, 480, 0},
{ 0x113, M_LIN15, 800, 600, 100, 37, 8, 16, 1, 0xA0000, 0x10000, 264, 628, 200, 600, 0},
{ 0x114, M_LIN16, 800, 600, 100, 37, 8, 16, 1, 0xA0000, 0x10000, 264, 628, 200, 600, 0},
- { 0x115, M_LIN24, 800, 600, 100, 37, 8, 16, 1, 0xA0000, 0x10000, 132, 628, 100, 600, 0},
+ { 0x115, M_LIN32, 800, 600, 100, 37, 8, 16, 1, 0xA0000, 0x10000, 132, 628, 100, 600, 0},
{ 0x116, M_LIN15, 1024, 768, 128, 48, 8, 16, 1, 0xA0000, 0x10000, 336, 806, 256, 768, 0},
{ 0x117, M_LIN16, 1024, 768, 128, 48, 8, 16, 1, 0xA0000, 0x10000, 336, 806, 256, 768, 0},
- { 0x118, M_LIN24, 1024, 768, 128, 48, 8, 16, 1, 0xA0000, 0x10000, 168, 806, 128, 768, 0},
+ { 0x118, M_LIN32, 1024, 768, 128, 48, 8, 16, 1, 0xA0000, 0x10000, 168, 806, 128, 768, 0},
{ 0x119, M_LIN15, 1280, 1024, 160, 64, 8, 16, 1, 0xA0000, 0x10000, 212, 1066, 320, 1024, 0},
{ 0x11A, M_LIN16, 1280, 1024, 160, 64, 8, 16, 1, 0xA0000, 0x10000, 212, 1066, 320, 1024, 0},
- { 0x11B, M_LIN24, 1280, 1024, 160, 64, 8, 16, 1, 0xA0000, 0x10000, 212, 1066, 160, 1024, 0},
-
-// Typical VESA 2.0 modes
- { 0x120, M_LIN16, 640, 400, 80, 25, 8, 16, 1, 0xA0000, 0x10000, 200, 449, 160, 400, 0},
- { 0x121, M_LIN32, 640, 480, 80, 30, 8, 16, 1, 0xA0000, 0x10000, 100, 525, 80, 480, 0},
- { 0x122, M_LIN32, 800, 600, 100, 37, 8, 16, 1, 0xA0000, 0x10000, 132, 628, 100, 600, 0},
- { 0x123, M_LIN32, 1024, 768, 128, 48, 8, 16, 1, 0xA0000, 0x10000, 168, 806, 128, 768, 0},
- { 0x124, M_LIN32, 1280, 1024, 160, 64, 8, 16, 1, 0xA0000, 0x10000, 212, 1066, 160, 1024, 0},
- { 0x145, M_LIN8, 1600, 1200, 200, 75, 8, 16, 1, 0xA0000, 0x10000, 264, 1250, 200, 1200, 0},
- { 0x146, M_LIN16, 1600, 1200, 200, 75, 8, 16, 1, 0xA0000, 0x10000, 264, 1250, 400, 1200, 0},
-
- // S3-specific VESA 2.0 modes
+ { 0x11B, M_LIN32, 1280, 1024, 160, 64, 8, 16, 1, 0xA0000, 0x10000, 212, 1066, 160, 1024, 0},
+
+ // 1600x1200 S3 specific modes
+ { 0x120, M_LIN8, 1600, 1200, 200, 75, 8, 16, 1, 0xA0000, 0x10000, 264, 1250, 200, 1200, 0},
+ { 0x121, M_LIN15, 1600, 1200, 200, 75, 8, 16, 1, 0xA0000, 0x10000, 264, 1250, 400, 1200, 0},
+ { 0x122, M_LIN16, 1600, 1200, 200, 75, 8, 16, 1, 0xA0000, 0x10000, 264, 1250, 400, 1200, 0},
+
+ // Custom modes
{ 0x150, M_LIN8, 320, 200, 40, 25, 8, 8, 1, 0xA0000, 0x10000, 100, 449, 80, 400, VGA_PIXEL_DOUBLE | EGA_LINE_DOUBLE},
{ 0x151, M_LIN8, 320, 240, 40, 30, 8, 8, 1, 0xA0000, 0x10000, 100, 525, 80, 480, VGA_PIXEL_DOUBLE | EGA_LINE_DOUBLE},
{ 0x152, M_LIN8, 320, 400, 40, 50, 8, 8, 1, 0xA0000, 0x10000, 100, 449, 80, 400, VGA_PIXEL_DOUBLE},