2 Skelton for retropc emulator
4 Origin : MAME i386 core
5 Author : Takeda.Toshiya
8 [ i386/i486/Pentium/MediaGX ]
18 #define SIG_I386_A20 1
24 class I386 : public DEVICE
27 DEVICE *d_mem, *d_io, *d_pic;
28 #ifdef I386_PSEUDO_BIOS
31 #ifdef SINGLE_MODE_DMA
40 I386(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
42 #ifdef I386_PSEUDO_BIOS
45 #ifdef SINGLE_MODE_DMA
56 void write_signal(int id, uint32 data, uint32 mask);
57 void set_intr_line(bool line, bool pending, uint32 bit);
58 void set_extra_clock(int cycles);
59 int get_extra_clock();
67 uint32 get_debug_prog_addr_mask()
71 uint32 get_debug_data_addr_mask()
75 void write_debug_data8(uint32 addr, uint32 data);
76 uint32 read_debug_data8(uint32 addr);
77 void write_debug_data16(uint32 addr, uint32 data);
78 uint32 read_debug_data16(uint32 addr);
79 void write_debug_data32(uint32 addr, uint32 data);
80 uint32 read_debug_data32(uint32 addr);
81 void write_debug_io8(uint32 addr, uint32 data);
82 uint32 read_debug_io8(uint32 addr);
83 void write_debug_io16(uint32 addr, uint32 data);
84 uint32 read_debug_io32(uint32 addr);
85 void write_debug_io32(uint32 addr, uint32 data);
86 uint32 read_debug_io16(uint32 addr);
87 bool write_debug_reg(const _TCHAR *reg, uint32 data);
88 void get_debug_regs_info(_TCHAR *buffer, size_t buffer_len);
89 int debug_dasm(uint32 pc, _TCHAR *buffer, size_t buffer_len);
91 void save_state(FILEIO* state_fio);
92 bool load_state(FILEIO* state_fio);
95 void set_context_mem(DEVICE* device)
99 void set_context_io(DEVICE* device)
103 void set_context_intr(DEVICE* device)
107 #ifdef I386_PSEUDO_BIOS
108 void set_context_bios(DEVICE* device)
113 #ifdef SINGLE_MODE_DMA
114 void set_context_dma(DEVICE* device)
120 void set_context_debugger(DEBUGGER* device)
125 void set_address_mask(uint32 mask);
126 uint32 get_address_mask();
127 void set_shutdown_flag(int shutdown);
128 int get_shutdown_flag();