#include <stdio.h>
#include <stdlib.h>
#include "registers.h"
#include "wine.h"

void IntBarf(int i, struct sigcontext_struct *context)
{
	fprintf(stderr, "int%x: unknown/not implemented parameters:\n", i);
	fprintf(stderr, "int%x: AX %04x, BX %04x, CX %04x, DX %04x, "
	       "SI %04x, DI %04x, DS %04x, ES %04x\n",
	       i, AX, BX, CX, DX, SI, DI, DS, ES);
}

int do_int10(struct sigcontext_struct *context)
{
	switch(AH) {
	case 0x0f:
		AL = 0x5b;
		break;

	case 0x12:
		if (BL == 0x10) {
			BX = 0x0003;
			CX = 0x0009;
		}
		break;
			
	case 0x1a:
		BX = 0x0008;
		break;

	default:
		IntBarf(0x10, context);
	};
	return 1;
}
