9 /* #define DEBUG_INT */
12 int do_int2f_16(struct sigcontext_struct
*context
);
14 int do_int2f(struct sigcontext_struct
*context
)
16 dprintf_int(stddeb
,"int2f: AX %04x, BX %04x, CX %04x, DX %04x, "
17 "SI %04x, DI %04x, DS %04x, ES %04x\n",
18 AX
, BX
, CX
, DX
, SI
, DI
, DS
, ES
);
23 AL
= 0xff; /* share is installed */
26 case 0x15: /* mscdex */
31 return do_int2f_16(context
);
34 IntBarf(0x2f, context
);
40 int do_int2f_16(struct sigcontext_struct
*context
)
44 case 0x00: /* Windows enhanced mode installation check */
45 AX
= Options
.enhanced
? WINVERSION
: 0;
48 case 0x0a: /* Get Windows version and type */
50 BX
= (WINVERSION
>> 8) | ((WINVERSION
<< 8) & 0xff00);
51 CX
= Options
.enhanced
? 3 : 2;
54 case 0x86: /* DPMI detect mode */
55 AX
= 0; /* Running under DPMI */
58 case 0x87: /* DPMI installation check */
59 AX
= 0x0000; /* DPMI Installed */
60 BX
= 0x0001; /* 32bits available */
61 CX
= 0x04; /* processor 486 */
62 DX
= 0x0009; /* DPMI major/minor 0.9 */
63 SI
= 0; /* # of para. of DOS extended private data */
64 ES
= 0; /* ES:DI is DPMI switch entry point */
69 IntBarf(0x2f, context
);