spctoppm
Convert Sun rasterfile to PPM image
TLDR
Convert an SPC file to a PPM image
SYNOPSIS
spctoppm [-c] [-d] [-t] [-s] [spectrumfile]
PARAMETERS
-c
Produces a color PPM image output. If this option is not used, the output will be in grayscale.
-d
Produces a dithered grayscale PPM image output. This option is incompatible with the -c (color) option.
-t
Forces spctoppm to interpret the input file as a tape-loader (CODE 128 byte) file, overriding automatic detection.
-s
Forces spctoppm to interpret the input file as a snapshot (SCREEN$ or .SCR) file, overriding automatic detection.
spectrumfile
The path to the ZX Spectrum screen dump file to be converted. If omitted, spctoppm reads the input from standard input (stdin).
DESCRIPTION
spctoppm is a specialized utility within the Netpbm suite designed to convert screen dump files originating from the ZX Spectrum home computer into a Portable Pixmap (PPM) image format. It automatically attempts to detect the input file's format, supporting standard, snapshot (SCREEN$ or .SCR), and tape-loader (CODE 128 byte) types. The output PPM image is always 256 pixels wide by 192 pixels high, mirroring the Spectrum's native screen resolution, and includes an appropriate color map. This command is particularly useful for preserving or displaying vintage Spectrum graphics on modern systems.
CAVEATS
The -c (color) and -d (dithered) options are mutually exclusive; you can only use one or the other. While spctoppm attempts to automatically detect the input file type, it's recommended to use the -t or -s options if you know the specific format to ensure correct conversion.
OUTPUT DIMENSIONS
The resulting PPM image from spctoppm will consistently have dimensions of 256 pixels wide by 192 pixels high, directly corresponding to the original screen resolution of the ZX Spectrum.
HISTORY
spctoppm was originally written by Russell Stuart and is an integral part of the comprehensive Netpbm package. Netpbm is a long-standing and widely used toolkit for converting and manipulating graphic image formats, reflecting its role in supporting various niche and historical image formats.
SEE ALSO
ppm(5), giftopnm(1), pnmtoplainpnm(1), netpbm(1)