PATCH: implement SET INDIVIDUAL/BLOCK DAC REGISTER (int 10h)

Christian COSTA titan.costa at wanadoo.fr
Tue Apr 16 13:35:51 CDT 2002


Changelog :
        dlls/winedos/int10.c
        Implement SET INDIVIDUAL DAC REGISTER
              and SET BLOCK OF DAC REGISTERS

Christian COSTA    titan.costa at wanadoo.fr
-------------- next part --------------
Index: int10.c
===================================================================
RCS file: /home/wine/wine/dlls/winedos/int10.c,v
retrieving revision 1.7
diff -u -r1.7 int10.c
--- int10.c	11 Apr 2002 21:50:16 -0000	1.7
+++ int10.c	16 Apr 2002 18:21:30 -0000
@@ -543,10 +543,34 @@
                " - Not Supported\n");
             break;
         case 0x10: /* SET INDIVIDUAL DAC REGISTER */
-            FIXME("Set Individual DAC register - Not Supported\n");
+            {
+                PALETTEENTRY paldat;
+
+                TRACE("Set Individual DAC register\n");
+                paldat.peRed   = DH_reg(context);
+                paldat.peGreen = CH_reg(context);
+                paldat.peBlue  = CL_reg(context);
+                paldat.peFlags = 0;
+                VGA_SetPalette(&paldat,BX_reg(context)&0xFF,1);
+            }
             break;
         case 0x12: /* SET BLOCK OF DAC REGISTERS */
-            FIXME("Set Block of DAC registers - Not Supported\n");
+            {
+                int i;
+                PALETTEENTRY paldat;
+                BYTE *pt;
+
+                TRACE("Set Block of DAC registers\n");
+		pt = (BYTE*)CTX_SEG_OFF_TO_LIN(context,context->SegEs,context->Edx);
+		for (i=0;i<CX_reg(context);i++)
+                {
+                    paldat.peRed   = (*(pt+i*3+0)) << 2;
+                    paldat.peGreen = (*(pt+i*3+1)) << 2;
+                    paldat.peBlue  = (*(pt+i*3+2)) << 2;
+                    paldat.peFlags = 0;
+                    VGA_SetPalette(&paldat,(BX_reg(context)+i)&0xFF,1);
+                }
+            }
             break;
         case 0x13: /* SELECT VIDEO DAC COLOR PAGE */
             FIXME("Select video DAC color page - Not Supported\n");


More information about the wine-patches mailing list