Author: hbelusca Date: Sat Nov 22 19:18:23 2014 New Revision: 65448
URL: http://svn.reactos.org/svn/reactos?rev=65448&view=rev Log: [NTVDM]: - INT 15h offers some "OS hooks" that do nothing normally but return success. - Stub "Switch to protected mode" INT 15h AH=89h function.
Modified: trunk/reactos/subsystems/ntvdm/bios/bios32/bios32.c
Modified: trunk/reactos/subsystems/ntvdm/bios/bios32/bios32.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/ntvdm/bios/bios3... ============================================================================== --- trunk/reactos/subsystems/ntvdm/bios/bios32/bios32.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/ntvdm/bios/bios32/bios32.c [iso-8859-1] Sat Nov 22 19:18:23 2014 @@ -151,6 +151,19 @@ { switch (getAH()) { + /* OS Hooks for Multitasking */ + case 0x80: // Device Open + case 0x81: // Device Close + case 0x82: // Program Termination + case 0x90: // Device Busy + case 0x91: // Device POST + { + /* Return success by default */ + setAH(0x00); + Stack[STACK_FLAGS] &= ~EMULATOR_FLAG_CF; + break; + } + /* Keyboard intercept */ case 0x4F: { @@ -234,6 +247,15 @@ break; }
+ /* Switch to Protected Mode */ + case 0x89: + { + DPRINT1("BIOS INT 15h, AH=89h "Switch to Protected Mode" is UNIMPLEMENTED"); + + Stack[STACK_FLAGS] |= EMULATOR_FLAG_CF; + break; + } + /* Get Configuration */ case 0xC0: { @@ -254,6 +276,8 @@ { // Stack[STACK_FLAGS] &= ~EMULATOR_FLAG_CF; // setES(???); + + UNIMPLEMENTED;
/* We do not support EBDA yet */ Stack[STACK_FLAGS] |= EMULATOR_FLAG_CF;