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