diff options
author | Pixel <Pixel> | 2002-05-23 15:33:08 +0000 |
---|---|---|
committer | Pixel <Pixel> | 2002-05-23 15:33:08 +0000 |
commit | fb6f3fced44619d951decf143b24ae5c66406679 (patch) | |
tree | c94f9cd98ecd447de0e3d62b29238b79d14b9c87 | |
parent | bdbd7e1296b98081794e0b185a0b8b677c811359 (diff) |
Pwet...
-rw-r--r-- | AUTHOR | 5 | ||||
-rw-r--r-- | FAQ.lz77 | 42 |
2 files changed, 40 insertions, 7 deletions
@@ -1,4 +1,3 @@ The PSX-Tools Bundle Pack is principaly written by me, Nicolas "Pixel" -Noble. But those tools were derivated from code by Yazoo, who took code -from cdrdao. - +Noble. But some tools were derivated from code by Yazoo, who took some +code from cdrdao. @@ -119,7 +119,8 @@ A: It's quite easy. The computation formula is the following: Q: What are the others parameters? A: You have: - 1iscomp overlap negative 16bits opposite + 1iscomp overlap negative 16bits ptrb + filling inverse onejump window This will change the behaviour of the compression/decompression algorithm. @@ -135,9 +136,24 @@ A: You have: using 16 bits words instead of 8 bits words. And thus, the compression algorithm is more difficult. As for now, it's broken. - The opposite behavior is to compute the jump offset in a different way. - Instead of taking it as the backward jump value, it will be an offset - from the maximum backward jump possible. + The ptrb means "pointer behavior". It can take the value 0, 1 or 2. The + behavior '0' is the common one: the jump is the number of bytes to + count back to find the start of the needle to copy. The '1' is to tell + the jump is an offset from the maximum backward jump possible (ie + from the start point of the window). The '2' is a very dumb behavior: + it tells that the jump is the absolute offset. The window *won't* slide. + + The filling option activates the RLE behavior. + + The inverse is a boolean to tell to reverse the order of the bits in the + bitmaps + + The onejump tells to add one to the final jump value. Some streams are + shifted by one because by default, a jump of 0 means nothing. So it + is dumb to miss one possible backward jump. + + The window offset tells the absolute window start for the 2th pointer + behavior. Yeah, this is necessary. Coders of Metal Max are pretty crazy. @@ -205,3 +221,21 @@ A: Well, for the decompressor, it's not really necessary, because it won't algorithm used by the game *maybe* is able to handle them. + +Q: What is the filling thing? +A: It's an RLE like behavior. In Valkyrie Profile, when the length hit the + maximum value, then it means it's a RLE block, and not a restart block. + That's why you've got the eight options: + + + fmask1 fshft1 fmask2 fshft2 vmask1 vshft1 vmask2 vshft2 + + Basically, they are the same as the {j,l}{mask,shft}{1,2} options, but + this time you tell where to find the 'value' which has to be copied, + and the 'filling', ie the number of times this value will be copied. + + +Q: What is the 2th filling behaviour? +A: Get out of here. It's a ugly ugly ugly hack. Forget it. Now! + + |