Fastgraph Pixel Run Format

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
m (Jsummers moved page PRF (Fastgraph) to Fastgraph Pixel Run Format: No evidence found that Fastgraph uses the "PRF" abbreviation)
m (Sample files)
 
(3 intermediate revisions by one user not shown)
Line 2: Line 2:
 
|formattype=electronic
 
|formattype=electronic
 
|subcat=Graphics
 
|subcat=Graphics
|extensions={{ext|prf}}
+
|extensions={{ext|spr}}, {{ext|ppr}}, {{ext|prf}}
 
|released=≤1991
 
|released=≤1991
 
}}
 
}}
'''PRF''' ('''Pixel Run Format''', or maybe '''Pixel Run File''') is an obscure bitmap image format associated with the ''Fastgraph'' graphics toolkit from Ted Gruber Software. It is also supported by the early-1990s-era ''IMPROCES'' software by John Wagner.
+
'''Fastgraph Pixel Run Format''' and '''Fastgraph Packed Pixel Run Format''' are raster graphics formats associated with the ''Fastgraph'' and ''Fastgraph/Light'' graphics toolkits from Ted Gruber Software. In this article, we'll use the abbreviation ''PRF'' to refer to the formats.
  
 
== Discussion ==
 
== Discussion ==
The IMPROCES documentation says:
+
The preferred filename extensions seem to be '''.SPR''' (probably for ''Standard'' Pixel Run) and '''.PPR''', though others are also used.
<blockquote>The PRF format is really of use only to programmers who use Fastgraph. I don't recommend using PRF for storing your images if you aren't going to use them in a Fastgraph program. There is no palette information stored with the PRF file.</blockquote>
+
  
As if that weren't enough to discourage you from going anywhere near PRF, it also says:
+
Though the product is named "Fastgraph", some filenames use the string "FASTGRAF".
<blockquote>NOTE: Unregistered users of IMPROCES may not use Pixel Run Format files created with IMPROCES in their programs, whether they are registered users of Fastgraph or not.</blockquote>
+
 
 +
PRF is mainly for programmers. The Fastgraph package does include some DOS utilities (SNAPSHOT.EXE, CLIP.EXE, etc.) that use it.
 +
 
 +
== Format details ==
 +
The PRF formats are [[raw bitmap]] formats, albeit compressed. They generally require external information in order to decode them usefully. The entire file consists of compressed image data. The rows are ordered from bottom up.
 +
 
 +
It is possible for an encoder to make a file more portable by stashing extra data in it, using run counts of 0.
 +
 
 +
'''Pixel Run Format''': 8 bits per pixel. The file consists of pairs of bytes. The first byte of a pair is the color value, and the second is the repeat count.
 +
 
 +
'''Packed Pixel Run Format''': 4 bits per pixel. The file consists of triplets of bytes. The first byte of three contains two color values, the second is the repeat count for one of the colors, and the third is the repeat count for the other color.
  
 
== Identification ==
 
== Identification ==
PRF files apparently begin with (hex) bytes {{magic|46 00 41 00 53 00 54 00 47 00 52 00 41 00 46 00}}.
+
There's no good way to identify an SPR or PPR file based on its contents.
 +
 
 +
However, there is a profile of SPR, apparently associated with IMPROCES, which starts with a 16-byte signature: (hex) bytes {{magic|46 00 41 00 53 00 54 00 47 00 52 00 41 00 46 00}}.
 +
 
 +
There is also an identifiable profile of PPR used by [[Young Picasso]].
 +
 
 +
== Software ==
 +
* Fastgraph/Light [1991-05-31]: {{CdTextfiles|swextrav1993/disk1/grprogs/fgl10_a.zip|part 1}}, {{CdTextfiles|wextrav1993/disk1/grprogs/fgl10_b.zip|2}}, {{CdTextfiles|swextrav1993/disk1/grprogs/fgl10_c.zip|3}}
 +
* Fastgraph/Light [1991-10-05]: {{CdTextfiles|swextrav1993/disk1/grprogs/fgl105a.zip|part 1}}, {{CdTextfiles|swextrav1993/disk1/grprogs/fgl105b.zip|2}}, {{CdTextfiles|swextrav1993/disk1/grprogs/fgl105c.zip|3}}
 +
* IMPROCES (v2.0+) - Image processing software for DOS that supports PRF
 +
** {{CdTextfiles|swextrav1993/disk1/grprogs/improc20.zip|v2.0}}
 +
** {{CdTextfiles|swextrav1993/disk1/grprogs/improc21.zip|v2.1}}
 +
** {{CdTextfiles|daytime/020a/improc22.zip|v2.2}}
 +
** {{CdTextfiles|swextrav1993/disk1/grprogs/improc23.zip|v2.3}}
 +
** {{CdTextfiles|swextrav1993/disk1/grprogs/improc24.zip|v2.4}}
 +
** {{CdTextfiles|nightowl/nopv06/020A/IMPROC30.ZIP|v3.0}}
 +
