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