Open jotego opened 3 years ago
i will think how to improve it. But wrong syntax in MRA should be a MRA developer responsibility and it should be monitored in debug log (or some other ways). User should get a correct MRA.
OSD is not suitable for debugging in general. It cannot output a history. So only one warning/error possible. It also can be interfered by other infos like video mode info or input assignment info.
There were some issues that prevented the error messages to be shown. The current release will now show a message on screen if a file cannot be found or the MD5 does not match.
There are still users asking every week about cores not booting and seeing only a blank screen. They typically are missing the right MAME zip so MiSTer isn't loading it but they don't get to see any message.
Maybe missing a file listed in the MRA should cause a permanent on-screen message so the user will have clear feedback of what the problem is.
There is currently an error message for that and I've seen it before, but it doesn't say that the whole zip is missing, just I think the last file that it unsuccessfully loaded from the archive. If you want to test and see the message it gives just remove one of the needed files from the mame zip and load the mra again.
Users too often complain about blank screens. In pretty much all cases, a blank screen means that MiSTer has not been able to load the ROM.
MiSTer at the moment provides no feedback about this. I have run these tests:
-Provide a wrong CRC for a
<part>
: no message -Provide a wrong MD5 for a<rom>
: no message -No ROM zip: no message -Syntax error in<switches>
or<buttons>
: no messageEven without a ROM file at all, the FPGA core video system is completely boot up and ready (at least in my cores). The OSD is completely functional. MiSTer can use the OSD to display feedback about the situations above. It could happen that the monitor takes a few seconds to adjust to a resolution change -or to resync after the FPGA gets programmed- so the error information should be there for several seconds (10s?)
Could we get some error management in the firmware to inform the user through the OSD about what's going on?
Thank you