Added `cfg_error` function for reporting errors in the ini.
Report errors when parsing video_mode information.
Report out of bounds settings.
Report unknown settings.
Detect numeric parse failures.
Reduce cost of setting video mode information when using
vsync_adjust=1/2 or vscale_mode=4/5 from 90ms to 5ms (worst case, most
instances are less than 1ms).
Split video initialization into video_init and video_set_mode.
video_init is called once, video_set_mode is called whenever the mode
changes.
Split hdmi_config into hdmi_config_init and hdmi_config_set_mode. Same
as video_, hdmi_config_init does the bulk of the initialization,
hdmi_config_set_mode is just for parameters that can change based on the
mode.
Load video filter data in loadScalerCfg and persist it.
Calculate a digest for scaler data and use that to determine whether new
data needs to be sent.
Only send gamma information if the filename has changed.
Offload fb module parameter writing to a separate thread via the new
offload system.
Reduce the amount of work being done in set_vrr_mode when vrr is
disabled.
A key combo, Meta (Win) + Scroll Lock was added
to allow cores using PS/2 to access the Scroll
Lock.
Num Lock (EMU_SWITCH_2) was previously excluded,
this has been re-enabled when using the Meta key
modifier.
Meta+Scroll Lock previously took a screenshot.
This is no longer possible, when that key combo
is used for keyboard emuation mode. A screenshot
must be taken with either:
Meta+Print Screen or Alt+Scroll Lock.
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.
windows - PrintScrn will output the image scaled to the output resolution of the scaler. Windows - LSHIFT - PrintScrn will save the original size from the core.