summaryrefslogtreecommitdiffstatshomepage
path: root/src/frontend/mame/ui/info.cpp
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2020-10-21 00:07:57 +1100
committer Vas Crabb <vas@vastheman.com>2020-10-21 00:07:57 +1100
commit1532827ccfb6977be8fc6e0a23d0b86025ba6ff6 (patch)
tree497382a29c3c4ee1860cb52d995fdcd3039518d5 /src/frontend/mame/ui/info.cpp
parent7135b4deb1e279bbdff896b9b2a0c51579501c44 (diff)
frontend: Only populate BIOS Selection menu with system and slot cards that actually have BIOS options (addresses crash in MT06675).
Diffstat (limited to 'src/frontend/mame/ui/info.cpp')
-rw-r--r--src/frontend/mame/ui/info.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/frontend/mame/ui/info.cpp b/src/frontend/mame/ui/info.cpp
index 8f1260d7815..6f30eea66f6 100644
--- a/src/frontend/mame/ui/info.cpp
+++ b/src/frontend/mame/ui/info.cpp
@@ -93,10 +93,15 @@ machine_static_info::machine_static_info(const ui_options &options, machine_conf
m_imperfect_features |= device.type().imperfect_features();
// look for BIOS options
- for (tiny_rom_entry const *rom = device.rom_region(); !m_has_bioses && rom && !ROMENTRY_ISEND(rom); ++rom)
+ device_t const *const parent(device.owner());
+ device_slot_interface const *const slot(dynamic_cast<device_slot_interface const *>(parent));
+ if (!parent || (slot && (slot->get_card_device() == &device)))
{
- if (ROMENTRY_ISSYSTEM_BIOS(rom))
- m_has_bioses = true;
+ for (tiny_rom_entry const *rom = device.rom_region(); !m_has_bioses && rom && !ROMENTRY_ISEND(rom); ++rom)
+ {
+ if (ROMENTRY_ISSYSTEM_BIOS(rom))
+ m_has_bioses = true;
+ }
}
// if we don't have ports passed in, build here