message("* vm/common_vm")
-SET(THIS_LIB_VERSION 2.14.0)
+SET(THIS_LIB_VERSION 2.14.1)
#include(cotire)
set(s_vm_common_vm_srcs
return (uint32_t)(event_clocks & 0xffffffff);
}
+uint64_t EVENT::get_current_clock_uint64()
+{
+ return event_clocks;
+}
+
+uint32_t EVENT::get_cpu_clock(int index)
+{
+ if((index < 0) || (index >= MAX_CPU)) return 0;
+ return d_cpu[index].cpu_clocks;
+}
+
uint32_t EVENT::get_passed_clock(uint32_t prev)
{
uint32_t current = get_current_clock();
void request_skip_frames();
void touch_sound();
void set_realtime_render(DEVICE* device, bool flag);
-
+ uint64_t get_current_clock_uint64();
+ uint32_t get_cpu_clock(int index);
// unique functions
double get_frame_rate()
{
return event_manager->get_cpu_pc(index);
}
+uint64_t DEVICE::get_current_clock_uint64()
+{
+ if(event_manager == NULL) {
+ event_manager = vm->first_device->next_device;
+ }
+ return event_manager->get_current_clock_uint64();
+}
+
+uint32_t DEVICE::get_cpu_clock(int index)
+{
+ if(event_manager == NULL) {
+ event_manager = vm->first_device->next_device;
+ }
+ return event_manager->get_cpu_clock(index);
+}
+
void DEVICE::request_skip_frames()
{
if(event_manager == NULL) {
virtual int get_cur_vline();
virtual int get_cur_vline_clocks();
virtual uint32_t get_cpu_pc(int index);
+ virtual uint64_t get_current_clock_uint64();
+ virtual uint32_t get_cpu_clock(int index);
+
virtual void request_skip_frames();
virtual void set_frames_per_sec(double frames);
virtual void set_lines_per_frame(int lines);