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/bios…
==============================================================================
--- 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;