Added int 0x09 and int 0x33.

This commit is contained in:
Ove Kaaven 1999-03-25 10:51:17 +00:00 committed by Alexandre Julliard
parent baed48e4e5
commit 4dfd859271
3 changed files with 20 additions and 2 deletions

View File

@ -112,6 +112,11 @@ extern void IO_port_init (void);
extern DWORD IO_inport( int port, int count ); extern DWORD IO_inport( int port, int count );
extern void IO_outport( int port, int count, DWORD value ); extern void IO_outport( int port, int count, DWORD value );
/* msdos/int09.c */
extern void WINAPI INT_Int09Handler(CONTEXT*);
extern void WINAPI INT_Int09SendScan(BYTE);
extern BYTE WINAPI INT_Int09ReadScan(void);
/* msdos/int10.c */ /* msdos/int10.c */
extern void WINAPI INT_Int10Handler(CONTEXT*); extern void WINAPI INT_Int10Handler(CONTEXT*);
@ -155,11 +160,16 @@ extern void WINAPI INT_Int29Handler(CONTEXT*);
/* msdos/int2f.c */ /* msdos/int2f.c */
extern void WINAPI INT_Int2fHandler(CONTEXT*); extern void WINAPI INT_Int2fHandler(CONTEXT*);
/* msdos/int33.c */
extern void WINAPI INT_Int33Handler(CONTEXT*);
extern void WINAPI INT_Int33Message(UINT,WPARAM,LPARAM);
/* msdos/dpmi.c */ /* msdos/dpmi.c */
typedef void WINAPI (*RMCBPROC)(CONTEXT*); typedef void WINAPI (*RMCBPROC)(CONTEXT*);
extern void WINAPI INT_Int31Handler(CONTEXT*); extern void WINAPI INT_Int31Handler(CONTEXT*);
extern FARPROC16 WINAPI DPMI_AllocInternalRMCB(RMCBPROC); extern FARPROC16 WINAPI DPMI_AllocInternalRMCB(RMCBPROC);
extern void WINAPI DPMI_FreeInternalRMCB(FARPROC16); extern void WINAPI DPMI_FreeInternalRMCB(FARPROC16);
extern int DPMI_CallRMProc(CONTEXT*,LPWORD,int,int);
/* msdos/xms.c */ /* msdos/xms.c */
extern void WINAPI XMS_Handler(CONTEXT*); extern void WINAPI XMS_Handler(CONTEXT*);

View File

@ -10,6 +10,7 @@ C_SRCS = \
dosmem.c \ dosmem.c \
dpmi.c \ dpmi.c \
xms.c \ xms.c \
int09.c \
int10.c \ int10.c \
int11.c \ int11.c \
int12.c \ int12.c \
@ -26,6 +27,7 @@ C_SRCS = \
int29.c \ int29.c \
int2a.c \ int2a.c \
int2f.c \ int2f.c \
int33.c \
int3d.c \ int3d.c \
int41.c \ int41.c \
int4b.c \ int4b.c \

View File

@ -101,6 +101,9 @@ int INT_RealModeInterrupt( BYTE intnum, PCONTEXT context )
/* we should really map to if1632/wprocs.spec, but not all /* we should really map to if1632/wprocs.spec, but not all
* interrupt handlers are adapted to support real mode yet */ * interrupt handlers are adapted to support real mode yet */
switch (intnum) { switch (intnum) {
case 0x09:
INT_Int09Handler(context);
break;
case 0x10: case 0x10:
INT_Int10Handler(context); INT_Int10Handler(context);
break; break;
@ -134,14 +137,17 @@ int INT_RealModeInterrupt( BYTE intnum, PCONTEXT context )
case 0x25: case 0x25:
INT_Int25Handler(context); INT_Int25Handler(context);
break; break;
case 0x29:
INT_Int29Handler(context);
break;
case 0x2f: case 0x2f:
INT_Int2fHandler(context); INT_Int2fHandler(context);
break; break;
case 0x31: case 0x31:
INT_Int31Handler(context); INT_Int31Handler(context);
break; break;
case 0x29: case 0x33:
INT_Int29Handler(context); INT_Int33Handler(context);
break; break;
default: default:
FIXME(int, "Unknown Interrupt in DOS mode: 0x%x\n", intnum); FIXME(int, "Unknown Interrupt in DOS mode: 0x%x\n", intnum);