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.
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.
* round trip xml launch
* roms load
* removed debug
* added binary data and changed rom format
* changed hex format
* fixed bug
* added structure and start/length
* removed base64 support
* removed base64 support
* fixed parsing bugs
* fixed hex parse bug
* fixed parser
* fixing paths
* fixed rbf parser
* fixed initialization bug
* fixed extension removal for when there are multiple extension options
* fixed core path and cleaned up filelength
* added md5 checks to arcade roms
* fixed rbf search
* added error support
* Simplify error checking code
* fixed arcade error message pop up
* fixed bug in part zip initialization
* removed dtdt
* don't load second rom0 if first works
* fixed directory problem
* added more comments
* added / to zip path
* fixed / bug, truncate mame zip error message
* fixed scrolling RBF
* fixed scrolling name and error message
* added code to remove _date in scrolling text
* remove redundant /
[MiSTer]
; lastcore - Autoboot the last loaded core (corename autosaved in CONFIG/lastcore.dat) first found on the SD/USB
; lastexactcore - Autoboot the last loaded exact core (corename_yyyymmdd.rbf autosaved in CONFIG/lastcore.dat) first found on the SD/USB
; corename - Autoboot first corename_*.rbf found on the SD/USB
; corename_yyyymmdd.rbf - Autoboot first corename_yyyymmdd.rbf found on the SD/USB
;bootcore=lastcore ; uncomment to autoboot a core, as the last loaded core.
bootcore_timeout=10 ; 10-30 timeout before autoboot, comment for autoboot without timeout.
Schedules tasks in the main loop using coroutines so that long running
tasks, particularly relating to the UI, can yield execution in order to
call the poll functions at a tighter interval.
Pin the MiSTer process to core #1 in order to stay clear of the hardware
interrupt handlers running in the Linux kernel on core #0. This gives a
consistent improvement in the main loop cycle time of about 6-7x.