CSP_Logger *p_logger;
public:
DEVICE(VM_TEMPLATE* parent_vm, EMU* parent_emu);
- //ToDo: Will implement real destructor per real classes and below destructor decl. with "virtual".
- // This makes warning:
- //"deleting object of polymorphic class type 'DEVICE' which has non-virtual
- // destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]".
- //~DEVICE(void);
- virtual ~DEVICE() {}
-
- virtual void initialize() { /* osd = emu->get_osd(); */}
+ ~DEVICE() {}
+
+ virtual void initialize() { }
virtual void release();
virtual void update_config() {}
{
event_manager = device;
}
- int get_event_manager_id();
+ virtual int get_event_manager_id();
virtual void register_event(DEVICE* device, int event_id, double usec, bool loop, int* register_id);
virtual void register_event_by_clock(DEVICE* device, int event_id, uint64_t clock, bool loop, int* register_id);
virtual void cancel_event(DEVICE* device, int register_id);
virtual uint32_t get_passed_clock_since_vline();
virtual double get_passed_usec_since_vline();
virtual int get_cur_vline();
- int get_cur_vline_clocks();
+ virtual int get_cur_vline_clocks();
virtual uint32_t get_cpu_pc(int index);
virtual void request_skip_frames();
virtual void set_frames_per_sec(double frames);
virtual void set_device_name(const _TCHAR *format, ...);
virtual void out_debug_log(const char *fmt, ...);
virtual void force_out_debug_log(const char *fmt, ...);
-#if 1
+
// debugger
// DEBUGGER is enabled by default.
virtual void *get_debugger();
virtual bool write_debug_reg(const _TCHAR *reg, uint32_t data);
virtual void get_debug_regs_info(_TCHAR *buffer, size_t buffer_len);
virtual int debug_dasm(uint32_t pc, _TCHAR *buffer, size_t buffer_len);
-#endif
+
+ // misc
+ const _TCHAR *get_lib_common_vm_version(void);
+
_TCHAR this_device_name[128];
+ // device node using with iterator.
DEVICE* prev_device;
DEVICE* next_device;
int this_device_id;