running_machine::running_machine(const machine_config &_config, machine_manager &manager) : firstcpu(NULL), primary_screen(NULL), debug_flags(0), romload_data(NULL), ui_input_data(NULL), debugcpu_data(NULL), generic_machine_data(NULL), m_config(_config), m_system(_config.gamedrv()), m_manager(manager), m_current_phase(MACHINE_PHASE_PREINIT), m_paused(false), m_hard_reset_pending(false), m_exit_pending(false), m_soft_reset_timer(NULL), m_rand_seed(0x9d14abd7), m_ui_active(_config.options().ui_active()), m_basename(_config.gamedrv().name), m_sample_rate(_config.options().sample_rate()), m_saveload_schedule(SLS_NONE), m_saveload_schedule_time(attotime::zero), m_saveload_searchpath(NULL), m_save(*this), m_memory(*this), m_ioport(*this), m_parameters(*this), m_scheduler(*this) { memset(&m_base_time, 0, sizeof(m_base_time)); // set the machine on all devices device_iterator iter(root_device()); for (device_t *device = iter.first(); device != NULL; device = iter.next()) device->set_machine(*this); // find devices for (device_t *device = iter.first(); device != NULL; device = iter.next()) if (dynamic_cast<cpu_device *>(device) != NULL) { firstcpu = downcast<cpu_device *>(device); break; } screen_device_iterator screeniter(root_device()); primary_screen = screeniter.first(); //MKCHAMP--initialize the cpu for hiscore cpu[0] = firstcpu; for (cpunum = 1; cpunum < ARRAY_LENGTH(cpu) && cpu[cpunum - 1] != NULL; cpunum++) cpu[cpunum] = cpu[cpunum - 1]->next(); // fetch core options if (options().debug()) debug_flags = (DEBUG_FLAG_ENABLED | DEBUG_FLAG_CALL_HOOK) | (DEBUG_FLAG_OSD_ENABLED); }
running_machine::running_machine(const machine_config &_config, osd_interface &osd, bool exit_to_game_select) : firstcpu(NULL), primary_screen(NULL), palette(NULL), pens(NULL), colortable(NULL), shadow_table(NULL), priority_bitmap(NULL), debug_flags(0), memory_data(NULL), palette_data(NULL), tilemap_data(NULL), romload_data(NULL), input_data(NULL), input_port_data(NULL), ui_input_data(NULL), debugcpu_data(NULL), generic_machine_data(NULL), generic_video_data(NULL), generic_audio_data(NULL), m_config(_config), m_system(_config.gamedrv()), m_osd(osd), m_regionlist(m_respool), m_save(*this), m_scheduler(*this), m_cheat(NULL), m_render(NULL), m_input(NULL), m_sound(NULL), m_video(NULL), m_debug_view(NULL), m_driver_device(NULL), m_current_phase(MACHINE_PHASE_PREINIT), m_paused(false), m_hard_reset_pending(false), m_exit_pending(false), m_exit_to_game_select(exit_to_game_select), m_new_driver_pending(NULL), m_soft_reset_timer(NULL), m_rand_seed(0x9d14abd7), m_ui_active(false), m_basename(_config.gamedrv().name), m_sample_rate(_config.options().sample_rate()), m_logfile(NULL), m_saveload_schedule(SLS_NONE), m_saveload_schedule_time(attotime::zero), m_saveload_searchpath(NULL), m_logerror_list(m_respool) { memset(gfx, 0, sizeof(gfx)); memset(&generic, 0, sizeof(generic)); memset(&m_base_time, 0, sizeof(m_base_time)); // set the machine on all devices const_cast<device_list &>(devicelist()).set_machine_all(*this); // find the driver device config and tell it which game m_driver_device = device<driver_device>("root"); if (m_driver_device == NULL) throw emu_fatalerror("Machine configuration missing driver_device"); // find devices primary_screen = downcast<screen_device *>(devicelist().first(SCREEN)); for (device_t *device = devicelist().first(); device != NULL; device = device->next()) if (dynamic_cast<cpu_device *>(device) != NULL) { firstcpu = downcast<cpu_device *>(device); break; } // fetch core options if (options().debug()) debug_flags = (DEBUG_FLAG_ENABLED | DEBUG_FLAG_CALL_HOOK) | (options().debug_internal() ? 0 : DEBUG_FLAG_OSD_ENABLED); }
running_machine::running_machine(const machine_config &_config, osd_interface &osd, bool exit_to_game_select) : firstcpu(NULL), primary_screen(NULL), palette(NULL), pens(NULL), colortable(NULL), shadow_table(NULL), debug_flags(0), palette_data(NULL), romload_data(NULL), ui_input_data(NULL), debugcpu_data(NULL), generic_machine_data(NULL), m_config(_config), m_system(_config.gamedrv()), m_osd(osd), m_cheat(NULL), m_render(NULL), m_input(NULL), m_sound(NULL), m_video(NULL), m_tilemap(NULL), m_debug_view(NULL), m_current_phase(MACHINE_PHASE_PREINIT), m_paused(false), m_hard_reset_pending(false), m_exit_pending(false), m_exit_to_game_select(exit_to_game_select), m_new_driver_pending(NULL), m_soft_reset_timer(NULL), m_rand_seed(0x9d14abd7), m_ui_active(_config.options().ui_active()), m_basename(_config.gamedrv().name), m_sample_rate(_config.options().sample_rate()), m_logfile(NULL), m_saveload_schedule(SLS_NONE), m_saveload_schedule_time(attotime::zero), m_saveload_searchpath(NULL), m_logerror_list(m_respool), m_save(*this), m_memory(*this), m_ioport(*this), m_scheduler(*this), m_lua_engine(*this) { memset(gfx, 0, sizeof(gfx)); memset(&m_base_time, 0, sizeof(m_base_time)); // set the machine on all devices device_iterator iter(root_device()); for (device_t *device = iter.first(); device != NULL; device = iter.next()) device->set_machine(*this); // find devices for (device_t *device = iter.first(); device != NULL; device = iter.next()) if (dynamic_cast<cpu_device *>(device) != NULL) { firstcpu = downcast<cpu_device *>(device); break; } screen_device_iterator screeniter(root_device()); primary_screen = screeniter.first(); // fetch core options if (options().debug()) debug_flags = (DEBUG_FLAG_ENABLED | DEBUG_FLAG_CALL_HOOK) | (options().debug_internal() ? 0 : DEBUG_FLAG_OSD_ENABLED); }