Results 1 to 5 of 5

Thread: repack .psarc

  1. #1
    Member
    Join Date
    Jun 2018
    Location
    Yugoslavia
    Posts
    38
    Thanks
    6
    Thanked 1 Time in 1 Post

    repack .psarc

    I've created perl script for re-packing .psarc (PS3 archives):

    https://gitlab.com/pklat/reiso/blob/master/re_arc.pm


    here are gains:
    BCUS98107-[Resistance Fall of Man] rar:15,587,203,458 repacked_7z: 9,231,446,065
    BCUS98120-[Resistance 2] rar:19,535,384,137 repacked_7z:12,079,047,655


    it works only with zlib for now; on linux, uses pigz.


    edit:
    cleaned it up, it uses dd mostly now.
    another example:

    <deleted>

    I've tried combining all three in one huge .7z thinking that developers might have used copy+paste, but there was no gain.
    I think 7z doesn't sort files well enough for solid.
    dictionary size: 1536M, lzma


    edit2:
    i've deleted third example, as the .rar had recovery record.


    edit3:
    added subdir because some archives lack .psarc extension.

    edit4:
    fixed some bugs (relative paths and manifest)

    edit5:
    should have used sort by extension -mqs

    edit:
    add 'fix' option for .psarc archives with trailing garbage. it saves 'tail' metadata into separate file (*.toc.t)

    edit:
    some .psarc dont use default zlib level (9), fixed it.
    Last edited by pklat; 6th October 2019 at 21:21. Reason: bugfix

  2. #2
    Member
    Join Date
    Jun 2018
    Location
    Yugoslavia
    Posts
    38
    Thanks
    6
    Thanked 1 Time in 1 Post
    guess someone already did it all:

    https://aluigi.altervista.org/quickbms.htm

    oh, well.

  3. #3
    Member
    Join Date
    Jun 2018
    Location
    Slovakia
    Posts
    171
    Thanks
    46
    Thanked 11 Times in 11 Posts
    @pklat,
    it´s possible to compress results further or it´s already compressed?

  4. #4
    Member
    Join Date
    Jun 2018
    Location
    Yugoslavia
    Posts
    38
    Thanks
    6
    Thanked 1 Time in 1 Post
    I don't understand the question.
    .psarc is a PS3 archive, it is already compressed, and the point here is same as in Precomp.
    that is, to unpack the .psarc, keep the metadata, and repack it with better compression and larger dictionary.
    so that later you can recreate identical .psarc

    the difference to Precomp is that this is done in 'file level'. so you can rearrange files (-mqs) to gain better compression.

    there can be significant gains ( like 30% ). but most data in PS3 games are videos, etc.
    if you got the PC version of same game, hopefully, some data files like textures would be identical if not similar so you could gain more by putting it all in giant solid .7z

    I've been planning to do it with .cab and similar
    someone else here already did it, but iirc hasn't released the source code.

  5. #5
    Member
    Join Date
    Aug 2014
    Location
    Argentina
    Posts
    536
    Thanks
    236
    Thanked 90 Times in 70 Posts
    You can always use a de-duplicator before 7z or RAR, like srep, or freearc -m0=rep. If you have memory enough, I believe this last method to be better. FA also lets you sort the files on different ways to put the similar ones closer.
    Deduplication improves radically the overall speed and almost always improves the ratio, sometimes greatly, especially in big archives.
    OTOH, You can replace 7z with FA altogether. There is another project that seems great for this but I haven't tried it yet: https://github.com/moinakg/pcompress

    In my personal case, I found the rep+fastlzma2 combination to be a perfect match to my needs. It usually gives me the same or better ratio than pure 7z but at least 2x faster, sometimes up to 20x faster.

Similar Threads

  1. Game.Repack.Maker
    By Shamil Khan in forum The Off-Topic Lounge
    Replies: 4
    Last Post: 1st August 2013, 04:17
  2. Games Repack
    By danswano in forum Data Compression
    Replies: 0
    Last Post: 25th March 2013, 04:10
  3. How to Compress Games (repack)
    By thenokiottos in forum Data Compression
    Replies: 4
    Last Post: 23rd August 2012, 23:04

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •