#endif
// clocks
+#ifdef USE_DEBUGGER
+ uint64_t total_count;
+ uint64_t prev_total_count;
+#endif
int count, period;
// register
uint16_t WP, PC, prevPC, ST;
inline uint16_t setst_sla_laeco(uint16_t a, uint16_t c);
public:
- TMS9995(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ TMS9995(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
// init registers
+#ifdef USE_DEBUGGER
+ total_count = prev_total_count = 0;
+#endif
WP = PC = ST = 0;
memset(RAM, 0, sizeof(RAM));
irq_level = int_state = int_latch = 0;
return PC;
}
#ifdef USE_DEBUGGER
+ bool is_cpu()
+ {
+ return true;
+ }
+ bool is_debugger_available()
+ {
+ return true;
+ }
void *get_debugger()
{
return d_debugger;
void write_debug_io8(uint32_t addr, uint32_t data);
uint32_t read_debug_io8(uint32_t addr);
bool write_debug_reg(const _TCHAR *reg, uint32_t data);
- void get_debug_regs_info(_TCHAR *buffer, size_t buffer_len);
+ bool get_debug_regs_info(_TCHAR *buffer, size_t buffer_len);
int debug_dasm(uint32_t pc, _TCHAR *buffer, size_t buffer_len);
#endif
- void save_state(FILEIO* state_fio);
- bool load_state(FILEIO* state_fio);
+ bool process_state(FILEIO* state_fio, bool loading);
// unique functions
void set_context_mem(DEVICE* device)
{