1 /* ASG 971222 -- rewrote this interface */
2 #ifndef __I286INTR_H_
3 #define __I286INTR_H_
4 
5 #include "memory.h"
6 #include "osd_cpu.h"
7 
8 #include "i86intf.h"
9 
10 enum {
11         I286_IP=1, I286_AX, I286_CX, I286_DX, I286_BX, I286_SP, I286_BP, I286_SI, I286_DI,
12         I286_FLAGS,
13 		I286_ES, I286_CS, I286_SS, I286_DS,
14 		I286_ES_2, I286_CS_2, I286_SS_2, I286_DS_2,
15 		I286_MSW,
16 		I286_GDTR, I286_IDTR, I286_LDTR, I286_TR,
17 		I286_GDTR_2, I286_IDTR_2, I286_LDTR_2, I286_TR_2,
18         I286_VECTOR, I286_PENDING, I286_NMI_STATE, I286_IRQ_STATE, I286_EMPTY
19 };
20 
21 /* Public variables */
22 extern int i286_ICount;
23 
24 /* Public functions */
25 extern void i286_init(void);
26 extern void i286_reset(void *param);
27 extern void i286_exit(void);
28 extern int i286_execute(int cycles);
29 extern unsigned i286_get_context(void *dst);
30 extern void i286_set_context(void *src);
31 extern unsigned i286_get_reg(int regnum);
32 extern void i286_set_reg(int regnum, unsigned val);
33 extern void i286_set_irq_line(int irqline, int state);
34 extern void i286_set_irq_callback(int (*callback)(int irqline));
35 extern const char *i286_info(void *context, int regnum);
36 extern unsigned i286_dasm(char *buffer, unsigned pc);
37 
38 #ifdef MAME_DEBUG
39 extern unsigned DasmI286(char* buffer, unsigned pc);
40 #endif
41 
42 #endif
43