| /* |
| * BIOS interrupt 15h handler |
| */ |
| |
| #include <stdlib.h> |
| #include "miscemu.h" |
| #include "debug.h" |
| |
| |
| /********************************************************************** |
| * INT_Int15Handler |
| * |
| * Handler for int 15h (old cassette interrupt). |
| */ |
| void WINAPI INT_Int15Handler( CONTEXT *context ) |
| { |
| switch(AH_reg(context)) |
| { |
| case 0x88: /* get size of memory above 1 M */ |
| AX_reg(context) = 64; /* FIXME: are 64K ok? */ |
| RESET_CFLAG(context); |
| break; |
| |
| case 0xc0: /* GET CONFIGURATION */ |
| if (ISV86(context)) /* real */ |
| ES_reg(context) = 0xf000; |
| else |
| ES_reg(context) = DOSMEM_BiosSysSeg; |
| BX_reg(context) = 0xe6f5; |
| AH_reg(context) = 0x0; |
| RESET_CFLAG(context); |
| break; |
| |
| default: |
| INT_BARF( context, 0x15 ); |
| } |
| } |