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/…
==============================================================================
--- 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;
}