mirror of
https://github.com/reactos/reactos.git
synced 2024-07-06 12:45:16 +00:00
[NTVDM]
The DOS CON driver should call INT 29h for output. svn path=/trunk/; revision=66999
This commit is contained in:
parent
0f9c01b353
commit
832ce358b3
|
@ -100,29 +100,19 @@ WORD NTAPI ConDrvWriteOutput(PDOS_DEVICE_NODE Device, DWORD Buffer, PWORD Length
|
||||||
WORD BytesWritten;
|
WORD BytesWritten;
|
||||||
PCHAR Pointer = (PCHAR)FAR_POINTER(Buffer);
|
PCHAR Pointer = (PCHAR)FAR_POINTER(Buffer);
|
||||||
|
|
||||||
/*
|
/* Save AX */
|
||||||
* Use BIOS Teletype function
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Save AX and BX */
|
|
||||||
USHORT AX = getAX();
|
USHORT AX = getAX();
|
||||||
USHORT BX = getBX();
|
|
||||||
|
|
||||||
// FIXME: Use BIOS Write String function INT 10h, AH=13h ??
|
|
||||||
for (BytesWritten = 0; BytesWritten < *Length; BytesWritten++)
|
for (BytesWritten = 0; BytesWritten < *Length; BytesWritten++)
|
||||||
{
|
{
|
||||||
/* Set the parameters */
|
/* Set the character */
|
||||||
setAL(Pointer[BytesWritten]);
|
setAL(Pointer[BytesWritten]);
|
||||||
setBL(DOS_CHAR_ATTRIBUTE);
|
|
||||||
setBH(Bda->VideoPage);
|
|
||||||
|
|
||||||
/* Call the BIOS INT 10h, AH=0Eh "Teletype Output" */
|
/* Call the BIOS INT 29h "Fast Console Output" function */
|
||||||
setAH(0x0E);
|
Int32Call(&DosContext, 0x29);
|
||||||
Int32Call(&DosContext, BIOS_VIDEO_INTERRUPT);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Restore AX and BX */
|
/* Restore AX */
|
||||||
setBX(BX);
|
|
||||||
setAX(AX);
|
setAX(AX);
|
||||||
return DOS_DEVSTAT_DONE;
|
return DOS_DEVSTAT_DONE;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue