* Write unique game info to /tmp/GAMENAME
* Remove CD product code lookup, and crc32
* Remove product codes
/tmp/GAMENAME only uses file path and crc32
* Clean up
* Cleanup
* Only write CRC32 and or Product Code to /tmp/GAMEID
Realizing we already have the file path, this change writes the already calculated CRC32 and or game ID (N64 and PSX only) to /tmp/GAMEID. This ignores boot*.rom and cd_bios*.rom
CRC32: XXXXXXXX
Product Code: XXXXXXXXXXXX
* Clean up
* Update neogeo_loader.cpp
* Skip GAMEID for all BIOS files
* Guard behind log_file_entry ini option and clean up print statements
* Add MRA GAMEID support and improve GAMEID writing
MRA files use setname as serial
* Add MGL handling for /tmp/ STARTPATH, FULLPATH, CURRENTPATH, and FILESELECT
* Update mgl /tmp/ file handling
* Philips CD-i: Rewritten image handling
Added subchannel Q data
Added Table of Contents
Fixed differences between CUE and CHD
Fixed handling of data in pregap
* Philips CD-i: Add support for scrambled sectors
Fixes "The Apprentice (Europe)"
* Modifications to input handling to prevent held inputs from being
overridden by an alternate input mapped to the same button.
i.e. R-Type holding fire to charge special shot will not be
disrupted if a secondary fire button is pressed, autofire
or not.
* Modifications to input handling to prevent held inputs from being overridden by an alternate input mapped to the same button.
i.e. R-Type holding fire to charge special shot will not be
disrupted if a secondary fire button is pressed, autofire
or not.
* Prevent held inputs from being disrupted by alternate inputs.
i.e. in R-Type, if holding the fire button to charge a special shot,
tapping an alternately assigned fire button will not cause the charge
to stop.
* N64: Implement cheats
* Remove unused function
* Corrected byte mask condition (skip if 0xffffffff)
* Meow
* Final changes to make the parser compatible with gamehacking.org's cheat files.
* Revert back to old pointer convention.
N64 improvements. Split N64 save files into eep, sra, fla, mpk and tpk files.
Add "wide" tag detection to database, auto-switches to widescreen if found.
Prioritize N64-database_user.txt, so that people can override games already in the regular database file.
Honor order that rpak, cpak and tpak are written in database, for p1 controller.
* Fix: when extensions are less than 3 characters send NUL
Currently if the extension is less than 3 characters the last characters
of the filename will be sent to the FPGA. These are not consistent and
would not help the core establish what kind of file it is.
There are few ROMs with less than 3 characters, but they do exist (e.g.
.ws for WonderSwan). It is unclear reading the code how those are
handled outside of this specific function.
## Security considerations
This does not fix a buffer overflow as the code to get there would fail
if the complete filename would be less than 4 characters (e.g. the root
filesystem is read only).
## Testing
This has been tested with the happy path; the code at least works with
current files.
* Apply comment
* add n64 type
* use a custom loader for N64
This loader:
- converts little-endian and byte-swapped ROMs
- auto-detects ROM properties, this requires a N64-database.txt file in
the N64 games folder
Update Y/C Parser
- Added the Y/C tuned phase inc's into the yc.txt file.
- Fixed an issue with the parser handling spaces in the core name
Removed force SOG on CVBS / SVIDEO Modes
* C128: add support for .d71 and .g71 disk images
* C128: add creating or resizing tracks in .g64/.g71 images
* C128: change "1571" flag from bit 8 of lba to bit 10
* C128: fix second side of d71 images
* C128: small fix for gcr track end position detection
* C128: set track speed to 8 for MFM tracks
* C128: provide detected disk image type to core
* C128: add bit to indicate disk image GCR support
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.