Implemented the Win95 look and feel.
[wine.git] / msdos / int15.c
blob7875a7fa5f3fc507d6c39973d819dc679abb797b
1 /*
2 * BIOS interrupt 15h handler
3 */
5 #include <stdlib.h>
6 #include "miscemu.h"
7 #include "debug.h"
10 /**********************************************************************
11 * INT_Int15Handler
13 * Handler for int 15h (old cassette interrupt).
15 void WINAPI INT_Int15Handler( CONTEXT *context )
17 switch(AH_reg(context))
19 case 0x88: /* get size of memory above 1 M */
20 AX_reg(context) = 64; /* FIXME: are 64K ok? */
21 RESET_CFLAG(context);
22 break;
24 case 0xc0: /* GET CONFIGURATION */
25 if (ISV86(context)) /* real */
26 ES_reg(context) = 0xf000;
27 else
28 ES_reg(context) = DOSMEM_BiosSysSeg;
29 BX_reg(context) = 0xe6f5;
30 AH_reg(context) = 0x0;
31 RESET_CFLAG(context);
32 break;
33 case 0xc2:
34 switch(AL_reg(context))
36 case 0x00: /* Enable-Disable Pointing Device (mouse) */
37 /* BH = newstate, 00h = disabled 01h = enabled */
38 switch(BH_reg(context))
40 case 0x00:
41 FIXME(int, "Disable Pointing Device - not implemented\n");
42 break;
43 case 0x01:
44 FIXME(int, "Enable Pointing Device - not implemented\n");
45 break;
46 default:
47 INT_BARF( context, 0x15 );
48 break;
50 AH_reg(context) = 0x00; /* successful */
51 break;
52 case 0x02: /* Set Sampling Rate */
53 /* BH = sampling rate */
54 FIXME(int, "Set Sampling Rate - not implemented\n");
55 AH_reg(context) = 0x00; /* successful */
56 break;
57 case 0x04: /* Get Pointing Device Type */
58 FIXME(int, "Get Pointing Device Type - not implemented\n");
59 BH_reg(context) = 0x01;/*Device id FIXME what is it suposed to be?*/
60 break;
61 default:
62 INT_BARF( context, 0x15 );
64 break;
66 default:
67 INT_BARF( context, 0x15 );