summaryrefslogtreecommitdiffstats
path: root/src/emu/diimage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/diimage.cpp')
-rw-r--r--src/emu/diimage.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/emu/diimage.cpp b/src/emu/diimage.cpp
index 6f01f8f26b5..2d192836ddd 100644
--- a/src/emu/diimage.cpp
+++ b/src/emu/diimage.cpp
@@ -26,6 +26,7 @@
#include <cctype>
#include <cstring>
#include <regex>
+#include <sstream>
//**************************************************************************
@@ -683,7 +684,24 @@ bool device_image_interface::load_software(software_list_device &swlist, std::st
else
filerr = m_mame_file->open(romp->name());
if (filerr)
+ {
m_mame_file.reset();
+ std::ostringstream msg;
+ util::stream_format(msg,
+ "%s: error opening image file %s: %s (%s:%d)",
+ device().tag(), romp->name(),
+ filerr.message(),
+ filerr.category().name(),
+ filerr.value());
+ if (!searchpath.empty())
+ {
+ msg << " (tried in";
+ for (auto const &path : searchpath)
+ msg << ' ' << path;
+ msg << ')';
+ }
+ osd_printf_error("%s\n", std::move(msg).str());
+ }
warningcount += verify_length_and_hash(m_mame_file.get(), romp->name(), romp->get_length(), util::hash_collection(romp->hashdata()));