2 Skelton for retropc emulator
4 Author : Takeda.Toshiya
14 #include "../../emu.h"
15 #include "../device.h"
17 #define SIG_I86_TEST 0
18 #define SIG_I286_A20 1
24 class I286 : public DEVICE
27 DEVICE *d_mem, *d_io, *d_pic;
28 #ifdef I86_PSEUDO_BIOS
31 #ifdef SINGLE_MODE_DMA
40 I286(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
42 #ifdef I86_PSEUDO_BIOS
45 #ifdef SINGLE_MODE_DMA
49 set_device_name(_T("8086 CPU"));
50 #elif defined(HAS_I88)
51 set_device_name(_T("8088 CPU"));
52 #elif defined(HAS_I186)
53 set_device_name(_T("80186 CPU"));
54 #elif defined(HAS_V30)
55 set_device_name(_T("V30 CPU"));
56 #elif defined(HAS_I286)
57 set_device_name(_T("80286 CPU"));
67 void write_signal(int id, uint32_t data, uint32_t mask);
68 void set_intr_line(bool line, bool pending, uint32_t bit);
69 void set_extra_clock(int icount);
70 int get_extra_clock();
72 uint32_t get_next_pc();
78 uint32_t get_debug_prog_addr_mask()
86 uint32_t get_debug_data_addr_mask()
94 void write_debug_data8(uint32_t addr, uint32_t data);
95 uint32_t read_debug_data8(uint32_t addr);
96 void write_debug_data16(uint32_t addr, uint32_t data);
97 uint32_t read_debug_data16(uint32_t addr);
98 void write_debug_io8(uint32_t addr, uint32_t data);
99 uint32_t read_debug_io8(uint32_t addr);
100 void write_debug_io16(uint32_t addr, uint32_t data);
101 uint32_t read_debug_io16(uint32_t addr);
102 bool write_debug_reg(const _TCHAR *reg, uint32_t data);
103 void get_debug_regs_info(_TCHAR *buffer, size_t buffer_len);
104 int debug_dasm(uint32_t pc, _TCHAR *buffer, size_t buffer_len);
106 bool process_state(FILEIO* state_fio, bool loading);
109 void set_context_mem(DEVICE* device)
113 void set_context_io(DEVICE* device)
117 void set_context_intr(DEVICE* device)
121 #ifdef I86_PSEUDO_BIOS
122 void set_context_bios(DEVICE* device)
127 #ifdef SINGLE_MODE_DMA
128 void set_context_dma(DEVICE* device)
134 void set_context_debugger(DEBUGGER* device)
140 void set_address_mask(uint32_t mask);
141 uint32_t get_address_mask();
142 void set_shutdown_flag(int shutdown);
143 int get_shutdown_flag();