mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-02 19:26:32 +00:00
[NTVDM]
- Fix ZF and CF flags setting in function INT 2Fh, AX=1214h. - Use CreateEventW explicitely. - Set the VdmTaskEvent event at startup. This allows user input by default (even if we don't run our own DOS) in NTVDM. Fixes keyboard input not working when testing boot&usage of MSDOS 6. svn path=/trunk/; revision=69339
This commit is contained in:
@@ -1015,7 +1015,7 @@ DWORD DosStartProcess32(IN LPCSTR ExecutablePath,
|
||||
sizeof(*DosStartProc32.ComSpecInfo));
|
||||
ASSERT(DosStartProc32.ComSpecInfo);
|
||||
|
||||
DosStartProc32.hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
|
||||
DosStartProc32.hEvent = CreateEventW(NULL, FALSE, FALSE, NULL);
|
||||
ASSERT(DosStartProc32.hEvent);
|
||||
#endif
|
||||
|
||||
|
||||
@@ -2184,8 +2184,16 @@ VOID WINAPI DosInt2Fh(LPWORD Stack)
|
||||
PVOID PointerFromFarPointer2 = SEG_OFF_TO_PTR(getES(), getDI());
|
||||
BOOLEAN AreEqual = (PointerFromFarPointer1 == PointerFromFarPointer2);
|
||||
|
||||
setZF(AreEqual);
|
||||
setCF(!AreEqual);
|
||||
if (AreEqual)
|
||||
{
|
||||
Stack[STACK_FLAGS] |= EMULATOR_FLAG_ZF;
|
||||
Stack[STACK_FLAGS] &= ~EMULATOR_FLAG_CF;
|
||||
}
|
||||
else
|
||||
{
|
||||
Stack[STACK_FLAGS] &= ~EMULATOR_FLAG_ZF;
|
||||
Stack[STACK_FLAGS] |= EMULATOR_FLAG_CF;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -475,7 +475,7 @@ BOOLEAN EmulatorInitialize(HANDLE ConsoleInput, HANDLE ConsoleOutput)
|
||||
|
||||
/**************** ATTACH INPUT WITH CONSOLE *****************/
|
||||
/* Create the task event */
|
||||
VdmTaskEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
|
||||
VdmTaskEvent = CreateEventW(NULL, TRUE, FALSE, NULL);
|
||||
ASSERT(VdmTaskEvent != NULL);
|
||||
|
||||
/* Start the input thread */
|
||||
@@ -486,6 +486,7 @@ BOOLEAN EmulatorInitialize(HANDLE ConsoleInput, HANDLE ConsoleOutput)
|
||||
EmulatorCleanup();
|
||||
return FALSE;
|
||||
}
|
||||
ResumeEventThread();
|
||||
/************************************************************/
|
||||
|
||||
/* Initialize the VGA */
|
||||
|
||||
Reference in New Issue
Block a user