[NTVDM]
authorAleksandar Andrejevic <aandrejevic@reactos.org>
Sat, 9 Nov 2013 16:15:24 +0000 (16:15 +0000)
committerAleksandar Andrejevic <aandrejevic@reactos.org>
Sat, 9 Nov 2013 16:15:24 +0000 (16:15 +0000)
Instead of repeating the BOP, simply handle both 0x51 and 0x62 as the same function.

svn path=/branches/ntvdm/; revision=60900

subsystems/ntvdm/dos.c

index bd531ca..147daaf 100644 (file)
@@ -2330,6 +2330,8 @@ VOID DosInt21h(LPWORD Stack)
 
         /* Internal - Get Current Process ID (Get PSP Address) */
         case 0x51:
 
         /* Internal - Get Current Process ID (Get PSP Address) */
         case 0x51:
+        /* Get Current PSP Address */
+        case 0x62:
         {
             /*
              * Identical to the documented AH=62h.
         {
             /*
              * Identical to the documented AH=62h.
@@ -2396,24 +2398,6 @@ VOID DosInt21h(LPWORD Stack)
             break;
         }
 
             break;
         }
 
-        /* Get Current PSP Address */
-        case 0x62:
-        {
-            /*
-             * Identical to the undocumented AH=51h.
-             * See Ralf Brown: http://www.ctyme.com/intr/rb-3140.htm
-             * for more information.
-             */
-            setAH(0x51); // Call the internal function.
-            /*
-             * Instead of calling ourselves really recursively as in:
-             * DosInt21h(Stack);
-             * prefer resetting the CF flag to let the BOP repeat.
-             */
-            setCF(1);
-            break;
-        }
-
         /* Unsupported */
         default:
         {
         /* Unsupported */
         default:
         {