summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/image.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/image.c')
-rw-r--r--src/emu/image.c25
1 files changed, 14 insertions, 11 deletions
diff --git a/src/emu/image.c b/src/emu/image.c
index 4ae8057cec8..943ab30e4fe 100644
--- a/src/emu/image.c
+++ b/src/emu/image.c
@@ -237,21 +237,24 @@ void image_device_init(running_machine &machine)
}
}
}
+}
+
+/*-------------------------------------------------
+ image_mandatory_scan - search for devices which
+ need an image to be loaded
+ -------------------------------------------------*/
+astring &image_mandatory_scan(running_machine &machine, astring &mandatory)
+{
+ mandatory.reset();
+ // make sure that any required image has a mounted file
+ image_interface_iterator iter(machine.root_device());
for (device_image_interface *image = iter.first(); image != NULL; image = iter.next())
{
- /* is an image specified for this image */
- image_name = image->filename();
-
- if (!((image_name != NULL) && (image_name[0] != '\0')))
- {
- /* no image... must this device be loaded? */
- if (image->must_be_loaded())
- {
- fatalerror_exitcode(machine, MAMERR_DEVICE, "Driver requires that device \"%s\" must have an image to load", image->instance_name());
- }
- }
+ if (image->filename() == NULL && image->must_be_loaded())
+ mandatory.cat("\"").cat(image->instance_name()).cat("\", ");
}
+ return mandatory;
}
/*-------------------------------------------------