2 * BIOS interrupt 15h handler
7 #include "debugtools.h"
9 DEFAULT_DEBUG_CHANNEL(int)
12 /**********************************************************************
15 * Handler for int 15h (old cassette interrupt).
17 void WINAPI
INT_Int15Handler( CONTEXT86
*context
)
19 switch(AH_reg(context
))
21 case 0x88: /* get size of memory above 1 M */
22 AX_reg(context
) = 64; /* FIXME: are 64K ok? */
26 case 0xc0: /* GET CONFIGURATION */
27 if (ISV86(context
)) /* real */
28 ES_reg(context
) = 0xf000;
30 ES_reg(context
) = DOSMEM_BiosSysSeg
;
31 BX_reg(context
) = 0xe6f5;
32 AH_reg(context
) = 0x0;
36 switch(AL_reg(context
))
38 case 0x00: /* Enable-Disable Pointing Device (mouse) */
39 /* BH = newstate, 00h = disabled 01h = enabled */
40 switch(BH_reg(context
))
43 FIXME("Disable Pointing Device - not implemented\n");
46 FIXME("Enable Pointing Device - not implemented\n");
49 INT_BARF( context
, 0x15 );
52 AH_reg(context
) = 0x00; /* successful */
54 case 0x02: /* Set Sampling Rate */
55 /* BH = sampling rate */
56 FIXME("Set Sampling Rate - not implemented\n");
57 AH_reg(context
) = 0x00; /* successful */
59 case 0x04: /* Get Pointing Device Type */
60 FIXME("Get Pointing Device Type - not implemented\n");
61 BH_reg(context
) = 0x01;/*Device id FIXME what is it suposed to be?*/
64 INT_BARF( context
, 0x15 );
69 INT_BARF( context
, 0x15 );