According to the DPMI specification, DPMI functions 0900h-0902h related to Virtual Interrupt State has to always return state in AL register.
As wine does not support disabling virtual interrupt flag, report that interrupts are always enabled (AL=1).
From: Pali Rohár pali@kernel.org
According to the DPMI specification, DPMI functions 0900h-0902h related to Virtual Interrupt State has to always return state in AL register.
As wine does not support disabling virtual interrupt flag, report that interrupts are always enabled (AL=1).
Signed-off-by: Pali Rohár pali@kernel.org --- dlls/krnl386.exe16/int31.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/dlls/krnl386.exe16/int31.c b/dlls/krnl386.exe16/int31.c index 0d13763451c..2414fb7e55e 100644 --- a/dlls/krnl386.exe16/int31.c +++ b/dlls/krnl386.exe16/int31.c @@ -628,15 +628,18 @@ void WINAPI DOSVM_Int31Handler( CONTEXT *context ) break;
case 0x0900: /* Get and Disable Virtual Interrupt State */ - TRACE( "Get and Disable Virtual Interrupt State - not supported\n" ); + FIXME( "Get and Disable Virtual Interrupt State - unimplemented\n" ); + SET_AL( context, 1 ); /* report that interrupts are always enabled */ break;
case 0x0901: /* Get and Enable Virtual Interrupt State */ - TRACE( "Get and Enable Virtual Interrupt State - not supported\n" ); + FIXME( "Get and Enable Virtual Interrupt State - unimplemented\n" ); + SET_AL( context, 1 ); /* report that interrupts are always enabled */ break;
case 0x0902: /* Get Virtual Interrupt State */ - TRACE( "Get Virtual Interrupt State - not supported\n" ); + FIXME( "Get Virtual Interrupt State - unimplemented\n" ); + SET_AL( context, 1 ); /* report that interrupts are always enabled */ break;
case 0x0e00: /* Get Coprocessor Status (1.0) */