Puma Street Soccer PPM

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Created page with "{{FormatInfo |formattype=electronic |subcat=Graphics |extensions={{ext|ppm}} |released=~1998 }} Puma Street Soccer is a video game developed by Pixelstorm. It has an associate...")
 
(Format details)
 
Line 12: Line 12:
  
 
== Format details ==
 
== Format details ==
P.S.S. PPM is structurally the same as Netpbm PPM, except that the signature is "<code>PX</code>" instead of "<code>P6</code>". However, the images are apparently not interpreted in the same way. One possibility is that they are deliberately obfuscated.
+
P.S.S. PPM is structurally the same as Netpbm PPM, except that the signature is "<code>PX</code>" instead of "<code>P6</code>".
 +
 
 +
The images are lightly encrpyted with a repeating 255-byte ''xor'' key. The key can be found in some files that have a sufficient number of consecutive black pixels (such as the end of {{DiscMasterLink|view/22881/PC%20Action%20Issue%2080%20(Estate%201999).ISO/puma%20street%20soccer/data1.cab/Program_Executable_Files/data/texture_3d/Creol/_Thand_s.ppm|this file}}), or generated. The first key byte is 0xb5. To derive the next byte, right-shift the current byte by 1 bit, then if the bit that was shifted off was 1, xor with 0xb8.
  
 
== Identification ==
 
== Identification ==

Latest revision as of 13:48, 27 September 2025

File Format
Name Puma Street Soccer PPM
Ontology
Extension(s) .ppm
Released ~1998

Puma Street Soccer is a video game developed by Pixelstorm. It has an associated .PPM texture graphics format.

P.S.S. PPM is a variant of Netpbm binary PPM (P6) format.

It's not certain that this format is specific to Puma Street Soccer, but no other use has been found.

[edit] Format details

P.S.S. PPM is structurally the same as Netpbm PPM, except that the signature is "PX" instead of "P6".

The images are lightly encrpyted with a repeating 255-byte xor key. The key can be found in some files that have a sufficient number of consecutive black pixels (such as the end of this file), or generated. The first key byte is 0xb5. To derive the next byte, right-shift the current byte by 1 bit, then if the bit that was shifted off was 1, xor with 0xb8.

[edit] Identification

Files start with ASCII "PX", followed by a newline (0x0a).

In practice, the second line always seems to be a comment line. The following examples have been observed:

# Created by Paint Shop Pro
# Created by Paint Shop Pro 5
# Created by Jasc BatchMaster
# Created by Jasc Image Robot

It seems likely that these comments are misleading.

[edit] Sample files

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox