2 Skelton for retropc emulator
4 Origin : MAME i286 core
5 Author : Takeda.Toshiya
15 //#include "vm_template.h"
19 #define SIG_I86_TEST 0
32 class I8086 : public DEVICE
35 DEVICE *d_mem, *d_io, *d_pic;
43 void cpu_reset_generic();
46 I8086(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
55 virtual void initialize();
56 virtual void release();
58 virtual int __FASTCALL run(int icount);
59 virtual uint32_t __FASTCALL read_signal(int id);
60 virtual void __FASTCALL write_signal(int id, uint32_t data, uint32_t mask);
61 virtual void set_intr_line(bool line, bool pending, uint32_t bit);
62 virtual void set_extra_clock(int icount);
63 virtual int get_extra_clock();
64 virtual uint32_t get_pc();
65 virtual uint32_t get_next_pc();
66 virtual uint32_t __FASTCALL translate_address(int segment, uint32_t offset);
73 bool is_debugger_available()
81 virtual uint32_t get_debug_prog_addr_mask()
85 virtual uint32_t get_debug_data_addr_mask()
89 virtual void __FASTCALL write_debug_data8(uint32_t addr, uint32_t data);
90 virtual uint32_t __FASTCALL read_debug_data8(uint32_t addr);
91 virtual void __FASTCALL write_debug_data16(uint32_t addr, uint32_t data);
92 virtual uint32_t __FASTCALL read_debug_data16(uint32_t addr);
93 virtual void __FASTCALL write_debug_io8(uint32_t addr, uint32_t data);
94 virtual uint32_t __FASTCALL read_debug_io8(uint32_t addr);
95 virtual void __FASTCALL write_debug_io16(uint32_t addr, uint32_t data);
96 virtual uint32_t __FASTCALL read_debug_io16(uint32_t addr);
97 virtual bool write_debug_reg(const _TCHAR *reg, uint32_t data);
98 virtual uint32_t __FASTCALL read_debug_reg(const _TCHAR *reg);
99 virtual bool get_debug_regs_info(_TCHAR *buffer, size_t buffer_len);
100 virtual int debug_dasm_with_userdata(uint32_t pc, _TCHAR *buffer, size_t buffer_len, uint32_t userdata = 0);
101 virtual bool process_state(FILEIO* state_fio, bool loading);
104 void set_context_mem(DEVICE* device)
108 void set_context_io(DEVICE* device)
112 void set_context_intr(DEVICE* device, uint32_t bit = 0xffffffff)
116 void set_context_bios(DEVICE* device)
120 void set_context_dma(DEVICE* device)
124 void set_context_debugger(DEBUGGER* device)