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 uint32_t get_debug_prog_addr_mask()
70 uint32_t get_debug_data_addr_mask()
74 void write_debug_data8(uint32_t addr, uint32_t data);
75 uint32_t read_debug_data8(uint32_t addr);
76 void write_debug_data16(uint32_t addr, uint32_t data);
77 uint32_t read_debug_data16(uint32_t addr);
78 void write_debug_data32(uint32_t addr, uint32_t data);
79 uint32_t read_debug_data32(uint32_t addr);
80 void write_debug_io8(uint32_t addr, uint32_t data);
81 uint32_t read_debug_io8(uint32_t addr);
82 void write_debug_io16(uint32_t addr, uint32_t data);
83 uint32_t read_debug_io32(uint32_t addr);
84 void write_debug_io32(uint32_t addr, uint32_t data);
85 uint32_t read_debug_io16(uint32_t addr);
86 bool write_debug_reg(const _TCHAR *reg, uint32_t data);
87 uint32_t read_debug_reg(const _TCHAR *reg);
88 void get_debug_regs_info(_TCHAR *buffer, size_t buffer_len);
89 int debug_dasm(uint32_t pc, _TCHAR *buffer, size_t buffer_len);
92 bool process_state(FILEIO *state_fio, bool loading);
95 void set_context_bios(DEVICE* device);
96 void set_context_dma(DEVICE* device);
99 void set_context_debugger(DEBUGGER* device);