From 441b62e7eb3ffc38ccd245f4ebf460153ce52c17 Mon Sep 17 00:00:00 2001 From: Aleksandar Andrejevic Date: Sun, 7 Jun 2015 23:07:15 +0000 Subject: [PATCH] [NTVDM] Fix INT 21h, AH=55h. It's supposed to set the current PSP too. Fix the order of registers in DOS_REGISTER_STATE to make it more compatible. svn path=/trunk/; revision=68066 --- reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/dos.c | 1 + reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/process.h | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/dos.c b/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/dos.c index 37422410d9a..1793c39e039 100644 --- a/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/dos.c +++ b/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/dos.c @@ -1510,6 +1510,7 @@ VOID WINAPI DosInt21h(LPWORD Stack) case 0x55: { DosCreatePsp(getDX(), getSI()); + DosSetProcessContext(getDX()); break; } diff --git a/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/process.h b/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/process.h index 3e8c3e771dd..3d5525b6cb8 100644 --- a/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/process.h +++ b/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/process.h @@ -74,8 +74,7 @@ typedef struct _DOS_EXEC_PARAM_BLOCK typedef struct _DOS_REGISTER_STATE { - WORD DI, SI, BP, BX, DX, CX, AX; - WORD ES, DS; + WORD AX, BX, CX, DX, SI, DI, BP, DS, ES; } DOS_REGISTER_STATE, *PDOS_REGISTER_STATE; #pragma pack(pop)