libretro / beetle-supergrafx-libretro

Standalone port of Mednafen PCE Fast to libretro. This one only emulates a SuperGrafx TG-16.
GNU General Public License v2.0
22 stars 31 forks source link

Compressed Formats Writing Temporary Files to Disk #122

Closed 0x90shell closed 2 years ago

0x90shell commented 2 years ago

Currently, compressed formats will have temporary files extracted to disk, even if the load in memory core settings are used. This is due to the core setting "need_fullpath" being set to "true."

In June 2021, RA 1.9.5 added per file extension "need_fullpath" overrides to the API. If there is a reason this cannot be set to false for specific files (bin/cue, chd, etc), the "RETRO_ENVIRONMENT_SET_CONTENT_INFO_OVERRIDE" function can be utilized. Additionally, the "RETRO_ENVIRONMENT_GET_GAME_INFO_EXT" function can be utilized to obtain the metadata for compressed formats to find the underlying ROM extension.

By setting "need_fullpath" to false by default, compressed ROM files can be loaded directly into memory rather than extracting temporary copies to disk. This also allows soft-patching and run ahead to be utilized more efficiently. For reference, this functionality was added in the 2 other libretro PCE cores already.

References: libretro/RetroArch#12473 https://github.com/libretro/beetle-pce-fast-libretro/pull/189 https://github.com/libretro/beetle-pce-libretro/pull/26 https://www.libretro.com/index.php/retroarch-1-9-5-released/

negativeExponent commented 2 years ago

this should be fixed when PR gets merged....