* Override configuration based on video mode
Configuration options can now be overridden based on the core's video
mode.
The config parser now supports sections with names in the format
"video=WIDTHxHEIGHT[@VREFRESH]". When a core changes video mode, MiSTer
reloads the config file and checks for a section matching the new mode.
If one is found, the options in the section override options in the
MiSTer/core sections.
MiSTer will look for a section matching the width, height, and vertical
refresh rate first. If none is found, it will fall back to a section
matching the width and height but not specifying a refresh rate. If
there is still no match, no overrides will be used.
Also, VREFRESH must match exactly the output from video_info or the
logs. To match 720x400 31.48KHz 70.1Hz, the section title would need to
be [video=720x400@70.1].
* Move video section variables out of cfg_t
Include sync polarities in the UIO_SET_VIDEO command. Polarities are
specified in the high bits of the hsync and vsync values. 0 is
negative, 1 is positive.
Horizontal and vertical polarities can optionally be included as two
numbers at the end of custom modes. Again, 0 is negative, 1 is
positive.
This improvement allows the use of set 1 of keyboard scancodes, as well as the possibility of changing from one to another from the OS. Both core ao486 and new cores based on set 1 will benefit from this feature.
Thank you @naeloob for your cooperation and support in developing this feature.
Change filter reading code so that it stores all data as if it had 64 phases.
Support "adaptive" keyword in filter files which contain a second set of adaptive filters.
Send filters to core in one of the three supported formats.
Co-authored-by: Alexey Melnikov <pour.garbage@gmail.com>