Home » Personal collection » Acorn hard disk » zipped_disks » 2000_apps_2 » apps2/!ChangeFSI/FSIinfo

apps2/!ChangeFSI/FSIinfo

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Personal collection » Acorn hard disk » zipped_disks » 2000_apps_2
Filename: apps2/!ChangeFSI/FSIinfo
Read OK:
File size: D24A bytes
Load address: 0000
Exec address: 0000
Duplicates

There are 3 duplicate copies of this file in the archive:

File contents
     ChangeFSI: Colour Image Processing Using the 256 colour modes

Archimedes computers have full colour display capabilities built into them as
standard. However, compared with the hardware found in larger workstations, the
facilities provided have been carefully reduced (in order to make them cheap
enough to fit all the time). So the precision of the digital to analogue
converters is only 4 bits (instead of 8) and the colour palette only has 16
entries (instead of 256).

The VIDC 256 colour mode
=========================

Has 4 direct bits (top 2 green, top red and blue) plus 4 palette look up bits
which affect the remaining DAC bits. This therefore gives a choice of 256
colours from 4096, but the choice is not a free one in that the 4 direct bits
are always connected: this leaves only 256 selections available from the 4096
colour range. To repeat: there are 256 simultaneous colours in a selection out
of 4096 colours, where there are only 256 "legal" selections. The new VIDC20
allows an arbitrary selection of colours, but the default situation is
identical.

There are "optimal" selections. An optimal selection is one which covers the
entire R, G, B colour cube (i.e. 0-fullscale for each of the colours) and can
thus be dithered to from any picture (if one considers picture's colour range
as an arbitrary volume in the colour cube, then you can dither/display a
picture accurately if and only if the volume covered by the available colours
encloses the picture's). The optimal selection used for the RISC OS 256 colour
mode palette contains 2 most significant bits of Red, 2 most significant bits
of Green and 2 most significant bits of Blue, with the last 2 bits controlling
the 2 least significant bits in parallel ("adds white" to a colour). Thus peak
R, G, B is obtained (without side effects if varied simultaneously, with a side
effect if peak R (say) alone is required). A correctly designed error diffusion
dither algorithm can display pictures with very high fidelity. [note that
dithering all pictures with a single palette permits their display
simultaneously on the screen, also note that dithering to a fixed palette is
much quicker than selecting a palette first!]

One can also program the system for a large number of n bits per colour modes,
with the n bits starting at the most significant end of the colour range. For
example 4 bits of green, 3 bits of red and 1 bit of blue. The constraints are:
     2 <= nGreen <= 4
     1 <= nRed   <= 4
     1 <= nBlue  <= 4
     (and nRed+nBlue+nGreen=8)
Modes like these are often useful for real time solid modelling (where the
expense of dithering with error diffusion (circa 100 cycles per pixel) cannot
be afforded). These selections are non-optimal: the colour cube is not
completely spanned.

Displaying A Picture
====================

Since a colour in the 256 colour mode can be such a complicated thing, with
varying capability of spanning the colour cube and an unknown accuracy, there
is a RISC OS standard way of specifying a colour you wish to draw with using 8
bits for R, G and B components. A call to the operating system converts this to
the nearest colour and new objects can be drawn.

Where the object to be drawn is a previously generated picture, the modules
"SpriteExtend" (in the ROM) and "ColourTrans" (in the !System directory) in
RISC OS provide some capabilites for displaying pictures in different screen
modes. ColourTrans can look at the palette which a sprite uses and return a
list of the equivalent 'closest' colours in the current screen mode.
SpriteExtend can paint sprites using the list of equivalent colours and can
change the size of the image into the bargain. This is all very well for simple
pictures or pictures created directly for a particular mode, but what happens
for more detailed information or pictures from other sources with resolution
not matched by the Archimedes hardware?

Also the above facilities are rather basic: ColourTrans makes no effort to use
dithering (the practise of putting patterns of different coloured pixels
together to represent other colours) and SpriteExtend simply discards
additional information if reducing the picture in size (and together they make
no attempt to enhance the picture when making it larger). The reason for these
shortcomings is quite simple: speed. The algorithm used in ChangeFSI uses 105
ARM instructions per pixel - and that's apart from any instructions used to
read the image in, change its size and write the result out. For comparison,
the normal sprite plot takes only one instruction per pixel (4 instructions for
four 8 bit pixels). Processing a MODE 15 picture thus uses up too many seconds
of ARM cpu time to imagine it as part of the interactive desktop.

So what does ChangeFSI do to make the situation better? And why does it take so
long? One can immediately draw up some desirable properties for any solution to
the image changing problem:

(1) Maximising the volume of the colour cube. Colour represented in the Red,
Green and Blue computer graphics system can be thought of as a point in a 3D
cube whose axes are the red, green and blue values. Whatever clever
approximations, dithering or error diffusion techniques are used, the colour
volume spanned by the r, g and b axes in the target should be large enough to
contain the source volume. If not, then the picture will appear faded in some
way compared to the original ("the red doesn't seem quite the same"). For a
single picture a colour volume only as large as the input could be chosen;
alternatively for an arbitrary set of input pictures, the colour volume on the
output system has to be made as large as possible. Where animation is required
the colour volume has to be consistent for all the pictures. When generating
the largest volume, it is important to use the system hardware to the limit:
for example, if one has two bits of control over the Archimedes 4 bit D to A
converters, the largest range is covered by values 0, 5, 10 and 15 (rather than
0, 4, 8 and 12).

(2) Giving hue consistency at different saturations. For example, with a
palette with different numbers of bits of r, g and b it may be impossible to
have a consistent set of colours representing derived colours at different
levels of intensity. Shades of white and secondary colours (cyan, magenta and
yellow) are particularly difficult.

(3) Working with the multi-tasking desktop. Acorn are asking for all new
software to be built on the multitasking system. This implies that the palette
should not be changed (or that the agreement of all programs currently running
is obtained first).

The desktop (default) palette in the 256 colour modes (e.g. modes 13, 15, 21,
24 and 28) is quite well designed. It does have the properties of (1) and (2)
(it even has 16 shades of grey) and automatically satisfies (3). It is used by
many Acorn programs (Draw, Paint) and by external programs (Euclid, ProArtisan,
Atelier, ..) to great effect and is a safe choice for ChangeFSI. There are two
ways ChangeFSI can choose a colour:

(a) a method which derives values for r, g, b and tint algorithmically (no
suffix) (suitable only for the default RISC OS 256 colour palette)

(b) search the palette for the closest colour (r suffix). The precise method by
which this is done is the subject of another document.

ASIDE: the closest colour is chosen such that the distance between the true
colour and the choice is minimised in the colour cube space. Since the human
eye is more sensitive to green, then red and lastly blue, the distance function
is weighted 10, 3 and 1 in green's favour.

With the 16 colour modes (e.g. modes 9, 12, 16, 20 and 27) the default palette
does not satisfy (1) and (2) unless the output is purely shades of grey -
ChangeFSI can use either 8 greys (for the desktop) or 16 greys (out of the
desktop or with the desktop palette altered to provide 16 greys). For colour
representation, ChangeFSI can either:

(a) use 1 bit of red, 1 bit of green and 1 bit of blue (i.e. the standard 8
digital colours Black, Red, Green, Blue, Yellow, Magenta, Cyan and White). This
spans the colour cube and is hue consistent, but doesn't use the full range of
bits provided in the format. ColourTrans can map this to the desktop with the
standard palette with fair success, except for the lack of magenta (full
red+full blue) in the palette. A better result can be achieved by setting 6 of
the colours in the palette to red, green, yellow, blue, magenta and cyan. Since
ColourTrans will map the colours anyway, it doesn't matter which 6, but the
most consistent values are 8=blue, 9=yellow, 10=green, 11=red, 13=cyan,
14=magenta (leaving 0-7, 12 and 15 unchanged). This option is selected by a "d"
(digital RGB) suffix to the program's mode argument.

or (b) search the palette for the closest colour (r suffix) [ChangeFSI needs to
be in the 16 colour mode in order to read the palette]

With the 4 colour modes (e.g. modes 8, 11, 19 and 26) ChangeFSI is really
pushed. Shades of grey output is done with the 0, 5, 10, 15 level palette. But
how can colour be done? For example, each pixel can display only one of (say)
black, red, green or blue. This fails to span the colour cube (it does only
half of it), however, so black, cyan, magenta and yellow are used instead. The
rest has to be left to luck: there is no way it can approximate to pure shades
of red, green or blue. 4 bit colour pictures can be seen on the desktop in 16
colour modes with the above palette or in 256 colour modes. This option is by a
"c" suffix. If you can provide a better palette, then ChangeFSI can use it with
the "r" suffix search method.

With 2 colour modes (e.g. modes 0, 18, 23 and 25) pixels are either ON or OFF,
ChangeFSI will only do shades of grey output.... However, the method used can
be varied (see later).

So that's the canvas ChangeFSI has to work on. How does it display the input
range of colours on these outputs? The answer is, as stated above, dithering:
the process of approximating intensity variations with patterned areas. There
are two basic types of dithering technique: that used to print colour magazines
and newspaper photographs "clustered dot dither" - the size of the dot of ink
gives the intensity; and that used on dot matrix displays, for example the grey
level patterns used by 1 bit per pixel mode on the desktop "dispersed dot
dither" where the average number of dots in the area gives the intensity.

Why does the world need two different techniques? Well, different devices
reproduce pixels differently. The "ideal square" pixels produced by an LCD are
perfect for dispersed dot dither; a CRT produces a gaussian spot (a circle or
ellipse which decays in intensity towards the edges) instead of a square -
dispersed dot dither works well; a dot matrix impact printer or a "write black"
laser printer produce large dots (diameter at least SQR(2) over unit pixel
square) and thus make pictures too dark if dispersed dot dither is used; a
"write white" laser printer prints negative "white dots" on a black field and
thus "caves in" the sides of pixels making pictures too white with dispersed
dot dither. Clustered dot dither reduces the effects of mis-sized pixels by
ensuring they are adjacent (and thus the error is confined to the periphery of
the shape) but this does have a cost in poorer resolution.

Since ChangeFSI's colour or greyscale output is to CRTs (or LCDs in some
distant future) it automatically uses a dispersed dot dither. Monochrome output
could be for the screen or for a printer: the user can select between dispersed
and clustered methods by adding a various suffices ("c", "d" or "t") to the
mode number for clustered output. For "c" the algorithm (due to Robert L Gard,
1976) approximates tones in the range 0..16 (17 levels) by using 0..16 "on"
pixels in a 4 by 4 cell. For "d" the algorithm (developed by me, but similar to
Gard's) approximates tones in the range 0..4 (5 levels) by using 0..4 "on"
pixels in a 2 by 2 cell. For "t" the algorithm (ditto as "d") approximates
tones in the range 0..9 (10 levels) by using 0..9 "on" pixels in a 3 by 3 cell.
The "on" pixels are carefully chosen to provide: (a) symmetry of white/black
and black/white patterns (b) diagonally oriented dot grid. The diagonal angle
reduces the eye's ability to see the rectangular patterns produced. The various
sizes of the halftone cell allow some trade off between representing the tonal
values correctly and loss of resolution. Start with "c" and progress to "t" and
then "d" if the resolution is not acceptable.

ChangeFSI can generate reasonable pictures on "write black" printers with a
dispersed dot dither by using the "-black" parameter; however images produced
like this do not photocopy at all well (the photocopier makes the dots blacker
again!). The parameter to -black (default value 32, range 0..128) tells
ChangeFSI how much larger than the ideal square pixel the dots produced by the
printer are - 128 corresponds to an inked dot covering four times the area of
the ideal black square pixel (and this will generally mean ChangeFSI produces
an entirely white output!). Values above 64 give rather poor results on some
pictures but may be worth experimenting with. The default is 32, a dot covering
50% more area than the square pixel (the minimum circle enclosing the pixel
square). Some printers produce dots of (pseudo-randomly) varying sizes and
black correction may not help with these (the picture looks "noisy") in which
case use one of the clustered output methods. -black correction makes pictures
on the screen look very pale, since, if anything, black pixels on screen are
smaller than the ideal square.

[aside: to print these pictures, you need a method which copies the pixels
ChangeFSI has made exactly to those of the output device. Using !Paint, scale X
and Y by 90:300 for a 300dpi printer.]

In all cases, an approximation to a colour will produce an error (which might
possibly be zero if ChangeFSI is very lucky). ChangeFSI tracks these errors and
ensures that over wide areas there is no overall error using a technique called
"error diffusion", first devised by R W Floyd and L Steinberg in 1975. In this
technique the approximation is made and the error distributed to nearby pixels
in the following ratios:

                current pixel   7/16 of error
3/16 of error   5/16 of error   1/16 of error

ChangeFSI gets some of its name from Floyd and Steinberg. Additionally,
ChangeFSI scans through the picture in a serpentine fashion, doing a row of
pixels left to right followed by the next row right to left. This reduces the
probability of regular patterns which the eye is sensitive to. The final I of
the name is for Integer: ChangeFSI does all its work in 32 bit fixed point
integer arithmetic (with the point at bit 28) instead of floating point.
Dithering can be turned off using using "Disable Dithering" on the Processing
dialogue ("-nodither" on the command line) which at least allows you to see how
well it does!

The conversion from one colour range to another is made at the same time as a
change in size of the image. Size is changed by ratios of areas between the
input and output: the total weight of r, g, and b in the source area is
calculated using the fixed point arithmetic and this result is then
approximated to the output using the error diffusion to preserve information
(for example, consider halving in size an image with adjacent pixels of
intensities 1 and 2; the output pixel needs to be value 1.5, so the 0.5 error
is sent to adjacent pixels to keep the overall colour the same). The size
change is expressed as a ratio of output to input (e.g. 40:20) which ChangeFSI
reduces to the smallest possible terms (2:1 in this case) so that you are free
to give values like 256:512 if that's what you mean! Size change is either both
x and y (if one ratio is given) or separate x and y (if two ratios are given).
Note that the size of a RISC OS pixel is known, so changing from (say) mode 21
to (say) mode 13 does not need any additional specified scaling. The full size
output for mode 21 is the reference, so scale to 640 by 512. A common scaling
is to fill the output sprite with the input and an "=" parameter to x and/or y
ratios will do this without ever having to know the size of the input. Simply
omitting the fractional part causes ChangeFSI to put in the source size, thus
giving output which is the specified number of pixels in size.

Conversion from colour to monochrome shades of grey is done with the CIE
luminance weights for r, g and b (0.299, 0.587, 0.114) which is the standard
conversion for broadcast television. These values can be altered using the
-red, -green and -blue commands and allow different weightings for conversion
to monochrome to be tried, this also allows selection of an image composed of
only some of the colours (e.g. -red1 -green0 -blue0) in making a black and
white image.

ChangeFSI can take any RISC OS sprites (2, 4, 16 or 256 colours). If there is a
palette it will be used, otherwise the standard 2, 4, 16 and 256 colour desktop
palettes are used. ChangeFSI can also read the 16bpp and 24bpp sprites which
have no palettes.

ChangeFSI is both a command line driven program and a desktop application. The
file !Help describes how to use the application from the desktop, if you need
to use the program as a command line driven program you will need to have it in
the library (or on run$path) and press f12 to get out of the desktop. The file
"FSIuse" describes the parameters concisely. The program selects mode 0 when
run from the command line when doing any work in order to speed up processing
(this can be disabled with -nomode). It may also be a good idea to RMFaster
BASIC. An hourglass %age processed figure is displayed (this may run through
twice for some of the more expensive options). The program reads the source
image from disc and builds the output in memory, having claimed some from the
system.

In addition to strictly converting the source image, ChangeFSI can also process
it. A trivial option is "-info": ChangeFSI will tell you what it is doing (a
good way of finding out what the source image actually is, and how the scaling
turns out!). Similarly trivial are -vflip and -hflip - the picture can be
produce upside down and left/right reversed. Not so trivial is -rotate, which
will rotate the image by 90 degrees (that is, an anti- clockwise quarter turn).
-rotate- rotates by -90 degrees (clockwise quarter turn).

Sometimes useful is "-nosize": ChangeFSI can read pixel size information from
the source image (if present) or guess it (e.g. if there are less than 320 by
256 pixels in a source image, ChangeFSI assumes the pixels are the same size as
MODE 13's [45 per inch]) or derive it from other information and scale the
output image (composed of RISC OS square or 1:2 sized pixels) appropriately.
-nosize stops this from happening. [this seems particularly relevant on formats
like TIFF or IFF where the pixel size is specified *but may be wrong*] Using
-info will display the pixel ratios which ChangeFSI is using - a combination of
the size guess, the output pixel size and any deliberate scaling. "-noscale"
turns off the output scaling as well.

The simplest image processing option is "-range" which will expand the dynamic
range of the input picture so that it fills the available area (not a good
option for animated sequences unless all source images possess the same range).
Since r, g, b are processed by the same amount, -range preserves the colour of
pixels in coloured pictures.

A useful option for output intended for the screen only is Gamma correction.
CRT displays do not have a simple linear relationship between brightness of the
spot and input voltage: instead of brightness = const * voltage, the response
is brightness = const * voltage ^ (1/gamma). In the TV industry, gamma has been
standardised as 2.2, but there is wide variation in the computer industry: the
monitor's response will vary depending on what make it is and how it is
adjusted. Low values of gamma (0 to 1) make colours darker and high values
(above 1) make colours lighter with the effects being particularly noticeable
on dim colours. "-gamma" uses the default of 2.2, and it can be set by
"-gamma1.5" say. Gamma correction is most relevant when its known that the
input has a linear intensity (input from a scanner or from another computer
with more bits per colour component than the Archimedes).

A more complex primitive is "-equal" which performs "histogram equalisation" on
the image. This makes the histogram of level versus number of points at that
level as flat as possible giving full use of the number of colours available.
-equal is a very harsh primitive, even on monochrome inputs it can produce an
inferior picture; while on colour pictures it can distort the colour of each
point (since r, g, b are computed separately). But -equal can often recover a
picture that is otherwise completely useless or expose information locked in a
small part of the input scale.

Image colours may be inverted with the -invert option. Which may be fun in
colour but is rarely useful! However, monochrome images frequently need
inverting, especially one bit per pixel sources.

A more powerful option is "-sharpen" which enhances the edges of objects in the
picture: this is very useful since the dithering process inevitably smears
information over the display. Pre-sharpening the image can result in a more
acceptable output. Default values of sharpening can be overridden for special
effects: -sharpen8 does edge detection. Lower amounts of sharpening are
obtained with larger -sharpen numbers. In general the more input and output
pixels and the greater the output range in a pixel in the images, the less
sharpening is required. Sharpening a picture which is already dithered can give
a very bad result....

The sharpening is achieved with the following matrix:

   -1    -1    -1
   -1 sharpen  -1
   -1    -1    -1

ChangeFSI computes the sum of nine pixels with the above weights for each input
pixel and renormalises the result (divides by sharpen-8).

Similar is "-smooth" which averages the pixels to eliminate noise. It uses the
following matrix:

    1     1     1
    1  smooth   1
    1     1     1

ChangeFSI computes the sum of nine pixels with the above weights for each input
pixel and renormalises the result (divides by smooth+8). Only one of smoothing
or sharpening may be performed (whichever is last on the command line).

An option for testing is "-nodither" which disables the Floyd Steinberg error
diffusion step completely. Versions after 6th June 1990 are more accurate at
doing this.

The various processes described above are applied in the following order for
pictures with more output pixels than input:
   (a) range or histogram equalisation,
   (b) sharpen or smooth,
   (c) scale,
   (d) error diffusion.
This order is chosen so that:
   (1) since the input pixels (rather than the output pixels) are sharpened,
       there is no false edge introduced when pixels are replicated.

The various processes described above are applied in the following order for
pictures with fewer output pixels than input:
   (a) scale,
   (b) range or histogram equalisation,
   (c) sharpen or smooth,
   (d) error diffusion.
This order is chosen so that:
   (1) ranging can enhance down-sized images. Say a black/white dithered image
       is reduced in size, so that the output from the scaling process is (some
       approximation to) the original grey levels; then ranging can expand this
       if possible.
   (2) sharpening can be used to offset the blurring effects of scaling.
   (3) since the output pixels (rather than the input pixels) are sharpened,
       the effect of -sharpenN is consistent over differently scaled images.

There may be times when this automatic selection of order gets it wrong,
particularly when changing the aspect ratio, it is possible to trigger some
undesirable sharpening artifacts. Use the program twice with sharpening (say)
disabled and enabled in the order required.

Examples of use:

Make "standard palette" versions of existing 256 colour images (for example
the Watford digitiser plus colour board doesn't use the standard palette).
  (e.g. "changefsi in out 13p" for a coloured Watford picture)

Or convert a colour picture to something you can see on your high res mono
monitor.
  (e.g. "changefsi in out 18 -sharpen -info")

Or convert a large monochrome picture (from a scanner, say) to something
which can be seen.
  (e.g. "changefsi in out 20t 1:4 -gamma")

Or convert a colour picture to grey scale for the desktop.
  (e.g. "changefsi in out 20")

Or change a 512 by 480 image to standard format and aspect ratio
  (e.g. "changefsi in out 15 640:512 512:480")
  (or "changefsi in out = -range")

Or change to digital r, g, b
  (e.g. "changefsi in out 20d -sharpen16")

Or convert a picture for printing on a 300dpi laser.
  (e.g. "changefsi in out 18c 300:90 -sharpen")

And many more uses such as making miniatures of pictures, animated sequences of
pictures changing size (or sharpness!), converting Artisan pictures to the
desktop (try looking at the Artisan Garden with the desktop in 256 colours and
ChangeFSI's version - the stripes on the lawn vanish with the standard
version). Obviously you will need to have captured input as a sprite first!
Using more pixels per inch can improve the quality of the result, particularly
converting to multisync modes.

Note that, for all work with ChangeFSI, it is a good idea to start from the
unprocessed input each time and do everything in one pass (rather than using
the program several times with simple arguments). It is not a good idea to
sharpen a dithered image (unless it has been shrunk). It can be very useful
to use a small amount of smoothing on a dithered image (e.g. -smooth16).

*** It is a very good idea to keep the highest resolution master that you can
afford the disc space for....

The ChangeFSI program can also convert from non RISC OS sprite formats while
doing all of the above processing. ChangeFSI will work out what the format is
automatically. For native RISC OS formats, it uses the filetype and there can
be no confusion. For alien formats, it first tries looking for particular
identifying information inside the file and then (if this fails to have
identified a format) tries using the file name itself. See the details below:

The RISC OS sprite format
 Contains 1, 2, 4 or 8 bits per pixel with a modification palette of up to
 16 entries; any number of pixels wide and high uncompressed. Details are in
 Acorn's Programmer's Reference Manual.
 + Recognised by file type FF9 (a paint brush and house icon)
 - Details of how many bits per pixel and the pixel size are obtained from
   the operating system (rather than being in the file) from the "MODE"
   number. Mode extensions can result in a source image containing a MODE
   number which your computer does not understand.
 - Mask information ignored
 - Lefthand wastage ignored

The new RISC OS sprite format
 Contains 1, 2, 4, 8, 16 or 32 bits per pixel.
 + Recognised by file type FF9
 + no problem with mode extensions: information is coded into the format
 - Mask information ignored

Kodak PhotoCD
 24 bit per pixel images at various resolutions
 + Recognised by file type BE8
 - Set ChangeFSI$PCDIndex to read resolutions other than base (=3)

The ArVis format [of ArVis Multimedia]
 Contains 5 bits of red, green and blue information encoded into two RISC OS
 sprites "HIP.<filename>" and "LOP.<filename>" comprising a 640 pixel wide
 and 256 line tall image with pixels sized 1:2. Details from ArVis Multimedia
 - Recognised by providing the HIP.<filename> (which must be of file type FF9)
 - Uncompressed (indeed represents 16 bits instead of 15).

The Pineapple colour digitiser format (of Pineapple Software)
 Contains 6 bits of green, 5 bits of red and blue information filed as a
 single data file starting "FSIfile" comprising a 512 pixel wide and 256
 line tall image with pixels sized 1:2.
 - Recognised by "FSIfile" in the file (which can be any type)
 - Uncompressed

The Watford Video Digitiser "picture" format
 Contains a run length encoded 64 grey level 512 pixel wide, 256 line image,
 with pixels sized 1:2. Details from Watford Electronics Ltd.
 + Recognised by file type DFA (a small grey picture of Stevie Nicks)
 - Warning: don't forget to save the pictures in *un-dithered* state!
 When used with a colour converter, ChangeFSI can read three colour
 separations stored in a directory of separate "red", "green" and "blue"
 files. Beware of auto-gain/contrast when using such information!

The ProArtisan compressed picture file format
 Contains a (mildly) compressed MODE 15 (640 by 256 by 256 colours) picture.
 Details from Clares.
 + Recognised by file type DE2 (a beige monitor in a grey surround)

The TimeStep satellite image format
 This gives an uncompressed 800 by 800 with 256 grey levels.
 + Recognised by file type 7A0 (icon never seen)
 - No resolution specified, equal to mode 27 assumed
 - Documentation never seen. An extra header file <name>! is not understood
   at all.....

CCIR601 4:2:2 images
 Contain 720 pixels by 288 rows (PAL) [243 rows NTSC] YUV coded with
 pixels sized 1:2.
 + Recognised by file type 601
 - one field only

Another TimeStep satellite image format
 Giving an uncompressed 128 pixels wide by 256 lines with 256 grey levels,
 pixels sized 2:1. Used by TimeStep's !ImProcess application.
 + Recognised by file type 300 ("i" in a document frame)
 - Documentation never seen.
 - A bit coarse
 The grey levels represent intensity in various different wave bands. By
 naming files "red", "green" and "blue" and handing ChangeFSI the directory,
 you can produce a false colour image. Hours of experimentation can produce
 an almost reasonable picture...

The AIM and Wild Vision V10 format
 This provides an uncompressed 256 by 256 image with 256 grey levels. Details
 from Delft University of Technology and ECD Computers Delft B.V.
 + Recognised by file type 004 (a picture of 'Trui' with "TU" in blue)
 + ChangeFSI can write to this format (specify "aim" in the mode position)
   and specify = in the sizing to get a 256 by 256 output (otherwise it will
   be the same size as the source image)
 - No resolution specified, equal to mode 27 assumed
 - The associated file <name>+ (file type 010) which contains additional
   information is ignored by ChangeFSI.
 The grey levels may represent intensity in various different wave bands. By
 naming files "red", "green" and "blue" and handing ChangeFSI the directory,
 you can produce a false colour image. Hours of experimentation can produce
 an almost reasonable picture...

The Wild Vision V12 format
 This provides an uncompressed 512 by 512 image with 256 grey levels.
 + Recognised by file type 006
 - No resolution specified, equal to mode 27 assumed

The Wild Vision V9 and SnapShot formats
 This provides an uncompressed 512 by 256 image with 4 bits of red, green
 and blue, pixels sized 1:2.
 + Recognised by "MercSoft" or "SnapShot" header
 + No file type needed

The !Translator Clear format
 This provides 1, 2, 4, 8 and 24 bits per pixel.
 + Recognised by file type 690
 - uncompressed, especially for <8 bits per pixel which is recorded at one
   byte per pixel.
 - No resolution specified, equal to mode 27 assumed

The Atari ST "Degas" format
 1, 2 or 4 bits per pixel, clear or run length encoded. RISC OS file type by
 John Kortink of !Translator.
 + Recognised by file type 691
 - No documentation and only 5 images read
 - No resolution specified, equal to mode 27 assumed

>> All the file formats so far have been designed on RISC OS (or Arthur) and
recognition of the format is defined by file type, the files arrive on RISC
OS floppy discs, and the originators live in the same time zone. For the
following formats many of these things are not true... Which makes it more
difficult to guarantee that ChangeFSI will be able to read the file.

The Millipede Prisma format (used by CadSoft also)
 The Millipede Prisma 3 is a 768 pixels wide by 574 line interlaced display
 board for the Archimedes and BBC Microcomputer. It allows use of 256
 colours from 2^24. Files may be stored uncompressed (432KBytes!) or run
 length encoded. More details from CadSoft or Millipede Electronic Graphics.
 + Recognised by "MILLIPEDE" at offset 16 in the file
 - No resolution specified, equal to mode 27 assumed
 - slowish to read the compressed formats
 - scaling the picture using = can be poor since 574 lines don't relate very
   well to 512 or 256. Use -info to display the scale ratios.

The Aldus/MicroSoft TIFF format (also filetype FF0 is assigned to TIFF)
 Frequently used by scanners, TIFF is a common interchange format for
 graphics images on the Mac and PC (particularly DTP and Windows). It
 provides an arbitrary number of bits per pixel, size etc using a numeric tag
 scheme allowing new information to be introduced without upsetting existing
 programs. The format may be compressed (in 5 different ways at present).
 Details from Aldus UK, MicroSoft, Hewlett Packard...
 + Recognised by file type FF0
 + Recognised by "II" plus the 16 bit number 42 at the start of the file for
   little endian machines (ix86, ARM, VAX...)
 + Recognised by "MM" plus the 16 bit number 42 at the start of the file for
   big endian machines (M680x0...)
 + Can read PackBits images and LZW compressed forms (at least the 3 its
   seen so far...)
 - Cannot read predictor compressed LZW images.
 - So far ChangeFSI has only done 1, 4, 8 and 24 bit images.
   It can't read "planar" images or CCITT compressed forms.
 - Some TIFF images have incorrect pixel sizes: use -nosize if this is
   true. If no pixel size is specified, ChangeFSI assumes mode 27 size.
 + TIFF is a trademark of Aldus Corporation

The CompuServe GIF format
 Used for wide area network transfer of images. It provides an LZW
 compressed up to 256 colours from 2^24 arbitrary sized image. Details from
 CompuServe (USA) [or usenet]
 + Recognised by "GIF8" at the start of the file
 + LZW compression is efficient even for dithered images
 + ChangeFSI can decompress LZW quickly
 - No resolution specified, equal to mode 27 assumed
 - many low quality images around from PCs
 - no processing of GIF89a masks

The Electronic Arts IFF ILBM format
 Provides an arbitrary sized image with up to 4096 colours sometimes run
 length encoded. ChangeFSI understands the generic format and also the
 special Amiga format for "HAM" and "Half-bright" images.
 + Recognised by "FORM" as the first four characters and "ILBM" as
   characters 8 to 11
 - Only pixel aspect ratio specified, not its size (and then sometimes
   incorrectly): use -nosize *and* a size change (a:b) if its wrong
 - images often small
 - doesn't understand Amiga "hires"
 - can't convert HAM pictures directly to monochrome

The MicroSoft Windows 3 .BMP format
 Used by MicroSoft in Windows 3 and PaintBrush for Windows 3. Provides an
 arbitrary sized image and 1, 4 or 8 bits per pixel. Uncompressed.
 + Recognised by "BM" as the first two characters
 - No resolution specified, equal to mode 27 assumed
 - documentation never seen - 7 files examined and intelligent guesses made!

The Digital Research GEM .IMG format
 Used by GEM (and GEM Paint) on both PC and Atari ST. Provides an arbitrary
 sized image and number of bits per pixel (though its only usually used with
 up to 5 bits per pixel) and pixel size. Compressed by run length encoding
 and line repeats.
 - Recognised by 00 01 00 08 as the first four bytes ("version 1, header
   length 8") or by "IMG" as the name of the directory the file is in.
 - Planar file format slow to read
 - Palette not specified: ChangeFSI assumes linear shades of grey. You might
   need to use -invert if the image is a negative
 - The size of a pixel is specified in microns. The standard RISC OS 90
   pixels per inch translates to (1/90*2.54*10,000) microns - 282. (use
   -info to get information about the scaling, -nosize to stop it)
 - Documentation from the "ST World" magazine's clinic.

An unknown PC .PIC format
 Used for some VGA demos, the format provides an uncompressed 320 by 200 by
 256 colour (from 2^24) VGA screen dump.
 + Recognised by "AV_VO" as the first five bytes in the file
 - Documentation never seen
 - Pixel size assumed the same as MODE 13 (45 pixels per inch).

The MacPaint format
 Provides a 576 by 720 bitmap, run length coded by the Mac's "PackBits"
 algorithm (repeated bytes).
 - Recognised by "PNTG" at position 65 in the file. This may only relate to
   files which have been through a program called "MacFix". Data assumed to
   start at position 128 in the file. Header ignored.
 - No resolution specified, equal to mode 25 assumed

The Mac PICT2 format (PICT extended version 2)
 Provides an arbitary size packed picture, run length coded by the Mac's
 "PackBits" algorithm (repeated bytes).
 + Recognised by looking for the PICT header at position 514 in the file.
   The header is 00 11 02 FF 0C 00 FF FE.
 - Documentation available but mostly useless (it assumes you are about to
   call QuickDraw routines - "Note: for maximum safety and convenience, let
   QuickDraw generate and interpret your pictures." Apple fail to describe
   the PackBits algorithm in Inside Mac...)
 - PICT is the loose equivalent of RISC OS Draw file format, but without
   the explicit sizing of objects - for PICT, if there is an object that
   you don't understand, there's no way of skipping it (whereas for Draw,
   the size of the object is specified in an object indep. way). Apple
   present a large table of the sizes of the objects (0000 - FFFF) which is
   not in ChangeFSI. Consequently, if ChangeFSI finds an object it doesn't
   know about before the picture, it stops...
 - Only PackBitsRect (0098) (8bpp) and DirectBitsRect (009A) (24/32 bpp) are
   allowed.
 + ChangeFSI tries to skip a Clip (0001) region if it encounters it, since it
   is hard to get the Mac OS to make PICT files without a clip opcode in them.
 + size of pixel specified.
 - Only 3 pictures read - since the format is very complicated (e.g. the size
   of things change if >250 rows in the picture!) this is no guarentee that
   anything else will be right.

The ZSoft .PCX format
 Used by PC Paintbrush. Usually a 4 bit per pixel image (CGA, EGA, VGA) but
 can be 1-8 bits per pixel.
 - Recognised by 10,[0,2,3,4,5],1 at start of file. Or by name PCX.<foo>. Or
   by type &697.
 + Intelligent check for resolution of the DACs on the PC card. Use -info to
   find out what ChangeFSI thinks it is.
 + Pixel size information read. You may need to stop the scaling with
   -nosize, since its often wrong.

The RIX Softworks ColoRIX format
 Used by VGA Paint, image extension .SCE .. .SCX. 4 or 8 bits per pixel.
 - Recognised by "RIX3" at start of file
 - Documentation never seen
 - Only 5 files read: ChangeFSI checks to see if the header is the same
   as these files and complains otherwise.
 - No resolution specified, equal to mode 27 assumed

The Sun "pixrect" format
 Used under SunOS and also under X11. Commonly 1 or 8 bits per pixel, but up
 to 24 bits per pixel can be found (see the Sun NeWS release tape!).
 + Recognised by &59A55A95 at the start of the file.
 - No resolution specified, equal to mode 27 assumed
 - Sun didn't specify the pixel ordering of 24 bit per pixel images: many
   assume RGB when it was actually BGR. Change byte &17 in the Sun
   rasterfile between 1 and 3 if you have a problem.

The "pbm" 'portable bitmap' file format
 Used by the "PBM-PLUS" toolkit (mainly Unix) by Jef Poskanzer. 1-24 bits
 per pixel (more can be specified in the format but ChangeFSI cannot read
 them). ChangeFSI can only read the "RAWBITS" formats (it can write all of
 the pbm formats).
 + Recognised by P4/P5/P6 at start of file.
 + Writable by ChangeFSI
 - No resolution specified, equal to mode 27 assumed

The UNIX "rle" format
 Used by a program called "svfb" to save the contents of large frame
 buffers, checked with four images at 24 bits per pixel.
 + Recognised by &CC52 at the start of the file.
 - No resolution specified, equal to mode 27 assumed

The TrueVision Targa format
 Used by TrueVision for Vista boards. Up to 32 bits per pixel.
 - Recognised by suffix _TGA or _VDA on the name. Or by type &69d.
 - Only uncompressed formats readable.
 - Only 8 and 16 bit per pixel formats tested.

The "Flexible Image Transport System" (FITS) format
 Used for astronomical data. Up to 16 bits per pixel component.
 + Recognised by "SIMPLE" at the start of the file.
 - Only 8 and 16 bit per pixel component formats tested.
 - Only two files ever seen!
 - No resolution specified, equal to mode 27 assumed

The Irlam instruments colour scanner format
 24 bit per pixel from colour scanner.
 + Recognised by Irlam 24 at the start of the file.
 + Writable by ChangeFSI
 - No resolution specified, equal to mode 27 assumed
 - may need gamma correction

The Irlam instruments YUV 411 colour video format
 7 bits Y, up to 7 bits U and V.
 + Recognised by Irlam YUV 411 at the start of the file
 - no resolution specified, equal to mode 27 assumed

The JPEG 'JFIF' File Interchange Format
 Up to 24 bits R,G,B, compressed by the JPEG compression system.
 + Recognised by JFIF at position 6 in the file (you may have to
   cut headers off files, particularly if they are from Macs).
 + Often highly compressed
 + If ChangeFSI$Cache is large enough (bigger than the file), then high
   speed routines are used to decompress. Otherwise:
 - ChangeFSI calls a djpeg routine. This can be on the Run$Path, implemented
   as an Alias (in which case it *must* use WimpTask to start) or found
   inside ChangeFSI$Dir if all else fails. cjpeg (the compressor) is also
   available inside ChangeFSI$Dir - you will need to convert the image to
   P6 format before it can be compressed. Djpeg and cjpeg are by the
   PD JPEG group.
 - ... and therefore slow. Needs a lot of space in <Wimp$Scrap>.
 - no resolution specified, equal to mode 27 assumed

The Ronald Alpiar 36 and 48 bit per pixel formats
 12 and 16 bits for each of R,G,B, uncompressed
 + Recognised by ALPIAR12 or ALPIAR16 at start of file
 + followed by little endian word of X size and word of Y size
 + followed by r,g,b as little endian half words
 - no resolution specified, equal to mode 27 assumed

The btpc file format
 Up to 24 bits R,G,B, compressed by the btpc compression system
 + Recognised by btpc at start of the file
 + Highly compressed (sometimes more than JPEG)
 - ChangeFSI calls a (slow) dbtpc routine
 - no resolution specified, equal to mode 27 assumed

>> The following file formats are only recognised by their names.

An unknown PC .DSP format
 Experimentally determined that it holds a 640 by 350 EGA picture at 4 bits
 per pixel. ChangeFSI "knows" the default EGA palette (from IBM literature).
 - Recognised by being in a directory "DSP"
 - Documentation never seen
 - No resolution specified, equal to mode 27 assumed
 - Only two examples read(!)

The QRT .raw format
 Output from Steve Koren's public domain ray tracer: arbitrary size in 2^24
 colours, uncompressed. Documentation part of QRT.
 - Recognised by the name ending ".Raw". Or by type &698.
 - No resolution specified, equal to mode 27 assumed

The MTV pic. format
 Output from Mark Terrence VandeWettering public domain ray tracer arbitrary
 size in 2^24 colours, uncompressed. Documentation part of MTV. Also used by
 "RayShade".
 - Recognised by being in a directory "Pic.". Or by type &699.
 - No resolution specified, equal to mode 27 assumed

The RT image. format
 Output from "RT", a private ray tracer by Brian D Watt(?) arbitrary size in
 2^24 colours, run length encoded.
 - Recognised by being in a directory "Image."
 - No resolution specified, equal to mode 27 assumed

For many of these formats, especially the uncompressed ones, setting the
variable "ChangeFSI$Cache" to the number of bytes of temporary memory you
wish the program to use will speed up reading the information. The default
is 49152 bytes. For example "*set ChangeFSI$Cache 80k". For those worried
about speed, the program will go faster if:

 - you use -noscale and keep 1:1 ratios (don't specify them)
   (although -nosize and 1:1 or 1:2 ratios are quick, too)
 - you don't need sharpening/smoothing, histogram equalisation, range expansion
 - you use monochrome (e.g. 25, 26, 27 and 27t) modes

additionally you can disable dithering (-nodither) especially when reading
monochrome source.

You can avoid the program changing mode by putting -nomode on the command line.

Very large output files can be built strips at a time and sent directly to disk
using the parameter "-max" e.g:

  ChangeFSI <in> <out> 28 -max512K

will convert the file with a maximum of 512KBytes held in memory. Options 25t,
-rotate and -vflip don't work when this is being done.

Work will be done on other formats when and if both image and documentation
arrive at Acorn. Adding a new format is a matter of (a) putting in automatic
recognition of the format at the start of the program (b) reading the size of
the image and the colour palette mapping [in the next section of the program]
(c) writing a "read pixel row" element inside PROCiprow (d) providing an entry
in PROCrewind. If you write a new format interface, please send it to me so
that it will be included in later versions. ChangeFSI has already got code for
dealing with images with 1, 2, 4 and 8 bits per pixel packed into bytes and for
images with up to 8 bit planes. There is support code for LZW decompression and
LZW decoding.

As a special feature, ChangeFSI will also write out 256 grey level files (alter
rwt, gwt and bwt to get 256 level colour separations) in AIM format. This is
file type 4 with bytes representing the grey level. Use the = operation to
restrict the picture to 256x256y, otherwise it will be the same size as the
input. Specify "aim" as the mode string to do this.

For portability to other machines, ChangeFSI can write out files in "pbm"
format. There are 3 types of format "black/white" (pbm), "grey" (pgm) and
"colour" (ppm) with pure ASCII and binary encodings of each:

ASCII                                   Binary
p1        "black/white" (like mode 18)  p4 (big endian bytes!)
p2        "grey" (like mode 20t)        p5
p3        "true colour"                 p6

Files can be read with Jef Poskanzer's portable toolkit on other machines. The
p2 format is easily convertible by programmers; it consists of:

P2
# comment line
xsize ysize
maximum_value
pixel_value <whitespace> pixel_value

where all the numbers are in decimal (ASCII). 0 means black, maximum_value (=
15) means white. The p3 format is similar with r, g, b triples for each pixel
value. The number of bits per component (default 8) can be set from the command
line with, for example, "p3,4" for 4 bits per component.

As a special packed output format, "P15" has been implemented. Output is binary
pixel values, 5 bits per component, little endian RGB order packed into 16
bits. Header information as the other p formats.

Files can be written as new RISC OS sprites using S16 and S32 as the formats.
The x and y pixels per inch are given as a comma seperated list - a 16 bit mode
12 equivalent is S16,90,45 while a 32 bit mode 28 equivalent is S32,90,90.

Files can be written as JPEG images using JPEG (colour) or JPEGMONO. A quality
in the range 1 to 100 must be added to the end (e.g. JPEG75 or JPEGMONO50).

ChangeFSI can write Irlam format images (somewhat slower than p6 images...).

                              Output summary
                              ==============

# cols   Colour Cube  Bits used  Consistent Hue  Desktop Palette  Mode&Suffix

2^24            Y         24           Y             -            S32, p3 or p6 or Irlam or JPEG
2^21            Y         21           Y             -            p6,7
2^18            Y         18           Y             -            p6,6
2^15            Y         15           Y             -            S16, p15 or p6,5
2^12            Y         12           Y             -            p6,4
512             Y          9           Y             -            p6,3
256 grey        n          8           Y             -            aim or JPEGMONO
256 grey        n          8           Y             -            28d
256             Y          8           Y             Y            28
256             Y          8           Y             Y            28r
16 grey         n          4           Y             n            27t
16 grey         n          4           Y             n            p2 or p5
8 grey          n          3           Y             Y            27
16              ?          4           ?             Y            27r
16              Y          3           Y           can be         27d
4 grey          n          2           Y             Y            26
4               n          2           n             n            26c
4               n          2           n             n            26r
2 (black/white) n          1           Y             Y            25
2 (black/white) n          1           Y             Y            25c/d/t
2 (black/white) n          1           Y             Y            p1 or p4


ChangeFSI can be used from both the desktop front end and from the command
line. It can also be used as a BASIC library function:
LIBRARY"<ChangeFSI$Dir>.ChangeFSI" gives a new function, FNChangeFSI to the
BASIC programmer. This function takes:
  A$: a command line argument
  spritearea%: an address or -1 for the spritearea built by ChangeFSI
  workspace%: an address or -1 for ChangeFSI's other workspace
  worklimit%: an address (unused if workspace%<0)
  fast%: TRUE for MODE 0 selection
It produces an error (to whatever error handler is present) if it fails. If
spritearea% is <0 it will save the sprite to the file given in the command
string, otherwise it won't. The function FNChangeFSIVersion returns the version
string of the library (in the info box of the desktop application).

                           Command Summary
                           ===============

-info     give details

-hist     don't process image, but display histogram of it instead

-hflip    horizontally flip the image
-vflip    vertically flip the image
-rotate   rotate the image by +90 degrees (i.e. anti-clockwise)
-rotate-  rotate the image by -90 degrees (i.e. clockwise)
-max      set the maximum size of the image before disc is used

-noscale  disable automatic pixel size correction
-nosize   disable automatic pixel size correction for input pixels only
-nodither disable dithering
-nomode   don't change to mode 0 while processing the picture
-invert   invert colour range of image

-range    expand input's dynamic range to full scale
-equal    histogram equalisation
-sharpen  digitally sharpen the picture
-smooth   digitally smooth the picture

-gamma    set gamma correction
-black    correct for black ink spot size
-red      change red weight for deriving monochrome luminance
-green    change green weight for deriving monochrome luminance
-blue     change blue weight for deriving monochrome luminance

-brighten horrendous hack to slightly brighten images: may convert hues
          close to white to white. (It causes the output range 0..15 to
          be considered as 0..(15/16) instead of 0..(15/15)).

                           Mode Suffixes
                           =============

c
  1 bit modes: use clustered dithering with 4x4 cell
  2 bit modes: use the four colours "black", "cyan", "magenta" and "yellow"
d
  1 bit modes: use clustered dithering with 2x2 cell
  4 bit modes: use 1 bit red, 1 bit green, 1 bit blue
  8 bit modes: use 256 level grey scale
t
  1 bit modes: use clustered dithering with 3x3 cell
  4 bit modes: 16 level grey scale
r
  2 bit modes: Devious colour matching algorithm
  4 bit modes: Devious colour matching algorithm
  8 bit modes: Devious colour matching algorithm
-no suffix-
  1 bit modes: b/w dispersed dot dithering
  2 bit modes: 4 level grey scale
  4 bit modes: 8 level grey scale
  8 bit modes: John Bowler's colour matching algorithm
               (defaults to 'r' mode if not VIDC1 compatible)

Colour matching is done in r, g, b space: the minimum distance between colours
is the square root of:
   delta_r^2*rmatchwt+delta_g^2*gmatchwt+delta_b^2*bmatchwt
ChangeFSI has hard wired weights of 3, 10, 1 respectively for its colour
matching algorithms. John Bowler's algorithm (default for RISC OS 8 bit modes)
although somewhat slower, is fast enough to have replaced all the previous
methods [ASIDE it gives pictures at least as good as "p" mode in pre Aug 91
ChangeFSI's]. The Devious colour matching algorithm is recommended, and is
used automatically if the 8 bit per pixel mode does not have the default RISC
OS colour set.

[NOTE: thanks are due to Steve Green and the BBC and Irlam Instruments for
the intermediate systems that led to John Bowler's and the Devious
algorithms: until Aug 91 ChangeFSI used their work for its "Precise
Matching" algorithm. It no longer uses any of their code, but owes a debt
for overall approach. A small thank you to Spencer Thomas for putting me on
the track which led to the Devious colour matching system's algorithm.]

Further information on dithering can be found in "Digital Halftoning" by Robert
Ulichney published by the MIT Press, ISBN 0-262-21009-6. A book which would have
been useful when starting writing the program, rather than after it was nearly
finished! Histogram equalisation is in "Algorithms for Graphics and Image
Processing" by Theo Pavlidis published by Computer Science Press, ISBN
0-914894-65-X.
00000000  20 20 20 20 20 43 68 61  6e 67 65 46 53 49 3a 20  |     ChangeFSI: |
00000010  43 6f 6c 6f 75 72 20 49  6d 61 67 65 20 50 72 6f  |Colour Image Pro|
00000020  63 65 73 73 69 6e 67 20  55 73 69 6e 67 20 74 68  |cessing Using th|
00000030  65 20 32 35 36 20 63 6f  6c 6f 75 72 20 6d 6f 64  |e 256 colour mod|
00000040  65 73 0a 0a 41 72 63 68  69 6d 65 64 65 73 20 63  |es..Archimedes c|
00000050  6f 6d 70 75 74 65 72 73  20 68 61 76 65 20 66 75  |omputers have fu|
00000060  6c 6c 20 63 6f 6c 6f 75  72 20 64 69 73 70 6c 61  |ll colour displa|
00000070  79 20 63 61 70 61 62 69  6c 69 74 69 65 73 20 62  |y capabilities b|
00000080  75 69 6c 74 20 69 6e 74  6f 20 74 68 65 6d 20 61  |uilt into them a|
00000090  73 0a 73 74 61 6e 64 61  72 64 2e 20 48 6f 77 65  |s.standard. Howe|
000000a0  76 65 72 2c 20 63 6f 6d  70 61 72 65 64 20 77 69  |ver, compared wi|
000000b0  74 68 20 74 68 65 20 68  61 72 64 77 61 72 65 20  |th the hardware |
000000c0  66 6f 75 6e 64 20 69 6e  20 6c 61 72 67 65 72 20  |found in larger |
000000d0  77 6f 72 6b 73 74 61 74  69 6f 6e 73 2c 20 74 68  |workstations, th|
000000e0  65 0a 66 61 63 69 6c 69  74 69 65 73 20 70 72 6f  |e.facilities pro|
000000f0  76 69 64 65 64 20 68 61  76 65 20 62 65 65 6e 20  |vided have been |
00000100  63 61 72 65 66 75 6c 6c  79 20 72 65 64 75 63 65  |carefully reduce|
00000110  64 20 28 69 6e 20 6f 72  64 65 72 20 74 6f 20 6d  |d (in order to m|
00000120  61 6b 65 20 74 68 65 6d  20 63 68 65 61 70 0a 65  |ake them cheap.e|
00000130  6e 6f 75 67 68 20 74 6f  20 66 69 74 20 61 6c 6c  |nough to fit all|
00000140  20 74 68 65 20 74 69 6d  65 29 2e 20 53 6f 20 74  | the time). So t|
00000150  68 65 20 70 72 65 63 69  73 69 6f 6e 20 6f 66 20  |he precision of |
00000160  74 68 65 20 64 69 67 69  74 61 6c 20 74 6f 20 61  |the digital to a|
00000170  6e 61 6c 6f 67 75 65 0a  63 6f 6e 76 65 72 74 65  |nalogue.converte|
00000180  72 73 20 69 73 20 6f 6e  6c 79 20 34 20 62 69 74  |rs is only 4 bit|
00000190  73 20 28 69 6e 73 74 65  61 64 20 6f 66 20 38 29  |s (instead of 8)|
000001a0  20 61 6e 64 20 74 68 65  20 63 6f 6c 6f 75 72 20  | and the colour |
000001b0  70 61 6c 65 74 74 65 20  6f 6e 6c 79 20 68 61 73  |palette only has|
000001c0  20 31 36 0a 65 6e 74 72  69 65 73 20 28 69 6e 73  | 16.entries (ins|
000001d0  74 65 61 64 20 6f 66 20  32 35 36 29 2e 0a 0a 54  |tead of 256)...T|
000001e0  68 65 20 56 49 44 43 20  32 35 36 20 63 6f 6c 6f  |he VIDC 256 colo|
000001f0  75 72 20 6d 6f 64 65 0a  3d 3d 3d 3d 3d 3d 3d 3d  |ur mode.========|
00000200  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
00000210  3d 0a 0a 48 61 73 20 34  20 64 69 72 65 63 74 20  |=..Has 4 direct |
00000220  62 69 74 73 20 28 74 6f  70 20 32 20 67 72 65 65  |bits (top 2 gree|
00000230  6e 2c 20 74 6f 70 20 72  65 64 20 61 6e 64 20 62  |n, top red and b|
00000240  6c 75 65 29 20 70 6c 75  73 20 34 20 70 61 6c 65  |lue) plus 4 pale|
00000250  74 74 65 20 6c 6f 6f 6b  20 75 70 20 62 69 74 73  |tte look up bits|
00000260  0a 77 68 69 63 68 20 61  66 66 65 63 74 20 74 68  |.which affect th|
00000270  65 20 72 65 6d 61 69 6e  69 6e 67 20 44 41 43 20  |e remaining DAC |
00000280  62 69 74 73 2e 20 54 68  69 73 20 74 68 65 72 65  |bits. This there|
00000290  66 6f 72 65 20 67 69 76  65 73 20 61 20 63 68 6f  |fore gives a cho|
000002a0  69 63 65 20 6f 66 20 32  35 36 0a 63 6f 6c 6f 75  |ice of 256.colou|
000002b0  72 73 20 66 72 6f 6d 20  34 30 39 36 2c 20 62 75  |rs from 4096, bu|
000002c0  74 20 74 68 65 20 63 68  6f 69 63 65 20 69 73 20  |t the choice is |
000002d0  6e 6f 74 20 61 20 66 72  65 65 20 6f 6e 65 20 69  |not a free one i|
000002e0  6e 20 74 68 61 74 20 74  68 65 20 34 20 64 69 72  |n that the 4 dir|
000002f0  65 63 74 20 62 69 74 73  0a 61 72 65 20 61 6c 77  |ect bits.are alw|
00000300  61 79 73 20 63 6f 6e 6e  65 63 74 65 64 3a 20 74  |ays connected: t|
00000310  68 69 73 20 6c 65 61 76  65 73 20 6f 6e 6c 79 20  |his leaves only |
00000320  32 35 36 20 73 65 6c 65  63 74 69 6f 6e 73 20 61  |256 selections a|
00000330  76 61 69 6c 61 62 6c 65  20 66 72 6f 6d 20 74 68  |vailable from th|
00000340  65 20 34 30 39 36 0a 63  6f 6c 6f 75 72 20 72 61  |e 4096.colour ra|
00000350  6e 67 65 2e 20 54 6f 20  72 65 70 65 61 74 3a 20  |nge. To repeat: |
00000360  74 68 65 72 65 20 61 72  65 20 32 35 36 20 73 69  |there are 256 si|
00000370  6d 75 6c 74 61 6e 65 6f  75 73 20 63 6f 6c 6f 75  |multaneous colou|
00000380  72 73 20 69 6e 20 61 20  73 65 6c 65 63 74 69 6f  |rs in a selectio|
00000390  6e 20 6f 75 74 0a 6f 66  20 34 30 39 36 20 63 6f  |n out.of 4096 co|
000003a0  6c 6f 75 72 73 2c 20 77  68 65 72 65 20 74 68 65  |lours, where the|
000003b0  72 65 20 61 72 65 20 6f  6e 6c 79 20 32 35 36 20  |re are only 256 |
000003c0  22 6c 65 67 61 6c 22 20  73 65 6c 65 63 74 69 6f  |"legal" selectio|
000003d0  6e 73 2e 20 54 68 65 20  6e 65 77 20 56 49 44 43  |ns. The new VIDC|
000003e0  32 30 0a 61 6c 6c 6f 77  73 20 61 6e 20 61 72 62  |20.allows an arb|
000003f0  69 74 72 61 72 79 20 73  65 6c 65 63 74 69 6f 6e  |itrary selection|
00000400  20 6f 66 20 63 6f 6c 6f  75 72 73 2c 20 62 75 74  | of colours, but|
00000410  20 74 68 65 20 64 65 66  61 75 6c 74 20 73 69 74  | the default sit|
00000420  75 61 74 69 6f 6e 20 69  73 0a 69 64 65 6e 74 69  |uation is.identi|
00000430  63 61 6c 2e 0a 0a 54 68  65 72 65 20 61 72 65 20  |cal...There are |
00000440  22 6f 70 74 69 6d 61 6c  22 20 73 65 6c 65 63 74  |"optimal" select|
00000450  69 6f 6e 73 2e 20 41 6e  20 6f 70 74 69 6d 61 6c  |ions. An optimal|
00000460  20 73 65 6c 65 63 74 69  6f 6e 20 69 73 20 6f 6e  | selection is on|
00000470  65 20 77 68 69 63 68 20  63 6f 76 65 72 73 20 74  |e which covers t|
00000480  68 65 0a 65 6e 74 69 72  65 20 52 2c 20 47 2c 20  |he.entire R, G, |
00000490  42 20 63 6f 6c 6f 75 72  20 63 75 62 65 20 28 69  |B colour cube (i|
000004a0  2e 65 2e 20 30 2d 66 75  6c 6c 73 63 61 6c 65 20  |.e. 0-fullscale |
000004b0  66 6f 72 20 65 61 63 68  20 6f 66 20 74 68 65 20  |for each of the |
000004c0  63 6f 6c 6f 75 72 73 29  20 61 6e 64 20 63 61 6e  |colours) and can|
000004d0  0a 74 68 75 73 20 62 65  20 64 69 74 68 65 72 65  |.thus be dithere|
000004e0  64 20 74 6f 20 66 72 6f  6d 20 61 6e 79 20 70 69  |d to from any pi|
000004f0  63 74 75 72 65 20 28 69  66 20 6f 6e 65 20 63 6f  |cture (if one co|
00000500  6e 73 69 64 65 72 73 20  70 69 63 74 75 72 65 27  |nsiders picture'|
00000510  73 20 63 6f 6c 6f 75 72  20 72 61 6e 67 65 0a 61  |s colour range.a|
00000520  73 20 61 6e 20 61 72 62  69 74 72 61 72 79 20 76  |s an arbitrary v|
00000530  6f 6c 75 6d 65 20 69 6e  20 74 68 65 20 63 6f 6c  |olume in the col|
00000540  6f 75 72 20 63 75 62 65  2c 20 74 68 65 6e 20 79  |our cube, then y|
00000550  6f 75 20 63 61 6e 20 64  69 74 68 65 72 2f 64 69  |ou can dither/di|
00000560  73 70 6c 61 79 20 61 0a  70 69 63 74 75 72 65 20  |splay a.picture |
00000570  61 63 63 75 72 61 74 65  6c 79 20 69 66 20 61 6e  |accurately if an|
00000580  64 20 6f 6e 6c 79 20 69  66 20 74 68 65 20 76 6f  |d only if the vo|
00000590  6c 75 6d 65 20 63 6f 76  65 72 65 64 20 62 79 20  |lume covered by |
000005a0  74 68 65 20 61 76 61 69  6c 61 62 6c 65 20 63 6f  |the available co|
000005b0  6c 6f 75 72 73 0a 65 6e  63 6c 6f 73 65 73 20 74  |lours.encloses t|
000005c0  68 65 20 70 69 63 74 75  72 65 27 73 29 2e 20 54  |he picture's). T|
000005d0  68 65 20 6f 70 74 69 6d  61 6c 20 73 65 6c 65 63  |he optimal selec|
000005e0  74 69 6f 6e 20 75 73 65  64 20 66 6f 72 20 74 68  |tion used for th|
000005f0  65 20 52 49 53 43 20 4f  53 20 32 35 36 20 63 6f  |e RISC OS 256 co|
00000600  6c 6f 75 72 0a 6d 6f 64  65 20 70 61 6c 65 74 74  |lour.mode palett|
00000610  65 20 63 6f 6e 74 61 69  6e 73 20 32 20 6d 6f 73  |e contains 2 mos|
00000620  74 20 73 69 67 6e 69 66  69 63 61 6e 74 20 62 69  |t significant bi|
00000630  74 73 20 6f 66 20 52 65  64 2c 20 32 20 6d 6f 73  |ts of Red, 2 mos|
00000640  74 20 73 69 67 6e 69 66  69 63 61 6e 74 20 62 69  |t significant bi|
00000650  74 73 0a 6f 66 20 47 72  65 65 6e 20 61 6e 64 20  |ts.of Green and |
00000660  32 20 6d 6f 73 74 20 73  69 67 6e 69 66 69 63 61  |2 most significa|
00000670  6e 74 20 62 69 74 73 20  6f 66 20 42 6c 75 65 2c  |nt bits of Blue,|
00000680  20 77 69 74 68 20 74 68  65 20 6c 61 73 74 20 32  | with the last 2|
00000690  20 62 69 74 73 20 63 6f  6e 74 72 6f 6c 6c 69 6e  | bits controllin|
000006a0  67 0a 74 68 65 20 32 20  6c 65 61 73 74 20 73 69  |g.the 2 least si|
000006b0  67 6e 69 66 69 63 61 6e  74 20 62 69 74 73 20 69  |gnificant bits i|
000006c0  6e 20 70 61 72 61 6c 6c  65 6c 20 28 22 61 64 64  |n parallel ("add|
000006d0  73 20 77 68 69 74 65 22  20 74 6f 20 61 20 63 6f  |s white" to a co|
000006e0  6c 6f 75 72 29 2e 20 54  68 75 73 20 70 65 61 6b  |lour). Thus peak|
000006f0  0a 52 2c 20 47 2c 20 42  20 69 73 20 6f 62 74 61  |.R, G, B is obta|
00000700  69 6e 65 64 20 28 77 69  74 68 6f 75 74 20 73 69  |ined (without si|
00000710  64 65 20 65 66 66 65 63  74 73 20 69 66 20 76 61  |de effects if va|
00000720  72 69 65 64 20 73 69 6d  75 6c 74 61 6e 65 6f 75  |ried simultaneou|
00000730  73 6c 79 2c 20 77 69 74  68 20 61 20 73 69 64 65  |sly, with a side|
00000740  0a 65 66 66 65 63 74 20  69 66 20 70 65 61 6b 20  |.effect if peak |
00000750  52 20 28 73 61 79 29 20  61 6c 6f 6e 65 20 69 73  |R (say) alone is|
00000760  20 72 65 71 75 69 72 65  64 29 2e 20 41 20 63 6f  | required). A co|
00000770  72 72 65 63 74 6c 79 20  64 65 73 69 67 6e 65 64  |rrectly designed|
00000780  20 65 72 72 6f 72 20 64  69 66 66 75 73 69 6f 6e  | error diffusion|
00000790  0a 64 69 74 68 65 72 20  61 6c 67 6f 72 69 74 68  |.dither algorith|
000007a0  6d 20 63 61 6e 20 64 69  73 70 6c 61 79 20 70 69  |m can display pi|
000007b0  63 74 75 72 65 73 20 77  69 74 68 20 76 65 72 79  |ctures with very|
000007c0  20 68 69 67 68 20 66 69  64 65 6c 69 74 79 2e 20  | high fidelity. |
000007d0  5b 6e 6f 74 65 20 74 68  61 74 0a 64 69 74 68 65  |[note that.dithe|
000007e0  72 69 6e 67 20 61 6c 6c  20 70 69 63 74 75 72 65  |ring all picture|
000007f0  73 20 77 69 74 68 20 61  20 73 69 6e 67 6c 65 20  |s with a single |
00000800  70 61 6c 65 74 74 65 20  70 65 72 6d 69 74 73 20  |palette permits |
00000810  74 68 65 69 72 20 64 69  73 70 6c 61 79 0a 73 69  |their display.si|
00000820  6d 75 6c 74 61 6e 65 6f  75 73 6c 79 20 6f 6e 20  |multaneously on |
00000830  74 68 65 20 73 63 72 65  65 6e 2c 20 61 6c 73 6f  |the screen, also|
00000840  20 6e 6f 74 65 20 74 68  61 74 20 64 69 74 68 65  | note that dithe|
00000850  72 69 6e 67 20 74 6f 20  61 20 66 69 78 65 64 20  |ring to a fixed |
00000860  70 61 6c 65 74 74 65 20  69 73 0a 6d 75 63 68 20  |palette is.much |
00000870  71 75 69 63 6b 65 72 20  74 68 61 6e 20 73 65 6c  |quicker than sel|
00000880  65 63 74 69 6e 67 20 61  20 70 61 6c 65 74 74 65  |ecting a palette|
00000890  20 66 69 72 73 74 21 5d  0a 0a 4f 6e 65 20 63 61  | first!]..One ca|
000008a0  6e 20 61 6c 73 6f 20 70  72 6f 67 72 61 6d 20 74  |n also program t|
000008b0  68 65 20 73 79 73 74 65  6d 20 66 6f 72 20 61 20  |he system for a |
000008c0  6c 61 72 67 65 20 6e 75  6d 62 65 72 20 6f 66 20  |large number of |
000008d0  6e 20 62 69 74 73 20 70  65 72 20 63 6f 6c 6f 75  |n bits per colou|
000008e0  72 20 6d 6f 64 65 73 2c  0a 77 69 74 68 20 74 68  |r modes,.with th|
000008f0  65 20 6e 20 62 69 74 73  20 73 74 61 72 74 69 6e  |e n bits startin|
00000900  67 20 61 74 20 74 68 65  20 6d 6f 73 74 20 73 69  |g at the most si|
00000910  67 6e 69 66 69 63 61 6e  74 20 65 6e 64 20 6f 66  |gnificant end of|
00000920  20 74 68 65 20 63 6f 6c  6f 75 72 20 72 61 6e 67  | the colour rang|
00000930  65 2e 20 46 6f 72 0a 65  78 61 6d 70 6c 65 20 34  |e. For.example 4|
00000940  20 62 69 74 73 20 6f 66  20 67 72 65 65 6e 2c 20  | bits of green, |
00000950  33 20 62 69 74 73 20 6f  66 20 72 65 64 20 61 6e  |3 bits of red an|
00000960  64 20 31 20 62 69 74 20  6f 66 20 62 6c 75 65 2e  |d 1 bit of blue.|
00000970  20 54 68 65 20 63 6f 6e  73 74 72 61 69 6e 74 73  | The constraints|
00000980  20 61 72 65 3a 0a 20 20  20 20 20 32 20 3c 3d 20  | are:.     2 <= |
00000990  6e 47 72 65 65 6e 20 3c  3d 20 34 0a 20 20 20 20  |nGreen <= 4.    |
000009a0  20 31 20 3c 3d 20 6e 52  65 64 20 20 20 3c 3d 20  | 1 <= nRed   <= |
000009b0  34 0a 20 20 20 20 20 31  20 3c 3d 20 6e 42 6c 75  |4.     1 <= nBlu|
000009c0  65 20 20 3c 3d 20 34 0a  20 20 20 20 20 28 61 6e  |e  <= 4.     (an|
000009d0  64 20 6e 52 65 64 2b 6e  42 6c 75 65 2b 6e 47 72  |d nRed+nBlue+nGr|
000009e0  65 65 6e 3d 38 29 0a 4d  6f 64 65 73 20 6c 69 6b  |een=8).Modes lik|
000009f0  65 20 74 68 65 73 65 20  61 72 65 20 6f 66 74 65  |e these are ofte|
00000a00  6e 20 75 73 65 66 75 6c  20 66 6f 72 20 72 65 61  |n useful for rea|
00000a10  6c 20 74 69 6d 65 20 73  6f 6c 69 64 20 6d 6f 64  |l time solid mod|
00000a20  65 6c 6c 69 6e 67 20 28  77 68 65 72 65 20 74 68  |elling (where th|
00000a30  65 0a 65 78 70 65 6e 73  65 20 6f 66 20 64 69 74  |e.expense of dit|
00000a40  68 65 72 69 6e 67 20 77  69 74 68 20 65 72 72 6f  |hering with erro|
00000a50  72 20 64 69 66 66 75 73  69 6f 6e 20 28 63 69 72  |r diffusion (cir|
00000a60  63 61 20 31 30 30 20 63  79 63 6c 65 73 20 70 65  |ca 100 cycles pe|
00000a70  72 20 70 69 78 65 6c 29  20 63 61 6e 6e 6f 74 0a  |r pixel) cannot.|
00000a80  62 65 20 61 66 66 6f 72  64 65 64 29 2e 20 54 68  |be afforded). Th|
00000a90  65 73 65 20 73 65 6c 65  63 74 69 6f 6e 73 20 61  |ese selections a|
00000aa0  72 65 20 6e 6f 6e 2d 6f  70 74 69 6d 61 6c 3a 20  |re non-optimal: |
00000ab0  74 68 65 20 63 6f 6c 6f  75 72 20 63 75 62 65 20  |the colour cube |
00000ac0  69 73 20 6e 6f 74 0a 63  6f 6d 70 6c 65 74 65 6c  |is not.completel|
00000ad0  79 20 73 70 61 6e 6e 65  64 2e 0a 0a 44 69 73 70  |y spanned...Disp|
00000ae0  6c 61 79 69 6e 67 20 41  20 50 69 63 74 75 72 65  |laying A Picture|
00000af0  0a 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |.===============|
00000b00  3d 3d 3d 3d 3d 0a 0a 53  69 6e 63 65 20 61 20 63  |=====..Since a c|
00000b10  6f 6c 6f 75 72 20 69 6e  20 74 68 65 20 32 35 36  |olour in the 256|
00000b20  20 63 6f 6c 6f 75 72 20  6d 6f 64 65 20 63 61 6e  | colour mode can|
00000b30  20 62 65 20 73 75 63 68  20 61 20 63 6f 6d 70 6c  | be such a compl|
00000b40  69 63 61 74 65 64 20 74  68 69 6e 67 2c 20 77 69  |icated thing, wi|
00000b50  74 68 0a 76 61 72 79 69  6e 67 20 63 61 70 61 62  |th.varying capab|
00000b60  69 6c 69 74 79 20 6f 66  20 73 70 61 6e 6e 69 6e  |ility of spannin|
00000b70  67 20 74 68 65 20 63 6f  6c 6f 75 72 20 63 75 62  |g the colour cub|
00000b80  65 20 61 6e 64 20 61 6e  20 75 6e 6b 6e 6f 77 6e  |e and an unknown|
00000b90  20 61 63 63 75 72 61 63  79 2c 20 74 68 65 72 65  | accuracy, there|
00000ba0  0a 69 73 20 61 20 52 49  53 43 20 4f 53 20 73 74  |.is a RISC OS st|
00000bb0  61 6e 64 61 72 64 20 77  61 79 20 6f 66 20 73 70  |andard way of sp|
00000bc0  65 63 69 66 79 69 6e 67  20 61 20 63 6f 6c 6f 75  |ecifying a colou|
00000bd0  72 20 79 6f 75 20 77 69  73 68 20 74 6f 20 64 72  |r you wish to dr|
00000be0  61 77 20 77 69 74 68 20  75 73 69 6e 67 20 38 0a  |aw with using 8.|
00000bf0  62 69 74 73 20 66 6f 72  20 52 2c 20 47 20 61 6e  |bits for R, G an|
00000c00  64 20 42 20 63 6f 6d 70  6f 6e 65 6e 74 73 2e 20  |d B components. |
00000c10  41 20 63 61 6c 6c 20 74  6f 20 74 68 65 20 6f 70  |A call to the op|
00000c20  65 72 61 74 69 6e 67 20  73 79 73 74 65 6d 20 63  |erating system c|
00000c30  6f 6e 76 65 72 74 73 20  74 68 69 73 20 74 6f 0a  |onverts this to.|
00000c40  74 68 65 20 6e 65 61 72  65 73 74 20 63 6f 6c 6f  |the nearest colo|
00000c50  75 72 20 61 6e 64 20 6e  65 77 20 6f 62 6a 65 63  |ur and new objec|
00000c60  74 73 20 63 61 6e 20 62  65 20 64 72 61 77 6e 2e  |ts can be drawn.|
00000c70  0a 0a 57 68 65 72 65 20  74 68 65 20 6f 62 6a 65  |..Where the obje|
00000c80  63 74 20 74 6f 20 62 65  20 64 72 61 77 6e 20 69  |ct to be drawn i|
00000c90  73 20 61 20 70 72 65 76  69 6f 75 73 6c 79 20 67  |s a previously g|
00000ca0  65 6e 65 72 61 74 65 64  20 70 69 63 74 75 72 65  |enerated picture|
00000cb0  2c 20 74 68 65 20 6d 6f  64 75 6c 65 73 0a 22 53  |, the modules."S|
00000cc0  70 72 69 74 65 45 78 74  65 6e 64 22 20 28 69 6e  |priteExtend" (in|
00000cd0  20 74 68 65 20 52 4f 4d  29 20 61 6e 64 20 22 43  | the ROM) and "C|
00000ce0  6f 6c 6f 75 72 54 72 61  6e 73 22 20 28 69 6e 20  |olourTrans" (in |
00000cf0  74 68 65 20 21 53 79 73  74 65 6d 20 64 69 72 65  |the !System dire|
00000d00  63 74 6f 72 79 29 20 69  6e 0a 52 49 53 43 20 4f  |ctory) in.RISC O|
00000d10  53 20 70 72 6f 76 69 64  65 20 73 6f 6d 65 20 63  |S provide some c|
00000d20  61 70 61 62 69 6c 69 74  65 73 20 66 6f 72 20 64  |apabilites for d|
00000d30  69 73 70 6c 61 79 69 6e  67 20 70 69 63 74 75 72  |isplaying pictur|
00000d40  65 73 20 69 6e 20 64 69  66 66 65 72 65 6e 74 20  |es in different |
00000d50  73 63 72 65 65 6e 0a 6d  6f 64 65 73 2e 20 43 6f  |screen.modes. Co|
00000d60  6c 6f 75 72 54 72 61 6e  73 20 63 61 6e 20 6c 6f  |lourTrans can lo|
00000d70  6f 6b 20 61 74 20 74 68  65 20 70 61 6c 65 74 74  |ok at the palett|
00000d80  65 20 77 68 69 63 68 20  61 20 73 70 72 69 74 65  |e which a sprite|
00000d90  20 75 73 65 73 20 61 6e  64 20 72 65 74 75 72 6e  | uses and return|
00000da0  20 61 0a 6c 69 73 74 20  6f 66 20 74 68 65 20 65  | a.list of the e|
00000db0  71 75 69 76 61 6c 65 6e  74 20 27 63 6c 6f 73 65  |quivalent 'close|
00000dc0  73 74 27 20 63 6f 6c 6f  75 72 73 20 69 6e 20 74  |st' colours in t|
00000dd0  68 65 20 63 75 72 72 65  6e 74 20 73 63 72 65 65  |he current scree|
00000de0  6e 20 6d 6f 64 65 2e 0a  53 70 72 69 74 65 45 78  |n mode..SpriteEx|
00000df0  74 65 6e 64 20 63 61 6e  20 70 61 69 6e 74 20 73  |tend can paint s|
00000e00  70 72 69 74 65 73 20 75  73 69 6e 67 20 74 68 65  |prites using the|
00000e10  20 6c 69 73 74 20 6f 66  20 65 71 75 69 76 61 6c  | list of equival|
00000e20  65 6e 74 20 63 6f 6c 6f  75 72 73 20 61 6e 64 20  |ent colours and |
00000e30  63 61 6e 0a 63 68 61 6e  67 65 20 74 68 65 20 73  |can.change the s|
00000e40  69 7a 65 20 6f 66 20 74  68 65 20 69 6d 61 67 65  |ize of the image|
00000e50  20 69 6e 74 6f 20 74 68  65 20 62 61 72 67 61 69  | into the bargai|
00000e60  6e 2e 20 54 68 69 73 20  69 73 20 61 6c 6c 20 76  |n. This is all v|
00000e70  65 72 79 20 77 65 6c 6c  20 66 6f 72 20 73 69 6d  |ery well for sim|
00000e80  70 6c 65 0a 70 69 63 74  75 72 65 73 20 6f 72 20  |ple.pictures or |
00000e90  70 69 63 74 75 72 65 73  20 63 72 65 61 74 65 64  |pictures created|
00000ea0  20 64 69 72 65 63 74 6c  79 20 66 6f 72 20 61 20  | directly for a |
00000eb0  70 61 72 74 69 63 75 6c  61 72 20 6d 6f 64 65 2c  |particular mode,|
00000ec0  20 62 75 74 20 77 68 61  74 20 68 61 70 70 65 6e  | but what happen|
00000ed0  73 0a 66 6f 72 20 6d 6f  72 65 20 64 65 74 61 69  |s.for more detai|
00000ee0  6c 65 64 20 69 6e 66 6f  72 6d 61 74 69 6f 6e 20  |led information |
00000ef0  6f 72 20 70 69 63 74 75  72 65 73 20 66 72 6f 6d  |or pictures from|
00000f00  20 6f 74 68 65 72 20 73  6f 75 72 63 65 73 20 77  | other sources w|
00000f10  69 74 68 20 72 65 73 6f  6c 75 74 69 6f 6e 0a 6e  |ith resolution.n|
00000f20  6f 74 20 6d 61 74 63 68  65 64 20 62 79 20 74 68  |ot matched by th|
00000f30  65 20 41 72 63 68 69 6d  65 64 65 73 20 68 61 72  |e Archimedes har|
00000f40  64 77 61 72 65 3f 0a 0a  41 6c 73 6f 20 74 68 65  |dware?..Also the|
00000f50  20 61 62 6f 76 65 20 66  61 63 69 6c 69 74 69 65  | above facilitie|
00000f60  73 20 61 72 65 20 72 61  74 68 65 72 20 62 61 73  |s are rather bas|
00000f70  69 63 3a 20 43 6f 6c 6f  75 72 54 72 61 6e 73 20  |ic: ColourTrans |
00000f80  6d 61 6b 65 73 20 6e 6f  20 65 66 66 6f 72 74 20  |makes no effort |
00000f90  74 6f 20 75 73 65 0a 64  69 74 68 65 72 69 6e 67  |to use.dithering|
00000fa0  20 28 74 68 65 20 70 72  61 63 74 69 73 65 20 6f  | (the practise o|
00000fb0  66 20 70 75 74 74 69 6e  67 20 70 61 74 74 65 72  |f putting patter|
00000fc0  6e 73 20 6f 66 20 64 69  66 66 65 72 65 6e 74 20  |ns of different |
00000fd0  63 6f 6c 6f 75 72 65 64  20 70 69 78 65 6c 73 0a  |coloured pixels.|
00000fe0  74 6f 67 65 74 68 65 72  20 74 6f 20 72 65 70 72  |together to repr|
00000ff0  65 73 65 6e 74 20 6f 74  68 65 72 20 63 6f 6c 6f  |esent other colo|
00001000  75 72 73 29 20 61 6e 64  20 53 70 72 69 74 65 45  |urs) and SpriteE|
00001010  78 74 65 6e 64 20 73 69  6d 70 6c 79 20 64 69 73  |xtend simply dis|
00001020  63 61 72 64 73 0a 61 64  64 69 74 69 6f 6e 61 6c  |cards.additional|
00001030  20 69 6e 66 6f 72 6d 61  74 69 6f 6e 20 69 66 20  | information if |
00001040  72 65 64 75 63 69 6e 67  20 74 68 65 20 70 69 63  |reducing the pic|
00001050  74 75 72 65 20 69 6e 20  73 69 7a 65 20 28 61 6e  |ture in size (an|
00001060  64 20 74 6f 67 65 74 68  65 72 20 74 68 65 79 20  |d together they |
00001070  6d 61 6b 65 0a 6e 6f 20  61 74 74 65 6d 70 74 20  |make.no attempt |
00001080  74 6f 20 65 6e 68 61 6e  63 65 20 74 68 65 20 70  |to enhance the p|
00001090  69 63 74 75 72 65 20 77  68 65 6e 20 6d 61 6b 69  |icture when maki|
000010a0  6e 67 20 69 74 20 6c 61  72 67 65 72 29 2e 20 54  |ng it larger). T|
000010b0  68 65 20 72 65 61 73 6f  6e 20 66 6f 72 20 74 68  |he reason for th|
000010c0  65 73 65 0a 73 68 6f 72  74 63 6f 6d 69 6e 67 73  |ese.shortcomings|
000010d0  20 69 73 20 71 75 69 74  65 20 73 69 6d 70 6c 65  | is quite simple|
000010e0  3a 20 73 70 65 65 64 2e  20 54 68 65 20 61 6c 67  |: speed. The alg|
000010f0  6f 72 69 74 68 6d 20 75  73 65 64 20 69 6e 20 43  |orithm used in C|
00001100  68 61 6e 67 65 46 53 49  20 75 73 65 73 20 31 30  |hangeFSI uses 10|
00001110  35 0a 41 52 4d 20 69 6e  73 74 72 75 63 74 69 6f  |5.ARM instructio|
00001120  6e 73 20 70 65 72 20 70  69 78 65 6c 20 2d 20 61  |ns per pixel - a|
00001130  6e 64 20 74 68 61 74 27  73 20 61 70 61 72 74 20  |nd that's apart |
00001140  66 72 6f 6d 20 61 6e 79  20 69 6e 73 74 72 75 63  |from any instruc|
00001150  74 69 6f 6e 73 20 75 73  65 64 20 74 6f 0a 72 65  |tions used to.re|
00001160  61 64 20 74 68 65 20 69  6d 61 67 65 20 69 6e 2c  |ad the image in,|
00001170  20 63 68 61 6e 67 65 20  69 74 73 20 73 69 7a 65  | change its size|
00001180  20 61 6e 64 20 77 72 69  74 65 20 74 68 65 20 72  | and write the r|
00001190  65 73 75 6c 74 20 6f 75  74 2e 20 46 6f 72 20 63  |esult out. For c|
000011a0  6f 6d 70 61 72 69 73 6f  6e 2c 0a 74 68 65 20 6e  |omparison,.the n|
000011b0  6f 72 6d 61 6c 20 73 70  72 69 74 65 20 70 6c 6f  |ormal sprite plo|
000011c0  74 20 74 61 6b 65 73 20  6f 6e 6c 79 20 6f 6e 65  |t takes only one|
000011d0  20 69 6e 73 74 72 75 63  74 69 6f 6e 20 70 65 72  | instruction per|
000011e0  20 70 69 78 65 6c 20 28  34 20 69 6e 73 74 72 75  | pixel (4 instru|
000011f0  63 74 69 6f 6e 73 20 66  6f 72 0a 66 6f 75 72 20  |ctions for.four |
00001200  38 20 62 69 74 20 70 69  78 65 6c 73 29 2e 20 50  |8 bit pixels). P|
00001210  72 6f 63 65 73 73 69 6e  67 20 61 20 4d 4f 44 45  |rocessing a MODE|
00001220  20 31 35 20 70 69 63 74  75 72 65 20 74 68 75 73  | 15 picture thus|
00001230  20 75 73 65 73 20 75 70  20 74 6f 6f 20 6d 61 6e  | uses up too man|
00001240  79 20 73 65 63 6f 6e 64  73 0a 6f 66 20 41 52 4d  |y seconds.of ARM|
00001250  20 63 70 75 20 74 69 6d  65 20 74 6f 20 69 6d 61  | cpu time to ima|
00001260  67 69 6e 65 20 69 74 20  61 73 20 70 61 72 74 20  |gine it as part |
00001270  6f 66 20 74 68 65 20 69  6e 74 65 72 61 63 74 69  |of the interacti|
00001280  76 65 20 64 65 73 6b 74  6f 70 2e 0a 0a 53 6f 20  |ve desktop...So |
00001290  77 68 61 74 20 64 6f 65  73 20 43 68 61 6e 67 65  |what does Change|
000012a0  46 53 49 20 64 6f 20 74  6f 20 6d 61 6b 65 20 74  |FSI do to make t|
000012b0  68 65 20 73 69 74 75 61  74 69 6f 6e 20 62 65 74  |he situation bet|
000012c0  74 65 72 3f 20 41 6e 64  20 77 68 79 20 64 6f 65  |ter? And why doe|
000012d0  73 20 69 74 20 74 61 6b  65 20 73 6f 0a 6c 6f 6e  |s it take so.lon|
000012e0  67 3f 20 4f 6e 65 20 63  61 6e 20 69 6d 6d 65 64  |g? One can immed|
000012f0  69 61 74 65 6c 79 20 64  72 61 77 20 75 70 20 73  |iately draw up s|
00001300  6f 6d 65 20 64 65 73 69  72 61 62 6c 65 20 70 72  |ome desirable pr|
00001310  6f 70 65 72 74 69 65 73  20 66 6f 72 20 61 6e 79  |operties for any|
00001320  20 73 6f 6c 75 74 69 6f  6e 20 74 6f 0a 74 68 65  | solution to.the|
00001330  20 69 6d 61 67 65 20 63  68 61 6e 67 69 6e 67 20  | image changing |
00001340  70 72 6f 62 6c 65 6d 3a  0a 0a 28 31 29 20 4d 61  |problem:..(1) Ma|
00001350  78 69 6d 69 73 69 6e 67  20 74 68 65 20 76 6f 6c  |ximising the vol|
00001360  75 6d 65 20 6f 66 20 74  68 65 20 63 6f 6c 6f 75  |ume of the colou|
00001370  72 20 63 75 62 65 2e 20  43 6f 6c 6f 75 72 20 72  |r cube. Colour r|
00001380  65 70 72 65 73 65 6e 74  65 64 20 69 6e 20 74 68  |epresented in th|
00001390  65 20 52 65 64 2c 0a 47  72 65 65 6e 20 61 6e 64  |e Red,.Green and|
000013a0  20 42 6c 75 65 20 63 6f  6d 70 75 74 65 72 20 67  | Blue computer g|
000013b0  72 61 70 68 69 63 73 20  73 79 73 74 65 6d 20 63  |raphics system c|
000013c0  61 6e 20 62 65 20 74 68  6f 75 67 68 74 20 6f 66  |an be thought of|
000013d0  20 61 73 20 61 20 70 6f  69 6e 74 20 69 6e 20 61  | as a point in a|
000013e0  20 33 44 0a 63 75 62 65  20 77 68 6f 73 65 20 61  | 3D.cube whose a|
000013f0  78 65 73 20 61 72 65 20  74 68 65 20 72 65 64 2c  |xes are the red,|
00001400  20 67 72 65 65 6e 20 61  6e 64 20 62 6c 75 65 20  | green and blue |
00001410  76 61 6c 75 65 73 2e 20  57 68 61 74 65 76 65 72  |values. Whatever|
00001420  20 63 6c 65 76 65 72 0a  61 70 70 72 6f 78 69 6d  | clever.approxim|
00001430  61 74 69 6f 6e 73 2c 20  64 69 74 68 65 72 69 6e  |ations, ditherin|
00001440  67 20 6f 72 20 65 72 72  6f 72 20 64 69 66 66 75  |g or error diffu|
00001450  73 69 6f 6e 20 74 65 63  68 6e 69 71 75 65 73 20  |sion techniques |
00001460  61 72 65 20 75 73 65 64  2c 20 74 68 65 20 63 6f  |are used, the co|
00001470  6c 6f 75 72 0a 76 6f 6c  75 6d 65 20 73 70 61 6e  |lour.volume span|
00001480  6e 65 64 20 62 79 20 74  68 65 20 72 2c 20 67 20  |ned by the r, g |
00001490  61 6e 64 20 62 20 61 78  65 73 20 69 6e 20 74 68  |and b axes in th|
000014a0  65 20 74 61 72 67 65 74  20 73 68 6f 75 6c 64 20  |e target should |
000014b0  62 65 20 6c 61 72 67 65  20 65 6e 6f 75 67 68 20  |be large enough |
000014c0  74 6f 0a 63 6f 6e 74 61  69 6e 20 74 68 65 20 73  |to.contain the s|
000014d0  6f 75 72 63 65 20 76 6f  6c 75 6d 65 2e 20 49 66  |ource volume. If|
000014e0  20 6e 6f 74 2c 20 74 68  65 6e 20 74 68 65 20 70  | not, then the p|
000014f0  69 63 74 75 72 65 20 77  69 6c 6c 20 61 70 70 65  |icture will appe|
00001500  61 72 20 66 61 64 65 64  20 69 6e 20 73 6f 6d 65  |ar faded in some|
00001510  0a 77 61 79 20 63 6f 6d  70 61 72 65 64 20 74 6f  |.way compared to|
00001520  20 74 68 65 20 6f 72 69  67 69 6e 61 6c 20 28 22  | the original ("|
00001530  74 68 65 20 72 65 64 20  64 6f 65 73 6e 27 74 20  |the red doesn't |
00001540  73 65 65 6d 20 71 75 69  74 65 20 74 68 65 20 73  |seem quite the s|
00001550  61 6d 65 22 29 2e 20 46  6f 72 20 61 0a 73 69 6e  |ame"). For a.sin|
00001560  67 6c 65 20 70 69 63 74  75 72 65 20 61 20 63 6f  |gle picture a co|
00001570  6c 6f 75 72 20 76 6f 6c  75 6d 65 20 6f 6e 6c 79  |lour volume only|
00001580  20 61 73 20 6c 61 72 67  65 20 61 73 20 74 68 65  | as large as the|
00001590  20 69 6e 70 75 74 20 63  6f 75 6c 64 20 62 65 20  | input could be |
000015a0  63 68 6f 73 65 6e 3b 0a  61 6c 74 65 72 6e 61 74  |chosen;.alternat|
000015b0  69 76 65 6c 79 20 66 6f  72 20 61 6e 20 61 72 62  |ively for an arb|
000015c0  69 74 72 61 72 79 20 73  65 74 20 6f 66 20 69 6e  |itrary set of in|
000015d0  70 75 74 20 70 69 63 74  75 72 65 73 2c 20 74 68  |put pictures, th|
000015e0  65 20 63 6f 6c 6f 75 72  20 76 6f 6c 75 6d 65 20  |e colour volume |
000015f0  6f 6e 20 74 68 65 0a 6f  75 74 70 75 74 20 73 79  |on the.output sy|
00001600  73 74 65 6d 20 68 61 73  20 74 6f 20 62 65 20 6d  |stem has to be m|
00001610  61 64 65 20 61 73 20 6c  61 72 67 65 20 61 73 20  |ade as large as |
00001620  70 6f 73 73 69 62 6c 65  2e 20 57 68 65 72 65 20  |possible. Where |
00001630  61 6e 69 6d 61 74 69 6f  6e 20 69 73 20 72 65 71  |animation is req|
00001640  75 69 72 65 64 0a 74 68  65 20 63 6f 6c 6f 75 72  |uired.the colour|
00001650  20 76 6f 6c 75 6d 65 20  68 61 73 20 74 6f 20 62  | volume has to b|
00001660  65 20 63 6f 6e 73 69 73  74 65 6e 74 20 66 6f 72  |e consistent for|
00001670  20 61 6c 6c 20 74 68 65  20 70 69 63 74 75 72 65  | all the picture|
00001680  73 2e 20 57 68 65 6e 20  67 65 6e 65 72 61 74 69  |s. When generati|
00001690  6e 67 0a 74 68 65 20 6c  61 72 67 65 73 74 20 76  |ng.the largest v|
000016a0  6f 6c 75 6d 65 2c 20 69  74 20 69 73 20 69 6d 70  |olume, it is imp|
000016b0  6f 72 74 61 6e 74 20 74  6f 20 75 73 65 20 74 68  |ortant to use th|
000016c0  65 20 73 79 73 74 65 6d  20 68 61 72 64 77 61 72  |e system hardwar|
000016d0  65 20 74 6f 20 74 68 65  20 6c 69 6d 69 74 3a 0a  |e to the limit:.|
000016e0  66 6f 72 20 65 78 61 6d  70 6c 65 2c 20 69 66 20  |for example, if |
000016f0  6f 6e 65 20 68 61 73 20  74 77 6f 20 62 69 74 73  |one has two bits|
00001700  20 6f 66 20 63 6f 6e 74  72 6f 6c 20 6f 76 65 72  | of control over|
00001710  20 74 68 65 20 41 72 63  68 69 6d 65 64 65 73 20  | the Archimedes |
00001720  34 20 62 69 74 20 44 20  74 6f 20 41 0a 63 6f 6e  |4 bit D to A.con|
00001730  76 65 72 74 65 72 73 2c  20 74 68 65 20 6c 61 72  |verters, the lar|
00001740  67 65 73 74 20 72 61 6e  67 65 20 69 73 20 63 6f  |gest range is co|
00001750  76 65 72 65 64 20 62 79  20 76 61 6c 75 65 73 20  |vered by values |
00001760  30 2c 20 35 2c 20 31 30  20 61 6e 64 20 31 35 20  |0, 5, 10 and 15 |
00001770  28 72 61 74 68 65 72 20  74 68 61 6e 0a 30 2c 20  |(rather than.0, |
00001780  34 2c 20 38 20 61 6e 64  20 31 32 29 2e 0a 0a 28  |4, 8 and 12)...(|
00001790  32 29 20 47 69 76 69 6e  67 20 68 75 65 20 63 6f  |2) Giving hue co|
000017a0  6e 73 69 73 74 65 6e 63  79 20 61 74 20 64 69 66  |nsistency at dif|
000017b0  66 65 72 65 6e 74 20 73  61 74 75 72 61 74 69 6f  |ferent saturatio|
000017c0  6e 73 2e 20 46 6f 72 20  65 78 61 6d 70 6c 65 2c  |ns. For example,|
000017d0  20 77 69 74 68 20 61 0a  70 61 6c 65 74 74 65 20  | with a.palette |
000017e0  77 69 74 68 20 64 69 66  66 65 72 65 6e 74 20 6e  |with different n|
000017f0  75 6d 62 65 72 73 20 6f  66 20 62 69 74 73 20 6f  |umbers of bits o|
00001800  66 20 72 2c 20 67 20 61  6e 64 20 62 20 69 74 20  |f r, g and b it |
00001810  6d 61 79 20 62 65 20 69  6d 70 6f 73 73 69 62 6c  |may be impossibl|
00001820  65 20 74 6f 0a 68 61 76  65 20 61 20 63 6f 6e 73  |e to.have a cons|
00001830  69 73 74 65 6e 74 20 73  65 74 20 6f 66 20 63 6f  |istent set of co|
00001840  6c 6f 75 72 73 20 72 65  70 72 65 73 65 6e 74 69  |lours representi|
00001850  6e 67 20 64 65 72 69 76  65 64 20 63 6f 6c 6f 75  |ng derived colou|
00001860  72 73 20 61 74 20 64 69  66 66 65 72 65 6e 74 0a  |rs at different.|
00001870  6c 65 76 65 6c 73 20 6f  66 20 69 6e 74 65 6e 73  |levels of intens|
00001880  69 74 79 2e 20 53 68 61  64 65 73 20 6f 66 20 77  |ity. Shades of w|
00001890  68 69 74 65 20 61 6e 64  20 73 65 63 6f 6e 64 61  |hite and seconda|
000018a0  72 79 20 63 6f 6c 6f 75  72 73 20 28 63 79 61 6e  |ry colours (cyan|
000018b0  2c 20 6d 61 67 65 6e 74  61 20 61 6e 64 0a 79 65  |, magenta and.ye|
000018c0  6c 6c 6f 77 29 20 61 72  65 20 70 61 72 74 69 63  |llow) are partic|
000018d0  75 6c 61 72 6c 79 20 64  69 66 66 69 63 75 6c 74  |ularly difficult|
000018e0  2e 0a 0a 28 33 29 20 57  6f 72 6b 69 6e 67 20 77  |...(3) Working w|
000018f0  69 74 68 20 74 68 65 20  6d 75 6c 74 69 2d 74 61  |ith the multi-ta|
00001900  73 6b 69 6e 67 20 64 65  73 6b 74 6f 70 2e 20 41  |sking desktop. A|
00001910  63 6f 72 6e 20 61 72 65  20 61 73 6b 69 6e 67 20  |corn are asking |
00001920  66 6f 72 20 61 6c 6c 20  6e 65 77 0a 73 6f 66 74  |for all new.soft|
00001930  77 61 72 65 20 74 6f 20  62 65 20 62 75 69 6c 74  |ware to be built|
00001940  20 6f 6e 20 74 68 65 20  6d 75 6c 74 69 74 61 73  | on the multitas|
00001950  6b 69 6e 67 20 73 79 73  74 65 6d 2e 20 54 68 69  |king system. Thi|
00001960  73 20 69 6d 70 6c 69 65  73 20 74 68 61 74 20 74  |s implies that t|
00001970  68 65 20 70 61 6c 65 74  74 65 0a 73 68 6f 75 6c  |he palette.shoul|
00001980  64 20 6e 6f 74 20 62 65  20 63 68 61 6e 67 65 64  |d not be changed|
00001990  20 28 6f 72 20 74 68 61  74 20 74 68 65 20 61 67  | (or that the ag|
000019a0  72 65 65 6d 65 6e 74 20  6f 66 20 61 6c 6c 20 70  |reement of all p|
000019b0  72 6f 67 72 61 6d 73 20  63 75 72 72 65 6e 74 6c  |rograms currentl|
000019c0  79 20 72 75 6e 6e 69 6e  67 0a 69 73 20 6f 62 74  |y running.is obt|
000019d0  61 69 6e 65 64 20 66 69  72 73 74 29 2e 0a 0a 54  |ained first)...T|
000019e0  68 65 20 64 65 73 6b 74  6f 70 20 28 64 65 66 61  |he desktop (defa|
000019f0  75 6c 74 29 20 70 61 6c  65 74 74 65 20 69 6e 20  |ult) palette in |
00001a00  74 68 65 20 32 35 36 20  63 6f 6c 6f 75 72 20 6d  |the 256 colour m|
00001a10  6f 64 65 73 20 28 65 2e  67 2e 20 6d 6f 64 65 73  |odes (e.g. modes|
00001a20  20 31 33 2c 20 31 35 2c  20 32 31 2c 0a 32 34 20  | 13, 15, 21,.24 |
00001a30  61 6e 64 20 32 38 29 20  69 73 20 71 75 69 74 65  |and 28) is quite|
00001a40  20 77 65 6c 6c 20 64 65  73 69 67 6e 65 64 2e 20  | well designed. |
00001a50  49 74 20 64 6f 65 73 20  68 61 76 65 20 74 68 65  |It does have the|
00001a60  20 70 72 6f 70 65 72 74  69 65 73 20 6f 66 20 28  | properties of (|
00001a70  31 29 20 61 6e 64 20 28  32 29 0a 28 69 74 20 65  |1) and (2).(it e|
00001a80  76 65 6e 20 68 61 73 20  31 36 20 73 68 61 64 65  |ven has 16 shade|
00001a90  73 20 6f 66 20 67 72 65  79 29 20 61 6e 64 20 61  |s of grey) and a|
00001aa0  75 74 6f 6d 61 74 69 63  61 6c 6c 79 20 73 61 74  |utomatically sat|
00001ab0  69 73 66 69 65 73 20 28  33 29 2e 20 49 74 20 69  |isfies (3). It i|
00001ac0  73 20 75 73 65 64 20 62  79 0a 6d 61 6e 79 20 41  |s used by.many A|
00001ad0  63 6f 72 6e 20 70 72 6f  67 72 61 6d 73 20 28 44  |corn programs (D|
00001ae0  72 61 77 2c 20 50 61 69  6e 74 29 20 61 6e 64 20  |raw, Paint) and |
00001af0  62 79 20 65 78 74 65 72  6e 61 6c 20 70 72 6f 67  |by external prog|
00001b00  72 61 6d 73 20 28 45 75  63 6c 69 64 2c 20 50 72  |rams (Euclid, Pr|
00001b10  6f 41 72 74 69 73 61 6e  2c 0a 41 74 65 6c 69 65  |oArtisan,.Atelie|
00001b20  72 2c 20 2e 2e 29 20 74  6f 20 67 72 65 61 74 20  |r, ..) to great |
00001b30  65 66 66 65 63 74 20 61  6e 64 20 69 73 20 61 20  |effect and is a |
00001b40  73 61 66 65 20 63 68 6f  69 63 65 20 66 6f 72 20  |safe choice for |
00001b50  43 68 61 6e 67 65 46 53  49 2e 20 54 68 65 72 65  |ChangeFSI. There|
00001b60  20 61 72 65 20 74 77 6f  0a 77 61 79 73 20 43 68  | are two.ways Ch|
00001b70  61 6e 67 65 46 53 49 20  63 61 6e 20 63 68 6f 6f  |angeFSI can choo|
00001b80  73 65 20 61 20 63 6f 6c  6f 75 72 3a 0a 0a 28 61  |se a colour:..(a|
00001b90  29 20 61 20 6d 65 74 68  6f 64 20 77 68 69 63 68  |) a method which|
00001ba0  20 64 65 72 69 76 65 73  20 76 61 6c 75 65 73 20  | derives values |
00001bb0  66 6f 72 20 72 2c 20 67  2c 20 62 20 61 6e 64 20  |for r, g, b and |
00001bc0  74 69 6e 74 20 61 6c 67  6f 72 69 74 68 6d 69 63  |tint algorithmic|
00001bd0  61 6c 6c 79 20 28 6e 6f  0a 73 75 66 66 69 78 29  |ally (no.suffix)|
00001be0  20 28 73 75 69 74 61 62  6c 65 20 6f 6e 6c 79 20  | (suitable only |
00001bf0  66 6f 72 20 74 68 65 20  64 65 66 61 75 6c 74 20  |for the default |
00001c00  52 49 53 43 20 4f 53 20  32 35 36 20 63 6f 6c 6f  |RISC OS 256 colo|
00001c10  75 72 20 70 61 6c 65 74  74 65 29 0a 0a 28 62 29  |ur palette)..(b)|
00001c20  20 73 65 61 72 63 68 20  74 68 65 20 70 61 6c 65  | search the pale|
00001c30  74 74 65 20 66 6f 72 20  74 68 65 20 63 6c 6f 73  |tte for the clos|
00001c40  65 73 74 20 63 6f 6c 6f  75 72 20 28 72 20 73 75  |est colour (r su|
00001c50  66 66 69 78 29 2e 20 54  68 65 20 70 72 65 63 69  |ffix). The preci|
00001c60  73 65 20 6d 65 74 68 6f  64 20 62 79 0a 77 68 69  |se method by.whi|
00001c70  63 68 20 74 68 69 73 20  69 73 20 64 6f 6e 65 20  |ch this is done |
00001c80  69 73 20 74 68 65 20 73  75 62 6a 65 63 74 20 6f  |is the subject o|
00001c90  66 20 61 6e 6f 74 68 65  72 20 64 6f 63 75 6d 65  |f another docume|
00001ca0  6e 74 2e 0a 0a 41 53 49  44 45 3a 20 74 68 65 20  |nt...ASIDE: the |
00001cb0  63 6c 6f 73 65 73 74 20  63 6f 6c 6f 75 72 20 69  |closest colour i|
00001cc0  73 20 63 68 6f 73 65 6e  20 73 75 63 68 20 74 68  |s chosen such th|
00001cd0  61 74 20 74 68 65 20 64  69 73 74 61 6e 63 65 20  |at the distance |
00001ce0  62 65 74 77 65 65 6e 20  74 68 65 20 74 72 75 65  |between the true|
00001cf0  0a 63 6f 6c 6f 75 72 20  61 6e 64 20 74 68 65 20  |.colour and the |
00001d00  63 68 6f 69 63 65 20 69  73 20 6d 69 6e 69 6d 69  |choice is minimi|
00001d10  73 65 64 20 69 6e 20 74  68 65 20 63 6f 6c 6f 75  |sed in the colou|
00001d20  72 20 63 75 62 65 20 73  70 61 63 65 2e 20 53 69  |r cube space. Si|
00001d30  6e 63 65 20 74 68 65 20  68 75 6d 61 6e 0a 65 79  |nce the human.ey|
00001d40  65 20 69 73 20 6d 6f 72  65 20 73 65 6e 73 69 74  |e is more sensit|
00001d50  69 76 65 20 74 6f 20 67  72 65 65 6e 2c 20 74 68  |ive to green, th|
00001d60  65 6e 20 72 65 64 20 61  6e 64 20 6c 61 73 74 6c  |en red and lastl|
00001d70  79 20 62 6c 75 65 2c 20  74 68 65 20 64 69 73 74  |y blue, the dist|
00001d80  61 6e 63 65 20 66 75 6e  63 74 69 6f 6e 0a 69 73  |ance function.is|
00001d90  20 77 65 69 67 68 74 65  64 20 31 30 2c 20 33 20  | weighted 10, 3 |
00001da0  61 6e 64 20 31 20 69 6e  20 67 72 65 65 6e 27 73  |and 1 in green's|
00001db0  20 66 61 76 6f 75 72 2e  0a 0a 57 69 74 68 20 74  | favour...With t|
00001dc0  68 65 20 31 36 20 63 6f  6c 6f 75 72 20 6d 6f 64  |he 16 colour mod|
00001dd0  65 73 20 28 65 2e 67 2e  20 6d 6f 64 65 73 20 39  |es (e.g. modes 9|
00001de0  2c 20 31 32 2c 20 31 36  2c 20 32 30 20 61 6e 64  |, 12, 16, 20 and|
00001df0  20 32 37 29 20 74 68 65  20 64 65 66 61 75 6c 74  | 27) the default|
00001e00  20 70 61 6c 65 74 74 65  0a 64 6f 65 73 20 6e 6f  | palette.does no|
00001e10  74 20 73 61 74 69 73 66  79 20 28 31 29 20 61 6e  |t satisfy (1) an|
00001e20  64 20 28 32 29 20 75 6e  6c 65 73 73 20 74 68 65  |d (2) unless the|
00001e30  20 6f 75 74 70 75 74 20  69 73 20 70 75 72 65 6c  | output is purel|
00001e40  79 20 73 68 61 64 65 73  20 6f 66 20 67 72 65 79  |y shades of grey|
00001e50  20 2d 0a 43 68 61 6e 67  65 46 53 49 20 63 61 6e  | -.ChangeFSI can|
00001e60  20 75 73 65 20 65 69 74  68 65 72 20 38 20 67 72  | use either 8 gr|
00001e70  65 79 73 20 28 66 6f 72  20 74 68 65 20 64 65 73  |eys (for the des|
00001e80  6b 74 6f 70 29 20 6f 72  20 31 36 20 67 72 65 79  |ktop) or 16 grey|
00001e90  73 20 28 6f 75 74 20 6f  66 20 74 68 65 0a 64 65  |s (out of the.de|
00001ea0  73 6b 74 6f 70 20 6f 72  20 77 69 74 68 20 74 68  |sktop or with th|
00001eb0  65 20 64 65 73 6b 74 6f  70 20 70 61 6c 65 74 74  |e desktop palett|
00001ec0  65 20 61 6c 74 65 72 65  64 20 74 6f 20 70 72 6f  |e altered to pro|
00001ed0  76 69 64 65 20 31 36 20  67 72 65 79 73 29 2e 20  |vide 16 greys). |
00001ee0  46 6f 72 20 63 6f 6c 6f  75 72 0a 72 65 70 72 65  |For colour.repre|
00001ef0  73 65 6e 74 61 74 69 6f  6e 2c 20 43 68 61 6e 67  |sentation, Chang|
00001f00  65 46 53 49 20 63 61 6e  20 65 69 74 68 65 72 3a  |eFSI can either:|
00001f10  0a 0a 28 61 29 20 75 73  65 20 31 20 62 69 74 20  |..(a) use 1 bit |
00001f20  6f 66 20 72 65 64 2c 20  31 20 62 69 74 20 6f 66  |of red, 1 bit of|
00001f30  20 67 72 65 65 6e 20 61  6e 64 20 31 20 62 69 74  | green and 1 bit|
00001f40  20 6f 66 20 62 6c 75 65  20 28 69 2e 65 2e 20 74  | of blue (i.e. t|
00001f50  68 65 20 73 74 61 6e 64  61 72 64 20 38 0a 64 69  |he standard 8.di|
00001f60  67 69 74 61 6c 20 63 6f  6c 6f 75 72 73 20 42 6c  |gital colours Bl|
00001f70  61 63 6b 2c 20 52 65 64  2c 20 47 72 65 65 6e 2c  |ack, Red, Green,|
00001f80  20 42 6c 75 65 2c 20 59  65 6c 6c 6f 77 2c 20 4d  | Blue, Yellow, M|
00001f90  61 67 65 6e 74 61 2c 20  43 79 61 6e 20 61 6e 64  |agenta, Cyan and|
00001fa0  20 57 68 69 74 65 29 2e  20 54 68 69 73 0a 73 70  | White). This.sp|
00001fb0  61 6e 73 20 74 68 65 20  63 6f 6c 6f 75 72 20 63  |ans the colour c|
00001fc0  75 62 65 20 61 6e 64 20  69 73 20 68 75 65 20 63  |ube and is hue c|
00001fd0  6f 6e 73 69 73 74 65 6e  74 2c 20 62 75 74 20 64  |onsistent, but d|
00001fe0  6f 65 73 6e 27 74 20 75  73 65 20 74 68 65 20 66  |oesn't use the f|
00001ff0  75 6c 6c 20 72 61 6e 67  65 20 6f 66 0a 62 69 74  |ull range of.bit|
00002000  73 20 70 72 6f 76 69 64  65 64 20 69 6e 20 74 68  |s provided in th|
00002010  65 20 66 6f 72 6d 61 74  2e 20 43 6f 6c 6f 75 72  |e format. Colour|
00002020  54 72 61 6e 73 20 63 61  6e 20 6d 61 70 20 74 68  |Trans can map th|
00002030  69 73 20 74 6f 20 74 68  65 20 64 65 73 6b 74 6f  |is to the deskto|
00002040  70 20 77 69 74 68 20 74  68 65 0a 73 74 61 6e 64  |p with the.stand|
00002050  61 72 64 20 70 61 6c 65  74 74 65 20 77 69 74 68  |ard palette with|
00002060  20 66 61 69 72 20 73 75  63 63 65 73 73 2c 20 65  | fair success, e|
00002070  78 63 65 70 74 20 66 6f  72 20 74 68 65 20 6c 61  |xcept for the la|
00002080  63 6b 20 6f 66 20 6d 61  67 65 6e 74 61 20 28 66  |ck of magenta (f|
00002090  75 6c 6c 0a 72 65 64 2b  66 75 6c 6c 20 62 6c 75  |ull.red+full blu|
000020a0  65 29 20 69 6e 20 74 68  65 20 70 61 6c 65 74 74  |e) in the palett|
000020b0  65 2e 20 41 20 62 65 74  74 65 72 20 72 65 73 75  |e. A better resu|
000020c0  6c 74 20 63 61 6e 20 62  65 20 61 63 68 69 65 76  |lt can be achiev|
000020d0  65 64 20 62 79 20 73 65  74 74 69 6e 67 20 36 20  |ed by setting 6 |
000020e0  6f 66 0a 74 68 65 20 63  6f 6c 6f 75 72 73 20 69  |of.the colours i|
000020f0  6e 20 74 68 65 20 70 61  6c 65 74 74 65 20 74 6f  |n the palette to|
00002100  20 72 65 64 2c 20 67 72  65 65 6e 2c 20 79 65 6c  | red, green, yel|
00002110  6c 6f 77 2c 20 62 6c 75  65 2c 20 6d 61 67 65 6e  |low, blue, magen|
00002120  74 61 20 61 6e 64 20 63  79 61 6e 2e 20 53 69 6e  |ta and cyan. Sin|
00002130  63 65 0a 43 6f 6c 6f 75  72 54 72 61 6e 73 20 77  |ce.ColourTrans w|
00002140  69 6c 6c 20 6d 61 70 20  74 68 65 20 63 6f 6c 6f  |ill map the colo|
00002150  75 72 73 20 61 6e 79 77  61 79 2c 20 69 74 20 64  |urs anyway, it d|
00002160  6f 65 73 6e 27 74 20 6d  61 74 74 65 72 20 77 68  |oesn't matter wh|
00002170  69 63 68 20 36 2c 20 62  75 74 20 74 68 65 0a 6d  |ich 6, but the.m|
00002180  6f 73 74 20 63 6f 6e 73  69 73 74 65 6e 74 20 76  |ost consistent v|
00002190  61 6c 75 65 73 20 61 72  65 20 38 3d 62 6c 75 65  |alues are 8=blue|
000021a0  2c 20 39 3d 79 65 6c 6c  6f 77 2c 20 31 30 3d 67  |, 9=yellow, 10=g|
000021b0  72 65 65 6e 2c 20 31 31  3d 72 65 64 2c 20 31 33  |reen, 11=red, 13|
000021c0  3d 63 79 61 6e 2c 0a 31  34 3d 6d 61 67 65 6e 74  |=cyan,.14=magent|
000021d0  61 20 28 6c 65 61 76 69  6e 67 20 30 2d 37 2c 20  |a (leaving 0-7, |
000021e0  31 32 20 61 6e 64 20 31  35 20 75 6e 63 68 61 6e  |12 and 15 unchan|
000021f0  67 65 64 29 2e 20 54 68  69 73 20 6f 70 74 69 6f  |ged). This optio|
00002200  6e 20 69 73 20 73 65 6c  65 63 74 65 64 20 62 79  |n is selected by|
00002210  20 61 20 22 64 22 0a 28  64 69 67 69 74 61 6c 20  | a "d".(digital |
00002220  52 47 42 29 20 73 75 66  66 69 78 20 74 6f 20 74  |RGB) suffix to t|
00002230  68 65 20 70 72 6f 67 72  61 6d 27 73 20 6d 6f 64  |he program's mod|
00002240  65 20 61 72 67 75 6d 65  6e 74 2e 0a 0a 6f 72 20  |e argument...or |
00002250  28 62 29 20 73 65 61 72  63 68 20 74 68 65 20 70  |(b) search the p|
00002260  61 6c 65 74 74 65 20 66  6f 72 20 74 68 65 20 63  |alette for the c|
00002270  6c 6f 73 65 73 74 20 63  6f 6c 6f 75 72 20 28 72  |losest colour (r|
00002280  20 73 75 66 66 69 78 29  20 5b 43 68 61 6e 67 65  | suffix) [Change|
00002290  46 53 49 20 6e 65 65 64  73 20 74 6f 0a 62 65 20  |FSI needs to.be |
000022a0  69 6e 20 74 68 65 20 31  36 20 63 6f 6c 6f 75 72  |in the 16 colour|
000022b0  20 6d 6f 64 65 20 69 6e  20 6f 72 64 65 72 20 74  | mode in order t|
000022c0  6f 20 72 65 61 64 20 74  68 65 20 70 61 6c 65 74  |o read the palet|
000022d0  74 65 5d 0a 0a 57 69 74  68 20 74 68 65 20 34 20  |te]..With the 4 |
000022e0  63 6f 6c 6f 75 72 20 6d  6f 64 65 73 20 28 65 2e  |colour modes (e.|
000022f0  67 2e 20 6d 6f 64 65 73  20 38 2c 20 31 31 2c 20  |g. modes 8, 11, |
00002300  31 39 20 61 6e 64 20 32  36 29 20 43 68 61 6e 67  |19 and 26) Chang|
00002310  65 46 53 49 20 69 73 20  72 65 61 6c 6c 79 0a 70  |eFSI is really.p|
00002320  75 73 68 65 64 2e 20 53  68 61 64 65 73 20 6f 66  |ushed. Shades of|
00002330  20 67 72 65 79 20 6f 75  74 70 75 74 20 69 73 20  | grey output is |
00002340  64 6f 6e 65 20 77 69 74  68 20 74 68 65 20 30 2c  |done with the 0,|
00002350  20 35 2c 20 31 30 2c 20  31 35 20 6c 65 76 65 6c  | 5, 10, 15 level|
00002360  20 70 61 6c 65 74 74 65  2e 20 42 75 74 0a 68 6f  | palette. But.ho|
00002370  77 20 63 61 6e 20 63 6f  6c 6f 75 72 20 62 65 20  |w can colour be |
00002380  64 6f 6e 65 3f 20 46 6f  72 20 65 78 61 6d 70 6c  |done? For exampl|
00002390  65 2c 20 65 61 63 68 20  70 69 78 65 6c 20 63 61  |e, each pixel ca|
000023a0  6e 20 64 69 73 70 6c 61  79 20 6f 6e 6c 79 20 6f  |n display only o|
000023b0  6e 65 20 6f 66 20 28 73  61 79 29 0a 62 6c 61 63  |ne of (say).blac|
000023c0  6b 2c 20 72 65 64 2c 20  67 72 65 65 6e 20 6f 72  |k, red, green or|
000023d0  20 62 6c 75 65 2e 20 54  68 69 73 20 66 61 69 6c  | blue. This fail|
000023e0  73 20 74 6f 20 73 70 61  6e 20 74 68 65 20 63 6f  |s to span the co|
000023f0  6c 6f 75 72 20 63 75 62  65 20 28 69 74 20 64 6f  |lour cube (it do|
00002400  65 73 20 6f 6e 6c 79 0a  68 61 6c 66 20 6f 66 20  |es only.half of |
00002410  69 74 29 2c 20 68 6f 77  65 76 65 72 2c 20 73 6f  |it), however, so|
00002420  20 62 6c 61 63 6b 2c 20  63 79 61 6e 2c 20 6d 61  | black, cyan, ma|
00002430  67 65 6e 74 61 20 61 6e  64 20 79 65 6c 6c 6f 77  |genta and yellow|
00002440  20 61 72 65 20 75 73 65  64 20 69 6e 73 74 65 61  | are used instea|
00002450  64 2e 20 54 68 65 0a 72  65 73 74 20 68 61 73 20  |d. The.rest has |
00002460  74 6f 20 62 65 20 6c 65  66 74 20 74 6f 20 6c 75  |to be left to lu|
00002470  63 6b 3a 20 74 68 65 72  65 20 69 73 20 6e 6f 20  |ck: there is no |
00002480  77 61 79 20 69 74 20 63  61 6e 20 61 70 70 72 6f  |way it can appro|
00002490  78 69 6d 61 74 65 20 74  6f 20 70 75 72 65 20 73  |ximate to pure s|
000024a0  68 61 64 65 73 0a 6f 66  20 72 65 64 2c 20 67 72  |hades.of red, gr|
000024b0  65 65 6e 20 6f 72 20 62  6c 75 65 2e 20 34 20 62  |een or blue. 4 b|
000024c0  69 74 20 63 6f 6c 6f 75  72 20 70 69 63 74 75 72  |it colour pictur|
000024d0  65 73 20 63 61 6e 20 62  65 20 73 65 65 6e 20 6f  |es can be seen o|
000024e0  6e 20 74 68 65 20 64 65  73 6b 74 6f 70 20 69 6e  |n the desktop in|
000024f0  20 31 36 0a 63 6f 6c 6f  75 72 20 6d 6f 64 65 73  | 16.colour modes|
00002500  20 77 69 74 68 20 74 68  65 20 61 62 6f 76 65 20  | with the above |
00002510  70 61 6c 65 74 74 65 20  6f 72 20 69 6e 20 32 35  |palette or in 25|
00002520  36 20 63 6f 6c 6f 75 72  20 6d 6f 64 65 73 2e 20  |6 colour modes. |
00002530  54 68 69 73 20 6f 70 74  69 6f 6e 20 69 73 20 62  |This option is b|
00002540  79 20 61 0a 22 63 22 20  73 75 66 66 69 78 2e 20  |y a."c" suffix. |
00002550  49 66 20 79 6f 75 20 63  61 6e 20 70 72 6f 76 69  |If you can provi|
00002560  64 65 20 61 20 62 65 74  74 65 72 20 70 61 6c 65  |de a better pale|
00002570  74 74 65 2c 20 74 68 65  6e 20 43 68 61 6e 67 65  |tte, then Change|
00002580  46 53 49 20 63 61 6e 20  75 73 65 20 69 74 20 77  |FSI can use it w|
00002590  69 74 68 0a 74 68 65 20  22 72 22 20 73 75 66 66  |ith.the "r" suff|
000025a0  69 78 20 73 65 61 72 63  68 20 6d 65 74 68 6f 64  |ix search method|
000025b0  2e 0a 0a 57 69 74 68 20  32 20 63 6f 6c 6f 75 72  |...With 2 colour|
000025c0  20 6d 6f 64 65 73 20 28  65 2e 67 2e 20 6d 6f 64  | modes (e.g. mod|
000025d0  65 73 20 30 2c 20 31 38  2c 20 32 33 20 61 6e 64  |es 0, 18, 23 and|
000025e0  20 32 35 29 20 70 69 78  65 6c 73 20 61 72 65 20  | 25) pixels are |
000025f0  65 69 74 68 65 72 20 4f  4e 20 6f 72 20 4f 46 46  |either ON or OFF|
00002600  2c 0a 43 68 61 6e 67 65  46 53 49 20 77 69 6c 6c  |,.ChangeFSI will|
00002610  20 6f 6e 6c 79 20 64 6f  20 73 68 61 64 65 73 20  | only do shades |
00002620  6f 66 20 67 72 65 79 20  6f 75 74 70 75 74 2e 2e  |of grey output..|
00002630  2e 2e 20 48 6f 77 65 76  65 72 2c 20 74 68 65 20  |.. However, the |
00002640  6d 65 74 68 6f 64 20 75  73 65 64 20 63 61 6e 0a  |method used can.|
00002650  62 65 20 76 61 72 69 65  64 20 28 73 65 65 20 6c  |be varied (see l|
00002660  61 74 65 72 29 2e 0a 0a  53 6f 20 74 68 61 74 27  |ater)...So that'|
00002670  73 20 74 68 65 20 63 61  6e 76 61 73 20 43 68 61  |s the canvas Cha|
00002680  6e 67 65 46 53 49 20 68  61 73 20 74 6f 20 77 6f  |ngeFSI has to wo|
00002690  72 6b 20 6f 6e 2e 20 48  6f 77 20 64 6f 65 73 20  |rk on. How does |
000026a0  69 74 20 64 69 73 70 6c  61 79 20 74 68 65 20 69  |it display the i|
000026b0  6e 70 75 74 0a 72 61 6e  67 65 20 6f 66 20 63 6f  |nput.range of co|
000026c0  6c 6f 75 72 73 20 6f 6e  20 74 68 65 73 65 20 6f  |lours on these o|
000026d0  75 74 70 75 74 73 3f 20  54 68 65 20 61 6e 73 77  |utputs? The answ|
000026e0  65 72 20 69 73 2c 20 61  73 20 73 74 61 74 65 64  |er is, as stated|
000026f0  20 61 62 6f 76 65 2c 20  64 69 74 68 65 72 69 6e  | above, ditherin|
00002700  67 3a 0a 74 68 65 20 70  72 6f 63 65 73 73 20 6f  |g:.the process o|
00002710  66 20 61 70 70 72 6f 78  69 6d 61 74 69 6e 67 20  |f approximating |
00002720  69 6e 74 65 6e 73 69 74  79 20 76 61 72 69 61 74  |intensity variat|
00002730  69 6f 6e 73 20 77 69 74  68 20 70 61 74 74 65 72  |ions with patter|
00002740  6e 65 64 20 61 72 65 61  73 2e 20 54 68 65 72 65  |ned areas. There|
00002750  0a 61 72 65 20 74 77 6f  20 62 61 73 69 63 20 74  |.are two basic t|
00002760  79 70 65 73 20 6f 66 20  64 69 74 68 65 72 69 6e  |ypes of ditherin|
00002770  67 20 74 65 63 68 6e 69  71 75 65 3a 20 74 68 61  |g technique: tha|
00002780  74 20 75 73 65 64 20 74  6f 20 70 72 69 6e 74 20  |t used to print |
00002790  63 6f 6c 6f 75 72 20 6d  61 67 61 7a 69 6e 65 73  |colour magazines|
000027a0  0a 61 6e 64 20 6e 65 77  73 70 61 70 65 72 20 70  |.and newspaper p|
000027b0  68 6f 74 6f 67 72 61 70  68 73 20 22 63 6c 75 73  |hotographs "clus|
000027c0  74 65 72 65 64 20 64 6f  74 20 64 69 74 68 65 72  |tered dot dither|
000027d0  22 20 2d 20 74 68 65 20  73 69 7a 65 20 6f 66 20  |" - the size of |
000027e0  74 68 65 20 64 6f 74 20  6f 66 20 69 6e 6b 0a 67  |the dot of ink.g|
000027f0  69 76 65 73 20 74 68 65  20 69 6e 74 65 6e 73 69  |ives the intensi|
00002800  74 79 3b 20 61 6e 64 20  74 68 61 74 20 75 73 65  |ty; and that use|
00002810  64 20 6f 6e 20 64 6f 74  20 6d 61 74 72 69 78 20  |d on dot matrix |
00002820  64 69 73 70 6c 61 79 73  2c 20 66 6f 72 20 65 78  |displays, for ex|
00002830  61 6d 70 6c 65 20 74 68  65 20 67 72 65 79 0a 6c  |ample the grey.l|
00002840  65 76 65 6c 20 70 61 74  74 65 72 6e 73 20 75 73  |evel patterns us|
00002850  65 64 20 62 79 20 31 20  62 69 74 20 70 65 72 20  |ed by 1 bit per |
00002860  70 69 78 65 6c 20 6d 6f  64 65 20 6f 6e 20 74 68  |pixel mode on th|
00002870  65 20 64 65 73 6b 74 6f  70 20 22 64 69 73 70 65  |e desktop "dispe|
00002880  72 73 65 64 20 64 6f 74  0a 64 69 74 68 65 72 22  |rsed dot.dither"|
00002890  20 77 68 65 72 65 20 74  68 65 20 61 76 65 72 61  | where the avera|
000028a0  67 65 20 6e 75 6d 62 65  72 20 6f 66 20 64 6f 74  |ge number of dot|
000028b0  73 20 69 6e 20 74 68 65  20 61 72 65 61 20 67 69  |s in the area gi|
000028c0  76 65 73 20 74 68 65 20  69 6e 74 65 6e 73 69 74  |ves the intensit|
000028d0  79 2e 0a 0a 57 68 79 20  64 6f 65 73 20 74 68 65  |y...Why does the|
000028e0  20 77 6f 72 6c 64 20 6e  65 65 64 20 74 77 6f 20  | world need two |
000028f0  64 69 66 66 65 72 65 6e  74 20 74 65 63 68 6e 69  |different techni|
00002900  71 75 65 73 3f 20 57 65  6c 6c 2c 20 64 69 66 66  |ques? Well, diff|
00002910  65 72 65 6e 74 20 64 65  76 69 63 65 73 0a 72 65  |erent devices.re|
00002920  70 72 6f 64 75 63 65 20  70 69 78 65 6c 73 20 64  |produce pixels d|
00002930  69 66 66 65 72 65 6e 74  6c 79 2e 20 54 68 65 20  |ifferently. The |
00002940  22 69 64 65 61 6c 20 73  71 75 61 72 65 22 20 70  |"ideal square" p|
00002950  69 78 65 6c 73 20 70 72  6f 64 75 63 65 64 20 62  |ixels produced b|
00002960  79 20 61 6e 20 4c 43 44  20 61 72 65 0a 70 65 72  |y an LCD are.per|
00002970  66 65 63 74 20 66 6f 72  20 64 69 73 70 65 72 73  |fect for dispers|
00002980  65 64 20 64 6f 74 20 64  69 74 68 65 72 3b 20 61  |ed dot dither; a|
00002990  20 43 52 54 20 70 72 6f  64 75 63 65 73 20 61 20  | CRT produces a |
000029a0  67 61 75 73 73 69 61 6e  20 73 70 6f 74 20 28 61  |gaussian spot (a|
000029b0  20 63 69 72 63 6c 65 20  6f 72 0a 65 6c 6c 69 70  | circle or.ellip|
000029c0  73 65 20 77 68 69 63 68  20 64 65 63 61 79 73 20  |se which decays |
000029d0  69 6e 20 69 6e 74 65 6e  73 69 74 79 20 74 6f 77  |in intensity tow|
000029e0  61 72 64 73 20 74 68 65  20 65 64 67 65 73 29 20  |ards the edges) |
000029f0  69 6e 73 74 65 61 64 20  6f 66 20 61 20 73 71 75  |instead of a squ|
00002a00  61 72 65 20 2d 0a 64 69  73 70 65 72 73 65 64 20  |are -.dispersed |
00002a10  64 6f 74 20 64 69 74 68  65 72 20 77 6f 72 6b 73  |dot dither works|
00002a20  20 77 65 6c 6c 3b 20 61  20 64 6f 74 20 6d 61 74  | well; a dot mat|
00002a30  72 69 78 20 69 6d 70 61  63 74 20 70 72 69 6e 74  |rix impact print|
00002a40  65 72 20 6f 72 20 61 20  22 77 72 69 74 65 20 62  |er or a "write b|
00002a50  6c 61 63 6b 22 0a 6c 61  73 65 72 20 70 72 69 6e  |lack".laser prin|
00002a60  74 65 72 20 70 72 6f 64  75 63 65 20 6c 61 72 67  |ter produce larg|
00002a70  65 20 64 6f 74 73 20 28  64 69 61 6d 65 74 65 72  |e dots (diameter|
00002a80  20 61 74 20 6c 65 61 73  74 20 53 51 52 28 32 29  | at least SQR(2)|
00002a90  20 6f 76 65 72 20 75 6e  69 74 20 70 69 78 65 6c  | over unit pixel|
00002aa0  0a 73 71 75 61 72 65 29  20 61 6e 64 20 74 68 75  |.square) and thu|
00002ab0  73 20 6d 61 6b 65 20 70  69 63 74 75 72 65 73 20  |s make pictures |
00002ac0  74 6f 6f 20 64 61 72 6b  20 69 66 20 64 69 73 70  |too dark if disp|
00002ad0  65 72 73 65 64 20 64 6f  74 20 64 69 74 68 65 72  |ersed dot dither|
00002ae0  20 69 73 20 75 73 65 64  3b 20 61 0a 22 77 72 69  | is used; a."wri|
00002af0  74 65 20 77 68 69 74 65  22 20 6c 61 73 65 72 20  |te white" laser |
00002b00  70 72 69 6e 74 65 72 20  70 72 69 6e 74 73 20 6e  |printer prints n|
00002b10  65 67 61 74 69 76 65 20  22 77 68 69 74 65 20 64  |egative "white d|
00002b20  6f 74 73 22 20 6f 6e 20  61 20 62 6c 61 63 6b 20  |ots" on a black |
00002b30  66 69 65 6c 64 20 61 6e  64 0a 74 68 75 73 20 22  |field and.thus "|
00002b40  63 61 76 65 73 20 69 6e  22 20 74 68 65 20 73 69  |caves in" the si|
00002b50  64 65 73 20 6f 66 20 70  69 78 65 6c 73 20 6d 61  |des of pixels ma|
00002b60  6b 69 6e 67 20 70 69 63  74 75 72 65 73 20 74 6f  |king pictures to|
00002b70  6f 20 77 68 69 74 65 20  77 69 74 68 20 64 69 73  |o white with dis|
00002b80  70 65 72 73 65 64 0a 64  6f 74 20 64 69 74 68 65  |persed.dot dithe|
00002b90  72 2e 20 43 6c 75 73 74  65 72 65 64 20 64 6f 74  |r. Clustered dot|
00002ba0  20 64 69 74 68 65 72 20  72 65 64 75 63 65 73 20  | dither reduces |
00002bb0  74 68 65 20 65 66 66 65  63 74 73 20 6f 66 20 6d  |the effects of m|
00002bc0  69 73 2d 73 69 7a 65 64  20 70 69 78 65 6c 73 20  |is-sized pixels |
00002bd0  62 79 0a 65 6e 73 75 72  69 6e 67 20 74 68 65 79  |by.ensuring they|
00002be0  20 61 72 65 20 61 64 6a  61 63 65 6e 74 20 28 61  | are adjacent (a|
00002bf0  6e 64 20 74 68 75 73 20  74 68 65 20 65 72 72 6f  |nd thus the erro|
00002c00  72 20 69 73 20 63 6f 6e  66 69 6e 65 64 20 74 6f  |r is confined to|
00002c10  20 74 68 65 20 70 65 72  69 70 68 65 72 79 20 6f  | the periphery o|
00002c20  66 0a 74 68 65 20 73 68  61 70 65 29 20 62 75 74  |f.the shape) but|
00002c30  20 74 68 69 73 20 64 6f  65 73 20 68 61 76 65 20  | this does have |
00002c40  61 20 63 6f 73 74 20 69  6e 20 70 6f 6f 72 65 72  |a cost in poorer|
00002c50  20 72 65 73 6f 6c 75 74  69 6f 6e 2e 0a 0a 53 69  | resolution...Si|
00002c60  6e 63 65 20 43 68 61 6e  67 65 46 53 49 27 73 20  |nce ChangeFSI's |
00002c70  63 6f 6c 6f 75 72 20 6f  72 20 67 72 65 79 73 63  |colour or greysc|
00002c80  61 6c 65 20 6f 75 74 70  75 74 20 69 73 20 74 6f  |ale output is to|
00002c90  20 43 52 54 73 20 28 6f  72 20 4c 43 44 73 20 69  | CRTs (or LCDs i|
00002ca0  6e 20 73 6f 6d 65 0a 64  69 73 74 61 6e 74 20 66  |n some.distant f|
00002cb0  75 74 75 72 65 29 20 69  74 20 61 75 74 6f 6d 61  |uture) it automa|
00002cc0  74 69 63 61 6c 6c 79 20  75 73 65 73 20 61 20 64  |tically uses a d|
00002cd0  69 73 70 65 72 73 65 64  20 64 6f 74 20 64 69 74  |ispersed dot dit|
00002ce0  68 65 72 2e 20 4d 6f 6e  6f 63 68 72 6f 6d 65 20  |her. Monochrome |
00002cf0  6f 75 74 70 75 74 0a 63  6f 75 6c 64 20 62 65 20  |output.could be |
00002d00  66 6f 72 20 74 68 65 20  73 63 72 65 65 6e 20 6f  |for the screen o|
00002d10  72 20 66 6f 72 20 61 20  70 72 69 6e 74 65 72 3a  |r for a printer:|
00002d20  20 74 68 65 20 75 73 65  72 20 63 61 6e 20 73 65  | the user can se|
00002d30  6c 65 63 74 20 62 65 74  77 65 65 6e 20 64 69 73  |lect between dis|
00002d40  70 65 72 73 65 64 0a 61  6e 64 20 63 6c 75 73 74  |persed.and clust|
00002d50  65 72 65 64 20 6d 65 74  68 6f 64 73 20 62 79 20  |ered methods by |
00002d60  61 64 64 69 6e 67 20 61  20 76 61 72 69 6f 75 73  |adding a various|
00002d70  20 73 75 66 66 69 63 65  73 20 28 22 63 22 2c 20  | suffices ("c", |
00002d80  22 64 22 20 6f 72 20 22  74 22 29 20 74 6f 20 74  |"d" or "t") to t|
00002d90  68 65 0a 6d 6f 64 65 20  6e 75 6d 62 65 72 20 66  |he.mode number f|
00002da0  6f 72 20 63 6c 75 73 74  65 72 65 64 20 6f 75 74  |or clustered out|
00002db0  70 75 74 2e 20 46 6f 72  20 22 63 22 20 74 68 65  |put. For "c" the|
00002dc0  20 61 6c 67 6f 72 69 74  68 6d 20 28 64 75 65 20  | algorithm (due |
00002dd0  74 6f 20 52 6f 62 65 72  74 20 4c 20 47 61 72 64  |to Robert L Gard|
00002de0  2c 0a 31 39 37 36 29 20  61 70 70 72 6f 78 69 6d  |,.1976) approxim|
00002df0  61 74 65 73 20 74 6f 6e  65 73 20 69 6e 20 74 68  |ates tones in th|
00002e00  65 20 72 61 6e 67 65 20  30 2e 2e 31 36 20 28 31  |e range 0..16 (1|
00002e10  37 20 6c 65 76 65 6c 73  29 20 62 79 20 75 73 69  |7 levels) by usi|
00002e20  6e 67 20 30 2e 2e 31 36  20 22 6f 6e 22 0a 70 69  |ng 0..16 "on".pi|
00002e30  78 65 6c 73 20 69 6e 20  61 20 34 20 62 79 20 34  |xels in a 4 by 4|
00002e40  20 63 65 6c 6c 2e 20 46  6f 72 20 22 64 22 20 74  | cell. For "d" t|
00002e50  68 65 20 61 6c 67 6f 72  69 74 68 6d 20 28 64 65  |he algorithm (de|
00002e60  76 65 6c 6f 70 65 64 20  62 79 20 6d 65 2c 20 62  |veloped by me, b|
00002e70  75 74 20 73 69 6d 69 6c  61 72 20 74 6f 0a 47 61  |ut similar to.Ga|
00002e80  72 64 27 73 29 20 61 70  70 72 6f 78 69 6d 61 74  |rd's) approximat|
00002e90  65 73 20 74 6f 6e 65 73  20 69 6e 20 74 68 65 20  |es tones in the |
00002ea0  72 61 6e 67 65 20 30 2e  2e 34 20 28 35 20 6c 65  |range 0..4 (5 le|
00002eb0  76 65 6c 73 29 20 62 79  20 75 73 69 6e 67 20 30  |vels) by using 0|
00002ec0  2e 2e 34 20 22 6f 6e 22  0a 70 69 78 65 6c 73 20  |..4 "on".pixels |
00002ed0  69 6e 20 61 20 32 20 62  79 20 32 20 63 65 6c 6c  |in a 2 by 2 cell|
00002ee0  2e 20 46 6f 72 20 22 74  22 20 74 68 65 20 61 6c  |. For "t" the al|
00002ef0  67 6f 72 69 74 68 6d 20  28 64 69 74 74 6f 20 61  |gorithm (ditto a|
00002f00  73 20 22 64 22 29 20 61  70 70 72 6f 78 69 6d 61  |s "d") approxima|
00002f10  74 65 73 0a 74 6f 6e 65  73 20 69 6e 20 74 68 65  |tes.tones in the|
00002f20  20 72 61 6e 67 65 20 30  2e 2e 39 20 28 31 30 20  | range 0..9 (10 |
00002f30  6c 65 76 65 6c 73 29 20  62 79 20 75 73 69 6e 67  |levels) by using|
00002f40  20 30 2e 2e 39 20 22 6f  6e 22 20 70 69 78 65 6c  | 0..9 "on" pixel|
00002f50  73 20 69 6e 20 61 20 33  20 62 79 20 33 20 63 65  |s in a 3 by 3 ce|
00002f60  6c 6c 2e 0a 54 68 65 20  22 6f 6e 22 20 70 69 78  |ll..The "on" pix|
00002f70  65 6c 73 20 61 72 65 20  63 61 72 65 66 75 6c 6c  |els are carefull|
00002f80  79 20 63 68 6f 73 65 6e  20 74 6f 20 70 72 6f 76  |y chosen to prov|
00002f90  69 64 65 3a 20 28 61 29  20 73 79 6d 6d 65 74 72  |ide: (a) symmetr|
00002fa0  79 20 6f 66 20 77 68 69  74 65 2f 62 6c 61 63 6b  |y of white/black|
00002fb0  0a 61 6e 64 20 62 6c 61  63 6b 2f 77 68 69 74 65  |.and black/white|
00002fc0  20 70 61 74 74 65 72 6e  73 20 28 62 29 20 64 69  | patterns (b) di|
00002fd0  61 67 6f 6e 61 6c 6c 79  20 6f 72 69 65 6e 74 65  |agonally oriente|
00002fe0  64 20 64 6f 74 20 67 72  69 64 2e 20 54 68 65 20  |d dot grid. The |
00002ff0  64 69 61 67 6f 6e 61 6c  20 61 6e 67 6c 65 0a 72  |diagonal angle.r|
00003000  65 64 75 63 65 73 20 74  68 65 20 65 79 65 27 73  |educes the eye's|
00003010  20 61 62 69 6c 69 74 79  20 74 6f 20 73 65 65 20  | ability to see |
00003020  74 68 65 20 72 65 63 74  61 6e 67 75 6c 61 72 20  |the rectangular |
00003030  70 61 74 74 65 72 6e 73  20 70 72 6f 64 75 63 65  |patterns produce|
00003040  64 2e 20 54 68 65 20 76  61 72 69 6f 75 73 0a 73  |d. The various.s|
00003050  69 7a 65 73 20 6f 66 20  74 68 65 20 68 61 6c 66  |izes of the half|
00003060  74 6f 6e 65 20 63 65 6c  6c 20 61 6c 6c 6f 77 20  |tone cell allow |
00003070  73 6f 6d 65 20 74 72 61  64 65 20 6f 66 66 20 62  |some trade off b|
00003080  65 74 77 65 65 6e 20 72  65 70 72 65 73 65 6e 74  |etween represent|
00003090  69 6e 67 20 74 68 65 20  74 6f 6e 61 6c 0a 76 61  |ing the tonal.va|
000030a0  6c 75 65 73 20 63 6f 72  72 65 63 74 6c 79 20 61  |lues correctly a|
000030b0  6e 64 20 6c 6f 73 73 20  6f 66 20 72 65 73 6f 6c  |nd loss of resol|
000030c0  75 74 69 6f 6e 2e 20 53  74 61 72 74 20 77 69 74  |ution. Start wit|
000030d0  68 20 22 63 22 20 61 6e  64 20 70 72 6f 67 72 65  |h "c" and progre|
000030e0  73 73 20 74 6f 20 22 74  22 20 61 6e 64 0a 74 68  |ss to "t" and.th|
000030f0  65 6e 20 22 64 22 20 69  66 20 74 68 65 20 72 65  |en "d" if the re|
00003100  73 6f 6c 75 74 69 6f 6e  20 69 73 20 6e 6f 74 20  |solution is not |
00003110  61 63 63 65 70 74 61 62  6c 65 2e 0a 0a 43 68 61  |acceptable...Cha|
00003120  6e 67 65 46 53 49 20 63  61 6e 20 67 65 6e 65 72  |ngeFSI can gener|
00003130  61 74 65 20 72 65 61 73  6f 6e 61 62 6c 65 20 70  |ate reasonable p|
00003140  69 63 74 75 72 65 73 20  6f 6e 20 22 77 72 69 74  |ictures on "writ|
00003150  65 20 62 6c 61 63 6b 22  20 70 72 69 6e 74 65 72  |e black" printer|
00003160  73 20 77 69 74 68 20 61  0a 64 69 73 70 65 72 73  |s with a.dispers|
00003170  65 64 20 64 6f 74 20 64  69 74 68 65 72 20 62 79  |ed dot dither by|
00003180  20 75 73 69 6e 67 20 74  68 65 20 22 2d 62 6c 61  | using the "-bla|
00003190  63 6b 22 20 70 61 72 61  6d 65 74 65 72 3b 20 68  |ck" parameter; h|
000031a0  6f 77 65 76 65 72 20 69  6d 61 67 65 73 20 70 72  |owever images pr|
000031b0  6f 64 75 63 65 64 0a 6c  69 6b 65 20 74 68 69 73  |oduced.like this|
000031c0  20 64 6f 20 6e 6f 74 20  70 68 6f 74 6f 63 6f 70  | do not photocop|
000031d0  79 20 61 74 20 61 6c 6c  20 77 65 6c 6c 20 28 74  |y at all well (t|
000031e0  68 65 20 70 68 6f 74 6f  63 6f 70 69 65 72 20 6d  |he photocopier m|
000031f0  61 6b 65 73 20 74 68 65  20 64 6f 74 73 20 62 6c  |akes the dots bl|
00003200  61 63 6b 65 72 0a 61 67  61 69 6e 21 29 2e 20 54  |acker.again!). T|
00003210  68 65 20 70 61 72 61 6d  65 74 65 72 20 74 6f 20  |he parameter to |
00003220  2d 62 6c 61 63 6b 20 28  64 65 66 61 75 6c 74 20  |-black (default |
00003230  76 61 6c 75 65 20 33 32  2c 20 72 61 6e 67 65 20  |value 32, range |
00003240  30 2e 2e 31 32 38 29 20  74 65 6c 6c 73 0a 43 68  |0..128) tells.Ch|
00003250  61 6e 67 65 46 53 49 20  68 6f 77 20 6d 75 63 68  |angeFSI how much|
00003260  20 6c 61 72 67 65 72 20  74 68 61 6e 20 74 68 65  | larger than the|
00003270  20 69 64 65 61 6c 20 73  71 75 61 72 65 20 70 69  | ideal square pi|
00003280  78 65 6c 20 74 68 65 20  64 6f 74 73 20 70 72 6f  |xel the dots pro|
00003290  64 75 63 65 64 20 62 79  20 74 68 65 0a 70 72 69  |duced by the.pri|
000032a0  6e 74 65 72 20 61 72 65  20 2d 20 31 32 38 20 63  |nter are - 128 c|
000032b0  6f 72 72 65 73 70 6f 6e  64 73 20 74 6f 20 61 6e  |orresponds to an|
000032c0  20 69 6e 6b 65 64 20 64  6f 74 20 63 6f 76 65 72  | inked dot cover|
000032d0  69 6e 67 20 66 6f 75 72  20 74 69 6d 65 73 20 74  |ing four times t|
000032e0  68 65 20 61 72 65 61 20  6f 66 0a 74 68 65 20 69  |he area of.the i|
000032f0  64 65 61 6c 20 62 6c 61  63 6b 20 73 71 75 61 72  |deal black squar|
00003300  65 20 70 69 78 65 6c 20  28 61 6e 64 20 74 68 69  |e pixel (and thi|
00003310  73 20 77 69 6c 6c 20 67  65 6e 65 72 61 6c 6c 79  |s will generally|
00003320  20 6d 65 61 6e 20 43 68  61 6e 67 65 46 53 49 20  | mean ChangeFSI |
00003330  70 72 6f 64 75 63 65 73  0a 61 6e 20 65 6e 74 69  |produces.an enti|
00003340  72 65 6c 79 20 77 68 69  74 65 20 6f 75 74 70 75  |rely white outpu|
00003350  74 21 29 2e 20 56 61 6c  75 65 73 20 61 62 6f 76  |t!). Values abov|
00003360  65 20 36 34 20 67 69 76  65 20 72 61 74 68 65 72  |e 64 give rather|
00003370  20 70 6f 6f 72 20 72 65  73 75 6c 74 73 20 6f 6e  | poor results on|
00003380  20 73 6f 6d 65 0a 70 69  63 74 75 72 65 73 20 62  | some.pictures b|
00003390  75 74 20 6d 61 79 20 62  65 20 77 6f 72 74 68 20  |ut may be worth |
000033a0  65 78 70 65 72 69 6d 65  6e 74 69 6e 67 20 77 69  |experimenting wi|
000033b0  74 68 2e 20 54 68 65 20  64 65 66 61 75 6c 74 20  |th. The default |
000033c0  69 73 20 33 32 2c 20 61  20 64 6f 74 20 63 6f 76  |is 32, a dot cov|
000033d0  65 72 69 6e 67 0a 35 30  25 20 6d 6f 72 65 20 61  |ering.50% more a|
000033e0  72 65 61 20 74 68 61 6e  20 74 68 65 20 73 71 75  |rea than the squ|
000033f0  61 72 65 20 70 69 78 65  6c 20 28 74 68 65 20 6d  |are pixel (the m|
00003400  69 6e 69 6d 75 6d 20 63  69 72 63 6c 65 20 65 6e  |inimum circle en|
00003410  63 6c 6f 73 69 6e 67 20  74 68 65 20 70 69 78 65  |closing the pixe|
00003420  6c 0a 73 71 75 61 72 65  29 2e 20 53 6f 6d 65 20  |l.square). Some |
00003430  70 72 69 6e 74 65 72 73  20 70 72 6f 64 75 63 65  |printers produce|
00003440  20 64 6f 74 73 20 6f 66  20 28 70 73 65 75 64 6f  | dots of (pseudo|
00003450  2d 72 61 6e 64 6f 6d 6c  79 29 20 76 61 72 79 69  |-randomly) varyi|
00003460  6e 67 20 73 69 7a 65 73  20 61 6e 64 0a 62 6c 61  |ng sizes and.bla|
00003470  63 6b 20 63 6f 72 72 65  63 74 69 6f 6e 20 6d 61  |ck correction ma|
00003480  79 20 6e 6f 74 20 68 65  6c 70 20 77 69 74 68 20  |y not help with |
00003490  74 68 65 73 65 20 28 74  68 65 20 70 69 63 74 75  |these (the pictu|
000034a0  72 65 20 6c 6f 6f 6b 73  20 22 6e 6f 69 73 79 22  |re looks "noisy"|
000034b0  29 20 69 6e 20 77 68 69  63 68 0a 63 61 73 65 20  |) in which.case |
000034c0  75 73 65 20 6f 6e 65 20  6f 66 20 74 68 65 20 63  |use one of the c|
000034d0  6c 75 73 74 65 72 65 64  20 6f 75 74 70 75 74 20  |lustered output |
000034e0  6d 65 74 68 6f 64 73 2e  20 2d 62 6c 61 63 6b 20  |methods. -black |
000034f0  63 6f 72 72 65 63 74 69  6f 6e 20 6d 61 6b 65 73  |correction makes|
00003500  20 70 69 63 74 75 72 65  73 0a 6f 6e 20 74 68 65  | pictures.on the|
00003510  20 73 63 72 65 65 6e 20  6c 6f 6f 6b 20 76 65 72  | screen look ver|
00003520  79 20 70 61 6c 65 2c 20  73 69 6e 63 65 2c 20 69  |y pale, since, i|
00003530  66 20 61 6e 79 74 68 69  6e 67 2c 20 62 6c 61 63  |f anything, blac|
00003540  6b 20 70 69 78 65 6c 73  20 6f 6e 20 73 63 72 65  |k pixels on scre|
00003550  65 6e 20 61 72 65 0a 73  6d 61 6c 6c 65 72 20 74  |en are.smaller t|
00003560  68 61 6e 20 74 68 65 20  69 64 65 61 6c 20 73 71  |han the ideal sq|
00003570  75 61 72 65 2e 0a 0a 5b  61 73 69 64 65 3a 20 74  |uare...[aside: t|
00003580  6f 20 70 72 69 6e 74 20  74 68 65 73 65 20 70 69  |o print these pi|
00003590  63 74 75 72 65 73 2c 20  79 6f 75 20 6e 65 65 64  |ctures, you need|
000035a0  20 61 20 6d 65 74 68 6f  64 20 77 68 69 63 68 20  | a method which |
000035b0  63 6f 70 69 65 73 20 74  68 65 20 70 69 78 65 6c  |copies the pixel|
000035c0  73 0a 43 68 61 6e 67 65  46 53 49 20 68 61 73 20  |s.ChangeFSI has |
000035d0  6d 61 64 65 20 65 78 61  63 74 6c 79 20 74 6f 20  |made exactly to |
000035e0  74 68 6f 73 65 20 6f 66  20 74 68 65 20 6f 75 74  |those of the out|
000035f0  70 75 74 20 64 65 76 69  63 65 2e 20 55 73 69 6e  |put device. Usin|
00003600  67 20 21 50 61 69 6e 74  2c 20 73 63 61 6c 65 20  |g !Paint, scale |
00003610  58 0a 61 6e 64 20 59 20  62 79 20 39 30 3a 33 30  |X.and Y by 90:30|
00003620  30 20 66 6f 72 20 61 20  33 30 30 64 70 69 20 70  |0 for a 300dpi p|
00003630  72 69 6e 74 65 72 2e 5d  0a 0a 49 6e 20 61 6c 6c  |rinter.]..In all|
00003640  20 63 61 73 65 73 2c 20  61 6e 20 61 70 70 72 6f  | cases, an appro|
00003650  78 69 6d 61 74 69 6f 6e  20 74 6f 20 61 20 63 6f  |ximation to a co|
00003660  6c 6f 75 72 20 77 69 6c  6c 20 70 72 6f 64 75 63  |lour will produc|
00003670  65 20 61 6e 20 65 72 72  6f 72 20 28 77 68 69 63  |e an error (whic|
00003680  68 20 6d 69 67 68 74 0a  70 6f 73 73 69 62 6c 79  |h might.possibly|
00003690  20 62 65 20 7a 65 72 6f  20 69 66 20 43 68 61 6e  | be zero if Chan|
000036a0  67 65 46 53 49 20 69 73  20 76 65 72 79 20 6c 75  |geFSI is very lu|
000036b0  63 6b 79 29 2e 20 43 68  61 6e 67 65 46 53 49 20  |cky). ChangeFSI |
000036c0  74 72 61 63 6b 73 20 74  68 65 73 65 20 65 72 72  |tracks these err|
000036d0  6f 72 73 20 61 6e 64 0a  65 6e 73 75 72 65 73 20  |ors and.ensures |
000036e0  74 68 61 74 20 6f 76 65  72 20 77 69 64 65 20 61  |that over wide a|
000036f0  72 65 61 73 20 74 68 65  72 65 20 69 73 20 6e 6f  |reas there is no|
00003700  20 6f 76 65 72 61 6c 6c  20 65 72 72 6f 72 20 75  | overall error u|
00003710  73 69 6e 67 20 61 20 74  65 63 68 6e 69 71 75 65  |sing a technique|
00003720  20 63 61 6c 6c 65 64 0a  22 65 72 72 6f 72 20 64  | called."error d|
00003730  69 66 66 75 73 69 6f 6e  22 2c 20 66 69 72 73 74  |iffusion", first|
00003740  20 64 65 76 69 73 65 64  20 62 79 20 52 20 57 20  | devised by R W |
00003750  46 6c 6f 79 64 20 61 6e  64 20 4c 20 53 74 65 69  |Floyd and L Stei|
00003760  6e 62 65 72 67 20 69 6e  20 31 39 37 35 2e 20 49  |nberg in 1975. I|
00003770  6e 20 74 68 69 73 0a 74  65 63 68 6e 69 71 75 65  |n this.technique|
00003780  20 74 68 65 20 61 70 70  72 6f 78 69 6d 61 74 69  | the approximati|
00003790  6f 6e 20 69 73 20 6d 61  64 65 20 61 6e 64 20 74  |on is made and t|
000037a0  68 65 20 65 72 72 6f 72  20 64 69 73 74 72 69 62  |he error distrib|
000037b0  75 74 65 64 20 74 6f 20  6e 65 61 72 62 79 20 70  |uted to nearby p|
000037c0  69 78 65 6c 73 0a 69 6e  20 74 68 65 20 66 6f 6c  |ixels.in the fol|
000037d0  6c 6f 77 69 6e 67 20 72  61 74 69 6f 73 3a 0a 0a  |lowing ratios:..|
000037e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000037f0  63 75 72 72 65 6e 74 20  70 69 78 65 6c 20 20 20  |current pixel   |
00003800  37 2f 31 36 20 6f 66 20  65 72 72 6f 72 0a 33 2f  |7/16 of error.3/|
00003810  31 36 20 6f 66 20 65 72  72 6f 72 20 20 20 35 2f  |16 of error   5/|
00003820  31 36 20 6f 66 20 65 72  72 6f 72 20 20 20 31 2f  |16 of error   1/|
00003830  31 36 20 6f 66 20 65 72  72 6f 72 0a 0a 43 68 61  |16 of error..Cha|
00003840  6e 67 65 46 53 49 20 67  65 74 73 20 73 6f 6d 65  |ngeFSI gets some|
00003850  20 6f 66 20 69 74 73 20  6e 61 6d 65 20 66 72 6f  | of its name fro|
00003860  6d 20 46 6c 6f 79 64 20  61 6e 64 20 53 74 65 69  |m Floyd and Stei|
00003870  6e 62 65 72 67 2e 20 41  64 64 69 74 69 6f 6e 61  |nberg. Additiona|
00003880  6c 6c 79 2c 0a 43 68 61  6e 67 65 46 53 49 20 73  |lly,.ChangeFSI s|
00003890  63 61 6e 73 20 74 68 72  6f 75 67 68 20 74 68 65  |cans through the|
000038a0  20 70 69 63 74 75 72 65  20 69 6e 20 61 20 73 65  | picture in a se|
000038b0  72 70 65 6e 74 69 6e 65  20 66 61 73 68 69 6f 6e  |rpentine fashion|
000038c0  2c 20 64 6f 69 6e 67 20  61 20 72 6f 77 20 6f 66  |, doing a row of|
000038d0  0a 70 69 78 65 6c 73 20  6c 65 66 74 20 74 6f 20  |.pixels left to |
000038e0  72 69 67 68 74 20 66 6f  6c 6c 6f 77 65 64 20 62  |right followed b|
000038f0  79 20 74 68 65 20 6e 65  78 74 20 72 6f 77 20 72  |y the next row r|
00003900  69 67 68 74 20 74 6f 20  6c 65 66 74 2e 20 54 68  |ight to left. Th|
00003910  69 73 20 72 65 64 75 63  65 73 20 74 68 65 0a 70  |is reduces the.p|
00003920  72 6f 62 61 62 69 6c 69  74 79 20 6f 66 20 72 65  |robability of re|
00003930  67 75 6c 61 72 20 70 61  74 74 65 72 6e 73 20 77  |gular patterns w|
00003940  68 69 63 68 20 74 68 65  20 65 79 65 20 69 73 20  |hich the eye is |
00003950  73 65 6e 73 69 74 69 76  65 20 74 6f 2e 20 54 68  |sensitive to. Th|
00003960  65 20 66 69 6e 61 6c 20  49 20 6f 66 0a 74 68 65  |e final I of.the|
00003970  20 6e 61 6d 65 20 69 73  20 66 6f 72 20 49 6e 74  | name is for Int|
00003980  65 67 65 72 3a 20 43 68  61 6e 67 65 46 53 49 20  |eger: ChangeFSI |
00003990  64 6f 65 73 20 61 6c 6c  20 69 74 73 20 77 6f 72  |does all its wor|
000039a0  6b 20 69 6e 20 33 32 20  62 69 74 20 66 69 78 65  |k in 32 bit fixe|
000039b0  64 20 70 6f 69 6e 74 0a  69 6e 74 65 67 65 72 20  |d point.integer |
000039c0  61 72 69 74 68 6d 65 74  69 63 20 28 77 69 74 68  |arithmetic (with|
000039d0  20 74 68 65 20 70 6f 69  6e 74 20 61 74 20 62 69  | the point at bi|
000039e0  74 20 32 38 29 20 69 6e  73 74 65 61 64 20 6f 66  |t 28) instead of|
000039f0  20 66 6c 6f 61 74 69 6e  67 20 70 6f 69 6e 74 2e  | floating point.|
00003a00  0a 44 69 74 68 65 72 69  6e 67 20 63 61 6e 20 62  |.Dithering can b|
00003a10  65 20 74 75 72 6e 65 64  20 6f 66 66 20 75 73 69  |e turned off usi|
00003a20  6e 67 20 75 73 69 6e 67  20 22 44 69 73 61 62 6c  |ng using "Disabl|
00003a30  65 20 44 69 74 68 65 72  69 6e 67 22 20 6f 6e 20  |e Dithering" on |
00003a40  74 68 65 20 50 72 6f 63  65 73 73 69 6e 67 0a 64  |the Processing.d|
00003a50  69 61 6c 6f 67 75 65 20  28 22 2d 6e 6f 64 69 74  |ialogue ("-nodit|
00003a60  68 65 72 22 20 6f 6e 20  74 68 65 20 63 6f 6d 6d  |her" on the comm|
00003a70  61 6e 64 20 6c 69 6e 65  29 20 77 68 69 63 68 20  |and line) which |
00003a80  61 74 20 6c 65 61 73 74  20 61 6c 6c 6f 77 73 20  |at least allows |
00003a90  79 6f 75 20 74 6f 20 73  65 65 20 68 6f 77 0a 77  |you to see how.w|
00003aa0  65 6c 6c 20 69 74 20 64  6f 65 73 21 0a 0a 54 68  |ell it does!..Th|
00003ab0  65 20 63 6f 6e 76 65 72  73 69 6f 6e 20 66 72 6f  |e conversion fro|
00003ac0  6d 20 6f 6e 65 20 63 6f  6c 6f 75 72 20 72 61 6e  |m one colour ran|
00003ad0  67 65 20 74 6f 20 61 6e  6f 74 68 65 72 20 69 73  |ge to another is|
00003ae0  20 6d 61 64 65 20 61 74  20 74 68 65 20 73 61 6d  | made at the sam|
00003af0  65 20 74 69 6d 65 20 61  73 20 61 0a 63 68 61 6e  |e time as a.chan|
00003b00  67 65 20 69 6e 20 73 69  7a 65 20 6f 66 20 74 68  |ge in size of th|
00003b10  65 20 69 6d 61 67 65 2e  20 53 69 7a 65 20 69 73  |e image. Size is|
00003b20  20 63 68 61 6e 67 65 64  20 62 79 20 72 61 74 69  | changed by rati|
00003b30  6f 73 20 6f 66 20 61 72  65 61 73 20 62 65 74 77  |os of areas betw|
00003b40  65 65 6e 20 74 68 65 0a  69 6e 70 75 74 20 61 6e  |een the.input an|
00003b50  64 20 6f 75 74 70 75 74  3a 20 74 68 65 20 74 6f  |d output: the to|
00003b60  74 61 6c 20 77 65 69 67  68 74 20 6f 66 20 72 2c  |tal weight of r,|
00003b70  20 67 2c 20 61 6e 64 20  62 20 69 6e 20 74 68 65  | g, and b in the|
00003b80  20 73 6f 75 72 63 65 20  61 72 65 61 20 69 73 0a  | source area is.|
00003b90  63 61 6c 63 75 6c 61 74  65 64 20 75 73 69 6e 67  |calculated using|
00003ba0  20 74 68 65 20 66 69 78  65 64 20 70 6f 69 6e 74  | the fixed point|
00003bb0  20 61 72 69 74 68 6d 65  74 69 63 20 61 6e 64 20  | arithmetic and |
00003bc0  74 68 69 73 20 72 65 73  75 6c 74 20 69 73 20 74  |this result is t|
00003bd0  68 65 6e 0a 61 70 70 72  6f 78 69 6d 61 74 65 64  |hen.approximated|
00003be0  20 74 6f 20 74 68 65 20  6f 75 74 70 75 74 20 75  | to the output u|
00003bf0  73 69 6e 67 20 74 68 65  20 65 72 72 6f 72 20 64  |sing the error d|
00003c00  69 66 66 75 73 69 6f 6e  20 74 6f 20 70 72 65 73  |iffusion to pres|
00003c10  65 72 76 65 20 69 6e 66  6f 72 6d 61 74 69 6f 6e  |erve information|
00003c20  0a 28 66 6f 72 20 65 78  61 6d 70 6c 65 2c 20 63  |.(for example, c|
00003c30  6f 6e 73 69 64 65 72 20  68 61 6c 76 69 6e 67 20  |onsider halving |
00003c40  69 6e 20 73 69 7a 65 20  61 6e 20 69 6d 61 67 65  |in size an image|
00003c50  20 77 69 74 68 20 61 64  6a 61 63 65 6e 74 20 70  | with adjacent p|
00003c60  69 78 65 6c 73 20 6f 66  0a 69 6e 74 65 6e 73 69  |ixels of.intensi|
00003c70  74 69 65 73 20 31 20 61  6e 64 20 32 3b 20 74 68  |ties 1 and 2; th|
00003c80  65 20 6f 75 74 70 75 74  20 70 69 78 65 6c 20 6e  |e output pixel n|
00003c90  65 65 64 73 20 74 6f 20  62 65 20 76 61 6c 75 65  |eeds to be value|
00003ca0  20 31 2e 35 2c 20 73 6f  20 74 68 65 20 30 2e 35  | 1.5, so the 0.5|
00003cb0  20 65 72 72 6f 72 0a 69  73 20 73 65 6e 74 20 74  | error.is sent t|
00003cc0  6f 20 61 64 6a 61 63 65  6e 74 20 70 69 78 65 6c  |o adjacent pixel|
00003cd0  73 20 74 6f 20 6b 65 65  70 20 74 68 65 20 6f 76  |s to keep the ov|
00003ce0  65 72 61 6c 6c 20 63 6f  6c 6f 75 72 20 74 68 65  |erall colour the|
00003cf0  20 73 61 6d 65 29 2e 20  54 68 65 20 73 69 7a 65  | same). The size|
00003d00  0a 63 68 61 6e 67 65 20  69 73 20 65 78 70 72 65  |.change is expre|
00003d10  73 73 65 64 20 61 73 20  61 20 72 61 74 69 6f 20  |ssed as a ratio |
00003d20  6f 66 20 6f 75 74 70 75  74 20 74 6f 20 69 6e 70  |of output to inp|
00003d30  75 74 20 28 65 2e 67 2e  20 34 30 3a 32 30 29 20  |ut (e.g. 40:20) |
00003d40  77 68 69 63 68 20 43 68  61 6e 67 65 46 53 49 0a  |which ChangeFSI.|
00003d50  72 65 64 75 63 65 73 20  74 6f 20 74 68 65 20 73  |reduces to the s|
00003d60  6d 61 6c 6c 65 73 74 20  70 6f 73 73 69 62 6c 65  |mallest possible|
00003d70  20 74 65 72 6d 73 20 28  32 3a 31 20 69 6e 20 74  | terms (2:1 in t|
00003d80  68 69 73 20 63 61 73 65  29 20 73 6f 20 74 68 61  |his case) so tha|
00003d90  74 20 79 6f 75 20 61 72  65 20 66 72 65 65 0a 74  |t you are free.t|
00003da0  6f 20 67 69 76 65 20 76  61 6c 75 65 73 20 6c 69  |o give values li|
00003db0  6b 65 20 32 35 36 3a 35  31 32 20 69 66 20 74 68  |ke 256:512 if th|
00003dc0  61 74 27 73 20 77 68 61  74 20 79 6f 75 20 6d 65  |at's what you me|
00003dd0  61 6e 21 20 53 69 7a 65  20 63 68 61 6e 67 65 20  |an! Size change |
00003de0  69 73 20 65 69 74 68 65  72 20 62 6f 74 68 0a 78  |is either both.x|
00003df0  20 61 6e 64 20 79 20 28  69 66 20 6f 6e 65 20 72  | and y (if one r|
00003e00  61 74 69 6f 20 69 73 20  67 69 76 65 6e 29 20 6f  |atio is given) o|
00003e10  72 20 73 65 70 61 72 61  74 65 20 78 20 61 6e 64  |r separate x and|
00003e20  20 79 20 28 69 66 20 74  77 6f 20 72 61 74 69 6f  | y (if two ratio|
00003e30  73 20 61 72 65 20 67 69  76 65 6e 29 2e 0a 4e 6f  |s are given)..No|
00003e40  74 65 20 74 68 61 74 20  74 68 65 20 73 69 7a 65  |te that the size|
00003e50  20 6f 66 20 61 20 52 49  53 43 20 4f 53 20 70 69  | of a RISC OS pi|
00003e60  78 65 6c 20 69 73 20 6b  6e 6f 77 6e 2c 20 73 6f  |xel is known, so|
00003e70  20 63 68 61 6e 67 69 6e  67 20 66 72 6f 6d 20 28  | changing from (|
00003e80  73 61 79 29 20 6d 6f 64  65 20 32 31 0a 74 6f 20  |say) mode 21.to |
00003e90  28 73 61 79 29 20 6d 6f  64 65 20 31 33 20 64 6f  |(say) mode 13 do|
00003ea0  65 73 20 6e 6f 74 20 6e  65 65 64 20 61 6e 79 20  |es not need any |
00003eb0  61 64 64 69 74 69 6f 6e  61 6c 20 73 70 65 63 69  |additional speci|
00003ec0  66 69 65 64 20 73 63 61  6c 69 6e 67 2e 20 54 68  |fied scaling. Th|
00003ed0  65 20 66 75 6c 6c 20 73  69 7a 65 0a 6f 75 74 70  |e full size.outp|
00003ee0  75 74 20 66 6f 72 20 6d  6f 64 65 20 32 31 20 69  |ut for mode 21 i|
00003ef0  73 20 74 68 65 20 72 65  66 65 72 65 6e 63 65 2c  |s the reference,|
00003f00  20 73 6f 20 73 63 61 6c  65 20 74 6f 20 36 34 30  | so scale to 640|
00003f10  20 62 79 20 35 31 32 2e  20 41 20 63 6f 6d 6d 6f  | by 512. A commo|
00003f20  6e 20 73 63 61 6c 69 6e  67 0a 69 73 20 74 6f 20  |n scaling.is to |
00003f30  66 69 6c 6c 20 74 68 65  20 6f 75 74 70 75 74 20  |fill the output |
00003f40  73 70 72 69 74 65 20 77  69 74 68 20 74 68 65 20  |sprite with the |
00003f50  69 6e 70 75 74 20 61 6e  64 20 61 6e 20 22 3d 22  |input and an "="|
00003f60  20 70 61 72 61 6d 65 74  65 72 20 74 6f 20 78 20  | parameter to x |
00003f70  61 6e 64 2f 6f 72 20 79  0a 72 61 74 69 6f 73 20  |and/or y.ratios |
00003f80  77 69 6c 6c 20 64 6f 20  74 68 69 73 20 77 69 74  |will do this wit|
00003f90  68 6f 75 74 20 65 76 65  72 20 68 61 76 69 6e 67  |hout ever having|
00003fa0  20 74 6f 20 6b 6e 6f 77  20 74 68 65 20 73 69 7a  | to know the siz|
00003fb0  65 20 6f 66 20 74 68 65  20 69 6e 70 75 74 2e 20  |e of the input. |
00003fc0  53 69 6d 70 6c 79 0a 6f  6d 69 74 74 69 6e 67 20  |Simply.omitting |
00003fd0  74 68 65 20 66 72 61 63  74 69 6f 6e 61 6c 20 70  |the fractional p|
00003fe0  61 72 74 20 63 61 75 73  65 73 20 43 68 61 6e 67  |art causes Chang|
00003ff0  65 46 53 49 20 74 6f 20  70 75 74 20 69 6e 20 74  |eFSI to put in t|
00004000  68 65 20 73 6f 75 72 63  65 20 73 69 7a 65 2c 20  |he source size, |
00004010  74 68 75 73 0a 67 69 76  69 6e 67 20 6f 75 74 70  |thus.giving outp|
00004020  75 74 20 77 68 69 63 68  20 69 73 20 74 68 65 20  |ut which is the |
00004030  73 70 65 63 69 66 69 65  64 20 6e 75 6d 62 65 72  |specified number|
00004040  20 6f 66 20 70 69 78 65  6c 73 20 69 6e 20 73 69  | of pixels in si|
00004050  7a 65 2e 0a 0a 43 6f 6e  76 65 72 73 69 6f 6e 20  |ze...Conversion |
00004060  66 72 6f 6d 20 63 6f 6c  6f 75 72 20 74 6f 20 6d  |from colour to m|
00004070  6f 6e 6f 63 68 72 6f 6d  65 20 73 68 61 64 65 73  |onochrome shades|
00004080  20 6f 66 20 67 72 65 79  20 69 73 20 64 6f 6e 65  | of grey is done|
00004090  20 77 69 74 68 20 74 68  65 20 43 49 45 0a 6c 75  | with the CIE.lu|
000040a0  6d 69 6e 61 6e 63 65 20  77 65 69 67 68 74 73 20  |minance weights |
000040b0  66 6f 72 20 72 2c 20 67  20 61 6e 64 20 62 20 28  |for r, g and b (|
000040c0  30 2e 32 39 39 2c 20 30  2e 35 38 37 2c 20 30 2e  |0.299, 0.587, 0.|
000040d0  31 31 34 29 20 77 68 69  63 68 20 69 73 20 74 68  |114) which is th|
000040e0  65 20 73 74 61 6e 64 61  72 64 0a 63 6f 6e 76 65  |e standard.conve|
000040f0  72 73 69 6f 6e 20 66 6f  72 20 62 72 6f 61 64 63  |rsion for broadc|
00004100  61 73 74 20 74 65 6c 65  76 69 73 69 6f 6e 2e 20  |ast television. |
00004110  54 68 65 73 65 20 76 61  6c 75 65 73 20 63 61 6e  |These values can|
00004120  20 62 65 20 61 6c 74 65  72 65 64 20 75 73 69 6e  | be altered usin|
00004130  67 20 74 68 65 0a 2d 72  65 64 2c 20 2d 67 72 65  |g the.-red, -gre|
00004140  65 6e 20 61 6e 64 20 2d  62 6c 75 65 20 63 6f 6d  |en and -blue com|
00004150  6d 61 6e 64 73 20 61 6e  64 20 61 6c 6c 6f 77 20  |mands and allow |
00004160  64 69 66 66 65 72 65 6e  74 20 77 65 69 67 68 74  |different weight|
00004170  69 6e 67 73 20 66 6f 72  20 63 6f 6e 76 65 72 73  |ings for convers|
00004180  69 6f 6e 0a 74 6f 20 6d  6f 6e 6f 63 68 72 6f 6d  |ion.to monochrom|
00004190  65 20 74 6f 20 62 65 20  74 72 69 65 64 2c 20 74  |e to be tried, t|
000041a0  68 69 73 20 61 6c 73 6f  20 61 6c 6c 6f 77 73 20  |his also allows |
000041b0  73 65 6c 65 63 74 69 6f  6e 20 6f 66 20 61 6e 20  |selection of an |
000041c0  69 6d 61 67 65 20 63 6f  6d 70 6f 73 65 64 20 6f  |image composed o|
000041d0  66 0a 6f 6e 6c 79 20 73  6f 6d 65 20 6f 66 20 74  |f.only some of t|
000041e0  68 65 20 63 6f 6c 6f 75  72 73 20 28 65 2e 67 2e  |he colours (e.g.|
000041f0  20 2d 72 65 64 31 20 2d  67 72 65 65 6e 30 20 2d  | -red1 -green0 -|
00004200  62 6c 75 65 30 29 20 69  6e 20 6d 61 6b 69 6e 67  |blue0) in making|
00004210  20 61 20 62 6c 61 63 6b  20 61 6e 64 0a 77 68 69  | a black and.whi|
00004220  74 65 20 69 6d 61 67 65  2e 0a 0a 43 68 61 6e 67  |te image...Chang|
00004230  65 46 53 49 20 63 61 6e  20 74 61 6b 65 20 61 6e  |eFSI can take an|
00004240  79 20 52 49 53 43 20 4f  53 20 73 70 72 69 74 65  |y RISC OS sprite|
00004250  73 20 28 32 2c 20 34 2c  20 31 36 20 6f 72 20 32  |s (2, 4, 16 or 2|
00004260  35 36 20 63 6f 6c 6f 75  72 73 29 2e 20 49 66 20  |56 colours). If |
00004270  74 68 65 72 65 20 69 73  20 61 0a 70 61 6c 65 74  |there is a.palet|
00004280  74 65 20 69 74 20 77 69  6c 6c 20 62 65 20 75 73  |te it will be us|
00004290  65 64 2c 20 6f 74 68 65  72 77 69 73 65 20 74 68  |ed, otherwise th|
000042a0  65 20 73 74 61 6e 64 61  72 64 20 32 2c 20 34 2c  |e standard 2, 4,|
000042b0  20 31 36 20 61 6e 64 20  32 35 36 20 63 6f 6c 6f  | 16 and 256 colo|
000042c0  75 72 20 64 65 73 6b 74  6f 70 0a 70 61 6c 65 74  |ur desktop.palet|
000042d0  74 65 73 20 61 72 65 20  75 73 65 64 2e 20 43 68  |tes are used. Ch|
000042e0  61 6e 67 65 46 53 49 20  63 61 6e 20 61 6c 73 6f  |angeFSI can also|
000042f0  20 72 65 61 64 20 74 68  65 20 31 36 62 70 70 20  | read the 16bpp |
00004300  61 6e 64 20 32 34 62 70  70 20 73 70 72 69 74 65  |and 24bpp sprite|
00004310  73 20 77 68 69 63 68 0a  68 61 76 65 20 6e 6f 20  |s which.have no |
00004320  70 61 6c 65 74 74 65 73  2e 0a 0a 43 68 61 6e 67  |palettes...Chang|
00004330  65 46 53 49 20 69 73 20  62 6f 74 68 20 61 20 63  |eFSI is both a c|
00004340  6f 6d 6d 61 6e 64 20 6c  69 6e 65 20 64 72 69 76  |ommand line driv|
00004350  65 6e 20 70 72 6f 67 72  61 6d 20 61 6e 64 20 61  |en program and a|
00004360  20 64 65 73 6b 74 6f 70  20 61 70 70 6c 69 63 61  | desktop applica|
00004370  74 69 6f 6e 2e 20 54 68  65 0a 66 69 6c 65 20 21  |tion. The.file !|
00004380  48 65 6c 70 20 64 65 73  63 72 69 62 65 73 20 68  |Help describes h|
00004390  6f 77 20 74 6f 20 75 73  65 20 74 68 65 20 61 70  |ow to use the ap|
000043a0  70 6c 69 63 61 74 69 6f  6e 20 66 72 6f 6d 20 74  |plication from t|
000043b0  68 65 20 64 65 73 6b 74  6f 70 2c 20 69 66 20 79  |he desktop, if y|
000043c0  6f 75 20 6e 65 65 64 0a  74 6f 20 75 73 65 20 74  |ou need.to use t|
000043d0  68 65 20 70 72 6f 67 72  61 6d 20 61 73 20 61 20  |he program as a |
000043e0  63 6f 6d 6d 61 6e 64 20  6c 69 6e 65 20 64 72 69  |command line dri|
000043f0  76 65 6e 20 70 72 6f 67  72 61 6d 20 79 6f 75 20  |ven program you |
00004400  77 69 6c 6c 20 6e 65 65  64 20 74 6f 20 68 61 76  |will need to hav|
00004410  65 20 69 74 20 69 6e 0a  74 68 65 20 6c 69 62 72  |e it in.the libr|
00004420  61 72 79 20 28 6f 72 20  6f 6e 20 72 75 6e 24 70  |ary (or on run$p|
00004430  61 74 68 29 20 61 6e 64  20 70 72 65 73 73 20 66  |ath) and press f|
00004440  31 32 20 74 6f 20 67 65  74 20 6f 75 74 20 6f 66  |12 to get out of|
00004450  20 74 68 65 20 64 65 73  6b 74 6f 70 2e 20 54 68  | the desktop. Th|
00004460  65 20 66 69 6c 65 0a 22  46 53 49 75 73 65 22 20  |e file."FSIuse" |
00004470  64 65 73 63 72 69 62 65  73 20 74 68 65 20 70 61  |describes the pa|
00004480  72 61 6d 65 74 65 72 73  20 63 6f 6e 63 69 73 65  |rameters concise|
00004490  6c 79 2e 20 54 68 65 20  70 72 6f 67 72 61 6d 20  |ly. The program |
000044a0  73 65 6c 65 63 74 73 20  6d 6f 64 65 20 30 20 77  |selects mode 0 w|
000044b0  68 65 6e 0a 72 75 6e 20  66 72 6f 6d 20 74 68 65  |hen.run from the|
000044c0  20 63 6f 6d 6d 61 6e 64  20 6c 69 6e 65 20 77 68  | command line wh|
000044d0  65 6e 20 64 6f 69 6e 67  20 61 6e 79 20 77 6f 72  |en doing any wor|
000044e0  6b 20 69 6e 20 6f 72 64  65 72 20 74 6f 20 73 70  |k in order to sp|
000044f0  65 65 64 20 75 70 20 70  72 6f 63 65 73 73 69 6e  |eed up processin|
00004500  67 0a 28 74 68 69 73 20  63 61 6e 20 62 65 20 64  |g.(this can be d|
00004510  69 73 61 62 6c 65 64 20  77 69 74 68 20 2d 6e 6f  |isabled with -no|
00004520  6d 6f 64 65 29 2e 20 49  74 20 6d 61 79 20 61 6c  |mode). It may al|
00004530  73 6f 20 62 65 20 61 20  67 6f 6f 64 20 69 64 65  |so be a good ide|
00004540  61 20 74 6f 20 52 4d 46  61 73 74 65 72 0a 42 41  |a to RMFaster.BA|
00004550  53 49 43 2e 20 41 6e 20  68 6f 75 72 67 6c 61 73  |SIC. An hourglas|
00004560  73 20 25 61 67 65 20 70  72 6f 63 65 73 73 65 64  |s %age processed|
00004570  20 66 69 67 75 72 65 20  69 73 20 64 69 73 70 6c  | figure is displ|
00004580  61 79 65 64 20 28 74 68  69 73 20 6d 61 79 20 72  |ayed (this may r|
00004590  75 6e 20 74 68 72 6f 75  67 68 0a 74 77 69 63 65  |un through.twice|
000045a0  20 66 6f 72 20 73 6f 6d  65 20 6f 66 20 74 68 65  | for some of the|
000045b0  20 6d 6f 72 65 20 65 78  70 65 6e 73 69 76 65 20  | more expensive |
000045c0  6f 70 74 69 6f 6e 73 29  2e 20 54 68 65 20 70 72  |options). The pr|
000045d0  6f 67 72 61 6d 20 72 65  61 64 73 20 74 68 65 20  |ogram reads the |
000045e0  73 6f 75 72 63 65 0a 69  6d 61 67 65 20 66 72 6f  |source.image fro|
000045f0  6d 20 64 69 73 63 20 61  6e 64 20 62 75 69 6c 64  |m disc and build|
00004600  73 20 74 68 65 20 6f 75  74 70 75 74 20 69 6e 20  |s the output in |
00004610  6d 65 6d 6f 72 79 2c 20  68 61 76 69 6e 67 20 63  |memory, having c|
00004620  6c 61 69 6d 65 64 20 73  6f 6d 65 20 66 72 6f 6d  |laimed some from|
00004630  20 74 68 65 0a 73 79 73  74 65 6d 2e 0a 0a 49 6e  | the.system...In|
00004640  20 61 64 64 69 74 69 6f  6e 20 74 6f 20 73 74 72  | addition to str|
00004650  69 63 74 6c 79 20 63 6f  6e 76 65 72 74 69 6e 67  |ictly converting|
00004660  20 74 68 65 20 73 6f 75  72 63 65 20 69 6d 61 67  | the source imag|
00004670  65 2c 20 43 68 61 6e 67  65 46 53 49 20 63 61 6e  |e, ChangeFSI can|
00004680  20 61 6c 73 6f 20 70 72  6f 63 65 73 73 0a 69 74  | also process.it|
00004690  2e 20 41 20 74 72 69 76  69 61 6c 20 6f 70 74 69  |. A trivial opti|
000046a0  6f 6e 20 69 73 20 22 2d  69 6e 66 6f 22 3a 20 43  |on is "-info": C|
000046b0  68 61 6e 67 65 46 53 49  20 77 69 6c 6c 20 74 65  |hangeFSI will te|
000046c0  6c 6c 20 79 6f 75 20 77  68 61 74 20 69 74 20 69  |ll you what it i|
000046d0  73 20 64 6f 69 6e 67 20  28 61 0a 67 6f 6f 64 20  |s doing (a.good |
000046e0  77 61 79 20 6f 66 20 66  69 6e 64 69 6e 67 20 6f  |way of finding o|
000046f0  75 74 20 77 68 61 74 20  74 68 65 20 73 6f 75 72  |ut what the sour|
00004700  63 65 20 69 6d 61 67 65  20 61 63 74 75 61 6c 6c  |ce image actuall|
00004710  79 20 69 73 2c 20 61 6e  64 20 68 6f 77 20 74 68  |y is, and how th|
00004720  65 20 73 63 61 6c 69 6e  67 0a 74 75 72 6e 73 20  |e scaling.turns |
00004730  6f 75 74 21 29 2e 20 53  69 6d 69 6c 61 72 6c 79  |out!). Similarly|
00004740  20 74 72 69 76 69 61 6c  20 61 72 65 20 2d 76 66  | trivial are -vf|
00004750  6c 69 70 20 61 6e 64 20  2d 68 66 6c 69 70 20 2d  |lip and -hflip -|
00004760  20 74 68 65 20 70 69 63  74 75 72 65 20 63 61 6e  | the picture can|
00004770  20 62 65 0a 70 72 6f 64  75 63 65 20 75 70 73 69  | be.produce upsi|
00004780  64 65 20 64 6f 77 6e 20  61 6e 64 20 6c 65 66 74  |de down and left|
00004790  2f 72 69 67 68 74 20 72  65 76 65 72 73 65 64 2e  |/right reversed.|
000047a0  20 4e 6f 74 20 73 6f 20  74 72 69 76 69 61 6c 20  | Not so trivial |
000047b0  69 73 20 2d 72 6f 74 61  74 65 2c 20 77 68 69 63  |is -rotate, whic|
000047c0  68 0a 77 69 6c 6c 20 72  6f 74 61 74 65 20 74 68  |h.will rotate th|
000047d0  65 20 69 6d 61 67 65 20  62 79 20 39 30 20 64 65  |e image by 90 de|
000047e0  67 72 65 65 73 20 28 74  68 61 74 20 69 73 2c 20  |grees (that is, |
000047f0  61 6e 20 61 6e 74 69 2d  20 63 6c 6f 63 6b 77 69  |an anti- clockwi|
00004800  73 65 20 71 75 61 72 74  65 72 20 74 75 72 6e 29  |se quarter turn)|
00004810  2e 0a 2d 72 6f 74 61 74  65 2d 20 72 6f 74 61 74  |..-rotate- rotat|
00004820  65 73 20 62 79 20 2d 39  30 20 64 65 67 72 65 65  |es by -90 degree|
00004830  73 20 28 63 6c 6f 63 6b  77 69 73 65 20 71 75 61  |s (clockwise qua|
00004840  72 74 65 72 20 74 75 72  6e 29 2e 0a 0a 53 6f 6d  |rter turn)...Som|
00004850  65 74 69 6d 65 73 20 75  73 65 66 75 6c 20 69 73  |etimes useful is|
00004860  20 22 2d 6e 6f 73 69 7a  65 22 3a 20 43 68 61 6e  | "-nosize": Chan|
00004870  67 65 46 53 49 20 63 61  6e 20 72 65 61 64 20 70  |geFSI can read p|
00004880  69 78 65 6c 20 73 69 7a  65 20 69 6e 66 6f 72 6d  |ixel size inform|
00004890  61 74 69 6f 6e 20 66 72  6f 6d 0a 74 68 65 20 73  |ation from.the s|
000048a0  6f 75 72 63 65 20 69 6d  61 67 65 20 28 69 66 20  |ource image (if |
000048b0  70 72 65 73 65 6e 74 29  20 6f 72 20 67 75 65 73  |present) or gues|
000048c0  73 20 69 74 20 28 65 2e  67 2e 20 69 66 20 74 68  |s it (e.g. if th|
000048d0  65 72 65 20 61 72 65 20  6c 65 73 73 20 74 68 61  |ere are less tha|
000048e0  6e 20 33 32 30 20 62 79  0a 32 35 36 20 70 69 78  |n 320 by.256 pix|
000048f0  65 6c 73 20 69 6e 20 61  20 73 6f 75 72 63 65 20  |els in a source |
00004900  69 6d 61 67 65 2c 20 43  68 61 6e 67 65 46 53 49  |image, ChangeFSI|
00004910  20 61 73 73 75 6d 65 73  20 74 68 65 20 70 69 78  | assumes the pix|
00004920  65 6c 73 20 61 72 65 20  74 68 65 20 73 61 6d 65  |els are the same|
00004930  20 73 69 7a 65 20 61 73  0a 4d 4f 44 45 20 31 33  | size as.MODE 13|
00004940  27 73 20 5b 34 35 20 70  65 72 20 69 6e 63 68 5d  |'s [45 per inch]|
00004950  29 20 6f 72 20 64 65 72  69 76 65 20 69 74 20 66  |) or derive it f|
00004960  72 6f 6d 20 6f 74 68 65  72 20 69 6e 66 6f 72 6d  |rom other inform|
00004970  61 74 69 6f 6e 20 61 6e  64 20 73 63 61 6c 65 20  |ation and scale |
00004980  74 68 65 0a 6f 75 74 70  75 74 20 69 6d 61 67 65  |the.output image|
00004990  20 28 63 6f 6d 70 6f 73  65 64 20 6f 66 20 52 49  | (composed of RI|
000049a0  53 43 20 4f 53 20 73 71  75 61 72 65 20 6f 72 20  |SC OS square or |
000049b0  31 3a 32 20 73 69 7a 65  64 20 70 69 78 65 6c 73  |1:2 sized pixels|
000049c0  29 20 61 70 70 72 6f 70  72 69 61 74 65 6c 79 2e  |) appropriately.|
000049d0  0a 2d 6e 6f 73 69 7a 65  20 73 74 6f 70 73 20 74  |.-nosize stops t|
000049e0  68 69 73 20 66 72 6f 6d  20 68 61 70 70 65 6e 69  |his from happeni|
000049f0  6e 67 2e 20 5b 74 68 69  73 20 73 65 65 6d 73 20  |ng. [this seems |
00004a00  70 61 72 74 69 63 75 6c  61 72 6c 79 20 72 65 6c  |particularly rel|
00004a10  65 76 61 6e 74 20 6f 6e  20 66 6f 72 6d 61 74 73  |evant on formats|
00004a20  0a 6c 69 6b 65 20 54 49  46 46 20 6f 72 20 49 46  |.like TIFF or IF|
00004a30  46 20 77 68 65 72 65 20  74 68 65 20 70 69 78 65  |F where the pixe|
00004a40  6c 20 73 69 7a 65 20 69  73 20 73 70 65 63 69 66  |l size is specif|
00004a50  69 65 64 20 2a 62 75 74  20 6d 61 79 20 62 65 20  |ied *but may be |
00004a60  77 72 6f 6e 67 2a 5d 20  55 73 69 6e 67 0a 2d 69  |wrong*] Using.-i|
00004a70  6e 66 6f 20 77 69 6c 6c  20 64 69 73 70 6c 61 79  |nfo will display|
00004a80  20 74 68 65 20 70 69 78  65 6c 20 72 61 74 69 6f  | the pixel ratio|
00004a90  73 20 77 68 69 63 68 20  43 68 61 6e 67 65 46 53  |s which ChangeFS|
00004aa0  49 20 69 73 20 75 73 69  6e 67 20 2d 20 61 20 63  |I is using - a c|
00004ab0  6f 6d 62 69 6e 61 74 69  6f 6e 20 6f 66 0a 74 68  |ombination of.th|
00004ac0  65 20 73 69 7a 65 20 67  75 65 73 73 2c 20 74 68  |e size guess, th|
00004ad0  65 20 6f 75 74 70 75 74  20 70 69 78 65 6c 20 73  |e output pixel s|
00004ae0  69 7a 65 20 61 6e 64 20  61 6e 79 20 64 65 6c 69  |ize and any deli|
00004af0  62 65 72 61 74 65 20 73  63 61 6c 69 6e 67 2e 20  |berate scaling. |
00004b00  22 2d 6e 6f 73 63 61 6c  65 22 0a 74 75 72 6e 73  |"-noscale".turns|
00004b10  20 6f 66 66 20 74 68 65  20 6f 75 74 70 75 74 20  | off the output |
00004b20  73 63 61 6c 69 6e 67 20  61 73 20 77 65 6c 6c 2e  |scaling as well.|
00004b30  0a 0a 54 68 65 20 73 69  6d 70 6c 65 73 74 20 69  |..The simplest i|
00004b40  6d 61 67 65 20 70 72 6f  63 65 73 73 69 6e 67 20  |mage processing |
00004b50  6f 70 74 69 6f 6e 20 69  73 20 22 2d 72 61 6e 67  |option is "-rang|
00004b60  65 22 20 77 68 69 63 68  20 77 69 6c 6c 20 65 78  |e" which will ex|
00004b70  70 61 6e 64 20 74 68 65  20 64 79 6e 61 6d 69 63  |pand the dynamic|
00004b80  0a 72 61 6e 67 65 20 6f  66 20 74 68 65 20 69 6e  |.range of the in|
00004b90  70 75 74 20 70 69 63 74  75 72 65 20 73 6f 20 74  |put picture so t|
00004ba0  68 61 74 20 69 74 20 66  69 6c 6c 73 20 74 68 65  |hat it fills the|
00004bb0  20 61 76 61 69 6c 61 62  6c 65 20 61 72 65 61 20  | available area |
00004bc0  28 6e 6f 74 20 61 20 67  6f 6f 64 0a 6f 70 74 69  |(not a good.opti|
00004bd0  6f 6e 20 66 6f 72 20 61  6e 69 6d 61 74 65 64 20  |on for animated |
00004be0  73 65 71 75 65 6e 63 65  73 20 75 6e 6c 65 73 73  |sequences unless|
00004bf0  20 61 6c 6c 20 73 6f 75  72 63 65 20 69 6d 61 67  | all source imag|
00004c00  65 73 20 70 6f 73 73 65  73 73 20 74 68 65 20 73  |es possess the s|
00004c10  61 6d 65 20 72 61 6e 67  65 29 2e 0a 53 69 6e 63  |ame range)..Sinc|
00004c20  65 20 72 2c 20 67 2c 20  62 20 61 72 65 20 70 72  |e r, g, b are pr|
00004c30  6f 63 65 73 73 65 64 20  62 79 20 74 68 65 20 73  |ocessed by the s|
00004c40  61 6d 65 20 61 6d 6f 75  6e 74 2c 20 2d 72 61 6e  |ame amount, -ran|
00004c50  67 65 20 70 72 65 73 65  72 76 65 73 20 74 68 65  |ge preserves the|
00004c60  20 63 6f 6c 6f 75 72 20  6f 66 0a 70 69 78 65 6c  | colour of.pixel|
00004c70  73 20 69 6e 20 63 6f 6c  6f 75 72 65 64 20 70 69  |s in coloured pi|
00004c80  63 74 75 72 65 73 2e 0a  0a 41 20 75 73 65 66 75  |ctures...A usefu|
00004c90  6c 20 6f 70 74 69 6f 6e  20 66 6f 72 20 6f 75 74  |l option for out|
00004ca0  70 75 74 20 69 6e 74 65  6e 64 65 64 20 66 6f 72  |put intended for|
00004cb0  20 74 68 65 20 73 63 72  65 65 6e 20 6f 6e 6c 79  | the screen only|
00004cc0  20 69 73 20 47 61 6d 6d  61 20 63 6f 72 72 65 63  | is Gamma correc|
00004cd0  74 69 6f 6e 2e 0a 43 52  54 20 64 69 73 70 6c 61  |tion..CRT displa|
00004ce0  79 73 20 64 6f 20 6e 6f  74 20 68 61 76 65 20 61  |ys do not have a|
00004cf0  20 73 69 6d 70 6c 65 20  6c 69 6e 65 61 72 20 72  | simple linear r|
00004d00  65 6c 61 74 69 6f 6e 73  68 69 70 20 62 65 74 77  |elationship betw|
00004d10  65 65 6e 20 62 72 69 67  68 74 6e 65 73 73 20 6f  |een brightness o|
00004d20  66 20 74 68 65 0a 73 70  6f 74 20 61 6e 64 20 69  |f the.spot and i|
00004d30  6e 70 75 74 20 76 6f 6c  74 61 67 65 3a 20 69 6e  |nput voltage: in|
00004d40  73 74 65 61 64 20 6f 66  20 62 72 69 67 68 74 6e  |stead of brightn|
00004d50  65 73 73 20 3d 20 63 6f  6e 73 74 20 2a 20 76 6f  |ess = const * vo|
00004d60  6c 74 61 67 65 2c 20 74  68 65 20 72 65 73 70 6f  |ltage, the respo|
00004d70  6e 73 65 0a 69 73 20 62  72 69 67 68 74 6e 65 73  |nse.is brightnes|
00004d80  73 20 3d 20 63 6f 6e 73  74 20 2a 20 76 6f 6c 74  |s = const * volt|
00004d90  61 67 65 20 5e 20 28 31  2f 67 61 6d 6d 61 29 2e  |age ^ (1/gamma).|
00004da0  20 49 6e 20 74 68 65 20  54 56 20 69 6e 64 75 73  | In the TV indus|
00004db0  74 72 79 2c 20 67 61 6d  6d 61 20 68 61 73 20 62  |try, gamma has b|
00004dc0  65 65 6e 0a 73 74 61 6e  64 61 72 64 69 73 65 64  |een.standardised|
00004dd0  20 61 73 20 32 2e 32 2c  20 62 75 74 20 74 68 65  | as 2.2, but the|
00004de0  72 65 20 69 73 20 77 69  64 65 20 76 61 72 69 61  |re is wide varia|
00004df0  74 69 6f 6e 20 69 6e 20  74 68 65 20 63 6f 6d 70  |tion in the comp|
00004e00  75 74 65 72 20 69 6e 64  75 73 74 72 79 3a 20 74  |uter industry: t|
00004e10  68 65 0a 6d 6f 6e 69 74  6f 72 27 73 20 72 65 73  |he.monitor's res|
00004e20  70 6f 6e 73 65 20 77 69  6c 6c 20 76 61 72 79 20  |ponse will vary |
00004e30  64 65 70 65 6e 64 69 6e  67 20 6f 6e 20 77 68 61  |depending on wha|
00004e40  74 20 6d 61 6b 65 20 69  74 20 69 73 20 61 6e 64  |t make it is and|
00004e50  20 68 6f 77 20 69 74 20  69 73 0a 61 64 6a 75 73  | how it is.adjus|
00004e60  74 65 64 2e 20 4c 6f 77  20 76 61 6c 75 65 73 20  |ted. Low values |
00004e70  6f 66 20 67 61 6d 6d 61  20 28 30 20 74 6f 20 31  |of gamma (0 to 1|
00004e80  29 20 6d 61 6b 65 20 63  6f 6c 6f 75 72 73 20 64  |) make colours d|
00004e90  61 72 6b 65 72 20 61 6e  64 20 68 69 67 68 20 76  |arker and high v|
00004ea0  61 6c 75 65 73 0a 28 61  62 6f 76 65 20 31 29 20  |alues.(above 1) |
00004eb0  6d 61 6b 65 20 63 6f 6c  6f 75 72 73 20 6c 69 67  |make colours lig|
00004ec0  68 74 65 72 20 77 69 74  68 20 74 68 65 20 65 66  |hter with the ef|
00004ed0  66 65 63 74 73 20 62 65  69 6e 67 20 70 61 72 74  |fects being part|
00004ee0  69 63 75 6c 61 72 6c 79  20 6e 6f 74 69 63 65 61  |icularly noticea|
00004ef0  62 6c 65 0a 6f 6e 20 64  69 6d 20 63 6f 6c 6f 75  |ble.on dim colou|
00004f00  72 73 2e 20 22 2d 67 61  6d 6d 61 22 20 75 73 65  |rs. "-gamma" use|
00004f10  73 20 74 68 65 20 64 65  66 61 75 6c 74 20 6f 66  |s the default of|
00004f20  20 32 2e 32 2c 20 61 6e  64 20 69 74 20 63 61 6e  | 2.2, and it can|
00004f30  20 62 65 20 73 65 74 20  62 79 0a 22 2d 67 61 6d  | be set by."-gam|
00004f40  6d 61 31 2e 35 22 20 73  61 79 2e 20 47 61 6d 6d  |ma1.5" say. Gamm|
00004f50  61 20 63 6f 72 72 65 63  74 69 6f 6e 20 69 73 20  |a correction is |
00004f60  6d 6f 73 74 20 72 65 6c  65 76 61 6e 74 20 77 68  |most relevant wh|
00004f70  65 6e 20 69 74 73 20 6b  6e 6f 77 6e 20 74 68 61  |en its known tha|
00004f80  74 20 74 68 65 0a 69 6e  70 75 74 20 68 61 73 20  |t the.input has |
00004f90  61 20 6c 69 6e 65 61 72  20 69 6e 74 65 6e 73 69  |a linear intensi|
00004fa0  74 79 20 28 69 6e 70 75  74 20 66 72 6f 6d 20 61  |ty (input from a|
00004fb0  20 73 63 61 6e 6e 65 72  20 6f 72 20 66 72 6f 6d  | scanner or from|
00004fc0  20 61 6e 6f 74 68 65 72  20 63 6f 6d 70 75 74 65  | another compute|
00004fd0  72 0a 77 69 74 68 20 6d  6f 72 65 20 62 69 74 73  |r.with more bits|
00004fe0  20 70 65 72 20 63 6f 6c  6f 75 72 20 63 6f 6d 70  | per colour comp|
00004ff0  6f 6e 65 6e 74 20 74 68  61 6e 20 74 68 65 20 41  |onent than the A|
00005000  72 63 68 69 6d 65 64 65  73 29 2e 0a 0a 41 20 6d  |rchimedes)...A m|
00005010  6f 72 65 20 63 6f 6d 70  6c 65 78 20 70 72 69 6d  |ore complex prim|
00005020  69 74 69 76 65 20 69 73  20 22 2d 65 71 75 61 6c  |itive is "-equal|
00005030  22 20 77 68 69 63 68 20  70 65 72 66 6f 72 6d 73  |" which performs|
00005040  20 22 68 69 73 74 6f 67  72 61 6d 20 65 71 75 61  | "histogram equa|
00005050  6c 69 73 61 74 69 6f 6e  22 20 6f 6e 0a 74 68 65  |lisation" on.the|
00005060  20 69 6d 61 67 65 2e 20  54 68 69 73 20 6d 61 6b  | image. This mak|
00005070  65 73 20 74 68 65 20 68  69 73 74 6f 67 72 61 6d  |es the histogram|
00005080  20 6f 66 20 6c 65 76 65  6c 20 76 65 72 73 75 73  | of level versus|
00005090  20 6e 75 6d 62 65 72 20  6f 66 20 70 6f 69 6e 74  | number of point|
000050a0  73 20 61 74 20 74 68 61  74 0a 6c 65 76 65 6c 20  |s at that.level |
000050b0  61 73 20 66 6c 61 74 20  61 73 20 70 6f 73 73 69  |as flat as possi|
000050c0  62 6c 65 20 67 69 76 69  6e 67 20 66 75 6c 6c 20  |ble giving full |
000050d0  75 73 65 20 6f 66 20 74  68 65 20 6e 75 6d 62 65  |use of the numbe|
000050e0  72 20 6f 66 20 63 6f 6c  6f 75 72 73 20 61 76 61  |r of colours ava|
000050f0  69 6c 61 62 6c 65 2e 0a  2d 65 71 75 61 6c 20 69  |ilable..-equal i|
00005100  73 20 61 20 76 65 72 79  20 68 61 72 73 68 20 70  |s a very harsh p|
00005110  72 69 6d 69 74 69 76 65  2c 20 65 76 65 6e 20 6f  |rimitive, even o|
00005120  6e 20 6d 6f 6e 6f 63 68  72 6f 6d 65 20 69 6e 70  |n monochrome inp|
00005130  75 74 73 20 69 74 20 63  61 6e 20 70 72 6f 64 75  |uts it can produ|
00005140  63 65 20 61 6e 0a 69 6e  66 65 72 69 6f 72 20 70  |ce an.inferior p|
00005150  69 63 74 75 72 65 3b 20  77 68 69 6c 65 20 6f 6e  |icture; while on|
00005160  20 63 6f 6c 6f 75 72 20  70 69 63 74 75 72 65 73  | colour pictures|
00005170  20 69 74 20 63 61 6e 20  64 69 73 74 6f 72 74 20  | it can distort |
00005180  74 68 65 20 63 6f 6c 6f  75 72 20 6f 66 20 65 61  |the colour of ea|
00005190  63 68 0a 70 6f 69 6e 74  20 28 73 69 6e 63 65 20  |ch.point (since |
000051a0  72 2c 20 67 2c 20 62 20  61 72 65 20 63 6f 6d 70  |r, g, b are comp|
000051b0  75 74 65 64 20 73 65 70  61 72 61 74 65 6c 79 29  |uted separately)|
000051c0  2e 20 42 75 74 20 2d 65  71 75 61 6c 20 63 61 6e  |. But -equal can|
000051d0  20 6f 66 74 65 6e 20 72  65 63 6f 76 65 72 20 61  | often recover a|
000051e0  0a 70 69 63 74 75 72 65  20 74 68 61 74 20 69 73  |.picture that is|
000051f0  20 6f 74 68 65 72 77 69  73 65 20 63 6f 6d 70 6c  | otherwise compl|
00005200  65 74 65 6c 79 20 75 73  65 6c 65 73 73 20 6f 72  |etely useless or|
00005210  20 65 78 70 6f 73 65 20  69 6e 66 6f 72 6d 61 74  | expose informat|
00005220  69 6f 6e 20 6c 6f 63 6b  65 64 20 69 6e 20 61 0a  |ion locked in a.|
00005230  73 6d 61 6c 6c 20 70 61  72 74 20 6f 66 20 74 68  |small part of th|
00005240  65 20 69 6e 70 75 74 20  73 63 61 6c 65 2e 0a 0a  |e input scale...|
00005250  49 6d 61 67 65 20 63 6f  6c 6f 75 72 73 20 6d 61  |Image colours ma|
00005260  79 20 62 65 20 69 6e 76  65 72 74 65 64 20 77 69  |y be inverted wi|
00005270  74 68 20 74 68 65 20 2d  69 6e 76 65 72 74 20 6f  |th the -invert o|
00005280  70 74 69 6f 6e 2e 20 57  68 69 63 68 20 6d 61 79  |ption. Which may|
00005290  20 62 65 20 66 75 6e 20  69 6e 0a 63 6f 6c 6f 75  | be fun in.colou|
000052a0  72 20 62 75 74 20 69 73  20 72 61 72 65 6c 79 20  |r but is rarely |
000052b0  75 73 65 66 75 6c 21 20  48 6f 77 65 76 65 72 2c  |useful! However,|
000052c0  20 6d 6f 6e 6f 63 68 72  6f 6d 65 20 69 6d 61 67  | monochrome imag|
000052d0  65 73 20 66 72 65 71 75  65 6e 74 6c 79 20 6e 65  |es frequently ne|
000052e0  65 64 0a 69 6e 76 65 72  74 69 6e 67 2c 20 65 73  |ed.inverting, es|
000052f0  70 65 63 69 61 6c 6c 79  20 6f 6e 65 20 62 69 74  |pecially one bit|
00005300  20 70 65 72 20 70 69 78  65 6c 20 73 6f 75 72 63  | per pixel sourc|
00005310  65 73 2e 0a 0a 41 20 6d  6f 72 65 20 70 6f 77 65  |es...A more powe|
00005320  72 66 75 6c 20 6f 70 74  69 6f 6e 20 69 73 20 22  |rful option is "|
00005330  2d 73 68 61 72 70 65 6e  22 20 77 68 69 63 68 20  |-sharpen" which |
00005340  65 6e 68 61 6e 63 65 73  20 74 68 65 20 65 64 67  |enhances the edg|
00005350  65 73 20 6f 66 20 6f 62  6a 65 63 74 73 20 69 6e  |es of objects in|
00005360  20 74 68 65 0a 70 69 63  74 75 72 65 3a 20 74 68  | the.picture: th|
00005370  69 73 20 69 73 20 76 65  72 79 20 75 73 65 66 75  |is is very usefu|
00005380  6c 20 73 69 6e 63 65 20  74 68 65 20 64 69 74 68  |l since the dith|
00005390  65 72 69 6e 67 20 70 72  6f 63 65 73 73 20 69 6e  |ering process in|
000053a0  65 76 69 74 61 62 6c 79  20 73 6d 65 61 72 73 0a  |evitably smears.|
000053b0  69 6e 66 6f 72 6d 61 74  69 6f 6e 20 6f 76 65 72  |information over|
000053c0  20 74 68 65 20 64 69 73  70 6c 61 79 2e 20 50 72  | the display. Pr|
000053d0  65 2d 73 68 61 72 70 65  6e 69 6e 67 20 74 68 65  |e-sharpening the|
000053e0  20 69 6d 61 67 65 20 63  61 6e 20 72 65 73 75 6c  | image can resul|
000053f0  74 20 69 6e 20 61 20 6d  6f 72 65 0a 61 63 63 65  |t in a more.acce|
00005400  70 74 61 62 6c 65 20 6f  75 74 70 75 74 2e 20 44  |ptable output. D|
00005410  65 66 61 75 6c 74 20 76  61 6c 75 65 73 20 6f 66  |efault values of|
00005420  20 73 68 61 72 70 65 6e  69 6e 67 20 63 61 6e 20  | sharpening can |
00005430  62 65 20 6f 76 65 72 72  69 64 64 65 6e 20 66 6f  |be overridden fo|
00005440  72 20 73 70 65 63 69 61  6c 0a 65 66 66 65 63 74  |r special.effect|
00005450  73 3a 20 2d 73 68 61 72  70 65 6e 38 20 64 6f 65  |s: -sharpen8 doe|
00005460  73 20 65 64 67 65 20 64  65 74 65 63 74 69 6f 6e  |s edge detection|
00005470  2e 20 4c 6f 77 65 72 20  61 6d 6f 75 6e 74 73 20  |. Lower amounts |
00005480  6f 66 20 73 68 61 72 70  65 6e 69 6e 67 20 61 72  |of sharpening ar|
00005490  65 0a 6f 62 74 61 69 6e  65 64 20 77 69 74 68 20  |e.obtained with |
000054a0  6c 61 72 67 65 72 20 2d  73 68 61 72 70 65 6e 20  |larger -sharpen |
000054b0  6e 75 6d 62 65 72 73 2e  20 49 6e 20 67 65 6e 65  |numbers. In gene|
000054c0  72 61 6c 20 74 68 65 20  6d 6f 72 65 20 69 6e 70  |ral the more inp|
000054d0  75 74 20 61 6e 64 20 6f  75 74 70 75 74 0a 70 69  |ut and output.pi|
000054e0  78 65 6c 73 20 61 6e 64  20 74 68 65 20 67 72 65  |xels and the gre|
000054f0  61 74 65 72 20 74 68 65  20 6f 75 74 70 75 74 20  |ater the output |
00005500  72 61 6e 67 65 20 69 6e  20 61 20 70 69 78 65 6c  |range in a pixel|
00005510  20 69 6e 20 74 68 65 20  69 6d 61 67 65 73 2c 20  | in the images, |
00005520  74 68 65 20 6c 65 73 73  0a 73 68 61 72 70 65 6e  |the less.sharpen|
00005530  69 6e 67 20 69 73 20 72  65 71 75 69 72 65 64 2e  |ing is required.|
00005540  20 53 68 61 72 70 65 6e  69 6e 67 20 61 20 70 69  | Sharpening a pi|
00005550  63 74 75 72 65 20 77 68  69 63 68 20 69 73 20 61  |cture which is a|
00005560  6c 72 65 61 64 79 20 64  69 74 68 65 72 65 64 20  |lready dithered |
00005570  63 61 6e 20 67 69 76 65  0a 61 20 76 65 72 79 20  |can give.a very |
00005580  62 61 64 20 72 65 73 75  6c 74 2e 2e 2e 2e 0a 0a  |bad result......|
00005590  54 68 65 20 73 68 61 72  70 65 6e 69 6e 67 20 69  |The sharpening i|
000055a0  73 20 61 63 68 69 65 76  65 64 20 77 69 74 68 20  |s achieved with |
000055b0  74 68 65 20 66 6f 6c 6c  6f 77 69 6e 67 20 6d 61  |the following ma|
000055c0  74 72 69 78 3a 0a 0a 20  20 20 2d 31 20 20 20 20  |trix:..   -1    |
000055d0  2d 31 20 20 20 20 2d 31  0a 20 20 20 2d 31 20 73  |-1    -1.   -1 s|
000055e0  68 61 72 70 65 6e 20 20  2d 31 0a 20 20 20 2d 31  |harpen  -1.   -1|
000055f0  20 20 20 20 2d 31 20 20  20 20 2d 31 0a 0a 43 68  |    -1    -1..Ch|
00005600  61 6e 67 65 46 53 49 20  63 6f 6d 70 75 74 65 73  |angeFSI computes|
00005610  20 74 68 65 20 73 75 6d  20 6f 66 20 6e 69 6e 65  | the sum of nine|
00005620  20 70 69 78 65 6c 73 20  77 69 74 68 20 74 68 65  | pixels with the|
00005630  20 61 62 6f 76 65 20 77  65 69 67 68 74 73 20 66  | above weights f|
00005640  6f 72 20 65 61 63 68 20  69 6e 70 75 74 0a 70 69  |or each input.pi|
00005650  78 65 6c 20 61 6e 64 20  72 65 6e 6f 72 6d 61 6c  |xel and renormal|
00005660  69 73 65 73 20 74 68 65  20 72 65 73 75 6c 74 20  |ises the result |
00005670  28 64 69 76 69 64 65 73  20 62 79 20 73 68 61 72  |(divides by shar|
00005680  70 65 6e 2d 38 29 2e 0a  0a 53 69 6d 69 6c 61 72  |pen-8)...Similar|
00005690  20 69 73 20 22 2d 73 6d  6f 6f 74 68 22 20 77 68  | is "-smooth" wh|
000056a0  69 63 68 20 61 76 65 72  61 67 65 73 20 74 68 65  |ich averages the|
000056b0  20 70 69 78 65 6c 73 20  74 6f 20 65 6c 69 6d 69  | pixels to elimi|
000056c0  6e 61 74 65 20 6e 6f 69  73 65 2e 20 49 74 20 75  |nate noise. It u|
000056d0  73 65 73 20 74 68 65 0a  66 6f 6c 6c 6f 77 69 6e  |ses the.followin|
000056e0  67 20 6d 61 74 72 69 78  3a 0a 0a 20 20 20 20 31  |g matrix:..    1|
000056f0  20 20 20 20 20 31 20 20  20 20 20 31 0a 20 20 20  |     1     1.   |
00005700  20 31 20 20 73 6d 6f 6f  74 68 20 20 20 31 0a 20  | 1  smooth   1. |
00005710  20 20 20 31 20 20 20 20  20 31 20 20 20 20 20 31  |   1     1     1|
00005720  0a 0a 43 68 61 6e 67 65  46 53 49 20 63 6f 6d 70  |..ChangeFSI comp|
00005730  75 74 65 73 20 74 68 65  20 73 75 6d 20 6f 66 20  |utes the sum of |
00005740  6e 69 6e 65 20 70 69 78  65 6c 73 20 77 69 74 68  |nine pixels with|
00005750  20 74 68 65 20 61 62 6f  76 65 20 77 65 69 67 68  | the above weigh|
00005760  74 73 20 66 6f 72 20 65  61 63 68 20 69 6e 70 75  |ts for each inpu|
00005770  74 0a 70 69 78 65 6c 20  61 6e 64 20 72 65 6e 6f  |t.pixel and reno|
00005780  72 6d 61 6c 69 73 65 73  20 74 68 65 20 72 65 73  |rmalises the res|
00005790  75 6c 74 20 28 64 69 76  69 64 65 73 20 62 79 20  |ult (divides by |
000057a0  73 6d 6f 6f 74 68 2b 38  29 2e 20 4f 6e 6c 79 20  |smooth+8). Only |
000057b0  6f 6e 65 20 6f 66 20 73  6d 6f 6f 74 68 69 6e 67  |one of smoothing|
000057c0  0a 6f 72 20 73 68 61 72  70 65 6e 69 6e 67 20 6d  |.or sharpening m|
000057d0  61 79 20 62 65 20 70 65  72 66 6f 72 6d 65 64 20  |ay be performed |
000057e0  28 77 68 69 63 68 65 76  65 72 20 69 73 20 6c 61  |(whichever is la|
000057f0  73 74 20 6f 6e 20 74 68  65 20 63 6f 6d 6d 61 6e  |st on the comman|
00005800  64 20 6c 69 6e 65 29 2e  0a 0a 41 6e 20 6f 70 74  |d line)...An opt|
00005810  69 6f 6e 20 66 6f 72 20  74 65 73 74 69 6e 67 20  |ion for testing |
00005820  69 73 20 22 2d 6e 6f 64  69 74 68 65 72 22 20 77  |is "-nodither" w|
00005830  68 69 63 68 20 64 69 73  61 62 6c 65 73 20 74 68  |hich disables th|
00005840  65 20 46 6c 6f 79 64 20  53 74 65 69 6e 62 65 72  |e Floyd Steinber|
00005850  67 20 65 72 72 6f 72 0a  64 69 66 66 75 73 69 6f  |g error.diffusio|
00005860  6e 20 73 74 65 70 20 63  6f 6d 70 6c 65 74 65 6c  |n step completel|
00005870  79 2e 20 56 65 72 73 69  6f 6e 73 20 61 66 74 65  |y. Versions afte|
00005880  72 20 36 74 68 20 4a 75  6e 65 20 31 39 39 30 20  |r 6th June 1990 |
00005890  61 72 65 20 6d 6f 72 65  20 61 63 63 75 72 61 74  |are more accurat|
000058a0  65 20 61 74 0a 64 6f 69  6e 67 20 74 68 69 73 2e  |e at.doing this.|
000058b0  0a 0a 54 68 65 20 76 61  72 69 6f 75 73 20 70 72  |..The various pr|
000058c0  6f 63 65 73 73 65 73 20  64 65 73 63 72 69 62 65  |ocesses describe|
000058d0  64 20 61 62 6f 76 65 20  61 72 65 20 61 70 70 6c  |d above are appl|
000058e0  69 65 64 20 69 6e 20 74  68 65 20 66 6f 6c 6c 6f  |ied in the follo|
000058f0  77 69 6e 67 20 6f 72 64  65 72 20 66 6f 72 0a 70  |wing order for.p|
00005900  69 63 74 75 72 65 73 20  77 69 74 68 20 6d 6f 72  |ictures with mor|
00005910  65 20 6f 75 74 70 75 74  20 70 69 78 65 6c 73 20  |e output pixels |
00005920  74 68 61 6e 20 69 6e 70  75 74 3a 0a 20 20 20 28  |than input:.   (|
00005930  61 29 20 72 61 6e 67 65  20 6f 72 20 68 69 73 74  |a) range or hist|
00005940  6f 67 72 61 6d 20 65 71  75 61 6c 69 73 61 74 69  |ogram equalisati|
00005950  6f 6e 2c 0a 20 20 20 28  62 29 20 73 68 61 72 70  |on,.   (b) sharp|
00005960  65 6e 20 6f 72 20 73 6d  6f 6f 74 68 2c 0a 20 20  |en or smooth,.  |
00005970  20 28 63 29 20 73 63 61  6c 65 2c 0a 20 20 20 28  | (c) scale,.   (|
00005980  64 29 20 65 72 72 6f 72  20 64 69 66 66 75 73 69  |d) error diffusi|
00005990  6f 6e 2e 0a 54 68 69 73  20 6f 72 64 65 72 20 69  |on..This order i|
000059a0  73 20 63 68 6f 73 65 6e  20 73 6f 20 74 68 61 74  |s chosen so that|
000059b0  3a 0a 20 20 20 28 31 29  20 73 69 6e 63 65 20 74  |:.   (1) since t|
000059c0  68 65 20 69 6e 70 75 74  20 70 69 78 65 6c 73 20  |he input pixels |
000059d0  28 72 61 74 68 65 72 20  74 68 61 6e 20 74 68 65  |(rather than the|
000059e0  20 6f 75 74 70 75 74 20  70 69 78 65 6c 73 29 20  | output pixels) |
000059f0  61 72 65 20 73 68 61 72  70 65 6e 65 64 2c 0a 20  |are sharpened,. |
00005a00  20 20 20 20 20 20 74 68  65 72 65 20 69 73 20 6e  |      there is n|
00005a10  6f 20 66 61 6c 73 65 20  65 64 67 65 20 69 6e 74  |o false edge int|
00005a20  72 6f 64 75 63 65 64 20  77 68 65 6e 20 70 69 78  |roduced when pix|
00005a30  65 6c 73 20 61 72 65 20  72 65 70 6c 69 63 61 74  |els are replicat|
00005a40  65 64 2e 0a 0a 54 68 65  20 76 61 72 69 6f 75 73  |ed...The various|
00005a50  20 70 72 6f 63 65 73 73  65 73 20 64 65 73 63 72  | processes descr|
00005a60  69 62 65 64 20 61 62 6f  76 65 20 61 72 65 20 61  |ibed above are a|
00005a70  70 70 6c 69 65 64 20 69  6e 20 74 68 65 20 66 6f  |pplied in the fo|
00005a80  6c 6c 6f 77 69 6e 67 20  6f 72 64 65 72 20 66 6f  |llowing order fo|
00005a90  72 0a 70 69 63 74 75 72  65 73 20 77 69 74 68 20  |r.pictures with |
00005aa0  66 65 77 65 72 20 6f 75  74 70 75 74 20 70 69 78  |fewer output pix|
00005ab0  65 6c 73 20 74 68 61 6e  20 69 6e 70 75 74 3a 0a  |els than input:.|
00005ac0  20 20 20 28 61 29 20 73  63 61 6c 65 2c 0a 20 20  |   (a) scale,.  |
00005ad0  20 28 62 29 20 72 61 6e  67 65 20 6f 72 20 68 69  | (b) range or hi|
00005ae0  73 74 6f 67 72 61 6d 20  65 71 75 61 6c 69 73 61  |stogram equalisa|
00005af0  74 69 6f 6e 2c 0a 20 20  20 28 63 29 20 73 68 61  |tion,.   (c) sha|
00005b00  72 70 65 6e 20 6f 72 20  73 6d 6f 6f 74 68 2c 0a  |rpen or smooth,.|
00005b10  20 20 20 28 64 29 20 65  72 72 6f 72 20 64 69 66  |   (d) error dif|
00005b20  66 75 73 69 6f 6e 2e 0a  54 68 69 73 20 6f 72 64  |fusion..This ord|
00005b30  65 72 20 69 73 20 63 68  6f 73 65 6e 20 73 6f 20  |er is chosen so |
00005b40  74 68 61 74 3a 0a 20 20  20 28 31 29 20 72 61 6e  |that:.   (1) ran|
00005b50  67 69 6e 67 20 63 61 6e  20 65 6e 68 61 6e 63 65  |ging can enhance|
00005b60  20 64 6f 77 6e 2d 73 69  7a 65 64 20 69 6d 61 67  | down-sized imag|
00005b70  65 73 2e 20 53 61 79 20  61 20 62 6c 61 63 6b 2f  |es. Say a black/|
00005b80  77 68 69 74 65 20 64 69  74 68 65 72 65 64 20 69  |white dithered i|
00005b90  6d 61 67 65 0a 20 20 20  20 20 20 20 69 73 20 72  |mage.       is r|
00005ba0  65 64 75 63 65 64 20 69  6e 20 73 69 7a 65 2c 20  |educed in size, |
00005bb0  73 6f 20 74 68 61 74 20  74 68 65 20 6f 75 74 70  |so that the outp|
00005bc0  75 74 20 66 72 6f 6d 20  74 68 65 20 73 63 61 6c  |ut from the scal|
00005bd0  69 6e 67 20 70 72 6f 63  65 73 73 20 69 73 20 28  |ing process is (|
00005be0  73 6f 6d 65 0a 20 20 20  20 20 20 20 61 70 70 72  |some.       appr|
00005bf0  6f 78 69 6d 61 74 69 6f  6e 20 74 6f 29 20 74 68  |oximation to) th|
00005c00  65 20 6f 72 69 67 69 6e  61 6c 20 67 72 65 79 20  |e original grey |
00005c10  6c 65 76 65 6c 73 3b 20  74 68 65 6e 20 72 61 6e  |levels; then ran|
00005c20  67 69 6e 67 20 63 61 6e  20 65 78 70 61 6e 64 20  |ging can expand |
00005c30  74 68 69 73 0a 20 20 20  20 20 20 20 69 66 20 70  |this.       if p|
00005c40  6f 73 73 69 62 6c 65 2e  0a 20 20 20 28 32 29 20  |ossible..   (2) |
00005c50  73 68 61 72 70 65 6e 69  6e 67 20 63 61 6e 20 62  |sharpening can b|
00005c60  65 20 75 73 65 64 20 74  6f 20 6f 66 66 73 65 74  |e used to offset|
00005c70  20 74 68 65 20 62 6c 75  72 72 69 6e 67 20 65 66  | the blurring ef|
00005c80  66 65 63 74 73 20 6f 66  20 73 63 61 6c 69 6e 67  |fects of scaling|
00005c90  2e 0a 20 20 20 28 33 29  20 73 69 6e 63 65 20 74  |..   (3) since t|
00005ca0  68 65 20 6f 75 74 70 75  74 20 70 69 78 65 6c 73  |he output pixels|
00005cb0  20 28 72 61 74 68 65 72  20 74 68 61 6e 20 74 68  | (rather than th|
00005cc0  65 20 69 6e 70 75 74 20  70 69 78 65 6c 73 29 20  |e input pixels) |
00005cd0  61 72 65 20 73 68 61 72  70 65 6e 65 64 2c 0a 20  |are sharpened,. |
00005ce0  20 20 20 20 20 20 74 68  65 20 65 66 66 65 63 74  |      the effect|
00005cf0  20 6f 66 20 2d 73 68 61  72 70 65 6e 4e 20 69 73  | of -sharpenN is|
00005d00  20 63 6f 6e 73 69 73 74  65 6e 74 20 6f 76 65 72  | consistent over|
00005d10  20 64 69 66 66 65 72 65  6e 74 6c 79 20 73 63 61  | differently sca|
00005d20  6c 65 64 20 69 6d 61 67  65 73 2e 0a 0a 54 68 65  |led images...The|
00005d30  72 65 20 6d 61 79 20 62  65 20 74 69 6d 65 73 20  |re may be times |
00005d40  77 68 65 6e 20 74 68 69  73 20 61 75 74 6f 6d 61  |when this automa|
00005d50  74 69 63 20 73 65 6c 65  63 74 69 6f 6e 20 6f 66  |tic selection of|
00005d60  20 6f 72 64 65 72 20 67  65 74 73 20 69 74 20 77  | order gets it w|
00005d70  72 6f 6e 67 2c 0a 70 61  72 74 69 63 75 6c 61 72  |rong,.particular|
00005d80  6c 79 20 77 68 65 6e 20  63 68 61 6e 67 69 6e 67  |ly when changing|
00005d90  20 74 68 65 20 61 73 70  65 63 74 20 72 61 74 69  | the aspect rati|
00005da0  6f 2c 20 69 74 20 69 73  20 70 6f 73 73 69 62 6c  |o, it is possibl|
00005db0  65 20 74 6f 20 74 72 69  67 67 65 72 20 73 6f 6d  |e to trigger som|
00005dc0  65 0a 75 6e 64 65 73 69  72 61 62 6c 65 20 73 68  |e.undesirable sh|
00005dd0  61 72 70 65 6e 69 6e 67  20 61 72 74 69 66 61 63  |arpening artifac|
00005de0  74 73 2e 20 55 73 65 20  74 68 65 20 70 72 6f 67  |ts. Use the prog|
00005df0  72 61 6d 20 74 77 69 63  65 20 77 69 74 68 20 73  |ram twice with s|
00005e00  68 61 72 70 65 6e 69 6e  67 20 28 73 61 79 29 0a  |harpening (say).|
00005e10  64 69 73 61 62 6c 65 64  20 61 6e 64 20 65 6e 61  |disabled and ena|
00005e20  62 6c 65 64 20 69 6e 20  74 68 65 20 6f 72 64 65  |bled in the orde|
00005e30  72 20 72 65 71 75 69 72  65 64 2e 0a 0a 45 78 61  |r required...Exa|
00005e40  6d 70 6c 65 73 20 6f 66  20 75 73 65 3a 0a 0a 4d  |mples of use:..M|
00005e50  61 6b 65 20 22 73 74 61  6e 64 61 72 64 20 70 61  |ake "standard pa|
00005e60  6c 65 74 74 65 22 20 76  65 72 73 69 6f 6e 73 20  |lette" versions |
00005e70  6f 66 20 65 78 69 73 74  69 6e 67 20 32 35 36 20  |of existing 256 |
00005e80  63 6f 6c 6f 75 72 20 69  6d 61 67 65 73 20 28 66  |colour images (f|
00005e90  6f 72 20 65 78 61 6d 70  6c 65 0a 74 68 65 20 57  |or example.the W|
00005ea0  61 74 66 6f 72 64 20 64  69 67 69 74 69 73 65 72  |atford digitiser|
00005eb0  20 70 6c 75 73 20 63 6f  6c 6f 75 72 20 62 6f 61  | plus colour boa|
00005ec0  72 64 20 64 6f 65 73 6e  27 74 20 75 73 65 20 74  |rd doesn't use t|
00005ed0  68 65 20 73 74 61 6e 64  61 72 64 20 70 61 6c 65  |he standard pale|
00005ee0  74 74 65 29 2e 0a 20 20  28 65 2e 67 2e 20 22 63  |tte)..  (e.g. "c|
00005ef0  68 61 6e 67 65 66 73 69  20 69 6e 20 6f 75 74 20  |hangefsi in out |
00005f00  31 33 70 22 20 66 6f 72  20 61 20 63 6f 6c 6f 75  |13p" for a colou|
00005f10  72 65 64 20 57 61 74 66  6f 72 64 20 70 69 63 74  |red Watford pict|
00005f20  75 72 65 29 0a 0a 4f 72  20 63 6f 6e 76 65 72 74  |ure)..Or convert|
00005f30  20 61 20 63 6f 6c 6f 75  72 20 70 69 63 74 75 72  | a colour pictur|
00005f40  65 20 74 6f 20 73 6f 6d  65 74 68 69 6e 67 20 79  |e to something y|
00005f50  6f 75 20 63 61 6e 20 73  65 65 20 6f 6e 20 79 6f  |ou can see on yo|
00005f60  75 72 20 68 69 67 68 20  72 65 73 20 6d 6f 6e 6f  |ur high res mono|
00005f70  0a 6d 6f 6e 69 74 6f 72  2e 0a 20 20 28 65 2e 67  |.monitor..  (e.g|
00005f80  2e 20 22 63 68 61 6e 67  65 66 73 69 20 69 6e 20  |. "changefsi in |
00005f90  6f 75 74 20 31 38 20 2d  73 68 61 72 70 65 6e 20  |out 18 -sharpen |
00005fa0  2d 69 6e 66 6f 22 29 0a  0a 4f 72 20 63 6f 6e 76  |-info")..Or conv|
00005fb0  65 72 74 20 61 20 6c 61  72 67 65 20 6d 6f 6e 6f  |ert a large mono|
00005fc0  63 68 72 6f 6d 65 20 70  69 63 74 75 72 65 20 28  |chrome picture (|
00005fd0  66 72 6f 6d 20 61 20 73  63 61 6e 6e 65 72 2c 20  |from a scanner, |
00005fe0  73 61 79 29 20 74 6f 20  73 6f 6d 65 74 68 69 6e  |say) to somethin|
00005ff0  67 0a 77 68 69 63 68 20  63 61 6e 20 62 65 20 73  |g.which can be s|
00006000  65 65 6e 2e 0a 20 20 28  65 2e 67 2e 20 22 63 68  |een..  (e.g. "ch|
00006010  61 6e 67 65 66 73 69 20  69 6e 20 6f 75 74 20 32  |angefsi in out 2|
00006020  30 74 20 31 3a 34 20 2d  67 61 6d 6d 61 22 29 0a  |0t 1:4 -gamma").|
00006030  0a 4f 72 20 63 6f 6e 76  65 72 74 20 61 20 63 6f  |.Or convert a co|
00006040  6c 6f 75 72 20 70 69 63  74 75 72 65 20 74 6f 20  |lour picture to |
00006050  67 72 65 79 20 73 63 61  6c 65 20 66 6f 72 20 74  |grey scale for t|
00006060  68 65 20 64 65 73 6b 74  6f 70 2e 0a 20 20 28 65  |he desktop..  (e|
00006070  2e 67 2e 20 22 63 68 61  6e 67 65 66 73 69 20 69  |.g. "changefsi i|
00006080  6e 20 6f 75 74 20 32 30  22 29 0a 0a 4f 72 20 63  |n out 20")..Or c|
00006090  68 61 6e 67 65 20 61 20  35 31 32 20 62 79 20 34  |hange a 512 by 4|
000060a0  38 30 20 69 6d 61 67 65  20 74 6f 20 73 74 61 6e  |80 image to stan|
000060b0  64 61 72 64 20 66 6f 72  6d 61 74 20 61 6e 64 20  |dard format and |
000060c0  61 73 70 65 63 74 20 72  61 74 69 6f 0a 20 20 28  |aspect ratio.  (|
000060d0  65 2e 67 2e 20 22 63 68  61 6e 67 65 66 73 69 20  |e.g. "changefsi |
000060e0  69 6e 20 6f 75 74 20 31  35 20 36 34 30 3a 35 31  |in out 15 640:51|
000060f0  32 20 35 31 32 3a 34 38  30 22 29 0a 20 20 28 6f  |2 512:480").  (o|
00006100  72 20 22 63 68 61 6e 67  65 66 73 69 20 69 6e 20  |r "changefsi in |
00006110  6f 75 74 20 3d 20 2d 72  61 6e 67 65 22 29 0a 0a  |out = -range")..|
00006120  4f 72 20 63 68 61 6e 67  65 20 74 6f 20 64 69 67  |Or change to dig|
00006130  69 74 61 6c 20 72 2c 20  67 2c 20 62 0a 20 20 28  |ital r, g, b.  (|
00006140  65 2e 67 2e 20 22 63 68  61 6e 67 65 66 73 69 20  |e.g. "changefsi |
00006150  69 6e 20 6f 75 74 20 32  30 64 20 2d 73 68 61 72  |in out 20d -shar|
00006160  70 65 6e 31 36 22 29 0a  0a 4f 72 20 63 6f 6e 76  |pen16")..Or conv|
00006170  65 72 74 20 61 20 70 69  63 74 75 72 65 20 66 6f  |ert a picture fo|
00006180  72 20 70 72 69 6e 74 69  6e 67 20 6f 6e 20 61 20  |r printing on a |
00006190  33 30 30 64 70 69 20 6c  61 73 65 72 2e 0a 20 20  |300dpi laser..  |
000061a0  28 65 2e 67 2e 20 22 63  68 61 6e 67 65 66 73 69  |(e.g. "changefsi|
000061b0  20 69 6e 20 6f 75 74 20  31 38 63 20 33 30 30 3a  | in out 18c 300:|
000061c0  39 30 20 2d 73 68 61 72  70 65 6e 22 29 0a 0a 41  |90 -sharpen")..A|
000061d0  6e 64 20 6d 61 6e 79 20  6d 6f 72 65 20 75 73 65  |nd many more use|
000061e0  73 20 73 75 63 68 20 61  73 20 6d 61 6b 69 6e 67  |s such as making|
000061f0  20 6d 69 6e 69 61 74 75  72 65 73 20 6f 66 20 70  | miniatures of p|
00006200  69 63 74 75 72 65 73 2c  20 61 6e 69 6d 61 74 65  |ictures, animate|
00006210  64 20 73 65 71 75 65 6e  63 65 73 20 6f 66 0a 70  |d sequences of.p|
00006220  69 63 74 75 72 65 73 20  63 68 61 6e 67 69 6e 67  |ictures changing|
00006230  20 73 69 7a 65 20 28 6f  72 20 73 68 61 72 70 6e  | size (or sharpn|
00006240  65 73 73 21 29 2c 20 63  6f 6e 76 65 72 74 69 6e  |ess!), convertin|
00006250  67 20 41 72 74 69 73 61  6e 20 70 69 63 74 75 72  |g Artisan pictur|
00006260  65 73 20 74 6f 20 74 68  65 0a 64 65 73 6b 74 6f  |es to the.deskto|
00006270  70 20 28 74 72 79 20 6c  6f 6f 6b 69 6e 67 20 61  |p (try looking a|
00006280  74 20 74 68 65 20 41 72  74 69 73 61 6e 20 47 61  |t the Artisan Ga|
00006290  72 64 65 6e 20 77 69 74  68 20 74 68 65 20 64 65  |rden with the de|
000062a0  73 6b 74 6f 70 20 69 6e  20 32 35 36 20 63 6f 6c  |sktop in 256 col|
000062b0  6f 75 72 73 20 61 6e 64  0a 43 68 61 6e 67 65 46  |ours and.ChangeF|
000062c0  53 49 27 73 20 76 65 72  73 69 6f 6e 20 2d 20 74  |SI's version - t|
000062d0  68 65 20 73 74 72 69 70  65 73 20 6f 6e 20 74 68  |he stripes on th|
000062e0  65 20 6c 61 77 6e 20 76  61 6e 69 73 68 20 77 69  |e lawn vanish wi|
000062f0  74 68 20 74 68 65 20 73  74 61 6e 64 61 72 64 0a  |th the standard.|
00006300  76 65 72 73 69 6f 6e 29  2e 20 4f 62 76 69 6f 75  |version). Obviou|
00006310  73 6c 79 20 79 6f 75 20  77 69 6c 6c 20 6e 65 65  |sly you will nee|
00006320  64 20 74 6f 20 68 61 76  65 20 63 61 70 74 75 72  |d to have captur|
00006330  65 64 20 69 6e 70 75 74  20 61 73 20 61 20 73 70  |ed input as a sp|
00006340  72 69 74 65 20 66 69 72  73 74 21 0a 55 73 69 6e  |rite first!.Usin|
00006350  67 20 6d 6f 72 65 20 70  69 78 65 6c 73 20 70 65  |g more pixels pe|
00006360  72 20 69 6e 63 68 20 63  61 6e 20 69 6d 70 72 6f  |r inch can impro|
00006370  76 65 20 74 68 65 20 71  75 61 6c 69 74 79 20 6f  |ve the quality o|
00006380  66 20 74 68 65 20 72 65  73 75 6c 74 2c 20 70 61  |f the result, pa|
00006390  72 74 69 63 75 6c 61 72  6c 79 0a 63 6f 6e 76 65  |rticularly.conve|
000063a0  72 74 69 6e 67 20 74 6f  20 6d 75 6c 74 69 73 79  |rting to multisy|
000063b0  6e 63 20 6d 6f 64 65 73  2e 0a 0a 4e 6f 74 65 20  |nc modes...Note |
000063c0  74 68 61 74 2c 20 66 6f  72 20 61 6c 6c 20 77 6f  |that, for all wo|
000063d0  72 6b 20 77 69 74 68 20  43 68 61 6e 67 65 46 53  |rk with ChangeFS|
000063e0  49 2c 20 69 74 20 69 73  20 61 20 67 6f 6f 64 20  |I, it is a good |
000063f0  69 64 65 61 20 74 6f 20  73 74 61 72 74 20 66 72  |idea to start fr|
00006400  6f 6d 20 74 68 65 0a 75  6e 70 72 6f 63 65 73 73  |om the.unprocess|
00006410  65 64 20 69 6e 70 75 74  20 65 61 63 68 20 74 69  |ed input each ti|
00006420  6d 65 20 61 6e 64 20 64  6f 20 65 76 65 72 79 74  |me and do everyt|
00006430  68 69 6e 67 20 69 6e 20  6f 6e 65 20 70 61 73 73  |hing in one pass|
00006440  20 28 72 61 74 68 65 72  20 74 68 61 6e 20 75 73  | (rather than us|
00006450  69 6e 67 0a 74 68 65 20  70 72 6f 67 72 61 6d 20  |ing.the program |
00006460  73 65 76 65 72 61 6c 20  74 69 6d 65 73 20 77 69  |several times wi|
00006470  74 68 20 73 69 6d 70 6c  65 20 61 72 67 75 6d 65  |th simple argume|
00006480  6e 74 73 29 2e 20 49 74  20 69 73 20 6e 6f 74 20  |nts). It is not |
00006490  61 20 67 6f 6f 64 20 69  64 65 61 20 74 6f 0a 73  |a good idea to.s|
000064a0  68 61 72 70 65 6e 20 61  20 64 69 74 68 65 72 65  |harpen a dithere|
000064b0  64 20 69 6d 61 67 65 20  28 75 6e 6c 65 73 73 20  |d image (unless |
000064c0  69 74 20 68 61 73 20 62  65 65 6e 20 73 68 72 75  |it has been shru|
000064d0  6e 6b 29 2e 20 49 74 20  63 61 6e 20 62 65 20 76  |nk). It can be v|
000064e0  65 72 79 20 75 73 65 66  75 6c 0a 74 6f 20 75 73  |ery useful.to us|
000064f0  65 20 61 20 73 6d 61 6c  6c 20 61 6d 6f 75 6e 74  |e a small amount|
00006500  20 6f 66 20 73 6d 6f 6f  74 68 69 6e 67 20 6f 6e  | of smoothing on|
00006510  20 61 20 64 69 74 68 65  72 65 64 20 69 6d 61 67  | a dithered imag|
00006520  65 20 28 65 2e 67 2e 20  2d 73 6d 6f 6f 74 68 31  |e (e.g. -smooth1|
00006530  36 29 2e 0a 0a 2a 2a 2a  20 49 74 20 69 73 20 61  |6)...*** It is a|
00006540  20 76 65 72 79 20 67 6f  6f 64 20 69 64 65 61 20  | very good idea |
00006550  74 6f 20 6b 65 65 70 20  74 68 65 20 68 69 67 68  |to keep the high|
00006560  65 73 74 20 72 65 73 6f  6c 75 74 69 6f 6e 20 6d  |est resolution m|
00006570  61 73 74 65 72 20 74 68  61 74 20 79 6f 75 20 63  |aster that you c|
00006580  61 6e 0a 61 66 66 6f 72  64 20 74 68 65 20 64 69  |an.afford the di|
00006590  73 63 20 73 70 61 63 65  20 66 6f 72 2e 2e 2e 2e  |sc space for....|
000065a0  0a 0a 54 68 65 20 43 68  61 6e 67 65 46 53 49 20  |..The ChangeFSI |
000065b0  70 72 6f 67 72 61 6d 20  63 61 6e 20 61 6c 73 6f  |program can also|
000065c0  20 63 6f 6e 76 65 72 74  20 66 72 6f 6d 20 6e 6f  | convert from no|
000065d0  6e 20 52 49 53 43 20 4f  53 20 73 70 72 69 74 65  |n RISC OS sprite|
000065e0  20 66 6f 72 6d 61 74 73  20 77 68 69 6c 65 0a 64  | formats while.d|
000065f0  6f 69 6e 67 20 61 6c 6c  20 6f 66 20 74 68 65 20  |oing all of the |
00006600  61 62 6f 76 65 20 70 72  6f 63 65 73 73 69 6e 67  |above processing|
00006610  2e 20 43 68 61 6e 67 65  46 53 49 20 77 69 6c 6c  |. ChangeFSI will|
00006620  20 77 6f 72 6b 20 6f 75  74 20 77 68 61 74 20 74  | work out what t|
00006630  68 65 20 66 6f 72 6d 61  74 20 69 73 0a 61 75 74  |he format is.aut|
00006640  6f 6d 61 74 69 63 61 6c  6c 79 2e 20 46 6f 72 20  |omatically. For |
00006650  6e 61 74 69 76 65 20 52  49 53 43 20 4f 53 20 66  |native RISC OS f|
00006660  6f 72 6d 61 74 73 2c 20  69 74 20 75 73 65 73 20  |ormats, it uses |
00006670  74 68 65 20 66 69 6c 65  74 79 70 65 20 61 6e 64  |the filetype and|
00006680  20 74 68 65 72 65 20 63  61 6e 0a 62 65 20 6e 6f  | there can.be no|
00006690  20 63 6f 6e 66 75 73 69  6f 6e 2e 20 46 6f 72 20  | confusion. For |
000066a0  61 6c 69 65 6e 20 66 6f  72 6d 61 74 73 2c 20 69  |alien formats, i|
000066b0  74 20 66 69 72 73 74 20  74 72 69 65 73 20 6c 6f  |t first tries lo|
000066c0  6f 6b 69 6e 67 20 66 6f  72 20 70 61 72 74 69 63  |oking for partic|
000066d0  75 6c 61 72 0a 69 64 65  6e 74 69 66 79 69 6e 67  |ular.identifying|
000066e0  20 69 6e 66 6f 72 6d 61  74 69 6f 6e 20 69 6e 73  | information ins|
000066f0  69 64 65 20 74 68 65 20  66 69 6c 65 20 61 6e 64  |ide the file and|
00006700  20 74 68 65 6e 20 28 69  66 20 74 68 69 73 20 66  | then (if this f|
00006710  61 69 6c 73 20 74 6f 20  68 61 76 65 0a 69 64 65  |ails to have.ide|
00006720  6e 74 69 66 69 65 64 20  61 20 66 6f 72 6d 61 74  |ntified a format|
00006730  29 20 74 72 69 65 73 20  75 73 69 6e 67 20 74 68  |) tries using th|
00006740  65 20 66 69 6c 65 20 6e  61 6d 65 20 69 74 73 65  |e file name itse|
00006750  6c 66 2e 20 53 65 65 20  74 68 65 20 64 65 74 61  |lf. See the deta|
00006760  69 6c 73 20 62 65 6c 6f  77 3a 0a 0a 54 68 65 20  |ils below:..The |
00006770  52 49 53 43 20 4f 53 20  73 70 72 69 74 65 20 66  |RISC OS sprite f|
00006780  6f 72 6d 61 74 0a 20 43  6f 6e 74 61 69 6e 73 20  |ormat. Contains |
00006790  31 2c 20 32 2c 20 34 20  6f 72 20 38 20 62 69 74  |1, 2, 4 or 8 bit|
000067a0  73 20 70 65 72 20 70 69  78 65 6c 20 77 69 74 68  |s per pixel with|
000067b0  20 61 20 6d 6f 64 69 66  69 63 61 74 69 6f 6e 20  | a modification |
000067c0  70 61 6c 65 74 74 65 20  6f 66 20 75 70 20 74 6f  |palette of up to|
000067d0  0a 20 31 36 20 65 6e 74  72 69 65 73 3b 20 61 6e  |. 16 entries; an|
000067e0  79 20 6e 75 6d 62 65 72  20 6f 66 20 70 69 78 65  |y number of pixe|
000067f0  6c 73 20 77 69 64 65 20  61 6e 64 20 68 69 67 68  |ls wide and high|
00006800  20 75 6e 63 6f 6d 70 72  65 73 73 65 64 2e 20 44  | uncompressed. D|
00006810  65 74 61 69 6c 73 20 61  72 65 20 69 6e 0a 20 41  |etails are in. A|
00006820  63 6f 72 6e 27 73 20 50  72 6f 67 72 61 6d 6d 65  |corn's Programme|
00006830  72 27 73 20 52 65 66 65  72 65 6e 63 65 20 4d 61  |r's Reference Ma|
00006840  6e 75 61 6c 2e 0a 20 2b  20 52 65 63 6f 67 6e 69  |nual.. + Recogni|
00006850  73 65 64 20 62 79 20 66  69 6c 65 20 74 79 70 65  |sed by file type|
00006860  20 46 46 39 20 28 61 20  70 61 69 6e 74 20 62 72  | FF9 (a paint br|
00006870  75 73 68 20 61 6e 64 20  68 6f 75 73 65 20 69 63  |ush and house ic|
00006880  6f 6e 29 0a 20 2d 20 44  65 74 61 69 6c 73 20 6f  |on). - Details o|
00006890  66 20 68 6f 77 20 6d 61  6e 79 20 62 69 74 73 20  |f how many bits |
000068a0  70 65 72 20 70 69 78 65  6c 20 61 6e 64 20 74 68  |per pixel and th|
000068b0  65 20 70 69 78 65 6c 20  73 69 7a 65 20 61 72 65  |e pixel size are|
000068c0  20 6f 62 74 61 69 6e 65  64 20 66 72 6f 6d 0a 20  | obtained from. |
000068d0  20 20 74 68 65 20 6f 70  65 72 61 74 69 6e 67 20  |  the operating |
000068e0  73 79 73 74 65 6d 20 28  72 61 74 68 65 72 20 74  |system (rather t|
000068f0  68 61 6e 20 62 65 69 6e  67 20 69 6e 20 74 68 65  |han being in the|
00006900  20 66 69 6c 65 29 20 66  72 6f 6d 20 74 68 65 20  | file) from the |
00006910  22 4d 4f 44 45 22 0a 20  20 20 6e 75 6d 62 65 72  |"MODE".   number|
00006920  2e 20 4d 6f 64 65 20 65  78 74 65 6e 73 69 6f 6e  |. Mode extension|
00006930  73 20 63 61 6e 20 72 65  73 75 6c 74 20 69 6e 20  |s can result in |
00006940  61 20 73 6f 75 72 63 65  20 69 6d 61 67 65 20 63  |a source image c|
00006950  6f 6e 74 61 69 6e 69 6e  67 20 61 20 4d 4f 44 45  |ontaining a MODE|
00006960  0a 20 20 20 6e 75 6d 62  65 72 20 77 68 69 63 68  |.   number which|
00006970  20 79 6f 75 72 20 63 6f  6d 70 75 74 65 72 20 64  | your computer d|
00006980  6f 65 73 20 6e 6f 74 20  75 6e 64 65 72 73 74 61  |oes not understa|
00006990  6e 64 2e 0a 20 2d 20 4d  61 73 6b 20 69 6e 66 6f  |nd.. - Mask info|
000069a0  72 6d 61 74 69 6f 6e 20  69 67 6e 6f 72 65 64 0a  |rmation ignored.|
000069b0  20 2d 20 4c 65 66 74 68  61 6e 64 20 77 61 73 74  | - Lefthand wast|
000069c0  61 67 65 20 69 67 6e 6f  72 65 64 0a 0a 54 68 65  |age ignored..The|
000069d0  20 6e 65 77 20 52 49 53  43 20 4f 53 20 73 70 72  | new RISC OS spr|
000069e0  69 74 65 20 66 6f 72 6d  61 74 0a 20 43 6f 6e 74  |ite format. Cont|
000069f0  61 69 6e 73 20 31 2c 20  32 2c 20 34 2c 20 38 2c  |ains 1, 2, 4, 8,|
00006a00  20 31 36 20 6f 72 20 33  32 20 62 69 74 73 20 70  | 16 or 32 bits p|
00006a10  65 72 20 70 69 78 65 6c  2e 0a 20 2b 20 52 65 63  |er pixel.. + Rec|
00006a20  6f 67 6e 69 73 65 64 20  62 79 20 66 69 6c 65 20  |ognised by file |
00006a30  74 79 70 65 20 46 46 39  0a 20 2b 20 6e 6f 20 70  |type FF9. + no p|
00006a40  72 6f 62 6c 65 6d 20 77  69 74 68 20 6d 6f 64 65  |roblem with mode|
00006a50  20 65 78 74 65 6e 73 69  6f 6e 73 3a 20 69 6e 66  | extensions: inf|
00006a60  6f 72 6d 61 74 69 6f 6e  20 69 73 20 63 6f 64 65  |ormation is code|
00006a70  64 20 69 6e 74 6f 20 74  68 65 20 66 6f 72 6d 61  |d into the forma|
00006a80  74 0a 20 2d 20 4d 61 73  6b 20 69 6e 66 6f 72 6d  |t. - Mask inform|
00006a90  61 74 69 6f 6e 20 69 67  6e 6f 72 65 64 0a 0a 4b  |ation ignored..K|
00006aa0  6f 64 61 6b 20 50 68 6f  74 6f 43 44 0a 20 32 34  |odak PhotoCD. 24|
00006ab0  20 62 69 74 20 70 65 72  20 70 69 78 65 6c 20 69  | bit per pixel i|
00006ac0  6d 61 67 65 73 20 61 74  20 76 61 72 69 6f 75 73  |mages at various|
00006ad0  20 72 65 73 6f 6c 75 74  69 6f 6e 73 0a 20 2b 20  | resolutions. + |
00006ae0  52 65 63 6f 67 6e 69 73  65 64 20 62 79 20 66 69  |Recognised by fi|
00006af0  6c 65 20 74 79 70 65 20  42 45 38 0a 20 2d 20 53  |le type BE8. - S|
00006b00  65 74 20 43 68 61 6e 67  65 46 53 49 24 50 43 44  |et ChangeFSI$PCD|
00006b10  49 6e 64 65 78 20 74 6f  20 72 65 61 64 20 72 65  |Index to read re|
00006b20  73 6f 6c 75 74 69 6f 6e  73 20 6f 74 68 65 72 20  |solutions other |
00006b30  74 68 61 6e 20 62 61 73  65 20 28 3d 33 29 0a 0a  |than base (=3)..|
00006b40  54 68 65 20 41 72 56 69  73 20 66 6f 72 6d 61 74  |The ArVis format|
00006b50  20 5b 6f 66 20 41 72 56  69 73 20 4d 75 6c 74 69  | [of ArVis Multi|
00006b60  6d 65 64 69 61 5d 0a 20  43 6f 6e 74 61 69 6e 73  |media]. Contains|
00006b70  20 35 20 62 69 74 73 20  6f 66 20 72 65 64 2c 20  | 5 bits of red, |
00006b80  67 72 65 65 6e 20 61 6e  64 20 62 6c 75 65 20 69  |green and blue i|
00006b90  6e 66 6f 72 6d 61 74 69  6f 6e 20 65 6e 63 6f 64  |nformation encod|
00006ba0  65 64 20 69 6e 74 6f 20  74 77 6f 20 52 49 53 43  |ed into two RISC|
00006bb0  20 4f 53 0a 20 73 70 72  69 74 65 73 20 22 48 49  | OS. sprites "HI|
00006bc0  50 2e 3c 66 69 6c 65 6e  61 6d 65 3e 22 20 61 6e  |P.<filename>" an|
00006bd0  64 20 22 4c 4f 50 2e 3c  66 69 6c 65 6e 61 6d 65  |d "LOP.<filename|
00006be0  3e 22 20 63 6f 6d 70 72  69 73 69 6e 67 20 61 20  |>" comprising a |
00006bf0  36 34 30 20 70 69 78 65  6c 20 77 69 64 65 0a 20  |640 pixel wide. |
00006c00  61 6e 64 20 32 35 36 20  6c 69 6e 65 20 74 61 6c  |and 256 line tal|
00006c10  6c 20 69 6d 61 67 65 20  77 69 74 68 20 70 69 78  |l image with pix|
00006c20  65 6c 73 20 73 69 7a 65  64 20 31 3a 32 2e 20 44  |els sized 1:2. D|
00006c30  65 74 61 69 6c 73 20 66  72 6f 6d 20 41 72 56 69  |etails from ArVi|
00006c40  73 20 4d 75 6c 74 69 6d  65 64 69 61 0a 20 2d 20  |s Multimedia. - |
00006c50  52 65 63 6f 67 6e 69 73  65 64 20 62 79 20 70 72  |Recognised by pr|
00006c60  6f 76 69 64 69 6e 67 20  74 68 65 20 48 49 50 2e  |oviding the HIP.|
00006c70  3c 66 69 6c 65 6e 61 6d  65 3e 20 28 77 68 69 63  |<filename> (whic|
00006c80  68 20 6d 75 73 74 20 62  65 20 6f 66 20 66 69 6c  |h must be of fil|
00006c90  65 20 74 79 70 65 20 46  46 39 29 0a 20 2d 20 55  |e type FF9). - U|
00006ca0  6e 63 6f 6d 70 72 65 73  73 65 64 20 28 69 6e 64  |ncompressed (ind|
00006cb0  65 65 64 20 72 65 70 72  65 73 65 6e 74 73 20 31  |eed represents 1|
00006cc0  36 20 62 69 74 73 20 69  6e 73 74 65 61 64 20 6f  |6 bits instead o|
00006cd0  66 20 31 35 29 2e 0a 0a  54 68 65 20 50 69 6e 65  |f 15)...The Pine|
00006ce0  61 70 70 6c 65 20 63 6f  6c 6f 75 72 20 64 69 67  |apple colour dig|
00006cf0  69 74 69 73 65 72 20 66  6f 72 6d 61 74 20 28 6f  |itiser format (o|
00006d00  66 20 50 69 6e 65 61 70  70 6c 65 20 53 6f 66 74  |f Pineapple Soft|
00006d10  77 61 72 65 29 0a 20 43  6f 6e 74 61 69 6e 73 20  |ware). Contains |
00006d20  36 20 62 69 74 73 20 6f  66 20 67 72 65 65 6e 2c  |6 bits of green,|
00006d30  20 35 20 62 69 74 73 20  6f 66 20 72 65 64 20 61  | 5 bits of red a|
00006d40  6e 64 20 62 6c 75 65 20  69 6e 66 6f 72 6d 61 74  |nd blue informat|
00006d50  69 6f 6e 20 66 69 6c 65  64 20 61 73 20 61 0a 20  |ion filed as a. |
00006d60  73 69 6e 67 6c 65 20 64  61 74 61 20 66 69 6c 65  |single data file|
00006d70  20 73 74 61 72 74 69 6e  67 20 22 46 53 49 66 69  | starting "FSIfi|
00006d80  6c 65 22 20 63 6f 6d 70  72 69 73 69 6e 67 20 61  |le" comprising a|
00006d90  20 35 31 32 20 70 69 78  65 6c 20 77 69 64 65 20  | 512 pixel wide |
00006da0  61 6e 64 20 32 35 36 0a  20 6c 69 6e 65 20 74 61  |and 256. line ta|
00006db0  6c 6c 20 69 6d 61 67 65  20 77 69 74 68 20 70 69  |ll image with pi|
00006dc0  78 65 6c 73 20 73 69 7a  65 64 20 31 3a 32 2e 0a  |xels sized 1:2..|
00006dd0  20 2d 20 52 65 63 6f 67  6e 69 73 65 64 20 62 79  | - Recognised by|
00006de0  20 22 46 53 49 66 69 6c  65 22 20 69 6e 20 74 68  | "FSIfile" in th|
00006df0  65 20 66 69 6c 65 20 28  77 68 69 63 68 20 63 61  |e file (which ca|
00006e00  6e 20 62 65 20 61 6e 79  20 74 79 70 65 29 0a 20  |n be any type). |
00006e10  2d 20 55 6e 63 6f 6d 70  72 65 73 73 65 64 0a 0a  |- Uncompressed..|
00006e20  54 68 65 20 57 61 74 66  6f 72 64 20 56 69 64 65  |The Watford Vide|
00006e30  6f 20 44 69 67 69 74 69  73 65 72 20 22 70 69 63  |o Digitiser "pic|
00006e40  74 75 72 65 22 20 66 6f  72 6d 61 74 0a 20 43 6f  |ture" format. Co|
00006e50  6e 74 61 69 6e 73 20 61  20 72 75 6e 20 6c 65 6e  |ntains a run len|
00006e60  67 74 68 20 65 6e 63 6f  64 65 64 20 36 34 20 67  |gth encoded 64 g|
00006e70  72 65 79 20 6c 65 76 65  6c 20 35 31 32 20 70 69  |rey level 512 pi|
00006e80  78 65 6c 20 77 69 64 65  2c 20 32 35 36 20 6c 69  |xel wide, 256 li|
00006e90  6e 65 20 69 6d 61 67 65  2c 0a 20 77 69 74 68 20  |ne image,. with |
00006ea0  70 69 78 65 6c 73 20 73  69 7a 65 64 20 31 3a 32  |pixels sized 1:2|
00006eb0  2e 20 44 65 74 61 69 6c  73 20 66 72 6f 6d 20 57  |. Details from W|
00006ec0  61 74 66 6f 72 64 20 45  6c 65 63 74 72 6f 6e 69  |atford Electroni|
00006ed0  63 73 20 4c 74 64 2e 0a  20 2b 20 52 65 63 6f 67  |cs Ltd.. + Recog|
00006ee0  6e 69 73 65 64 20 62 79  20 66 69 6c 65 20 74 79  |nised by file ty|
00006ef0  70 65 20 44 46 41 20 28  61 20 73 6d 61 6c 6c 20  |pe DFA (a small |
00006f00  67 72 65 79 20 70 69 63  74 75 72 65 20 6f 66 20  |grey picture of |
00006f10  53 74 65 76 69 65 20 4e  69 63 6b 73 29 0a 20 2d  |Stevie Nicks). -|
00006f20  20 57 61 72 6e 69 6e 67  3a 20 64 6f 6e 27 74 20  | Warning: don't |
00006f30  66 6f 72 67 65 74 20 74  6f 20 73 61 76 65 20 74  |forget to save t|
00006f40  68 65 20 70 69 63 74 75  72 65 73 20 69 6e 20 2a  |he pictures in *|
00006f50  75 6e 2d 64 69 74 68 65  72 65 64 2a 20 73 74 61  |un-dithered* sta|
00006f60  74 65 21 0a 20 57 68 65  6e 20 75 73 65 64 20 77  |te!. When used w|
00006f70  69 74 68 20 61 20 63 6f  6c 6f 75 72 20 63 6f 6e  |ith a colour con|
00006f80  76 65 72 74 65 72 2c 20  43 68 61 6e 67 65 46 53  |verter, ChangeFS|
00006f90  49 20 63 61 6e 20 72 65  61 64 20 74 68 72 65 65  |I can read three|
00006fa0  20 63 6f 6c 6f 75 72 0a  20 73 65 70 61 72 61 74  | colour. separat|
00006fb0  69 6f 6e 73 20 73 74 6f  72 65 64 20 69 6e 20 61  |ions stored in a|
00006fc0  20 64 69 72 65 63 74 6f  72 79 20 6f 66 20 73 65  | directory of se|
00006fd0  70 61 72 61 74 65 20 22  72 65 64 22 2c 20 22 67  |parate "red", "g|
00006fe0  72 65 65 6e 22 20 61 6e  64 20 22 62 6c 75 65 22  |reen" and "blue"|
00006ff0  0a 20 66 69 6c 65 73 2e  20 42 65 77 61 72 65 20  |. files. Beware |
00007000  6f 66 20 61 75 74 6f 2d  67 61 69 6e 2f 63 6f 6e  |of auto-gain/con|
00007010  74 72 61 73 74 20 77 68  65 6e 20 75 73 69 6e 67  |trast when using|
00007020  20 73 75 63 68 20 69 6e  66 6f 72 6d 61 74 69 6f  | such informatio|
00007030  6e 21 0a 0a 54 68 65 20  50 72 6f 41 72 74 69 73  |n!..The ProArtis|
00007040  61 6e 20 63 6f 6d 70 72  65 73 73 65 64 20 70 69  |an compressed pi|
00007050  63 74 75 72 65 20 66 69  6c 65 20 66 6f 72 6d 61  |cture file forma|
00007060  74 0a 20 43 6f 6e 74 61  69 6e 73 20 61 20 28 6d  |t. Contains a (m|
00007070  69 6c 64 6c 79 29 20 63  6f 6d 70 72 65 73 73 65  |ildly) compresse|
00007080  64 20 4d 4f 44 45 20 31  35 20 28 36 34 30 20 62  |d MODE 15 (640 b|
00007090  79 20 32 35 36 20 62 79  20 32 35 36 20 63 6f 6c  |y 256 by 256 col|
000070a0  6f 75 72 73 29 20 70 69  63 74 75 72 65 2e 0a 20  |ours) picture.. |
000070b0  44 65 74 61 69 6c 73 20  66 72 6f 6d 20 43 6c 61  |Details from Cla|
000070c0  72 65 73 2e 0a 20 2b 20  52 65 63 6f 67 6e 69 73  |res.. + Recognis|
000070d0  65 64 20 62 79 20 66 69  6c 65 20 74 79 70 65 20  |ed by file type |
000070e0  44 45 32 20 28 61 20 62  65 69 67 65 20 6d 6f 6e  |DE2 (a beige mon|
000070f0  69 74 6f 72 20 69 6e 20  61 20 67 72 65 79 20 73  |itor in a grey s|
00007100  75 72 72 6f 75 6e 64 29  0a 0a 54 68 65 20 54 69  |urround)..The Ti|
00007110  6d 65 53 74 65 70 20 73  61 74 65 6c 6c 69 74 65  |meStep satellite|
00007120  20 69 6d 61 67 65 20 66  6f 72 6d 61 74 0a 20 54  | image format. T|
00007130  68 69 73 20 67 69 76 65  73 20 61 6e 20 75 6e 63  |his gives an unc|
00007140  6f 6d 70 72 65 73 73 65  64 20 38 30 30 20 62 79  |ompressed 800 by|
00007150  20 38 30 30 20 77 69 74  68 20 32 35 36 20 67 72  | 800 with 256 gr|
00007160  65 79 20 6c 65 76 65 6c  73 2e 0a 20 2b 20 52 65  |ey levels.. + Re|
00007170  63 6f 67 6e 69 73 65 64  20 62 79 20 66 69 6c 65  |cognised by file|
00007180  20 74 79 70 65 20 37 41  30 20 28 69 63 6f 6e 20  | type 7A0 (icon |
00007190  6e 65 76 65 72 20 73 65  65 6e 29 0a 20 2d 20 4e  |never seen). - N|
000071a0  6f 20 72 65 73 6f 6c 75  74 69 6f 6e 20 73 70 65  |o resolution spe|
000071b0  63 69 66 69 65 64 2c 20  65 71 75 61 6c 20 74 6f  |cified, equal to|
000071c0  20 6d 6f 64 65 20 32 37  20 61 73 73 75 6d 65 64  | mode 27 assumed|
000071d0  0a 20 2d 20 44 6f 63 75  6d 65 6e 74 61 74 69 6f  |. - Documentatio|
000071e0  6e 20 6e 65 76 65 72 20  73 65 65 6e 2e 20 41 6e  |n never seen. An|
000071f0  20 65 78 74 72 61 20 68  65 61 64 65 72 20 66 69  | extra header fi|
00007200  6c 65 20 3c 6e 61 6d 65  3e 21 20 69 73 20 6e 6f  |le <name>! is no|
00007210  74 20 75 6e 64 65 72 73  74 6f 6f 64 0a 20 20 20  |t understood.   |
00007220  61 74 20 61 6c 6c 2e 2e  2e 2e 2e 0a 0a 43 43 49  |at all.......CCI|
00007230  52 36 30 31 20 34 3a 32  3a 32 20 69 6d 61 67 65  |R601 4:2:2 image|
00007240  73 0a 20 43 6f 6e 74 61  69 6e 20 37 32 30 20 70  |s. Contain 720 p|
00007250  69 78 65 6c 73 20 62 79  20 32 38 38 20 72 6f 77  |ixels by 288 row|
00007260  73 20 28 50 41 4c 29 20  5b 32 34 33 20 72 6f 77  |s (PAL) [243 row|
00007270  73 20 4e 54 53 43 5d 20  59 55 56 20 63 6f 64 65  |s NTSC] YUV code|
00007280  64 20 77 69 74 68 0a 20  70 69 78 65 6c 73 20 73  |d with. pixels s|
00007290  69 7a 65 64 20 31 3a 32  2e 0a 20 2b 20 52 65 63  |ized 1:2.. + Rec|
000072a0  6f 67 6e 69 73 65 64 20  62 79 20 66 69 6c 65 20  |ognised by file |
000072b0  74 79 70 65 20 36 30 31  0a 20 2d 20 6f 6e 65 20  |type 601. - one |
000072c0  66 69 65 6c 64 20 6f 6e  6c 79 0a 0a 41 6e 6f 74  |field only..Anot|
000072d0  68 65 72 20 54 69 6d 65  53 74 65 70 20 73 61 74  |her TimeStep sat|
000072e0  65 6c 6c 69 74 65 20 69  6d 61 67 65 20 66 6f 72  |ellite image for|
000072f0  6d 61 74 0a 20 47 69 76  69 6e 67 20 61 6e 20 75  |mat. Giving an u|
00007300  6e 63 6f 6d 70 72 65 73  73 65 64 20 31 32 38 20  |ncompressed 128 |
00007310  70 69 78 65 6c 73 20 77  69 64 65 20 62 79 20 32  |pixels wide by 2|
00007320  35 36 20 6c 69 6e 65 73  20 77 69 74 68 20 32 35  |56 lines with 25|
00007330  36 20 67 72 65 79 20 6c  65 76 65 6c 73 2c 0a 20  |6 grey levels,. |
00007340  70 69 78 65 6c 73 20 73  69 7a 65 64 20 32 3a 31  |pixels sized 2:1|
00007350  2e 20 55 73 65 64 20 62  79 20 54 69 6d 65 53 74  |. Used by TimeSt|
00007360  65 70 27 73 20 21 49 6d  50 72 6f 63 65 73 73 20  |ep's !ImProcess |
00007370  61 70 70 6c 69 63 61 74  69 6f 6e 2e 0a 20 2b 20  |application.. + |
00007380  52 65 63 6f 67 6e 69 73  65 64 20 62 79 20 66 69  |Recognised by fi|
00007390  6c 65 20 74 79 70 65 20  33 30 30 20 28 22 69 22  |le type 300 ("i"|
000073a0  20 69 6e 20 61 20 64 6f  63 75 6d 65 6e 74 20 66  | in a document f|
000073b0  72 61 6d 65 29 0a 20 2d  20 44 6f 63 75 6d 65 6e  |rame). - Documen|
000073c0  74 61 74 69 6f 6e 20 6e  65 76 65 72 20 73 65 65  |tation never see|
000073d0  6e 2e 0a 20 2d 20 41 20  62 69 74 20 63 6f 61 72  |n.. - A bit coar|
000073e0  73 65 0a 20 54 68 65 20  67 72 65 79 20 6c 65 76  |se. The grey lev|
000073f0  65 6c 73 20 72 65 70 72  65 73 65 6e 74 20 69 6e  |els represent in|
00007400  74 65 6e 73 69 74 79 20  69 6e 20 76 61 72 69 6f  |tensity in vario|
00007410  75 73 20 64 69 66 66 65  72 65 6e 74 20 77 61 76  |us different wav|
00007420  65 20 62 61 6e 64 73 2e  20 42 79 0a 20 6e 61 6d  |e bands. By. nam|
00007430  69 6e 67 20 66 69 6c 65  73 20 22 72 65 64 22 2c  |ing files "red",|
00007440  20 22 67 72 65 65 6e 22  20 61 6e 64 20 22 62 6c  | "green" and "bl|
00007450  75 65 22 20 61 6e 64 20  68 61 6e 64 69 6e 67 20  |ue" and handing |
00007460  43 68 61 6e 67 65 46 53  49 20 74 68 65 20 64 69  |ChangeFSI the di|
00007470  72 65 63 74 6f 72 79 2c  0a 20 79 6f 75 20 63 61  |rectory,. you ca|
00007480  6e 20 70 72 6f 64 75 63  65 20 61 20 66 61 6c 73  |n produce a fals|
00007490  65 20 63 6f 6c 6f 75 72  20 69 6d 61 67 65 2e 20  |e colour image. |
000074a0  48 6f 75 72 73 20 6f 66  20 65 78 70 65 72 69 6d  |Hours of experim|
000074b0  65 6e 74 61 74 69 6f 6e  20 63 61 6e 20 70 72 6f  |entation can pro|
000074c0  64 75 63 65 0a 20 61 6e  20 61 6c 6d 6f 73 74 20  |duce. an almost |
000074d0  72 65 61 73 6f 6e 61 62  6c 65 20 70 69 63 74 75  |reasonable pictu|
000074e0  72 65 2e 2e 2e 0a 0a 54  68 65 20 41 49 4d 20 61  |re.....The AIM a|
000074f0  6e 64 20 57 69 6c 64 20  56 69 73 69 6f 6e 20 56  |nd Wild Vision V|
00007500  31 30 20 66 6f 72 6d 61  74 0a 20 54 68 69 73 20  |10 format. This |
00007510  70 72 6f 76 69 64 65 73  20 61 6e 20 75 6e 63 6f  |provides an unco|
00007520  6d 70 72 65 73 73 65 64  20 32 35 36 20 62 79 20  |mpressed 256 by |
00007530  32 35 36 20 69 6d 61 67  65 20 77 69 74 68 20 32  |256 image with 2|
00007540  35 36 20 67 72 65 79 20  6c 65 76 65 6c 73 2e 20  |56 grey levels. |
00007550  44 65 74 61 69 6c 73 0a  20 66 72 6f 6d 20 44 65  |Details. from De|
00007560  6c 66 74 20 55 6e 69 76  65 72 73 69 74 79 20 6f  |lft University o|
00007570  66 20 54 65 63 68 6e 6f  6c 6f 67 79 20 61 6e 64  |f Technology and|
00007580  20 45 43 44 20 43 6f 6d  70 75 74 65 72 73 20 44  | ECD Computers D|
00007590  65 6c 66 74 20 42 2e 56  2e 0a 20 2b 20 52 65 63  |elft B.V.. + Rec|
000075a0  6f 67 6e 69 73 65 64 20  62 79 20 66 69 6c 65 20  |ognised by file |
000075b0  74 79 70 65 20 30 30 34  20 28 61 20 70 69 63 74  |type 004 (a pict|
000075c0  75 72 65 20 6f 66 20 27  54 72 75 69 27 20 77 69  |ure of 'Trui' wi|
000075d0  74 68 20 22 54 55 22 20  69 6e 20 62 6c 75 65 29  |th "TU" in blue)|
000075e0  0a 20 2b 20 43 68 61 6e  67 65 46 53 49 20 63 61  |. + ChangeFSI ca|
000075f0  6e 20 77 72 69 74 65 20  74 6f 20 74 68 69 73 20  |n write to this |
00007600  66 6f 72 6d 61 74 20 28  73 70 65 63 69 66 79 20  |format (specify |
00007610  22 61 69 6d 22 20 69 6e  20 74 68 65 20 6d 6f 64  |"aim" in the mod|
00007620  65 20 70 6f 73 69 74 69  6f 6e 29 0a 20 20 20 61  |e position).   a|
00007630  6e 64 20 73 70 65 63 69  66 79 20 3d 20 69 6e 20  |nd specify = in |
00007640  74 68 65 20 73 69 7a 69  6e 67 20 74 6f 20 67 65  |the sizing to ge|
00007650  74 20 61 20 32 35 36 20  62 79 20 32 35 36 20 6f  |t a 256 by 256 o|
00007660  75 74 70 75 74 20 28 6f  74 68 65 72 77 69 73 65  |utput (otherwise|
00007670  20 69 74 20 77 69 6c 6c  0a 20 20 20 62 65 20 74  | it will.   be t|
00007680  68 65 20 73 61 6d 65 20  73 69 7a 65 20 61 73 20  |he same size as |
00007690  74 68 65 20 73 6f 75 72  63 65 20 69 6d 61 67 65  |the source image|
000076a0  29 0a 20 2d 20 4e 6f 20  72 65 73 6f 6c 75 74 69  |). - No resoluti|
000076b0  6f 6e 20 73 70 65 63 69  66 69 65 64 2c 20 65 71  |on specified, eq|
000076c0  75 61 6c 20 74 6f 20 6d  6f 64 65 20 32 37 20 61  |ual to mode 27 a|
000076d0  73 73 75 6d 65 64 0a 20  2d 20 54 68 65 20 61 73  |ssumed. - The as|
000076e0  73 6f 63 69 61 74 65 64  20 66 69 6c 65 20 3c 6e  |sociated file <n|
000076f0  61 6d 65 3e 2b 20 28 66  69 6c 65 20 74 79 70 65  |ame>+ (file type|
00007700  20 30 31 30 29 20 77 68  69 63 68 20 63 6f 6e 74  | 010) which cont|
00007710  61 69 6e 73 20 61 64 64  69 74 69 6f 6e 61 6c 0a  |ains additional.|
00007720  20 20 20 69 6e 66 6f 72  6d 61 74 69 6f 6e 20 69  |   information i|
00007730  73 20 69 67 6e 6f 72 65  64 20 62 79 20 43 68 61  |s ignored by Cha|
00007740  6e 67 65 46 53 49 2e 0a  20 54 68 65 20 67 72 65  |ngeFSI.. The gre|
00007750  79 20 6c 65 76 65 6c 73  20 6d 61 79 20 72 65 70  |y levels may rep|
00007760  72 65 73 65 6e 74 20 69  6e 74 65 6e 73 69 74 79  |resent intensity|
00007770  20 69 6e 20 76 61 72 69  6f 75 73 20 64 69 66 66  | in various diff|
00007780  65 72 65 6e 74 20 77 61  76 65 20 62 61 6e 64 73  |erent wave bands|
00007790  2e 20 42 79 0a 20 6e 61  6d 69 6e 67 20 66 69 6c  |. By. naming fil|
000077a0  65 73 20 22 72 65 64 22  2c 20 22 67 72 65 65 6e  |es "red", "green|
000077b0  22 20 61 6e 64 20 22 62  6c 75 65 22 20 61 6e 64  |" and "blue" and|
000077c0  20 68 61 6e 64 69 6e 67  20 43 68 61 6e 67 65 46  | handing ChangeF|
000077d0  53 49 20 74 68 65 20 64  69 72 65 63 74 6f 72 79  |SI the directory|
000077e0  2c 0a 20 79 6f 75 20 63  61 6e 20 70 72 6f 64 75  |,. you can produ|
000077f0  63 65 20 61 20 66 61 6c  73 65 20 63 6f 6c 6f 75  |ce a false colou|
00007800  72 20 69 6d 61 67 65 2e  20 48 6f 75 72 73 20 6f  |r image. Hours o|
00007810  66 20 65 78 70 65 72 69  6d 65 6e 74 61 74 69 6f  |f experimentatio|
00007820  6e 20 63 61 6e 20 70 72  6f 64 75 63 65 0a 20 61  |n can produce. a|
00007830  6e 20 61 6c 6d 6f 73 74  20 72 65 61 73 6f 6e 61  |n almost reasona|
00007840  62 6c 65 20 70 69 63 74  75 72 65 2e 2e 2e 0a 0a  |ble picture.....|
00007850  54 68 65 20 57 69 6c 64  20 56 69 73 69 6f 6e 20  |The Wild Vision |
00007860  56 31 32 20 66 6f 72 6d  61 74 0a 20 54 68 69 73  |V12 format. This|
00007870  20 70 72 6f 76 69 64 65  73 20 61 6e 20 75 6e 63  | provides an unc|
00007880  6f 6d 70 72 65 73 73 65  64 20 35 31 32 20 62 79  |ompressed 512 by|
00007890  20 35 31 32 20 69 6d 61  67 65 20 77 69 74 68 20  | 512 image with |
000078a0  32 35 36 20 67 72 65 79  20 6c 65 76 65 6c 73 2e  |256 grey levels.|
000078b0  0a 20 2b 20 52 65 63 6f  67 6e 69 73 65 64 20 62  |. + Recognised b|
000078c0  79 20 66 69 6c 65 20 74  79 70 65 20 30 30 36 0a  |y file type 006.|
000078d0  20 2d 20 4e 6f 20 72 65  73 6f 6c 75 74 69 6f 6e  | - No resolution|
000078e0  20 73 70 65 63 69 66 69  65 64 2c 20 65 71 75 61  | specified, equa|
000078f0  6c 20 74 6f 20 6d 6f 64  65 20 32 37 20 61 73 73  |l to mode 27 ass|
00007900  75 6d 65 64 0a 0a 54 68  65 20 57 69 6c 64 20 56  |umed..The Wild V|
00007910  69 73 69 6f 6e 20 56 39  20 61 6e 64 20 53 6e 61  |ision V9 and Sna|
00007920  70 53 68 6f 74 20 66 6f  72 6d 61 74 73 0a 20 54  |pShot formats. T|
00007930  68 69 73 20 70 72 6f 76  69 64 65 73 20 61 6e 20  |his provides an |
00007940  75 6e 63 6f 6d 70 72 65  73 73 65 64 20 35 31 32  |uncompressed 512|
00007950  20 62 79 20 32 35 36 20  69 6d 61 67 65 20 77 69  | by 256 image wi|
00007960  74 68 20 34 20 62 69 74  73 20 6f 66 20 72 65 64  |th 4 bits of red|
00007970  2c 20 67 72 65 65 6e 0a  20 61 6e 64 20 62 6c 75  |, green. and blu|
00007980  65 2c 20 70 69 78 65 6c  73 20 73 69 7a 65 64 20  |e, pixels sized |
00007990  31 3a 32 2e 0a 20 2b 20  52 65 63 6f 67 6e 69 73  |1:2.. + Recognis|
000079a0  65 64 20 62 79 20 22 4d  65 72 63 53 6f 66 74 22  |ed by "MercSoft"|
000079b0  20 6f 72 20 22 53 6e 61  70 53 68 6f 74 22 20 68  | or "SnapShot" h|
000079c0  65 61 64 65 72 0a 20 2b  20 4e 6f 20 66 69 6c 65  |eader. + No file|
000079d0  20 74 79 70 65 20 6e 65  65 64 65 64 0a 0a 54 68  | type needed..Th|
000079e0  65 20 21 54 72 61 6e 73  6c 61 74 6f 72 20 43 6c  |e !Translator Cl|
000079f0  65 61 72 20 66 6f 72 6d  61 74 0a 20 54 68 69 73  |ear format. This|
00007a00  20 70 72 6f 76 69 64 65  73 20 31 2c 20 32 2c 20  | provides 1, 2, |
00007a10  34 2c 20 38 20 61 6e 64  20 32 34 20 62 69 74 73  |4, 8 and 24 bits|
00007a20  20 70 65 72 20 70 69 78  65 6c 2e 0a 20 2b 20 52  | per pixel.. + R|
00007a30  65 63 6f 67 6e 69 73 65  64 20 62 79 20 66 69 6c  |ecognised by fil|
00007a40  65 20 74 79 70 65 20 36  39 30 0a 20 2d 20 75 6e  |e type 690. - un|
00007a50  63 6f 6d 70 72 65 73 73  65 64 2c 20 65 73 70 65  |compressed, espe|
00007a60  63 69 61 6c 6c 79 20 66  6f 72 20 3c 38 20 62 69  |cially for <8 bi|
00007a70  74 73 20 70 65 72 20 70  69 78 65 6c 20 77 68 69  |ts per pixel whi|
00007a80  63 68 20 69 73 20 72 65  63 6f 72 64 65 64 20 61  |ch is recorded a|
00007a90  74 20 6f 6e 65 0a 20 20  20 62 79 74 65 20 70 65  |t one.   byte pe|
00007aa0  72 20 70 69 78 65 6c 2e  0a 20 2d 20 4e 6f 20 72  |r pixel.. - No r|
00007ab0  65 73 6f 6c 75 74 69 6f  6e 20 73 70 65 63 69 66  |esolution specif|
00007ac0  69 65 64 2c 20 65 71 75  61 6c 20 74 6f 20 6d 6f  |ied, equal to mo|
00007ad0  64 65 20 32 37 20 61 73  73 75 6d 65 64 0a 0a 54  |de 27 assumed..T|
00007ae0  68 65 20 41 74 61 72 69  20 53 54 20 22 44 65 67  |he Atari ST "Deg|
00007af0  61 73 22 20 66 6f 72 6d  61 74 0a 20 31 2c 20 32  |as" format. 1, 2|
00007b00  20 6f 72 20 34 20 62 69  74 73 20 70 65 72 20 70  | or 4 bits per p|
00007b10  69 78 65 6c 2c 20 63 6c  65 61 72 20 6f 72 20 72  |ixel, clear or r|
00007b20  75 6e 20 6c 65 6e 67 74  68 20 65 6e 63 6f 64 65  |un length encode|
00007b30  64 2e 20 52 49 53 43 20  4f 53 20 66 69 6c 65 20  |d. RISC OS file |
00007b40  74 79 70 65 20 62 79 0a  20 4a 6f 68 6e 20 4b 6f  |type by. John Ko|
00007b50  72 74 69 6e 6b 20 6f 66  20 21 54 72 61 6e 73 6c  |rtink of !Transl|
00007b60  61 74 6f 72 2e 0a 20 2b  20 52 65 63 6f 67 6e 69  |ator.. + Recogni|
00007b70  73 65 64 20 62 79 20 66  69 6c 65 20 74 79 70 65  |sed by file type|
00007b80  20 36 39 31 0a 20 2d 20  4e 6f 20 64 6f 63 75 6d  | 691. - No docum|
00007b90  65 6e 74 61 74 69 6f 6e  20 61 6e 64 20 6f 6e 6c  |entation and onl|
00007ba0  79 20 35 20 69 6d 61 67  65 73 20 72 65 61 64 0a  |y 5 images read.|
00007bb0  20 2d 20 4e 6f 20 72 65  73 6f 6c 75 74 69 6f 6e  | - No resolution|
00007bc0  20 73 70 65 63 69 66 69  65 64 2c 20 65 71 75 61  | specified, equa|
00007bd0  6c 20 74 6f 20 6d 6f 64  65 20 32 37 20 61 73 73  |l to mode 27 ass|
00007be0  75 6d 65 64 0a 0a 3e 3e  20 41 6c 6c 20 74 68 65  |umed..>> All the|
00007bf0  20 66 69 6c 65 20 66 6f  72 6d 61 74 73 20 73 6f  | file formats so|
00007c00  20 66 61 72 20 68 61 76  65 20 62 65 65 6e 20 64  | far have been d|
00007c10  65 73 69 67 6e 65 64 20  6f 6e 20 52 49 53 43 20  |esigned on RISC |
00007c20  4f 53 20 28 6f 72 20 41  72 74 68 75 72 29 20 61  |OS (or Arthur) a|
00007c30  6e 64 0a 72 65 63 6f 67  6e 69 74 69 6f 6e 20 6f  |nd.recognition o|
00007c40  66 20 74 68 65 20 66 6f  72 6d 61 74 20 69 73 20  |f the format is |
00007c50  64 65 66 69 6e 65 64 20  62 79 20 66 69 6c 65 20  |defined by file |
00007c60  74 79 70 65 2c 20 74 68  65 20 66 69 6c 65 73 20  |type, the files |
00007c70  61 72 72 69 76 65 20 6f  6e 20 52 49 53 43 0a 4f  |arrive on RISC.O|
00007c80  53 20 66 6c 6f 70 70 79  20 64 69 73 63 73 2c 20  |S floppy discs, |
00007c90  61 6e 64 20 74 68 65 20  6f 72 69 67 69 6e 61 74  |and the originat|
00007ca0  6f 72 73 20 6c 69 76 65  20 69 6e 20 74 68 65 20  |ors live in the |
00007cb0  73 61 6d 65 20 74 69 6d  65 20 7a 6f 6e 65 2e 20  |same time zone. |
00007cc0  46 6f 72 20 74 68 65 0a  66 6f 6c 6c 6f 77 69 6e  |For the.followin|
00007cd0  67 20 66 6f 72 6d 61 74  73 20 6d 61 6e 79 20 6f  |g formats many o|
00007ce0  66 20 74 68 65 73 65 20  74 68 69 6e 67 73 20 61  |f these things a|
00007cf0  72 65 20 6e 6f 74 20 74  72 75 65 2e 2e 2e 20 57  |re not true... W|
00007d00  68 69 63 68 20 6d 61 6b  65 73 20 69 74 20 6d 6f  |hich makes it mo|
00007d10  72 65 0a 64 69 66 66 69  63 75 6c 74 20 74 6f 20  |re.difficult to |
00007d20  67 75 61 72 61 6e 74 65  65 20 74 68 61 74 20 43  |guarantee that C|
00007d30  68 61 6e 67 65 46 53 49  20 77 69 6c 6c 20 62 65  |hangeFSI will be|
00007d40  20 61 62 6c 65 20 74 6f  20 72 65 61 64 20 74 68  | able to read th|
00007d50  65 20 66 69 6c 65 2e 0a  0a 54 68 65 20 4d 69 6c  |e file...The Mil|
00007d60  6c 69 70 65 64 65 20 50  72 69 73 6d 61 20 66 6f  |lipede Prisma fo|
00007d70  72 6d 61 74 20 28 75 73  65 64 20 62 79 20 43 61  |rmat (used by Ca|
00007d80  64 53 6f 66 74 20 61 6c  73 6f 29 0a 20 54 68 65  |dSoft also). The|
00007d90  20 4d 69 6c 6c 69 70 65  64 65 20 50 72 69 73 6d  | Millipede Prism|
00007da0  61 20 33 20 69 73 20 61  20 37 36 38 20 70 69 78  |a 3 is a 768 pix|
00007db0  65 6c 73 20 77 69 64 65  20 62 79 20 35 37 34 20  |els wide by 574 |
00007dc0  6c 69 6e 65 20 69 6e 74  65 72 6c 61 63 65 64 20  |line interlaced |
00007dd0  64 69 73 70 6c 61 79 0a  20 62 6f 61 72 64 20 66  |display. board f|
00007de0  6f 72 20 74 68 65 20 41  72 63 68 69 6d 65 64 65  |or the Archimede|
00007df0  73 20 61 6e 64 20 42 42  43 20 4d 69 63 72 6f 63  |s and BBC Microc|
00007e00  6f 6d 70 75 74 65 72 2e  20 49 74 20 61 6c 6c 6f  |omputer. It allo|
00007e10  77 73 20 75 73 65 20 6f  66 20 32 35 36 0a 20 63  |ws use of 256. c|
00007e20  6f 6c 6f 75 72 73 20 66  72 6f 6d 20 32 5e 32 34  |olours from 2^24|
00007e30  2e 20 46 69 6c 65 73 20  6d 61 79 20 62 65 20 73  |. Files may be s|
00007e40  74 6f 72 65 64 20 75 6e  63 6f 6d 70 72 65 73 73  |tored uncompress|
00007e50  65 64 20 28 34 33 32 4b  42 79 74 65 73 21 29 20  |ed (432KBytes!) |
00007e60  6f 72 20 72 75 6e 0a 20  6c 65 6e 67 74 68 20 65  |or run. length e|
00007e70  6e 63 6f 64 65 64 2e 20  4d 6f 72 65 20 64 65 74  |ncoded. More det|
00007e80  61 69 6c 73 20 66 72 6f  6d 20 43 61 64 53 6f 66  |ails from CadSof|
00007e90  74 20 6f 72 20 4d 69 6c  6c 69 70 65 64 65 20 45  |t or Millipede E|
00007ea0  6c 65 63 74 72 6f 6e 69  63 20 47 72 61 70 68 69  |lectronic Graphi|
00007eb0  63 73 2e 0a 20 2b 20 52  65 63 6f 67 6e 69 73 65  |cs.. + Recognise|
00007ec0  64 20 62 79 20 22 4d 49  4c 4c 49 50 45 44 45 22  |d by "MILLIPEDE"|
00007ed0  20 61 74 20 6f 66 66 73  65 74 20 31 36 20 69 6e  | at offset 16 in|
00007ee0  20 74 68 65 20 66 69 6c  65 0a 20 2d 20 4e 6f 20  | the file. - No |
00007ef0  72 65 73 6f 6c 75 74 69  6f 6e 20 73 70 65 63 69  |resolution speci|
00007f00  66 69 65 64 2c 20 65 71  75 61 6c 20 74 6f 20 6d  |fied, equal to m|
00007f10  6f 64 65 20 32 37 20 61  73 73 75 6d 65 64 0a 20  |ode 27 assumed. |
00007f20  2d 20 73 6c 6f 77 69 73  68 20 74 6f 20 72 65 61  |- slowish to rea|
00007f30  64 20 74 68 65 20 63 6f  6d 70 72 65 73 73 65 64  |d the compressed|
00007f40  20 66 6f 72 6d 61 74 73  0a 20 2d 20 73 63 61 6c  | formats. - scal|
00007f50  69 6e 67 20 74 68 65 20  70 69 63 74 75 72 65 20  |ing the picture |
00007f60  75 73 69 6e 67 20 3d 20  63 61 6e 20 62 65 20 70  |using = can be p|
00007f70  6f 6f 72 20 73 69 6e 63  65 20 35 37 34 20 6c 69  |oor since 574 li|
00007f80  6e 65 73 20 64 6f 6e 27  74 20 72 65 6c 61 74 65  |nes don't relate|
00007f90  20 76 65 72 79 0a 20 20  20 77 65 6c 6c 20 74 6f  | very.   well to|
00007fa0  20 35 31 32 20 6f 72 20  32 35 36 2e 20 55 73 65  | 512 or 256. Use|
00007fb0  20 2d 69 6e 66 6f 20 74  6f 20 64 69 73 70 6c 61  | -info to displa|
00007fc0  79 20 74 68 65 20 73 63  61 6c 65 20 72 61 74 69  |y the scale rati|
00007fd0  6f 73 2e 0a 0a 54 68 65  20 41 6c 64 75 73 2f 4d  |os...The Aldus/M|
00007fe0  69 63 72 6f 53 6f 66 74  20 54 49 46 46 20 66 6f  |icroSoft TIFF fo|
00007ff0  72 6d 61 74 20 28 61 6c  73 6f 20 66 69 6c 65 74  |rmat (also filet|
00008000  79 70 65 20 46 46 30 20  69 73 20 61 73 73 69 67  |ype FF0 is assig|
00008010  6e 65 64 20 74 6f 20 54  49 46 46 29 0a 20 46 72  |ned to TIFF). Fr|
00008020  65 71 75 65 6e 74 6c 79  20 75 73 65 64 20 62 79  |equently used by|
00008030  20 73 63 61 6e 6e 65 72  73 2c 20 54 49 46 46 20  | scanners, TIFF |
00008040  69 73 20 61 20 63 6f 6d  6d 6f 6e 20 69 6e 74 65  |is a common inte|
00008050  72 63 68 61 6e 67 65 20  66 6f 72 6d 61 74 20 66  |rchange format f|
00008060  6f 72 0a 20 67 72 61 70  68 69 63 73 20 69 6d 61  |or. graphics ima|
00008070  67 65 73 20 6f 6e 20 74  68 65 20 4d 61 63 20 61  |ges on the Mac a|
00008080  6e 64 20 50 43 20 28 70  61 72 74 69 63 75 6c 61  |nd PC (particula|
00008090  72 6c 79 20 44 54 50 20  61 6e 64 20 57 69 6e 64  |rly DTP and Wind|
000080a0  6f 77 73 29 2e 20 49 74  0a 20 70 72 6f 76 69 64  |ows). It. provid|
000080b0  65 73 20 61 6e 20 61 72  62 69 74 72 61 72 79 20  |es an arbitrary |
000080c0  6e 75 6d 62 65 72 20 6f  66 20 62 69 74 73 20 70  |number of bits p|
000080d0  65 72 20 70 69 78 65 6c  2c 20 73 69 7a 65 20 65  |er pixel, size e|
000080e0  74 63 20 75 73 69 6e 67  20 61 20 6e 75 6d 65 72  |tc using a numer|
000080f0  69 63 20 74 61 67 0a 20  73 63 68 65 6d 65 20 61  |ic tag. scheme a|
00008100  6c 6c 6f 77 69 6e 67 20  6e 65 77 20 69 6e 66 6f  |llowing new info|
00008110  72 6d 61 74 69 6f 6e 20  74 6f 20 62 65 20 69 6e  |rmation to be in|
00008120  74 72 6f 64 75 63 65 64  20 77 69 74 68 6f 75 74  |troduced without|
00008130  20 75 70 73 65 74 74 69  6e 67 20 65 78 69 73 74  | upsetting exist|
00008140  69 6e 67 0a 20 70 72 6f  67 72 61 6d 73 2e 20 54  |ing. programs. T|
00008150  68 65 20 66 6f 72 6d 61  74 20 6d 61 79 20 62 65  |he format may be|
00008160  20 63 6f 6d 70 72 65 73  73 65 64 20 28 69 6e 20  | compressed (in |
00008170  35 20 64 69 66 66 65 72  65 6e 74 20 77 61 79 73  |5 different ways|
00008180  20 61 74 20 70 72 65 73  65 6e 74 29 2e 0a 20 44  | at present).. D|
00008190  65 74 61 69 6c 73 20 66  72 6f 6d 20 41 6c 64 75  |etails from Aldu|
000081a0  73 20 55 4b 2c 20 4d 69  63 72 6f 53 6f 66 74 2c  |s UK, MicroSoft,|
000081b0  20 48 65 77 6c 65 74 74  20 50 61 63 6b 61 72 64  | Hewlett Packard|
000081c0  2e 2e 2e 0a 20 2b 20 52  65 63 6f 67 6e 69 73 65  |.... + Recognise|
000081d0  64 20 62 79 20 66 69 6c  65 20 74 79 70 65 20 46  |d by file type F|
000081e0  46 30 0a 20 2b 20 52 65  63 6f 67 6e 69 73 65 64  |F0. + Recognised|
000081f0  20 62 79 20 22 49 49 22  20 70 6c 75 73 20 74 68  | by "II" plus th|
00008200  65 20 31 36 20 62 69 74  20 6e 75 6d 62 65 72 20  |e 16 bit number |
00008210  34 32 20 61 74 20 74 68  65 20 73 74 61 72 74 20  |42 at the start |
00008220  6f 66 20 74 68 65 20 66  69 6c 65 20 66 6f 72 0a  |of the file for.|
00008230  20 20 20 6c 69 74 74 6c  65 20 65 6e 64 69 61 6e  |   little endian|
00008240  20 6d 61 63 68 69 6e 65  73 20 28 69 78 38 36 2c  | machines (ix86,|
00008250  20 41 52 4d 2c 20 56 41  58 2e 2e 2e 29 0a 20 2b  | ARM, VAX...). +|
00008260  20 52 65 63 6f 67 6e 69  73 65 64 20 62 79 20 22  | Recognised by "|
00008270  4d 4d 22 20 70 6c 75 73  20 74 68 65 20 31 36 20  |MM" plus the 16 |
00008280  62 69 74 20 6e 75 6d 62  65 72 20 34 32 20 61 74  |bit number 42 at|
00008290  20 74 68 65 20 73 74 61  72 74 20 6f 66 20 74 68  | the start of th|
000082a0  65 20 66 69 6c 65 20 66  6f 72 0a 20 20 20 62 69  |e file for.   bi|
000082b0  67 20 65 6e 64 69 61 6e  20 6d 61 63 68 69 6e 65  |g endian machine|
000082c0  73 20 28 4d 36 38 30 78  30 2e 2e 2e 29 0a 20 2b  |s (M680x0...). +|
000082d0  20 43 61 6e 20 72 65 61  64 20 50 61 63 6b 42 69  | Can read PackBi|
000082e0  74 73 20 69 6d 61 67 65  73 20 61 6e 64 20 4c 5a  |ts images and LZ|
000082f0  57 20 63 6f 6d 70 72 65  73 73 65 64 20 66 6f 72  |W compressed for|
00008300  6d 73 20 28 61 74 20 6c  65 61 73 74 20 74 68 65  |ms (at least the|
00008310  20 33 20 69 74 73 0a 20  20 20 73 65 65 6e 20 73  | 3 its.   seen s|
00008320  6f 20 66 61 72 2e 2e 2e  29 0a 20 2d 20 43 61 6e  |o far...). - Can|
00008330  6e 6f 74 20 72 65 61 64  20 70 72 65 64 69 63 74  |not read predict|
00008340  6f 72 20 63 6f 6d 70 72  65 73 73 65 64 20 4c 5a  |or compressed LZ|
00008350  57 20 69 6d 61 67 65 73  2e 0a 20 2d 20 53 6f 20  |W images.. - So |
00008360  66 61 72 20 43 68 61 6e  67 65 46 53 49 20 68 61  |far ChangeFSI ha|
00008370  73 20 6f 6e 6c 79 20 64  6f 6e 65 20 31 2c 20 34  |s only done 1, 4|
00008380  2c 20 38 20 61 6e 64 20  32 34 20 62 69 74 20 69  |, 8 and 24 bit i|
00008390  6d 61 67 65 73 2e 0a 20  20 20 49 74 20 63 61 6e  |mages..   It can|
000083a0  27 74 20 72 65 61 64 20  22 70 6c 61 6e 61 72 22  |'t read "planar"|
000083b0  20 69 6d 61 67 65 73 20  6f 72 20 43 43 49 54 54  | images or CCITT|
000083c0  20 63 6f 6d 70 72 65 73  73 65 64 20 66 6f 72 6d  | compressed form|
000083d0  73 2e 0a 20 2d 20 53 6f  6d 65 20 54 49 46 46 20  |s.. - Some TIFF |
000083e0  69 6d 61 67 65 73 20 68  61 76 65 20 69 6e 63 6f  |images have inco|
000083f0  72 72 65 63 74 20 70 69  78 65 6c 20 73 69 7a 65  |rrect pixel size|
00008400  73 3a 20 75 73 65 20 2d  6e 6f 73 69 7a 65 20 69  |s: use -nosize i|
00008410  66 20 74 68 69 73 20 69  73 0a 20 20 20 74 72 75  |f this is.   tru|
00008420  65 2e 20 49 66 20 6e 6f  20 70 69 78 65 6c 20 73  |e. If no pixel s|
00008430  69 7a 65 20 69 73 20 73  70 65 63 69 66 69 65 64  |ize is specified|
00008440  2c 20 43 68 61 6e 67 65  46 53 49 20 61 73 73 75  |, ChangeFSI assu|
00008450  6d 65 73 20 6d 6f 64 65  20 32 37 20 73 69 7a 65  |mes mode 27 size|
00008460  2e 0a 20 2b 20 54 49 46  46 20 69 73 20 61 20 74  |.. + TIFF is a t|
00008470  72 61 64 65 6d 61 72 6b  20 6f 66 20 41 6c 64 75  |rademark of Aldu|
00008480  73 20 43 6f 72 70 6f 72  61 74 69 6f 6e 0a 0a 54  |s Corporation..T|
00008490  68 65 20 43 6f 6d 70 75  53 65 72 76 65 20 47 49  |he CompuServe GI|
000084a0  46 20 66 6f 72 6d 61 74  0a 20 55 73 65 64 20 66  |F format. Used f|
000084b0  6f 72 20 77 69 64 65 20  61 72 65 61 20 6e 65 74  |or wide area net|
000084c0  77 6f 72 6b 20 74 72 61  6e 73 66 65 72 20 6f 66  |work transfer of|
000084d0  20 69 6d 61 67 65 73 2e  20 49 74 20 70 72 6f 76  | images. It prov|
000084e0  69 64 65 73 20 61 6e 20  4c 5a 57 0a 20 63 6f 6d  |ides an LZW. com|
000084f0  70 72 65 73 73 65 64 20  75 70 20 74 6f 20 32 35  |pressed up to 25|
00008500  36 20 63 6f 6c 6f 75 72  73 20 66 72 6f 6d 20 32  |6 colours from 2|
00008510  5e 32 34 20 61 72 62 69  74 72 61 72 79 20 73 69  |^24 arbitrary si|
00008520  7a 65 64 20 69 6d 61 67  65 2e 20 44 65 74 61 69  |zed image. Detai|
00008530  6c 73 20 66 72 6f 6d 0a  20 43 6f 6d 70 75 53 65  |ls from. CompuSe|
00008540  72 76 65 20 28 55 53 41  29 20 5b 6f 72 20 75 73  |rve (USA) [or us|
00008550  65 6e 65 74 5d 0a 20 2b  20 52 65 63 6f 67 6e 69  |enet]. + Recogni|
00008560  73 65 64 20 62 79 20 22  47 49 46 38 22 20 61 74  |sed by "GIF8" at|
00008570  20 74 68 65 20 73 74 61  72 74 20 6f 66 20 74 68  | the start of th|
00008580  65 20 66 69 6c 65 0a 20  2b 20 4c 5a 57 20 63 6f  |e file. + LZW co|
00008590  6d 70 72 65 73 73 69 6f  6e 20 69 73 20 65 66 66  |mpression is eff|
000085a0  69 63 69 65 6e 74 20 65  76 65 6e 20 66 6f 72 20  |icient even for |
000085b0  64 69 74 68 65 72 65 64  20 69 6d 61 67 65 73 0a  |dithered images.|
000085c0  20 2b 20 43 68 61 6e 67  65 46 53 49 20 63 61 6e  | + ChangeFSI can|
000085d0  20 64 65 63 6f 6d 70 72  65 73 73 20 4c 5a 57 20  | decompress LZW |
000085e0  71 75 69 63 6b 6c 79 0a  20 2d 20 4e 6f 20 72 65  |quickly. - No re|
000085f0  73 6f 6c 75 74 69 6f 6e  20 73 70 65 63 69 66 69  |solution specifi|
00008600  65 64 2c 20 65 71 75 61  6c 20 74 6f 20 6d 6f 64  |ed, equal to mod|
00008610  65 20 32 37 20 61 73 73  75 6d 65 64 0a 20 2d 20  |e 27 assumed. - |
00008620  6d 61 6e 79 20 6c 6f 77  20 71 75 61 6c 69 74 79  |many low quality|
00008630  20 69 6d 61 67 65 73 20  61 72 6f 75 6e 64 20 66  | images around f|
00008640  72 6f 6d 20 50 43 73 0a  20 2d 20 6e 6f 20 70 72  |rom PCs. - no pr|
00008650  6f 63 65 73 73 69 6e 67  20 6f 66 20 47 49 46 38  |ocessing of GIF8|
00008660  39 61 20 6d 61 73 6b 73  0a 0a 54 68 65 20 45 6c  |9a masks..The El|
00008670  65 63 74 72 6f 6e 69 63  20 41 72 74 73 20 49 46  |ectronic Arts IF|
00008680  46 20 49 4c 42 4d 20 66  6f 72 6d 61 74 0a 20 50  |F ILBM format. P|
00008690  72 6f 76 69 64 65 73 20  61 6e 20 61 72 62 69 74  |rovides an arbit|
000086a0  72 61 72 79 20 73 69 7a  65 64 20 69 6d 61 67 65  |rary sized image|
000086b0  20 77 69 74 68 20 75 70  20 74 6f 20 34 30 39 36  | with up to 4096|
000086c0  20 63 6f 6c 6f 75 72 73  20 73 6f 6d 65 74 69 6d  | colours sometim|
000086d0  65 73 20 72 75 6e 0a 20  6c 65 6e 67 74 68 20 65  |es run. length e|
000086e0  6e 63 6f 64 65 64 2e 20  43 68 61 6e 67 65 46 53  |ncoded. ChangeFS|
000086f0  49 20 75 6e 64 65 72 73  74 61 6e 64 73 20 74 68  |I understands th|
00008700  65 20 67 65 6e 65 72 69  63 20 66 6f 72 6d 61 74  |e generic format|
00008710  20 61 6e 64 20 61 6c 73  6f 20 74 68 65 0a 20 73  | and also the. s|
00008720  70 65 63 69 61 6c 20 41  6d 69 67 61 20 66 6f 72  |pecial Amiga for|
00008730  6d 61 74 20 66 6f 72 20  22 48 41 4d 22 20 61 6e  |mat for "HAM" an|
00008740  64 20 22 48 61 6c 66 2d  62 72 69 67 68 74 22 20  |d "Half-bright" |
00008750  69 6d 61 67 65 73 2e 0a  20 2b 20 52 65 63 6f 67  |images.. + Recog|
00008760  6e 69 73 65 64 20 62 79  20 22 46 4f 52 4d 22 20  |nised by "FORM" |
00008770  61 73 20 74 68 65 20 66  69 72 73 74 20 66 6f 75  |as the first fou|
00008780  72 20 63 68 61 72 61 63  74 65 72 73 20 61 6e 64  |r characters and|
00008790  20 22 49 4c 42 4d 22 20  61 73 0a 20 20 20 63 68  | "ILBM" as.   ch|
000087a0  61 72 61 63 74 65 72 73  20 38 20 74 6f 20 31 31  |aracters 8 to 11|
000087b0  0a 20 2d 20 4f 6e 6c 79  20 70 69 78 65 6c 20 61  |. - Only pixel a|
000087c0  73 70 65 63 74 20 72 61  74 69 6f 20 73 70 65 63  |spect ratio spec|
000087d0  69 66 69 65 64 2c 20 6e  6f 74 20 69 74 73 20 73  |ified, not its s|
000087e0  69 7a 65 20 28 61 6e 64  20 74 68 65 6e 20 73 6f  |ize (and then so|
000087f0  6d 65 74 69 6d 65 73 0a  20 20 20 69 6e 63 6f 72  |metimes.   incor|
00008800  72 65 63 74 6c 79 29 3a  20 75 73 65 20 2d 6e 6f  |rectly): use -no|
00008810  73 69 7a 65 20 2a 61 6e  64 2a 20 61 20 73 69 7a  |size *and* a siz|
00008820  65 20 63 68 61 6e 67 65  20 28 61 3a 62 29 20 69  |e change (a:b) i|
00008830  66 20 69 74 73 20 77 72  6f 6e 67 0a 20 2d 20 69  |f its wrong. - i|
00008840  6d 61 67 65 73 20 6f 66  74 65 6e 20 73 6d 61 6c  |mages often smal|
00008850  6c 0a 20 2d 20 64 6f 65  73 6e 27 74 20 75 6e 64  |l. - doesn't und|
00008860  65 72 73 74 61 6e 64 20  41 6d 69 67 61 20 22 68  |erstand Amiga "h|
00008870  69 72 65 73 22 0a 20 2d  20 63 61 6e 27 74 20 63  |ires". - can't c|
00008880  6f 6e 76 65 72 74 20 48  41 4d 20 70 69 63 74 75  |onvert HAM pictu|
00008890  72 65 73 20 64 69 72 65  63 74 6c 79 20 74 6f 20  |res directly to |
000088a0  6d 6f 6e 6f 63 68 72 6f  6d 65 0a 0a 54 68 65 20  |monochrome..The |
000088b0  4d 69 63 72 6f 53 6f 66  74 20 57 69 6e 64 6f 77  |MicroSoft Window|
000088c0  73 20 33 20 2e 42 4d 50  20 66 6f 72 6d 61 74 0a  |s 3 .BMP format.|
000088d0  20 55 73 65 64 20 62 79  20 4d 69 63 72 6f 53 6f  | Used by MicroSo|
000088e0  66 74 20 69 6e 20 57 69  6e 64 6f 77 73 20 33 20  |ft in Windows 3 |
000088f0  61 6e 64 20 50 61 69 6e  74 42 72 75 73 68 20 66  |and PaintBrush f|
00008900  6f 72 20 57 69 6e 64 6f  77 73 20 33 2e 20 50 72  |or Windows 3. Pr|
00008910  6f 76 69 64 65 73 20 61  6e 0a 20 61 72 62 69 74  |ovides an. arbit|
00008920  72 61 72 79 20 73 69 7a  65 64 20 69 6d 61 67 65  |rary sized image|
00008930  20 61 6e 64 20 31 2c 20  34 20 6f 72 20 38 20 62  | and 1, 4 or 8 b|
00008940  69 74 73 20 70 65 72 20  70 69 78 65 6c 2e 20 55  |its per pixel. U|
00008950  6e 63 6f 6d 70 72 65 73  73 65 64 2e 0a 20 2b 20  |ncompressed.. + |
00008960  52 65 63 6f 67 6e 69 73  65 64 20 62 79 20 22 42  |Recognised by "B|
00008970  4d 22 20 61 73 20 74 68  65 20 66 69 72 73 74 20  |M" as the first |
00008980  74 77 6f 20 63 68 61 72  61 63 74 65 72 73 0a 20  |two characters. |
00008990  2d 20 4e 6f 20 72 65 73  6f 6c 75 74 69 6f 6e 20  |- No resolution |
000089a0  73 70 65 63 69 66 69 65  64 2c 20 65 71 75 61 6c  |specified, equal|
000089b0  20 74 6f 20 6d 6f 64 65  20 32 37 20 61 73 73 75  | to mode 27 assu|
000089c0  6d 65 64 0a 20 2d 20 64  6f 63 75 6d 65 6e 74 61  |med. - documenta|
000089d0  74 69 6f 6e 20 6e 65 76  65 72 20 73 65 65 6e 20  |tion never seen |
000089e0  2d 20 37 20 66 69 6c 65  73 20 65 78 61 6d 69 6e  |- 7 files examin|
000089f0  65 64 20 61 6e 64 20 69  6e 74 65 6c 6c 69 67 65  |ed and intellige|
00008a00  6e 74 20 67 75 65 73 73  65 73 20 6d 61 64 65 21  |nt guesses made!|
00008a10  0a 0a 54 68 65 20 44 69  67 69 74 61 6c 20 52 65  |..The Digital Re|
00008a20  73 65 61 72 63 68 20 47  45 4d 20 2e 49 4d 47 20  |search GEM .IMG |
00008a30  66 6f 72 6d 61 74 0a 20  55 73 65 64 20 62 79 20  |format. Used by |
00008a40  47 45 4d 20 28 61 6e 64  20 47 45 4d 20 50 61 69  |GEM (and GEM Pai|
00008a50  6e 74 29 20 6f 6e 20 62  6f 74 68 20 50 43 20 61  |nt) on both PC a|
00008a60  6e 64 20 41 74 61 72 69  20 53 54 2e 20 50 72 6f  |nd Atari ST. Pro|
00008a70  76 69 64 65 73 20 61 6e  20 61 72 62 69 74 72 61  |vides an arbitra|
00008a80  72 79 0a 20 73 69 7a 65  64 20 69 6d 61 67 65 20  |ry. sized image |
00008a90  61 6e 64 20 6e 75 6d 62  65 72 20 6f 66 20 62 69  |and number of bi|
00008aa0  74 73 20 70 65 72 20 70  69 78 65 6c 20 28 74 68  |ts per pixel (th|
00008ab0  6f 75 67 68 20 69 74 73  20 6f 6e 6c 79 20 75 73  |ough its only us|
00008ac0  75 61 6c 6c 79 20 75 73  65 64 20 77 69 74 68 0a  |ually used with.|
00008ad0  20 75 70 20 74 6f 20 35  20 62 69 74 73 20 70 65  | up to 5 bits pe|
00008ae0  72 20 70 69 78 65 6c 29  20 61 6e 64 20 70 69 78  |r pixel) and pix|
00008af0  65 6c 20 73 69 7a 65 2e  20 43 6f 6d 70 72 65 73  |el size. Compres|
00008b00  73 65 64 20 62 79 20 72  75 6e 20 6c 65 6e 67 74  |sed by run lengt|
00008b10  68 20 65 6e 63 6f 64 69  6e 67 0a 20 61 6e 64 20  |h encoding. and |
00008b20  6c 69 6e 65 20 72 65 70  65 61 74 73 2e 0a 20 2d  |line repeats.. -|
00008b30  20 52 65 63 6f 67 6e 69  73 65 64 20 62 79 20 30  | Recognised by 0|
00008b40  30 20 30 31 20 30 30 20  30 38 20 61 73 20 74 68  |0 01 00 08 as th|
00008b50  65 20 66 69 72 73 74 20  66 6f 75 72 20 62 79 74  |e first four byt|
00008b60  65 73 20 28 22 76 65 72  73 69 6f 6e 20 31 2c 20  |es ("version 1, |
00008b70  68 65 61 64 65 72 0a 20  20 20 6c 65 6e 67 74 68  |header.   length|
00008b80  20 38 22 29 20 6f 72 20  62 79 20 22 49 4d 47 22  | 8") or by "IMG"|
00008b90  20 61 73 20 74 68 65 20  6e 61 6d 65 20 6f 66 20  | as the name of |
00008ba0  74 68 65 20 64 69 72 65  63 74 6f 72 79 20 74 68  |the directory th|
00008bb0  65 20 66 69 6c 65 20 69  73 20 69 6e 2e 0a 20 2d  |e file is in.. -|
00008bc0  20 50 6c 61 6e 61 72 20  66 69 6c 65 20 66 6f 72  | Planar file for|
00008bd0  6d 61 74 20 73 6c 6f 77  20 74 6f 20 72 65 61 64  |mat slow to read|
00008be0  0a 20 2d 20 50 61 6c 65  74 74 65 20 6e 6f 74 20  |. - Palette not |
00008bf0  73 70 65 63 69 66 69 65  64 3a 20 43 68 61 6e 67  |specified: Chang|
00008c00  65 46 53 49 20 61 73 73  75 6d 65 73 20 6c 69 6e  |eFSI assumes lin|
00008c10  65 61 72 20 73 68 61 64  65 73 20 6f 66 20 67 72  |ear shades of gr|
00008c20  65 79 2e 20 59 6f 75 20  6d 69 67 68 74 0a 20 20  |ey. You might.  |
00008c30  20 6e 65 65 64 20 74 6f  20 75 73 65 20 2d 69 6e  | need to use -in|
00008c40  76 65 72 74 20 69 66 20  74 68 65 20 69 6d 61 67  |vert if the imag|
00008c50  65 20 69 73 20 61 20 6e  65 67 61 74 69 76 65 0a  |e is a negative.|
00008c60  20 2d 20 54 68 65 20 73  69 7a 65 20 6f 66 20 61  | - The size of a|
00008c70  20 70 69 78 65 6c 20 69  73 20 73 70 65 63 69 66  | pixel is specif|
00008c80  69 65 64 20 69 6e 20 6d  69 63 72 6f 6e 73 2e 20  |ied in microns. |
00008c90  54 68 65 20 73 74 61 6e  64 61 72 64 20 52 49 53  |The standard RIS|
00008ca0  43 20 4f 53 20 39 30 0a  20 20 20 70 69 78 65 6c  |C OS 90.   pixel|
00008cb0  73 20 70 65 72 20 69 6e  63 68 20 74 72 61 6e 73  |s per inch trans|
00008cc0  6c 61 74 65 73 20 74 6f  20 28 31 2f 39 30 2a 32  |lates to (1/90*2|
00008cd0  2e 35 34 2a 31 30 2c 30  30 30 29 20 6d 69 63 72  |.54*10,000) micr|
00008ce0  6f 6e 73 20 2d 20 32 38  32 2e 20 28 75 73 65 0a  |ons - 282. (use.|
00008cf0  20 20 20 2d 69 6e 66 6f  20 74 6f 20 67 65 74 20  |   -info to get |
00008d00  69 6e 66 6f 72 6d 61 74  69 6f 6e 20 61 62 6f 75  |information abou|
00008d10  74 20 74 68 65 20 73 63  61 6c 69 6e 67 2c 20 2d  |t the scaling, -|
00008d20  6e 6f 73 69 7a 65 20 74  6f 20 73 74 6f 70 20 69  |nosize to stop i|
00008d30  74 29 0a 20 2d 20 44 6f  63 75 6d 65 6e 74 61 74  |t). - Documentat|
00008d40  69 6f 6e 20 66 72 6f 6d  20 74 68 65 20 22 53 54  |ion from the "ST|
00008d50  20 57 6f 72 6c 64 22 20  6d 61 67 61 7a 69 6e 65  | World" magazine|
00008d60  27 73 20 63 6c 69 6e 69  63 2e 0a 0a 41 6e 20 75  |'s clinic...An u|
00008d70  6e 6b 6e 6f 77 6e 20 50  43 20 2e 50 49 43 20 66  |nknown PC .PIC f|
00008d80  6f 72 6d 61 74 0a 20 55  73 65 64 20 66 6f 72 20  |ormat. Used for |
00008d90  73 6f 6d 65 20 56 47 41  20 64 65 6d 6f 73 2c 20  |some VGA demos, |
00008da0  74 68 65 20 66 6f 72 6d  61 74 20 70 72 6f 76 69  |the format provi|
00008db0  64 65 73 20 61 6e 20 75  6e 63 6f 6d 70 72 65 73  |des an uncompres|
00008dc0  73 65 64 20 33 32 30 20  62 79 20 32 30 30 20 62  |sed 320 by 200 b|
00008dd0  79 0a 20 32 35 36 20 63  6f 6c 6f 75 72 20 28 66  |y. 256 colour (f|
00008de0  72 6f 6d 20 32 5e 32 34  29 20 56 47 41 20 73 63  |rom 2^24) VGA sc|
00008df0  72 65 65 6e 20 64 75 6d  70 2e 0a 20 2b 20 52 65  |reen dump.. + Re|
00008e00  63 6f 67 6e 69 73 65 64  20 62 79 20 22 41 56 5f  |cognised by "AV_|
00008e10  56 4f 22 20 61 73 20 74  68 65 20 66 69 72 73 74  |VO" as the first|
00008e20  20 66 69 76 65 20 62 79  74 65 73 20 69 6e 20 74  | five bytes in t|
00008e30  68 65 20 66 69 6c 65 0a  20 2d 20 44 6f 63 75 6d  |he file. - Docum|
00008e40  65 6e 74 61 74 69 6f 6e  20 6e 65 76 65 72 20 73  |entation never s|
00008e50  65 65 6e 0a 20 2d 20 50  69 78 65 6c 20 73 69 7a  |een. - Pixel siz|
00008e60  65 20 61 73 73 75 6d 65  64 20 74 68 65 20 73 61  |e assumed the sa|
00008e70  6d 65 20 61 73 20 4d 4f  44 45 20 31 33 20 28 34  |me as MODE 13 (4|
00008e80  35 20 70 69 78 65 6c 73  20 70 65 72 20 69 6e 63  |5 pixels per inc|
00008e90  68 29 2e 0a 0a 54 68 65  20 4d 61 63 50 61 69 6e  |h)...The MacPain|
00008ea0  74 20 66 6f 72 6d 61 74  0a 20 50 72 6f 76 69 64  |t format. Provid|
00008eb0  65 73 20 61 20 35 37 36  20 62 79 20 37 32 30 20  |es a 576 by 720 |
00008ec0  62 69 74 6d 61 70 2c 20  72 75 6e 20 6c 65 6e 67  |bitmap, run leng|
00008ed0  74 68 20 63 6f 64 65 64  20 62 79 20 74 68 65 20  |th coded by the |
00008ee0  4d 61 63 27 73 20 22 50  61 63 6b 42 69 74 73 22  |Mac's "PackBits"|
00008ef0  0a 20 61 6c 67 6f 72 69  74 68 6d 20 28 72 65 70  |. algorithm (rep|
00008f00  65 61 74 65 64 20 62 79  74 65 73 29 2e 0a 20 2d  |eated bytes).. -|
00008f10  20 52 65 63 6f 67 6e 69  73 65 64 20 62 79 20 22  | Recognised by "|
00008f20  50 4e 54 47 22 20 61 74  20 70 6f 73 69 74 69 6f  |PNTG" at positio|
00008f30  6e 20 36 35 20 69 6e 20  74 68 65 20 66 69 6c 65  |n 65 in the file|
00008f40  2e 20 54 68 69 73 20 6d  61 79 20 6f 6e 6c 79 20  |. This may only |
00008f50  72 65 6c 61 74 65 20 74  6f 0a 20 20 20 66 69 6c  |relate to.   fil|
00008f60  65 73 20 77 68 69 63 68  20 68 61 76 65 20 62 65  |es which have be|
00008f70  65 6e 20 74 68 72 6f 75  67 68 20 61 20 70 72 6f  |en through a pro|
00008f80  67 72 61 6d 20 63 61 6c  6c 65 64 20 22 4d 61 63  |gram called "Mac|
00008f90  46 69 78 22 2e 20 44 61  74 61 20 61 73 73 75 6d  |Fix". Data assum|
00008fa0  65 64 20 74 6f 0a 20 20  20 73 74 61 72 74 20 61  |ed to.   start a|
00008fb0  74 20 70 6f 73 69 74 69  6f 6e 20 31 32 38 20 69  |t position 128 i|
00008fc0  6e 20 74 68 65 20 66 69  6c 65 2e 20 48 65 61 64  |n the file. Head|
00008fd0  65 72 20 69 67 6e 6f 72  65 64 2e 0a 20 2d 20 4e  |er ignored.. - N|
00008fe0  6f 20 72 65 73 6f 6c 75  74 69 6f 6e 20 73 70 65  |o resolution spe|
00008ff0  63 69 66 69 65 64 2c 20  65 71 75 61 6c 20 74 6f  |cified, equal to|
00009000  20 6d 6f 64 65 20 32 35  20 61 73 73 75 6d 65 64  | mode 25 assumed|
00009010  0a 0a 54 68 65 20 4d 61  63 20 50 49 43 54 32 20  |..The Mac PICT2 |
00009020  66 6f 72 6d 61 74 20 28  50 49 43 54 20 65 78 74  |format (PICT ext|
00009030  65 6e 64 65 64 20 76 65  72 73 69 6f 6e 20 32 29  |ended version 2)|
00009040  0a 20 50 72 6f 76 69 64  65 73 20 61 6e 20 61 72  |. Provides an ar|
00009050  62 69 74 61 72 79 20 73  69 7a 65 20 70 61 63 6b  |bitary size pack|
00009060  65 64 20 70 69 63 74 75  72 65 2c 20 72 75 6e 20  |ed picture, run |
00009070  6c 65 6e 67 74 68 20 63  6f 64 65 64 20 62 79 20  |length coded by |
00009080  74 68 65 20 4d 61 63 27  73 0a 20 22 50 61 63 6b  |the Mac's. "Pack|
00009090  42 69 74 73 22 20 61 6c  67 6f 72 69 74 68 6d 20  |Bits" algorithm |
000090a0  28 72 65 70 65 61 74 65  64 20 62 79 74 65 73 29  |(repeated bytes)|
000090b0  2e 0a 20 2b 20 52 65 63  6f 67 6e 69 73 65 64 20  |.. + Recognised |
000090c0  62 79 20 6c 6f 6f 6b 69  6e 67 20 66 6f 72 20 74  |by looking for t|
000090d0  68 65 20 50 49 43 54 20  68 65 61 64 65 72 20 61  |he PICT header a|
000090e0  74 20 70 6f 73 69 74 69  6f 6e 20 35 31 34 20 69  |t position 514 i|
000090f0  6e 20 74 68 65 20 66 69  6c 65 2e 0a 20 20 20 54  |n the file..   T|
00009100  68 65 20 68 65 61 64 65  72 20 69 73 20 30 30 20  |he header is 00 |
00009110  31 31 20 30 32 20 46 46  20 30 43 20 30 30 20 46  |11 02 FF 0C 00 F|
00009120  46 20 46 45 2e 0a 20 2d  20 44 6f 63 75 6d 65 6e  |F FE.. - Documen|
00009130  74 61 74 69 6f 6e 20 61  76 61 69 6c 61 62 6c 65  |tation available|
00009140  20 62 75 74 20 6d 6f 73  74 6c 79 20 75 73 65 6c  | but mostly usel|
00009150  65 73 73 20 28 69 74 20  61 73 73 75 6d 65 73 20  |ess (it assumes |
00009160  79 6f 75 20 61 72 65 20  61 62 6f 75 74 20 74 6f  |you are about to|
00009170  0a 20 20 20 63 61 6c 6c  20 51 75 69 63 6b 44 72  |.   call QuickDr|
00009180  61 77 20 72 6f 75 74 69  6e 65 73 20 2d 20 22 4e  |aw routines - "N|
00009190  6f 74 65 3a 20 66 6f 72  20 6d 61 78 69 6d 75 6d  |ote: for maximum|
000091a0  20 73 61 66 65 74 79 20  61 6e 64 20 63 6f 6e 76  | safety and conv|
000091b0  65 6e 69 65 6e 63 65 2c  20 6c 65 74 0a 20 20 20  |enience, let.   |
000091c0  51 75 69 63 6b 44 72 61  77 20 67 65 6e 65 72 61  |QuickDraw genera|
000091d0  74 65 20 61 6e 64 20 69  6e 74 65 72 70 72 65 74  |te and interpret|
000091e0  20 79 6f 75 72 20 70 69  63 74 75 72 65 73 2e 22  | your pictures."|
000091f0  20 41 70 70 6c 65 20 66  61 69 6c 20 74 6f 20 64  | Apple fail to d|
00009200  65 73 63 72 69 62 65 0a  20 20 20 74 68 65 20 50  |escribe.   the P|
00009210  61 63 6b 42 69 74 73 20  61 6c 67 6f 72 69 74 68  |ackBits algorith|
00009220  6d 20 69 6e 20 49 6e 73  69 64 65 20 4d 61 63 2e  |m in Inside Mac.|
00009230  2e 2e 29 0a 20 2d 20 50  49 43 54 20 69 73 20 74  |..). - PICT is t|
00009240  68 65 20 6c 6f 6f 73 65  20 65 71 75 69 76 61 6c  |he loose equival|
00009250  65 6e 74 20 6f 66 20 52  49 53 43 20 4f 53 20 44  |ent of RISC OS D|
00009260  72 61 77 20 66 69 6c 65  20 66 6f 72 6d 61 74 2c  |raw file format,|
00009270  20 62 75 74 20 77 69 74  68 6f 75 74 0a 20 20 20  | but without.   |
00009280  74 68 65 20 65 78 70 6c  69 63 69 74 20 73 69 7a  |the explicit siz|
00009290  69 6e 67 20 6f 66 20 6f  62 6a 65 63 74 73 20 2d  |ing of objects -|
000092a0  20 66 6f 72 20 50 49 43  54 2c 20 69 66 20 74 68  | for PICT, if th|
000092b0  65 72 65 20 69 73 20 61  6e 20 6f 62 6a 65 63 74  |ere is an object|
000092c0  20 74 68 61 74 0a 20 20  20 79 6f 75 20 64 6f 6e  | that.   you don|
000092d0  27 74 20 75 6e 64 65 72  73 74 61 6e 64 2c 20 74  |'t understand, t|
000092e0  68 65 72 65 27 73 20 6e  6f 20 77 61 79 20 6f 66  |here's no way of|
000092f0  20 73 6b 69 70 70 69 6e  67 20 69 74 20 28 77 68  | skipping it (wh|
00009300  65 72 65 61 73 20 66 6f  72 20 44 72 61 77 2c 0a  |ereas for Draw,.|
00009310  20 20 20 74 68 65 20 73  69 7a 65 20 6f 66 20 74  |   the size of t|
00009320  68 65 20 6f 62 6a 65 63  74 20 69 73 20 73 70 65  |he object is spe|
00009330  63 69 66 69 65 64 20 69  6e 20 61 6e 20 6f 62 6a  |cified in an obj|
00009340  65 63 74 20 69 6e 64 65  70 2e 20 77 61 79 29 2e  |ect indep. way).|
00009350  20 41 70 70 6c 65 0a 20  20 20 70 72 65 73 65 6e  | Apple.   presen|
00009360  74 20 61 20 6c 61 72 67  65 20 74 61 62 6c 65 20  |t a large table |
00009370  6f 66 20 74 68 65 20 73  69 7a 65 73 20 6f 66 20  |of the sizes of |
00009380  74 68 65 20 6f 62 6a 65  63 74 73 20 28 30 30 30  |the objects (000|
00009390  30 20 2d 20 46 46 46 46  29 20 77 68 69 63 68 20  |0 - FFFF) which |
000093a0  69 73 0a 20 20 20 6e 6f  74 20 69 6e 20 43 68 61  |is.   not in Cha|
000093b0  6e 67 65 46 53 49 2e 20  43 6f 6e 73 65 71 75 65  |ngeFSI. Conseque|
000093c0  6e 74 6c 79 2c 20 69 66  20 43 68 61 6e 67 65 46  |ntly, if ChangeF|
000093d0  53 49 20 66 69 6e 64 73  20 61 6e 20 6f 62 6a 65  |SI finds an obje|
000093e0  63 74 20 69 74 20 64 6f  65 73 6e 27 74 0a 20 20  |ct it doesn't.  |
000093f0  20 6b 6e 6f 77 20 61 62  6f 75 74 20 62 65 66 6f  | know about befo|
00009400  72 65 20 74 68 65 20 70  69 63 74 75 72 65 2c 20  |re the picture, |
00009410  69 74 20 73 74 6f 70 73  2e 2e 2e 0a 20 2d 20 4f  |it stops.... - O|
00009420  6e 6c 79 20 50 61 63 6b  42 69 74 73 52 65 63 74  |nly PackBitsRect|
00009430  20 28 30 30 39 38 29 20  28 38 62 70 70 29 20 61  | (0098) (8bpp) a|
00009440  6e 64 20 44 69 72 65 63  74 42 69 74 73 52 65 63  |nd DirectBitsRec|
00009450  74 20 28 30 30 39 41 29  20 28 32 34 2f 33 32 20  |t (009A) (24/32 |
00009460  62 70 70 29 20 61 72 65  0a 20 20 20 61 6c 6c 6f  |bpp) are.   allo|
00009470  77 65 64 2e 0a 20 2b 20  43 68 61 6e 67 65 46 53  |wed.. + ChangeFS|
00009480  49 20 74 72 69 65 73 20  74 6f 20 73 6b 69 70 20  |I tries to skip |
00009490  61 20 43 6c 69 70 20 28  30 30 30 31 29 20 72 65  |a Clip (0001) re|
000094a0  67 69 6f 6e 20 69 66 20  69 74 20 65 6e 63 6f 75  |gion if it encou|
000094b0  6e 74 65 72 73 20 69 74  2c 20 73 69 6e 63 65 20  |nters it, since |
000094c0  69 74 0a 20 20 20 69 73  20 68 61 72 64 20 74 6f  |it.   is hard to|
000094d0  20 67 65 74 20 74 68 65  20 4d 61 63 20 4f 53 20  | get the Mac OS |
000094e0  74 6f 20 6d 61 6b 65 20  50 49 43 54 20 66 69 6c  |to make PICT fil|
000094f0  65 73 20 77 69 74 68 6f  75 74 20 61 20 63 6c 69  |es without a cli|
00009500  70 20 6f 70 63 6f 64 65  20 69 6e 20 74 68 65 6d  |p opcode in them|
00009510  2e 0a 20 2b 20 73 69 7a  65 20 6f 66 20 70 69 78  |.. + size of pix|
00009520  65 6c 20 73 70 65 63 69  66 69 65 64 2e 0a 20 2d  |el specified.. -|
00009530  20 4f 6e 6c 79 20 33 20  70 69 63 74 75 72 65 73  | Only 3 pictures|
00009540  20 72 65 61 64 20 2d 20  73 69 6e 63 65 20 74 68  | read - since th|
00009550  65 20 66 6f 72 6d 61 74  20 69 73 20 76 65 72 79  |e format is very|
00009560  20 63 6f 6d 70 6c 69 63  61 74 65 64 20 28 65 2e  | complicated (e.|
00009570  67 2e 20 74 68 65 20 73  69 7a 65 0a 20 20 20 6f  |g. the size.   o|
00009580  66 20 74 68 69 6e 67 73  20 63 68 61 6e 67 65 20  |f things change |
00009590  69 66 20 3e 32 35 30 20  72 6f 77 73 20 69 6e 20  |if >250 rows in |
000095a0  74 68 65 20 70 69 63 74  75 72 65 21 29 20 74 68  |the picture!) th|
000095b0  69 73 20 69 73 20 6e 6f  20 67 75 61 72 65 6e 74  |is is no guarent|
000095c0  65 65 20 74 68 61 74 0a  20 20 20 61 6e 79 74 68  |ee that.   anyth|
000095d0  69 6e 67 20 65 6c 73 65  20 77 69 6c 6c 20 62 65  |ing else will be|
000095e0  20 72 69 67 68 74 2e 0a  0a 54 68 65 20 5a 53 6f  | right...The ZSo|
000095f0  66 74 20 2e 50 43 58 20  66 6f 72 6d 61 74 0a 20  |ft .PCX format. |
00009600  55 73 65 64 20 62 79 20  50 43 20 50 61 69 6e 74  |Used by PC Paint|
00009610  62 72 75 73 68 2e 20 55  73 75 61 6c 6c 79 20 61  |brush. Usually a|
00009620  20 34 20 62 69 74 20 70  65 72 20 70 69 78 65 6c  | 4 bit per pixel|
00009630  20 69 6d 61 67 65 20 28  43 47 41 2c 20 45 47 41  | image (CGA, EGA|
00009640  2c 20 56 47 41 29 20 62  75 74 0a 20 63 61 6e 20  |, VGA) but. can |
00009650  62 65 20 31 2d 38 20 62  69 74 73 20 70 65 72 20  |be 1-8 bits per |
00009660  70 69 78 65 6c 2e 0a 20  2d 20 52 65 63 6f 67 6e  |pixel.. - Recogn|
00009670  69 73 65 64 20 62 79 20  31 30 2c 5b 30 2c 32 2c  |ised by 10,[0,2,|
00009680  33 2c 34 2c 35 5d 2c 31  20 61 74 20 73 74 61 72  |3,4,5],1 at star|
00009690  74 20 6f 66 20 66 69 6c  65 2e 20 4f 72 20 62 79  |t of file. Or by|
000096a0  20 6e 61 6d 65 20 50 43  58 2e 3c 66 6f 6f 3e 2e  | name PCX.<foo>.|
000096b0  20 4f 72 0a 20 20 20 62  79 20 74 79 70 65 20 26  | Or.   by type &|
000096c0  36 39 37 2e 0a 20 2b 20  49 6e 74 65 6c 6c 69 67  |697.. + Intellig|
000096d0  65 6e 74 20 63 68 65 63  6b 20 66 6f 72 20 72 65  |ent check for re|
000096e0  73 6f 6c 75 74 69 6f 6e  20 6f 66 20 74 68 65 20  |solution of the |
000096f0  44 41 43 73 20 6f 6e 20  74 68 65 20 50 43 20 63  |DACs on the PC c|
00009700  61 72 64 2e 20 55 73 65  20 2d 69 6e 66 6f 20 74  |ard. Use -info t|
00009710  6f 0a 20 20 20 66 69 6e  64 20 6f 75 74 20 77 68  |o.   find out wh|
00009720  61 74 20 43 68 61 6e 67  65 46 53 49 20 74 68 69  |at ChangeFSI thi|
00009730  6e 6b 73 20 69 74 20 69  73 2e 0a 20 2b 20 50 69  |nks it is.. + Pi|
00009740  78 65 6c 20 73 69 7a 65  20 69 6e 66 6f 72 6d 61  |xel size informa|
00009750  74 69 6f 6e 20 72 65 61  64 2e 20 59 6f 75 20 6d  |tion read. You m|
00009760  61 79 20 6e 65 65 64 20  74 6f 20 73 74 6f 70 20  |ay need to stop |
00009770  74 68 65 20 73 63 61 6c  69 6e 67 20 77 69 74 68  |the scaling with|
00009780  0a 20 20 20 2d 6e 6f 73  69 7a 65 2c 20 73 69 6e  |.   -nosize, sin|
00009790  63 65 20 69 74 73 20 6f  66 74 65 6e 20 77 72 6f  |ce its often wro|
000097a0  6e 67 2e 0a 0a 54 68 65  20 52 49 58 20 53 6f 66  |ng...The RIX Sof|
000097b0  74 77 6f 72 6b 73 20 43  6f 6c 6f 52 49 58 20 66  |tworks ColoRIX f|
000097c0  6f 72 6d 61 74 0a 20 55  73 65 64 20 62 79 20 56  |ormat. Used by V|
000097d0  47 41 20 50 61 69 6e 74  2c 20 69 6d 61 67 65 20  |GA Paint, image |
000097e0  65 78 74 65 6e 73 69 6f  6e 20 2e 53 43 45 20 2e  |extension .SCE .|
000097f0  2e 20 2e 53 43 58 2e 20  34 20 6f 72 20 38 20 62  |. .SCX. 4 or 8 b|
00009800  69 74 73 20 70 65 72 20  70 69 78 65 6c 2e 0a 20  |its per pixel.. |
00009810  2d 20 52 65 63 6f 67 6e  69 73 65 64 20 62 79 20  |- Recognised by |
00009820  22 52 49 58 33 22 20 61  74 20 73 74 61 72 74 20  |"RIX3" at start |
00009830  6f 66 20 66 69 6c 65 0a  20 2d 20 44 6f 63 75 6d  |of file. - Docum|
00009840  65 6e 74 61 74 69 6f 6e  20 6e 65 76 65 72 20 73  |entation never s|
00009850  65 65 6e 0a 20 2d 20 4f  6e 6c 79 20 35 20 66 69  |een. - Only 5 fi|
00009860  6c 65 73 20 72 65 61 64  3a 20 43 68 61 6e 67 65  |les read: Change|
00009870  46 53 49 20 63 68 65 63  6b 73 20 74 6f 20 73 65  |FSI checks to se|
00009880  65 20 69 66 20 74 68 65  20 68 65 61 64 65 72 20  |e if the header |
00009890  69 73 20 74 68 65 20 73  61 6d 65 0a 20 20 20 61  |is the same.   a|
000098a0  73 20 74 68 65 73 65 20  66 69 6c 65 73 20 61 6e  |s these files an|
000098b0  64 20 63 6f 6d 70 6c 61  69 6e 73 20 6f 74 68 65  |d complains othe|
000098c0  72 77 69 73 65 2e 0a 20  2d 20 4e 6f 20 72 65 73  |rwise.. - No res|
000098d0  6f 6c 75 74 69 6f 6e 20  73 70 65 63 69 66 69 65  |olution specifie|
000098e0  64 2c 20 65 71 75 61 6c  20 74 6f 20 6d 6f 64 65  |d, equal to mode|
000098f0  20 32 37 20 61 73 73 75  6d 65 64 0a 0a 54 68 65  | 27 assumed..The|
00009900  20 53 75 6e 20 22 70 69  78 72 65 63 74 22 20 66  | Sun "pixrect" f|
00009910  6f 72 6d 61 74 0a 20 55  73 65 64 20 75 6e 64 65  |ormat. Used unde|
00009920  72 20 53 75 6e 4f 53 20  61 6e 64 20 61 6c 73 6f  |r SunOS and also|
00009930  20 75 6e 64 65 72 20 58  31 31 2e 20 43 6f 6d 6d  | under X11. Comm|
00009940  6f 6e 6c 79 20 31 20 6f  72 20 38 20 62 69 74 73  |only 1 or 8 bits|
00009950  20 70 65 72 20 70 69 78  65 6c 2c 20 62 75 74 20  | per pixel, but |
00009960  75 70 0a 20 74 6f 20 32  34 20 62 69 74 73 20 70  |up. to 24 bits p|
00009970  65 72 20 70 69 78 65 6c  20 63 61 6e 20 62 65 20  |er pixel can be |
00009980  66 6f 75 6e 64 20 28 73  65 65 20 74 68 65 20 53  |found (see the S|
00009990  75 6e 20 4e 65 57 53 20  72 65 6c 65 61 73 65 20  |un NeWS release |
000099a0  74 61 70 65 21 29 2e 0a  20 2b 20 52 65 63 6f 67  |tape!).. + Recog|
000099b0  6e 69 73 65 64 20 62 79  20 26 35 39 41 35 35 41  |nised by &59A55A|
000099c0  39 35 20 61 74 20 74 68  65 20 73 74 61 72 74 20  |95 at the start |
000099d0  6f 66 20 74 68 65 20 66  69 6c 65 2e 0a 20 2d 20  |of the file.. - |
000099e0  4e 6f 20 72 65 73 6f 6c  75 74 69 6f 6e 20 73 70  |No resolution sp|
000099f0  65 63 69 66 69 65 64 2c  20 65 71 75 61 6c 20 74  |ecified, equal t|
00009a00  6f 20 6d 6f 64 65 20 32  37 20 61 73 73 75 6d 65  |o mode 27 assume|
00009a10  64 0a 20 2d 20 53 75 6e  20 64 69 64 6e 27 74 20  |d. - Sun didn't |
00009a20  73 70 65 63 69 66 79 20  74 68 65 20 70 69 78 65  |specify the pixe|
00009a30  6c 20 6f 72 64 65 72 69  6e 67 20 6f 66 20 32 34  |l ordering of 24|
00009a40  20 62 69 74 20 70 65 72  20 70 69 78 65 6c 20 69  | bit per pixel i|
00009a50  6d 61 67 65 73 3a 20 6d  61 6e 79 0a 20 20 20 61  |mages: many.   a|
00009a60  73 73 75 6d 65 20 52 47  42 20 77 68 65 6e 20 69  |ssume RGB when i|
00009a70  74 20 77 61 73 20 61 63  74 75 61 6c 6c 79 20 42  |t was actually B|
00009a80  47 52 2e 20 43 68 61 6e  67 65 20 62 79 74 65 20  |GR. Change byte |
00009a90  26 31 37 20 69 6e 20 74  68 65 20 53 75 6e 0a 20  |&17 in the Sun. |
00009aa0  20 20 72 61 73 74 65 72  66 69 6c 65 20 62 65 74  |  rasterfile bet|
00009ab0  77 65 65 6e 20 31 20 61  6e 64 20 33 20 69 66 20  |ween 1 and 3 if |
00009ac0  79 6f 75 20 68 61 76 65  20 61 20 70 72 6f 62 6c  |you have a probl|
00009ad0  65 6d 2e 0a 0a 54 68 65  20 22 70 62 6d 22 20 27  |em...The "pbm" '|
00009ae0  70 6f 72 74 61 62 6c 65  20 62 69 74 6d 61 70 27  |portable bitmap'|
00009af0  20 66 69 6c 65 20 66 6f  72 6d 61 74 0a 20 55 73  | file format. Us|
00009b00  65 64 20 62 79 20 74 68  65 20 22 50 42 4d 2d 50  |ed by the "PBM-P|
00009b10  4c 55 53 22 20 74 6f 6f  6c 6b 69 74 20 28 6d 61  |LUS" toolkit (ma|
00009b20  69 6e 6c 79 20 55 6e 69  78 29 20 62 79 20 4a 65  |inly Unix) by Je|
00009b30  66 20 50 6f 73 6b 61 6e  7a 65 72 2e 20 31 2d 32  |f Poskanzer. 1-2|
00009b40  34 20 62 69 74 73 0a 20  70 65 72 20 70 69 78 65  |4 bits. per pixe|
00009b50  6c 20 28 6d 6f 72 65 20  63 61 6e 20 62 65 20 73  |l (more can be s|
00009b60  70 65 63 69 66 69 65 64  20 69 6e 20 74 68 65 20  |pecified in the |
00009b70  66 6f 72 6d 61 74 20 62  75 74 20 43 68 61 6e 67  |format but Chang|
00009b80  65 46 53 49 20 63 61 6e  6e 6f 74 20 72 65 61 64  |eFSI cannot read|
00009b90  0a 20 74 68 65 6d 29 2e  20 43 68 61 6e 67 65 46  |. them). ChangeF|
00009ba0  53 49 20 63 61 6e 20 6f  6e 6c 79 20 72 65 61 64  |SI can only read|
00009bb0  20 74 68 65 20 22 52 41  57 42 49 54 53 22 20 66  | the "RAWBITS" f|
00009bc0  6f 72 6d 61 74 73 20 28  69 74 20 63 61 6e 20 77  |ormats (it can w|
00009bd0  72 69 74 65 20 61 6c 6c  20 6f 66 0a 20 74 68 65  |rite all of. the|
00009be0  20 70 62 6d 20 66 6f 72  6d 61 74 73 29 2e 0a 20  | pbm formats).. |
00009bf0  2b 20 52 65 63 6f 67 6e  69 73 65 64 20 62 79 20  |+ Recognised by |
00009c00  50 34 2f 50 35 2f 50 36  20 61 74 20 73 74 61 72  |P4/P5/P6 at star|
00009c10  74 20 6f 66 20 66 69 6c  65 2e 0a 20 2b 20 57 72  |t of file.. + Wr|
00009c20  69 74 61 62 6c 65 20 62  79 20 43 68 61 6e 67 65  |itable by Change|
00009c30  46 53 49 0a 20 2d 20 4e  6f 20 72 65 73 6f 6c 75  |FSI. - No resolu|
00009c40  74 69 6f 6e 20 73 70 65  63 69 66 69 65 64 2c 20  |tion specified, |
00009c50  65 71 75 61 6c 20 74 6f  20 6d 6f 64 65 20 32 37  |equal to mode 27|
00009c60  20 61 73 73 75 6d 65 64  0a 0a 54 68 65 20 55 4e  | assumed..The UN|
00009c70  49 58 20 22 72 6c 65 22  20 66 6f 72 6d 61 74 0a  |IX "rle" format.|
00009c80  20 55 73 65 64 20 62 79  20 61 20 70 72 6f 67 72  | Used by a progr|
00009c90  61 6d 20 63 61 6c 6c 65  64 20 22 73 76 66 62 22  |am called "svfb"|
00009ca0  20 74 6f 20 73 61 76 65  20 74 68 65 20 63 6f 6e  | to save the con|
00009cb0  74 65 6e 74 73 20 6f 66  20 6c 61 72 67 65 20 66  |tents of large f|
00009cc0  72 61 6d 65 0a 20 62 75  66 66 65 72 73 2c 20 63  |rame. buffers, c|
00009cd0  68 65 63 6b 65 64 20 77  69 74 68 20 66 6f 75 72  |hecked with four|
00009ce0  20 69 6d 61 67 65 73 20  61 74 20 32 34 20 62 69  | images at 24 bi|
00009cf0  74 73 20 70 65 72 20 70  69 78 65 6c 2e 0a 20 2b  |ts per pixel.. +|
00009d00  20 52 65 63 6f 67 6e 69  73 65 64 20 62 79 20 26  | Recognised by &|
00009d10  43 43 35 32 20 61 74 20  74 68 65 20 73 74 61 72  |CC52 at the star|
00009d20  74 20 6f 66 20 74 68 65  20 66 69 6c 65 2e 0a 20  |t of the file.. |
00009d30  2d 20 4e 6f 20 72 65 73  6f 6c 75 74 69 6f 6e 20  |- No resolution |
00009d40  73 70 65 63 69 66 69 65  64 2c 20 65 71 75 61 6c  |specified, equal|
00009d50  20 74 6f 20 6d 6f 64 65  20 32 37 20 61 73 73 75  | to mode 27 assu|
00009d60  6d 65 64 0a 0a 54 68 65  20 54 72 75 65 56 69 73  |med..The TrueVis|
00009d70  69 6f 6e 20 54 61 72 67  61 20 66 6f 72 6d 61 74  |ion Targa format|
00009d80  0a 20 55 73 65 64 20 62  79 20 54 72 75 65 56 69  |. Used by TrueVi|
00009d90  73 69 6f 6e 20 66 6f 72  20 56 69 73 74 61 20 62  |sion for Vista b|
00009da0  6f 61 72 64 73 2e 20 55  70 20 74 6f 20 33 32 20  |oards. Up to 32 |
00009db0  62 69 74 73 20 70 65 72  20 70 69 78 65 6c 2e 0a  |bits per pixel..|
00009dc0  20 2d 20 52 65 63 6f 67  6e 69 73 65 64 20 62 79  | - Recognised by|
00009dd0  20 73 75 66 66 69 78 20  5f 54 47 41 20 6f 72 20  | suffix _TGA or |
00009de0  5f 56 44 41 20 6f 6e 20  74 68 65 20 6e 61 6d 65  |_VDA on the name|
00009df0  2e 20 4f 72 20 62 79 20  74 79 70 65 20 26 36 39  |. Or by type &69|
00009e00  64 2e 0a 20 2d 20 4f 6e  6c 79 20 75 6e 63 6f 6d  |d.. - Only uncom|
00009e10  70 72 65 73 73 65 64 20  66 6f 72 6d 61 74 73 20  |pressed formats |
00009e20  72 65 61 64 61 62 6c 65  2e 0a 20 2d 20 4f 6e 6c  |readable.. - Onl|
00009e30  79 20 38 20 61 6e 64 20  31 36 20 62 69 74 20 70  |y 8 and 16 bit p|
00009e40  65 72 20 70 69 78 65 6c  20 66 6f 72 6d 61 74 73  |er pixel formats|
00009e50  20 74 65 73 74 65 64 2e  0a 0a 54 68 65 20 22 46  | tested...The "F|
00009e60  6c 65 78 69 62 6c 65 20  49 6d 61 67 65 20 54 72  |lexible Image Tr|
00009e70  61 6e 73 70 6f 72 74 20  53 79 73 74 65 6d 22 20  |ansport System" |
00009e80  28 46 49 54 53 29 20 66  6f 72 6d 61 74 0a 20 55  |(FITS) format. U|
00009e90  73 65 64 20 66 6f 72 20  61 73 74 72 6f 6e 6f 6d  |sed for astronom|
00009ea0  69 63 61 6c 20 64 61 74  61 2e 20 55 70 20 74 6f  |ical data. Up to|
00009eb0  20 31 36 20 62 69 74 73  20 70 65 72 20 70 69 78  | 16 bits per pix|
00009ec0  65 6c 20 63 6f 6d 70 6f  6e 65 6e 74 2e 0a 20 2b  |el component.. +|
00009ed0  20 52 65 63 6f 67 6e 69  73 65 64 20 62 79 20 22  | Recognised by "|
00009ee0  53 49 4d 50 4c 45 22 20  61 74 20 74 68 65 20 73  |SIMPLE" at the s|
00009ef0  74 61 72 74 20 6f 66 20  74 68 65 20 66 69 6c 65  |tart of the file|
00009f00  2e 0a 20 2d 20 4f 6e 6c  79 20 38 20 61 6e 64 20  |.. - Only 8 and |
00009f10  31 36 20 62 69 74 20 70  65 72 20 70 69 78 65 6c  |16 bit per pixel|
00009f20  20 63 6f 6d 70 6f 6e 65  6e 74 20 66 6f 72 6d 61  | component forma|
00009f30  74 73 20 74 65 73 74 65  64 2e 0a 20 2d 20 4f 6e  |ts tested.. - On|
00009f40  6c 79 20 74 77 6f 20 66  69 6c 65 73 20 65 76 65  |ly two files eve|
00009f50  72 20 73 65 65 6e 21 0a  20 2d 20 4e 6f 20 72 65  |r seen!. - No re|
00009f60  73 6f 6c 75 74 69 6f 6e  20 73 70 65 63 69 66 69  |solution specifi|
00009f70  65 64 2c 20 65 71 75 61  6c 20 74 6f 20 6d 6f 64  |ed, equal to mod|
00009f80  65 20 32 37 20 61 73 73  75 6d 65 64 0a 0a 54 68  |e 27 assumed..Th|
00009f90  65 20 49 72 6c 61 6d 20  69 6e 73 74 72 75 6d 65  |e Irlam instrume|
00009fa0  6e 74 73 20 63 6f 6c 6f  75 72 20 73 63 61 6e 6e  |nts colour scann|
00009fb0  65 72 20 66 6f 72 6d 61  74 0a 20 32 34 20 62 69  |er format. 24 bi|
00009fc0  74 20 70 65 72 20 70 69  78 65 6c 20 66 72 6f 6d  |t per pixel from|
00009fd0  20 63 6f 6c 6f 75 72 20  73 63 61 6e 6e 65 72 2e  | colour scanner.|
00009fe0  0a 20 2b 20 52 65 63 6f  67 6e 69 73 65 64 20 62  |. + Recognised b|
00009ff0  79 20 49 72 6c 61 6d 20  32 34 20 61 74 20 74 68  |y Irlam 24 at th|
0000a000  65 20 73 74 61 72 74 20  6f 66 20 74 68 65 20 66  |e start of the f|
0000a010  69 6c 65 2e 0a 20 2b 20  57 72 69 74 61 62 6c 65  |ile.. + Writable|
0000a020  20 62 79 20 43 68 61 6e  67 65 46 53 49 0a 20 2d  | by ChangeFSI. -|
0000a030  20 4e 6f 20 72 65 73 6f  6c 75 74 69 6f 6e 20 73  | No resolution s|
0000a040  70 65 63 69 66 69 65 64  2c 20 65 71 75 61 6c 20  |pecified, equal |
0000a050  74 6f 20 6d 6f 64 65 20  32 37 20 61 73 73 75 6d  |to mode 27 assum|
0000a060  65 64 0a 20 2d 20 6d 61  79 20 6e 65 65 64 20 67  |ed. - may need g|
0000a070  61 6d 6d 61 20 63 6f 72  72 65 63 74 69 6f 6e 0a  |amma correction.|
0000a080  0a 54 68 65 20 49 72 6c  61 6d 20 69 6e 73 74 72  |.The Irlam instr|
0000a090  75 6d 65 6e 74 73 20 59  55 56 20 34 31 31 20 63  |uments YUV 411 c|
0000a0a0  6f 6c 6f 75 72 20 76 69  64 65 6f 20 66 6f 72 6d  |olour video form|
0000a0b0  61 74 0a 20 37 20 62 69  74 73 20 59 2c 20 75 70  |at. 7 bits Y, up|
0000a0c0  20 74 6f 20 37 20 62 69  74 73 20 55 20 61 6e 64  | to 7 bits U and|
0000a0d0  20 56 2e 0a 20 2b 20 52  65 63 6f 67 6e 69 73 65  | V.. + Recognise|
0000a0e0  64 20 62 79 20 49 72 6c  61 6d 20 59 55 56 20 34  |d by Irlam YUV 4|
0000a0f0  31 31 20 61 74 20 74 68  65 20 73 74 61 72 74 20  |11 at the start |
0000a100  6f 66 20 74 68 65 20 66  69 6c 65 0a 20 2d 20 6e  |of the file. - n|
0000a110  6f 20 72 65 73 6f 6c 75  74 69 6f 6e 20 73 70 65  |o resolution spe|
0000a120  63 69 66 69 65 64 2c 20  65 71 75 61 6c 20 74 6f  |cified, equal to|
0000a130  20 6d 6f 64 65 20 32 37  20 61 73 73 75 6d 65 64  | mode 27 assumed|
0000a140  0a 0a 54 68 65 20 4a 50  45 47 20 27 4a 46 49 46  |..The JPEG 'JFIF|
0000a150  27 20 46 69 6c 65 20 49  6e 74 65 72 63 68 61 6e  |' File Interchan|
0000a160  67 65 20 46 6f 72 6d 61  74 0a 20 55 70 20 74 6f  |ge Format. Up to|
0000a170  20 32 34 20 62 69 74 73  20 52 2c 47 2c 42 2c 20  | 24 bits R,G,B, |
0000a180  63 6f 6d 70 72 65 73 73  65 64 20 62 79 20 74 68  |compressed by th|
0000a190  65 20 4a 50 45 47 20 63  6f 6d 70 72 65 73 73 69  |e JPEG compressi|
0000a1a0  6f 6e 20 73 79 73 74 65  6d 2e 0a 20 2b 20 52 65  |on system.. + Re|
0000a1b0  63 6f 67 6e 69 73 65 64  20 62 79 20 4a 46 49 46  |cognised by JFIF|
0000a1c0  20 61 74 20 70 6f 73 69  74 69 6f 6e 20 36 20 69  | at position 6 i|
0000a1d0  6e 20 74 68 65 20 66 69  6c 65 20 28 79 6f 75 20  |n the file (you |
0000a1e0  6d 61 79 20 68 61 76 65  20 74 6f 0a 20 20 20 63  |may have to.   c|
0000a1f0  75 74 20 68 65 61 64 65  72 73 20 6f 66 66 20 66  |ut headers off f|
0000a200  69 6c 65 73 2c 20 70 61  72 74 69 63 75 6c 61 72  |iles, particular|
0000a210  6c 79 20 69 66 20 74 68  65 79 20 61 72 65 20 66  |ly if they are f|
0000a220  72 6f 6d 20 4d 61 63 73  29 2e 0a 20 2b 20 4f 66  |rom Macs).. + Of|
0000a230  74 65 6e 20 68 69 67 68  6c 79 20 63 6f 6d 70 72  |ten highly compr|
0000a240  65 73 73 65 64 0a 20 2b  20 49 66 20 43 68 61 6e  |essed. + If Chan|
0000a250  67 65 46 53 49 24 43 61  63 68 65 20 69 73 20 6c  |geFSI$Cache is l|
0000a260  61 72 67 65 20 65 6e 6f  75 67 68 20 28 62 69 67  |arge enough (big|
0000a270  67 65 72 20 74 68 61 6e  20 74 68 65 20 66 69 6c  |ger than the fil|
0000a280  65 29 2c 20 74 68 65 6e  20 68 69 67 68 0a 20 20  |e), then high.  |
0000a290  20 73 70 65 65 64 20 72  6f 75 74 69 6e 65 73 20  | speed routines |
0000a2a0  61 72 65 20 75 73 65 64  20 74 6f 20 64 65 63 6f  |are used to deco|
0000a2b0  6d 70 72 65 73 73 2e 20  4f 74 68 65 72 77 69 73  |mpress. Otherwis|
0000a2c0  65 3a 0a 20 2d 20 43 68  61 6e 67 65 46 53 49 20  |e:. - ChangeFSI |
0000a2d0  63 61 6c 6c 73 20 61 20  64 6a 70 65 67 20 72 6f  |calls a djpeg ro|
0000a2e0  75 74 69 6e 65 2e 20 54  68 69 73 20 63 61 6e 20  |utine. This can |
0000a2f0  62 65 20 6f 6e 20 74 68  65 20 52 75 6e 24 50 61  |be on the Run$Pa|
0000a300  74 68 2c 20 69 6d 70 6c  65 6d 65 6e 74 65 64 0a  |th, implemented.|
0000a310  20 20 20 61 73 20 61 6e  20 41 6c 69 61 73 20 28  |   as an Alias (|
0000a320  69 6e 20 77 68 69 63 68  20 63 61 73 65 20 69 74  |in which case it|
0000a330  20 2a 6d 75 73 74 2a 20  75 73 65 20 57 69 6d 70  | *must* use Wimp|
0000a340  54 61 73 6b 20 74 6f 20  73 74 61 72 74 29 20 6f  |Task to start) o|
0000a350  72 20 66 6f 75 6e 64 0a  20 20 20 69 6e 73 69 64  |r found.   insid|
0000a360  65 20 43 68 61 6e 67 65  46 53 49 24 44 69 72 20  |e ChangeFSI$Dir |
0000a370  69 66 20 61 6c 6c 20 65  6c 73 65 20 66 61 69 6c  |if all else fail|
0000a380  73 2e 20 63 6a 70 65 67  20 28 74 68 65 20 63 6f  |s. cjpeg (the co|
0000a390  6d 70 72 65 73 73 6f 72  29 20 69 73 20 61 6c 73  |mpressor) is als|
0000a3a0  6f 0a 20 20 20 61 76 61  69 6c 61 62 6c 65 20 69  |o.   available i|
0000a3b0  6e 73 69 64 65 20 43 68  61 6e 67 65 46 53 49 24  |nside ChangeFSI$|
0000a3c0  44 69 72 20 2d 20 79 6f  75 20 77 69 6c 6c 20 6e  |Dir - you will n|
0000a3d0  65 65 64 20 74 6f 20 63  6f 6e 76 65 72 74 20 74  |eed to convert t|
0000a3e0  68 65 20 69 6d 61 67 65  20 74 6f 0a 20 20 20 50  |he image to.   P|
0000a3f0  36 20 66 6f 72 6d 61 74  20 62 65 66 6f 72 65 20  |6 format before |
0000a400  69 74 20 63 61 6e 20 62  65 20 63 6f 6d 70 72 65  |it can be compre|
0000a410  73 73 65 64 2e 20 44 6a  70 65 67 20 61 6e 64 20  |ssed. Djpeg and |
0000a420  63 6a 70 65 67 20 61 72  65 20 62 79 20 74 68 65  |cjpeg are by the|
0000a430  0a 20 20 20 50 44 20 4a  50 45 47 20 67 72 6f 75  |.   PD JPEG grou|
0000a440  70 2e 0a 20 2d 20 2e 2e  2e 20 61 6e 64 20 74 68  |p.. - ... and th|
0000a450  65 72 65 66 6f 72 65 20  73 6c 6f 77 2e 20 4e 65  |erefore slow. Ne|
0000a460  65 64 73 20 61 20 6c 6f  74 20 6f 66 20 73 70 61  |eds a lot of spa|
0000a470  63 65 20 69 6e 20 3c 57  69 6d 70 24 53 63 72 61  |ce in <Wimp$Scra|
0000a480  70 3e 2e 0a 20 2d 20 6e  6f 20 72 65 73 6f 6c 75  |p>.. - no resolu|
0000a490  74 69 6f 6e 20 73 70 65  63 69 66 69 65 64 2c 20  |tion specified, |
0000a4a0  65 71 75 61 6c 20 74 6f  20 6d 6f 64 65 20 32 37  |equal to mode 27|
0000a4b0  20 61 73 73 75 6d 65 64  0a 0a 54 68 65 20 52 6f  | assumed..The Ro|
0000a4c0  6e 61 6c 64 20 41 6c 70  69 61 72 20 33 36 20 61  |nald Alpiar 36 a|
0000a4d0  6e 64 20 34 38 20 62 69  74 20 70 65 72 20 70 69  |nd 48 bit per pi|
0000a4e0  78 65 6c 20 66 6f 72 6d  61 74 73 0a 20 31 32 20  |xel formats. 12 |
0000a4f0  61 6e 64 20 31 36 20 62  69 74 73 20 66 6f 72 20  |and 16 bits for |
0000a500  65 61 63 68 20 6f 66 20  52 2c 47 2c 42 2c 20 75  |each of R,G,B, u|
0000a510  6e 63 6f 6d 70 72 65 73  73 65 64 0a 20 2b 20 52  |ncompressed. + R|
0000a520  65 63 6f 67 6e 69 73 65  64 20 62 79 20 41 4c 50  |ecognised by ALP|
0000a530  49 41 52 31 32 20 6f 72  20 41 4c 50 49 41 52 31  |IAR12 or ALPIAR1|
0000a540  36 20 61 74 20 73 74 61  72 74 20 6f 66 20 66 69  |6 at start of fi|
0000a550  6c 65 0a 20 2b 20 66 6f  6c 6c 6f 77 65 64 20 62  |le. + followed b|
0000a560  79 20 6c 69 74 74 6c 65  20 65 6e 64 69 61 6e 20  |y little endian |
0000a570  77 6f 72 64 20 6f 66 20  58 20 73 69 7a 65 20 61  |word of X size a|
0000a580  6e 64 20 77 6f 72 64 20  6f 66 20 59 20 73 69 7a  |nd word of Y siz|
0000a590  65 0a 20 2b 20 66 6f 6c  6c 6f 77 65 64 20 62 79  |e. + followed by|
0000a5a0  20 72 2c 67 2c 62 20 61  73 20 6c 69 74 74 6c 65  | r,g,b as little|
0000a5b0  20 65 6e 64 69 61 6e 20  68 61 6c 66 20 77 6f 72  | endian half wor|
0000a5c0  64 73 0a 20 2d 20 6e 6f  20 72 65 73 6f 6c 75 74  |ds. - no resolut|
0000a5d0  69 6f 6e 20 73 70 65 63  69 66 69 65 64 2c 20 65  |ion specified, e|
0000a5e0  71 75 61 6c 20 74 6f 20  6d 6f 64 65 20 32 37 20  |qual to mode 27 |
0000a5f0  61 73 73 75 6d 65 64 0a  0a 54 68 65 20 62 74 70  |assumed..The btp|
0000a600  63 20 66 69 6c 65 20 66  6f 72 6d 61 74 0a 20 55  |c file format. U|
0000a610  70 20 74 6f 20 32 34 20  62 69 74 73 20 52 2c 47  |p to 24 bits R,G|
0000a620  2c 42 2c 20 63 6f 6d 70  72 65 73 73 65 64 20 62  |,B, compressed b|
0000a630  79 20 74 68 65 20 62 74  70 63 20 63 6f 6d 70 72  |y the btpc compr|
0000a640  65 73 73 69 6f 6e 20 73  79 73 74 65 6d 0a 20 2b  |ession system. +|
0000a650  20 52 65 63 6f 67 6e 69  73 65 64 20 62 79 20 62  | Recognised by b|
0000a660  74 70 63 20 61 74 20 73  74 61 72 74 20 6f 66 20  |tpc at start of |
0000a670  74 68 65 20 66 69 6c 65  0a 20 2b 20 48 69 67 68  |the file. + High|
0000a680  6c 79 20 63 6f 6d 70 72  65 73 73 65 64 20 28 73  |ly compressed (s|
0000a690  6f 6d 65 74 69 6d 65 73  20 6d 6f 72 65 20 74 68  |ometimes more th|
0000a6a0  61 6e 20 4a 50 45 47 29  0a 20 2d 20 43 68 61 6e  |an JPEG). - Chan|
0000a6b0  67 65 46 53 49 20 63 61  6c 6c 73 20 61 20 28 73  |geFSI calls a (s|
0000a6c0  6c 6f 77 29 20 64 62 74  70 63 20 72 6f 75 74 69  |low) dbtpc routi|
0000a6d0  6e 65 0a 20 2d 20 6e 6f  20 72 65 73 6f 6c 75 74  |ne. - no resolut|
0000a6e0  69 6f 6e 20 73 70 65 63  69 66 69 65 64 2c 20 65  |ion specified, e|
0000a6f0  71 75 61 6c 20 74 6f 20  6d 6f 64 65 20 32 37 20  |qual to mode 27 |
0000a700  61 73 73 75 6d 65 64 0a  0a 3e 3e 20 54 68 65 20  |assumed..>> The |
0000a710  66 6f 6c 6c 6f 77 69 6e  67 20 66 69 6c 65 20 66  |following file f|
0000a720  6f 72 6d 61 74 73 20 61  72 65 20 6f 6e 6c 79 20  |ormats are only |
0000a730  72 65 63 6f 67 6e 69 73  65 64 20 62 79 20 74 68  |recognised by th|
0000a740  65 69 72 20 6e 61 6d 65  73 2e 0a 0a 41 6e 20 75  |eir names...An u|
0000a750  6e 6b 6e 6f 77 6e 20 50  43 20 2e 44 53 50 20 66  |nknown PC .DSP f|
0000a760  6f 72 6d 61 74 0a 20 45  78 70 65 72 69 6d 65 6e  |ormat. Experimen|
0000a770  74 61 6c 6c 79 20 64 65  74 65 72 6d 69 6e 65 64  |tally determined|
0000a780  20 74 68 61 74 20 69 74  20 68 6f 6c 64 73 20 61  | that it holds a|
0000a790  20 36 34 30 20 62 79 20  33 35 30 20 45 47 41 20  | 640 by 350 EGA |
0000a7a0  70 69 63 74 75 72 65 20  61 74 20 34 20 62 69 74  |picture at 4 bit|
0000a7b0  73 0a 20 70 65 72 20 70  69 78 65 6c 2e 20 43 68  |s. per pixel. Ch|
0000a7c0  61 6e 67 65 46 53 49 20  22 6b 6e 6f 77 73 22 20  |angeFSI "knows" |
0000a7d0  74 68 65 20 64 65 66 61  75 6c 74 20 45 47 41 20  |the default EGA |
0000a7e0  70 61 6c 65 74 74 65 20  28 66 72 6f 6d 20 49 42  |palette (from IB|
0000a7f0  4d 20 6c 69 74 65 72 61  74 75 72 65 29 2e 0a 20  |M literature).. |
0000a800  2d 20 52 65 63 6f 67 6e  69 73 65 64 20 62 79 20  |- Recognised by |
0000a810  62 65 69 6e 67 20 69 6e  20 61 20 64 69 72 65 63  |being in a direc|
0000a820  74 6f 72 79 20 22 44 53  50 22 0a 20 2d 20 44 6f  |tory "DSP". - Do|
0000a830  63 75 6d 65 6e 74 61 74  69 6f 6e 20 6e 65 76 65  |cumentation neve|
0000a840  72 20 73 65 65 6e 0a 20  2d 20 4e 6f 20 72 65 73  |r seen. - No res|
0000a850  6f 6c 75 74 69 6f 6e 20  73 70 65 63 69 66 69 65  |olution specifie|
0000a860  64 2c 20 65 71 75 61 6c  20 74 6f 20 6d 6f 64 65  |d, equal to mode|
0000a870  20 32 37 20 61 73 73 75  6d 65 64 0a 20 2d 20 4f  | 27 assumed. - O|
0000a880  6e 6c 79 20 74 77 6f 20  65 78 61 6d 70 6c 65 73  |nly two examples|
0000a890  20 72 65 61 64 28 21 29  0a 0a 54 68 65 20 51 52  | read(!)..The QR|
0000a8a0  54 20 2e 72 61 77 20 66  6f 72 6d 61 74 0a 20 4f  |T .raw format. O|
0000a8b0  75 74 70 75 74 20 66 72  6f 6d 20 53 74 65 76 65  |utput from Steve|
0000a8c0  20 4b 6f 72 65 6e 27 73  20 70 75 62 6c 69 63 20  | Koren's public |
0000a8d0  64 6f 6d 61 69 6e 20 72  61 79 20 74 72 61 63 65  |domain ray trace|
0000a8e0  72 3a 20 61 72 62 69 74  72 61 72 79 20 73 69 7a  |r: arbitrary siz|
0000a8f0  65 20 69 6e 20 32 5e 32  34 0a 20 63 6f 6c 6f 75  |e in 2^24. colou|
0000a900  72 73 2c 20 75 6e 63 6f  6d 70 72 65 73 73 65 64  |rs, uncompressed|
0000a910  2e 20 44 6f 63 75 6d 65  6e 74 61 74 69 6f 6e 20  |. Documentation |
0000a920  70 61 72 74 20 6f 66 20  51 52 54 2e 0a 20 2d 20  |part of QRT.. - |
0000a930  52 65 63 6f 67 6e 69 73  65 64 20 62 79 20 74 68  |Recognised by th|
0000a940  65 20 6e 61 6d 65 20 65  6e 64 69 6e 67 20 22 2e  |e name ending ".|
0000a950  52 61 77 22 2e 20 4f 72  20 62 79 20 74 79 70 65  |Raw". Or by type|
0000a960  20 26 36 39 38 2e 0a 20  2d 20 4e 6f 20 72 65 73  | &698.. - No res|
0000a970  6f 6c 75 74 69 6f 6e 20  73 70 65 63 69 66 69 65  |olution specifie|
0000a980  64 2c 20 65 71 75 61 6c  20 74 6f 20 6d 6f 64 65  |d, equal to mode|
0000a990  20 32 37 20 61 73 73 75  6d 65 64 0a 0a 54 68 65  | 27 assumed..The|
0000a9a0  20 4d 54 56 20 70 69 63  2e 20 66 6f 72 6d 61 74  | MTV pic. format|
0000a9b0  0a 20 4f 75 74 70 75 74  20 66 72 6f 6d 20 4d 61  |. Output from Ma|
0000a9c0  72 6b 20 54 65 72 72 65  6e 63 65 20 56 61 6e 64  |rk Terrence Vand|
0000a9d0  65 57 65 74 74 65 72 69  6e 67 20 70 75 62 6c 69  |eWettering publi|
0000a9e0  63 20 64 6f 6d 61 69 6e  20 72 61 79 20 74 72 61  |c domain ray tra|
0000a9f0  63 65 72 20 61 72 62 69  74 72 61 72 79 0a 20 73  |cer arbitrary. s|
0000aa00  69 7a 65 20 69 6e 20 32  5e 32 34 20 63 6f 6c 6f  |ize in 2^24 colo|
0000aa10  75 72 73 2c 20 75 6e 63  6f 6d 70 72 65 73 73 65  |urs, uncompresse|
0000aa20  64 2e 20 44 6f 63 75 6d  65 6e 74 61 74 69 6f 6e  |d. Documentation|
0000aa30  20 70 61 72 74 20 6f 66  20 4d 54 56 2e 20 41 6c  | part of MTV. Al|
0000aa40  73 6f 20 75 73 65 64 20  62 79 0a 20 22 52 61 79  |so used by. "Ray|
0000aa50  53 68 61 64 65 22 2e 0a  20 2d 20 52 65 63 6f 67  |Shade".. - Recog|
0000aa60  6e 69 73 65 64 20 62 79  20 62 65 69 6e 67 20 69  |nised by being i|
0000aa70  6e 20 61 20 64 69 72 65  63 74 6f 72 79 20 22 50  |n a directory "P|
0000aa80  69 63 2e 22 2e 20 4f 72  20 62 79 20 74 79 70 65  |ic.". Or by type|
0000aa90  20 26 36 39 39 2e 0a 20  2d 20 4e 6f 20 72 65 73  | &699.. - No res|
0000aaa0  6f 6c 75 74 69 6f 6e 20  73 70 65 63 69 66 69 65  |olution specifie|
0000aab0  64 2c 20 65 71 75 61 6c  20 74 6f 20 6d 6f 64 65  |d, equal to mode|
0000aac0  20 32 37 20 61 73 73 75  6d 65 64 0a 0a 54 68 65  | 27 assumed..The|
0000aad0  20 52 54 20 69 6d 61 67  65 2e 20 66 6f 72 6d 61  | RT image. forma|
0000aae0  74 0a 20 4f 75 74 70 75  74 20 66 72 6f 6d 20 22  |t. Output from "|
0000aaf0  52 54 22 2c 20 61 20 70  72 69 76 61 74 65 20 72  |RT", a private r|
0000ab00  61 79 20 74 72 61 63 65  72 20 62 79 20 42 72 69  |ay tracer by Bri|
0000ab10  61 6e 20 44 20 57 61 74  74 28 3f 29 20 61 72 62  |an D Watt(?) arb|
0000ab20  69 74 72 61 72 79 20 73  69 7a 65 20 69 6e 0a 20  |itrary size in. |
0000ab30  32 5e 32 34 20 63 6f 6c  6f 75 72 73 2c 20 72 75  |2^24 colours, ru|
0000ab40  6e 20 6c 65 6e 67 74 68  20 65 6e 63 6f 64 65 64  |n length encoded|
0000ab50  2e 0a 20 2d 20 52 65 63  6f 67 6e 69 73 65 64 20  |.. - Recognised |
0000ab60  62 79 20 62 65 69 6e 67  20 69 6e 20 61 20 64 69  |by being in a di|
0000ab70  72 65 63 74 6f 72 79 20  22 49 6d 61 67 65 2e 22  |rectory "Image."|
0000ab80  0a 20 2d 20 4e 6f 20 72  65 73 6f 6c 75 74 69 6f  |. - No resolutio|
0000ab90  6e 20 73 70 65 63 69 66  69 65 64 2c 20 65 71 75  |n specified, equ|
0000aba0  61 6c 20 74 6f 20 6d 6f  64 65 20 32 37 20 61 73  |al to mode 27 as|
0000abb0  73 75 6d 65 64 0a 0a 46  6f 72 20 6d 61 6e 79 20  |sumed..For many |
0000abc0  6f 66 20 74 68 65 73 65  20 66 6f 72 6d 61 74 73  |of these formats|
0000abd0  2c 20 65 73 70 65 63 69  61 6c 6c 79 20 74 68 65  |, especially the|
0000abe0  20 75 6e 63 6f 6d 70 72  65 73 73 65 64 20 6f 6e  | uncompressed on|
0000abf0  65 73 2c 20 73 65 74 74  69 6e 67 20 74 68 65 0a  |es, setting the.|
0000ac00  76 61 72 69 61 62 6c 65  20 22 43 68 61 6e 67 65  |variable "Change|
0000ac10  46 53 49 24 43 61 63 68  65 22 20 74 6f 20 74 68  |FSI$Cache" to th|
0000ac20  65 20 6e 75 6d 62 65 72  20 6f 66 20 62 79 74 65  |e number of byte|
0000ac30  73 20 6f 66 20 74 65 6d  70 6f 72 61 72 79 20 6d  |s of temporary m|
0000ac40  65 6d 6f 72 79 20 79 6f  75 0a 77 69 73 68 20 74  |emory you.wish t|
0000ac50  68 65 20 70 72 6f 67 72  61 6d 20 74 6f 20 75 73  |he program to us|
0000ac60  65 20 77 69 6c 6c 20 73  70 65 65 64 20 75 70 20  |e will speed up |
0000ac70  72 65 61 64 69 6e 67 20  74 68 65 20 69 6e 66 6f  |reading the info|
0000ac80  72 6d 61 74 69 6f 6e 2e  20 54 68 65 20 64 65 66  |rmation. The def|
0000ac90  61 75 6c 74 0a 69 73 20  34 39 31 35 32 20 62 79  |ault.is 49152 by|
0000aca0  74 65 73 2e 20 46 6f 72  20 65 78 61 6d 70 6c 65  |tes. For example|
0000acb0  20 22 2a 73 65 74 20 43  68 61 6e 67 65 46 53 49  | "*set ChangeFSI|
0000acc0  24 43 61 63 68 65 20 38  30 6b 22 2e 20 46 6f 72  |$Cache 80k". For|
0000acd0  20 74 68 6f 73 65 20 77  6f 72 72 69 65 64 0a 61  | those worried.a|
0000ace0  62 6f 75 74 20 73 70 65  65 64 2c 20 74 68 65 20  |bout speed, the |
0000acf0  70 72 6f 67 72 61 6d 20  77 69 6c 6c 20 67 6f 20  |program will go |
0000ad00  66 61 73 74 65 72 20 69  66 3a 0a 0a 20 2d 20 79  |faster if:.. - y|
0000ad10  6f 75 20 75 73 65 20 2d  6e 6f 73 63 61 6c 65 20  |ou use -noscale |
0000ad20  61 6e 64 20 6b 65 65 70  20 31 3a 31 20 72 61 74  |and keep 1:1 rat|
0000ad30  69 6f 73 20 28 64 6f 6e  27 74 20 73 70 65 63 69  |ios (don't speci|
0000ad40  66 79 20 74 68 65 6d 29  0a 20 20 20 28 61 6c 74  |fy them).   (alt|
0000ad50  68 6f 75 67 68 20 2d 6e  6f 73 69 7a 65 20 61 6e  |hough -nosize an|
0000ad60  64 20 31 3a 31 20 6f 72  20 31 3a 32 20 72 61 74  |d 1:1 or 1:2 rat|
0000ad70  69 6f 73 20 61 72 65 20  71 75 69 63 6b 2c 20 74  |ios are quick, t|
0000ad80  6f 6f 29 0a 20 2d 20 79  6f 75 20 64 6f 6e 27 74  |oo). - you don't|
0000ad90  20 6e 65 65 64 20 73 68  61 72 70 65 6e 69 6e 67  | need sharpening|
0000ada0  2f 73 6d 6f 6f 74 68 69  6e 67 2c 20 68 69 73 74  |/smoothing, hist|
0000adb0  6f 67 72 61 6d 20 65 71  75 61 6c 69 73 61 74 69  |ogram equalisati|
0000adc0  6f 6e 2c 20 72 61 6e 67  65 20 65 78 70 61 6e 73  |on, range expans|
0000add0  69 6f 6e 0a 20 2d 20 79  6f 75 20 75 73 65 20 6d  |ion. - you use m|
0000ade0  6f 6e 6f 63 68 72 6f 6d  65 20 28 65 2e 67 2e 20  |onochrome (e.g. |
0000adf0  32 35 2c 20 32 36 2c 20  32 37 20 61 6e 64 20 32  |25, 26, 27 and 2|
0000ae00  37 74 29 20 6d 6f 64 65  73 0a 0a 61 64 64 69 74  |7t) modes..addit|
0000ae10  69 6f 6e 61 6c 6c 79 20  79 6f 75 20 63 61 6e 20  |ionally you can |
0000ae20  64 69 73 61 62 6c 65 20  64 69 74 68 65 72 69 6e  |disable ditherin|
0000ae30  67 20 28 2d 6e 6f 64 69  74 68 65 72 29 20 65 73  |g (-nodither) es|
0000ae40  70 65 63 69 61 6c 6c 79  20 77 68 65 6e 20 72 65  |pecially when re|
0000ae50  61 64 69 6e 67 0a 6d 6f  6e 6f 63 68 72 6f 6d 65  |ading.monochrome|
0000ae60  20 73 6f 75 72 63 65 2e  0a 0a 59 6f 75 20 63 61  | source...You ca|
0000ae70  6e 20 61 76 6f 69 64 20  74 68 65 20 70 72 6f 67  |n avoid the prog|
0000ae80  72 61 6d 20 63 68 61 6e  67 69 6e 67 20 6d 6f 64  |ram changing mod|
0000ae90  65 20 62 79 20 70 75 74  74 69 6e 67 20 2d 6e 6f  |e by putting -no|
0000aea0  6d 6f 64 65 20 6f 6e 20  74 68 65 20 63 6f 6d 6d  |mode on the comm|
0000aeb0  61 6e 64 20 6c 69 6e 65  2e 0a 0a 56 65 72 79 20  |and line...Very |
0000aec0  6c 61 72 67 65 20 6f 75  74 70 75 74 20 66 69 6c  |large output fil|
0000aed0  65 73 20 63 61 6e 20 62  65 20 62 75 69 6c 74 20  |es can be built |
0000aee0  73 74 72 69 70 73 20 61  74 20 61 20 74 69 6d 65  |strips at a time|
0000aef0  20 61 6e 64 20 73 65 6e  74 20 64 69 72 65 63 74  | and sent direct|
0000af00  6c 79 20 74 6f 20 64 69  73 6b 0a 75 73 69 6e 67  |ly to disk.using|
0000af10  20 74 68 65 20 70 61 72  61 6d 65 74 65 72 20 22  | the parameter "|
0000af20  2d 6d 61 78 22 20 65 2e  67 3a 0a 0a 20 20 43 68  |-max" e.g:..  Ch|
0000af30  61 6e 67 65 46 53 49 20  3c 69 6e 3e 20 3c 6f 75  |angeFSI <in> <ou|
0000af40  74 3e 20 32 38 20 2d 6d  61 78 35 31 32 4b 0a 0a  |t> 28 -max512K..|
0000af50  77 69 6c 6c 20 63 6f 6e  76 65 72 74 20 74 68 65  |will convert the|
0000af60  20 66 69 6c 65 20 77 69  74 68 20 61 20 6d 61 78  | file with a max|
0000af70  69 6d 75 6d 20 6f 66 20  35 31 32 4b 42 79 74 65  |imum of 512KByte|
0000af80  73 20 68 65 6c 64 20 69  6e 20 6d 65 6d 6f 72 79  |s held in memory|
0000af90  2e 20 4f 70 74 69 6f 6e  73 20 32 35 74 2c 0a 2d  |. Options 25t,.-|
0000afa0  72 6f 74 61 74 65 20 61  6e 64 20 2d 76 66 6c 69  |rotate and -vfli|
0000afb0  70 20 64 6f 6e 27 74 20  77 6f 72 6b 20 77 68 65  |p don't work whe|
0000afc0  6e 20 74 68 69 73 20 69  73 20 62 65 69 6e 67 20  |n this is being |
0000afd0  64 6f 6e 65 2e 0a 0a 57  6f 72 6b 20 77 69 6c 6c  |done...Work will|
0000afe0  20 62 65 20 64 6f 6e 65  20 6f 6e 20 6f 74 68 65  | be done on othe|
0000aff0  72 20 66 6f 72 6d 61 74  73 20 77 68 65 6e 20 61  |r formats when a|
0000b000  6e 64 20 69 66 20 62 6f  74 68 20 69 6d 61 67 65  |nd if both image|
0000b010  20 61 6e 64 20 64 6f 63  75 6d 65 6e 74 61 74 69  | and documentati|
0000b020  6f 6e 0a 61 72 72 69 76  65 20 61 74 20 41 63 6f  |on.arrive at Aco|
0000b030  72 6e 2e 20 41 64 64 69  6e 67 20 61 20 6e 65 77  |rn. Adding a new|
0000b040  20 66 6f 72 6d 61 74 20  69 73 20 61 20 6d 61 74  | format is a mat|
0000b050  74 65 72 20 6f 66 20 28  61 29 20 70 75 74 74 69  |ter of (a) putti|
0000b060  6e 67 20 69 6e 20 61 75  74 6f 6d 61 74 69 63 0a  |ng in automatic.|
0000b070  72 65 63 6f 67 6e 69 74  69 6f 6e 20 6f 66 20 74  |recognition of t|
0000b080  68 65 20 66 6f 72 6d 61  74 20 61 74 20 74 68 65  |he format at the|
0000b090  20 73 74 61 72 74 20 6f  66 20 74 68 65 20 70 72  | start of the pr|
0000b0a0  6f 67 72 61 6d 20 28 62  29 20 72 65 61 64 69 6e  |ogram (b) readin|
0000b0b0  67 20 74 68 65 20 73 69  7a 65 20 6f 66 0a 74 68  |g the size of.th|
0000b0c0  65 20 69 6d 61 67 65 20  61 6e 64 20 74 68 65 20  |e image and the |
0000b0d0  63 6f 6c 6f 75 72 20 70  61 6c 65 74 74 65 20 6d  |colour palette m|
0000b0e0  61 70 70 69 6e 67 20 5b  69 6e 20 74 68 65 20 6e  |apping [in the n|
0000b0f0  65 78 74 20 73 65 63 74  69 6f 6e 20 6f 66 20 74  |ext section of t|
0000b100  68 65 20 70 72 6f 67 72  61 6d 5d 0a 28 63 29 20  |he program].(c) |
0000b110  77 72 69 74 69 6e 67 20  61 20 22 72 65 61 64 20  |writing a "read |
0000b120  70 69 78 65 6c 20 72 6f  77 22 20 65 6c 65 6d 65  |pixel row" eleme|
0000b130  6e 74 20 69 6e 73 69 64  65 20 50 52 4f 43 69 70  |nt inside PROCip|
0000b140  72 6f 77 20 28 64 29 20  70 72 6f 76 69 64 69 6e  |row (d) providin|
0000b150  67 20 61 6e 20 65 6e 74  72 79 0a 69 6e 20 50 52  |g an entry.in PR|
0000b160  4f 43 72 65 77 69 6e 64  2e 20 49 66 20 79 6f 75  |OCrewind. If you|
0000b170  20 77 72 69 74 65 20 61  20 6e 65 77 20 66 6f 72  | write a new for|
0000b180  6d 61 74 20 69 6e 74 65  72 66 61 63 65 2c 20 70  |mat interface, p|
0000b190  6c 65 61 73 65 20 73 65  6e 64 20 69 74 20 74 6f  |lease send it to|
0000b1a0  20 6d 65 20 73 6f 0a 74  68 61 74 20 69 74 20 77  | me so.that it w|
0000b1b0  69 6c 6c 20 62 65 20 69  6e 63 6c 75 64 65 64 20  |ill be included |
0000b1c0  69 6e 20 6c 61 74 65 72  20 76 65 72 73 69 6f 6e  |in later version|
0000b1d0  73 2e 20 43 68 61 6e 67  65 46 53 49 20 68 61 73  |s. ChangeFSI has|
0000b1e0  20 61 6c 72 65 61 64 79  20 67 6f 74 20 63 6f 64  | already got cod|
0000b1f0  65 20 66 6f 72 0a 64 65  61 6c 69 6e 67 20 77 69  |e for.dealing wi|
0000b200  74 68 20 69 6d 61 67 65  73 20 77 69 74 68 20 31  |th images with 1|
0000b210  2c 20 32 2c 20 34 20 61  6e 64 20 38 20 62 69 74  |, 2, 4 and 8 bit|
0000b220  73 20 70 65 72 20 70 69  78 65 6c 20 70 61 63 6b  |s per pixel pack|
0000b230  65 64 20 69 6e 74 6f 20  62 79 74 65 73 20 61 6e  |ed into bytes an|
0000b240  64 20 66 6f 72 0a 69 6d  61 67 65 73 20 77 69 74  |d for.images wit|
0000b250  68 20 75 70 20 74 6f 20  38 20 62 69 74 20 70 6c  |h up to 8 bit pl|
0000b260  61 6e 65 73 2e 20 54 68  65 72 65 20 69 73 20 73  |anes. There is s|
0000b270  75 70 70 6f 72 74 20 63  6f 64 65 20 66 6f 72 20  |upport code for |
0000b280  4c 5a 57 20 64 65 63 6f  6d 70 72 65 73 73 69 6f  |LZW decompressio|
0000b290  6e 20 61 6e 64 0a 4c 5a  57 20 64 65 63 6f 64 69  |n and.LZW decodi|
0000b2a0  6e 67 2e 0a 0a 41 73 20  61 20 73 70 65 63 69 61  |ng...As a specia|
0000b2b0  6c 20 66 65 61 74 75 72  65 2c 20 43 68 61 6e 67  |l feature, Chang|
0000b2c0  65 46 53 49 20 77 69 6c  6c 20 61 6c 73 6f 20 77  |eFSI will also w|
0000b2d0  72 69 74 65 20 6f 75 74  20 32 35 36 20 67 72 65  |rite out 256 gre|
0000b2e0  79 20 6c 65 76 65 6c 20  66 69 6c 65 73 20 28 61  |y level files (a|
0000b2f0  6c 74 65 72 0a 72 77 74  2c 20 67 77 74 20 61 6e  |lter.rwt, gwt an|
0000b300  64 20 62 77 74 20 74 6f  20 67 65 74 20 32 35 36  |d bwt to get 256|
0000b310  20 6c 65 76 65 6c 20 63  6f 6c 6f 75 72 20 73 65  | level colour se|
0000b320  70 61 72 61 74 69 6f 6e  73 29 20 69 6e 20 41 49  |parations) in AI|
0000b330  4d 20 66 6f 72 6d 61 74  2e 20 54 68 69 73 20 69  |M format. This i|
0000b340  73 0a 66 69 6c 65 20 74  79 70 65 20 34 20 77 69  |s.file type 4 wi|
0000b350  74 68 20 62 79 74 65 73  20 72 65 70 72 65 73 65  |th bytes represe|
0000b360  6e 74 69 6e 67 20 74 68  65 20 67 72 65 79 20 6c  |nting the grey l|
0000b370  65 76 65 6c 2e 20 55 73  65 20 74 68 65 20 3d 20  |evel. Use the = |
0000b380  6f 70 65 72 61 74 69 6f  6e 20 74 6f 0a 72 65 73  |operation to.res|
0000b390  74 72 69 63 74 20 74 68  65 20 70 69 63 74 75 72  |trict the pictur|
0000b3a0  65 20 74 6f 20 32 35 36  78 32 35 36 79 2c 20 6f  |e to 256x256y, o|
0000b3b0  74 68 65 72 77 69 73 65  20 69 74 20 77 69 6c 6c  |therwise it will|
0000b3c0  20 62 65 20 74 68 65 20  73 61 6d 65 20 73 69 7a  | be the same siz|
0000b3d0  65 20 61 73 20 74 68 65  0a 69 6e 70 75 74 2e 20  |e as the.input. |
0000b3e0  53 70 65 63 69 66 79 20  22 61 69 6d 22 20 61 73  |Specify "aim" as|
0000b3f0  20 74 68 65 20 6d 6f 64  65 20 73 74 72 69 6e 67  | the mode string|
0000b400  20 74 6f 20 64 6f 20 74  68 69 73 2e 0a 0a 46 6f  | to do this...Fo|
0000b410  72 20 70 6f 72 74 61 62  69 6c 69 74 79 20 74 6f  |r portability to|
0000b420  20 6f 74 68 65 72 20 6d  61 63 68 69 6e 65 73 2c  | other machines,|
0000b430  20 43 68 61 6e 67 65 46  53 49 20 63 61 6e 20 77  | ChangeFSI can w|
0000b440  72 69 74 65 20 6f 75 74  20 66 69 6c 65 73 20 69  |rite out files i|
0000b450  6e 20 22 70 62 6d 22 0a  66 6f 72 6d 61 74 2e 20  |n "pbm".format. |
0000b460  54 68 65 72 65 20 61 72  65 20 33 20 74 79 70 65  |There are 3 type|
0000b470  73 20 6f 66 20 66 6f 72  6d 61 74 20 22 62 6c 61  |s of format "bla|
0000b480  63 6b 2f 77 68 69 74 65  22 20 28 70 62 6d 29 2c  |ck/white" (pbm),|
0000b490  20 22 67 72 65 79 22 20  28 70 67 6d 29 20 61 6e  | "grey" (pgm) an|
0000b4a0  64 0a 22 63 6f 6c 6f 75  72 22 20 28 70 70 6d 29  |d."colour" (ppm)|
0000b4b0  20 77 69 74 68 20 70 75  72 65 20 41 53 43 49 49  | with pure ASCII|
0000b4c0  20 61 6e 64 20 62 69 6e  61 72 79 20 65 6e 63 6f  | and binary enco|
0000b4d0  64 69 6e 67 73 20 6f 66  20 65 61 63 68 3a 0a 0a  |dings of each:..|
0000b4e0  41 53 43 49 49 20 20 20  20 20 20 20 20 20 20 20  |ASCII           |
0000b4f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000b500  20 20 20 20 20 20 20 20  42 69 6e 61 72 79 0a 70  |        Binary.p|
0000b510  31 20 20 20 20 20 20 20  20 22 62 6c 61 63 6b 2f  |1        "black/|
0000b520  77 68 69 74 65 22 20 28  6c 69 6b 65 20 6d 6f 64  |white" (like mod|
0000b530  65 20 31 38 29 20 20 70  34 20 28 62 69 67 20 65  |e 18)  p4 (big e|
0000b540  6e 64 69 61 6e 20 62 79  74 65 73 21 29 0a 70 32  |ndian bytes!).p2|
0000b550  20 20 20 20 20 20 20 20  22 67 72 65 79 22 20 28  |        "grey" (|
0000b560  6c 69 6b 65 20 6d 6f 64  65 20 32 30 74 29 20 20  |like mode 20t)  |
0000b570  20 20 20 20 20 20 70 35  0a 70 33 20 20 20 20 20  |      p5.p3     |
0000b580  20 20 20 22 74 72 75 65  20 63 6f 6c 6f 75 72 22  |   "true colour"|
0000b590  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000b5a0  20 70 36 0a 0a 46 69 6c  65 73 20 63 61 6e 20 62  | p6..Files can b|
0000b5b0  65 20 72 65 61 64 20 77  69 74 68 20 4a 65 66 20  |e read with Jef |
0000b5c0  50 6f 73 6b 61 6e 7a 65  72 27 73 20 70 6f 72 74  |Poskanzer's port|
0000b5d0  61 62 6c 65 20 74 6f 6f  6c 6b 69 74 20 6f 6e 20  |able toolkit on |
0000b5e0  6f 74 68 65 72 20 6d 61  63 68 69 6e 65 73 2e 20  |other machines. |
0000b5f0  54 68 65 0a 70 32 20 66  6f 72 6d 61 74 20 69 73  |The.p2 format is|
0000b600  20 65 61 73 69 6c 79 20  63 6f 6e 76 65 72 74 69  | easily converti|
0000b610  62 6c 65 20 62 79 20 70  72 6f 67 72 61 6d 6d 65  |ble by programme|
0000b620  72 73 3b 20 69 74 20 63  6f 6e 73 69 73 74 73 20  |rs; it consists |
0000b630  6f 66 3a 0a 0a 50 32 0a  23 20 63 6f 6d 6d 65 6e  |of:..P2.# commen|
0000b640  74 20 6c 69 6e 65 0a 78  73 69 7a 65 20 79 73 69  |t line.xsize ysi|
0000b650  7a 65 0a 6d 61 78 69 6d  75 6d 5f 76 61 6c 75 65  |ze.maximum_value|
0000b660  0a 70 69 78 65 6c 5f 76  61 6c 75 65 20 3c 77 68  |.pixel_value <wh|
0000b670  69 74 65 73 70 61 63 65  3e 20 70 69 78 65 6c 5f  |itespace> pixel_|
0000b680  76 61 6c 75 65 0a 0a 77  68 65 72 65 20 61 6c 6c  |value..where all|
0000b690  20 74 68 65 20 6e 75 6d  62 65 72 73 20 61 72 65  | the numbers are|
0000b6a0  20 69 6e 20 64 65 63 69  6d 61 6c 20 28 41 53 43  | in decimal (ASC|
0000b6b0  49 49 29 2e 20 30 20 6d  65 61 6e 73 20 62 6c 61  |II). 0 means bla|
0000b6c0  63 6b 2c 20 6d 61 78 69  6d 75 6d 5f 76 61 6c 75  |ck, maximum_valu|
0000b6d0  65 20 28 3d 0a 31 35 29  20 6d 65 61 6e 73 20 77  |e (=.15) means w|
0000b6e0  68 69 74 65 2e 20 54 68  65 20 70 33 20 66 6f 72  |hite. The p3 for|
0000b6f0  6d 61 74 20 69 73 20 73  69 6d 69 6c 61 72 20 77  |mat is similar w|
0000b700  69 74 68 20 72 2c 20 67  2c 20 62 20 74 72 69 70  |ith r, g, b trip|
0000b710  6c 65 73 20 66 6f 72 20  65 61 63 68 20 70 69 78  |les for each pix|
0000b720  65 6c 0a 76 61 6c 75 65  2e 20 54 68 65 20 6e 75  |el.value. The nu|
0000b730  6d 62 65 72 20 6f 66 20  62 69 74 73 20 70 65 72  |mber of bits per|
0000b740  20 63 6f 6d 70 6f 6e 65  6e 74 20 28 64 65 66 61  | component (defa|
0000b750  75 6c 74 20 38 29 20 63  61 6e 20 62 65 20 73 65  |ult 8) can be se|
0000b760  74 20 66 72 6f 6d 20 74  68 65 20 63 6f 6d 6d 61  |t from the comma|
0000b770  6e 64 0a 6c 69 6e 65 20  77 69 74 68 2c 20 66 6f  |nd.line with, fo|
0000b780  72 20 65 78 61 6d 70 6c  65 2c 20 22 70 33 2c 34  |r example, "p3,4|
0000b790  22 20 66 6f 72 20 34 20  62 69 74 73 20 70 65 72  |" for 4 bits per|
0000b7a0  20 63 6f 6d 70 6f 6e 65  6e 74 2e 0a 0a 41 73 20  | component...As |
0000b7b0  61 20 73 70 65 63 69 61  6c 20 70 61 63 6b 65 64  |a special packed|
0000b7c0  20 6f 75 74 70 75 74 20  66 6f 72 6d 61 74 2c 20  | output format, |
0000b7d0  22 50 31 35 22 20 68 61  73 20 62 65 65 6e 20 69  |"P15" has been i|
0000b7e0  6d 70 6c 65 6d 65 6e 74  65 64 2e 20 4f 75 74 70  |mplemented. Outp|
0000b7f0  75 74 20 69 73 20 62 69  6e 61 72 79 0a 70 69 78  |ut is binary.pix|
0000b800  65 6c 20 76 61 6c 75 65  73 2c 20 35 20 62 69 74  |el values, 5 bit|
0000b810  73 20 70 65 72 20 63 6f  6d 70 6f 6e 65 6e 74 2c  |s per component,|
0000b820  20 6c 69 74 74 6c 65 20  65 6e 64 69 61 6e 20 52  | little endian R|
0000b830  47 42 20 6f 72 64 65 72  20 70 61 63 6b 65 64 20  |GB order packed |
0000b840  69 6e 74 6f 20 31 36 0a  62 69 74 73 2e 20 48 65  |into 16.bits. He|
0000b850  61 64 65 72 20 69 6e 66  6f 72 6d 61 74 69 6f 6e  |ader information|
0000b860  20 61 73 20 74 68 65 20  6f 74 68 65 72 20 70 20  | as the other p |
0000b870  66 6f 72 6d 61 74 73 2e  0a 0a 46 69 6c 65 73 20  |formats...Files |
0000b880  63 61 6e 20 62 65 20 77  72 69 74 74 65 6e 20 61  |can be written a|
0000b890  73 20 6e 65 77 20 52 49  53 43 20 4f 53 20 73 70  |s new RISC OS sp|
0000b8a0  72 69 74 65 73 20 75 73  69 6e 67 20 53 31 36 20  |rites using S16 |
0000b8b0  61 6e 64 20 53 33 32 20  61 73 20 74 68 65 20 66  |and S32 as the f|
0000b8c0  6f 72 6d 61 74 73 2e 0a  54 68 65 20 78 20 61 6e  |ormats..The x an|
0000b8d0  64 20 79 20 70 69 78 65  6c 73 20 70 65 72 20 69  |d y pixels per i|
0000b8e0  6e 63 68 20 61 72 65 20  67 69 76 65 6e 20 61 73  |nch are given as|
0000b8f0  20 61 20 63 6f 6d 6d 61  20 73 65 70 65 72 61 74  | a comma seperat|
0000b900  65 64 20 6c 69 73 74 20  2d 20 61 20 31 36 20 62  |ed list - a 16 b|
0000b910  69 74 20 6d 6f 64 65 0a  31 32 20 65 71 75 69 76  |it mode.12 equiv|
0000b920  61 6c 65 6e 74 20 69 73  20 53 31 36 2c 39 30 2c  |alent is S16,90,|
0000b930  34 35 20 77 68 69 6c 65  20 61 20 33 32 20 62 69  |45 while a 32 bi|
0000b940  74 20 6d 6f 64 65 20 32  38 20 65 71 75 69 76 61  |t mode 28 equiva|
0000b950  6c 65 6e 74 20 69 73 20  53 33 32 2c 39 30 2c 39  |lent is S32,90,9|
0000b960  30 2e 0a 0a 46 69 6c 65  73 20 63 61 6e 20 62 65  |0...Files can be|
0000b970  20 77 72 69 74 74 65 6e  20 61 73 20 4a 50 45 47  | written as JPEG|
0000b980  20 69 6d 61 67 65 73 20  75 73 69 6e 67 20 4a 50  | images using JP|
0000b990  45 47 20 28 63 6f 6c 6f  75 72 29 20 6f 72 20 4a  |EG (colour) or J|
0000b9a0  50 45 47 4d 4f 4e 4f 2e  20 41 20 71 75 61 6c 69  |PEGMONO. A quali|
0000b9b0  74 79 0a 69 6e 20 74 68  65 20 72 61 6e 67 65 20  |ty.in the range |
0000b9c0  31 20 74 6f 20 31 30 30  20 6d 75 73 74 20 62 65  |1 to 100 must be|
0000b9d0  20 61 64 64 65 64 20 74  6f 20 74 68 65 20 65 6e  | added to the en|
0000b9e0  64 20 28 65 2e 67 2e 20  4a 50 45 47 37 35 20 6f  |d (e.g. JPEG75 o|
0000b9f0  72 20 4a 50 45 47 4d 4f  4e 4f 35 30 29 2e 0a 0a  |r JPEGMONO50)...|
0000ba00  43 68 61 6e 67 65 46 53  49 20 63 61 6e 20 77 72  |ChangeFSI can wr|
0000ba10  69 74 65 20 49 72 6c 61  6d 20 66 6f 72 6d 61 74  |ite Irlam format|
0000ba20  20 69 6d 61 67 65 73 20  28 73 6f 6d 65 77 68 61  | images (somewha|
0000ba30  74 20 73 6c 6f 77 65 72  20 74 68 61 6e 20 70 36  |t slower than p6|
0000ba40  20 69 6d 61 67 65 73 2e  2e 2e 29 2e 0a 0a 20 20  | images...)...  |
0000ba50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000ba60  20 20 20 20 20 20 20 20  20 20 20 20 4f 75 74 70  |            Outp|
0000ba70  75 74 20 73 75 6d 6d 61  72 79 0a 20 20 20 20 20  |ut summary.     |
0000ba80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000ba90  20 20 20 20 20 20 20 20  20 3d 3d 3d 3d 3d 3d 3d  |         =======|
0000baa0  3d 3d 3d 3d 3d 3d 3d 0a  0a 23 20 63 6f 6c 73 20  |=======..# cols |
0000bab0  20 20 43 6f 6c 6f 75 72  20 43 75 62 65 20 20 42  |  Colour Cube  B|
0000bac0  69 74 73 20 75 73 65 64  20 20 43 6f 6e 73 69 73  |its used  Consis|
0000bad0  74 65 6e 74 20 48 75 65  20 20 44 65 73 6b 74 6f  |tent Hue  Deskto|
0000bae0  70 20 50 61 6c 65 74 74  65 20 20 4d 6f 64 65 26  |p Palette  Mode&|
0000baf0  53 75 66 66 69 78 0a 0a  32 5e 32 34 20 20 20 20  |Suffix..2^24    |
0000bb00  20 20 20 20 20 20 20 20  59 20 20 20 20 20 20 20  |        Y       |
0000bb10  20 20 32 34 20 20 20 20  20 20 20 20 20 20 20 59  |  24           Y|
0000bb20  20 20 20 20 20 20 20 20  20 20 20 20 20 2d 20 20  |             -  |
0000bb30  20 20 20 20 20 20 20 20  20 20 53 33 32 2c 20 70  |          S32, p|
0000bb40  33 20 6f 72 20 70 36 20  6f 72 20 49 72 6c 61 6d  |3 or p6 or Irlam|
0000bb50  20 6f 72 20 4a 50 45 47  0a 32 5e 32 31 20 20 20  | or JPEG.2^21   |
0000bb60  20 20 20 20 20 20 20 20  20 59 20 20 20 20 20 20  |         Y      |
0000bb70  20 20 20 32 31 20 20 20  20 20 20 20 20 20 20 20  |   21           |
0000bb80  59 20 20 20 20 20 20 20  20 20 20 20 20 20 2d 20  |Y             - |
0000bb90  20 20 20 20 20 20 20 20  20 20 20 70 36 2c 37 0a  |           p6,7.|
0000bba0  32 5e 31 38 20 20 20 20  20 20 20 20 20 20 20 20  |2^18            |
0000bbb0  59 20 20 20 20 20 20 20  20 20 31 38 20 20 20 20  |Y         18    |
0000bbc0  20 20 20 20 20 20 20 59  20 20 20 20 20 20 20 20  |       Y        |
0000bbd0  20 20 20 20 20 2d 20 20  20 20 20 20 20 20 20 20  |     -          |
0000bbe0  20 20 70 36 2c 36 0a 32  5e 31 35 20 20 20 20 20  |  p6,6.2^15     |
0000bbf0  20 20 20 20 20 20 20 59  20 20 20 20 20 20 20 20  |       Y        |
0000bc00  20 31 35 20 20 20 20 20  20 20 20 20 20 20 59 20  | 15           Y |
0000bc10  20 20 20 20 20 20 20 20  20 20 20 20 2d 20 20 20  |            -   |
0000bc20  20 20 20 20 20 20 20 20  20 53 31 36 2c 20 70 31  |         S16, p1|
0000bc30  35 20 6f 72 20 70 36 2c  35 0a 32 5e 31 32 20 20  |5 or p6,5.2^12  |
0000bc40  20 20 20 20 20 20 20 20  20 20 59 20 20 20 20 20  |          Y     |
0000bc50  20 20 20 20 31 32 20 20  20 20 20 20 20 20 20 20  |    12          |
0000bc60  20 59 20 20 20 20 20 20  20 20 20 20 20 20 20 2d  | Y             -|
0000bc70  20 20 20 20 20 20 20 20  20 20 20 20 70 36 2c 34  |            p6,4|
0000bc80  0a 35 31 32 20 20 20 20  20 20 20 20 20 20 20 20  |.512            |
0000bc90  20 59 20 20 20 20 20 20  20 20 20 20 39 20 20 20  | Y          9   |
0000bca0  20 20 20 20 20 20 20 20  59 20 20 20 20 20 20 20  |        Y       |
0000bcb0  20 20 20 20 20 20 2d 20  20 20 20 20 20 20 20 20  |      -         |
0000bcc0  20 20 20 70 36 2c 33 0a  32 35 36 20 67 72 65 79  |   p6,3.256 grey|
0000bcd0  20 20 20 20 20 20 20 20  6e 20 20 20 20 20 20 20  |        n       |
0000bce0  20 20 20 38 20 20 20 20  20 20 20 20 20 20 20 59  |   8           Y|
0000bcf0  20 20 20 20 20 20 20 20  20 20 20 20 20 2d 20 20  |             -  |
0000bd00  20 20 20 20 20 20 20 20  20 20 61 69 6d 20 6f 72  |          aim or|
0000bd10  20 4a 50 45 47 4d 4f 4e  4f 0a 32 35 36 20 67 72  | JPEGMONO.256 gr|
0000bd20  65 79 20 20 20 20 20 20  20 20 6e 20 20 20 20 20  |ey        n     |
0000bd30  20 20 20 20 20 38 20 20  20 20 20 20 20 20 20 20  |     8          |
0000bd40  20 59 20 20 20 20 20 20  20 20 20 20 20 20 20 2d  | Y             -|
0000bd50  20 20 20 20 20 20 20 20  20 20 20 20 32 38 64 0a  |            28d.|
0000bd60  32 35 36 20 20 20 20 20  20 20 20 20 20 20 20 20  |256             |
0000bd70  59 20 20 20 20 20 20 20  20 20 20 38 20 20 20 20  |Y          8    |
0000bd80  20 20 20 20 20 20 20 59  20 20 20 20 20 20 20 20  |       Y        |
0000bd90  20 20 20 20 20 59 20 20  20 20 20 20 20 20 20 20  |     Y          |
0000bda0  20 20 32 38 0a 32 35 36  20 20 20 20 20 20 20 20  |  28.256        |
0000bdb0  20 20 20 20 20 59 20 20  20 20 20 20 20 20 20 20  |     Y          |
0000bdc0  38 20 20 20 20 20 20 20  20 20 20 20 59 20 20 20  |8           Y   |
0000bdd0  20 20 20 20 20 20 20 20  20 20 59 20 20 20 20 20  |          Y     |
0000bde0  20 20 20 20 20 20 20 32  38 72 0a 31 36 20 67 72  |       28r.16 gr|
0000bdf0  65 79 20 20 20 20 20 20  20 20 20 6e 20 20 20 20  |ey         n    |
0000be00  20 20 20 20 20 20 34 20  20 20 20 20 20 20 20 20  |      4         |
0000be10  20 20 59 20 20 20 20 20  20 20 20 20 20 20 20 20  |  Y             |
0000be20  6e 20 20 20 20 20 20 20  20 20 20 20 20 32 37 74  |n            27t|
0000be30  0a 31 36 20 67 72 65 79  20 20 20 20 20 20 20 20  |.16 grey        |
0000be40  20 6e 20 20 20 20 20 20  20 20 20 20 34 20 20 20  | n          4   |
0000be50  20 20 20 20 20 20 20 20  59 20 20 20 20 20 20 20  |        Y       |
0000be60  20 20 20 20 20 20 6e 20  20 20 20 20 20 20 20 20  |      n         |
0000be70  20 20 20 70 32 20 6f 72  20 70 35 0a 38 20 67 72  |   p2 or p5.8 gr|
0000be80  65 79 20 20 20 20 20 20  20 20 20 20 6e 20 20 20  |ey          n   |
0000be90  20 20 20 20 20 20 20 33  20 20 20 20 20 20 20 20  |       3        |
0000bea0  20 20 20 59 20 20 20 20  20 20 20 20 20 20 20 20  |   Y            |
0000beb0  20 59 20 20 20 20 20 20  20 20 20 20 20 20 32 37  | Y            27|
0000bec0  0a 31 36 20 20 20 20 20  20 20 20 20 20 20 20 20  |.16             |
0000bed0  20 3f 20 20 20 20 20 20  20 20 20 20 34 20 20 20  | ?          4   |
0000bee0  20 20 20 20 20 20 20 20  3f 20 20 20 20 20 20 20  |        ?       |
0000bef0  20 20 20 20 20 20 59 20  20 20 20 20 20 20 20 20  |      Y         |
0000bf00  20 20 20 32 37 72 0a 31  36 20 20 20 20 20 20 20  |   27r.16       |
0000bf10  20 20 20 20 20 20 20 59  20 20 20 20 20 20 20 20  |       Y        |
0000bf20  20 20 33 20 20 20 20 20  20 20 20 20 20 20 59 20  |  3           Y |
0000bf30  20 20 20 20 20 20 20 20  20 20 63 61 6e 20 62 65  |          can be|
0000bf40  20 20 20 20 20 20 20 20  20 32 37 64 0a 34 20 67  |         27d.4 g|
0000bf50  72 65 79 20 20 20 20 20  20 20 20 20 20 6e 20 20  |rey          n  |
0000bf60  20 20 20 20 20 20 20 20  32 20 20 20 20 20 20 20  |        2       |
0000bf70  20 20 20 20 59 20 20 20  20 20 20 20 20 20 20 20  |    Y           |
0000bf80  20 20 59 20 20 20 20 20  20 20 20 20 20 20 20 32  |  Y            2|
0000bf90  36 0a 34 20 20 20 20 20  20 20 20 20 20 20 20 20  |6.4             |
0000bfa0  20 20 6e 20 20 20 20 20  20 20 20 20 20 32 20 20  |  n          2  |
0000bfb0  20 20 20 20 20 20 20 20  20 6e 20 20 20 20 20 20  |         n      |
0000bfc0  20 20 20 20 20 20 20 6e  20 20 20 20 20 20 20 20  |       n        |
0000bfd0  20 20 20 20 32 36 63 0a  34 20 20 20 20 20 20 20  |    26c.4       |
0000bfe0  20 20 20 20 20 20 20 20  6e 20 20 20 20 20 20 20  |        n       |
0000bff0  20 20 20 32 20 20 20 20  20 20 20 20 20 20 20 6e  |   2           n|
0000c000  20 20 20 20 20 20 20 20  20 20 20 20 20 6e 20 20  |             n  |
0000c010  20 20 20 20 20 20 20 20  20 20 32 36 72 0a 32 20  |          26r.2 |
0000c020  28 62 6c 61 63 6b 2f 77  68 69 74 65 29 20 6e 20  |(black/white) n |
0000c030  20 20 20 20 20 20 20 20  20 31 20 20 20 20 20 20  |         1      |
0000c040  20 20 20 20 20 59 20 20  20 20 20 20 20 20 20 20  |     Y          |
0000c050  20 20 20 59 20 20 20 20  20 20 20 20 20 20 20 20  |   Y            |
0000c060  32 35 0a 32 20 28 62 6c  61 63 6b 2f 77 68 69 74  |25.2 (black/whit|
0000c070  65 29 20 6e 20 20 20 20  20 20 20 20 20 20 31 20  |e) n          1 |
0000c080  20 20 20 20 20 20 20 20  20 20 59 20 20 20 20 20  |          Y     |
0000c090  20 20 20 20 20 20 20 20  59 20 20 20 20 20 20 20  |        Y       |
0000c0a0  20 20 20 20 20 32 35 63  2f 64 2f 74 0a 32 20 28  |     25c/d/t.2 (|
0000c0b0  62 6c 61 63 6b 2f 77 68  69 74 65 29 20 6e 20 20  |black/white) n  |
0000c0c0  20 20 20 20 20 20 20 20  31 20 20 20 20 20 20 20  |        1       |
0000c0d0  20 20 20 20 59 20 20 20  20 20 20 20 20 20 20 20  |    Y           |
0000c0e0  20 20 59 20 20 20 20 20  20 20 20 20 20 20 20 70  |  Y            p|
0000c0f0  31 20 6f 72 20 70 34 0a  0a 0a 43 68 61 6e 67 65  |1 or p4...Change|
0000c100  46 53 49 20 63 61 6e 20  62 65 20 75 73 65 64 20  |FSI can be used |
0000c110  66 72 6f 6d 20 62 6f 74  68 20 74 68 65 20 64 65  |from both the de|
0000c120  73 6b 74 6f 70 20 66 72  6f 6e 74 20 65 6e 64 20  |sktop front end |
0000c130  61 6e 64 20 66 72 6f 6d  20 74 68 65 20 63 6f 6d  |and from the com|
0000c140  6d 61 6e 64 0a 6c 69 6e  65 2e 20 49 74 20 63 61  |mand.line. It ca|
0000c150  6e 20 61 6c 73 6f 20 62  65 20 75 73 65 64 20 61  |n also be used a|
0000c160  73 20 61 20 42 41 53 49  43 20 6c 69 62 72 61 72  |s a BASIC librar|
0000c170  79 20 66 75 6e 63 74 69  6f 6e 3a 0a 4c 49 42 52  |y function:.LIBR|
0000c180  41 52 59 22 3c 43 68 61  6e 67 65 46 53 49 24 44  |ARY"<ChangeFSI$D|
0000c190  69 72 3e 2e 43 68 61 6e  67 65 46 53 49 22 20 67  |ir>.ChangeFSI" g|
0000c1a0  69 76 65 73 20 61 20 6e  65 77 20 66 75 6e 63 74  |ives a new funct|
0000c1b0  69 6f 6e 2c 20 46 4e 43  68 61 6e 67 65 46 53 49  |ion, FNChangeFSI|
0000c1c0  20 74 6f 20 74 68 65 0a  42 41 53 49 43 20 70 72  | to the.BASIC pr|
0000c1d0  6f 67 72 61 6d 6d 65 72  2e 20 54 68 69 73 20 66  |ogrammer. This f|
0000c1e0  75 6e 63 74 69 6f 6e 20  74 61 6b 65 73 3a 0a 20  |unction takes:. |
0000c1f0  20 41 24 3a 20 61 20 63  6f 6d 6d 61 6e 64 20 6c  | A$: a command l|
0000c200  69 6e 65 20 61 72 67 75  6d 65 6e 74 0a 20 20 73  |ine argument.  s|
0000c210  70 72 69 74 65 61 72 65  61 25 3a 20 61 6e 20 61  |pritearea%: an a|
0000c220  64 64 72 65 73 73 20 6f  72 20 2d 31 20 66 6f 72  |ddress or -1 for|
0000c230  20 74 68 65 20 73 70 72  69 74 65 61 72 65 61 20  | the spritearea |
0000c240  62 75 69 6c 74 20 62 79  20 43 68 61 6e 67 65 46  |built by ChangeF|
0000c250  53 49 0a 20 20 77 6f 72  6b 73 70 61 63 65 25 3a  |SI.  workspace%:|
0000c260  20 61 6e 20 61 64 64 72  65 73 73 20 6f 72 20 2d  | an address or -|
0000c270  31 20 66 6f 72 20 43 68  61 6e 67 65 46 53 49 27  |1 for ChangeFSI'|
0000c280  73 20 6f 74 68 65 72 20  77 6f 72 6b 73 70 61 63  |s other workspac|
0000c290  65 0a 20 20 77 6f 72 6b  6c 69 6d 69 74 25 3a 20  |e.  worklimit%: |
0000c2a0  61 6e 20 61 64 64 72 65  73 73 20 28 75 6e 75 73  |an address (unus|
0000c2b0  65 64 20 69 66 20 77 6f  72 6b 73 70 61 63 65 25  |ed if workspace%|
0000c2c0  3c 30 29 0a 20 20 66 61  73 74 25 3a 20 54 52 55  |<0).  fast%: TRU|
0000c2d0  45 20 66 6f 72 20 4d 4f  44 45 20 30 20 73 65 6c  |E for MODE 0 sel|
0000c2e0  65 63 74 69 6f 6e 0a 49  74 20 70 72 6f 64 75 63  |ection.It produc|
0000c2f0  65 73 20 61 6e 20 65 72  72 6f 72 20 28 74 6f 20  |es an error (to |
0000c300  77 68 61 74 65 76 65 72  20 65 72 72 6f 72 20 68  |whatever error h|
0000c310  61 6e 64 6c 65 72 20 69  73 20 70 72 65 73 65 6e  |andler is presen|
0000c320  74 29 20 69 66 20 69 74  20 66 61 69 6c 73 2e 20  |t) if it fails. |
0000c330  49 66 0a 73 70 72 69 74  65 61 72 65 61 25 20 69  |If.spritearea% i|
0000c340  73 20 3c 30 20 69 74 20  77 69 6c 6c 20 73 61 76  |s <0 it will sav|
0000c350  65 20 74 68 65 20 73 70  72 69 74 65 20 74 6f 20  |e the sprite to |
0000c360  74 68 65 20 66 69 6c 65  20 67 69 76 65 6e 20 69  |the file given i|
0000c370  6e 20 74 68 65 20 63 6f  6d 6d 61 6e 64 0a 73 74  |n the command.st|
0000c380  72 69 6e 67 2c 20 6f 74  68 65 72 77 69 73 65 20  |ring, otherwise |
0000c390  69 74 20 77 6f 6e 27 74  2e 20 54 68 65 20 66 75  |it won't. The fu|
0000c3a0  6e 63 74 69 6f 6e 20 46  4e 43 68 61 6e 67 65 46  |nction FNChangeF|
0000c3b0  53 49 56 65 72 73 69 6f  6e 20 72 65 74 75 72 6e  |SIVersion return|
0000c3c0  73 20 74 68 65 20 76 65  72 73 69 6f 6e 0a 73 74  |s the version.st|
0000c3d0  72 69 6e 67 20 6f 66 20  74 68 65 20 6c 69 62 72  |ring of the libr|
0000c3e0  61 72 79 20 28 69 6e 20  74 68 65 20 69 6e 66 6f  |ary (in the info|
0000c3f0  20 62 6f 78 20 6f 66 20  74 68 65 20 64 65 73 6b  | box of the desk|
0000c400  74 6f 70 20 61 70 70 6c  69 63 61 74 69 6f 6e 29  |top application)|
0000c410  2e 0a 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
0000c420  20 20 20 20 20 20 20 20  20 20 20 20 20 20 43 6f  |              Co|
0000c430  6d 6d 61 6e 64 20 53 75  6d 6d 61 72 79 0a 20 20  |mmand Summary.  |
0000c440  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000c450  20 20 20 20 20 20 20 20  20 3d 3d 3d 3d 3d 3d 3d  |         =======|
0000c460  3d 3d 3d 3d 3d 3d 3d 3d  0a 0a 2d 69 6e 66 6f 20  |========..-info |
0000c470  20 20 20 20 67 69 76 65  20 64 65 74 61 69 6c 73  |    give details|
0000c480  0a 0a 2d 68 69 73 74 20  20 20 20 20 64 6f 6e 27  |..-hist     don'|
0000c490  74 20 70 72 6f 63 65 73  73 20 69 6d 61 67 65 2c  |t process image,|
0000c4a0  20 62 75 74 20 64 69 73  70 6c 61 79 20 68 69 73  | but display his|
0000c4b0  74 6f 67 72 61 6d 20 6f  66 20 69 74 20 69 6e 73  |togram of it ins|
0000c4c0  74 65 61 64 0a 0a 2d 68  66 6c 69 70 20 20 20 20  |tead..-hflip    |
0000c4d0  68 6f 72 69 7a 6f 6e 74  61 6c 6c 79 20 66 6c 69  |horizontally fli|
0000c4e0  70 20 74 68 65 20 69 6d  61 67 65 0a 2d 76 66 6c  |p the image.-vfl|
0000c4f0  69 70 20 20 20 20 76 65  72 74 69 63 61 6c 6c 79  |ip    vertically|
0000c500  20 66 6c 69 70 20 74 68  65 20 69 6d 61 67 65 0a  | flip the image.|
0000c510  2d 72 6f 74 61 74 65 20  20 20 72 6f 74 61 74 65  |-rotate   rotate|
0000c520  20 74 68 65 20 69 6d 61  67 65 20 62 79 20 2b 39  | the image by +9|
0000c530  30 20 64 65 67 72 65 65  73 20 28 69 2e 65 2e 20  |0 degrees (i.e. |
0000c540  61 6e 74 69 2d 63 6c 6f  63 6b 77 69 73 65 29 0a  |anti-clockwise).|
0000c550  2d 72 6f 74 61 74 65 2d  20 20 72 6f 74 61 74 65  |-rotate-  rotate|
0000c560  20 74 68 65 20 69 6d 61  67 65 20 62 79 20 2d 39  | the image by -9|
0000c570  30 20 64 65 67 72 65 65  73 20 28 69 2e 65 2e 20  |0 degrees (i.e. |
0000c580  63 6c 6f 63 6b 77 69 73  65 29 0a 2d 6d 61 78 20  |clockwise).-max |
0000c590  20 20 20 20 20 73 65 74  20 74 68 65 20 6d 61 78  |     set the max|
0000c5a0  69 6d 75 6d 20 73 69 7a  65 20 6f 66 20 74 68 65  |imum size of the|
0000c5b0  20 69 6d 61 67 65 20 62  65 66 6f 72 65 20 64 69  | image before di|
0000c5c0  73 63 20 69 73 20 75 73  65 64 0a 0a 2d 6e 6f 73  |sc is used..-nos|
0000c5d0  63 61 6c 65 20 20 64 69  73 61 62 6c 65 20 61 75  |cale  disable au|
0000c5e0  74 6f 6d 61 74 69 63 20  70 69 78 65 6c 20 73 69  |tomatic pixel si|
0000c5f0  7a 65 20 63 6f 72 72 65  63 74 69 6f 6e 0a 2d 6e  |ze correction.-n|
0000c600  6f 73 69 7a 65 20 20 20  64 69 73 61 62 6c 65 20  |osize   disable |
0000c610  61 75 74 6f 6d 61 74 69  63 20 70 69 78 65 6c 20  |automatic pixel |
0000c620  73 69 7a 65 20 63 6f 72  72 65 63 74 69 6f 6e 20  |size correction |
0000c630  66 6f 72 20 69 6e 70 75  74 20 70 69 78 65 6c 73  |for input pixels|
0000c640  20 6f 6e 6c 79 0a 2d 6e  6f 64 69 74 68 65 72 20  | only.-nodither |
0000c650  64 69 73 61 62 6c 65 20  64 69 74 68 65 72 69 6e  |disable ditherin|
0000c660  67 0a 2d 6e 6f 6d 6f 64  65 20 20 20 64 6f 6e 27  |g.-nomode   don'|
0000c670  74 20 63 68 61 6e 67 65  20 74 6f 20 6d 6f 64 65  |t change to mode|
0000c680  20 30 20 77 68 69 6c 65  20 70 72 6f 63 65 73 73  | 0 while process|
0000c690  69 6e 67 20 74 68 65 20  70 69 63 74 75 72 65 0a  |ing the picture.|
0000c6a0  2d 69 6e 76 65 72 74 20  20 20 69 6e 76 65 72 74  |-invert   invert|
0000c6b0  20 63 6f 6c 6f 75 72 20  72 61 6e 67 65 20 6f 66  | colour range of|
0000c6c0  20 69 6d 61 67 65 0a 0a  2d 72 61 6e 67 65 20 20  | image..-range  |
0000c6d0  20 20 65 78 70 61 6e 64  20 69 6e 70 75 74 27 73  |  expand input's|
0000c6e0  20 64 79 6e 61 6d 69 63  20 72 61 6e 67 65 20 74  | dynamic range t|
0000c6f0  6f 20 66 75 6c 6c 20 73  63 61 6c 65 0a 2d 65 71  |o full scale.-eq|
0000c700  75 61 6c 20 20 20 20 68  69 73 74 6f 67 72 61 6d  |ual    histogram|
0000c710  20 65 71 75 61 6c 69 73  61 74 69 6f 6e 0a 2d 73  | equalisation.-s|
0000c720  68 61 72 70 65 6e 20 20  64 69 67 69 74 61 6c 6c  |harpen  digitall|
0000c730  79 20 73 68 61 72 70 65  6e 20 74 68 65 20 70 69  |y sharpen the pi|
0000c740  63 74 75 72 65 0a 2d 73  6d 6f 6f 74 68 20 20 20  |cture.-smooth   |
0000c750  64 69 67 69 74 61 6c 6c  79 20 73 6d 6f 6f 74 68  |digitally smooth|
0000c760  20 74 68 65 20 70 69 63  74 75 72 65 0a 0a 2d 67  | the picture..-g|
0000c770  61 6d 6d 61 20 20 20 20  73 65 74 20 67 61 6d 6d  |amma    set gamm|
0000c780  61 20 63 6f 72 72 65 63  74 69 6f 6e 0a 2d 62 6c  |a correction.-bl|
0000c790  61 63 6b 20 20 20 20 63  6f 72 72 65 63 74 20 66  |ack    correct f|
0000c7a0  6f 72 20 62 6c 61 63 6b  20 69 6e 6b 20 73 70 6f  |or black ink spo|
0000c7b0  74 20 73 69 7a 65 0a 2d  72 65 64 20 20 20 20 20  |t size.-red     |
0000c7c0  20 63 68 61 6e 67 65 20  72 65 64 20 77 65 69 67  | change red weig|
0000c7d0  68 74 20 66 6f 72 20 64  65 72 69 76 69 6e 67 20  |ht for deriving |
0000c7e0  6d 6f 6e 6f 63 68 72 6f  6d 65 20 6c 75 6d 69 6e  |monochrome lumin|
0000c7f0  61 6e 63 65 0a 2d 67 72  65 65 6e 20 20 20 20 63  |ance.-green    c|
0000c800  68 61 6e 67 65 20 67 72  65 65 6e 20 77 65 69 67  |hange green weig|
0000c810  68 74 20 66 6f 72 20 64  65 72 69 76 69 6e 67 20  |ht for deriving |
0000c820  6d 6f 6e 6f 63 68 72 6f  6d 65 20 6c 75 6d 69 6e  |monochrome lumin|
0000c830  61 6e 63 65 0a 2d 62 6c  75 65 20 20 20 20 20 63  |ance.-blue     c|
0000c840  68 61 6e 67 65 20 62 6c  75 65 20 77 65 69 67 68  |hange blue weigh|
0000c850  74 20 66 6f 72 20 64 65  72 69 76 69 6e 67 20 6d  |t for deriving m|
0000c860  6f 6e 6f 63 68 72 6f 6d  65 20 6c 75 6d 69 6e 61  |onochrome lumina|
0000c870  6e 63 65 0a 0a 2d 62 72  69 67 68 74 65 6e 20 68  |nce..-brighten h|
0000c880  6f 72 72 65 6e 64 6f 75  73 20 68 61 63 6b 20 74  |orrendous hack t|
0000c890  6f 20 73 6c 69 67 68 74  6c 79 20 62 72 69 67 68  |o slightly brigh|
0000c8a0  74 65 6e 20 69 6d 61 67  65 73 3a 20 6d 61 79 20  |ten images: may |
0000c8b0  63 6f 6e 76 65 72 74 20  68 75 65 73 0a 20 20 20  |convert hues.   |
0000c8c0  20 20 20 20 20 20 20 63  6c 6f 73 65 20 74 6f 20  |       close to |
0000c8d0  77 68 69 74 65 20 74 6f  20 77 68 69 74 65 2e 20  |white to white. |
0000c8e0  28 49 74 20 63 61 75 73  65 73 20 74 68 65 20 6f  |(It causes the o|
0000c8f0  75 74 70 75 74 20 72 61  6e 67 65 20 30 2e 2e 31  |utput range 0..1|
0000c900  35 20 74 6f 0a 20 20 20  20 20 20 20 20 20 20 62  |5 to.          b|
0000c910  65 20 63 6f 6e 73 69 64  65 72 65 64 20 61 73 20  |e considered as |
0000c920  30 2e 2e 28 31 35 2f 31  36 29 20 69 6e 73 74 65  |0..(15/16) inste|
0000c930  61 64 20 6f 66 20 30 2e  2e 28 31 35 2f 31 35 29  |ad of 0..(15/15)|
0000c940  29 2e 0a 0a 20 20 20 20  20 20 20 20 20 20 20 20  |)...            |
0000c950  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 4d  |               M|
0000c960  6f 64 65 20 53 75 66 66  69 78 65 73 0a 20 20 20  |ode Suffixes.   |
0000c970  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000c980  20 20 20 20 20 20 20 20  3d 3d 3d 3d 3d 3d 3d 3d  |        ========|
0000c990  3d 3d 3d 3d 3d 0a 0a 63  0a 20 20 31 20 62 69 74  |=====..c.  1 bit|
0000c9a0  20 6d 6f 64 65 73 3a 20  75 73 65 20 63 6c 75 73  | modes: use clus|
0000c9b0  74 65 72 65 64 20 64 69  74 68 65 72 69 6e 67 20  |tered dithering |
0000c9c0  77 69 74 68 20 34 78 34  20 63 65 6c 6c 0a 20 20  |with 4x4 cell.  |
0000c9d0  32 20 62 69 74 20 6d 6f  64 65 73 3a 20 75 73 65  |2 bit modes: use|
0000c9e0  20 74 68 65 20 66 6f 75  72 20 63 6f 6c 6f 75 72  | the four colour|
0000c9f0  73 20 22 62 6c 61 63 6b  22 2c 20 22 63 79 61 6e  |s "black", "cyan|
0000ca00  22 2c 20 22 6d 61 67 65  6e 74 61 22 20 61 6e 64  |", "magenta" and|
0000ca10  20 22 79 65 6c 6c 6f 77  22 0a 64 0a 20 20 31 20  | "yellow".d.  1 |
0000ca20  62 69 74 20 6d 6f 64 65  73 3a 20 75 73 65 20 63  |bit modes: use c|
0000ca30  6c 75 73 74 65 72 65 64  20 64 69 74 68 65 72 69  |lustered ditheri|
0000ca40  6e 67 20 77 69 74 68 20  32 78 32 20 63 65 6c 6c  |ng with 2x2 cell|
0000ca50  0a 20 20 34 20 62 69 74  20 6d 6f 64 65 73 3a 20  |.  4 bit modes: |
0000ca60  75 73 65 20 31 20 62 69  74 20 72 65 64 2c 20 31  |use 1 bit red, 1|
0000ca70  20 62 69 74 20 67 72 65  65 6e 2c 20 31 20 62 69  | bit green, 1 bi|
0000ca80  74 20 62 6c 75 65 0a 20  20 38 20 62 69 74 20 6d  |t blue.  8 bit m|
0000ca90  6f 64 65 73 3a 20 75 73  65 20 32 35 36 20 6c 65  |odes: use 256 le|
0000caa0  76 65 6c 20 67 72 65 79  20 73 63 61 6c 65 0a 74  |vel grey scale.t|
0000cab0  0a 20 20 31 20 62 69 74  20 6d 6f 64 65 73 3a 20  |.  1 bit modes: |
0000cac0  75 73 65 20 63 6c 75 73  74 65 72 65 64 20 64 69  |use clustered di|
0000cad0  74 68 65 72 69 6e 67 20  77 69 74 68 20 33 78 33  |thering with 3x3|
0000cae0  20 63 65 6c 6c 0a 20 20  34 20 62 69 74 20 6d 6f  | cell.  4 bit mo|
0000caf0  64 65 73 3a 20 31 36 20  6c 65 76 65 6c 20 67 72  |des: 16 level gr|
0000cb00  65 79 20 73 63 61 6c 65  0a 72 0a 20 20 32 20 62  |ey scale.r.  2 b|
0000cb10  69 74 20 6d 6f 64 65 73  3a 20 44 65 76 69 6f 75  |it modes: Deviou|
0000cb20  73 20 63 6f 6c 6f 75 72  20 6d 61 74 63 68 69 6e  |s colour matchin|
0000cb30  67 20 61 6c 67 6f 72 69  74 68 6d 0a 20 20 34 20  |g algorithm.  4 |
0000cb40  62 69 74 20 6d 6f 64 65  73 3a 20 44 65 76 69 6f  |bit modes: Devio|
0000cb50  75 73 20 63 6f 6c 6f 75  72 20 6d 61 74 63 68 69  |us colour matchi|
0000cb60  6e 67 20 61 6c 67 6f 72  69 74 68 6d 0a 20 20 38  |ng algorithm.  8|
0000cb70  20 62 69 74 20 6d 6f 64  65 73 3a 20 44 65 76 69  | bit modes: Devi|
0000cb80  6f 75 73 20 63 6f 6c 6f  75 72 20 6d 61 74 63 68  |ous colour match|
0000cb90  69 6e 67 20 61 6c 67 6f  72 69 74 68 6d 0a 2d 6e  |ing algorithm.-n|
0000cba0  6f 20 73 75 66 66 69 78  2d 0a 20 20 31 20 62 69  |o suffix-.  1 bi|
0000cbb0  74 20 6d 6f 64 65 73 3a  20 62 2f 77 20 64 69 73  |t modes: b/w dis|
0000cbc0  70 65 72 73 65 64 20 64  6f 74 20 64 69 74 68 65  |persed dot dithe|
0000cbd0  72 69 6e 67 0a 20 20 32  20 62 69 74 20 6d 6f 64  |ring.  2 bit mod|
0000cbe0  65 73 3a 20 34 20 6c 65  76 65 6c 20 67 72 65 79  |es: 4 level grey|
0000cbf0  20 73 63 61 6c 65 0a 20  20 34 20 62 69 74 20 6d  | scale.  4 bit m|
0000cc00  6f 64 65 73 3a 20 38 20  6c 65 76 65 6c 20 67 72  |odes: 8 level gr|
0000cc10  65 79 20 73 63 61 6c 65  0a 20 20 38 20 62 69 74  |ey scale.  8 bit|
0000cc20  20 6d 6f 64 65 73 3a 20  4a 6f 68 6e 20 42 6f 77  | modes: John Bow|
0000cc30  6c 65 72 27 73 20 63 6f  6c 6f 75 72 20 6d 61 74  |ler's colour mat|
0000cc40  63 68 69 6e 67 20 61 6c  67 6f 72 69 74 68 6d 0a  |ching algorithm.|
0000cc50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 28  |               (|
0000cc60  64 65 66 61 75 6c 74 73  20 74 6f 20 27 72 27 20  |defaults to 'r' |
0000cc70  6d 6f 64 65 20 69 66 20  6e 6f 74 20 56 49 44 43  |mode if not VIDC|
0000cc80  31 20 63 6f 6d 70 61 74  69 62 6c 65 29 0a 0a 43  |1 compatible)..C|
0000cc90  6f 6c 6f 75 72 20 6d 61  74 63 68 69 6e 67 20 69  |olour matching i|
0000cca0  73 20 64 6f 6e 65 20 69  6e 20 72 2c 20 67 2c 20  |s done in r, g, |
0000ccb0  62 20 73 70 61 63 65 3a  20 74 68 65 20 6d 69 6e  |b space: the min|
0000ccc0  69 6d 75 6d 20 64 69 73  74 61 6e 63 65 20 62 65  |imum distance be|
0000ccd0  74 77 65 65 6e 20 63 6f  6c 6f 75 72 73 0a 69 73  |tween colours.is|
0000cce0  20 74 68 65 20 73 71 75  61 72 65 20 72 6f 6f 74  | the square root|
0000ccf0  20 6f 66 3a 0a 20 20 20  64 65 6c 74 61 5f 72 5e  | of:.   delta_r^|
0000cd00  32 2a 72 6d 61 74 63 68  77 74 2b 64 65 6c 74 61  |2*rmatchwt+delta|
0000cd10  5f 67 5e 32 2a 67 6d 61  74 63 68 77 74 2b 64 65  |_g^2*gmatchwt+de|
0000cd20  6c 74 61 5f 62 5e 32 2a  62 6d 61 74 63 68 77 74  |lta_b^2*bmatchwt|
0000cd30  0a 43 68 61 6e 67 65 46  53 49 20 68 61 73 20 68  |.ChangeFSI has h|
0000cd40  61 72 64 20 77 69 72 65  64 20 77 65 69 67 68 74  |ard wired weight|
0000cd50  73 20 6f 66 20 33 2c 20  31 30 2c 20 31 20 72 65  |s of 3, 10, 1 re|
0000cd60  73 70 65 63 74 69 76 65  6c 79 20 66 6f 72 20 69  |spectively for i|
0000cd70  74 73 20 63 6f 6c 6f 75  72 0a 6d 61 74 63 68 69  |ts colour.matchi|
0000cd80  6e 67 20 61 6c 67 6f 72  69 74 68 6d 73 2e 20 4a  |ng algorithms. J|
0000cd90  6f 68 6e 20 42 6f 77 6c  65 72 27 73 20 61 6c 67  |ohn Bowler's alg|
0000cda0  6f 72 69 74 68 6d 20 28  64 65 66 61 75 6c 74 20  |orithm (default |
0000cdb0  66 6f 72 20 52 49 53 43  20 4f 53 20 38 20 62 69  |for RISC OS 8 bi|
0000cdc0  74 20 6d 6f 64 65 73 29  0a 61 6c 74 68 6f 75 67  |t modes).althoug|
0000cdd0  68 20 73 6f 6d 65 77 68  61 74 20 73 6c 6f 77 65  |h somewhat slowe|
0000cde0  72 2c 20 69 73 20 66 61  73 74 20 65 6e 6f 75 67  |r, is fast enoug|
0000cdf0  68 20 74 6f 20 68 61 76  65 20 72 65 70 6c 61 63  |h to have replac|
0000ce00  65 64 20 61 6c 6c 20 74  68 65 20 70 72 65 76 69  |ed all the previ|
0000ce10  6f 75 73 0a 6d 65 74 68  6f 64 73 20 5b 41 53 49  |ous.methods [ASI|
0000ce20  44 45 20 69 74 20 67 69  76 65 73 20 70 69 63 74  |DE it gives pict|
0000ce30  75 72 65 73 20 61 74 20  6c 65 61 73 74 20 61 73  |ures at least as|
0000ce40  20 67 6f 6f 64 20 61 73  20 22 70 22 20 6d 6f 64  | good as "p" mod|
0000ce50  65 20 69 6e 20 70 72 65  20 41 75 67 20 39 31 0a  |e in pre Aug 91.|
0000ce60  43 68 61 6e 67 65 46 53  49 27 73 5d 2e 20 54 68  |ChangeFSI's]. Th|
0000ce70  65 20 44 65 76 69 6f 75  73 20 63 6f 6c 6f 75 72  |e Devious colour|
0000ce80  20 6d 61 74 63 68 69 6e  67 20 61 6c 67 6f 72 69  | matching algori|
0000ce90  74 68 6d 20 69 73 20 72  65 63 6f 6d 6d 65 6e 64  |thm is recommend|
0000cea0  65 64 2c 20 61 6e 64 20  69 73 0a 75 73 65 64 20  |ed, and is.used |
0000ceb0  61 75 74 6f 6d 61 74 69  63 61 6c 6c 79 20 69 66  |automatically if|
0000cec0  20 74 68 65 20 38 20 62  69 74 20 70 65 72 20 70  | the 8 bit per p|
0000ced0  69 78 65 6c 20 6d 6f 64  65 20 64 6f 65 73 20 6e  |ixel mode does n|
0000cee0  6f 74 20 68 61 76 65 20  74 68 65 20 64 65 66 61  |ot have the defa|
0000cef0  75 6c 74 20 52 49 53 43  0a 4f 53 20 63 6f 6c 6f  |ult RISC.OS colo|
0000cf00  75 72 20 73 65 74 2e 0a  0a 5b 4e 4f 54 45 3a 20  |ur set...[NOTE: |
0000cf10  74 68 61 6e 6b 73 20 61  72 65 20 64 75 65 20 74  |thanks are due t|
0000cf20  6f 20 53 74 65 76 65 20  47 72 65 65 6e 20 61 6e  |o Steve Green an|
0000cf30  64 20 74 68 65 20 42 42  43 20 61 6e 64 20 49 72  |d the BBC and Ir|
0000cf40  6c 61 6d 20 49 6e 73 74  72 75 6d 65 6e 74 73 20  |lam Instruments |
0000cf50  66 6f 72 0a 74 68 65 20  69 6e 74 65 72 6d 65 64  |for.the intermed|
0000cf60  69 61 74 65 20 73 79 73  74 65 6d 73 20 74 68 61  |iate systems tha|
0000cf70  74 20 6c 65 64 20 74 6f  20 4a 6f 68 6e 20 42 6f  |t led to John Bo|
0000cf80  77 6c 65 72 27 73 20 61  6e 64 20 74 68 65 20 44  |wler's and the D|
0000cf90  65 76 69 6f 75 73 0a 61  6c 67 6f 72 69 74 68 6d  |evious.algorithm|
0000cfa0  73 3a 20 75 6e 74 69 6c  20 41 75 67 20 39 31 20  |s: until Aug 91 |
0000cfb0  43 68 61 6e 67 65 46 53  49 20 75 73 65 64 20 74  |ChangeFSI used t|
0000cfc0  68 65 69 72 20 77 6f 72  6b 20 66 6f 72 20 69 74  |heir work for it|
0000cfd0  73 20 22 50 72 65 63 69  73 65 0a 4d 61 74 63 68  |s "Precise.Match|
0000cfe0  69 6e 67 22 20 61 6c 67  6f 72 69 74 68 6d 2e 20  |ing" algorithm. |
0000cff0  49 74 20 6e 6f 20 6c 6f  6e 67 65 72 20 75 73 65  |It no longer use|
0000d000  73 20 61 6e 79 20 6f 66  20 74 68 65 69 72 20 63  |s any of their c|
0000d010  6f 64 65 2c 20 62 75 74  20 6f 77 65 73 20 61 20  |ode, but owes a |
0000d020  64 65 62 74 0a 66 6f 72  20 6f 76 65 72 61 6c 6c  |debt.for overall|
0000d030  20 61 70 70 72 6f 61 63  68 2e 20 41 20 73 6d 61  | approach. A sma|
0000d040  6c 6c 20 74 68 61 6e 6b  20 79 6f 75 20 74 6f 20  |ll thank you to |
0000d050  53 70 65 6e 63 65 72 20  54 68 6f 6d 61 73 20 66  |Spencer Thomas f|
0000d060  6f 72 20 70 75 74 74 69  6e 67 20 6d 65 20 6f 6e  |or putting me on|
0000d070  0a 74 68 65 20 74 72 61  63 6b 20 77 68 69 63 68  |.the track which|
0000d080  20 6c 65 64 20 74 6f 20  74 68 65 20 44 65 76 69  | led to the Devi|
0000d090  6f 75 73 20 63 6f 6c 6f  75 72 20 6d 61 74 63 68  |ous colour match|
0000d0a0  69 6e 67 20 73 79 73 74  65 6d 27 73 20 61 6c 67  |ing system's alg|
0000d0b0  6f 72 69 74 68 6d 2e 5d  0a 0a 46 75 72 74 68 65  |orithm.]..Furthe|
0000d0c0  72 20 69 6e 66 6f 72 6d  61 74 69 6f 6e 20 6f 6e  |r information on|
0000d0d0  20 64 69 74 68 65 72 69  6e 67 20 63 61 6e 20 62  | dithering can b|
0000d0e0  65 20 66 6f 75 6e 64 20  69 6e 20 22 44 69 67 69  |e found in "Digi|
0000d0f0  74 61 6c 20 48 61 6c 66  74 6f 6e 69 6e 67 22 20  |tal Halftoning" |
0000d100  62 79 20 52 6f 62 65 72  74 0a 55 6c 69 63 68 6e  |by Robert.Ulichn|
0000d110  65 79 20 70 75 62 6c 69  73 68 65 64 20 62 79 20  |ey published by |
0000d120  74 68 65 20 4d 49 54 20  50 72 65 73 73 2c 20 49  |the MIT Press, I|
0000d130  53 42 4e 20 30 2d 32 36  32 2d 32 31 30 30 39 2d  |SBN 0-262-21009-|
0000d140  36 2e 20 41 20 62 6f 6f  6b 20 77 68 69 63 68 20  |6. A book which |
0000d150  77 6f 75 6c 64 20 68 61  76 65 0a 62 65 65 6e 20  |would have.been |
0000d160  75 73 65 66 75 6c 20 77  68 65 6e 20 73 74 61 72  |useful when star|
0000d170  74 69 6e 67 20 77 72 69  74 69 6e 67 20 74 68 65  |ting writing the|
0000d180  20 70 72 6f 67 72 61 6d  2c 20 72 61 74 68 65 72  | program, rather|
0000d190  20 74 68 61 6e 20 61 66  74 65 72 20 69 74 20 77  | than after it w|
0000d1a0  61 73 20 6e 65 61 72 6c  79 0a 66 69 6e 69 73 68  |as nearly.finish|
0000d1b0  65 64 21 20 48 69 73 74  6f 67 72 61 6d 20 65 71  |ed! Histogram eq|
0000d1c0  75 61 6c 69 73 61 74 69  6f 6e 20 69 73 20 69 6e  |ualisation is in|
0000d1d0  20 22 41 6c 67 6f 72 69  74 68 6d 73 20 66 6f 72  | "Algorithms for|
0000d1e0  20 47 72 61 70 68 69 63  73 20 61 6e 64 20 49 6d  | Graphics and Im|
0000d1f0  61 67 65 0a 50 72 6f 63  65 73 73 69 6e 67 22 20  |age.Processing" |
0000d200  62 79 20 54 68 65 6f 20  50 61 76 6c 69 64 69 73  |by Theo Pavlidis|
0000d210  20 70 75 62 6c 69 73 68  65 64 20 62 79 20 43 6f  | published by Co|
0000d220  6d 70 75 74 65 72 20 53  63 69 65 6e 63 65 20 50  |mputer Science P|
0000d230  72 65 73 73 2c 20 49 53  42 4e 0a 30 2d 39 31 34  |ress, ISBN.0-914|
0000d240  38 39 34 2d 36 35 2d 58  2e 0a                    |894-65-X..|
0000d24a