) Stubs have to be in one single program header. Section packed, from 439350 to 162565 bytes, ratio = 63.00%Īll data written, writing program header.
#Sharkport v1 drivers ps2 save tools software
This is free software with ABSOLUTELY NO WARRANTY. PS2-Packer v0.3 (C) 2004 Nicolas "Pixel" Noble So, depending on your needs, just move the data around, to get the desired This will only work with the asm stubs though be careful when using it. The reload option is meant to forcibily relink the stub to another address. The second section contains the packed data, loaded at The first one willīe the uncruncher stub.
The output elf will contain two program sections. Will be forced to reside at a certain location. However, if you specify a base loading address on the command line, the data For example, with a stub loading atĠx1d00000, compressed data will be located *below* that address. In normal mode, the output elf will contain one program section. Now, you have to understand the mechanisms.
However, here is a list of alignments to know:Ĥ - 32-bits alignment, tricky, should on certain loaders.ġ6 - 128-bits alignment, normal, should work everywhere.Ĥ096 - supra-safe, this is the default alignment of binutils. r reload sets a reload base of the stub. Or stub/n2e-0088-stub when using alternative packing. It will activate the alternative packing way. b base sets the loading base of the compressed data. Your questions on 's forums and ps2-scene's forums. If you want to reach me, and find support about ps2-packer, either ask meĭirectly, by mail, or by reaching me on IRC (channel #ps2dev on EfNet), or ask
#Sharkport v1 drivers ps2 save tools code
This code was inspired by various sources, especially sjcrunch's main.c, and The only problem is it uses modified version of a lot of GPLed code, so. If you don't like it covered by GPL, just ask me, and we'll change Actually, I don't give a shit about licensesĪnd stuff. Would be better than lzo, and that it would be quite a challenge to get it Well, I wrote this piece of junk in one day, because Drakonite said me zlib ) Write a proper documentation about "how to write new modules". ) Changing current module design to pass on arguments. Tagging as 1.0rc1 since now it's mature enough.Ġ: fixed a bug causing a big crash with a zero-only section.
The input file has only one section, untested.Ħ: finally fixed that damn bss section bug.Īdded code to handle modules and stub in global path.Ħ: added module search path in argv as well.Ħ: added reload option, and used branches instead of jumps inĬreated lite version - see README-lite.txt for informations.ħ: lkz reported a bug in the lite version only - fixed.ĥ: added FlushCache(0) FlushCache(2) to be sure.Ħ: added n2e-kmode stub, and changed search path a bit.Ġ: fixed a stub loading bug reported by TyRaNiD.Ġ: adding a safety fix about zero-sized program headers. The input file has only one section (total of 416 bytes).Īdded a special "multiple sections" ucl-nrv2e asm only stub, used
Caution: may break things.Īdded a small code to remove the extra zeroes at the end of theĬleaning up ucl's uncrunching source code.Ĭhanged default to use n2e algorithm instead of zlib.Ĭhanged "memzero" in the stubs to a small asm version.Ĭhanging packer selection method (using prefix)Ĥ: fixed some alignments bugs, added alignment option.Ĭhanging ExecPS2 in stubs to a more ps2link-friendly thingy,Īdded n2e.S, 84 instructions ucl-nrv2e uncompression code.Īdded a special "one section" ucl-nrv2e asm only stub, used when Tagging as version 0.3b2 (yeah, okay, still a bit fast :D)Ĭhanging alignment of data sections to 0x80 instead of the Release of version 0.2 ? (yeah, okay, okay, a bit too fast.)ĥ: commenting the source, putting it into ps2dev's CVS.Ġ: removing error messages into zlib, saving a few bytes.Ģ: adding module capability to the whole, moved code into modules.Īdding "ucl" modules (n2b, n2d and n2e algos) Worked out an endian independant version. Release of version 0.1.1, included zlib, removing bloats ?Ĥ: disabled the buggy "fast" memzero in the stub It actually has a zlib module, a lzo module, three ucl modules (n2b, n2d and n2e) and a null module, for demo purpose only.ģ: release of version 0.1, first version. It has a modular design, so anybody can write any kind of module to it. Just like UPX, this tool is designed to help you create packed ELF to run on the PS2.