2 Skelton for retropc emulator
4 Origin : MAME Z80DMA / Xmillenium
5 Author : Takeda.Toshiya
18 #define SIG_Z80DMA_READY 0
22 class Z80DMA : public DEVICE
51 void write_memory(uint32_t addr, uint32_t data, int* wait);
52 uint32_t read_memory(uint32_t addr, int* wait);
53 void write_ioport(uint32_t addr, uint32_t data, int* wait);
54 uint32_t read_ioport(uint32_t addr, int* wait);
61 bool _SINGLE_MODE_DMA;
67 void update_read_buffer();
68 void request_intr(int level);
71 DEVICE *d_cpu, *d_child;
77 Z80DMA(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
79 for(int i = 0; i < 6 * 8 + 1 + 1; i++) {
82 _SINGLE_MODE_DMA = _DMA_DEBUG = false;
83 d_cpu = d_child = NULL;
85 set_device_name(_T("Z80 DMA"));
92 void write_io8(uint32_t addr, uint32_t data);
93 uint32_t read_io8(uint32_t addr);
94 void write_signal(int id, uint32_t data, uint32_t mask);
97 void write_via_debugger_data8w(uint32_t addr, uint32_t data, int* wait);
98 uint32_t read_via_debugger_data8w(uint32_t addr, int* wait);
99 void write_via_debugger_io8w(uint32_t addr, uint32_t data, int* wait);
100 uint32_t read_via_debugger_io8w(uint32_t addr, int* wait);
101 bool is_debugger_available()
109 bool get_debug_regs_info(_TCHAR *buffer, size_t buffer_len);
110 bool process_state(FILEIO* state_fio, bool loading);
111 // interrupt common functions
112 void set_context_intr(DEVICE* device, uint32_t bit)
117 void set_context_child(DEVICE* device)
121 DEVICE *get_context_child()
125 void set_intr_iei(bool val);
126 uint32_t get_intr_ack();
127 void notify_intr_reti();
130 void set_context_memory(DEVICE* device)
134 void set_context_io(DEVICE* device)
138 void set_context_debugger(DEBUGGER* device)