Got a very early version of the tool running using the GroovyMAME SwitchRes modeline generator. Shows the emulation status as reported by MAME and an opinionated result for how well your monitor setup can display each game. Try changing the preset to something restrictive like ntsc, hit refresh, and notice how the results change.
https://yo1.dog/mameGenius/Repo:
https://github.com/yo1dog/mame-geniusI'm sure my C++ is terrible. First time touching it in 10 years or so.
Opinions are as follows and I'm sure they will need to be tweaked (can see in code form
here):
- if game is out of range: unsupported
- if fractional stretching is required (R_RES_STRETCH): bad support
- if interlacing is required: bad support
- if vfreq is greater than default threashold of 2.0 (R_V_FREQ_OFF): ok support
- if xdiff, ydiff, and vdiff are all 0: native support
- otherwise: good support
There is a known bug regarding machines for which MAME does not output certain required display properties such as pixel clock, hstart, hend, etc. This results in the video status being "Unknown". I assume there is some way for me to calculate these values from known values like width, refresh, etc. but I have not looked into it much yet.