2 Skelton for retropc emulator
4 Origin : MAME i386 core
5 Author : Takeda.Toshiya
8 [ i386/i486/Pentium/MediaGX ]
11 #ifndef _NEWDEV_I386_H_
12 #define _NEWDEV_I386_H_
15 #include "../../emu.h"
16 #include "./i386_base.h"
17 //#include "./libcpu_i386/i386_real.h"
23 class I386 : public I386_BASE
30 I386(VM_TEMPLATE* parent_vm, EMU* parent_emu) : I386_BASE(parent_vm, parent_emu)
36 set_device_name(_T("i80386 CPU"));
37 #elif defined(HAS_I486)
38 set_device_name(_T("i80486 CPU"));
39 #elif defined(HAS_PENTIUM)
40 set_device_name(_T("Pentium CPU"));
41 #elif defined(HAS_MEDIAGX)
42 set_device_name(_T("Media GX CPU"));
43 #elif defined(HAS_PENTIUM_PRO)
44 set_device_name(_T("Pentium Pro CPU"));
45 #elif defined(HAS_PENTIUM_MMX)
46 set_device_name(_T("Pentium MMX CPU"));
47 #elif defined(HAS_PENTIUM2)
48 set_device_name(_T("Pentium2 CPU"));
49 #elif defined(HAS_PENTIUM3)
50 set_device_name(_T("Pentium3 CPU"));
51 #elif defined(HAS_PENTIUM4)
52 set_device_name(_T("Pentium4 CPU"));
60 //int cpu_execute(void *p, int cycles);
66 bool is_debugger_available()
74 uint32_t get_debug_prog_addr_mask()
78 uint32_t get_debug_data_addr_mask()
82 void write_debug_data8(uint32_t addr, uint32_t data);
83 uint32_t read_debug_data8(uint32_t addr);
84 void write_debug_data16(uint32_t addr, uint32_t data);
85 uint32_t read_debug_data16(uint32_t addr);
86 void write_debug_data32(uint32_t addr, uint32_t data);
87 uint32_t read_debug_data32(uint32_t addr);
88 void write_debug_io8(uint32_t addr, uint32_t data);
89 uint32_t read_debug_io8(uint32_t addr);
90 void write_debug_io16(uint32_t addr, uint32_t data);
91 uint32_t read_debug_io32(uint32_t addr);
92 void write_debug_io32(uint32_t addr, uint32_t data);
93 uint32_t read_debug_io16(uint32_t addr);
94 bool write_debug_reg(const _TCHAR *reg, uint32_t data);
95 uint32_t read_debug_reg(const _TCHAR *reg);
96 bool get_debug_regs_info(_TCHAR *buffer, size_t buffer_len);
97 int debug_dasm(uint32_t pc, _TCHAR *buffer, size_t buffer_len);
99 bool process_state(FILEIO *state_fio, bool loading);
102 void set_context_bios(DEVICE* device);
103 void set_context_dma(DEVICE* device);
106 void set_context_debugger(DEBUGGER* device);