diff options
author | 2022-09-01 14:51:42 -0400 | |
---|---|---|
committer | 2022-09-01 14:53:58 -0400 | |
commit | 67be13960b2fffa5460c3e5dbb0a7f9736b87d3e (patch) | |
tree | a9a6ebd24ae2173277864d80979d740d3049ff16 | |
parent | 4f49312c460f2b7ba31c7eaa3b65cce632e5bdd2 (diff) |
Validate slot cards only once per device type during 'quick' validation passes, which were taking rather long for some drivers (e.g. at.cpp)
-rw-r--r-- | src/emu/validity.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/emu/validity.cpp b/src/emu/validity.cpp index fa80e36d5f2..e2178c522f3 100644 --- a/src/emu/validity.cpp +++ b/src/emu/validity.cpp @@ -1870,6 +1870,7 @@ void validity_checker::validate_begin() m_defstr_map.clear(); m_region_map.clear(); m_ioport_set.clear(); + m_slotcard_set.clear(); // reset internal state m_errors = 0; @@ -2549,6 +2550,10 @@ void validity_checker::validate_devices(machine_config &config) if (slot->default_option() != nullptr && option.first == slot->default_option()) continue; + // if we need to save time, instantiate and validate each slot card type at most once + if (m_quick && !m_slotcard_set.insert(option.second->devtype().shortname()).second) + continue; + m_checking_card = true; device_t *card; { |