DOS: add VESA mode 0x6a

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

0x6a is the 7-bit mode number of the VESA mode 0x102. A small test
program tried to use this mode.

License: LGPL, X11
Changelog:
	Michael Stefaniuc <mstefani@xxxxxxxxxx>
	- add VESA mode 0x6a (same as 0x102)
	- add a macro to check if a mode is a VESA mode
	- output the unsupported VGA mode in hex (all VGA/VESA docs use
	  hex for that)

bye
	michael
-- 
Michael Stefaniuc               Tel.: +49-711-96437-199
System Administration           Fax.: +49-711-96437-111
Red Hat GmbH                    Email: mstefani@xxxxxxxxxx
Hauptstaetterstr. 58            http://www.redhat.de/
D-70178 Stuttgart
Index: dlls/winedos/int10.c
===================================================================
RCS file: /home/wine/wine/dlls/winedos/int10.c,v
retrieving revision 1.36
diff -u -u -r1.36 int10.c
--- dlls/winedos/int10.c	6 Jan 2004 22:08:33 -0000	1.36
+++ dlls/winedos/int10.c	9 Jan 2004 00:14:26 -0000
@@ -162,6 +162,7 @@
     {0x0010,  640,  350,  4},
     {0x0012,  640,  480,  4},
     {0x0013,  320,  200,  8},
+    {0x006a,  800,  600,  4},   /* VESA mode, same as 0x102 */
     {0x0100,  640,  400,  8},
     {0x0101,  640,  480,  8},
     {0x0102,  800,  600,  4},
@@ -193,6 +194,11 @@
     {0xffff,    0,    0,  0}
 };
 
+/* True if video mode is a vesa mode, false otherwise.
+ * More correct would be to use something like (x > 0xff || x == 0x6a)
+ * but as long as we have only the standard VGA and VESA modes this is ok too */
+#define IS_VESA_MODE(x)         ((x) >= 0x6a)
+
 /* Forward declarations. */
 static INT10_HEAP *INT10_GetHeap(void);
 static void INT10_SetCursorPos(BIOSDATA*, unsigned, unsigned, unsigned);
@@ -352,7 +358,7 @@
             attr |= 0x0010;
 
         /* Not VGA-compatible? */
-        if (mode > 0xff)
+        if (IS_VESA_MODE(mode))
             attr |= 0x0020;
 
         mib->ModeAttributes = attr;
@@ -776,7 +782,7 @@
     {
         /* Text mode. */
         TRACE( "Setting %s %dx%d text mode (screen %s)\n", 
-               mode <= 0xff ? "VGA" : "VESA", 
+               IS_VESA_MODE(mode) ? "VESA" : "VGA", 
                ptr->Width, ptr->Height, 
                clearScreen ? "cleared" : "preserved" );
 
@@ -799,7 +805,7 @@
     {
         /* Graphics mode. */
         TRACE( "Setting %s %dx%dx%d graphics mode (screen %s)\n", 
-               mode <= 0xff ? "VGA" : "VESA", 
+               IS_VESA_MODE(mode) ? "VESA" : "VGA", 
                ptr->Width, ptr->Height, ptr->Depth,
                clearScreen ? "cleared" : "preserved" );
 
@@ -1041,7 +1047,7 @@
     case 0x00: /* SET VIDEO MODE */
         TRACE( "Set VGA video mode %02x\n", AL_reg(context) );
         if (!INT10_SetVideoMode( data, AL_reg(context) ))
-            FIXME( "Unsupported VGA video mode requested: %d\n", 
+            FIXME( "Unsupported VGA video mode requested: %#x\n", 
                    AL_reg(context) );
         break;
 

Attachment: pgp00210.pgp
Description: PGP signature


[Index of Archives]     [Gimp for Windows]     [Red Hat]     [Samba]     [Yosemite Camping]     [Graphics Cards]     [Wine Home]

  Powered by Linux