diff options
| author | 2018-02-13 10:53:20 +0100 | |
|---|---|---|
| committer | 2018-02-13 10:55:23 +0100 | |
| commit | 5f215ff7d4100851fefc74bbfb8a2e89474a7fab (patch) | |
| tree | 80c2a52520e3250015b47f7b98a0f39b8423b6f1 /src/emu/machine.cpp | |
| parent | 3b421603ec3dcd85df4074cd9ad3dc75ac70f59f (diff) | |
Fixes (nw)
Diffstat (limited to 'src/emu/machine.cpp')
| -rw-r--r-- | src/emu/machine.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/emu/machine.cpp b/src/emu/machine.cpp index 2fa926afb15..a1bd50bc3d1 100644 --- a/src/emu/machine.cpp +++ b/src/emu/machine.cpp @@ -223,6 +223,10 @@ void running_machine::start() // initialize the streams engine before the sound devices start m_sound = std::make_unique<sound_manager>(*this); + // resolve objects that can be used by memory maps + for (device_t &device : device_iterator(root_device())) + device.resolve_pre_map(); + // configure the address spaces, load ROMs (which needs // width/endianess of the spaces), then populate memory (which // needs rom bases), and finally initialize CPUs (which needs @@ -251,6 +255,10 @@ void running_machine::start() manager().create_custom(*this); + // resolve objects that are created by memory maps + for (device_t &device : device_iterator(root_device())) + device.resolve_post_map(); + // register callbacks for the devices, then start them add_notifier(MACHINE_NOTIFY_RESET, machine_notify_delegate(&running_machine::reset_all_devices, this)); add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(&running_machine::stop_all_devices, this)); @@ -1007,10 +1015,6 @@ void running_machine::logfile_callback(const char *buffer) void running_machine::start_all_devices() { - // resolve objects first to avoid messy start order dependencies - for (device_t &device : device_iterator(root_device())) - device.resolve_objects(); - m_dummy_space.start(); // iterate through the devices |
