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