mamedev / mame

MAME
https://www.mamedev.org/
Other
8.17k stars 2.02k forks source link

Better CHD or Bios missing message #1114

Open Catarax opened 8 years ago

Catarax commented 8 years ago

Mame is often confusing with CHD/Bios missing by what is it stated when a game can't launch. It lead people to look for CHD on games that don't have it at all (google is a good example).

My idea when the game can't start: => If the game is in the CHD list, display "Bios or CHD missing" (current message) => If the game is not in CHD list, display "Bios 'name' is missing"

seascape commented 8 years ago

Sounds like a good idea.

Would it be possible to take it further and specifically note which files are missing? MAME has a bit of a reputation for being tricky to troubleshoot when it comes to getting all required files for a complicated game in the correct places.

angelosa commented 3 years ago

MAME historically prints missing ROMs/CHD to stderr when audit fails.

mame senkosp
gdl-0038.chd NOT FOUND
315-6301.ic11 NOT FOUND (tried in segadimm senkosp naomigd)
317-unknown.pic NOT FOUND (tried in segadimm senkosp naomigd)
dimmspd.bin NOT FOUND (tried in segadimm senkosp naomigd)
dimmspd.bin NOT FOUND (tried in segadimm senkosp naomigd)
93c46.bin NOT FOUND (tried in segadimm senkosp naomigd)
Fatal error: Required files are missing, the machine cannot be run.

Arguably this doesn't happen when mame is launched without parameters plus the message it appears by using the internal UI isn't that useful, but for latter the idea of printing N lines that would eventually overflow in whatever box we give + no clipboard option sounds very uncomfortable to me.

cuavas commented 3 years ago

MAME actually does print the names of the missing files in the internal UI now if at least one file is found: image

If you have no ROM files for the machine at all, it won’t bother listing them all as missing: image

When this issue was opened, MAME didn’t list the missing files at all from the internal UI. The feature was implemented in a low-impact way, relying as much as possible on the audit code used for the -verifyroms verb. It could be better in a few ways:

angelosa commented 3 years ago

I'd love that the full message is printed on stderr too, imho it is very inconvenient that I need a new instance with mame foo from terminal.

cuavas commented 3 years ago

As of 0ba1d1db35e4b8370d58bdbe0a009cc7d9f28466 the messages are better:

As was previously the case, issues are only listed when you have at least one file. If you have no files for the selected system/software, it just gives the generic message.

image