Stub support for int2f/ax=1684/bx=0027 (VXDLDR).
This commit is contained in:
parent
7bbba4f9ce
commit
5f150baea7
|
@ -41,6 +41,7 @@ owner kernel32
|
||||||
423 register VXD_Shell() VXD_Shell
|
423 register VXD_Shell() VXD_Shell
|
||||||
433 register VXD_PageFile() VXD_PageFile
|
433 register VXD_PageFile() VXD_PageFile
|
||||||
438 register VXD_APM() VXD_APM
|
438 register VXD_APM() VXD_APM
|
||||||
|
439 register VXD_VXDLoader() VXD_VXDLoader
|
||||||
445 register VXD_Win32s() VXD_Win32s
|
445 register VXD_Win32s() VXD_Win32s
|
||||||
451 register VXD_ConfigMG() VXD_ConfigMG
|
451 register VXD_ConfigMG() VXD_ConfigMG
|
||||||
455 register VXD_Enable() VXD_Enable
|
455 register VXD_Enable() VXD_Enable
|
||||||
|
|
42
msdos/vxd.c
42
msdos/vxd.c
|
@ -177,6 +177,48 @@ void WINAPI VXD_VMD ( CONTEXT86 *context )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* VXD_VXDLoader
|
||||||
|
*/
|
||||||
|
void WINAPI VXD_VXDLoader( CONTEXT86 *context )
|
||||||
|
{
|
||||||
|
unsigned service = AX_reg(context);
|
||||||
|
|
||||||
|
TRACE("[%04x] VXDLoader\n", (UINT16)service);
|
||||||
|
|
||||||
|
switch (service)
|
||||||
|
{
|
||||||
|
case 0x0000: /* get version */
|
||||||
|
TRACE("returning version\n");
|
||||||
|
AX_reg(context) = 0x0000;
|
||||||
|
DX_reg(context) = VXD_WinVersion();
|
||||||
|
RESET_CFLAG(context);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 0x0001: /* load device */
|
||||||
|
FIXME("load device %04lx:%04x (%s)\n",
|
||||||
|
DS_reg(context), DX_reg(context),
|
||||||
|
debugstr_a(PTR_SEG_OFF_TO_LIN(DS_reg(context), DX_reg(context))));
|
||||||
|
AX_reg(context) = 0x0000;
|
||||||
|
ES_reg(context) = 0x0000;
|
||||||
|
DI_reg(context) = 0x0000;
|
||||||
|
RESET_CFLAG(context);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 0x0002: /* unload device */
|
||||||
|
FIXME("unload device (%08lx)\n", EBX_reg(context));
|
||||||
|
AX_reg(context) = 0x0000;
|
||||||
|
RESET_CFLAG(context);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
VXD_BARF( context, "VXDLDR" );
|
||||||
|
AX_reg(context) = 0x000B; /* invalid function number */
|
||||||
|
SET_CFLAG(context);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* VXD_Shell
|
* VXD_Shell
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue