|
|
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.