Provenance icon indicating copy to clipboard operation
Provenance copied to clipboard

Support for compressed ROM/ISO formats

Open GoldenChaos opened this issue 6 years ago • 8 comments

My current PSX library, made up of uncompressed BIN/CUE files, takes up over 28GB. Some devices, like my Apple TV, don't even have enough space to support holding the whole library at once.

I believe there are ways to compress PSX disc images, but not in any format that Provenance would currently support. Added support for these types of compressed files would greatly reduce Provenance's storage footprint.

Cheers 🙂

APP VERSION

  • [x] 1.5 beta
    • [x] latest build (as of writing)
  • [ ] 1.4

APP SOURCE

  • [x] Provenance-Emu GitHub  (Official)
  • [ ] Other  (Unofficial)

INSTALLED BY

PLATFORM

  • [x] iPhone
  • [x] iPad
  • [x] Apple TV

iOS/tvOS VERSION

  • [x] Latest (11.3)
  • [ ] 10.x
  • [ ] 9.x
  • [ ] 8.x

🚫 We DO NOT support unofficial builds installed from 3rd-party sites. (Official Install)
Need help or have a suggestion? Join our Offiical Discord

GoldenChaos avatar Apr 26 '18 17:04 GoldenChaos

.cso support would be great. If PPSSPP core is integrated, it already supports that format, if I recall — we'd have to see about augmenting the other cores to work with it..

sevdestruct avatar Apr 26 '18 18:04 sevdestruct

The issue is less about emulator support and more about how Provenance handles archives during import. Currently any archives are uncompressed and extracted -- all that would need to change. But then we have the issue of how to load game info if the ROM is compressed - can't get an MD5 of a compressed file without decompressing it. There's a few things to sort out to get this feature done.

jasarien avatar Apr 26 '18 18:04 jasarien

I see. Right,MD5 would be an issue. PPSSPP still recognizes the ROM even when .cso and plays it from that image. I wonder if it has a fallback scrape assessing filename robustly…

sevdestruct avatar Apr 26 '18 19:04 sevdestruct

Probably not such an issue with disk image style ROMs, more of an issue for cores that support loading ROMs that are compressed in Zip or 7z archives.

jasarien avatar Apr 26 '18 19:04 jasarien

You can match CDs via headers and / or serials too, maybe you can do a partial decompress or do these compressed CD Formats retain header or serial data? These are questions that would need to be answered first.

JoeMatt avatar Apr 27 '18 19:04 JoeMatt

Depends on #872

JoeMatt avatar Apr 29 '18 00:04 JoeMatt

As far as I've seen, official Mednafen doesn't support CHD, but you can use bin/cue/iso with compressed audio files.

https://forum.fobby.net/index.php?t=msg&goto=5252&

I have no idea how to do this though I know we compile in OGG support. Mednafen might support gzips and zips natively too, there are decompression libs compiled in for both formats but we don't support importing compressed files.

We don't have a way to peak into zip files to extract the header data or file name. I'm sure it's possible, have to look into the zip libraries.

JoeMatt avatar Apr 29 '18 01:04 JoeMatt

Looks like with lzmaobjc we can open the 7zip without decompressing it and obtain the crc32 of the files, which the OpenDb does also have on top of md5. I can play with matching crcs and leaving zips zipped.

JoeMatt avatar Apr 29 '18 01:04 JoeMatt