Endless Paradigm

Full Version: recompress PRX files
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
sooooo when will a tut come out?
diego_429 Wrote:sooooo when will a tut come out?

there are tuts look through the thread.
its just they are so confusing I want a real n00b proof tut,
Some infos about my PRX compressor project.

What you can do with the program now:
- load an original compressed 3.5x M33 prx to use as header (0x0 - 0x150). That means no need for frmware selector, you get the final prx for the same M33 firmware as your original prx was.
- load a decompressed prx (elf) to use as the data
- select gzip compression level
- compress the data part with the selected level
- the program keeps all of your original files, doesn't overwrite anything (gzip normally deletes the original file after the compression)

Things that surely will implemented in the first release (to do list):
- merge the header and the compressed part to the final prx
- 'Force dunno part' option: force to use the 4 bytes from vshmain.prx (0x130 - 0x132) "dunno" name from bstronga ;)
- filename difference checking: if you load paf.prx as header and a 'vsh.prx' named file as data, the program will warn you, but let you use the selected files
- maybe compression rate infos: original data x bytes, compressed data y bytes, gained z bytes or w% or something like that

And in the second version I will implement a decompressor. I believe it's not so important in the first release.

Release date? Tomorrow. Any ideas, suggestions are welcome.
good news . . . I just hope it works and gets realeased on time.
s_king Wrote:- the program keeps all of your original files, doesn't overwrite anything (gzip normally deletes the original file after the compression)

Release date? Tomorrow. Any ideas, suggestions are welcome.
I hope you're using zlib to do deflation, right? :P
Double post
By the way, for anyone interested, the following is taken from gopez's PSP Documentation:

26.5 PSP

start end size description
0x00   3    4  '~PSP'
0x04        2  attribute

               1 SCE_MODULE_ATTR_CANT_STOP
               2 SCE_MODULE_ATTR_LOAD
               4 SCE_MODULE_ATTR_START

0x06        2  comp_attribute

               1 FLAG_COMPRESS
               2 FLAG_NORELOC (ie. norel=PFX; rel=PRX)

0x08        1  module version lo
0x09        1  module version hi
0x0a       28  name
0x26        1  fileformat version (=1)
0x27        1  nsegments
0x28        4  elf_size (unencrypted)
0x2c        4  psp_size (encrypted)
0x30        4  entry
0x34        4  modinfo_offset (high 8 bits are substracted from low 24 bits)
0x38        4  bss_size
0x3c           alignment (4 16bit values)
0x44           address (4 32bit values)
0x54           size (4 32bit values)
0x64           ? (6 32bit values)
0x7c        1  type
0x7d        3  ? (3 8bit values)
0x80      0x30 ?
0xb0        4  elf_size_comp; (*1) psp_size - 0x150 ( == elf_size if uncompressed file)
0xb4        4  ? always 0x00000080 ?
0xb8      0x18 ? always 0x00 ?
0xd0        4  ID ?
0xd4      0x7c ?

*1) elf_size_comp is the size of the compressed elf; if the file is not compressed, it is equal to elf_size; rounded up
to the next align boundary, is equal to psp_size - 0x150
wow gopez' doc is much more completed!
Takeshi's PRXRecomp new version is here!!!

[Image: PRXRecomp.png]

By the way For Takeshi if he reads it : Can you PM me? It's about VSH.PRX Editor french translation.
YES THANK YOU VERY MUCH!
Looks like Takeshi updated his program based completely on my ideas and plans. I stopped to finish my version, because there's no need to make a program what is doing exactly the same as another one.

Anyway, nice release, Takeshi. Good work!
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
Reference URL's