int10 wrong video mode fix

Andreas Mohr andi at rhlx01.fht-esslingen.de
Wed Nov 27 15:10:54 CST 2002


Hi all,

this one fixes IDA/DOS starting up in ugly monochrome mode instead
of flashy *color* text mode.
Note that I fixed this bug within 3 minutes only.
(ok, damn, I have to admit that I already almost knew where the bug
*had* to be and how to fix it ;-))

Also, I fixed both bugs within half an hour of train ride - how's that
for productivity ? :)

Now IDA/DOS is *finally* (almost) completely usable again !
(thanks to the *wonderful* video mode fixes that enabled an early text
console I was finally able to see the error message that made IDA/DOS
quit :-)))

(not to mention that the new text mode support is indeed quite a lot
faster :)

I also added/improved some TRACEs in this patch.



Index: dlls/winedos/int10.c
===================================================================
RCS file: /home/wine/wine/dlls/winedos/int10.c,v
retrieving revision 1.22
diff -u -r1.22 int10.c
--- dlls/winedos/int10.c	24 Nov 2002 22:15:56 -0000	1.22
+++ dlls/winedos/int10.c	27 Nov 2002 21:05:34 -0000
@@ -74,7 +74,7 @@
   if (width >= 80 && height >= 25) {
     VGA_SetAlphaMode(80, 25);
     data->VideoColumns = 80;
-    data->VideoMode = 0x02;
+    data->VideoMode = 0x03;
   } else {
     VGA_SetAlphaMode(40, 25);
     data->VideoColumns = 40;
@@ -464,8 +464,8 @@
         else
         {
            VGA_SetCursorPos(DL_reg(context), DH_reg(context));
-           TRACE("Set Cursor Position: %d %d\n", DH_reg(context),
-              DL_reg(context));
+           TRACE("Set Cursor Position: %d/%d\n", DL_reg(context),
+              DH_reg(context));
         }
         break;
 
@@ -478,7 +478,7 @@
           BIOS_GetCursorPos(data,BH_reg(context),&col,&row);
           SET_DH( context, row );
           SET_DL( context, col );
-          TRACE("Cursor Position: %d %d\n", DH_reg(context), DL_reg(context));
+          TRACE("Cursor Position: %d/%d\n", DL_reg(context), DH_reg(context));
         }
         break;
 
@@ -488,7 +488,7 @@
         break;
 
     case 0x05: /* SELECT ACTIVE DISPLAY PAGE */
-        FIXME("Select Active Display Page - Not Supported\n");
+        FIXME("Select Active Display Page (%d) - Not Supported\n", AL_reg(context));
         data->VideoCurPage = AL_reg(context);
         break;
 
@@ -569,11 +569,11 @@
                also sets up the default background attributes for clears
                and scrolls... */
             /* Bear in mind here that we do not want to change,
-               apparantly, the foreground or attribute of the background
+               apparently, the foreground or attribute of the background
                with this call, so we should check first to see what the
                foreground already is... FIXME */
-            FIXME("Set Background/Border Color: %d\n",
-               BL_reg(context));
+            FIXME("Set Background/Border Color: %d/%d\n",
+               BH_reg(context), BL_reg(context));
             break;
         case 0x01: /* SET PALETTE */
             FIXME("Set Palette - Not Supported\n");
@@ -601,7 +601,7 @@
         break;
 
     case 0x0f: /* GET CURRENT VIDEO MODE */
-        TRACE("Get current video mode\n");
+        TRACE("Get current video mode: -> mode %d, columns %d\n", data->VideoMode, data->VideoColumns);
         /* Note: This should not be a constant value. */
         SET_AL( context, data->VideoMode );
         SET_AH( context, data->VideoColumns );

-- 
Andreas Mohr                        Stauferstr. 6, D-71272 Renningen, Germany



More information about the wine-patches mailing list