[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...

svn path=/trunk/; revision=68609
This commit is contained in:
Hermès Bélusca-Maïto 2015-08-07 15:14:19 +00:00
parent 05ef43979f
commit 2abf03735c

View file

@ -563,7 +563,7 @@ VOID WINAPI DosInt21h(LPWORD Stack)
/* Create New PSP */
case 0x26:
{
DosClonePsp(getDX(), getCS());
DosClonePsp(getDX(), Stack[STACK_CS]);
break;
}
@ -2096,7 +2096,7 @@ VOID WINAPI DosAbsoluteWrite(LPWORD Stack)
VOID WINAPI DosInt27h(LPWORD Stack)
{
DosTerminateProcess(getCS(), 0, (getDX() + 0x0F) >> 4);
DosTerminateProcess(Stack[STACK_CS], 0, (getDX() + 0x0F) >> 4);
}
VOID WINAPI DosIdle(LPWORD Stack)