Author: hbelusca Date: Fri Aug 7 15:14:19 2015 New Revision: 68609
URL: http://svn.reactos.org/svn/reactos?rev=68609&view=rev Log: [NTVDM]: DOS: When we create a new PSP, or terminate a TSR, we *must* use the code segment value of the CALLER!! and not the current one (DOS code segment). Should fix a lot of stuff...
Modified: trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/dos.c
Modified: trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/dos.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/mvdm/ntvdm/dos/d... ============================================================================== --- trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/dos.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/dos.c [iso-8859-1] Fri Aug 7 15:14:19 2015 @@ -563,7 +563,7 @@ /* Create New PSP */ case 0x26: { - DosClonePsp(getDX(), getCS()); + DosClonePsp(getDX(), Stack[STACK_CS]); break; }
@@ -2096,7 +2096,7 @@
VOID WINAPI DosInt27h(LPWORD Stack) { - DosTerminateProcess(getCS(), 0, (getDX() + 0x0F) >> 4); + DosTerminateProcess(Stack[STACK_CS], 0, (getDX() + 0x0F) >> 4); }
VOID WINAPI DosIdle(LPWORD Stack)