DOS VGA, outw support

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

 



Found finally a program that writes to VGA controller using outw.
Seems that the program thinks that outw acts like two outb:s
that write first to low address and then to high address.
Also added support for outl using the same logic, even though it is
highly unlikely that any program uses that.

Changelog:
  VGA emulation now supports outw and outl.

Index: dlls/winedos/ioports.c
===================================================================
RCS file: /home/wine/wine/dlls/winedos/ioports.c,v
retrieving revision 1.5
diff -u -r1.5 ioports.c
--- dlls/winedos/ioports.c      24 Jun 2002 22:57:28 -0000      1.5
+++ dlls/winedos/ioports.c      29 Jul 2002 17:03:00 -0000
@@ -169,9 +169,14 @@
     case 0x3dd:
     case 0x3de:
     case 0x3df:
-        if(size > 1)
-           FIXME("Trying to write more than one byte to VGA!\n");
-        VGA_ioport_out( port, (BYTE)value );
+        VGA_ioport_out( port, LOBYTE(value) );
+        if(size > 1) {
+            VGA_ioport_out( port+1, HIBYTE(value) );
+            if(size > 2) {
+                VGA_ioport_out( port+2, LOBYTE(HIWORD(value)) );
+                VGA_ioport_out( port+3, HIBYTE(HIWORD(value)) );
+            }
+        }
         break;
     case 0x00:
     case 0x01:

-- 
Jukka Heinonen <http://www.iki.fi/jhei/>


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

  Powered by Linux