libretro / libretro-super

Super repo for other libretro projects. Fetches, builds and installs.
MIT License
387 stars 274 forks source link

Clean up .info files #1797

Open Jarvik7 opened 4 months ago

Jarvik7 commented 4 months ago

This is primarily regarding the hashes for bioses. Currently the hashes are all smashed into a single notes line, which is hard to parse programmatically, and even harder to visually confirm that it is complete (many bios are missing hashes)

This is the first step of an intended cleanup with the end goal of having hashes for all bios, and separately a programmatically generated .dat file for each platform to enable users to easily gather the required bios (and only the required bios) for their platform.

Roadmap is as follows but there should be nothing stopping the immediate commit of this PR.

Roadmap: 1) Move hashes from notes line into separate firmware#_md5 or firmware#_sha1 lines for each bios definition 2) Create python script to generate master system.dat from folder of .info files 3) Add missing bios hashes and switch to sha1 4) Create additional python script to generate a platform-specific system.dat, e.g. dat for bios needed on cores for PSV retroarch build. This will use platform recipes to select the .info files to use

fpscan commented 4 months ago

Can you also do the samething here: https://github.com/libretro/libretro-core-info

zoltanvb commented 4 months ago

It does look more readable in the file, but this change with current RetroArch code will make the checksum values disappear from Information / Core Information after loading a core. Firmware checksums are not validated (at least not by RA, anyway, as far as I could check from https://github.com/libretro/RetroArch/blob/master/core_info.c ), but still this is a loss of information for the end user.

Note for anyone testing this, remove the core_info.cache file after updating .info files.