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
29 void cpu_table_call(void);
32 I386(VM_TEMPLATE* parent_vm, EMU* parent_emu) : I386_BASE(parent_vm, parent_emu)
38 set_device_name(_T("i80386 CPU"));
39 #elif defined(HAS_I486)
40 set_device_name(_T("i80486 CPU"));
41 #elif defined(HAS_PENTIUM)
42 set_device_name(_T("Pentium CPU"));
43 #elif defined(HAS_MEDIAGX)
44 set_device_name(_T("Media GX CPU"));
45 #elif defined(HAS_PENTIUM_PRO)
46 set_device_name(_T("Pentium Pro CPU"));
47 #elif defined(HAS_PENTIUM_MMX)
48 set_device_name(_T("Pentium MMX CPU"));
49 #elif defined(HAS_PENTIUM2)
50 set_device_name(_T("Pentium2 CPU"));
51 #elif defined(HAS_PENTIUM3)
52 set_device_name(_T("Pentium3 CPU"));
53 #elif defined(HAS_PENTIUM4)
54 set_device_name(_T("Pentium4 CPU"));
62 //int cpu_execute(void *p, int cycles);
68 uint32_t get_debug_prog_addr_mask()
72 uint32_t get_debug_data_addr_mask()
76 void write_debug_data8(uint32_t addr, uint32_t data);
77 uint32_t read_debug_data8(uint32_t addr);
78 void write_debug_data16(uint32_t addr, uint32_t data);
79 uint32_t read_debug_data16(uint32_t addr);
80 void write_debug_data32(uint32_t addr, uint32_t data);
81 uint32_t read_debug_data32(uint32_t addr);
82 void write_debug_io8(uint32_t addr, uint32_t data);
83 uint32_t read_debug_io8(uint32_t addr);
84 void write_debug_io16(uint32_t addr, uint32_t data);
85 uint32_t read_debug_io32(uint32_t addr);
86 void write_debug_io32(uint32_t addr, uint32_t data);
87 uint32_t read_debug_io16(uint32_t addr);
88 bool write_debug_reg(const _TCHAR *reg, uint32_t data);
89 uint32_t read_debug_reg(const _TCHAR *reg);
90 void get_debug_regs_info(_TCHAR *buffer, size_t buffer_len);
91 int debug_dasm(uint32_t pc, _TCHAR *buffer, size_t buffer_len);
94 bool process_state(FILEIO *state_fio, bool loading);
97 void set_context_bios(DEVICE* device);
98 void set_context_dma(DEVICE* device);
101 void set_context_debugger(DEBUGGER* device);