Author: aandrejevic
Date: Tue Mar 31 03:05:09 2015
New Revision: 66999

URL: http://svn.reactos.org/svn/reactos?rev=66999&view=rev
Log:
[NTVDM]
The DOS CON driver should call INT 29h for output.


Modified:
    trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/condrv.c

Modified: trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/condrv.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/condrv.c?rev=66999&r1=66998&r2=66999&view=diff
==============================================================================
--- trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/condrv.c  [iso-8859-1] 
(original)
+++ trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/condrv.c  [iso-8859-1] 
Tue Mar 31 03:05:09 2015
@@ -100,29 +100,19 @@
     WORD BytesWritten;
     PCHAR Pointer = (PCHAR)FAR_POINTER(Buffer);
 
-    /*
-     * Use BIOS Teletype function
-     */
+    /* Save AX */
+    USHORT AX = getAX();
 
-    /* Save AX and BX */
-    USHORT AX = getAX();
-    USHORT BX = getBX();
-
-    // FIXME: Use BIOS Write String function INT 10h, AH=13h ??
     for (BytesWritten = 0; BytesWritten < *Length; BytesWritten++)
     {
-        /* Set the parameters */
+        /* Set the character */
         setAL(Pointer[BytesWritten]);
-        setBL(DOS_CHAR_ATTRIBUTE);
-        setBH(Bda->VideoPage);
 
-        /* Call the BIOS INT 10h, AH=0Eh "Teletype Output" */
-        setAH(0x0E);
-        Int32Call(&DosContext, BIOS_VIDEO_INTERRUPT);
+        /* Call the BIOS INT 29h "Fast Console Output" function */
+        Int32Call(&DosContext, 0x29);
     }
 
-    /* Restore AX and BX */
-    setBX(BX);
+    /* Restore AX */
     setAX(AX);
     return DOS_DEVSTAT_DONE;
 }


Reply via email to