** {{CdTextfiles|/eagleeye/GRAF_APP/IMPROC31.ZIP|v3.1}}
 +
** {{CdTextfiles|simtel0692/MSDOS/GRAPHICS/IMPROC32.ZIP|v3.2}}
 +
** {{CdTextfiles|smsharew2/GRAPHICS/IMPROC40.ZIP|v4.0}}
 +
** {{CdTextfiles|somuch/smsharew3/GRAPHICS/IMPROC41.ZIP|v4.1}}
 +
** {{CdTextfiles|simtel/simtel20/MSDOS/GRAPHICS/IMPROC42.ZIP|v4.2}}
 +
** {{CdTextfiles|swextrav1993/disk1/grprogs/improces.exe|improces.exe}} - Original version? (For reference; does not support PRF.)
  
 
== Sample files ==
 
== Sample files ==
* https://telparia.com/fileFormatSamples/image/fastgraphPRF/
+
* {{DexvertSamples|image/fastgraphPRF}}
 +
* {{CdTextfiles|swextrav1993/disk1/grprogs/fgl105c.zip|fgl105c.zip}} → CORAL.*
 +
* {{CdTextfiles|swextrav1993/disk1/grprogs/fgdemo10.zip|fgdemo10.zip}} → CASINO.PPR
 +
* {{CdTextfiles|swextrav1993/disk1/grprogs/fg_xmas.zip|fg_xmas.zip}} → XMAS.PPR
 +
* {{CdTextfiles|simtel/simtel0595/DISC1/EDUCATIN/ADDALOTM.ZIP|ADDALOTM.ZIP}} → ADDALOTM.002 ([[LHA/LHarc self-extracting archive]]) → *.prf
  
 
== Links ==
 
== Links ==
* IMPROCES (MS-DOS software; distributed as shareware)
+
* [http://www.fastgraph.com/ Fastgraph website]
** [http://cd.textfiles.com/swextrav1993/disk1/grprogs/improc20.zip v2.0]
+
** [http://cd.textfiles.com/swextrav1993/disk1/grprogs/improc21.zip v2.1]
+
** [http://cd.textfiles.com/daytime/020a/improc22.zip v2.2]
+
** [http://cd.textfiles.com/swextrav1993/disk1/grprogs/improc23.zip v2.3]
+
** [http://cd.textfiles.com/swextrav1993/disk1/grprogs/improc24.zip v2.4]
+
** [http://cd.textfiles.com/nightowl/nopv06/020A/IMPROC30.ZIP v3.0]
+
** [http://cd.textfiles.com/eagleeye/GRAF_APP/IMPROC31.ZIP v3.1]
+
** [http://cd.textfiles.com/simtel0692/MSDOS/GRAPHICS/IMPROC32.ZIP v3.2]
+
** [http://cd.textfiles.com/smsharew2/GRAPHICS/IMPROC40.ZIP v4.0]
+
** [http://cd.textfiles.com/somuch/smsharew3/GRAPHICS/IMPROC41.ZIP v4.1]
+
** [http://cd.textfiles.com/simtel/simtel20/MSDOS/GRAPHICS/IMPROC42.ZIP v4.2]
+
* [https://www.fastgraph.com/ Fastgraph website]
+

Latest revision as of 19:34, 16 February 2024

File Format
Name Fastgraph Pixel Run Format
Ontology
Extension(s) .spr, .ppr, .prf
Released ≤1991

Fastgraph Pixel Run Format and Fastgraph Packed Pixel Run Format are raster graphics formats associated with the Fastgraph and Fastgraph/Light graphics toolkits from Ted Gruber Software. In this article, we'll use the abbreviation PRF to refer to the formats.

Contents

[edit] Discussion

The preferred filename extensions seem to be .SPR (probably for Standard Pixel Run) and .PPR, though others are also used.

Though the product is named "Fastgraph", some filenames use the string "FASTGRAF".

PRF is mainly for programmers. The Fastgraph package does include some DOS utilities (SNAPSHOT.EXE, CLIP.EXE, etc.) that use it.

[edit] Format details

The PRF formats are raw bitmap formats, albeit compressed. They generally require external information in order to decode them usefully. The entire file consists of compressed image data. The rows are ordered from bottom up.

It is possible for an encoder to make a file more portable by stashing extra data in it, using run counts of 0.

Pixel Run Format: 8 bits per pixel. The file consists of pairs of bytes. The first byte of a pair is the color value, and the second is the repeat count.

Packed Pixel Run Format: 4 bits per pixel. The file consists of triplets of bytes. The first byte of three contains two color values, the second is the repeat count for one of the colors, and the third is the repeat count for the other color.

[edit] Identification

There's no good way to identify an SPR or PPR file based on its contents.

However, there is a profile of SPR, apparently associated with IMPROCES, which starts with a 16-byte signature: (hex) bytes 46 00 41 00 53 00 54 00 47 00 52 00 41 00 46 00.

There is also an identifiable profile of PPR used by Young Picasso.

[edit] Software

[edit] Sample files

[edit] Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox