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