|
|
1.1 ! root 1: #ifndef Z80_H ! 2: #define Z80_H ! 3: ! 4: /* #include "cpuintrf.h" */ ! 5: /* #include "osd_cpu.h" */ ! 6: ! 7: #define MAX_REGS 64 /* maximum number of register of any CPU */ ! 8: ! 9: /* Values passed to the cpu_info function of a core to retrieve information */ ! 10: enum { ! 11: CPU_INFO_REG, ! 12: CPU_INFO_FLAGS=MAX_REGS, ! 13: CPU_INFO_NAME, ! 14: CPU_INFO_FAMILY, ! 15: CPU_INFO_VERSION, ! 16: CPU_INFO_FILE, ! 17: CPU_INFO_CREDITS, ! 18: CPU_INFO_REG_LAYOUT, ! 19: CPU_INFO_WIN_LAYOUT ! 20: }; ! 21: ! 22: #define state_save_INT8(a,b,c,d,e,f) /* */ ! 23: #define state_save_UINT8(a,b,c,d,e,f) /* */ ! 24: #define state_save_UINT16(a,b,c,d,e,f) /* */ ! 25: #define state_load_INT8(a,b,c,d,e,f) /* */ ! 26: #define state_load_UINT8(a,b,c,d,e,f) /* */ ! 27: #define state_load_UINT16(a,b,c,d,e,f) /* */ ! 28: ! 29: enum { ! 30: Z80_PC=1, Z80_SP, Z80_AF, Z80_BC, Z80_DE, Z80_HL, ! 31: Z80_IX, Z80_IY, Z80_AF2, Z80_BC2, Z80_DE2, Z80_HL2, ! 32: Z80_R, Z80_I, Z80_IM, Z80_IFF1, Z80_IFF2, Z80_HALT, ! 33: Z80_NMI_STATE, Z80_IRQ_STATE, Z80_DC0, Z80_DC1, Z80_DC2, Z80_DC3, ! 34: Z80_NMI_NESTING ! 35: }; ! 36: ! 37: extern int z80_ICount; /* T-state count */ ! 38: ! 39: #define Z80_IGNORE_INT -1 /* Ignore interrupt */ ! 40: #define Z80_NMI_INT -2 /* Execute NMI */ ! 41: #define Z80_IRQ_INT -1000 /* Execute IRQ */ ! 42: ! 43: /* Port number written to when entering/leaving HALT state */ ! 44: #define Z80_HALT_PORT 0x10000 ! 45: ! 46: extern void z80_reset (void *param); ! 47: extern void z80_exit (void); ! 48: extern int z80_execute(int cycles); ! 49: extern void z80_burn(int cycles); ! 50: extern unsigned z80_get_context (void *dst); ! 51: extern void z80_set_context (void *src); ! 52: extern unsigned z80_get_pc (void); ! 53: extern void z80_set_pc (unsigned val); ! 54: extern unsigned z80_get_sp (void); ! 55: extern void z80_set_sp (unsigned val); ! 56: extern unsigned z80_get_reg (int regnum); ! 57: extern void z80_set_reg (int regnum, unsigned val); ! 58: extern void z80_set_nmi_line(int state); ! 59: extern void z80_set_irq_line(int irqline, int state); ! 60: extern void z80_set_irq_callback(int (*irq_callback)(int)); ! 61: extern void z80_state_save(void *file); ! 62: extern void z80_state_load(void *file); ! 63: extern const char *z80_info(void *context, int regnum); ! 64: extern unsigned z80_dasm(char *buffer, unsigned pc); ! 65: ! 66: #ifdef MAME_DEBUG ! 67: extern unsigned DasmZ80(char *buffer, unsigned pc); ! 68: #endif ! 69: ! 70: #endif ! 71:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.