Home » Archimedes archive » Apps » Acorn Applications Update (1994)(Acorn Computers).adf » !ChangeFSI/FSIinfo
!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 » Archimedes archive » Apps » Acorn Applications Update (1994)(Acorn Computers).adf |
Filename: | !ChangeFSI/FSIinfo |
Read OK: | ✔ |
File size: | CD21 bytes |
Load address: | FFFFFF44 |
Exec address: | FDAFAACC |
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). 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, (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, (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 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 "GIF87a" 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 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 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, 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 on my desk. 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. 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 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 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 -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: Roger Wilson's (me) colour matching algorithm 4 bit modes: Roger Wilson's (me) colour matching algorithm 8 bit modes: Roger Wilson's (me) 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]. Roger Wilson's (i.e. my) 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 my 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 my 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 I wish I'd had when I started 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 41 6e 20 6f 70 74 69 |pen-8)...An opti| 00005690 6f 6e 20 66 6f 72 20 74 65 73 74 69 6e 67 20 69 |on for testing i| 000056a0 73 20 22 2d 6e 6f 64 69 74 68 65 72 22 20 77 68 |s "-nodither" wh| 000056b0 69 63 68 20 64 69 73 61 62 6c 65 73 20 74 68 65 |ich disables the| 000056c0 20 46 6c 6f 79 64 20 53 74 65 69 6e 62 65 72 67 | Floyd Steinberg| 000056d0 20 65 72 72 6f 72 0a 64 69 66 66 75 73 69 6f 6e | error.diffusion| 000056e0 20 73 74 65 70 20 63 6f 6d 70 6c 65 74 65 6c 79 | step completely| 000056f0 2e 20 56 65 72 73 69 6f 6e 73 20 61 66 74 65 72 |. Versions after| 00005700 20 36 74 68 20 4a 75 6e 65 20 31 39 39 30 20 61 | 6th June 1990 a| 00005710 72 65 20 6d 6f 72 65 20 61 63 63 75 72 61 74 65 |re more accurate| 00005720 20 61 74 0a 64 6f 69 6e 67 20 74 68 69 73 2e 0a | at.doing this..| 00005730 0a 54 68 65 20 76 61 72 69 6f 75 73 20 70 72 6f |.The various pro| 00005740 63 65 73 73 65 73 20 64 65 73 63 72 69 62 65 64 |cesses described| 00005750 20 61 62 6f 76 65 20 61 72 65 20 61 70 70 6c 69 | above are appli| 00005760 65 64 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 |ed in the follow| 00005770 69 6e 67 20 6f 72 64 65 72 20 66 6f 72 0a 70 69 |ing order for.pi| 00005780 63 74 75 72 65 73 20 77 69 74 68 20 6d 6f 72 65 |ctures with more| 00005790 20 6f 75 74 70 75 74 20 70 69 78 65 6c 73 20 74 | output pixels t| 000057a0 68 61 6e 20 69 6e 70 75 74 3a 0a 20 20 20 28 61 |han input:. (a| 000057b0 29 20 72 61 6e 67 65 20 6f 72 20 68 69 73 74 6f |) range or histo| 000057c0 67 72 61 6d 20 65 71 75 61 6c 69 73 61 74 69 6f |gram equalisatio| 000057d0 6e 2c 0a 20 20 20 28 62 29 20 73 68 61 72 70 65 |n,. (b) sharpe| 000057e0 6e 2c 0a 20 20 20 28 63 29 20 73 63 61 6c 65 2c |n,. (c) scale,| 000057f0 0a 20 20 20 28 64 29 20 65 72 72 6f 72 20 64 69 |. (d) error di| 00005800 66 66 75 73 69 6f 6e 2e 0a 54 68 69 73 20 6f 72 |ffusion..This or| 00005810 64 65 72 20 69 73 20 63 68 6f 73 65 6e 20 73 6f |der is chosen so| 00005820 20 74 68 61 74 3a 0a 20 20 20 28 31 29 20 73 69 | that:. (1) si| 00005830 6e 63 65 20 74 68 65 20 69 6e 70 75 74 20 70 69 |nce the input pi| 00005840 78 65 6c 73 20 28 72 61 74 68 65 72 20 74 68 61 |xels (rather tha| 00005850 6e 20 74 68 65 20 6f 75 74 70 75 74 20 70 69 78 |n the output pix| 00005860 65 6c 73 29 20 61 72 65 20 73 68 61 72 70 65 6e |els) are sharpen| 00005870 65 64 2c 0a 20 20 20 20 20 20 20 74 68 65 72 65 |ed,. there| 00005880 20 69 73 20 6e 6f 20 66 61 6c 73 65 20 65 64 67 | is no false edg| 00005890 65 20 69 6e 74 72 6f 64 75 63 65 64 20 77 68 65 |e introduced whe| 000058a0 6e 20 70 69 78 65 6c 73 20 61 72 65 20 72 65 70 |n pixels are rep| 000058b0 6c 69 63 61 74 65 64 2e 0a 0a 54 68 65 20 76 61 |licated...The va| 000058c0 72 69 6f 75 73 20 70 72 6f 63 65 73 73 65 73 20 |rious processes | 000058d0 64 65 73 63 72 69 62 65 64 20 61 62 6f 76 65 20 |described above | 000058e0 61 72 65 20 61 70 70 6c 69 65 64 20 69 6e 20 74 |are applied in t| 000058f0 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6f 72 64 |he following ord| 00005900 65 72 20 66 6f 72 0a 70 69 63 74 75 72 65 73 20 |er for.pictures | 00005910 77 69 74 68 20 66 65 77 65 72 20 6f 75 74 70 75 |with fewer outpu| 00005920 74 20 70 69 78 65 6c 73 20 74 68 61 6e 20 69 6e |t pixels than in| 00005930 70 75 74 3a 0a 20 20 20 28 61 29 20 73 63 61 6c |put:. (a) scal| 00005940 65 2c 0a 20 20 20 28 62 29 20 72 61 6e 67 65 20 |e,. (b) range | 00005950 6f 72 20 68 69 73 74 6f 67 72 61 6d 20 65 71 75 |or histogram equ| 00005960 61 6c 69 73 61 74 69 6f 6e 2c 0a 20 20 20 28 63 |alisation,. (c| 00005970 29 20 73 68 61 72 70 65 6e 2c 0a 20 20 20 28 64 |) sharpen,. (d| 00005980 29 20 65 72 72 6f 72 20 64 69 66 66 75 73 69 6f |) error diffusio| 00005990 6e 2e 0a 54 68 69 73 20 6f 72 64 65 72 20 69 73 |n..This order is| 000059a0 20 63 68 6f 73 65 6e 20 73 6f 20 74 68 61 74 3a | chosen so that:| 000059b0 0a 20 20 20 28 31 29 20 72 61 6e 67 69 6e 67 20 |. (1) ranging | 000059c0 63 61 6e 20 65 6e 68 61 6e 63 65 20 64 6f 77 6e |can enhance down| 000059d0 2d 73 69 7a 65 64 20 69 6d 61 67 65 73 2e 20 53 |-sized images. S| 000059e0 61 79 20 61 20 62 6c 61 63 6b 2f 77 68 69 74 65 |ay a black/white| 000059f0 20 64 69 74 68 65 72 65 64 20 69 6d 61 67 65 0a | dithered image.| 00005a00 20 20 20 20 20 20 20 69 73 20 72 65 64 75 63 65 | is reduce| 00005a10 64 20 69 6e 20 73 69 7a 65 2c 20 73 6f 20 74 68 |d in size, so th| 00005a20 61 74 20 74 68 65 20 6f 75 74 70 75 74 20 66 72 |at the output fr| 00005a30 6f 6d 20 74 68 65 20 73 63 61 6c 69 6e 67 20 70 |om the scaling p| 00005a40 72 6f 63 65 73 73 20 69 73 20 28 73 6f 6d 65 0a |rocess is (some.| 00005a50 20 20 20 20 20 20 20 61 70 70 72 6f 78 69 6d 61 | approxima| 00005a60 74 69 6f 6e 20 74 6f 29 20 74 68 65 20 6f 72 69 |tion to) the ori| 00005a70 67 69 6e 61 6c 20 67 72 65 79 20 6c 65 76 65 6c |ginal grey level| 00005a80 73 3b 20 74 68 65 6e 20 72 61 6e 67 69 6e 67 20 |s; then ranging | 00005a90 63 61 6e 20 65 78 70 61 6e 64 20 74 68 69 73 0a |can expand this.| 00005aa0 20 20 20 20 20 20 20 69 66 20 70 6f 73 73 69 62 | if possib| 00005ab0 6c 65 2e 0a 20 20 20 28 32 29 20 73 68 61 72 70 |le.. (2) sharp| 00005ac0 65 6e 69 6e 67 20 63 61 6e 20 62 65 20 75 73 65 |ening can be use| 00005ad0 64 20 74 6f 20 6f 66 66 73 65 74 20 74 68 65 20 |d to offset the | 00005ae0 62 6c 75 72 72 69 6e 67 20 65 66 66 65 63 74 73 |blurring effects| 00005af0 20 6f 66 20 73 63 61 6c 69 6e 67 2e 0a 20 20 20 | of scaling.. | 00005b00 28 33 29 20 73 69 6e 63 65 20 74 68 65 20 6f 75 |(3) since the ou| 00005b10 74 70 75 74 20 70 69 78 65 6c 73 20 28 72 61 74 |tput pixels (rat| 00005b20 68 65 72 20 74 68 61 6e 20 74 68 65 20 69 6e 70 |her than the inp| 00005b30 75 74 20 70 69 78 65 6c 73 29 20 61 72 65 20 73 |ut pixels) are s| 00005b40 68 61 72 70 65 6e 65 64 2c 0a 20 20 20 20 20 20 |harpened,. | 00005b50 20 74 68 65 20 65 66 66 65 63 74 20 6f 66 20 2d | the effect of -| 00005b60 73 68 61 72 70 65 6e 4e 20 69 73 20 63 6f 6e 73 |sharpenN is cons| 00005b70 69 73 74 65 6e 74 20 6f 76 65 72 20 64 69 66 66 |istent over diff| 00005b80 65 72 65 6e 74 6c 79 20 73 63 61 6c 65 64 20 69 |erently scaled i| 00005b90 6d 61 67 65 73 2e 0a 0a 54 68 65 72 65 20 6d 61 |mages...There ma| 00005ba0 79 20 62 65 20 74 69 6d 65 73 20 77 68 65 6e 20 |y be times when | 00005bb0 74 68 69 73 20 61 75 74 6f 6d 61 74 69 63 20 73 |this automatic s| 00005bc0 65 6c 65 63 74 69 6f 6e 20 6f 66 20 6f 72 64 65 |election of orde| 00005bd0 72 20 67 65 74 73 20 69 74 20 77 72 6f 6e 67 2c |r gets it wrong,| 00005be0 0a 70 61 72 74 69 63 75 6c 61 72 6c 79 20 77 68 |.particularly wh| 00005bf0 65 6e 20 63 68 61 6e 67 69 6e 67 20 74 68 65 20 |en changing the | 00005c00 61 73 70 65 63 74 20 72 61 74 69 6f 2c 20 69 74 |aspect ratio, it| 00005c10 20 69 73 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 | is possible to | 00005c20 74 72 69 67 67 65 72 20 73 6f 6d 65 0a 75 6e 64 |trigger some.und| 00005c30 65 73 69 72 61 62 6c 65 20 73 68 61 72 70 65 6e |esirable sharpen| 00005c40 69 6e 67 20 61 72 74 69 66 61 63 74 73 2e 20 55 |ing artifacts. U| 00005c50 73 65 20 74 68 65 20 70 72 6f 67 72 61 6d 20 74 |se the program t| 00005c60 77 69 63 65 20 77 69 74 68 20 73 68 61 72 70 65 |wice with sharpe| 00005c70 6e 69 6e 67 20 28 73 61 79 29 0a 64 69 73 61 62 |ning (say).disab| 00005c80 6c 65 64 20 61 6e 64 20 65 6e 61 62 6c 65 64 20 |led and enabled | 00005c90 69 6e 20 74 68 65 20 6f 72 64 65 72 20 72 65 71 |in the order req| 00005ca0 75 69 72 65 64 2e 0a 0a 45 78 61 6d 70 6c 65 73 |uired...Examples| 00005cb0 20 6f 66 20 75 73 65 3a 0a 0a 4d 61 6b 65 20 22 | of use:..Make "| 00005cc0 73 74 61 6e 64 61 72 64 20 70 61 6c 65 74 74 65 |standard palette| 00005cd0 22 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 65 78 |" versions of ex| 00005ce0 69 73 74 69 6e 67 20 32 35 36 20 63 6f 6c 6f 75 |isting 256 colou| 00005cf0 72 20 69 6d 61 67 65 73 20 28 66 6f 72 20 65 78 |r images (for ex| 00005d00 61 6d 70 6c 65 0a 74 68 65 20 57 61 74 66 6f 72 |ample.the Watfor| 00005d10 64 20 64 69 67 69 74 69 73 65 72 20 70 6c 75 73 |d digitiser plus| 00005d20 20 63 6f 6c 6f 75 72 20 62 6f 61 72 64 20 64 6f | colour board do| 00005d30 65 73 6e 27 74 20 75 73 65 20 74 68 65 20 73 74 |esn't use the st| 00005d40 61 6e 64 61 72 64 20 70 61 6c 65 74 74 65 29 2e |andard palette).| 00005d50 0a 20 20 28 65 2e 67 2e 20 22 63 68 61 6e 67 65 |. (e.g. "change| 00005d60 66 73 69 20 69 6e 20 6f 75 74 20 31 33 70 22 20 |fsi in out 13p" | 00005d70 66 6f 72 20 61 20 63 6f 6c 6f 75 72 65 64 20 57 |for a coloured W| 00005d80 61 74 66 6f 72 64 20 70 69 63 74 75 72 65 29 0a |atford picture).| 00005d90 0a 4f 72 20 63 6f 6e 76 65 72 74 20 61 20 63 6f |.Or convert a co| 00005da0 6c 6f 75 72 20 70 69 63 74 75 72 65 20 74 6f 20 |lour picture to | 00005db0 73 6f 6d 65 74 68 69 6e 67 20 79 6f 75 20 63 61 |something you ca| 00005dc0 6e 20 73 65 65 20 6f 6e 20 79 6f 75 72 20 68 69 |n see on your hi| 00005dd0 67 68 20 72 65 73 20 6d 6f 6e 6f 0a 6d 6f 6e 69 |gh res mono.moni| 00005de0 74 6f 72 2e 0a 20 20 28 65 2e 67 2e 20 22 63 68 |tor.. (e.g. "ch| 00005df0 61 6e 67 65 66 73 69 20 69 6e 20 6f 75 74 20 31 |angefsi in out 1| 00005e00 38 20 2d 73 68 61 72 70 65 6e 20 2d 69 6e 66 6f |8 -sharpen -info| 00005e10 22 29 0a 0a 4f 72 20 63 6f 6e 76 65 72 74 20 61 |")..Or convert a| 00005e20 20 6c 61 72 67 65 20 6d 6f 6e 6f 63 68 72 6f 6d | large monochrom| 00005e30 65 20 70 69 63 74 75 72 65 20 28 66 72 6f 6d 20 |e picture (from | 00005e40 61 20 73 63 61 6e 6e 65 72 2c 20 73 61 79 29 20 |a scanner, say) | 00005e50 74 6f 20 73 6f 6d 65 74 68 69 6e 67 0a 77 68 69 |to something.whi| 00005e60 63 68 20 63 61 6e 20 62 65 20 73 65 65 6e 2e 0a |ch can be seen..| 00005e70 20 20 28 65 2e 67 2e 20 22 63 68 61 6e 67 65 66 | (e.g. "changef| 00005e80 73 69 20 69 6e 20 6f 75 74 20 32 30 74 20 31 3a |si in out 20t 1:| 00005e90 34 20 2d 67 61 6d 6d 61 22 29 0a 0a 4f 72 20 63 |4 -gamma")..Or c| 00005ea0 6f 6e 76 65 72 74 20 61 20 63 6f 6c 6f 75 72 20 |onvert a colour | 00005eb0 70 69 63 74 75 72 65 20 74 6f 20 67 72 65 79 20 |picture to grey | 00005ec0 73 63 61 6c 65 20 66 6f 72 20 74 68 65 20 64 65 |scale for the de| 00005ed0 73 6b 74 6f 70 2e 0a 20 20 28 65 2e 67 2e 20 22 |sktop.. (e.g. "| 00005ee0 63 68 61 6e 67 65 66 73 69 20 69 6e 20 6f 75 74 |changefsi in out| 00005ef0 20 32 30 22 29 0a 0a 4f 72 20 63 68 61 6e 67 65 | 20")..Or change| 00005f00 20 61 20 35 31 32 20 62 79 20 34 38 30 20 69 6d | a 512 by 480 im| 00005f10 61 67 65 20 74 6f 20 73 74 61 6e 64 61 72 64 20 |age to standard | 00005f20 66 6f 72 6d 61 74 20 61 6e 64 20 61 73 70 65 63 |format and aspec| 00005f30 74 20 72 61 74 69 6f 0a 20 20 28 65 2e 67 2e 20 |t ratio. (e.g. | 00005f40 22 63 68 61 6e 67 65 66 73 69 20 69 6e 20 6f 75 |"changefsi in ou| 00005f50 74 20 31 35 20 36 34 30 3a 35 31 32 20 35 31 32 |t 15 640:512 512| 00005f60 3a 34 38 30 22 29 0a 20 20 28 6f 72 20 22 63 68 |:480"). (or "ch| 00005f70 61 6e 67 65 66 73 69 20 69 6e 20 6f 75 74 20 3d |angefsi in out =| 00005f80 20 2d 72 61 6e 67 65 22 29 0a 0a 4f 72 20 63 68 | -range")..Or ch| 00005f90 61 6e 67 65 20 74 6f 20 64 69 67 69 74 61 6c 20 |ange to digital | 00005fa0 72 2c 20 67 2c 20 62 0a 20 20 28 65 2e 67 2e 20 |r, g, b. (e.g. | 00005fb0 22 63 68 61 6e 67 65 66 73 69 20 69 6e 20 6f 75 |"changefsi in ou| 00005fc0 74 20 32 30 64 20 2d 73 68 61 72 70 65 6e 31 36 |t 20d -sharpen16| 00005fd0 22 29 0a 0a 4f 72 20 63 6f 6e 76 65 72 74 20 61 |")..Or convert a| 00005fe0 20 70 69 63 74 75 72 65 20 66 6f 72 20 70 72 69 | picture for pri| 00005ff0 6e 74 69 6e 67 20 6f 6e 20 61 20 33 30 30 64 70 |nting on a 300dp| 00006000 69 20 6c 61 73 65 72 2e 0a 20 20 28 65 2e 67 2e |i laser.. (e.g.| 00006010 20 22 63 68 61 6e 67 65 66 73 69 20 69 6e 20 6f | "changefsi in o| 00006020 75 74 20 31 38 63 20 33 30 30 3a 39 30 20 2d 73 |ut 18c 300:90 -s| 00006030 68 61 72 70 65 6e 22 29 0a 0a 41 6e 64 20 6d 61 |harpen")..And ma| 00006040 6e 79 20 6d 6f 72 65 20 75 73 65 73 20 73 75 63 |ny more uses suc| 00006050 68 20 61 73 20 6d 61 6b 69 6e 67 20 6d 69 6e 69 |h as making mini| 00006060 61 74 75 72 65 73 20 6f 66 20 70 69 63 74 75 72 |atures of pictur| 00006070 65 73 2c 20 61 6e 69 6d 61 74 65 64 20 73 65 71 |es, animated seq| 00006080 75 65 6e 63 65 73 20 6f 66 0a 70 69 63 74 75 72 |uences of.pictur| 00006090 65 73 20 63 68 61 6e 67 69 6e 67 20 73 69 7a 65 |es changing size| 000060a0 20 28 6f 72 20 73 68 61 72 70 6e 65 73 73 21 29 | (or sharpness!)| 000060b0 2c 20 63 6f 6e 76 65 72 74 69 6e 67 20 41 72 74 |, converting Art| 000060c0 69 73 61 6e 20 70 69 63 74 75 72 65 73 20 74 6f |isan pictures to| 000060d0 20 74 68 65 0a 64 65 73 6b 74 6f 70 20 28 74 72 | the.desktop (tr| 000060e0 79 20 6c 6f 6f 6b 69 6e 67 20 61 74 20 74 68 65 |y looking at the| 000060f0 20 41 72 74 69 73 61 6e 20 47 61 72 64 65 6e 20 | Artisan Garden | 00006100 77 69 74 68 20 74 68 65 20 64 65 73 6b 74 6f 70 |with the desktop| 00006110 20 69 6e 20 32 35 36 20 63 6f 6c 6f 75 72 73 20 | in 256 colours | 00006120 61 6e 64 0a 43 68 61 6e 67 65 46 53 49 27 73 20 |and.ChangeFSI's | 00006130 76 65 72 73 69 6f 6e 20 2d 20 74 68 65 20 73 74 |version - the st| 00006140 72 69 70 65 73 20 6f 6e 20 74 68 65 20 6c 61 77 |ripes on the law| 00006150 6e 20 76 61 6e 69 73 68 20 77 69 74 68 20 74 68 |n vanish with th| 00006160 65 20 73 74 61 6e 64 61 72 64 0a 76 65 72 73 69 |e standard.versi| 00006170 6f 6e 29 2e 20 4f 62 76 69 6f 75 73 6c 79 20 79 |on). Obviously y| 00006180 6f 75 20 77 69 6c 6c 20 6e 65 65 64 20 74 6f 20 |ou will need to | 00006190 68 61 76 65 20 63 61 70 74 75 72 65 64 20 69 6e |have captured in| 000061a0 70 75 74 20 61 73 20 61 20 73 70 72 69 74 65 20 |put as a sprite | 000061b0 66 69 72 73 74 21 0a 55 73 69 6e 67 20 6d 6f 72 |first!.Using mor| 000061c0 65 20 70 69 78 65 6c 73 20 70 65 72 20 69 6e 63 |e pixels per inc| 000061d0 68 20 63 61 6e 20 69 6d 70 72 6f 76 65 20 74 68 |h can improve th| 000061e0 65 20 71 75 61 6c 69 74 79 20 6f 66 20 74 68 65 |e quality of the| 000061f0 20 72 65 73 75 6c 74 2c 20 70 61 72 74 69 63 75 | result, particu| 00006200 6c 61 72 6c 79 0a 63 6f 6e 76 65 72 74 69 6e 67 |larly.converting| 00006210 20 74 6f 20 6d 75 6c 74 69 73 79 6e 63 20 6d 6f | to multisync mo| 00006220 64 65 73 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 2c |des...Note that,| 00006230 20 66 6f 72 20 61 6c 6c 20 77 6f 72 6b 20 77 69 | for all work wi| 00006240 74 68 20 43 68 61 6e 67 65 46 53 49 2c 20 69 74 |th ChangeFSI, it| 00006250 20 69 73 20 61 20 67 6f 6f 64 20 69 64 65 61 20 | is a good idea | 00006260 74 6f 20 73 74 61 72 74 20 66 72 6f 6d 20 74 68 |to start from th| 00006270 65 0a 75 6e 70 72 6f 63 65 73 73 65 64 20 69 6e |e.unprocessed in| 00006280 70 75 74 20 65 61 63 68 20 74 69 6d 65 20 61 6e |put each time an| 00006290 64 20 64 6f 20 65 76 65 72 79 74 68 69 6e 67 20 |d do everything | 000062a0 69 6e 20 6f 6e 65 20 70 61 73 73 20 28 72 61 74 |in one pass (rat| 000062b0 68 65 72 20 74 68 61 6e 20 75 73 69 6e 67 0a 74 |her than using.t| 000062c0 68 65 20 70 72 6f 67 72 61 6d 20 73 65 76 65 72 |he program sever| 000062d0 61 6c 20 74 69 6d 65 73 20 77 69 74 68 20 73 69 |al times with si| 000062e0 6d 70 6c 65 20 61 72 67 75 6d 65 6e 74 73 29 2e |mple arguments).| 000062f0 20 49 74 20 69 73 20 6e 6f 74 20 61 20 67 6f 6f | It is not a goo| 00006300 64 20 69 64 65 61 20 74 6f 0a 73 68 61 72 70 65 |d idea to.sharpe| 00006310 6e 20 61 20 64 69 74 68 65 72 65 64 20 69 6d 61 |n a dithered ima| 00006320 67 65 20 28 75 6e 6c 65 73 73 20 69 74 20 68 61 |ge (unless it ha| 00006330 73 20 62 65 65 6e 20 73 68 72 75 6e 6b 29 2e 0a |s been shrunk)..| 00006340 0a 2a 2a 2a 20 49 74 20 69 73 20 61 20 76 65 72 |.*** It is a ver| 00006350 79 20 67 6f 6f 64 20 69 64 65 61 20 74 6f 20 6b |y good idea to k| 00006360 65 65 70 20 74 68 65 20 68 69 67 68 65 73 74 20 |eep the highest | 00006370 72 65 73 6f 6c 75 74 69 6f 6e 20 6d 61 73 74 65 |resolution maste| 00006380 72 20 74 68 61 74 20 79 6f 75 20 63 61 6e 0a 61 |r that you can.a| 00006390 66 66 6f 72 64 20 74 68 65 20 64 69 73 63 20 73 |fford the disc s| 000063a0 70 61 63 65 20 66 6f 72 2e 2e 2e 2e 0a 0a 54 68 |pace for......Th| 000063b0 65 20 43 68 61 6e 67 65 46 53 49 20 70 72 6f 67 |e ChangeFSI prog| 000063c0 72 61 6d 20 63 61 6e 20 61 6c 73 6f 20 63 6f 6e |ram can also con| 000063d0 76 65 72 74 20 66 72 6f 6d 20 6e 6f 6e 20 52 49 |vert from non RI| 000063e0 53 43 20 4f 53 20 73 70 72 69 74 65 20 66 6f 72 |SC OS sprite for| 000063f0 6d 61 74 73 20 77 68 69 6c 65 0a 64 6f 69 6e 67 |mats while.doing| 00006400 20 61 6c 6c 20 6f 66 20 74 68 65 20 61 62 6f 76 | all of the abov| 00006410 65 20 70 72 6f 63 65 73 73 69 6e 67 2e 20 43 68 |e processing. Ch| 00006420 61 6e 67 65 46 53 49 20 77 69 6c 6c 20 77 6f 72 |angeFSI will wor| 00006430 6b 20 6f 75 74 20 77 68 61 74 20 74 68 65 20 66 |k out what the f| 00006440 6f 72 6d 61 74 20 69 73 0a 61 75 74 6f 6d 61 74 |ormat is.automat| 00006450 69 63 61 6c 6c 79 2e 20 46 6f 72 20 6e 61 74 69 |ically. For nati| 00006460 76 65 20 52 49 53 43 20 4f 53 20 66 6f 72 6d 61 |ve RISC OS forma| 00006470 74 73 2c 20 69 74 20 75 73 65 73 20 74 68 65 20 |ts, it uses the | 00006480 66 69 6c 65 74 79 70 65 20 61 6e 64 20 74 68 65 |filetype and the| 00006490 72 65 20 63 61 6e 0a 62 65 20 6e 6f 20 63 6f 6e |re can.be no con| 000064a0 66 75 73 69 6f 6e 2e 20 46 6f 72 20 61 6c 69 65 |fusion. For alie| 000064b0 6e 20 66 6f 72 6d 61 74 73 2c 20 69 74 20 66 69 |n formats, it fi| 000064c0 72 73 74 20 74 72 69 65 73 20 6c 6f 6f 6b 69 6e |rst tries lookin| 000064d0 67 20 66 6f 72 20 70 61 72 74 69 63 75 6c 61 72 |g for particular| 000064e0 0a 69 64 65 6e 74 69 66 79 69 6e 67 20 69 6e 66 |.identifying inf| 000064f0 6f 72 6d 61 74 69 6f 6e 20 69 6e 73 69 64 65 20 |ormation inside | 00006500 74 68 65 20 66 69 6c 65 20 61 6e 64 20 74 68 65 |the file and the| 00006510 6e 20 28 69 66 20 74 68 69 73 20 66 61 69 6c 73 |n (if this fails| 00006520 20 74 6f 20 68 61 76 65 0a 69 64 65 6e 74 69 66 | to have.identif| 00006530 69 65 64 20 61 20 66 6f 72 6d 61 74 29 20 74 72 |ied a format) tr| 00006540 69 65 73 20 75 73 69 6e 67 20 74 68 65 20 66 69 |ies using the fi| 00006550 6c 65 20 6e 61 6d 65 20 69 74 73 65 6c 66 2e 20 |le name itself. | 00006560 53 65 65 20 74 68 65 20 64 65 74 61 69 6c 73 20 |See the details | 00006570 62 65 6c 6f 77 3a 0a 0a 54 68 65 20 52 49 53 43 |below:..The RISC| 00006580 20 4f 53 20 73 70 72 69 74 65 20 66 6f 72 6d 61 | OS sprite forma| 00006590 74 0a 20 43 6f 6e 74 61 69 6e 73 20 31 2c 20 32 |t. Contains 1, 2| 000065a0 2c 20 34 20 6f 72 20 38 20 62 69 74 73 20 70 65 |, 4 or 8 bits pe| 000065b0 72 20 70 69 78 65 6c 20 77 69 74 68 20 61 20 6d |r pixel with a m| 000065c0 6f 64 69 66 69 63 61 74 69 6f 6e 20 70 61 6c 65 |odification pale| 000065d0 74 74 65 20 6f 66 20 75 70 20 74 6f 0a 20 31 36 |tte of up to. 16| 000065e0 20 65 6e 74 72 69 65 73 3b 20 61 6e 79 20 6e 75 | entries; any nu| 000065f0 6d 62 65 72 20 6f 66 20 70 69 78 65 6c 73 20 77 |mber of pixels w| 00006600 69 64 65 20 61 6e 64 20 68 69 67 68 20 75 6e 63 |ide and high unc| 00006610 6f 6d 70 72 65 73 73 65 64 2e 20 44 65 74 61 69 |ompressed. Detai| 00006620 6c 73 20 61 72 65 20 69 6e 0a 20 41 63 6f 72 6e |ls are in. Acorn| 00006630 27 73 20 50 72 6f 67 72 61 6d 6d 65 72 27 73 20 |'s Programmer's | 00006640 52 65 66 65 72 65 6e 63 65 20 4d 61 6e 75 61 6c |Reference Manual| 00006650 2e 0a 20 2b 20 52 65 63 6f 67 6e 69 73 65 64 20 |.. + Recognised | 00006660 62 79 20 66 69 6c 65 20 74 79 70 65 20 46 46 39 |by file type FF9| 00006670 20 28 61 20 70 61 69 6e 74 20 62 72 75 73 68 20 | (a paint brush | 00006680 61 6e 64 20 68 6f 75 73 65 20 69 63 6f 6e 29 0a |and house icon).| 00006690 20 2d 20 44 65 74 61 69 6c 73 20 6f 66 20 68 6f | - Details of ho| 000066a0 77 20 6d 61 6e 79 20 62 69 74 73 20 70 65 72 20 |w many bits per | 000066b0 70 69 78 65 6c 20 61 6e 64 20 74 68 65 20 70 69 |pixel and the pi| 000066c0 78 65 6c 20 73 69 7a 65 20 61 72 65 20 6f 62 74 |xel size are obt| 000066d0 61 69 6e 65 64 20 66 72 6f 6d 0a 20 20 20 74 68 |ained from. th| 000066e0 65 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 |e operating syst| 000066f0 65 6d 20 28 72 61 74 68 65 72 20 74 68 61 6e 20 |em (rather than | 00006700 62 65 69 6e 67 20 69 6e 20 74 68 65 20 66 69 6c |being in the fil| 00006710 65 29 20 66 72 6f 6d 20 74 68 65 20 22 4d 4f 44 |e) from the "MOD| 00006720 45 22 0a 20 20 20 6e 75 6d 62 65 72 2e 20 4d 6f |E". number. Mo| 00006730 64 65 20 65 78 74 65 6e 73 69 6f 6e 73 20 63 61 |de extensions ca| 00006740 6e 20 72 65 73 75 6c 74 20 69 6e 20 61 20 73 6f |n result in a so| 00006750 75 72 63 65 20 69 6d 61 67 65 20 63 6f 6e 74 61 |urce image conta| 00006760 69 6e 69 6e 67 20 61 20 4d 4f 44 45 0a 20 20 20 |ining a MODE. | 00006770 6e 75 6d 62 65 72 20 77 68 69 63 68 20 79 6f 75 |number which you| 00006780 72 20 63 6f 6d 70 75 74 65 72 20 64 6f 65 73 20 |r computer does | 00006790 6e 6f 74 20 75 6e 64 65 72 73 74 61 6e 64 2e 0a |not understand..| 000067a0 20 2d 20 4d 61 73 6b 20 69 6e 66 6f 72 6d 61 74 | - Mask informat| 000067b0 69 6f 6e 20 69 67 6e 6f 72 65 64 0a 20 2d 20 4c |ion ignored. - L| 000067c0 65 66 74 68 61 6e 64 20 77 61 73 74 61 67 65 20 |efthand wastage | 000067d0 69 67 6e 6f 72 65 64 0a 0a 54 68 65 20 6e 65 77 |ignored..The new| 000067e0 20 52 49 53 43 20 4f 53 20 73 70 72 69 74 65 20 | RISC OS sprite | 000067f0 66 6f 72 6d 61 74 0a 20 43 6f 6e 74 61 69 6e 73 |format. Contains| 00006800 20 31 2c 20 32 2c 20 34 2c 20 38 2c 20 31 36 20 | 1, 2, 4, 8, 16 | 00006810 6f 72 20 33 32 20 62 69 74 73 20 70 65 72 20 70 |or 32 bits per p| 00006820 69 78 65 6c 2e 0a 20 2b 20 52 65 63 6f 67 6e 69 |ixel.. + Recogni| 00006830 73 65 64 20 62 79 20 66 69 6c 65 20 74 79 70 65 |sed by file type| 00006840 20 46 46 39 0a 20 2b 20 6e 6f 20 70 72 6f 62 6c | FF9. + no probl| 00006850 65 6d 20 77 69 74 68 20 6d 6f 64 65 20 65 78 74 |em with mode ext| 00006860 65 6e 73 69 6f 6e 73 3a 20 69 6e 66 6f 72 6d 61 |ensions: informa| 00006870 74 69 6f 6e 20 69 73 20 63 6f 64 65 64 20 69 6e |tion is coded in| 00006880 74 6f 20 74 68 65 20 66 6f 72 6d 61 74 0a 20 2d |to the format. -| 00006890 20 4d 61 73 6b 20 69 6e 66 6f 72 6d 61 74 69 6f | Mask informatio| 000068a0 6e 20 69 67 6e 6f 72 65 64 0a 0a 4b 6f 64 61 6b |n ignored..Kodak| 000068b0 20 50 68 6f 74 6f 43 44 0a 20 32 34 20 62 69 74 | PhotoCD. 24 bit| 000068c0 20 70 65 72 20 70 69 78 65 6c 20 69 6d 61 67 65 | per pixel image| 000068d0 73 20 61 74 20 76 61 72 69 6f 75 73 20 72 65 73 |s at various res| 000068e0 6f 6c 75 74 69 6f 6e 73 0a 20 2b 20 52 65 63 6f |olutions. + Reco| 000068f0 67 6e 69 73 65 64 20 62 79 20 66 69 6c 65 20 74 |gnised by file t| 00006900 79 70 65 20 42 45 38 0a 20 2d 20 53 65 74 20 43 |ype BE8. - Set C| 00006910 68 61 6e 67 65 46 53 49 24 50 43 44 49 6e 64 65 |hangeFSI$PCDInde| 00006920 78 20 74 6f 20 72 65 61 64 20 72 65 73 6f 6c 75 |x to read resolu| 00006930 74 69 6f 6e 73 20 6f 74 68 65 72 20 74 68 61 6e |tions other than| 00006940 20 62 61 73 65 20 28 3d 33 29 0a 0a 54 68 65 20 | base (=3)..The | 00006950 41 72 56 69 73 20 66 6f 72 6d 61 74 20 5b 6f 66 |ArVis format [of| 00006960 20 41 72 56 69 73 20 4d 75 6c 74 69 6d 65 64 69 | ArVis Multimedi| 00006970 61 5d 0a 20 43 6f 6e 74 61 69 6e 73 20 35 20 62 |a]. Contains 5 b| 00006980 69 74 73 20 6f 66 20 72 65 64 2c 20 67 72 65 65 |its of red, gree| 00006990 6e 20 61 6e 64 20 62 6c 75 65 20 69 6e 66 6f 72 |n and blue infor| 000069a0 6d 61 74 69 6f 6e 20 65 6e 63 6f 64 65 64 20 69 |mation encoded i| 000069b0 6e 74 6f 20 74 77 6f 20 52 49 53 43 20 4f 53 0a |nto two RISC OS.| 000069c0 20 73 70 72 69 74 65 73 20 22 48 49 50 2e 3c 66 | sprites "HIP.<f| 000069d0 69 6c 65 6e 61 6d 65 3e 22 20 61 6e 64 20 22 4c |ilename>" and "L| 000069e0 4f 50 2e 3c 66 69 6c 65 6e 61 6d 65 3e 22 20 63 |OP.<filename>" c| 000069f0 6f 6d 70 72 69 73 69 6e 67 20 61 20 36 34 30 20 |omprising a 640 | 00006a00 70 69 78 65 6c 20 77 69 64 65 0a 20 61 6e 64 20 |pixel wide. and | 00006a10 32 35 36 20 6c 69 6e 65 20 74 61 6c 6c 20 69 6d |256 line tall im| 00006a20 61 67 65 20 77 69 74 68 20 70 69 78 65 6c 73 20 |age with pixels | 00006a30 73 69 7a 65 64 20 31 3a 32 2e 20 44 65 74 61 69 |sized 1:2. Detai| 00006a40 6c 73 20 66 72 6f 6d 20 41 72 56 69 73 20 4d 75 |ls from ArVis Mu| 00006a50 6c 74 69 6d 65 64 69 61 0a 20 2d 20 52 65 63 6f |ltimedia. - Reco| 00006a60 67 6e 69 73 65 64 20 62 79 20 70 72 6f 76 69 64 |gnised by provid| 00006a70 69 6e 67 20 74 68 65 20 48 49 50 2e 3c 66 69 6c |ing the HIP.<fil| 00006a80 65 6e 61 6d 65 3e 20 28 77 68 69 63 68 20 6d 75 |ename> (which mu| 00006a90 73 74 20 62 65 20 6f 66 20 66 69 6c 65 20 74 79 |st be of file ty| 00006aa0 70 65 20 46 46 39 29 0a 20 2d 20 55 6e 63 6f 6d |pe FF9). - Uncom| 00006ab0 70 72 65 73 73 65 64 20 28 69 6e 64 65 65 64 20 |pressed (indeed | 00006ac0 72 65 70 72 65 73 65 6e 74 73 20 31 36 20 62 69 |represents 16 bi| 00006ad0 74 73 20 69 6e 73 74 65 61 64 20 6f 66 20 31 35 |ts instead of 15| 00006ae0 29 2e 0a 0a 54 68 65 20 50 69 6e 65 61 70 70 6c |)...The Pineappl| 00006af0 65 20 63 6f 6c 6f 75 72 20 64 69 67 69 74 69 73 |e colour digitis| 00006b00 65 72 20 66 6f 72 6d 61 74 20 28 6f 66 20 50 69 |er format (of Pi| 00006b10 6e 65 61 70 70 6c 65 20 53 6f 66 74 77 61 72 65 |neapple Software| 00006b20 29 0a 20 43 6f 6e 74 61 69 6e 73 20 36 20 62 69 |). Contains 6 bi| 00006b30 74 73 20 6f 66 20 67 72 65 65 6e 2c 20 35 20 62 |ts of green, 5 b| 00006b40 69 74 73 20 6f 66 20 72 65 64 20 61 6e 64 20 62 |its of red and b| 00006b50 6c 75 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 |lue information | 00006b60 66 69 6c 65 64 20 61 73 20 61 0a 20 73 69 6e 67 |filed as a. sing| 00006b70 6c 65 20 64 61 74 61 20 66 69 6c 65 20 73 74 61 |le data file sta| 00006b80 72 74 69 6e 67 20 22 46 53 49 66 69 6c 65 22 20 |rting "FSIfile" | 00006b90 63 6f 6d 70 72 69 73 69 6e 67 20 61 20 35 31 32 |comprising a 512| 00006ba0 20 70 69 78 65 6c 20 77 69 64 65 20 61 6e 64 20 | pixel wide and | 00006bb0 32 35 36 0a 20 6c 69 6e 65 20 74 61 6c 6c 20 69 |256. line tall i| 00006bc0 6d 61 67 65 20 77 69 74 68 20 70 69 78 65 6c 73 |mage with pixels| 00006bd0 20 73 69 7a 65 64 20 31 3a 32 2e 0a 20 2d 20 52 | sized 1:2.. - R| 00006be0 65 63 6f 67 6e 69 73 65 64 20 62 79 20 22 46 53 |ecognised by "FS| 00006bf0 49 66 69 6c 65 22 20 69 6e 20 74 68 65 20 66 69 |Ifile" in the fi| 00006c00 6c 65 20 28 77 68 69 63 68 20 63 61 6e 20 62 65 |le (which can be| 00006c10 20 61 6e 79 20 74 79 70 65 29 0a 20 2d 20 55 6e | any type). - Un| 00006c20 63 6f 6d 70 72 65 73 73 65 64 0a 0a 54 68 65 20 |compressed..The | 00006c30 57 61 74 66 6f 72 64 20 56 69 64 65 6f 20 44 69 |Watford Video Di| 00006c40 67 69 74 69 73 65 72 20 22 70 69 63 74 75 72 65 |gitiser "picture| 00006c50 22 20 66 6f 72 6d 61 74 0a 20 43 6f 6e 74 61 69 |" format. Contai| 00006c60 6e 73 20 61 20 72 75 6e 20 6c 65 6e 67 74 68 20 |ns a run length | 00006c70 65 6e 63 6f 64 65 64 20 36 34 20 67 72 65 79 20 |encoded 64 grey | 00006c80 6c 65 76 65 6c 20 35 31 32 20 70 69 78 65 6c 20 |level 512 pixel | 00006c90 77 69 64 65 2c 20 32 35 36 20 6c 69 6e 65 20 69 |wide, 256 line i| 00006ca0 6d 61 67 65 2c 0a 20 77 69 74 68 20 70 69 78 65 |mage,. with pixe| 00006cb0 6c 73 20 73 69 7a 65 64 20 31 3a 32 2e 20 44 65 |ls sized 1:2. De| 00006cc0 74 61 69 6c 73 20 66 72 6f 6d 20 57 61 74 66 6f |tails from Watfo| 00006cd0 72 64 20 45 6c 65 63 74 72 6f 6e 69 63 73 20 4c |rd Electronics L| 00006ce0 74 64 2e 0a 20 2b 20 52 65 63 6f 67 6e 69 73 65 |td.. + Recognise| 00006cf0 64 20 62 79 20 66 69 6c 65 20 74 79 70 65 20 44 |d by file type D| 00006d00 46 41 20 28 61 20 73 6d 61 6c 6c 20 67 72 65 79 |FA (a small grey| 00006d10 20 70 69 63 74 75 72 65 20 6f 66 20 53 74 65 76 | picture of Stev| 00006d20 69 65 20 4e 69 63 6b 73 29 0a 20 2d 20 57 61 72 |ie Nicks). - War| 00006d30 6e 69 6e 67 3a 20 64 6f 6e 27 74 20 66 6f 72 67 |ning: don't forg| 00006d40 65 74 20 74 6f 20 73 61 76 65 20 74 68 65 20 70 |et to save the p| 00006d50 69 63 74 75 72 65 73 20 69 6e 20 2a 75 6e 2d 64 |ictures in *un-d| 00006d60 69 74 68 65 72 65 64 2a 20 73 74 61 74 65 21 0a |ithered* state!.| 00006d70 20 57 68 65 6e 20 75 73 65 64 20 77 69 74 68 20 | When used with | 00006d80 61 20 63 6f 6c 6f 75 72 20 63 6f 6e 76 65 72 74 |a colour convert| 00006d90 65 72 2c 20 43 68 61 6e 67 65 46 53 49 20 63 61 |er, ChangeFSI ca| 00006da0 6e 20 72 65 61 64 20 74 68 72 65 65 20 63 6f 6c |n read three col| 00006db0 6f 75 72 0a 20 73 65 70 61 72 61 74 69 6f 6e 73 |our. separations| 00006dc0 20 73 74 6f 72 65 64 20 69 6e 20 61 20 64 69 72 | stored in a dir| 00006dd0 65 63 74 6f 72 79 20 6f 66 20 73 65 70 61 72 61 |ectory of separa| 00006de0 74 65 20 22 72 65 64 22 2c 20 22 67 72 65 65 6e |te "red", "green| 00006df0 22 20 61 6e 64 20 22 62 6c 75 65 22 0a 20 66 69 |" and "blue". fi| 00006e00 6c 65 73 2e 20 42 65 77 61 72 65 20 6f 66 20 61 |les. Beware of a| 00006e10 75 74 6f 2d 67 61 69 6e 2f 63 6f 6e 74 72 61 73 |uto-gain/contras| 00006e20 74 20 77 68 65 6e 20 75 73 69 6e 67 20 73 75 63 |t when using suc| 00006e30 68 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 21 0a 0a |h information!..| 00006e40 54 68 65 20 50 72 6f 41 72 74 69 73 61 6e 20 63 |The ProArtisan c| 00006e50 6f 6d 70 72 65 73 73 65 64 20 70 69 63 74 75 72 |ompressed pictur| 00006e60 65 20 66 69 6c 65 20 66 6f 72 6d 61 74 0a 20 43 |e file format. C| 00006e70 6f 6e 74 61 69 6e 73 20 61 20 28 6d 69 6c 64 6c |ontains a (mildl| 00006e80 79 29 20 63 6f 6d 70 72 65 73 73 65 64 20 4d 4f |y) compressed MO| 00006e90 44 45 20 31 35 20 28 36 34 30 20 62 79 20 32 35 |DE 15 (640 by 25| 00006ea0 36 20 62 79 20 32 35 36 20 63 6f 6c 6f 75 72 73 |6 by 256 colours| 00006eb0 29 20 70 69 63 74 75 72 65 2e 0a 20 44 65 74 61 |) picture.. Deta| 00006ec0 69 6c 73 20 66 72 6f 6d 20 43 6c 61 72 65 73 2e |ils from Clares.| 00006ed0 0a 20 2b 20 52 65 63 6f 67 6e 69 73 65 64 20 62 |. + Recognised b| 00006ee0 79 20 66 69 6c 65 20 74 79 70 65 20 44 45 32 20 |y file type DE2 | 00006ef0 28 61 20 62 65 69 67 65 20 6d 6f 6e 69 74 6f 72 |(a beige monitor| 00006f00 20 69 6e 20 61 20 67 72 65 79 20 73 75 72 72 6f | in a grey surro| 00006f10 75 6e 64 29 0a 0a 54 68 65 20 54 69 6d 65 53 74 |und)..The TimeSt| 00006f20 65 70 20 73 61 74 65 6c 6c 69 74 65 20 69 6d 61 |ep satellite ima| 00006f30 67 65 20 66 6f 72 6d 61 74 0a 20 54 68 69 73 20 |ge format. This | 00006f40 67 69 76 65 73 20 61 6e 20 75 6e 63 6f 6d 70 72 |gives an uncompr| 00006f50 65 73 73 65 64 20 38 30 30 20 62 79 20 38 30 30 |essed 800 by 800| 00006f60 20 77 69 74 68 20 32 35 36 20 67 72 65 79 20 6c | with 256 grey l| 00006f70 65 76 65 6c 73 2e 0a 20 2b 20 52 65 63 6f 67 6e |evels.. + Recogn| 00006f80 69 73 65 64 20 62 79 20 66 69 6c 65 20 74 79 70 |ised by file typ| 00006f90 65 20 37 41 30 20 28 69 63 6f 6e 20 6e 65 76 65 |e 7A0 (icon neve| 00006fa0 72 20 73 65 65 6e 29 0a 20 2d 20 4e 6f 20 72 65 |r seen). - No re| 00006fb0 73 6f 6c 75 74 69 6f 6e 20 73 70 65 63 69 66 69 |solution specifi| 00006fc0 65 64 2c 20 65 71 75 61 6c 20 74 6f 20 6d 6f 64 |ed, equal to mod| 00006fd0 65 20 32 37 20 61 73 73 75 6d 65 64 0a 20 2d 20 |e 27 assumed. - | 00006fe0 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 6e 65 |Documentation ne| 00006ff0 76 65 72 20 73 65 65 6e 2e 20 41 6e 20 65 78 74 |ver seen. An ext| 00007000 72 61 20 68 65 61 64 65 72 20 66 69 6c 65 20 3c |ra header file <| 00007010 6e 61 6d 65 3e 21 20 69 73 20 6e 6f 74 20 75 6e |name>! is not un| 00007020 64 65 72 73 74 6f 6f 64 0a 20 20 20 61 74 20 61 |derstood. at a| 00007030 6c 6c 2e 2e 2e 2e 2e 0a 0a 43 43 49 52 36 30 31 |ll.......CCIR601| 00007040 20 34 3a 32 3a 32 20 69 6d 61 67 65 73 0a 20 43 | 4:2:2 images. C| 00007050 6f 6e 74 61 69 6e 20 37 32 30 20 70 69 78 65 6c |ontain 720 pixel| 00007060 73 20 62 79 20 32 38 38 20 72 6f 77 73 20 28 50 |s by 288 rows (P| 00007070 41 4c 29 20 5b 32 34 33 20 72 6f 77 73 20 4e 54 |AL) [243 rows NT| 00007080 53 43 5d 20 59 55 56 20 63 6f 64 65 64 20 77 69 |SC] YUV coded wi| 00007090 74 68 0a 20 70 69 78 65 6c 73 20 73 69 7a 65 64 |th. pixels sized| 000070a0 20 31 3a 32 2e 0a 20 2b 20 52 65 63 6f 67 6e 69 | 1:2.. + Recogni| 000070b0 73 65 64 20 62 79 20 66 69 6c 65 20 74 79 70 65 |sed by file type| 000070c0 20 36 30 31 0a 20 2d 20 6f 6e 65 20 66 69 65 6c | 601. - one fiel| 000070d0 64 20 6f 6e 6c 79 0a 0a 41 6e 6f 74 68 65 72 20 |d only..Another | 000070e0 54 69 6d 65 53 74 65 70 20 73 61 74 65 6c 6c 69 |TimeStep satelli| 000070f0 74 65 20 69 6d 61 67 65 20 66 6f 72 6d 61 74 0a |te image format.| 00007100 20 47 69 76 69 6e 67 20 61 6e 20 75 6e 63 6f 6d | Giving an uncom| 00007110 70 72 65 73 73 65 64 20 31 32 38 20 70 69 78 65 |pressed 128 pixe| 00007120 6c 73 20 77 69 64 65 20 62 79 20 32 35 36 20 6c |ls wide by 256 l| 00007130 69 6e 65 73 20 77 69 74 68 20 32 35 36 20 67 72 |ines with 256 gr| 00007140 65 79 20 6c 65 76 65 6c 73 2c 0a 20 70 69 78 65 |ey levels,. pixe| 00007150 6c 73 20 73 69 7a 65 64 20 32 3a 31 2e 20 55 73 |ls sized 2:1. Us| 00007160 65 64 20 62 79 20 54 69 6d 65 53 74 65 70 27 73 |ed by TimeStep's| 00007170 20 21 49 6d 50 72 6f 63 65 73 73 20 61 70 70 6c | !ImProcess appl| 00007180 69 63 61 74 69 6f 6e 2e 0a 20 2b 20 52 65 63 6f |ication.. + Reco| 00007190 67 6e 69 73 65 64 20 62 79 20 66 69 6c 65 20 74 |gnised by file t| 000071a0 79 70 65 20 33 30 30 20 28 22 69 22 20 69 6e 20 |ype 300 ("i" in | 000071b0 61 20 64 6f 63 75 6d 65 6e 74 20 66 72 61 6d 65 |a document frame| 000071c0 29 0a 20 2d 20 44 6f 63 75 6d 65 6e 74 61 74 69 |). - Documentati| 000071d0 6f 6e 20 6e 65 76 65 72 20 73 65 65 6e 2e 0a 20 |on never seen.. | 000071e0 2d 20 41 20 62 69 74 20 63 6f 61 72 73 65 0a 20 |- A bit coarse. | 000071f0 54 68 65 20 67 72 65 79 20 6c 65 76 65 6c 73 20 |The grey levels | 00007200 72 65 70 72 65 73 65 6e 74 20 69 6e 74 65 6e 73 |represent intens| 00007210 69 74 79 20 69 6e 20 76 61 72 69 6f 75 73 20 64 |ity in various d| 00007220 69 66 66 65 72 65 6e 74 20 77 61 76 65 20 62 61 |ifferent wave ba| 00007230 6e 64 73 2e 20 42 79 0a 20 6e 61 6d 69 6e 67 20 |nds. By. naming | 00007240 66 69 6c 65 73 20 22 72 65 64 22 2c 20 22 67 72 |files "red", "gr| 00007250 65 65 6e 22 20 61 6e 64 20 22 62 6c 75 65 22 20 |een" and "blue" | 00007260 61 6e 64 20 68 61 6e 64 69 6e 67 20 43 68 61 6e |and handing Chan| 00007270 67 65 46 53 49 20 74 68 65 20 64 69 72 65 63 74 |geFSI the direct| 00007280 6f 72 79 2c 0a 20 79 6f 75 20 63 61 6e 20 70 72 |ory,. you can pr| 00007290 6f 64 75 63 65 20 61 20 66 61 6c 73 65 20 63 6f |oduce a false co| 000072a0 6c 6f 75 72 20 69 6d 61 67 65 2e 20 48 6f 75 72 |lour image. Hour| 000072b0 73 20 6f 66 20 65 78 70 65 72 69 6d 65 6e 74 61 |s of experimenta| 000072c0 74 69 6f 6e 20 63 61 6e 20 70 72 6f 64 75 63 65 |tion can produce| 000072d0 0a 20 61 6e 20 61 6c 6d 6f 73 74 20 72 65 61 73 |. an almost reas| 000072e0 6f 6e 61 62 6c 65 20 70 69 63 74 75 72 65 2e 2e |onable picture..| 000072f0 2e 0a 0a 54 68 65 20 41 49 4d 20 61 6e 64 20 57 |...The AIM and W| 00007300 69 6c 64 20 56 69 73 69 6f 6e 20 56 31 30 20 66 |ild Vision V10 f| 00007310 6f 72 6d 61 74 0a 20 54 68 69 73 20 70 72 6f 76 |ormat. This prov| 00007320 69 64 65 73 20 61 6e 20 75 6e 63 6f 6d 70 72 65 |ides an uncompre| 00007330 73 73 65 64 20 32 35 36 20 62 79 20 32 35 36 20 |ssed 256 by 256 | 00007340 69 6d 61 67 65 20 77 69 74 68 20 32 35 36 20 67 |image with 256 g| 00007350 72 65 79 20 6c 65 76 65 6c 73 2e 20 44 65 74 61 |rey levels. Deta| 00007360 69 6c 73 0a 20 66 72 6f 6d 20 44 65 6c 66 74 20 |ils. from Delft | 00007370 55 6e 69 76 65 72 73 69 74 79 20 6f 66 20 54 65 |University of Te| 00007380 63 68 6e 6f 6c 6f 67 79 20 61 6e 64 20 45 43 44 |chnology and ECD| 00007390 20 43 6f 6d 70 75 74 65 72 73 20 44 65 6c 66 74 | Computers Delft| 000073a0 20 42 2e 56 2e 0a 20 2b 20 52 65 63 6f 67 6e 69 | B.V.. + Recogni| 000073b0 73 65 64 20 62 79 20 66 69 6c 65 20 74 79 70 65 |sed by file type| 000073c0 20 30 30 34 20 28 61 20 70 69 63 74 75 72 65 20 | 004 (a picture | 000073d0 6f 66 20 27 54 72 75 69 27 20 77 69 74 68 20 22 |of 'Trui' with "| 000073e0 54 55 22 20 69 6e 20 62 6c 75 65 29 0a 20 2b 20 |TU" in blue). + | 000073f0 43 68 61 6e 67 65 46 53 49 20 63 61 6e 20 77 72 |ChangeFSI can wr| 00007400 69 74 65 20 74 6f 20 74 68 69 73 20 66 6f 72 6d |ite to this form| 00007410 61 74 20 28 73 70 65 63 69 66 79 20 22 61 69 6d |at (specify "aim| 00007420 22 20 69 6e 20 74 68 65 20 6d 6f 64 65 20 70 6f |" in the mode po| 00007430 73 69 74 69 6f 6e 29 0a 20 20 20 61 6e 64 20 73 |sition). and s| 00007440 70 65 63 69 66 79 20 3d 20 69 6e 20 74 68 65 20 |pecify = in the | 00007450 73 69 7a 69 6e 67 20 74 6f 20 67 65 74 20 61 20 |sizing to get a | 00007460 32 35 36 20 62 79 20 32 35 36 20 6f 75 74 70 75 |256 by 256 outpu| 00007470 74 20 28 6f 74 68 65 72 77 69 73 65 20 69 74 20 |t (otherwise it | 00007480 77 69 6c 6c 0a 20 20 20 62 65 20 74 68 65 20 73 |will. be the s| 00007490 61 6d 65 20 73 69 7a 65 20 61 73 20 74 68 65 20 |ame size as the | 000074a0 73 6f 75 72 63 65 20 69 6d 61 67 65 29 0a 20 2d |source image). -| 000074b0 20 4e 6f 20 72 65 73 6f 6c 75 74 69 6f 6e 20 73 | No resolution s| 000074c0 70 65 63 69 66 69 65 64 2c 20 65 71 75 61 6c 20 |pecified, equal | 000074d0 74 6f 20 6d 6f 64 65 20 32 37 20 61 73 73 75 6d |to mode 27 assum| 000074e0 65 64 0a 20 2d 20 54 68 65 20 61 73 73 6f 63 69 |ed. - The associ| 000074f0 61 74 65 64 20 66 69 6c 65 20 3c 6e 61 6d 65 3e |ated file <name>| 00007500 2b 20 28 66 69 6c 65 20 74 79 70 65 20 30 31 30 |+ (file type 010| 00007510 29 20 77 68 69 63 68 20 63 6f 6e 74 61 69 6e 73 |) which contains| 00007520 20 61 64 64 69 74 69 6f 6e 61 6c 0a 20 20 20 69 | additional. i| 00007530 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 69 67 |nformation is ig| 00007540 6e 6f 72 65 64 20 62 79 20 43 68 61 6e 67 65 46 |nored by ChangeF| 00007550 53 49 2e 0a 20 54 68 65 20 67 72 65 79 20 6c 65 |SI.. The grey le| 00007560 76 65 6c 73 20 6d 61 79 20 72 65 70 72 65 73 65 |vels may represe| 00007570 6e 74 20 69 6e 74 65 6e 73 69 74 79 20 69 6e 20 |nt intensity in | 00007580 76 61 72 69 6f 75 73 20 64 69 66 66 65 72 65 6e |various differen| 00007590 74 20 77 61 76 65 20 62 61 6e 64 73 2e 20 42 79 |t wave bands. By| 000075a0 0a 20 6e 61 6d 69 6e 67 20 66 69 6c 65 73 20 22 |. naming files "| 000075b0 72 65 64 22 2c 20 22 67 72 65 65 6e 22 20 61 6e |red", "green" an| 000075c0 64 20 22 62 6c 75 65 22 20 61 6e 64 20 68 61 6e |d "blue" and han| 000075d0 64 69 6e 67 20 43 68 61 6e 67 65 46 53 49 20 74 |ding ChangeFSI t| 000075e0 68 65 20 64 69 72 65 63 74 6f 72 79 2c 0a 20 79 |he directory,. y| 000075f0 6f 75 20 63 61 6e 20 70 72 6f 64 75 63 65 20 61 |ou can produce a| 00007600 20 66 61 6c 73 65 20 63 6f 6c 6f 75 72 20 69 6d | false colour im| 00007610 61 67 65 2e 20 48 6f 75 72 73 20 6f 66 20 65 78 |age. Hours of ex| 00007620 70 65 72 69 6d 65 6e 74 61 74 69 6f 6e 20 63 61 |perimentation ca| 00007630 6e 20 70 72 6f 64 75 63 65 0a 20 61 6e 20 61 6c |n produce. an al| 00007640 6d 6f 73 74 20 72 65 61 73 6f 6e 61 62 6c 65 20 |most reasonable | 00007650 70 69 63 74 75 72 65 2e 2e 2e 0a 0a 54 68 65 20 |picture.....The | 00007660 57 69 6c 64 20 56 69 73 69 6f 6e 20 56 31 32 20 |Wild Vision V12 | 00007670 66 6f 72 6d 61 74 0a 20 54 68 69 73 20 70 72 6f |format. This pro| 00007680 76 69 64 65 73 20 61 6e 20 75 6e 63 6f 6d 70 72 |vides an uncompr| 00007690 65 73 73 65 64 20 35 31 32 20 62 79 20 35 31 32 |essed 512 by 512| 000076a0 20 69 6d 61 67 65 20 77 69 74 68 20 32 35 36 20 | image with 256 | 000076b0 67 72 65 79 20 6c 65 76 65 6c 73 2e 0a 20 2b 20 |grey levels.. + | 000076c0 52 65 63 6f 67 6e 69 73 65 64 20 62 79 20 66 69 |Recognised by fi| 000076d0 6c 65 20 74 79 70 65 20 30 30 36 0a 20 2d 20 4e |le type 006. - N| 000076e0 6f 20 72 65 73 6f 6c 75 74 69 6f 6e 20 73 70 65 |o resolution spe| 000076f0 63 69 66 69 65 64 2c 20 65 71 75 61 6c 20 74 6f |cified, equal to| 00007700 20 6d 6f 64 65 20 32 37 20 61 73 73 75 6d 65 64 | mode 27 assumed| 00007710 0a 0a 54 68 65 20 57 69 6c 64 20 56 69 73 69 6f |..The Wild Visio| 00007720 6e 20 56 39 20 61 6e 64 20 53 6e 61 70 53 68 6f |n V9 and SnapSho| 00007730 74 20 66 6f 72 6d 61 74 73 0a 20 54 68 69 73 20 |t formats. This | 00007740 70 72 6f 76 69 64 65 73 20 61 6e 20 75 6e 63 6f |provides an unco| 00007750 6d 70 72 65 73 73 65 64 20 35 31 32 20 62 79 20 |mpressed 512 by | 00007760 32 35 36 20 69 6d 61 67 65 20 77 69 74 68 20 34 |256 image with 4| 00007770 20 62 69 74 73 20 6f 66 20 72 65 64 2c 20 67 72 | bits of red, gr| 00007780 65 65 6e 0a 20 61 6e 64 20 62 6c 75 65 2c 20 70 |een. and blue, p| 00007790 69 78 65 6c 73 20 73 69 7a 65 64 20 31 3a 32 2e |ixels sized 1:2.| 000077a0 0a 20 2b 20 52 65 63 6f 67 6e 69 73 65 64 20 62 |. + Recognised b| 000077b0 79 20 22 4d 65 72 63 53 6f 66 74 22 20 6f 72 20 |y "MercSoft" or | 000077c0 22 53 6e 61 70 53 68 6f 74 22 20 68 65 61 64 65 |"SnapShot" heade| 000077d0 72 0a 20 2b 20 4e 6f 20 66 69 6c 65 20 74 79 70 |r. + No file typ| 000077e0 65 20 6e 65 65 64 65 64 0a 0a 54 68 65 20 21 54 |e needed..The !T| 000077f0 72 61 6e 73 6c 61 74 6f 72 20 43 6c 65 61 72 20 |ranslator Clear | 00007800 66 6f 72 6d 61 74 0a 20 54 68 69 73 20 70 72 6f |format. This pro| 00007810 76 69 64 65 73 20 31 2c 20 32 2c 20 34 2c 20 38 |vides 1, 2, 4, 8| 00007820 20 61 6e 64 20 32 34 20 62 69 74 73 20 70 65 72 | and 24 bits per| 00007830 20 70 69 78 65 6c 2e 0a 20 2b 20 52 65 63 6f 67 | pixel.. + Recog| 00007840 6e 69 73 65 64 20 62 79 20 66 69 6c 65 20 74 79 |nised by file ty| 00007850 70 65 20 36 39 30 0a 20 2d 20 75 6e 63 6f 6d 70 |pe 690. - uncomp| 00007860 72 65 73 73 65 64 2c 20 65 73 70 65 63 69 61 6c |ressed, especial| 00007870 6c 79 20 66 6f 72 20 3c 38 20 62 69 74 73 20 70 |ly for <8 bits p| 00007880 65 72 20 70 69 78 65 6c 20 77 68 69 63 68 20 69 |er pixel which i| 00007890 73 20 72 65 63 6f 72 64 65 64 20 61 74 20 6f 6e |s recorded at on| 000078a0 65 0a 20 20 20 62 79 74 65 20 70 65 72 20 70 69 |e. byte per pi| 000078b0 78 65 6c 2e 0a 20 2d 20 4e 6f 20 72 65 73 6f 6c |xel.. - No resol| 000078c0 75 74 69 6f 6e 20 73 70 65 63 69 66 69 65 64 2c |ution specified,| 000078d0 20 65 71 75 61 6c 20 74 6f 20 6d 6f 64 65 20 32 | equal to mode 2| 000078e0 37 20 61 73 73 75 6d 65 64 0a 0a 54 68 65 20 41 |7 assumed..The A| 000078f0 74 61 72 69 20 53 54 20 22 44 65 67 61 73 22 20 |tari ST "Degas" | 00007900 66 6f 72 6d 61 74 0a 20 31 2c 20 32 20 6f 72 20 |format. 1, 2 or | 00007910 34 20 62 69 74 73 20 70 65 72 20 70 69 78 65 6c |4 bits per pixel| 00007920 2c 20 63 6c 65 61 72 20 6f 72 20 72 75 6e 20 6c |, clear or run l| 00007930 65 6e 67 74 68 20 65 6e 63 6f 64 65 64 2e 20 52 |ength encoded. R| 00007940 49 53 43 20 4f 53 20 66 69 6c 65 20 74 79 70 65 |ISC OS file type| 00007950 20 62 79 0a 20 4a 6f 68 6e 20 4b 6f 72 74 69 6e | by. John Kortin| 00007960 6b 20 6f 66 20 21 54 72 61 6e 73 6c 61 74 6f 72 |k of !Translator| 00007970 2e 0a 20 2b 20 52 65 63 6f 67 6e 69 73 65 64 20 |.. + Recognised | 00007980 62 79 20 66 69 6c 65 20 74 79 70 65 20 36 39 31 |by file type 691| 00007990 0a 20 2d 20 4e 6f 20 64 6f 63 75 6d 65 6e 74 61 |. - No documenta| 000079a0 74 69 6f 6e 20 61 6e 64 20 6f 6e 6c 79 20 35 20 |tion and only 5 | 000079b0 69 6d 61 67 65 73 20 72 65 61 64 0a 20 2d 20 4e |images read. - N| 000079c0 6f 20 72 65 73 6f 6c 75 74 69 6f 6e 20 73 70 65 |o resolution spe| 000079d0 63 69 66 69 65 64 2c 20 65 71 75 61 6c 20 74 6f |cified, equal to| 000079e0 20 6d 6f 64 65 20 32 37 20 61 73 73 75 6d 65 64 | mode 27 assumed| 000079f0 0a 0a 3e 3e 20 41 6c 6c 20 74 68 65 20 66 69 6c |..>> All the fil| 00007a00 65 20 66 6f 72 6d 61 74 73 20 73 6f 20 66 61 72 |e formats so far| 00007a10 20 68 61 76 65 20 62 65 65 6e 20 64 65 73 69 67 | have been desig| 00007a20 6e 65 64 20 6f 6e 20 52 49 53 43 20 4f 53 20 28 |ned on RISC OS (| 00007a30 6f 72 20 41 72 74 68 75 72 29 20 61 6e 64 0a 72 |or Arthur) and.r| 00007a40 65 63 6f 67 6e 69 74 69 6f 6e 20 6f 66 20 74 68 |ecognition of th| 00007a50 65 20 66 6f 72 6d 61 74 20 69 73 20 64 65 66 69 |e format is defi| 00007a60 6e 65 64 20 62 79 20 66 69 6c 65 20 74 79 70 65 |ned by file type| 00007a70 2c 20 74 68 65 20 66 69 6c 65 73 20 61 72 72 69 |, the files arri| 00007a80 76 65 20 6f 6e 20 52 49 53 43 0a 4f 53 20 66 6c |ve on RISC.OS fl| 00007a90 6f 70 70 79 20 64 69 73 63 73 2c 20 61 6e 64 20 |oppy discs, and | 00007aa0 74 68 65 20 6f 72 69 67 69 6e 61 74 6f 72 73 20 |the originators | 00007ab0 6c 69 76 65 20 69 6e 20 74 68 65 20 73 61 6d 65 |live in the same| 00007ac0 20 74 69 6d 65 20 7a 6f 6e 65 2e 20 46 6f 72 20 | time zone. For | 00007ad0 74 68 65 0a 66 6f 6c 6c 6f 77 69 6e 67 20 66 6f |the.following fo| 00007ae0 72 6d 61 74 73 20 6d 61 6e 79 20 6f 66 20 74 68 |rmats many of th| 00007af0 65 73 65 20 74 68 69 6e 67 73 20 61 72 65 20 6e |ese things are n| 00007b00 6f 74 20 74 72 75 65 2e 2e 2e 20 57 68 69 63 68 |ot true... Which| 00007b10 20 6d 61 6b 65 73 20 69 74 20 6d 6f 72 65 0a 64 | makes it more.d| 00007b20 69 66 66 69 63 75 6c 74 20 74 6f 20 67 75 61 72 |ifficult to guar| 00007b30 61 6e 74 65 65 20 74 68 61 74 20 43 68 61 6e 67 |antee that Chang| 00007b40 65 46 53 49 20 77 69 6c 6c 20 62 65 20 61 62 6c |eFSI will be abl| 00007b50 65 20 74 6f 20 72 65 61 64 20 74 68 65 20 66 69 |e to read the fi| 00007b60 6c 65 2e 0a 0a 54 68 65 20 4d 69 6c 6c 69 70 65 |le...The Millipe| 00007b70 64 65 20 50 72 69 73 6d 61 20 66 6f 72 6d 61 74 |de Prisma format| 00007b80 20 28 75 73 65 64 20 62 79 20 43 61 64 53 6f 66 | (used by CadSof| 00007b90 74 20 61 6c 73 6f 29 0a 20 54 68 65 20 4d 69 6c |t also). The Mil| 00007ba0 6c 69 70 65 64 65 20 50 72 69 73 6d 61 20 33 20 |lipede Prisma 3 | 00007bb0 69 73 20 61 20 37 36 38 20 70 69 78 65 6c 73 20 |is a 768 pixels | 00007bc0 77 69 64 65 20 62 79 20 35 37 34 20 6c 69 6e 65 |wide by 574 line| 00007bd0 20 69 6e 74 65 72 6c 61 63 65 64 20 64 69 73 70 | interlaced disp| 00007be0 6c 61 79 0a 20 62 6f 61 72 64 20 66 6f 72 20 74 |lay. board for t| 00007bf0 68 65 20 41 72 63 68 69 6d 65 64 65 73 20 61 6e |he Archimedes an| 00007c00 64 20 42 42 43 20 4d 69 63 72 6f 63 6f 6d 70 75 |d BBC Microcompu| 00007c10 74 65 72 2e 20 49 74 20 61 6c 6c 6f 77 73 20 75 |ter. It allows u| 00007c20 73 65 20 6f 66 20 32 35 36 0a 20 63 6f 6c 6f 75 |se of 256. colou| 00007c30 72 73 20 66 72 6f 6d 20 32 5e 32 34 2e 20 46 69 |rs from 2^24. Fi| 00007c40 6c 65 73 20 6d 61 79 20 62 65 20 73 74 6f 72 65 |les may be store| 00007c50 64 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 28 |d uncompressed (| 00007c60 34 33 32 4b 42 79 74 65 73 21 29 20 6f 72 20 72 |432KBytes!) or r| 00007c70 75 6e 0a 20 6c 65 6e 67 74 68 20 65 6e 63 6f 64 |un. length encod| 00007c80 65 64 2e 20 4d 6f 72 65 20 64 65 74 61 69 6c 73 |ed. More details| 00007c90 20 66 72 6f 6d 20 43 61 64 53 6f 66 74 20 6f 72 | from CadSoft or| 00007ca0 20 4d 69 6c 6c 69 70 65 64 65 20 45 6c 65 63 74 | Millipede Elect| 00007cb0 72 6f 6e 69 63 20 47 72 61 70 68 69 63 73 2e 0a |ronic Graphics..| 00007cc0 20 2b 20 52 65 63 6f 67 6e 69 73 65 64 20 62 79 | + Recognised by| 00007cd0 20 22 4d 49 4c 4c 49 50 45 44 45 22 20 61 74 20 | "MILLIPEDE" at | 00007ce0 6f 66 66 73 65 74 20 31 36 20 69 6e 20 74 68 65 |offset 16 in the| 00007cf0 20 66 69 6c 65 0a 20 2d 20 4e 6f 20 72 65 73 6f | file. - No reso| 00007d00 6c 75 74 69 6f 6e 20 73 70 65 63 69 66 69 65 64 |lution specified| 00007d10 2c 20 65 71 75 61 6c 20 74 6f 20 6d 6f 64 65 20 |, equal to mode | 00007d20 32 37 20 61 73 73 75 6d 65 64 0a 20 2d 20 73 6c |27 assumed. - sl| 00007d30 6f 77 69 73 68 20 74 6f 20 72 65 61 64 20 74 68 |owish to read th| 00007d40 65 20 63 6f 6d 70 72 65 73 73 65 64 20 66 6f 72 |e compressed for| 00007d50 6d 61 74 73 0a 20 2d 20 73 63 61 6c 69 6e 67 20 |mats. - scaling | 00007d60 74 68 65 20 70 69 63 74 75 72 65 20 75 73 69 6e |the picture usin| 00007d70 67 20 3d 20 63 61 6e 20 62 65 20 70 6f 6f 72 20 |g = can be poor | 00007d80 73 69 6e 63 65 20 35 37 34 20 6c 69 6e 65 73 20 |since 574 lines | 00007d90 64 6f 6e 27 74 20 72 65 6c 61 74 65 20 76 65 72 |don't relate ver| 00007da0 79 0a 20 20 20 77 65 6c 6c 20 74 6f 20 35 31 32 |y. well to 512| 00007db0 20 6f 72 20 32 35 36 2e 20 55 73 65 20 2d 69 6e | or 256. Use -in| 00007dc0 66 6f 20 74 6f 20 64 69 73 70 6c 61 79 20 74 68 |fo to display th| 00007dd0 65 20 73 63 61 6c 65 20 72 61 74 69 6f 73 2e 0a |e scale ratios..| 00007de0 0a 54 68 65 20 41 6c 64 75 73 2f 4d 69 63 72 6f |.The Aldus/Micro| 00007df0 53 6f 66 74 20 54 49 46 46 20 66 6f 72 6d 61 74 |Soft TIFF format| 00007e00 20 28 61 6c 73 6f 20 66 69 6c 65 74 79 70 65 20 | (also filetype | 00007e10 46 46 30 20 69 73 20 61 73 73 69 67 6e 65 64 20 |FF0 is assigned | 00007e20 74 6f 20 54 49 46 46 29 0a 20 46 72 65 71 75 65 |to TIFF). Freque| 00007e30 6e 74 6c 79 20 75 73 65 64 20 62 79 20 73 63 61 |ntly used by sca| 00007e40 6e 6e 65 72 73 2c 20 54 49 46 46 20 69 73 20 61 |nners, TIFF is a| 00007e50 20 63 6f 6d 6d 6f 6e 20 69 6e 74 65 72 63 68 61 | common intercha| 00007e60 6e 67 65 20 66 6f 72 6d 61 74 20 66 6f 72 0a 20 |nge format for. | 00007e70 67 72 61 70 68 69 63 73 20 69 6d 61 67 65 73 20 |graphics images | 00007e80 6f 6e 20 74 68 65 20 4d 61 63 20 61 6e 64 20 50 |on the Mac and P| 00007e90 43 20 28 70 61 72 74 69 63 75 6c 61 72 6c 79 20 |C (particularly | 00007ea0 44 54 50 20 61 6e 64 20 57 69 6e 64 6f 77 73 29 |DTP and Windows)| 00007eb0 2e 20 49 74 0a 20 70 72 6f 76 69 64 65 73 20 61 |. It. provides a| 00007ec0 6e 20 61 72 62 69 74 72 61 72 79 20 6e 75 6d 62 |n arbitrary numb| 00007ed0 65 72 20 6f 66 20 62 69 74 73 20 70 65 72 20 70 |er of bits per p| 00007ee0 69 78 65 6c 2c 20 73 69 7a 65 20 65 74 63 20 75 |ixel, size etc u| 00007ef0 73 69 6e 67 20 61 20 6e 75 6d 65 72 69 63 20 74 |sing a numeric t| 00007f00 61 67 0a 20 73 63 68 65 6d 65 20 61 6c 6c 6f 77 |ag. scheme allow| 00007f10 69 6e 67 20 6e 65 77 20 69 6e 66 6f 72 6d 61 74 |ing new informat| 00007f20 69 6f 6e 20 74 6f 20 62 65 20 69 6e 74 72 6f 64 |ion to be introd| 00007f30 75 63 65 64 20 77 69 74 68 6f 75 74 20 75 70 73 |uced without ups| 00007f40 65 74 74 69 6e 67 20 65 78 69 73 74 69 6e 67 0a |etting existing.| 00007f50 20 70 72 6f 67 72 61 6d 73 2e 20 54 68 65 20 66 | programs. The f| 00007f60 6f 72 6d 61 74 20 6d 61 79 20 62 65 20 63 6f 6d |ormat may be com| 00007f70 70 72 65 73 73 65 64 20 28 69 6e 20 35 20 64 69 |pressed (in 5 di| 00007f80 66 66 65 72 65 6e 74 20 77 61 79 73 20 61 74 20 |fferent ways at | 00007f90 70 72 65 73 65 6e 74 29 2e 0a 20 44 65 74 61 69 |present).. Detai| 00007fa0 6c 73 20 66 72 6f 6d 20 41 6c 64 75 73 20 55 4b |ls from Aldus UK| 00007fb0 2c 20 4d 69 63 72 6f 53 6f 66 74 2c 20 48 65 77 |, MicroSoft, Hew| 00007fc0 6c 65 74 74 20 50 61 63 6b 61 72 64 2e 2e 2e 0a |lett Packard....| 00007fd0 20 2b 20 52 65 63 6f 67 6e 69 73 65 64 20 62 79 | + Recognised by| 00007fe0 20 66 69 6c 65 20 74 79 70 65 20 46 46 30 0a 20 | file type FF0. | 00007ff0 2b 20 52 65 63 6f 67 6e 69 73 65 64 20 62 79 20 |+ Recognised by | 00008000 22 49 49 22 20 70 6c 75 73 20 74 68 65 20 31 36 |"II" plus the 16| 00008010 20 62 69 74 20 6e 75 6d 62 65 72 20 34 32 20 61 | bit number 42 a| 00008020 74 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 |t the start of t| 00008030 68 65 20 66 69 6c 65 20 66 6f 72 0a 20 20 20 6c |he file for. l| 00008040 69 74 74 6c 65 20 65 6e 64 69 61 6e 20 6d 61 63 |ittle endian mac| 00008050 68 69 6e 65 73 20 28 69 78 38 36 2c 20 41 52 4d |hines (ix86, ARM| 00008060 2c 20 56 41 58 2e 2e 2e 29 0a 20 2b 20 52 65 63 |, VAX...). + Rec| 00008070 6f 67 6e 69 73 65 64 20 62 79 20 22 4d 4d 22 20 |ognised by "MM" | 00008080 70 6c 75 73 20 74 68 65 20 31 36 20 62 69 74 20 |plus the 16 bit | 00008090 6e 75 6d 62 65 72 20 34 32 20 61 74 20 74 68 65 |number 42 at the| 000080a0 20 73 74 61 72 74 20 6f 66 20 74 68 65 20 66 69 | start of the fi| 000080b0 6c 65 20 66 6f 72 0a 20 20 20 62 69 67 20 65 6e |le for. big en| 000080c0 64 69 61 6e 20 6d 61 63 68 69 6e 65 73 20 28 4d |dian machines (M| 000080d0 36 38 30 78 30 2e 2e 2e 29 0a 20 2b 20 43 61 6e |680x0...). + Can| 000080e0 20 72 65 61 64 20 50 61 63 6b 42 69 74 73 20 69 | read PackBits i| 000080f0 6d 61 67 65 73 20 61 6e 64 20 4c 5a 57 20 63 6f |mages and LZW co| 00008100 6d 70 72 65 73 73 65 64 20 66 6f 72 6d 73 20 28 |mpressed forms (| 00008110 61 74 20 6c 65 61 73 74 20 74 68 65 20 33 20 69 |at least the 3 i| 00008120 74 73 0a 20 20 20 73 65 65 6e 20 73 6f 20 66 61 |ts. seen so fa| 00008130 72 2e 2e 2e 29 0a 20 2d 20 43 61 6e 6e 6f 74 20 |r...). - Cannot | 00008140 72 65 61 64 20 70 72 65 64 69 63 74 6f 72 20 63 |read predictor c| 00008150 6f 6d 70 72 65 73 73 65 64 20 4c 5a 57 20 69 6d |ompressed LZW im| 00008160 61 67 65 73 2e 0a 20 2d 20 53 6f 20 66 61 72 20 |ages.. - So far | 00008170 43 68 61 6e 67 65 46 53 49 20 68 61 73 20 6f 6e |ChangeFSI has on| 00008180 6c 79 20 64 6f 6e 65 20 31 2c 20 34 2c 20 38 20 |ly done 1, 4, 8 | 00008190 61 6e 64 20 32 34 20 62 69 74 20 69 6d 61 67 65 |and 24 bit image| 000081a0 73 2e 0a 20 20 20 49 74 20 63 61 6e 27 74 20 72 |s.. It can't r| 000081b0 65 61 64 20 22 70 6c 61 6e 61 72 22 20 69 6d 61 |ead "planar" ima| 000081c0 67 65 73 20 6f 72 20 43 43 49 54 54 20 63 6f 6d |ges or CCITT com| 000081d0 70 72 65 73 73 65 64 20 66 6f 72 6d 73 2e 0a 20 |pressed forms.. | 000081e0 2d 20 53 6f 6d 65 20 54 49 46 46 20 69 6d 61 67 |- Some TIFF imag| 000081f0 65 73 20 68 61 76 65 20 69 6e 63 6f 72 72 65 63 |es have incorrec| 00008200 74 20 70 69 78 65 6c 20 73 69 7a 65 73 3a 20 75 |t pixel sizes: u| 00008210 73 65 20 2d 6e 6f 73 69 7a 65 20 69 66 20 74 68 |se -nosize if th| 00008220 69 73 20 69 73 0a 20 20 20 74 72 75 65 2e 20 49 |is is. true. I| 00008230 66 20 6e 6f 20 70 69 78 65 6c 20 73 69 7a 65 20 |f no pixel size | 00008240 69 73 20 73 70 65 63 69 66 69 65 64 2c 20 43 68 |is specified, Ch| 00008250 61 6e 67 65 46 53 49 20 61 73 73 75 6d 65 73 20 |angeFSI assumes | 00008260 6d 6f 64 65 20 32 37 20 73 69 7a 65 2e 0a 20 2b |mode 27 size.. +| 00008270 20 54 49 46 46 20 69 73 20 61 20 74 72 61 64 65 | TIFF is a trade| 00008280 6d 61 72 6b 20 6f 66 20 41 6c 64 75 73 20 43 6f |mark of Aldus Co| 00008290 72 70 6f 72 61 74 69 6f 6e 0a 0a 54 68 65 20 43 |rporation..The C| 000082a0 6f 6d 70 75 53 65 72 76 65 20 47 49 46 20 66 6f |ompuServe GIF fo| 000082b0 72 6d 61 74 0a 20 55 73 65 64 20 66 6f 72 20 77 |rmat. Used for w| 000082c0 69 64 65 20 61 72 65 61 20 6e 65 74 77 6f 72 6b |ide area network| 000082d0 20 74 72 61 6e 73 66 65 72 20 6f 66 20 69 6d 61 | transfer of ima| 000082e0 67 65 73 2e 20 49 74 20 70 72 6f 76 69 64 65 73 |ges. It provides| 000082f0 20 61 6e 20 4c 5a 57 0a 20 63 6f 6d 70 72 65 73 | an LZW. compres| 00008300 73 65 64 20 75 70 20 74 6f 20 32 35 36 20 63 6f |sed up to 256 co| 00008310 6c 6f 75 72 73 20 66 72 6f 6d 20 32 5e 32 34 20 |lours from 2^24 | 00008320 61 72 62 69 74 72 61 72 79 20 73 69 7a 65 64 20 |arbitrary sized | 00008330 69 6d 61 67 65 2e 20 44 65 74 61 69 6c 73 20 66 |image. Details f| 00008340 72 6f 6d 0a 20 43 6f 6d 70 75 53 65 72 76 65 20 |rom. CompuServe | 00008350 28 55 53 41 29 20 5b 6f 72 20 75 73 65 6e 65 74 |(USA) [or usenet| 00008360 5d 0a 20 2b 20 52 65 63 6f 67 6e 69 73 65 64 20 |]. + Recognised | 00008370 62 79 20 22 47 49 46 38 37 61 22 20 61 74 20 74 |by "GIF87a" at t| 00008380 68 65 20 73 74 61 72 74 20 6f 66 20 74 68 65 20 |he start of the | 00008390 66 69 6c 65 0a 20 2b 20 4c 5a 57 20 63 6f 6d 70 |file. + LZW comp| 000083a0 72 65 73 73 69 6f 6e 20 69 73 20 65 66 66 69 63 |ression is effic| 000083b0 69 65 6e 74 20 65 76 65 6e 20 66 6f 72 20 64 69 |ient even for di| 000083c0 74 68 65 72 65 64 20 69 6d 61 67 65 73 0a 20 2b |thered images. +| 000083d0 20 43 68 61 6e 67 65 46 53 49 20 63 61 6e 20 64 | ChangeFSI can d| 000083e0 65 63 6f 6d 70 72 65 73 73 20 4c 5a 57 20 71 75 |ecompress LZW qu| 000083f0 69 63 6b 6c 79 0a 20 2d 20 4e 6f 20 72 65 73 6f |ickly. - No reso| 00008400 6c 75 74 69 6f 6e 20 73 70 65 63 69 66 69 65 64 |lution specified| 00008410 2c 20 65 71 75 61 6c 20 74 6f 20 6d 6f 64 65 20 |, equal to mode | 00008420 32 37 20 61 73 73 75 6d 65 64 0a 20 2d 20 6d 61 |27 assumed. - ma| 00008430 6e 79 20 6c 6f 77 20 71 75 61 6c 69 74 79 20 69 |ny low quality i| 00008440 6d 61 67 65 73 20 61 72 6f 75 6e 64 20 66 72 6f |mages around fro| 00008450 6d 20 50 43 73 0a 0a 54 68 65 20 45 6c 65 63 74 |m PCs..The Elect| 00008460 72 6f 6e 69 63 20 41 72 74 73 20 49 46 46 20 49 |ronic Arts IFF I| 00008470 4c 42 4d 20 66 6f 72 6d 61 74 0a 20 50 72 6f 76 |LBM format. Prov| 00008480 69 64 65 73 20 61 6e 20 61 72 62 69 74 72 61 72 |ides an arbitrar| 00008490 79 20 73 69 7a 65 64 20 69 6d 61 67 65 20 77 69 |y sized image wi| 000084a0 74 68 20 75 70 20 74 6f 20 34 30 39 36 20 63 6f |th up to 4096 co| 000084b0 6c 6f 75 72 73 20 73 6f 6d 65 74 69 6d 65 73 20 |lours sometimes | 000084c0 72 75 6e 0a 20 6c 65 6e 67 74 68 20 65 6e 63 6f |run. length enco| 000084d0 64 65 64 2e 20 43 68 61 6e 67 65 46 53 49 20 75 |ded. ChangeFSI u| 000084e0 6e 64 65 72 73 74 61 6e 64 73 20 74 68 65 20 67 |nderstands the g| 000084f0 65 6e 65 72 69 63 20 66 6f 72 6d 61 74 20 61 6e |eneric format an| 00008500 64 20 61 6c 73 6f 20 74 68 65 0a 20 73 70 65 63 |d also the. spec| 00008510 69 61 6c 20 41 6d 69 67 61 20 66 6f 72 6d 61 74 |ial Amiga format| 00008520 20 66 6f 72 20 22 48 41 4d 22 20 61 6e 64 20 22 | for "HAM" and "| 00008530 48 61 6c 66 2d 62 72 69 67 68 74 22 20 69 6d 61 |Half-bright" ima| 00008540 67 65 73 2e 0a 20 2b 20 52 65 63 6f 67 6e 69 73 |ges.. + Recognis| 00008550 65 64 20 62 79 20 22 46 4f 52 4d 22 20 61 73 20 |ed by "FORM" as | 00008560 74 68 65 20 66 69 72 73 74 20 66 6f 75 72 20 63 |the first four c| 00008570 68 61 72 61 63 74 65 72 73 20 61 6e 64 20 22 49 |haracters and "I| 00008580 4c 42 4d 22 20 61 73 0a 20 20 20 63 68 61 72 61 |LBM" as. chara| 00008590 63 74 65 72 73 20 38 20 74 6f 20 31 31 0a 20 2d |cters 8 to 11. -| 000085a0 20 4f 6e 6c 79 20 70 69 78 65 6c 20 61 73 70 65 | Only pixel aspe| 000085b0 63 74 20 72 61 74 69 6f 20 73 70 65 63 69 66 69 |ct ratio specifi| 000085c0 65 64 2c 20 6e 6f 74 20 69 74 73 20 73 69 7a 65 |ed, not its size| 000085d0 20 28 61 6e 64 20 74 68 65 6e 20 73 6f 6d 65 74 | (and then somet| 000085e0 69 6d 65 73 0a 20 20 20 69 6e 63 6f 72 72 65 63 |imes. incorrec| 000085f0 74 6c 79 29 3a 20 75 73 65 20 2d 6e 6f 73 69 7a |tly): use -nosiz| 00008600 65 20 2a 61 6e 64 2a 20 61 20 73 69 7a 65 20 63 |e *and* a size c| 00008610 68 61 6e 67 65 20 28 61 3a 62 29 20 69 66 20 69 |hange (a:b) if i| 00008620 74 73 20 77 72 6f 6e 67 0a 20 2d 20 69 6d 61 67 |ts wrong. - imag| 00008630 65 73 20 6f 66 74 65 6e 20 73 6d 61 6c 6c 0a 20 |es often small. | 00008640 2d 20 64 6f 65 73 6e 27 74 20 75 6e 64 65 72 73 |- doesn't unders| 00008650 74 61 6e 64 20 41 6d 69 67 61 20 22 68 69 72 65 |tand Amiga "hire| 00008660 73 22 0a 20 2d 20 63 61 6e 27 74 20 63 6f 6e 76 |s". - can't conv| 00008670 65 72 74 20 48 41 4d 20 70 69 63 74 75 72 65 73 |ert HAM pictures| 00008680 20 64 69 72 65 63 74 6c 79 20 74 6f 20 6d 6f 6e | directly to mon| 00008690 6f 63 68 72 6f 6d 65 0a 0a 54 68 65 20 4d 69 63 |ochrome..The Mic| 000086a0 72 6f 53 6f 66 74 20 57 69 6e 64 6f 77 73 20 33 |roSoft Windows 3| 000086b0 20 2e 42 4d 50 20 66 6f 72 6d 61 74 0a 20 55 73 | .BMP format. Us| 000086c0 65 64 20 62 79 20 4d 69 63 72 6f 53 6f 66 74 20 |ed by MicroSoft | 000086d0 69 6e 20 57 69 6e 64 6f 77 73 20 33 20 61 6e 64 |in Windows 3 and| 000086e0 20 50 61 69 6e 74 42 72 75 73 68 20 66 6f 72 20 | PaintBrush for | 000086f0 57 69 6e 64 6f 77 73 20 33 2e 20 50 72 6f 76 69 |Windows 3. Provi| 00008700 64 65 73 20 61 6e 0a 20 61 72 62 69 74 72 61 72 |des an. arbitrar| 00008710 79 20 73 69 7a 65 64 20 69 6d 61 67 65 20 61 6e |y sized image an| 00008720 64 20 31 2c 20 34 20 6f 72 20 38 20 62 69 74 73 |d 1, 4 or 8 bits| 00008730 20 70 65 72 20 70 69 78 65 6c 2e 20 55 6e 63 6f | per pixel. Unco| 00008740 6d 70 72 65 73 73 65 64 2e 0a 20 2b 20 52 65 63 |mpressed.. + Rec| 00008750 6f 67 6e 69 73 65 64 20 62 79 20 22 42 4d 22 20 |ognised by "BM" | 00008760 61 73 20 74 68 65 20 66 69 72 73 74 20 74 77 6f |as the first two| 00008770 20 63 68 61 72 61 63 74 65 72 73 0a 20 2d 20 4e | characters. - N| 00008780 6f 20 72 65 73 6f 6c 75 74 69 6f 6e 20 73 70 65 |o resolution spe| 00008790 63 69 66 69 65 64 2c 20 65 71 75 61 6c 20 74 6f |cified, equal to| 000087a0 20 6d 6f 64 65 20 32 37 20 61 73 73 75 6d 65 64 | mode 27 assumed| 000087b0 0a 20 2d 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f |. - documentatio| 000087c0 6e 20 6e 65 76 65 72 20 73 65 65 6e 20 2d 20 37 |n never seen - 7| 000087d0 20 66 69 6c 65 73 20 65 78 61 6d 69 6e 65 64 20 | files examined | 000087e0 61 6e 64 20 69 6e 74 65 6c 6c 69 67 65 6e 74 20 |and intelligent | 000087f0 67 75 65 73 73 65 73 20 6d 61 64 65 21 0a 0a 54 |guesses made!..T| 00008800 68 65 20 44 69 67 69 74 61 6c 20 52 65 73 65 61 |he Digital Resea| 00008810 72 63 68 20 47 45 4d 20 2e 49 4d 47 20 66 6f 72 |rch GEM .IMG for| 00008820 6d 61 74 0a 20 55 73 65 64 20 62 79 20 47 45 4d |mat. Used by GEM| 00008830 20 28 61 6e 64 20 47 45 4d 20 50 61 69 6e 74 29 | (and GEM Paint)| 00008840 20 6f 6e 20 62 6f 74 68 20 50 43 20 61 6e 64 20 | on both PC and | 00008850 41 74 61 72 69 20 53 54 2e 20 50 72 6f 76 69 64 |Atari ST. Provid| 00008860 65 73 20 61 6e 20 61 72 62 69 74 72 61 72 79 0a |es an arbitrary.| 00008870 20 73 69 7a 65 64 20 69 6d 61 67 65 20 61 6e 64 | sized image and| 00008880 20 6e 75 6d 62 65 72 20 6f 66 20 62 69 74 73 20 | number of bits | 00008890 70 65 72 20 70 69 78 65 6c 20 28 74 68 6f 75 67 |per pixel (thoug| 000088a0 68 20 69 74 73 20 6f 6e 6c 79 20 75 73 75 61 6c |h its only usual| 000088b0 6c 79 20 75 73 65 64 20 77 69 74 68 0a 20 75 70 |ly used with. up| 000088c0 20 74 6f 20 35 20 62 69 74 73 20 70 65 72 20 70 | to 5 bits per p| 000088d0 69 78 65 6c 29 20 61 6e 64 20 70 69 78 65 6c 20 |ixel) and pixel | 000088e0 73 69 7a 65 2e 20 43 6f 6d 70 72 65 73 73 65 64 |size. Compressed| 000088f0 20 62 79 20 72 75 6e 20 6c 65 6e 67 74 68 20 65 | by run length e| 00008900 6e 63 6f 64 69 6e 67 0a 20 61 6e 64 20 6c 69 6e |ncoding. and lin| 00008910 65 20 72 65 70 65 61 74 73 2e 0a 20 2d 20 52 65 |e repeats.. - Re| 00008920 63 6f 67 6e 69 73 65 64 20 62 79 20 30 30 20 30 |cognised by 00 0| 00008930 31 20 30 30 20 30 38 20 61 73 20 74 68 65 20 66 |1 00 08 as the f| 00008940 69 72 73 74 20 66 6f 75 72 20 62 79 74 65 73 20 |irst four bytes | 00008950 28 22 76 65 72 73 69 6f 6e 20 31 2c 20 68 65 61 |("version 1, hea| 00008960 64 65 72 0a 20 20 20 6c 65 6e 67 74 68 20 38 22 |der. length 8"| 00008970 29 20 6f 72 20 62 79 20 22 49 4d 47 22 20 61 73 |) or by "IMG" as| 00008980 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 | the name of the| 00008990 20 64 69 72 65 63 74 6f 72 79 20 74 68 65 20 66 | directory the f| 000089a0 69 6c 65 20 69 73 20 69 6e 2e 0a 20 2d 20 50 6c |ile is in.. - Pl| 000089b0 61 6e 61 72 20 66 69 6c 65 20 66 6f 72 6d 61 74 |anar file format| 000089c0 20 73 6c 6f 77 20 74 6f 20 72 65 61 64 0a 20 2d | slow to read. -| 000089d0 20 50 61 6c 65 74 74 65 20 6e 6f 74 20 73 70 65 | Palette not spe| 000089e0 63 69 66 69 65 64 3a 20 43 68 61 6e 67 65 46 53 |cified: ChangeFS| 000089f0 49 20 61 73 73 75 6d 65 73 20 6c 69 6e 65 61 72 |I assumes linear| 00008a00 20 73 68 61 64 65 73 20 6f 66 20 67 72 65 79 2e | shades of grey.| 00008a10 20 59 6f 75 20 6d 69 67 68 74 0a 20 20 20 6e 65 | You might. ne| 00008a20 65 64 20 74 6f 20 75 73 65 20 2d 69 6e 76 65 72 |ed to use -inver| 00008a30 74 20 69 66 20 74 68 65 20 69 6d 61 67 65 20 69 |t if the image i| 00008a40 73 20 61 20 6e 65 67 61 74 69 76 65 0a 20 2d 20 |s a negative. - | 00008a50 54 68 65 20 73 69 7a 65 20 6f 66 20 61 20 70 69 |The size of a pi| 00008a60 78 65 6c 20 69 73 20 73 70 65 63 69 66 69 65 64 |xel is specified| 00008a70 20 69 6e 20 6d 69 63 72 6f 6e 73 2e 20 54 68 65 | in microns. The| 00008a80 20 73 74 61 6e 64 61 72 64 20 52 49 53 43 20 4f | standard RISC O| 00008a90 53 20 39 30 0a 20 20 20 70 69 78 65 6c 73 20 70 |S 90. pixels p| 00008aa0 65 72 20 69 6e 63 68 20 74 72 61 6e 73 6c 61 74 |er inch translat| 00008ab0 65 73 20 74 6f 20 28 31 2f 39 30 2a 32 2e 35 34 |es to (1/90*2.54| 00008ac0 2a 31 30 2c 30 30 30 29 20 6d 69 63 72 6f 6e 73 |*10,000) microns| 00008ad0 20 2d 20 32 38 32 2e 20 28 75 73 65 0a 20 20 20 | - 282. (use. | 00008ae0 2d 69 6e 66 6f 20 74 6f 20 67 65 74 20 69 6e 66 |-info to get inf| 00008af0 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 |ormation about t| 00008b00 68 65 20 73 63 61 6c 69 6e 67 2c 20 2d 6e 6f 73 |he scaling, -nos| 00008b10 69 7a 65 20 74 6f 20 73 74 6f 70 20 69 74 29 0a |ize to stop it).| 00008b20 20 2d 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e | - Documentation| 00008b30 20 66 72 6f 6d 20 74 68 65 20 22 53 54 20 57 6f | from the "ST Wo| 00008b40 72 6c 64 22 20 6d 61 67 61 7a 69 6e 65 27 73 20 |rld" magazine's | 00008b50 63 6c 69 6e 69 63 2e 0a 0a 41 6e 20 75 6e 6b 6e |clinic...An unkn| 00008b60 6f 77 6e 20 50 43 20 2e 50 49 43 20 66 6f 72 6d |own PC .PIC form| 00008b70 61 74 0a 20 55 73 65 64 20 66 6f 72 20 73 6f 6d |at. Used for som| 00008b80 65 20 56 47 41 20 64 65 6d 6f 73 2c 20 74 68 65 |e VGA demos, the| 00008b90 20 66 6f 72 6d 61 74 20 70 72 6f 76 69 64 65 73 | format provides| 00008ba0 20 61 6e 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 | an uncompressed| 00008bb0 20 33 32 30 20 62 79 20 32 30 30 20 62 79 0a 20 | 320 by 200 by. | 00008bc0 32 35 36 20 63 6f 6c 6f 75 72 20 28 66 72 6f 6d |256 colour (from| 00008bd0 20 32 5e 32 34 29 20 56 47 41 20 73 63 72 65 65 | 2^24) VGA scree| 00008be0 6e 20 64 75 6d 70 2e 0a 20 2b 20 52 65 63 6f 67 |n dump.. + Recog| 00008bf0 6e 69 73 65 64 20 62 79 20 22 41 56 5f 56 4f 22 |nised by "AV_VO"| 00008c00 20 61 73 20 74 68 65 20 66 69 72 73 74 20 66 69 | as the first fi| 00008c10 76 65 20 62 79 74 65 73 20 69 6e 20 74 68 65 20 |ve bytes in the | 00008c20 66 69 6c 65 0a 20 2d 20 44 6f 63 75 6d 65 6e 74 |file. - Document| 00008c30 61 74 69 6f 6e 20 6e 65 76 65 72 20 73 65 65 6e |ation never seen| 00008c40 0a 20 2d 20 50 69 78 65 6c 20 73 69 7a 65 20 61 |. - Pixel size a| 00008c50 73 73 75 6d 65 64 20 74 68 65 20 73 61 6d 65 20 |ssumed the same | 00008c60 61 73 20 4d 4f 44 45 20 31 33 20 28 34 35 20 70 |as MODE 13 (45 p| 00008c70 69 78 65 6c 73 20 70 65 72 20 69 6e 63 68 29 2e |ixels per inch).| 00008c80 0a 0a 54 68 65 20 4d 61 63 50 61 69 6e 74 20 66 |..The MacPaint f| 00008c90 6f 72 6d 61 74 0a 20 50 72 6f 76 69 64 65 73 20 |ormat. Provides | 00008ca0 61 20 35 37 36 20 62 79 20 37 32 30 20 62 69 74 |a 576 by 720 bit| 00008cb0 6d 61 70 2c 20 72 75 6e 20 6c 65 6e 67 74 68 20 |map, run length | 00008cc0 63 6f 64 65 64 20 62 79 20 74 68 65 20 4d 61 63 |coded by the Mac| 00008cd0 27 73 20 22 50 61 63 6b 42 69 74 73 22 0a 20 61 |'s "PackBits". a| 00008ce0 6c 67 6f 72 69 74 68 6d 20 28 72 65 70 65 61 74 |lgorithm (repeat| 00008cf0 65 64 20 62 79 74 65 73 29 2e 0a 20 2d 20 52 65 |ed bytes).. - Re| 00008d00 63 6f 67 6e 69 73 65 64 20 62 79 20 22 50 4e 54 |cognised by "PNT| 00008d10 47 22 20 61 74 20 70 6f 73 69 74 69 6f 6e 20 36 |G" at position 6| 00008d20 35 20 69 6e 20 74 68 65 20 66 69 6c 65 2e 20 54 |5 in the file. T| 00008d30 68 69 73 20 6d 61 79 20 6f 6e 6c 79 20 72 65 6c |his may only rel| 00008d40 61 74 65 20 74 6f 0a 20 20 20 66 69 6c 65 73 20 |ate to. files | 00008d50 77 68 69 63 68 20 68 61 76 65 20 62 65 65 6e 20 |which have been | 00008d60 74 68 72 6f 75 67 68 20 61 20 70 72 6f 67 72 61 |through a progra| 00008d70 6d 20 63 61 6c 6c 65 64 20 22 4d 61 63 46 69 78 |m called "MacFix| 00008d80 22 2e 20 44 61 74 61 20 61 73 73 75 6d 65 64 20 |". Data assumed | 00008d90 74 6f 0a 20 20 20 73 74 61 72 74 20 61 74 20 70 |to. start at p| 00008da0 6f 73 69 74 69 6f 6e 20 31 32 38 20 69 6e 20 74 |osition 128 in t| 00008db0 68 65 20 66 69 6c 65 2e 20 48 65 61 64 65 72 20 |he file. Header | 00008dc0 69 67 6e 6f 72 65 64 2e 0a 20 2d 20 4e 6f 20 72 |ignored.. - No r| 00008dd0 65 73 6f 6c 75 74 69 6f 6e 20 73 70 65 63 69 66 |esolution specif| 00008de0 69 65 64 2c 20 65 71 75 61 6c 20 74 6f 20 6d 6f |ied, equal to mo| 00008df0 64 65 20 32 35 20 61 73 73 75 6d 65 64 0a 0a 54 |de 25 assumed..T| 00008e00 68 65 20 4d 61 63 20 50 49 43 54 32 20 66 6f 72 |he Mac PICT2 for| 00008e10 6d 61 74 20 28 50 49 43 54 20 65 78 74 65 6e 64 |mat (PICT extend| 00008e20 65 64 20 76 65 72 73 69 6f 6e 20 32 29 0a 20 50 |ed version 2). P| 00008e30 72 6f 76 69 64 65 73 20 61 6e 20 61 72 62 69 74 |rovides an arbit| 00008e40 61 72 79 20 73 69 7a 65 20 70 61 63 6b 65 64 20 |ary size packed | 00008e50 70 69 63 74 75 72 65 2c 20 72 75 6e 20 6c 65 6e |picture, run len| 00008e60 67 74 68 20 63 6f 64 65 64 20 62 79 20 74 68 65 |gth coded by the| 00008e70 20 4d 61 63 27 73 0a 20 22 50 61 63 6b 42 69 74 | Mac's. "PackBit| 00008e80 73 22 20 61 6c 67 6f 72 69 74 68 6d 20 28 72 65 |s" algorithm (re| 00008e90 70 65 61 74 65 64 20 62 79 74 65 73 29 2e 0a 20 |peated bytes).. | 00008ea0 2b 20 52 65 63 6f 67 6e 69 73 65 64 20 62 79 20 |+ Recognised by | 00008eb0 6c 6f 6f 6b 69 6e 67 20 66 6f 72 20 74 68 65 20 |looking for the | 00008ec0 50 49 43 54 20 68 65 61 64 65 72 20 61 74 20 70 |PICT header at p| 00008ed0 6f 73 69 74 69 6f 6e 20 35 31 34 20 69 6e 20 74 |osition 514 in t| 00008ee0 68 65 20 66 69 6c 65 2e 0a 20 20 20 54 68 65 20 |he file.. The | 00008ef0 68 65 61 64 65 72 20 69 73 20 30 30 20 31 31 20 |header is 00 11 | 00008f00 30 32 20 46 46 20 30 43 20 30 30 20 46 46 20 46 |02 FF 0C 00 FF F| 00008f10 45 2e 0a 20 2d 20 44 6f 63 75 6d 65 6e 74 61 74 |E.. - Documentat| 00008f20 69 6f 6e 20 61 76 61 69 6c 61 62 6c 65 20 62 75 |ion available bu| 00008f30 74 20 6d 6f 73 74 6c 79 20 75 73 65 6c 65 73 73 |t mostly useless| 00008f40 20 28 69 74 20 61 73 73 75 6d 65 73 20 79 6f 75 | (it assumes you| 00008f50 20 61 72 65 20 61 62 6f 75 74 20 74 6f 0a 20 20 | are about to. | 00008f60 20 63 61 6c 6c 20 51 75 69 63 6b 44 72 61 77 20 | call QuickDraw | 00008f70 72 6f 75 74 69 6e 65 73 20 2d 20 22 4e 6f 74 65 |routines - "Note| 00008f80 3a 20 66 6f 72 20 6d 61 78 69 6d 75 6d 20 73 61 |: for maximum sa| 00008f90 66 65 74 79 20 61 6e 64 20 63 6f 6e 76 65 6e 69 |fety and conveni| 00008fa0 65 6e 63 65 2c 20 6c 65 74 0a 20 20 20 51 75 69 |ence, let. Qui| 00008fb0 63 6b 44 72 61 77 20 67 65 6e 65 72 61 74 65 20 |ckDraw generate | 00008fc0 61 6e 64 20 69 6e 74 65 72 70 72 65 74 20 79 6f |and interpret yo| 00008fd0 75 72 20 70 69 63 74 75 72 65 73 2e 22 20 41 70 |ur pictures." Ap| 00008fe0 70 6c 65 20 66 61 69 6c 20 74 6f 20 64 65 73 63 |ple fail to desc| 00008ff0 72 69 62 65 0a 20 20 20 74 68 65 20 50 61 63 6b |ribe. the Pack| 00009000 42 69 74 73 20 61 6c 67 6f 72 69 74 68 6d 20 69 |Bits algorithm i| 00009010 6e 20 49 6e 73 69 64 65 20 4d 61 63 2e 2e 2e 29 |n Inside Mac...)| 00009020 0a 20 2d 20 50 49 43 54 20 69 73 20 74 68 65 20 |. - PICT is the | 00009030 6c 6f 6f 73 65 20 65 71 75 69 76 61 6c 65 6e 74 |loose equivalent| 00009040 20 6f 66 20 52 49 53 43 20 4f 53 20 44 72 61 77 | of RISC OS Draw| 00009050 20 66 69 6c 65 20 66 6f 72 6d 61 74 2c 20 62 75 | file format, bu| 00009060 74 20 77 69 74 68 6f 75 74 0a 20 20 20 74 68 65 |t without. the| 00009070 20 65 78 70 6c 69 63 69 74 20 73 69 7a 69 6e 67 | explicit sizing| 00009080 20 6f 66 20 6f 62 6a 65 63 74 73 20 2d 20 66 6f | of objects - fo| 00009090 72 20 50 49 43 54 2c 20 69 66 20 74 68 65 72 65 |r PICT, if there| 000090a0 20 69 73 20 61 6e 20 6f 62 6a 65 63 74 20 74 68 | is an object th| 000090b0 61 74 0a 20 20 20 79 6f 75 20 64 6f 6e 27 74 20 |at. you don't | 000090c0 75 6e 64 65 72 73 74 61 6e 64 2c 20 74 68 65 72 |understand, ther| 000090d0 65 27 73 20 6e 6f 20 77 61 79 20 6f 66 20 73 6b |e's no way of sk| 000090e0 69 70 70 69 6e 67 20 69 74 20 28 77 68 65 72 65 |ipping it (where| 000090f0 61 73 20 66 6f 72 20 44 72 61 77 2c 0a 20 20 20 |as for Draw,. | 00009100 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 |the size of the | 00009110 6f 62 6a 65 63 74 20 69 73 20 73 70 65 63 69 66 |object is specif| 00009120 69 65 64 20 69 6e 20 61 6e 20 6f 62 6a 65 63 74 |ied in an object| 00009130 20 69 6e 64 65 70 2e 20 77 61 79 29 2e 20 41 70 | indep. way). Ap| 00009140 70 6c 65 0a 20 20 20 70 72 65 73 65 6e 74 20 61 |ple. present a| 00009150 20 6c 61 72 67 65 20 74 61 62 6c 65 20 6f 66 20 | large table of | 00009160 74 68 65 20 73 69 7a 65 73 20 6f 66 20 74 68 65 |the sizes of the| 00009170 20 6f 62 6a 65 63 74 73 20 28 30 30 30 30 20 2d | objects (0000 -| 00009180 20 46 46 46 46 29 20 77 68 69 63 68 20 69 73 0a | FFFF) which is.| 00009190 20 20 20 6e 6f 74 20 69 6e 20 43 68 61 6e 67 65 | not in Change| 000091a0 46 53 49 2e 20 43 6f 6e 73 65 71 75 65 6e 74 6c |FSI. Consequentl| 000091b0 79 2c 20 69 66 20 43 68 61 6e 67 65 46 53 49 20 |y, if ChangeFSI | 000091c0 66 69 6e 64 73 20 61 6e 20 6f 62 6a 65 63 74 20 |finds an object | 000091d0 69 74 20 64 6f 65 73 6e 27 74 0a 20 20 20 6b 6e |it doesn't. kn| 000091e0 6f 77 20 61 62 6f 75 74 20 62 65 66 6f 72 65 20 |ow about before | 000091f0 74 68 65 20 70 69 63 74 75 72 65 2c 20 69 74 20 |the picture, it | 00009200 73 74 6f 70 73 2e 2e 2e 0a 20 2d 20 4f 6e 6c 79 |stops.... - Only| 00009210 20 50 61 63 6b 42 69 74 73 52 65 63 74 20 28 30 | PackBitsRect (0| 00009220 30 39 38 29 20 28 38 62 70 70 29 20 61 6e 64 20 |098) (8bpp) and | 00009230 44 69 72 65 63 74 42 69 74 73 52 65 63 74 20 28 |DirectBitsRect (| 00009240 30 30 39 41 29 20 28 32 34 2f 33 32 20 62 70 70 |009A) (24/32 bpp| 00009250 29 20 61 72 65 0a 20 20 20 61 6c 6c 6f 77 65 64 |) are. allowed| 00009260 2e 0a 20 2b 20 43 68 61 6e 67 65 46 53 49 20 74 |.. + ChangeFSI t| 00009270 72 69 65 73 20 74 6f 20 73 6b 69 70 20 61 20 43 |ries to skip a C| 00009280 6c 69 70 20 28 30 30 30 31 29 20 72 65 67 69 6f |lip (0001) regio| 00009290 6e 20 69 66 20 69 74 20 65 6e 63 6f 75 6e 74 65 |n if it encounte| 000092a0 72 73 20 69 74 2c 20 73 69 6e 63 65 20 69 74 0a |rs it, since it.| 000092b0 20 20 20 69 73 20 68 61 72 64 20 74 6f 20 67 65 | is hard to ge| 000092c0 74 20 74 68 65 20 4d 61 63 20 4f 53 20 74 6f 20 |t the Mac OS to | 000092d0 6d 61 6b 65 20 50 49 43 54 20 66 69 6c 65 73 20 |make PICT files | 000092e0 77 69 74 68 6f 75 74 20 61 20 63 6c 69 70 20 6f |without a clip o| 000092f0 70 63 6f 64 65 20 69 6e 20 74 68 65 6d 2e 0a 20 |pcode in them.. | 00009300 2b 20 73 69 7a 65 20 6f 66 20 70 69 78 65 6c 20 |+ size of pixel | 00009310 73 70 65 63 69 66 69 65 64 2e 0a 20 2d 20 4f 6e |specified.. - On| 00009320 6c 79 20 33 20 70 69 63 74 75 72 65 73 20 72 65 |ly 3 pictures re| 00009330 61 64 20 2d 20 73 69 6e 63 65 20 74 68 65 20 66 |ad - since the f| 00009340 6f 72 6d 61 74 20 69 73 20 76 65 72 79 20 63 6f |ormat is very co| 00009350 6d 70 6c 69 63 61 74 65 64 20 28 65 2e 67 2e 20 |mplicated (e.g. | 00009360 74 68 65 20 73 69 7a 65 0a 20 20 20 6f 66 20 74 |the size. of t| 00009370 68 69 6e 67 73 20 63 68 61 6e 67 65 20 69 66 20 |hings change if | 00009380 3e 32 35 30 20 72 6f 77 73 20 69 6e 20 74 68 65 |>250 rows in the| 00009390 20 70 69 63 74 75 72 65 21 29 20 74 68 69 73 20 | picture!) this | 000093a0 69 73 20 6e 6f 20 67 75 61 72 65 6e 74 65 65 20 |is no guarentee | 000093b0 74 68 61 74 0a 20 20 20 61 6e 79 74 68 69 6e 67 |that. anything| 000093c0 20 65 6c 73 65 20 77 69 6c 6c 20 62 65 20 72 69 | else will be ri| 000093d0 67 68 74 2e 0a 0a 54 68 65 20 5a 53 6f 66 74 20 |ght...The ZSoft | 000093e0 2e 50 43 58 20 66 6f 72 6d 61 74 0a 20 55 73 65 |.PCX format. Use| 000093f0 64 20 62 79 20 50 43 20 50 61 69 6e 74 62 72 75 |d by PC Paintbru| 00009400 73 68 2e 20 55 73 75 61 6c 6c 79 20 61 20 34 20 |sh. Usually a 4 | 00009410 62 69 74 20 70 65 72 20 70 69 78 65 6c 20 69 6d |bit per pixel im| 00009420 61 67 65 20 28 43 47 41 2c 20 45 47 41 2c 20 56 |age (CGA, EGA, V| 00009430 47 41 29 20 62 75 74 0a 20 63 61 6e 20 62 65 20 |GA) but. can be | 00009440 31 2d 38 20 62 69 74 73 20 70 65 72 20 70 69 78 |1-8 bits per pix| 00009450 65 6c 2e 0a 20 2d 20 52 65 63 6f 67 6e 69 73 65 |el.. - Recognise| 00009460 64 20 62 79 20 31 30 2c 5b 30 2c 32 2c 33 2c 34 |d by 10,[0,2,3,4| 00009470 2c 35 5d 2c 31 20 61 74 20 73 74 61 72 74 20 6f |,5],1 at start o| 00009480 66 20 66 69 6c 65 2e 20 4f 72 20 62 79 20 6e 61 |f file. Or by na| 00009490 6d 65 20 50 43 58 2e 3c 66 6f 6f 3e 2e 20 4f 72 |me PCX.<foo>. Or| 000094a0 0a 20 20 20 62 79 20 74 79 70 65 20 26 36 39 37 |. by type &697| 000094b0 2e 0a 20 2b 20 49 6e 74 65 6c 6c 69 67 65 6e 74 |.. + Intelligent| 000094c0 20 63 68 65 63 6b 20 66 6f 72 20 72 65 73 6f 6c | check for resol| 000094d0 75 74 69 6f 6e 20 6f 66 20 74 68 65 20 44 41 43 |ution of the DAC| 000094e0 73 20 6f 6e 20 74 68 65 20 50 43 20 63 61 72 64 |s on the PC card| 000094f0 2e 20 55 73 65 20 2d 69 6e 66 6f 20 74 6f 0a 20 |. Use -info to. | 00009500 20 20 66 69 6e 64 20 6f 75 74 20 77 68 61 74 20 | find out what | 00009510 43 68 61 6e 67 65 46 53 49 20 74 68 69 6e 6b 73 |ChangeFSI thinks| 00009520 20 69 74 20 69 73 2e 0a 20 2b 20 50 69 78 65 6c | it is.. + Pixel| 00009530 20 73 69 7a 65 20 69 6e 66 6f 72 6d 61 74 69 6f | size informatio| 00009540 6e 20 72 65 61 64 2e 20 59 6f 75 20 6d 61 79 20 |n read. You may | 00009550 6e 65 65 64 20 74 6f 20 73 74 6f 70 20 74 68 65 |need to stop the| 00009560 20 73 63 61 6c 69 6e 67 20 77 69 74 68 0a 20 20 | scaling with. | 00009570 20 2d 6e 6f 73 69 7a 65 2c 20 73 69 6e 63 65 20 | -nosize, since | 00009580 69 74 73 20 6f 66 74 65 6e 20 77 72 6f 6e 67 2e |its often wrong.| 00009590 0a 0a 54 68 65 20 52 49 58 20 53 6f 66 74 77 6f |..The RIX Softwo| 000095a0 72 6b 73 20 43 6f 6c 6f 52 49 58 20 66 6f 72 6d |rks ColoRIX form| 000095b0 61 74 0a 20 55 73 65 64 20 62 79 20 56 47 41 20 |at. Used by VGA | 000095c0 50 61 69 6e 74 2c 20 69 6d 61 67 65 20 65 78 74 |Paint, image ext| 000095d0 65 6e 73 69 6f 6e 20 2e 53 43 45 20 2e 2e 20 2e |ension .SCE .. .| 000095e0 53 43 58 2e 20 34 20 6f 72 20 38 20 62 69 74 73 |SCX. 4 or 8 bits| 000095f0 20 70 65 72 20 70 69 78 65 6c 2e 0a 20 2d 20 52 | per pixel.. - R| 00009600 65 63 6f 67 6e 69 73 65 64 20 62 79 20 22 52 49 |ecognised by "RI| 00009610 58 33 22 20 61 74 20 73 74 61 72 74 20 6f 66 20 |X3" at start of | 00009620 66 69 6c 65 0a 20 2d 20 44 6f 63 75 6d 65 6e 74 |file. - Document| 00009630 61 74 69 6f 6e 20 6e 65 76 65 72 20 73 65 65 6e |ation never seen| 00009640 0a 20 2d 20 4f 6e 6c 79 20 35 20 66 69 6c 65 73 |. - Only 5 files| 00009650 20 72 65 61 64 3a 20 43 68 61 6e 67 65 46 53 49 | read: ChangeFSI| 00009660 20 63 68 65 63 6b 73 20 74 6f 20 73 65 65 20 69 | checks to see i| 00009670 66 20 74 68 65 20 68 65 61 64 65 72 20 69 73 20 |f the header is | 00009680 74 68 65 20 73 61 6d 65 0a 20 20 20 61 73 20 74 |the same. as t| 00009690 68 65 73 65 20 66 69 6c 65 73 20 61 6e 64 20 63 |hese files and c| 000096a0 6f 6d 70 6c 61 69 6e 73 20 6f 74 68 65 72 77 69 |omplains otherwi| 000096b0 73 65 2e 0a 20 2d 20 4e 6f 20 72 65 73 6f 6c 75 |se.. - No resolu| 000096c0 74 69 6f 6e 20 73 70 65 63 69 66 69 65 64 2c 20 |tion specified, | 000096d0 65 71 75 61 6c 20 74 6f 20 6d 6f 64 65 20 32 37 |equal to mode 27| 000096e0 20 61 73 73 75 6d 65 64 0a 0a 54 68 65 20 53 75 | assumed..The Su| 000096f0 6e 20 22 70 69 78 72 65 63 74 22 20 66 6f 72 6d |n "pixrect" form| 00009700 61 74 0a 20 55 73 65 64 20 75 6e 64 65 72 20 53 |at. Used under S| 00009710 75 6e 4f 53 20 61 6e 64 20 61 6c 73 6f 20 75 6e |unOS and also un| 00009720 64 65 72 20 58 31 31 2e 20 43 6f 6d 6d 6f 6e 6c |der X11. Commonl| 00009730 79 20 31 20 6f 72 20 38 20 62 69 74 73 20 70 65 |y 1 or 8 bits pe| 00009740 72 20 70 69 78 65 6c 2c 20 62 75 74 20 75 70 0a |r pixel, but up.| 00009750 20 74 6f 20 32 34 20 62 69 74 73 20 70 65 72 20 | to 24 bits per | 00009760 70 69 78 65 6c 20 63 61 6e 20 62 65 20 66 6f 75 |pixel can be fou| 00009770 6e 64 20 28 73 65 65 20 74 68 65 20 53 75 6e 20 |nd (see the Sun | 00009780 4e 65 57 53 20 72 65 6c 65 61 73 65 20 74 61 70 |NeWS release tap| 00009790 65 21 29 2e 0a 20 2b 20 52 65 63 6f 67 6e 69 73 |e!).. + Recognis| 000097a0 65 64 20 62 79 20 26 35 39 41 35 35 41 39 35 20 |ed by &59A55A95 | 000097b0 61 74 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 |at the start of | 000097c0 74 68 65 20 66 69 6c 65 2e 0a 20 2d 20 4e 6f 20 |the file.. - No | 000097d0 72 65 73 6f 6c 75 74 69 6f 6e 20 73 70 65 63 69 |resolution speci| 000097e0 66 69 65 64 2c 20 65 71 75 61 6c 20 74 6f 20 6d |fied, equal to m| 000097f0 6f 64 65 20 32 37 20 61 73 73 75 6d 65 64 0a 20 |ode 27 assumed. | 00009800 2d 20 53 75 6e 20 64 69 64 6e 27 74 20 73 70 65 |- Sun didn't spe| 00009810 63 69 66 79 20 74 68 65 20 70 69 78 65 6c 20 6f |cify the pixel o| 00009820 72 64 65 72 69 6e 67 20 6f 66 20 32 34 20 62 69 |rdering of 24 bi| 00009830 74 20 70 65 72 20 70 69 78 65 6c 20 69 6d 61 67 |t per pixel imag| 00009840 65 73 3a 20 6d 61 6e 79 0a 20 20 20 61 73 73 75 |es: many. assu| 00009850 6d 65 20 52 47 42 20 77 68 65 6e 20 69 74 20 77 |me RGB when it w| 00009860 61 73 20 61 63 74 75 61 6c 6c 79 20 42 47 52 2e |as actually BGR.| 00009870 20 43 68 61 6e 67 65 20 62 79 74 65 20 26 31 37 | Change byte &17| 00009880 20 69 6e 20 74 68 65 20 53 75 6e 0a 20 20 20 72 | in the Sun. r| 00009890 61 73 74 65 72 66 69 6c 65 20 62 65 74 77 65 65 |asterfile betwee| 000098a0 6e 20 31 20 61 6e 64 20 33 20 69 66 20 79 6f 75 |n 1 and 3 if you| 000098b0 20 68 61 76 65 20 61 20 70 72 6f 62 6c 65 6d 2e | have a problem.| 000098c0 0a 0a 54 68 65 20 22 70 62 6d 22 20 27 70 6f 72 |..The "pbm" 'por| 000098d0 74 61 62 6c 65 20 62 69 74 6d 61 70 27 20 66 69 |table bitmap' fi| 000098e0 6c 65 20 66 6f 72 6d 61 74 0a 20 55 73 65 64 20 |le format. Used | 000098f0 62 79 20 74 68 65 20 22 50 42 4d 2d 50 4c 55 53 |by the "PBM-PLUS| 00009900 22 20 74 6f 6f 6c 6b 69 74 20 28 6d 61 69 6e 6c |" toolkit (mainl| 00009910 79 20 55 6e 69 78 29 20 62 79 20 4a 65 66 20 50 |y Unix) by Jef P| 00009920 6f 73 6b 61 6e 7a 65 72 2e 20 31 2d 32 34 20 62 |oskanzer. 1-24 b| 00009930 69 74 73 0a 20 70 65 72 20 70 69 78 65 6c 20 28 |its. per pixel (| 00009940 6d 6f 72 65 20 63 61 6e 20 62 65 20 73 70 65 63 |more can be spec| 00009950 69 66 69 65 64 20 69 6e 20 74 68 65 20 66 6f 72 |ified in the for| 00009960 6d 61 74 20 62 75 74 20 43 68 61 6e 67 65 46 53 |mat but ChangeFS| 00009970 49 20 63 61 6e 6e 6f 74 20 72 65 61 64 0a 20 74 |I cannot read. t| 00009980 68 65 6d 29 2e 20 43 68 61 6e 67 65 46 53 49 20 |hem). ChangeFSI | 00009990 63 61 6e 20 6f 6e 6c 79 20 72 65 61 64 20 74 68 |can only read th| 000099a0 65 20 22 52 41 57 42 49 54 53 22 20 66 6f 72 6d |e "RAWBITS" form| 000099b0 61 74 73 20 28 69 74 20 63 61 6e 20 77 72 69 74 |ats (it can writ| 000099c0 65 20 61 6c 6c 20 6f 66 0a 20 74 68 65 20 70 62 |e all of. the pb| 000099d0 6d 20 66 6f 72 6d 61 74 73 29 2e 0a 20 2b 20 52 |m formats).. + R| 000099e0 65 63 6f 67 6e 69 73 65 64 20 62 79 20 50 34 2f |ecognised by P4/| 000099f0 50 35 2f 50 36 20 61 74 20 73 74 61 72 74 20 6f |P5/P6 at start o| 00009a00 66 20 66 69 6c 65 2e 0a 20 2b 20 57 72 69 74 61 |f file.. + Writa| 00009a10 62 6c 65 20 62 79 20 43 68 61 6e 67 65 46 53 49 |ble by ChangeFSI| 00009a20 0a 20 2d 20 4e 6f 20 72 65 73 6f 6c 75 74 69 6f |. - No resolutio| 00009a30 6e 20 73 70 65 63 69 66 69 65 64 2c 20 65 71 75 |n specified, equ| 00009a40 61 6c 20 74 6f 20 6d 6f 64 65 20 32 37 20 61 73 |al to mode 27 as| 00009a50 73 75 6d 65 64 0a 0a 54 68 65 20 55 4e 49 58 20 |sumed..The UNIX | 00009a60 22 72 6c 65 22 20 66 6f 72 6d 61 74 0a 20 55 73 |"rle" format. Us| 00009a70 65 64 20 62 79 20 61 20 70 72 6f 67 72 61 6d 20 |ed by a program | 00009a80 63 61 6c 6c 65 64 20 22 73 76 66 62 22 20 74 6f |called "svfb" to| 00009a90 20 73 61 76 65 20 74 68 65 20 63 6f 6e 74 65 6e | save the conten| 00009aa0 74 73 20 6f 66 20 6c 61 72 67 65 20 66 72 61 6d |ts of large fram| 00009ab0 65 0a 20 62 75 66 66 65 72 73 2c 20 63 68 65 63 |e. buffers, chec| 00009ac0 6b 65 64 20 77 69 74 68 20 66 6f 75 72 20 69 6d |ked with four im| 00009ad0 61 67 65 73 20 61 74 20 32 34 20 62 69 74 73 20 |ages at 24 bits | 00009ae0 70 65 72 20 70 69 78 65 6c 2e 0a 20 2b 20 52 65 |per pixel.. + Re| 00009af0 63 6f 67 6e 69 73 65 64 20 62 79 20 26 43 43 35 |cognised by &CC5| 00009b00 32 20 61 74 20 74 68 65 20 73 74 61 72 74 20 6f |2 at the start o| 00009b10 66 20 74 68 65 20 66 69 6c 65 2e 0a 20 2d 20 4e |f the file.. - N| 00009b20 6f 20 72 65 73 6f 6c 75 74 69 6f 6e 20 73 70 65 |o resolution spe| 00009b30 63 69 66 69 65 64 2c 20 65 71 75 61 6c 20 74 6f |cified, equal to| 00009b40 20 6d 6f 64 65 20 32 37 20 61 73 73 75 6d 65 64 | mode 27 assumed| 00009b50 0a 0a 54 68 65 20 54 72 75 65 56 69 73 69 6f 6e |..The TrueVision| 00009b60 20 54 61 72 67 61 20 66 6f 72 6d 61 74 0a 20 55 | Targa format. U| 00009b70 73 65 64 20 62 79 20 54 72 75 65 56 69 73 69 6f |sed by TrueVisio| 00009b80 6e 20 66 6f 72 20 56 69 73 74 61 20 62 6f 61 72 |n for Vista boar| 00009b90 64 73 2e 20 55 70 20 74 6f 20 33 32 20 62 69 74 |ds. Up to 32 bit| 00009ba0 73 20 70 65 72 20 70 69 78 65 6c 2e 0a 20 2d 20 |s per pixel.. - | 00009bb0 52 65 63 6f 67 6e 69 73 65 64 20 62 79 20 73 75 |Recognised by su| 00009bc0 66 66 69 78 20 5f 54 47 41 20 6f 72 20 5f 56 44 |ffix _TGA or _VD| 00009bd0 41 20 6f 6e 20 74 68 65 20 6e 61 6d 65 2e 20 4f |A on the name. O| 00009be0 72 20 62 79 20 74 79 70 65 20 26 36 39 64 2e 0a |r by type &69d..| 00009bf0 20 2d 20 4f 6e 6c 79 20 75 6e 63 6f 6d 70 72 65 | - Only uncompre| 00009c00 73 73 65 64 20 66 6f 72 6d 61 74 73 20 72 65 61 |ssed formats rea| 00009c10 64 61 62 6c 65 2e 0a 20 2d 20 4f 6e 6c 79 20 38 |dable.. - Only 8| 00009c20 20 61 6e 64 20 31 36 20 62 69 74 20 70 65 72 20 | and 16 bit per | 00009c30 70 69 78 65 6c 20 66 6f 72 6d 61 74 73 20 74 65 |pixel formats te| 00009c40 73 74 65 64 2e 0a 0a 54 68 65 20 22 46 6c 65 78 |sted...The "Flex| 00009c50 69 62 6c 65 20 49 6d 61 67 65 20 54 72 61 6e 73 |ible Image Trans| 00009c60 70 6f 72 74 20 53 79 73 74 65 6d 22 20 28 46 49 |port System" (FI| 00009c70 54 53 29 20 66 6f 72 6d 61 74 0a 20 55 73 65 64 |TS) format. Used| 00009c80 20 66 6f 72 20 61 73 74 72 6f 6e 6f 6d 69 63 61 | for astronomica| 00009c90 6c 20 64 61 74 61 2e 20 55 70 20 74 6f 20 31 36 |l data. Up to 16| 00009ca0 20 62 69 74 73 20 70 65 72 20 70 69 78 65 6c 20 | bits per pixel | 00009cb0 63 6f 6d 70 6f 6e 65 6e 74 2e 0a 20 2b 20 52 65 |component.. + Re| 00009cc0 63 6f 67 6e 69 73 65 64 20 62 79 20 22 53 49 4d |cognised by "SIM| 00009cd0 50 4c 45 22 20 61 74 20 74 68 65 20 73 74 61 72 |PLE" at the star| 00009ce0 74 20 6f 66 20 74 68 65 20 66 69 6c 65 2e 0a 20 |t of the file.. | 00009cf0 2d 20 4f 6e 6c 79 20 38 20 61 6e 64 20 31 36 20 |- Only 8 and 16 | 00009d00 62 69 74 20 70 65 72 20 70 69 78 65 6c 20 63 6f |bit per pixel co| 00009d10 6d 70 6f 6e 65 6e 74 20 66 6f 72 6d 61 74 73 20 |mponent formats | 00009d20 74 65 73 74 65 64 2e 0a 20 2d 20 4f 6e 6c 79 20 |tested.. - Only | 00009d30 74 77 6f 20 66 69 6c 65 73 20 65 76 65 72 20 73 |two files ever s| 00009d40 65 65 6e 21 0a 20 2d 20 4e 6f 20 72 65 73 6f 6c |een!. - No resol| 00009d50 75 74 69 6f 6e 20 73 70 65 63 69 66 69 65 64 2c |ution specified,| 00009d60 20 65 71 75 61 6c 20 74 6f 20 6d 6f 64 65 20 32 | equal to mode 2| 00009d70 37 20 61 73 73 75 6d 65 64 0a 0a 54 68 65 20 49 |7 assumed..The I| 00009d80 72 6c 61 6d 20 69 6e 73 74 72 75 6d 65 6e 74 73 |rlam instruments| 00009d90 20 63 6f 6c 6f 75 72 20 73 63 61 6e 6e 65 72 20 | colour scanner | 00009da0 66 6f 72 6d 61 74 0a 20 32 34 20 62 69 74 20 70 |format. 24 bit p| 00009db0 65 72 20 70 69 78 65 6c 20 66 72 6f 6d 20 63 6f |er pixel from co| 00009dc0 6c 6f 75 72 20 73 63 61 6e 6e 65 72 2e 0a 20 2b |lour scanner.. +| 00009dd0 20 52 65 63 6f 67 6e 69 73 65 64 20 62 79 20 49 | Recognised by I| 00009de0 72 6c 61 6d 20 32 34 20 61 74 20 74 68 65 20 73 |rlam 24 at the s| 00009df0 74 61 72 74 20 6f 66 20 74 68 65 20 66 69 6c 65 |tart of the file| 00009e00 2e 0a 20 2b 20 57 72 69 74 61 62 6c 65 20 62 79 |.. + Writable by| 00009e10 20 43 68 61 6e 67 65 46 53 49 0a 20 2d 20 4e 6f | ChangeFSI. - No| 00009e20 20 72 65 73 6f 6c 75 74 69 6f 6e 20 73 70 65 63 | resolution spec| 00009e30 69 66 69 65 64 2c 20 65 71 75 61 6c 20 74 6f 20 |ified, equal to | 00009e40 6d 6f 64 65 20 32 37 20 61 73 73 75 6d 65 64 0a |mode 27 assumed.| 00009e50 20 2d 20 6d 61 79 20 6e 65 65 64 20 67 61 6d 6d | - may need gamm| 00009e60 61 20 63 6f 72 72 65 63 74 69 6f 6e 0a 0a 54 68 |a correction..Th| 00009e70 65 20 49 72 6c 61 6d 20 69 6e 73 74 72 75 6d 65 |e Irlam instrume| 00009e80 6e 74 73 20 59 55 56 20 34 31 31 20 63 6f 6c 6f |nts YUV 411 colo| 00009e90 75 72 20 76 69 64 65 6f 20 66 6f 72 6d 61 74 0a |ur video format.| 00009ea0 20 37 20 62 69 74 73 20 59 2c 20 75 70 20 74 6f | 7 bits Y, up to| 00009eb0 20 37 20 62 69 74 73 20 55 20 61 6e 64 20 56 2e | 7 bits U and V.| 00009ec0 0a 20 2b 20 52 65 63 6f 67 6e 69 73 65 64 20 62 |. + Recognised b| 00009ed0 79 20 49 72 6c 61 6d 20 59 55 56 20 34 31 31 20 |y Irlam YUV 411 | 00009ee0 61 74 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 |at the start of | 00009ef0 74 68 65 20 66 69 6c 65 0a 20 2d 20 6e 6f 20 72 |the file. - no r| 00009f00 65 73 6f 6c 75 74 69 6f 6e 20 73 70 65 63 69 66 |esolution specif| 00009f10 69 65 64 2c 20 65 71 75 61 6c 20 74 6f 20 6d 6f |ied, equal to mo| 00009f20 64 65 20 32 37 20 61 73 73 75 6d 65 64 0a 0a 54 |de 27 assumed..T| 00009f30 68 65 20 4a 50 45 47 20 27 4a 46 49 46 27 20 46 |he JPEG 'JFIF' F| 00009f40 69 6c 65 20 49 6e 74 65 72 63 68 61 6e 67 65 20 |ile Interchange | 00009f50 46 6f 72 6d 61 74 0a 20 55 70 20 74 6f 20 32 34 |Format. Up to 24| 00009f60 20 62 69 74 73 20 52 2c 47 2c 42 2c 20 63 6f 6d | bits R,G,B, com| 00009f70 70 72 65 73 73 65 64 20 62 79 20 74 68 65 20 4a |pressed by the J| 00009f80 50 45 47 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 |PEG compression | 00009f90 73 79 73 74 65 6d 2e 0a 20 2b 20 52 65 63 6f 67 |system.. + Recog| 00009fa0 6e 69 73 65 64 20 62 79 20 4a 46 49 46 20 61 74 |nised by JFIF at| 00009fb0 20 70 6f 73 69 74 69 6f 6e 20 36 20 69 6e 20 74 | position 6 in t| 00009fc0 68 65 20 66 69 6c 65 20 28 79 6f 75 20 6d 61 79 |he file (you may| 00009fd0 20 68 61 76 65 20 74 6f 0a 20 20 20 63 75 74 20 | have to. cut | 00009fe0 68 65 61 64 65 72 73 20 6f 66 66 20 66 69 6c 65 |headers off file| 00009ff0 73 2c 20 70 61 72 74 69 63 75 6c 61 72 6c 79 20 |s, particularly | 0000a000 69 66 20 74 68 65 79 20 61 72 65 20 66 72 6f 6d |if they are from| 0000a010 20 4d 61 63 73 29 2e 0a 20 2b 20 4f 66 74 65 6e | Macs).. + Often| 0000a020 20 68 69 67 68 6c 79 20 63 6f 6d 70 72 65 73 73 | highly compress| 0000a030 65 64 0a 20 2b 20 49 66 20 43 68 61 6e 67 65 46 |ed. + If ChangeF| 0000a040 53 49 24 43 61 63 68 65 20 69 73 20 6c 61 72 67 |SI$Cache is larg| 0000a050 65 20 65 6e 6f 75 67 68 20 28 62 69 67 67 65 72 |e enough (bigger| 0000a060 20 74 68 61 6e 20 74 68 65 20 66 69 6c 65 29 2c | than the file),| 0000a070 20 74 68 65 6e 20 68 69 67 68 0a 20 20 20 73 70 | then high. sp| 0000a080 65 65 64 20 72 6f 75 74 69 6e 65 73 20 61 72 65 |eed routines are| 0000a090 20 75 73 65 64 20 74 6f 20 64 65 63 6f 6d 70 72 | used to decompr| 0000a0a0 65 73 73 2e 20 4f 74 68 65 72 77 69 73 65 3a 0a |ess. Otherwise:.| 0000a0b0 20 2d 20 43 68 61 6e 67 65 46 53 49 20 63 61 6c | - ChangeFSI cal| 0000a0c0 6c 73 20 61 20 64 6a 70 65 67 20 72 6f 75 74 69 |ls a djpeg routi| 0000a0d0 6e 65 2e 20 54 68 69 73 20 63 61 6e 20 62 65 20 |ne. This can be | 0000a0e0 6f 6e 20 74 68 65 20 52 75 6e 24 50 61 74 68 2c |on the Run$Path,| 0000a0f0 20 69 6d 70 6c 65 6d 65 6e 74 65 64 0a 20 20 20 | implemented. | 0000a100 61 73 20 61 6e 20 41 6c 69 61 73 20 28 69 6e 20 |as an Alias (in | 0000a110 77 68 69 63 68 20 63 61 73 65 20 69 74 20 2a 6d |which case it *m| 0000a120 75 73 74 2a 20 75 73 65 20 57 69 6d 70 54 61 73 |ust* use WimpTas| 0000a130 6b 20 74 6f 20 73 74 61 72 74 29 20 6f 72 20 66 |k to start) or f| 0000a140 6f 75 6e 64 0a 20 20 20 69 6e 73 69 64 65 20 43 |ound. inside C| 0000a150 68 61 6e 67 65 46 53 49 24 44 69 72 20 69 66 20 |hangeFSI$Dir if | 0000a160 61 6c 6c 20 65 6c 73 65 20 66 61 69 6c 73 2e 20 |all else fails. | 0000a170 63 6a 70 65 67 20 28 74 68 65 20 63 6f 6d 70 72 |cjpeg (the compr| 0000a180 65 73 73 6f 72 29 20 69 73 20 61 6c 73 6f 0a 20 |essor) is also. | 0000a190 20 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 73 69 | available insi| 0000a1a0 64 65 20 43 68 61 6e 67 65 46 53 49 24 44 69 72 |de ChangeFSI$Dir| 0000a1b0 20 2d 20 79 6f 75 20 77 69 6c 6c 20 6e 65 65 64 | - you will need| 0000a1c0 20 74 6f 20 63 6f 6e 76 65 72 74 20 74 68 65 20 | to convert the | 0000a1d0 69 6d 61 67 65 20 74 6f 0a 20 20 20 50 36 20 66 |image to. P6 f| 0000a1e0 6f 72 6d 61 74 20 62 65 66 6f 72 65 20 69 74 20 |ormat before it | 0000a1f0 63 61 6e 20 62 65 20 63 6f 6d 70 72 65 73 73 65 |can be compresse| 0000a200 64 2e 20 44 6a 70 65 67 20 61 6e 64 20 63 6a 70 |d. Djpeg and cjp| 0000a210 65 67 20 61 72 65 20 62 79 20 74 68 65 0a 20 20 |eg are by the. | 0000a220 20 50 44 20 4a 50 45 47 20 67 72 6f 75 70 2e 0a | PD JPEG group..| 0000a230 20 2d 20 2e 2e 2e 20 61 6e 64 20 74 68 65 72 65 | - ... and there| 0000a240 66 6f 72 65 20 73 6c 6f 77 2e 20 4e 65 65 64 73 |fore slow. Needs| 0000a250 20 61 20 6c 6f 74 20 6f 66 20 73 70 61 63 65 20 | a lot of space | 0000a260 69 6e 20 3c 57 69 6d 70 24 53 63 72 61 70 3e 2e |in <Wimp$Scrap>.| 0000a270 0a 20 2d 20 6e 6f 20 72 65 73 6f 6c 75 74 69 6f |. - no resolutio| 0000a280 6e 20 73 70 65 63 69 66 69 65 64 2c 20 65 71 75 |n specified, equ| 0000a290 61 6c 20 74 6f 20 6d 6f 64 65 20 32 37 20 61 73 |al to mode 27 as| 0000a2a0 73 75 6d 65 64 0a 0a 3e 3e 20 54 68 65 20 66 6f |sumed..>> The fo| 0000a2b0 6c 6c 6f 77 69 6e 67 20 66 69 6c 65 20 66 6f 72 |llowing file for| 0000a2c0 6d 61 74 73 20 61 72 65 20 6f 6e 6c 79 20 72 65 |mats are only re| 0000a2d0 63 6f 67 6e 69 73 65 64 20 62 79 20 74 68 65 69 |cognised by thei| 0000a2e0 72 20 6e 61 6d 65 73 2e 0a 0a 41 6e 20 75 6e 6b |r names...An unk| 0000a2f0 6e 6f 77 6e 20 50 43 20 2e 44 53 50 20 66 6f 72 |nown PC .DSP for| 0000a300 6d 61 74 0a 20 45 78 70 65 72 69 6d 65 6e 74 61 |mat. Experimenta| 0000a310 6c 6c 79 20 64 65 74 65 72 6d 69 6e 65 64 20 74 |lly determined t| 0000a320 68 61 74 20 69 74 20 68 6f 6c 64 73 20 61 20 36 |hat it holds a 6| 0000a330 34 30 20 62 79 20 33 35 30 20 45 47 41 20 70 69 |40 by 350 EGA pi| 0000a340 63 74 75 72 65 20 61 74 20 34 20 62 69 74 73 0a |cture at 4 bits.| 0000a350 20 70 65 72 20 70 69 78 65 6c 2e 20 43 68 61 6e | per pixel. Chan| 0000a360 67 65 46 53 49 20 22 6b 6e 6f 77 73 22 20 74 68 |geFSI "knows" th| 0000a370 65 20 64 65 66 61 75 6c 74 20 45 47 41 20 70 61 |e default EGA pa| 0000a380 6c 65 74 74 65 20 28 66 72 6f 6d 20 49 42 4d 20 |lette (from IBM | 0000a390 6c 69 74 65 72 61 74 75 72 65 29 2e 0a 20 2d 20 |literature).. - | 0000a3a0 52 65 63 6f 67 6e 69 73 65 64 20 62 79 20 62 65 |Recognised by be| 0000a3b0 69 6e 67 20 69 6e 20 61 20 64 69 72 65 63 74 6f |ing in a directo| 0000a3c0 72 79 20 22 44 53 50 22 0a 20 2d 20 44 6f 63 75 |ry "DSP". - Docu| 0000a3d0 6d 65 6e 74 61 74 69 6f 6e 20 6e 65 76 65 72 20 |mentation never | 0000a3e0 73 65 65 6e 0a 20 2d 20 4e 6f 20 72 65 73 6f 6c |seen. - No resol| 0000a3f0 75 74 69 6f 6e 20 73 70 65 63 69 66 69 65 64 2c |ution specified,| 0000a400 20 65 71 75 61 6c 20 74 6f 20 6d 6f 64 65 20 32 | equal to mode 2| 0000a410 37 20 61 73 73 75 6d 65 64 0a 20 2d 20 4f 6e 6c |7 assumed. - Onl| 0000a420 79 20 74 77 6f 20 65 78 61 6d 70 6c 65 73 20 72 |y two examples r| 0000a430 65 61 64 28 21 29 0a 0a 54 68 65 20 51 52 54 20 |ead(!)..The QRT | 0000a440 2e 72 61 77 20 66 6f 72 6d 61 74 0a 20 4f 75 74 |.raw format. Out| 0000a450 70 75 74 20 66 72 6f 6d 20 53 74 65 76 65 20 4b |put from Steve K| 0000a460 6f 72 65 6e 27 73 20 70 75 62 6c 69 63 20 64 6f |oren's public do| 0000a470 6d 61 69 6e 20 72 61 79 20 74 72 61 63 65 72 3a |main ray tracer:| 0000a480 20 61 72 62 69 74 72 61 72 79 20 73 69 7a 65 20 | arbitrary size | 0000a490 69 6e 20 32 5e 32 34 0a 20 63 6f 6c 6f 75 72 73 |in 2^24. colours| 0000a4a0 2c 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 2e 20 |, uncompressed. | 0000a4b0 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 70 61 |Documentation pa| 0000a4c0 72 74 20 6f 66 20 51 52 54 2e 0a 20 2d 20 52 65 |rt of QRT.. - Re| 0000a4d0 63 6f 67 6e 69 73 65 64 20 62 79 20 74 68 65 20 |cognised by the | 0000a4e0 6e 61 6d 65 20 65 6e 64 69 6e 67 20 22 2e 52 61 |name ending ".Ra| 0000a4f0 77 22 2e 20 4f 72 20 62 79 20 74 79 70 65 20 26 |w". Or by type &| 0000a500 36 39 38 2e 0a 20 2d 20 4e 6f 20 72 65 73 6f 6c |698.. - No resol| 0000a510 75 74 69 6f 6e 20 73 70 65 63 69 66 69 65 64 2c |ution specified,| 0000a520 20 65 71 75 61 6c 20 74 6f 20 6d 6f 64 65 20 32 | equal to mode 2| 0000a530 37 20 61 73 73 75 6d 65 64 0a 0a 54 68 65 20 4d |7 assumed..The M| 0000a540 54 56 20 70 69 63 2e 20 66 6f 72 6d 61 74 0a 20 |TV pic. format. | 0000a550 4f 75 74 70 75 74 20 66 72 6f 6d 20 4d 61 72 6b |Output from Mark| 0000a560 20 54 65 72 72 65 6e 63 65 20 56 61 6e 64 65 57 | Terrence VandeW| 0000a570 65 74 74 65 72 69 6e 67 20 70 75 62 6c 69 63 20 |ettering public | 0000a580 64 6f 6d 61 69 6e 20 72 61 79 20 74 72 61 63 65 |domain ray trace| 0000a590 72 20 61 72 62 69 74 72 61 72 79 0a 20 73 69 7a |r arbitrary. siz| 0000a5a0 65 20 69 6e 20 32 5e 32 34 20 63 6f 6c 6f 75 72 |e in 2^24 colour| 0000a5b0 73 2c 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 2e |s, uncompressed.| 0000a5c0 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 70 | Documentation p| 0000a5d0 61 72 74 20 6f 66 20 4d 54 56 2e 20 41 6c 73 6f |art of MTV. Also| 0000a5e0 20 75 73 65 64 20 62 79 0a 20 22 52 61 79 53 68 | used by. "RaySh| 0000a5f0 61 64 65 22 2e 0a 20 2d 20 52 65 63 6f 67 6e 69 |ade".. - Recogni| 0000a600 73 65 64 20 62 79 20 62 65 69 6e 67 20 69 6e 20 |sed by being in | 0000a610 61 20 64 69 72 65 63 74 6f 72 79 20 22 50 69 63 |a directory "Pic| 0000a620 2e 22 2e 20 4f 72 20 62 79 20 74 79 70 65 20 26 |.". Or by type &| 0000a630 36 39 39 2e 0a 20 2d 20 4e 6f 20 72 65 73 6f 6c |699.. - No resol| 0000a640 75 74 69 6f 6e 20 73 70 65 63 69 66 69 65 64 2c |ution specified,| 0000a650 20 65 71 75 61 6c 20 74 6f 20 6d 6f 64 65 20 32 | equal to mode 2| 0000a660 37 20 61 73 73 75 6d 65 64 0a 0a 54 68 65 20 52 |7 assumed..The R| 0000a670 54 20 69 6d 61 67 65 2e 20 66 6f 72 6d 61 74 0a |T image. format.| 0000a680 20 4f 75 74 70 75 74 20 66 72 6f 6d 20 22 52 54 | Output from "RT| 0000a690 22 2c 20 61 20 70 72 69 76 61 74 65 20 72 61 79 |", a private ray| 0000a6a0 20 74 72 61 63 65 72 20 62 79 20 42 72 69 61 6e | tracer by Brian| 0000a6b0 20 44 20 57 61 74 74 28 3f 29 20 61 72 62 69 74 | D Watt(?) arbit| 0000a6c0 72 61 72 79 20 73 69 7a 65 20 69 6e 0a 20 32 5e |rary size in. 2^| 0000a6d0 32 34 20 63 6f 6c 6f 75 72 73 2c 20 72 75 6e 20 |24 colours, run | 0000a6e0 6c 65 6e 67 74 68 20 65 6e 63 6f 64 65 64 2e 0a |length encoded..| 0000a6f0 20 2d 20 52 65 63 6f 67 6e 69 73 65 64 20 62 79 | - Recognised by| 0000a700 20 62 65 69 6e 67 20 69 6e 20 61 20 64 69 72 65 | being in a dire| 0000a710 63 74 6f 72 79 20 22 49 6d 61 67 65 2e 22 0a 20 |ctory "Image.". | 0000a720 2d 20 4e 6f 20 72 65 73 6f 6c 75 74 69 6f 6e 20 |- No resolution | 0000a730 73 70 65 63 69 66 69 65 64 2c 20 65 71 75 61 6c |specified, equal| 0000a740 20 74 6f 20 6d 6f 64 65 20 32 37 20 61 73 73 75 | to mode 27 assu| 0000a750 6d 65 64 0a 0a 46 6f 72 20 6d 61 6e 79 20 6f 66 |med..For many of| 0000a760 20 74 68 65 73 65 20 66 6f 72 6d 61 74 73 2c 20 | these formats, | 0000a770 65 73 70 65 63 69 61 6c 6c 79 20 74 68 65 20 75 |especially the u| 0000a780 6e 63 6f 6d 70 72 65 73 73 65 64 20 6f 6e 65 73 |ncompressed ones| 0000a790 2c 20 73 65 74 74 69 6e 67 20 74 68 65 0a 76 61 |, setting the.va| 0000a7a0 72 69 61 62 6c 65 20 22 43 68 61 6e 67 65 46 53 |riable "ChangeFS| 0000a7b0 49 24 43 61 63 68 65 22 20 74 6f 20 74 68 65 20 |I$Cache" to the | 0000a7c0 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 |number of bytes | 0000a7d0 6f 66 20 74 65 6d 70 6f 72 61 72 79 20 6d 65 6d |of temporary mem| 0000a7e0 6f 72 79 20 79 6f 75 0a 77 69 73 68 20 74 68 65 |ory you.wish the| 0000a7f0 20 70 72 6f 67 72 61 6d 20 74 6f 20 75 73 65 20 | program to use | 0000a800 77 69 6c 6c 20 73 70 65 65 64 20 75 70 20 72 65 |will speed up re| 0000a810 61 64 69 6e 67 20 74 68 65 20 69 6e 66 6f 72 6d |ading the inform| 0000a820 61 74 69 6f 6e 2e 20 54 68 65 20 64 65 66 61 75 |ation. The defau| 0000a830 6c 74 0a 69 73 20 34 39 31 35 32 20 62 79 74 65 |lt.is 49152 byte| 0000a840 73 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 22 |s. For example "| 0000a850 2a 73 65 74 20 43 68 61 6e 67 65 46 53 49 24 43 |*set ChangeFSI$C| 0000a860 61 63 68 65 20 38 30 6b 22 2e 20 46 6f 72 20 74 |ache 80k". For t| 0000a870 68 6f 73 65 20 77 6f 72 72 69 65 64 0a 61 62 6f |hose worried.abo| 0000a880 75 74 20 73 70 65 65 64 2c 20 74 68 65 20 70 72 |ut speed, the pr| 0000a890 6f 67 72 61 6d 20 77 69 6c 6c 20 67 6f 20 66 61 |ogram will go fa| 0000a8a0 73 74 65 72 20 69 66 3a 0a 0a 20 2d 20 79 6f 75 |ster if:.. - you| 0000a8b0 20 75 73 65 20 2d 6e 6f 73 63 61 6c 65 20 61 6e | use -noscale an| 0000a8c0 64 20 6b 65 65 70 20 31 3a 31 20 72 61 74 69 6f |d keep 1:1 ratio| 0000a8d0 73 20 28 64 6f 6e 27 74 20 73 70 65 63 69 66 79 |s (don't specify| 0000a8e0 20 74 68 65 6d 29 0a 20 20 20 28 61 6c 74 68 6f | them). (altho| 0000a8f0 75 67 68 20 2d 6e 6f 73 69 7a 65 20 61 6e 64 20 |ugh -nosize and | 0000a900 31 3a 31 20 6f 72 20 31 3a 32 20 72 61 74 69 6f |1:1 or 1:2 ratio| 0000a910 73 20 61 72 65 20 71 75 69 63 6b 2c 20 74 6f 6f |s are quick, too| 0000a920 29 0a 20 2d 20 79 6f 75 20 64 6f 6e 27 74 20 6e |). - you don't n| 0000a930 65 65 64 20 73 68 61 72 70 65 6e 69 6e 67 2c 20 |eed sharpening, | 0000a940 68 69 73 74 6f 67 72 61 6d 20 65 71 75 61 6c 69 |histogram equali| 0000a950 73 61 74 69 6f 6e 2c 20 72 61 6e 67 65 20 65 78 |sation, range ex| 0000a960 70 61 6e 73 69 6f 6e 0a 20 2d 20 79 6f 75 20 75 |pansion. - you u| 0000a970 73 65 20 6d 6f 6e 6f 63 68 72 6f 6d 65 20 28 65 |se monochrome (e| 0000a980 2e 67 2e 20 32 35 2c 20 32 36 2c 20 32 37 20 61 |.g. 25, 26, 27 a| 0000a990 6e 64 20 32 37 74 29 20 6d 6f 64 65 73 0a 0a 61 |nd 27t) modes..a| 0000a9a0 64 64 69 74 69 6f 6e 61 6c 6c 79 20 79 6f 75 20 |dditionally you | 0000a9b0 63 61 6e 20 64 69 73 61 62 6c 65 20 64 69 74 68 |can disable dith| 0000a9c0 65 72 69 6e 67 20 28 2d 6e 6f 64 69 74 68 65 72 |ering (-nodither| 0000a9d0 29 20 65 73 70 65 63 69 61 6c 6c 79 20 77 68 65 |) especially whe| 0000a9e0 6e 20 72 65 61 64 69 6e 67 0a 6d 6f 6e 6f 63 68 |n reading.monoch| 0000a9f0 72 6f 6d 65 20 73 6f 75 72 63 65 2e 0a 0a 59 6f |rome source...Yo| 0000aa00 75 20 63 61 6e 20 61 76 6f 69 64 20 74 68 65 20 |u can avoid the | 0000aa10 70 72 6f 67 72 61 6d 20 63 68 61 6e 67 69 6e 67 |program changing| 0000aa20 20 6d 6f 64 65 20 62 79 20 70 75 74 74 69 6e 67 | mode by putting| 0000aa30 20 2d 6e 6f 6d 6f 64 65 20 6f 6e 20 74 68 65 20 | -nomode on the | 0000aa40 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 2e 0a 0a 56 |command line...V| 0000aa50 65 72 79 20 6c 61 72 67 65 20 6f 75 74 70 75 74 |ery large output| 0000aa60 20 66 69 6c 65 73 20 63 61 6e 20 62 65 20 62 75 | files can be bu| 0000aa70 69 6c 74 20 73 74 72 69 70 73 20 61 74 20 61 20 |ilt strips at a | 0000aa80 74 69 6d 65 20 61 6e 64 20 73 65 6e 74 20 64 69 |time and sent di| 0000aa90 72 65 63 74 6c 79 20 74 6f 20 64 69 73 6b 0a 75 |rectly to disk.u| 0000aaa0 73 69 6e 67 20 74 68 65 20 70 61 72 61 6d 65 74 |sing the paramet| 0000aab0 65 72 20 22 2d 6d 61 78 22 20 65 2e 67 3a 0a 0a |er "-max" e.g:..| 0000aac0 20 20 43 68 61 6e 67 65 46 53 49 20 3c 69 6e 3e | ChangeFSI <in>| 0000aad0 20 3c 6f 75 74 3e 20 32 38 20 2d 6d 61 78 35 31 | <out> 28 -max51| 0000aae0 32 4b 0a 0a 77 69 6c 6c 20 63 6f 6e 76 65 72 74 |2K..will convert| 0000aaf0 20 74 68 65 20 66 69 6c 65 20 77 69 74 68 20 61 | the file with a| 0000ab00 20 6d 61 78 69 6d 75 6d 20 6f 66 20 35 31 32 4b | maximum of 512K| 0000ab10 42 79 74 65 73 20 68 65 6c 64 20 69 6e 20 6d 65 |Bytes held in me| 0000ab20 6d 6f 72 79 2e 20 4f 70 74 69 6f 6e 73 20 32 35 |mory. Options 25| 0000ab30 74 2c 0a 2d 72 6f 74 61 74 65 20 61 6e 64 20 2d |t,.-rotate and -| 0000ab40 76 66 6c 69 70 20 64 6f 6e 27 74 20 77 6f 72 6b |vflip don't work| 0000ab50 20 77 68 65 6e 20 74 68 69 73 20 69 73 20 62 65 | when this is be| 0000ab60 69 6e 67 20 64 6f 6e 65 2e 0a 0a 57 6f 72 6b 20 |ing done...Work | 0000ab70 77 69 6c 6c 20 62 65 20 64 6f 6e 65 20 6f 6e 20 |will be done on | 0000ab80 6f 74 68 65 72 20 66 6f 72 6d 61 74 73 20 77 68 |other formats wh| 0000ab90 65 6e 20 61 6e 64 20 69 66 20 62 6f 74 68 20 69 |en and if both i| 0000aba0 6d 61 67 65 20 61 6e 64 20 64 6f 63 75 6d 65 6e |mage and documen| 0000abb0 74 61 74 69 6f 6e 0a 61 72 72 69 76 65 20 6f 6e |tation.arrive on| 0000abc0 20 6d 79 20 64 65 73 6b 2e 20 41 64 64 69 6e 67 | my desk. Adding| 0000abd0 20 61 20 6e 65 77 20 66 6f 72 6d 61 74 20 69 73 | a new format is| 0000abe0 20 61 20 6d 61 74 74 65 72 20 6f 66 20 28 61 29 | a matter of (a)| 0000abf0 20 70 75 74 74 69 6e 67 20 69 6e 20 61 75 74 6f | putting in auto| 0000ac00 6d 61 74 69 63 0a 72 65 63 6f 67 6e 69 74 69 6f |matic.recognitio| 0000ac10 6e 20 6f 66 20 74 68 65 20 66 6f 72 6d 61 74 20 |n of the format | 0000ac20 61 74 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 |at the start of | 0000ac30 74 68 65 20 70 72 6f 67 72 61 6d 20 28 62 29 20 |the program (b) | 0000ac40 72 65 61 64 69 6e 67 20 74 68 65 20 73 69 7a 65 |reading the size| 0000ac50 20 6f 66 0a 74 68 65 20 69 6d 61 67 65 20 61 6e | of.the image an| 0000ac60 64 20 74 68 65 20 63 6f 6c 6f 75 72 20 70 61 6c |d the colour pal| 0000ac70 65 74 74 65 20 6d 61 70 70 69 6e 67 20 5b 69 6e |ette mapping [in| 0000ac80 20 74 68 65 20 6e 65 78 74 20 73 65 63 74 69 6f | the next sectio| 0000ac90 6e 20 6f 66 20 74 68 65 20 70 72 6f 67 72 61 6d |n of the program| 0000aca0 5d 0a 28 63 29 20 77 72 69 74 69 6e 67 20 61 20 |].(c) writing a | 0000acb0 22 72 65 61 64 20 70 69 78 65 6c 20 72 6f 77 22 |"read pixel row"| 0000acc0 20 65 6c 65 6d 65 6e 74 20 69 6e 73 69 64 65 20 | element inside | 0000acd0 50 52 4f 43 69 70 72 6f 77 20 28 64 29 20 70 72 |PROCiprow (d) pr| 0000ace0 6f 76 69 64 69 6e 67 20 61 6e 20 65 6e 74 72 79 |oviding an entry| 0000acf0 0a 69 6e 20 50 52 4f 43 72 65 77 69 6e 64 2e 20 |.in PROCrewind. | 0000ad00 49 66 20 79 6f 75 20 77 72 69 74 65 20 61 20 6e |If you write a n| 0000ad10 65 77 20 66 6f 72 6d 61 74 20 69 6e 74 65 72 66 |ew format interf| 0000ad20 61 63 65 2c 20 70 6c 65 61 73 65 20 73 65 6e 64 |ace, please send| 0000ad30 20 69 74 20 74 6f 20 6d 65 20 73 6f 0a 74 68 61 | it to me so.tha| 0000ad40 74 20 69 74 20 77 69 6c 6c 20 62 65 20 69 6e 63 |t it will be inc| 0000ad50 6c 75 64 65 64 20 69 6e 20 6c 61 74 65 72 20 76 |luded in later v| 0000ad60 65 72 73 69 6f 6e 73 2e 20 43 68 61 6e 67 65 46 |ersions. ChangeF| 0000ad70 53 49 20 68 61 73 20 61 6c 72 65 61 64 79 20 67 |SI has already g| 0000ad80 6f 74 20 63 6f 64 65 20 66 6f 72 0a 64 65 61 6c |ot code for.deal| 0000ad90 69 6e 67 20 77 69 74 68 20 69 6d 61 67 65 73 20 |ing with images | 0000ada0 77 69 74 68 20 31 2c 20 32 2c 20 34 20 61 6e 64 |with 1, 2, 4 and| 0000adb0 20 38 20 62 69 74 73 20 70 65 72 20 70 69 78 65 | 8 bits per pixe| 0000adc0 6c 20 70 61 63 6b 65 64 20 69 6e 74 6f 20 62 79 |l packed into by| 0000add0 74 65 73 20 61 6e 64 20 66 6f 72 0a 69 6d 61 67 |tes and for.imag| 0000ade0 65 73 20 77 69 74 68 20 75 70 20 74 6f 20 38 20 |es with up to 8 | 0000adf0 62 69 74 20 70 6c 61 6e 65 73 2e 20 54 68 65 72 |bit planes. Ther| 0000ae00 65 20 69 73 20 73 75 70 70 6f 72 74 20 63 6f 64 |e is support cod| 0000ae10 65 20 66 6f 72 20 4c 5a 57 20 64 65 63 6f 6d 70 |e for LZW decomp| 0000ae20 72 65 73 73 69 6f 6e 20 61 6e 64 0a 4c 5a 57 20 |ression and.LZW | 0000ae30 64 65 63 6f 64 69 6e 67 2e 0a 0a 41 73 20 61 20 |decoding...As a | 0000ae40 73 70 65 63 69 61 6c 20 66 65 61 74 75 72 65 2c |special feature,| 0000ae50 20 43 68 61 6e 67 65 46 53 49 20 77 69 6c 6c 20 | ChangeFSI will | 0000ae60 61 6c 73 6f 20 77 72 69 74 65 20 6f 75 74 20 32 |also write out 2| 0000ae70 35 36 20 67 72 65 79 20 6c 65 76 65 6c 20 66 69 |56 grey level fi| 0000ae80 6c 65 73 20 28 61 6c 74 65 72 0a 72 77 74 2c 20 |les (alter.rwt, | 0000ae90 67 77 74 20 61 6e 64 20 62 77 74 20 74 6f 20 67 |gwt and bwt to g| 0000aea0 65 74 20 32 35 36 20 6c 65 76 65 6c 20 63 6f 6c |et 256 level col| 0000aeb0 6f 75 72 20 73 65 70 61 72 61 74 69 6f 6e 73 29 |our separations)| 0000aec0 20 69 6e 20 41 49 4d 20 66 6f 72 6d 61 74 2e 20 | in AIM format. | 0000aed0 54 68 69 73 20 69 73 0a 66 69 6c 65 20 74 79 70 |This is.file typ| 0000aee0 65 20 34 20 77 69 74 68 20 62 79 74 65 73 20 72 |e 4 with bytes r| 0000aef0 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 |epresenting the | 0000af00 67 72 65 79 20 6c 65 76 65 6c 2e 20 55 73 65 20 |grey level. Use | 0000af10 74 68 65 20 3d 20 6f 70 65 72 61 74 69 6f 6e 20 |the = operation | 0000af20 74 6f 0a 72 65 73 74 72 69 63 74 20 74 68 65 20 |to.restrict the | 0000af30 70 69 63 74 75 72 65 20 74 6f 20 32 35 36 78 32 |picture to 256x2| 0000af40 35 36 79 2c 20 6f 74 68 65 72 77 69 73 65 20 69 |56y, otherwise i| 0000af50 74 20 77 69 6c 6c 20 62 65 20 74 68 65 20 73 61 |t will be the sa| 0000af60 6d 65 20 73 69 7a 65 20 61 73 20 74 68 65 0a 69 |me size as the.i| 0000af70 6e 70 75 74 2e 20 53 70 65 63 69 66 79 20 22 61 |nput. Specify "a| 0000af80 69 6d 22 20 61 73 20 74 68 65 20 6d 6f 64 65 20 |im" as the mode | 0000af90 73 74 72 69 6e 67 20 74 6f 20 64 6f 20 74 68 69 |string to do thi| 0000afa0 73 2e 0a 0a 46 6f 72 20 70 6f 72 74 61 62 69 6c |s...For portabil| 0000afb0 69 74 79 20 74 6f 20 6f 74 68 65 72 20 6d 61 63 |ity to other mac| 0000afc0 68 69 6e 65 73 2c 20 43 68 61 6e 67 65 46 53 49 |hines, ChangeFSI| 0000afd0 20 63 61 6e 20 77 72 69 74 65 20 6f 75 74 20 66 | can write out f| 0000afe0 69 6c 65 73 20 69 6e 20 22 70 62 6d 22 0a 66 6f |iles in "pbm".fo| 0000aff0 72 6d 61 74 2e 20 54 68 65 72 65 20 61 72 65 20 |rmat. There are | 0000b000 33 20 74 79 70 65 73 20 6f 66 20 66 6f 72 6d 61 |3 types of forma| 0000b010 74 20 22 62 6c 61 63 6b 2f 77 68 69 74 65 22 20 |t "black/white" | 0000b020 28 70 62 6d 29 2c 20 22 67 72 65 79 22 20 28 70 |(pbm), "grey" (p| 0000b030 67 6d 29 20 61 6e 64 0a 22 63 6f 6c 6f 75 72 22 |gm) and."colour"| 0000b040 20 28 70 70 6d 29 20 77 69 74 68 20 70 75 72 65 | (ppm) with pure| 0000b050 20 41 53 43 49 49 20 61 6e 64 20 62 69 6e 61 72 | ASCII and binar| 0000b060 79 20 65 6e 63 6f 64 69 6e 67 73 20 6f 66 20 65 |y encodings of e| 0000b070 61 63 68 3a 0a 0a 41 53 43 49 49 20 20 20 20 20 |ach:..ASCII | 0000b080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 0000b090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 69 | Bi| 0000b0a0 6e 61 72 79 0a 70 31 20 20 20 20 20 20 20 20 22 |nary.p1 "| 0000b0b0 62 6c 61 63 6b 2f 77 68 69 74 65 22 20 28 6c 69 |black/white" (li| 0000b0c0 6b 65 20 6d 6f 64 65 20 31 38 29 20 20 70 34 20 |ke mode 18) p4 | 0000b0d0 28 62 69 67 20 65 6e 64 69 61 6e 20 62 79 74 65 |(big endian byte| 0000b0e0 73 21 29 0a 70 32 20 20 20 20 20 20 20 20 22 67 |s!).p2 "g| 0000b0f0 72 65 79 22 20 28 6c 69 6b 65 20 6d 6f 64 65 20 |rey" (like mode | 0000b100 32 30 74 29 20 20 20 20 20 20 20 20 70 35 0a 70 |20t) p5.p| 0000b110 33 20 20 20 20 20 20 20 20 22 74 72 75 65 20 63 |3 "true c| 0000b120 6f 6c 6f 75 72 22 20 20 20 20 20 20 20 20 20 20 |olour" | 0000b130 20 20 20 20 20 20 20 70 36 0a 0a 46 69 6c 65 73 | p6..Files| 0000b140 20 63 61 6e 20 62 65 20 72 65 61 64 20 77 69 74 | can be read wit| 0000b150 68 20 4a 65 66 20 50 6f 73 6b 61 6e 7a 65 72 27 |h Jef Poskanzer'| 0000b160 73 20 70 6f 72 74 61 62 6c 65 20 74 6f 6f 6c 6b |s portable toolk| 0000b170 69 74 20 6f 6e 20 6f 74 68 65 72 20 6d 61 63 68 |it on other mach| 0000b180 69 6e 65 73 2e 20 54 68 65 0a 70 32 20 66 6f 72 |ines. The.p2 for| 0000b190 6d 61 74 20 69 73 20 65 61 73 69 6c 79 20 63 6f |mat is easily co| 0000b1a0 6e 76 65 72 74 69 62 6c 65 20 62 79 20 70 72 6f |nvertible by pro| 0000b1b0 67 72 61 6d 6d 65 72 73 3b 20 69 74 20 63 6f 6e |grammers; it con| 0000b1c0 73 69 73 74 73 20 6f 66 3a 0a 0a 50 32 0a 23 20 |sists of:..P2.# | 0000b1d0 63 6f 6d 6d 65 6e 74 20 6c 69 6e 65 0a 78 73 69 |comment line.xsi| 0000b1e0 7a 65 20 79 73 69 7a 65 0a 6d 61 78 69 6d 75 6d |ze ysize.maximum| 0000b1f0 5f 76 61 6c 75 65 0a 70 69 78 65 6c 5f 76 61 6c |_value.pixel_val| 0000b200 75 65 20 3c 77 68 69 74 65 73 70 61 63 65 3e 20 |ue <whitespace> | 0000b210 70 69 78 65 6c 5f 76 61 6c 75 65 0a 0a 77 68 65 |pixel_value..whe| 0000b220 72 65 20 61 6c 6c 20 74 68 65 20 6e 75 6d 62 65 |re all the numbe| 0000b230 72 73 20 61 72 65 20 69 6e 20 64 65 63 69 6d 61 |rs are in decima| 0000b240 6c 20 28 41 53 43 49 49 29 2e 20 30 20 6d 65 61 |l (ASCII). 0 mea| 0000b250 6e 73 20 62 6c 61 63 6b 2c 20 6d 61 78 69 6d 75 |ns black, maximu| 0000b260 6d 5f 76 61 6c 75 65 20 28 3d 0a 31 35 29 20 6d |m_value (=.15) m| 0000b270 65 61 6e 73 20 77 68 69 74 65 2e 20 54 68 65 20 |eans white. The | 0000b280 70 33 20 66 6f 72 6d 61 74 20 69 73 20 73 69 6d |p3 format is sim| 0000b290 69 6c 61 72 20 77 69 74 68 20 72 2c 20 67 2c 20 |ilar with r, g, | 0000b2a0 62 20 74 72 69 70 6c 65 73 20 66 6f 72 20 65 61 |b triples for ea| 0000b2b0 63 68 20 70 69 78 65 6c 0a 76 61 6c 75 65 2e 20 |ch pixel.value. | 0000b2c0 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 69 |The number of bi| 0000b2d0 74 73 20 70 65 72 20 63 6f 6d 70 6f 6e 65 6e 74 |ts per component| 0000b2e0 20 28 64 65 66 61 75 6c 74 20 38 29 20 63 61 6e | (default 8) can| 0000b2f0 20 62 65 20 73 65 74 20 66 72 6f 6d 20 74 68 65 | be set from the| 0000b300 20 63 6f 6d 6d 61 6e 64 0a 6c 69 6e 65 20 77 69 | command.line wi| 0000b310 74 68 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 2c |th, for example,| 0000b320 20 22 70 33 2c 34 22 20 66 6f 72 20 34 20 62 69 | "p3,4" for 4 bi| 0000b330 74 73 20 70 65 72 20 63 6f 6d 70 6f 6e 65 6e 74 |ts per component| 0000b340 2e 0a 0a 41 73 20 61 20 73 70 65 63 69 61 6c 20 |...As a special | 0000b350 70 61 63 6b 65 64 20 6f 75 74 70 75 74 20 66 6f |packed output fo| 0000b360 72 6d 61 74 2c 20 22 50 31 35 22 20 68 61 73 20 |rmat, "P15" has | 0000b370 62 65 65 6e 20 69 6d 70 6c 65 6d 65 6e 74 65 64 |been implemented| 0000b380 2e 20 4f 75 74 70 75 74 20 69 73 20 62 69 6e 61 |. Output is bina| 0000b390 72 79 0a 70 69 78 65 6c 20 76 61 6c 75 65 73 2c |ry.pixel values,| 0000b3a0 20 35 20 62 69 74 73 20 70 65 72 20 63 6f 6d 70 | 5 bits per comp| 0000b3b0 6f 6e 65 6e 74 2c 20 6c 69 74 74 6c 65 20 65 6e |onent, little en| 0000b3c0 64 69 61 6e 20 52 47 42 20 6f 72 64 65 72 20 70 |dian RGB order p| 0000b3d0 61 63 6b 65 64 20 69 6e 74 6f 20 31 36 0a 62 69 |acked into 16.bi| 0000b3e0 74 73 2e 20 48 65 61 64 65 72 20 69 6e 66 6f 72 |ts. Header infor| 0000b3f0 6d 61 74 69 6f 6e 20 61 73 20 74 68 65 20 6f 74 |mation as the ot| 0000b400 68 65 72 20 70 20 66 6f 72 6d 61 74 73 2e 0a 0a |her p formats...| 0000b410 46 69 6c 65 73 20 63 61 6e 20 62 65 20 77 72 69 |Files can be wri| 0000b420 74 74 65 6e 20 61 73 20 6e 65 77 20 52 49 53 43 |tten as new RISC| 0000b430 20 4f 53 20 73 70 72 69 74 65 73 20 75 73 69 6e | OS sprites usin| 0000b440 67 20 53 31 36 20 61 6e 64 20 53 33 32 20 61 73 |g S16 and S32 as| 0000b450 20 74 68 65 20 66 6f 72 6d 61 74 73 2e 0a 54 68 | the formats..Th| 0000b460 65 20 78 20 61 6e 64 20 79 20 70 69 78 65 6c 73 |e x and y pixels| 0000b470 20 70 65 72 20 69 6e 63 68 20 61 72 65 20 67 69 | per inch are gi| 0000b480 76 65 6e 20 61 73 20 61 20 63 6f 6d 6d 61 20 73 |ven as a comma s| 0000b490 65 70 65 72 61 74 65 64 20 6c 69 73 74 20 2d 20 |eperated list - | 0000b4a0 61 20 31 36 20 62 69 74 20 6d 6f 64 65 0a 31 32 |a 16 bit mode.12| 0000b4b0 20 65 71 75 69 76 61 6c 65 6e 74 20 69 73 20 53 | equivalent is S| 0000b4c0 31 36 2c 39 30 2c 34 35 20 77 68 69 6c 65 20 61 |16,90,45 while a| 0000b4d0 20 33 32 20 62 69 74 20 6d 6f 64 65 20 32 38 20 | 32 bit mode 28 | 0000b4e0 65 71 75 69 76 61 6c 65 6e 74 20 69 73 20 53 33 |equivalent is S3| 0000b4f0 32 2c 39 30 2c 39 30 2e 0a 0a 43 68 61 6e 67 65 |2,90,90...Change| 0000b500 46 53 49 20 63 61 6e 20 77 72 69 74 65 20 49 72 |FSI can write Ir| 0000b510 6c 61 6d 20 66 6f 72 6d 61 74 20 69 6d 61 67 65 |lam format image| 0000b520 73 20 28 73 6f 6d 65 77 68 61 74 20 73 6c 6f 77 |s (somewhat slow| 0000b530 65 72 20 74 68 61 6e 20 70 36 20 69 6d 61 67 65 |er than p6 image| 0000b540 73 2e 2e 2e 29 2e 0a 0a 20 20 20 20 20 20 20 20 |s...)... | 0000b550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 0000b560 20 20 20 20 20 20 4f 75 74 70 75 74 20 73 75 6d | Output sum| 0000b570 6d 61 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 |mary. | 0000b580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 0000b590 20 20 20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | =============| 0000b5a0 3d 0a 0a 23 20 63 6f 6c 73 20 20 20 43 6f 6c 6f |=..# cols Colo| 0000b5b0 75 72 20 43 75 62 65 20 20 42 69 74 73 20 75 73 |ur Cube Bits us| 0000b5c0 65 64 20 20 43 6f 6e 73 69 73 74 65 6e 74 20 48 |ed Consistent H| 0000b5d0 75 65 20 20 44 65 73 6b 74 6f 70 20 50 61 6c 65 |ue Desktop Pale| 0000b5e0 74 74 65 20 20 4d 6f 64 65 26 53 75 66 66 69 78 |tte Mode&Suffix| 0000b5f0 0a 0a 32 5e 32 34 20 20 20 20 20 20 20 20 20 20 |..2^24 | 0000b600 20 20 59 20 20 20 20 20 20 20 20 20 32 34 20 20 | Y 24 | 0000b610 20 20 20 20 20 20 20 20 20 59 20 20 20 20 20 20 | Y | 0000b620 20 20 20 20 20 20 20 2d 20 20 20 20 20 20 20 20 | - | 0000b630 20 20 20 20 53 33 32 2c 20 70 33 20 6f 72 20 70 | S32, p3 or p| 0000b640 36 20 6f 72 20 49 72 6c 61 6d 0a 32 5e 32 31 20 |6 or Irlam.2^21 | 0000b650 20 20 20 20 20 20 20 20 20 20 20 59 20 20 20 20 | Y | 0000b660 20 20 20 20 20 32 31 20 20 20 20 20 20 20 20 20 | 21 | 0000b670 20 20 59 20 20 20 20 20 20 20 20 20 20 20 20 20 | Y | 0000b680 2d 20 20 20 20 20 20 20 20 20 20 20 20 70 36 2c |- p6,| 0000b690 37 0a 32 5e 31 38 20 20 20 20 20 20 20 20 20 20 |7.2^18 | 0000b6a0 20 20 59 20 20 20 20 20 20 20 20 20 31 38 20 20 | Y 18 | 0000b6b0 20 20 20 20 20 20 20 20 20 59 20 20 20 20 20 20 | Y | 0000b6c0 20 20 20 20 20 20 20 2d 20 20 20 20 20 20 20 20 | - | 0000b6d0 20 20 20 20 70 36 2c 36 0a 32 5e 31 35 20 20 20 | p6,6.2^15 | 0000b6e0 20 20 20 20 20 20 20 20 20 59 20 20 20 20 20 20 | Y | 0000b6f0 20 20 20 31 35 20 20 20 20 20 20 20 20 20 20 20 | 15 | 0000b700 59 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 |Y - | 0000b710 20 20 20 20 20 20 20 20 20 20 20 53 31 36 2c 20 | S16, | 0000b720 70 31 35 20 6f 72 20 70 36 2c 35 0a 32 5e 31 32 |p15 or p6,5.2^12| 0000b730 20 20 20 20 20 20 20 20 20 20 20 20 59 20 20 20 | Y | 0000b740 20 20 20 20 20 20 31 32 20 20 20 20 20 20 20 20 | 12 | 0000b750 20 20 20 59 20 20 20 20 20 20 20 20 20 20 20 20 | Y | 0000b760 20 2d 20 20 20 20 20 20 20 20 20 20 20 20 70 36 | - p6| 0000b770 2c 34 0a 35 31 32 20 20 20 20 20 20 20 20 20 20 |,4.512 | 0000b780 20 20 20 59 20 20 20 20 20 20 20 20 20 20 39 20 | Y 9 | 0000b790 20 20 20 20 20 20 20 20 20 20 59 20 20 20 20 20 | Y | 0000b7a0 20 20 20 20 20 20 20 20 2d 20 20 20 20 20 20 20 | - | 0000b7b0 20 20 20 20 20 70 36 2c 33 0a 32 35 36 20 67 72 | p6,3.256 gr| 0000b7c0 65 79 20 20 20 20 20 20 20 20 6e 20 20 20 20 20 |ey n | 0000b7d0 20 20 20 20 20 38 20 20 20 20 20 20 20 20 20 20 | 8 | 0000b7e0 20 59 20 20 20 20 20 20 20 20 20 20 20 20 20 2d | Y -| 0000b7f0 20 20 20 20 20 20 20 20 20 20 20 20 61 69 6d 0a | aim.| 0000b800 32 35 36 20 67 72 65 79 20 20 20 20 20 20 20 20 |256 grey | 0000b810 6e 20 20 20 20 20 20 20 20 20 20 38 20 20 20 20 |n 8 | 0000b820 20 20 20 20 20 20 20 59 20 20 20 20 20 20 20 20 | Y | 0000b830 20 20 20 20 20 2d 20 20 20 20 20 20 20 20 20 20 | - | 0000b840 20 20 32 38 64 0a 32 35 36 20 20 20 20 20 20 20 | 28d.256 | 0000b850 20 20 20 20 20 20 59 20 20 20 20 20 20 20 20 20 | Y | 0000b860 20 38 20 20 20 20 20 20 20 20 20 20 20 59 20 20 | 8 Y | 0000b870 20 20 20 20 20 20 20 20 20 20 20 59 20 20 20 20 | Y | 0000b880 20 20 20 20 20 20 20 20 32 38 0a 32 35 36 20 20 | 28.256 | 0000b890 20 20 20 20 20 20 20 20 20 20 20 59 20 20 20 20 | Y | 0000b8a0 20 20 20 20 20 20 38 20 20 20 20 20 20 20 20 20 | 8 | 0000b8b0 20 20 59 20 20 20 20 20 20 20 20 20 20 20 20 20 | Y | 0000b8c0 59 20 20 20 20 20 20 20 20 20 20 20 20 32 38 72 |Y 28r| 0000b8d0 0a 31 36 20 67 72 65 79 20 20 20 20 20 20 20 20 |.16 grey | 0000b8e0 20 6e 20 20 20 20 20 20 20 20 20 20 34 20 20 20 | n 4 | 0000b8f0 20 20 20 20 20 20 20 20 59 20 20 20 20 20 20 20 | Y | 0000b900 20 20 20 20 20 20 6e 20 20 20 20 20 20 20 20 20 | n | 0000b910 20 20 20 32 37 74 0a 31 36 20 67 72 65 79 20 20 | 27t.16 grey | 0000b920 20 20 20 20 20 20 20 6e 20 20 20 20 20 20 20 20 | n | 0000b930 20 20 34 20 20 20 20 20 20 20 20 20 20 20 59 20 | 4 Y | 0000b940 20 20 20 20 20 20 20 20 20 20 20 20 6e 20 20 20 | n | 0000b950 20 20 20 20 20 20 20 20 20 70 32 20 6f 72 20 70 | p2 or p| 0000b960 35 0a 38 20 67 72 65 79 20 20 20 20 20 20 20 20 |5.8 grey | 0000b970 20 20 6e 20 20 20 20 20 20 20 20 20 20 33 20 20 | n 3 | 0000b980 20 20 20 20 20 20 20 20 20 59 20 20 20 20 20 20 | Y | 0000b990 20 20 20 20 20 20 20 59 20 20 20 20 20 20 20 20 | Y | 0000b9a0 20 20 20 20 32 37 0a 31 36 20 20 20 20 20 20 20 | 27.16 | 0000b9b0 20 20 20 20 20 20 20 3f 20 20 20 20 20 20 20 20 | ? | 0000b9c0 20 20 34 20 20 20 20 20 20 20 20 20 20 20 3f 20 | 4 ? | 0000b9d0 20 20 20 20 20 20 20 20 20 20 20 20 59 20 20 20 | Y | 0000b9e0 20 20 20 20 20 20 20 20 20 32 37 72 0a 31 36 20 | 27r.16 | 0000b9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 59 20 20 | Y | 0000ba00 20 20 20 20 20 20 20 20 33 20 20 20 20 20 20 20 | 3 | 0000ba10 20 20 20 20 59 20 20 20 20 20 20 20 20 20 20 20 | Y | 0000ba20 63 61 6e 20 62 65 20 20 20 20 20 20 20 20 20 32 |can be 2| 0000ba30 37 64 0a 34 20 67 72 65 79 20 20 20 20 20 20 20 |7d.4 grey | 0000ba40 20 20 20 6e 20 20 20 20 20 20 20 20 20 20 32 20 | n 2 | 0000ba50 20 20 20 20 20 20 20 20 20 20 59 20 20 20 20 20 | Y | 0000ba60 20 20 20 20 20 20 20 20 59 20 20 20 20 20 20 20 | Y | 0000ba70 20 20 20 20 20 32 36 0a 34 20 20 20 20 20 20 20 | 26.4 | 0000ba80 20 20 20 20 20 20 20 20 6e 20 20 20 20 20 20 20 | n | 0000ba90 20 20 20 32 20 20 20 20 20 20 20 20 20 20 20 6e | 2 n| 0000baa0 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 20 20 | n | 0000bab0 20 20 20 20 20 20 20 20 20 20 32 36 63 0a 34 20 | 26c.4 | 0000bac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 20 | n | 0000bad0 20 20 20 20 20 20 20 20 20 32 20 20 20 20 20 20 | 2 | 0000bae0 20 20 20 20 20 6e 20 20 20 20 20 20 20 20 20 20 | n | 0000baf0 20 20 20 6e 20 20 20 20 20 20 20 20 20 20 20 20 | n | 0000bb00 32 36 72 0a 32 20 28 62 6c 61 63 6b 2f 77 68 69 |26r.2 (black/whi| 0000bb10 74 65 29 20 6e 20 20 20 20 20 20 20 20 20 20 31 |te) n 1| 0000bb20 20 20 20 20 20 20 20 20 20 20 20 59 20 20 20 20 | Y | 0000bb30 20 20 20 20 20 20 20 20 20 59 20 20 20 20 20 20 | Y | 0000bb40 20 20 20 20 20 20 32 35 0a 32 20 28 62 6c 61 63 | 25.2 (blac| 0000bb50 6b 2f 77 68 69 74 65 29 20 6e 20 20 20 20 20 20 |k/white) n | 0000bb60 20 20 20 20 31 20 20 20 20 20 20 20 20 20 20 20 | 1 | 0000bb70 59 20 20 20 20 20 20 20 20 20 20 20 20 20 59 20 |Y Y | 0000bb80 20 20 20 20 20 20 20 20 20 20 20 32 35 63 2f 64 | 25c/d| 0000bb90 2f 74 0a 32 20 28 62 6c 61 63 6b 2f 77 68 69 74 |/t.2 (black/whit| 0000bba0 65 29 20 6e 20 20 20 20 20 20 20 20 20 20 31 20 |e) n 1 | 0000bbb0 20 20 20 20 20 20 20 20 20 20 59 20 20 20 20 20 | Y | 0000bbc0 20 20 20 20 20 20 20 20 59 20 20 20 20 20 20 20 | Y | 0000bbd0 20 20 20 20 20 70 31 20 6f 72 20 70 34 0a 0a 0a | p1 or p4...| 0000bbe0 43 68 61 6e 67 65 46 53 49 20 63 61 6e 20 62 65 |ChangeFSI can be| 0000bbf0 20 75 73 65 64 20 66 72 6f 6d 20 62 6f 74 68 20 | used from both | 0000bc00 74 68 65 20 64 65 73 6b 74 6f 70 20 66 72 6f 6e |the desktop fron| 0000bc10 74 20 65 6e 64 20 61 6e 64 20 66 72 6f 6d 20 74 |t end and from t| 0000bc20 68 65 20 63 6f 6d 6d 61 6e 64 0a 6c 69 6e 65 2e |he command.line.| 0000bc30 20 49 74 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 | It can also be | 0000bc40 75 73 65 64 20 61 73 20 61 20 42 41 53 49 43 20 |used as a BASIC | 0000bc50 6c 69 62 72 61 72 79 20 66 75 6e 63 74 69 6f 6e |library function| 0000bc60 3a 0a 4c 49 42 52 41 52 59 22 3c 43 68 61 6e 67 |:.LIBRARY"<Chang| 0000bc70 65 46 53 49 24 44 69 72 3e 2e 43 68 61 6e 67 65 |eFSI$Dir>.Change| 0000bc80 46 53 49 22 20 67 69 76 65 73 20 61 20 6e 65 77 |FSI" gives a new| 0000bc90 20 66 75 6e 63 74 69 6f 6e 2c 20 46 4e 43 68 61 | function, FNCha| 0000bca0 6e 67 65 46 53 49 20 74 6f 20 74 68 65 0a 42 41 |ngeFSI to the.BA| 0000bcb0 53 49 43 20 70 72 6f 67 72 61 6d 6d 65 72 2e 20 |SIC programmer. | 0000bcc0 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 74 61 |This function ta| 0000bcd0 6b 65 73 3a 0a 20 20 41 24 3a 20 61 20 63 6f 6d |kes:. A$: a com| 0000bce0 6d 61 6e 64 20 6c 69 6e 65 20 61 72 67 75 6d 65 |mand line argume| 0000bcf0 6e 74 0a 20 20 73 70 72 69 74 65 61 72 65 61 25 |nt. spritearea%| 0000bd00 3a 20 61 6e 20 61 64 64 72 65 73 73 20 6f 72 20 |: an address or | 0000bd10 2d 31 20 66 6f 72 20 74 68 65 20 73 70 72 69 74 |-1 for the sprit| 0000bd20 65 61 72 65 61 20 62 75 69 6c 74 20 62 79 20 43 |earea built by C| 0000bd30 68 61 6e 67 65 46 53 49 0a 20 20 77 6f 72 6b 73 |hangeFSI. works| 0000bd40 70 61 63 65 25 3a 20 61 6e 20 61 64 64 72 65 73 |pace%: an addres| 0000bd50 73 20 6f 72 20 2d 31 20 66 6f 72 20 43 68 61 6e |s or -1 for Chan| 0000bd60 67 65 46 53 49 27 73 20 6f 74 68 65 72 20 77 6f |geFSI's other wo| 0000bd70 72 6b 73 70 61 63 65 0a 20 20 77 6f 72 6b 6c 69 |rkspace. workli| 0000bd80 6d 69 74 25 3a 20 61 6e 20 61 64 64 72 65 73 73 |mit%: an address| 0000bd90 20 28 75 6e 75 73 65 64 20 69 66 20 77 6f 72 6b | (unused if work| 0000bda0 73 70 61 63 65 25 3c 30 29 0a 20 20 66 61 73 74 |space%<0). fast| 0000bdb0 25 3a 20 54 52 55 45 20 66 6f 72 20 4d 4f 44 45 |%: TRUE for MODE| 0000bdc0 20 30 20 73 65 6c 65 63 74 69 6f 6e 0a 49 74 20 | 0 selection.It | 0000bdd0 70 72 6f 64 75 63 65 73 20 61 6e 20 65 72 72 6f |produces an erro| 0000bde0 72 20 28 74 6f 20 77 68 61 74 65 76 65 72 20 65 |r (to whatever e| 0000bdf0 72 72 6f 72 20 68 61 6e 64 6c 65 72 20 69 73 20 |rror handler is | 0000be00 70 72 65 73 65 6e 74 29 20 69 66 20 69 74 20 66 |present) if it f| 0000be10 61 69 6c 73 2e 20 49 66 0a 73 70 72 69 74 65 61 |ails. If.spritea| 0000be20 72 65 61 25 20 69 73 20 3c 30 20 69 74 20 77 69 |rea% is <0 it wi| 0000be30 6c 6c 20 73 61 76 65 20 74 68 65 20 73 70 72 69 |ll save the spri| 0000be40 74 65 20 74 6f 20 74 68 65 20 66 69 6c 65 20 67 |te to the file g| 0000be50 69 76 65 6e 20 69 6e 20 74 68 65 20 63 6f 6d 6d |iven in the comm| 0000be60 61 6e 64 0a 73 74 72 69 6e 67 2c 20 6f 74 68 65 |and.string, othe| 0000be70 72 77 69 73 65 20 69 74 20 77 6f 6e 27 74 2e 20 |rwise it won't. | 0000be80 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 46 4e 43 |The function FNC| 0000be90 68 61 6e 67 65 46 53 49 56 65 72 73 69 6f 6e 20 |hangeFSIVersion | 0000bea0 72 65 74 75 72 6e 73 20 74 68 65 20 76 65 72 73 |returns the vers| 0000beb0 69 6f 6e 0a 73 74 72 69 6e 67 20 6f 66 20 74 68 |ion.string of th| 0000bec0 65 20 6c 69 62 72 61 72 79 20 28 69 6e 20 74 68 |e library (in th| 0000bed0 65 20 69 6e 66 6f 20 62 6f 78 20 6f 66 20 74 68 |e info box of th| 0000bee0 65 20 64 65 73 6b 74 6f 70 20 61 70 70 6c 69 63 |e desktop applic| 0000bef0 61 74 69 6f 6e 29 2e 0a 0a 20 20 20 20 20 20 20 |ation)... | 0000bf00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 0000bf10 20 20 20 20 43 6f 6d 6d 61 6e 64 20 53 75 6d 6d | Command Summ| 0000bf20 61 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 |ary. | 0000bf30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d | =| 0000bf40 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a |==============..| 0000bf50 2d 69 6e 66 6f 20 20 20 20 20 67 69 76 65 20 64 |-info give d| 0000bf60 65 74 61 69 6c 73 0a 0a 2d 68 69 73 74 20 20 20 |etails..-hist | 0000bf70 20 20 64 6f 6e 27 74 20 70 72 6f 63 65 73 73 20 | don't process | 0000bf80 69 6d 61 67 65 2c 20 62 75 74 20 64 69 73 70 6c |image, but displ| 0000bf90 61 79 20 68 69 73 74 6f 67 72 61 6d 20 6f 66 20 |ay histogram of | 0000bfa0 69 74 20 69 6e 73 74 65 61 64 0a 0a 2d 68 66 6c |it instead..-hfl| 0000bfb0 69 70 20 20 20 20 68 6f 72 69 7a 6f 6e 74 61 6c |ip horizontal| 0000bfc0 6c 79 20 66 6c 69 70 20 74 68 65 20 69 6d 61 67 |ly flip the imag| 0000bfd0 65 0a 2d 76 66 6c 69 70 20 20 20 20 76 65 72 74 |e.-vflip vert| 0000bfe0 69 63 61 6c 6c 79 20 66 6c 69 70 20 74 68 65 20 |ically flip the | 0000bff0 69 6d 61 67 65 0a 2d 72 6f 74 61 74 65 20 20 20 |image.-rotate | 0000c000 72 6f 74 61 74 65 20 74 68 65 20 69 6d 61 67 65 |rotate the image| 0000c010 20 62 79 20 2b 39 30 20 64 65 67 72 65 65 73 20 | by +90 degrees | 0000c020 28 69 2e 65 2e 20 61 6e 74 69 2d 63 6c 6f 63 6b |(i.e. anti-clock| 0000c030 77 69 73 65 29 0a 2d 72 6f 74 61 74 65 2d 20 20 |wise).-rotate- | 0000c040 72 6f 74 61 74 65 20 74 68 65 20 69 6d 61 67 65 |rotate the image| 0000c050 20 62 79 20 2d 39 30 20 64 65 67 72 65 65 73 20 | by -90 degrees | 0000c060 28 69 2e 65 2e 20 63 6c 6f 63 6b 77 69 73 65 29 |(i.e. clockwise)| 0000c070 0a 2d 6d 61 78 20 20 20 20 20 20 73 65 74 20 74 |.-max set t| 0000c080 68 65 20 6d 61 78 69 6d 75 6d 20 73 69 7a 65 20 |he maximum size | 0000c090 6f 66 20 74 68 65 20 69 6d 61 67 65 20 62 65 66 |of the image bef| 0000c0a0 6f 72 65 20 64 69 73 63 20 69 73 20 75 73 65 64 |ore disc is used| 0000c0b0 0a 0a 2d 6e 6f 73 63 61 6c 65 20 20 64 69 73 61 |..-noscale disa| 0000c0c0 62 6c 65 20 61 75 74 6f 6d 61 74 69 63 20 70 69 |ble automatic pi| 0000c0d0 78 65 6c 20 73 69 7a 65 20 63 6f 72 72 65 63 74 |xel size correct| 0000c0e0 69 6f 6e 0a 2d 6e 6f 73 69 7a 65 20 20 20 64 69 |ion.-nosize di| 0000c0f0 73 61 62 6c 65 20 61 75 74 6f 6d 61 74 69 63 20 |sable automatic | 0000c100 70 69 78 65 6c 20 73 69 7a 65 20 63 6f 72 72 65 |pixel size corre| 0000c110 63 74 69 6f 6e 20 66 6f 72 20 69 6e 70 75 74 20 |ction for input | 0000c120 70 69 78 65 6c 73 20 6f 6e 6c 79 0a 2d 6e 6f 64 |pixels only.-nod| 0000c130 69 74 68 65 72 20 64 69 73 61 62 6c 65 20 64 69 |ither disable di| 0000c140 74 68 65 72 69 6e 67 0a 2d 6e 6f 6d 6f 64 65 20 |thering.-nomode | 0000c150 20 20 64 6f 6e 27 74 20 63 68 61 6e 67 65 20 74 | don't change t| 0000c160 6f 20 6d 6f 64 65 20 30 20 77 68 69 6c 65 20 70 |o mode 0 while p| 0000c170 72 6f 63 65 73 73 69 6e 67 20 74 68 65 20 70 69 |rocessing the pi| 0000c180 63 74 75 72 65 0a 2d 69 6e 76 65 72 74 20 20 20 |cture.-invert | 0000c190 69 6e 76 65 72 74 20 63 6f 6c 6f 75 72 20 72 61 |invert colour ra| 0000c1a0 6e 67 65 20 6f 66 20 69 6d 61 67 65 0a 0a 2d 72 |nge of image..-r| 0000c1b0 61 6e 67 65 20 20 20 20 65 78 70 61 6e 64 20 69 |ange expand i| 0000c1c0 6e 70 75 74 27 73 20 64 79 6e 61 6d 69 63 20 72 |nput's dynamic r| 0000c1d0 61 6e 67 65 20 74 6f 20 66 75 6c 6c 20 73 63 61 |ange to full sca| 0000c1e0 6c 65 0a 2d 65 71 75 61 6c 20 20 20 20 68 69 73 |le.-equal his| 0000c1f0 74 6f 67 72 61 6d 20 65 71 75 61 6c 69 73 61 74 |togram equalisat| 0000c200 69 6f 6e 0a 2d 73 68 61 72 70 65 6e 20 20 64 69 |ion.-sharpen di| 0000c210 67 69 74 61 6c 6c 79 20 73 68 61 72 70 65 6e 20 |gitally sharpen | 0000c220 74 68 65 20 70 69 63 74 75 72 65 0a 0a 2d 67 61 |the picture..-ga| 0000c230 6d 6d 61 20 20 20 20 73 65 74 20 67 61 6d 6d 61 |mma set gamma| 0000c240 20 63 6f 72 72 65 63 74 69 6f 6e 0a 2d 62 6c 61 | correction.-bla| 0000c250 63 6b 20 20 20 20 63 6f 72 72 65 63 74 20 66 6f |ck correct fo| 0000c260 72 20 62 6c 61 63 6b 20 69 6e 6b 20 73 70 6f 74 |r black ink spot| 0000c270 20 73 69 7a 65 0a 2d 72 65 64 20 20 20 20 20 20 | size.-red | 0000c280 63 68 61 6e 67 65 20 72 65 64 20 77 65 69 67 68 |change red weigh| 0000c290 74 20 66 6f 72 20 64 65 72 69 76 69 6e 67 20 6d |t for deriving m| 0000c2a0 6f 6e 6f 63 68 72 6f 6d 65 20 6c 75 6d 69 6e 61 |onochrome lumina| 0000c2b0 6e 63 65 0a 2d 67 72 65 65 6e 20 20 20 20 63 68 |nce.-green ch| 0000c2c0 61 6e 67 65 20 67 72 65 65 6e 20 77 65 69 67 68 |ange green weigh| 0000c2d0 74 20 66 6f 72 20 64 65 72 69 76 69 6e 67 20 6d |t for deriving m| 0000c2e0 6f 6e 6f 63 68 72 6f 6d 65 20 6c 75 6d 69 6e 61 |onochrome lumina| 0000c2f0 6e 63 65 0a 2d 62 6c 75 65 20 20 20 20 20 63 68 |nce.-blue ch| 0000c300 61 6e 67 65 20 62 6c 75 65 20 77 65 69 67 68 74 |ange blue weight| 0000c310 20 66 6f 72 20 64 65 72 69 76 69 6e 67 20 6d 6f | for deriving mo| 0000c320 6e 6f 63 68 72 6f 6d 65 20 6c 75 6d 69 6e 61 6e |nochrome luminan| 0000c330 63 65 0a 0a 2d 62 72 69 67 68 74 65 6e 20 68 6f |ce..-brighten ho| 0000c340 72 72 65 6e 64 6f 75 73 20 68 61 63 6b 20 74 6f |rrendous hack to| 0000c350 20 73 6c 69 67 68 74 6c 79 20 62 72 69 67 68 74 | slightly bright| 0000c360 65 6e 20 69 6d 61 67 65 73 3a 20 6d 61 79 20 63 |en images: may c| 0000c370 6f 6e 76 65 72 74 20 68 75 65 73 0a 20 20 20 20 |onvert hues. | 0000c380 20 20 20 20 20 20 63 6c 6f 73 65 20 74 6f 20 77 | close to w| 0000c390 68 69 74 65 20 74 6f 20 77 68 69 74 65 2e 20 28 |hite to white. (| 0000c3a0 49 74 20 63 61 75 73 65 73 20 74 68 65 20 6f 75 |It causes the ou| 0000c3b0 74 70 75 74 20 72 61 6e 67 65 20 30 2e 2e 31 35 |tput range 0..15| 0000c3c0 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 62 65 | to. be| 0000c3d0 20 63 6f 6e 73 69 64 65 72 65 64 20 61 73 20 30 | considered as 0| 0000c3e0 2e 2e 28 31 35 2f 31 36 29 20 69 6e 73 74 65 61 |..(15/16) instea| 0000c3f0 64 20 6f 66 20 30 2e 2e 28 31 35 2f 31 35 29 29 |d of 0..(15/15))| 0000c400 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 |... | 0000c410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 6f | Mo| 0000c420 64 65 20 53 75 66 66 69 78 65 73 0a 20 20 20 20 |de Suffixes. | 0000c430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 0000c440 20 20 20 20 20 20 20 3d 3d 3d 3d 3d 3d 3d 3d 3d | =========| 0000c450 3d 3d 3d 3d 0a 0a 63 0a 20 20 31 20 62 69 74 20 |====..c. 1 bit | 0000c460 6d 6f 64 65 73 3a 20 75 73 65 20 63 6c 75 73 74 |modes: use clust| 0000c470 65 72 65 64 20 64 69 74 68 65 72 69 6e 67 20 77 |ered dithering w| 0000c480 69 74 68 20 34 78 34 20 63 65 6c 6c 0a 20 20 32 |ith 4x4 cell. 2| 0000c490 20 62 69 74 20 6d 6f 64 65 73 3a 20 75 73 65 20 | bit modes: use | 0000c4a0 74 68 65 20 66 6f 75 72 20 63 6f 6c 6f 75 72 73 |the four colours| 0000c4b0 20 22 62 6c 61 63 6b 22 2c 20 22 63 79 61 6e 22 | "black", "cyan"| 0000c4c0 2c 20 22 6d 61 67 65 6e 74 61 22 20 61 6e 64 20 |, "magenta" and | 0000c4d0 22 79 65 6c 6c 6f 77 22 0a 64 0a 20 20 31 20 62 |"yellow".d. 1 b| 0000c4e0 69 74 20 6d 6f 64 65 73 3a 20 75 73 65 20 63 6c |it modes: use cl| 0000c4f0 75 73 74 65 72 65 64 20 64 69 74 68 65 72 69 6e |ustered ditherin| 0000c500 67 20 77 69 74 68 20 32 78 32 20 63 65 6c 6c 0a |g with 2x2 cell.| 0000c510 20 20 34 20 62 69 74 20 6d 6f 64 65 73 3a 20 75 | 4 bit modes: u| 0000c520 73 65 20 31 20 62 69 74 20 72 65 64 2c 20 31 20 |se 1 bit red, 1 | 0000c530 62 69 74 20 67 72 65 65 6e 2c 20 31 20 62 69 74 |bit green, 1 bit| 0000c540 20 62 6c 75 65 0a 20 20 38 20 62 69 74 20 6d 6f | blue. 8 bit mo| 0000c550 64 65 73 3a 20 75 73 65 20 32 35 36 20 6c 65 76 |des: use 256 lev| 0000c560 65 6c 20 67 72 65 79 20 73 63 61 6c 65 0a 74 0a |el grey scale.t.| 0000c570 20 20 31 20 62 69 74 20 6d 6f 64 65 73 3a 20 75 | 1 bit modes: u| 0000c580 73 65 20 63 6c 75 73 74 65 72 65 64 20 64 69 74 |se clustered dit| 0000c590 68 65 72 69 6e 67 20 77 69 74 68 20 33 78 33 20 |hering with 3x3 | 0000c5a0 63 65 6c 6c 0a 20 20 34 20 62 69 74 20 6d 6f 64 |cell. 4 bit mod| 0000c5b0 65 73 3a 20 31 36 20 6c 65 76 65 6c 20 67 72 65 |es: 16 level gre| 0000c5c0 79 20 73 63 61 6c 65 0a 72 0a 20 20 32 20 62 69 |y scale.r. 2 bi| 0000c5d0 74 20 6d 6f 64 65 73 3a 20 52 6f 67 65 72 20 57 |t modes: Roger W| 0000c5e0 69 6c 73 6f 6e 27 73 20 28 6d 65 29 20 63 6f 6c |ilson's (me) col| 0000c5f0 6f 75 72 20 6d 61 74 63 68 69 6e 67 20 61 6c 67 |our matching alg| 0000c600 6f 72 69 74 68 6d 0a 20 20 34 20 62 69 74 20 6d |orithm. 4 bit m| 0000c610 6f 64 65 73 3a 20 52 6f 67 65 72 20 57 69 6c 73 |odes: Roger Wils| 0000c620 6f 6e 27 73 20 28 6d 65 29 20 63 6f 6c 6f 75 72 |on's (me) colour| 0000c630 20 6d 61 74 63 68 69 6e 67 20 61 6c 67 6f 72 69 | matching algori| 0000c640 74 68 6d 0a 20 20 38 20 62 69 74 20 6d 6f 64 65 |thm. 8 bit mode| 0000c650 73 3a 20 52 6f 67 65 72 20 57 69 6c 73 6f 6e 27 |s: Roger Wilson'| 0000c660 73 20 28 6d 65 29 20 63 6f 6c 6f 75 72 20 6d 61 |s (me) colour ma| 0000c670 74 63 68 69 6e 67 20 61 6c 67 6f 72 69 74 68 6d |tching algorithm| 0000c680 0a 2d 6e 6f 20 73 75 66 66 69 78 2d 0a 20 20 31 |.-no suffix-. 1| 0000c690 20 62 69 74 20 6d 6f 64 65 73 3a 20 62 2f 77 20 | bit modes: b/w | 0000c6a0 64 69 73 70 65 72 73 65 64 20 64 6f 74 20 64 69 |dispersed dot di| 0000c6b0 74 68 65 72 69 6e 67 0a 20 20 32 20 62 69 74 20 |thering. 2 bit | 0000c6c0 6d 6f 64 65 73 3a 20 34 20 6c 65 76 65 6c 20 67 |modes: 4 level g| 0000c6d0 72 65 79 20 73 63 61 6c 65 0a 20 20 34 20 62 69 |rey scale. 4 bi| 0000c6e0 74 20 6d 6f 64 65 73 3a 20 38 20 6c 65 76 65 6c |t modes: 8 level| 0000c6f0 20 67 72 65 79 20 73 63 61 6c 65 0a 20 20 38 20 | grey scale. 8 | 0000c700 62 69 74 20 6d 6f 64 65 73 3a 20 4a 6f 68 6e 20 |bit modes: John | 0000c710 42 6f 77 6c 65 72 27 73 20 63 6f 6c 6f 75 72 20 |Bowler's colour | 0000c720 6d 61 74 63 68 69 6e 67 20 61 6c 67 6f 72 69 74 |matching algorit| 0000c730 68 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 |hm. | 0000c740 20 20 28 64 65 66 61 75 6c 74 73 20 74 6f 20 27 | (defaults to '| 0000c750 72 27 20 6d 6f 64 65 20 69 66 20 6e 6f 74 20 56 |r' mode if not V| 0000c760 49 44 43 31 20 63 6f 6d 70 61 74 69 62 6c 65 29 |IDC1 compatible)| 0000c770 0a 0a 43 6f 6c 6f 75 72 20 6d 61 74 63 68 69 6e |..Colour matchin| 0000c780 67 20 69 73 20 64 6f 6e 65 20 69 6e 20 72 2c 20 |g is done in r, | 0000c790 67 2c 20 62 20 73 70 61 63 65 3a 20 74 68 65 20 |g, b space: the | 0000c7a0 6d 69 6e 69 6d 75 6d 20 64 69 73 74 61 6e 63 65 |minimum distance| 0000c7b0 20 62 65 74 77 65 65 6e 20 63 6f 6c 6f 75 72 73 | between colours| 0000c7c0 0a 69 73 20 74 68 65 20 73 71 75 61 72 65 20 72 |.is the square r| 0000c7d0 6f 6f 74 20 6f 66 3a 0a 20 20 20 64 65 6c 74 61 |oot of:. delta| 0000c7e0 5f 72 5e 32 2a 72 6d 61 74 63 68 77 74 2b 64 65 |_r^2*rmatchwt+de| 0000c7f0 6c 74 61 5f 67 5e 32 2a 67 6d 61 74 63 68 77 74 |lta_g^2*gmatchwt| 0000c800 2b 64 65 6c 74 61 5f 62 5e 32 2a 62 6d 61 74 63 |+delta_b^2*bmatc| 0000c810 68 77 74 0a 43 68 61 6e 67 65 46 53 49 20 68 61 |hwt.ChangeFSI ha| 0000c820 73 20 68 61 72 64 20 77 69 72 65 64 20 77 65 69 |s hard wired wei| 0000c830 67 68 74 73 20 6f 66 20 33 2c 20 31 30 2c 20 31 |ghts of 3, 10, 1| 0000c840 20 72 65 73 70 65 63 74 69 76 65 6c 79 20 66 6f | respectively fo| 0000c850 72 20 69 74 73 20 63 6f 6c 6f 75 72 0a 6d 61 74 |r its colour.mat| 0000c860 63 68 69 6e 67 20 61 6c 67 6f 72 69 74 68 6d 73 |ching algorithms| 0000c870 2e 20 4a 6f 68 6e 20 42 6f 77 6c 65 72 27 73 20 |. John Bowler's | 0000c880 61 6c 67 6f 72 69 74 68 6d 20 28 64 65 66 61 75 |algorithm (defau| 0000c890 6c 74 20 66 6f 72 20 52 49 53 43 20 4f 53 20 38 |lt for RISC OS 8| 0000c8a0 20 62 69 74 20 6d 6f 64 65 73 29 0a 61 6c 74 68 | bit modes).alth| 0000c8b0 6f 75 67 68 20 73 6f 6d 65 77 68 61 74 20 73 6c |ough somewhat sl| 0000c8c0 6f 77 65 72 2c 20 69 73 20 66 61 73 74 20 65 6e |ower, is fast en| 0000c8d0 6f 75 67 68 20 74 6f 20 68 61 76 65 20 72 65 70 |ough to have rep| 0000c8e0 6c 61 63 65 64 20 61 6c 6c 20 74 68 65 20 70 72 |laced all the pr| 0000c8f0 65 76 69 6f 75 73 0a 6d 65 74 68 6f 64 73 20 5b |evious.methods [| 0000c900 41 53 49 44 45 20 69 74 20 67 69 76 65 73 20 70 |ASIDE it gives p| 0000c910 69 63 74 75 72 65 73 20 61 74 20 6c 65 61 73 74 |ictures at least| 0000c920 20 61 73 20 67 6f 6f 64 20 61 73 20 22 70 22 20 | as good as "p" | 0000c930 6d 6f 64 65 20 69 6e 20 70 72 65 20 41 75 67 20 |mode in pre Aug | 0000c940 39 31 0a 43 68 61 6e 67 65 46 53 49 27 73 5d 2e |91.ChangeFSI's].| 0000c950 20 52 6f 67 65 72 20 57 69 6c 73 6f 6e 27 73 20 | Roger Wilson's | 0000c960 28 69 2e 65 2e 20 6d 79 29 20 63 6f 6c 6f 75 72 |(i.e. my) colour| 0000c970 20 6d 61 74 63 68 69 6e 67 20 61 6c 67 6f 72 69 | matching algori| 0000c980 74 68 6d 20 69 73 0a 72 65 63 6f 6d 6d 65 6e 64 |thm is.recommend| 0000c990 65 64 2c 20 61 6e 64 20 69 73 20 75 73 65 64 20 |ed, and is used | 0000c9a0 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 69 66 |automatically if| 0000c9b0 20 74 68 65 20 38 20 62 69 74 20 70 65 72 20 70 | the 8 bit per p| 0000c9c0 69 78 65 6c 20 6d 6f 64 65 20 64 6f 65 73 20 6e |ixel mode does n| 0000c9d0 6f 74 0a 68 61 76 65 20 74 68 65 20 64 65 66 61 |ot.have the defa| 0000c9e0 75 6c 74 20 52 49 53 43 20 4f 53 20 63 6f 6c 6f |ult RISC OS colo| 0000c9f0 75 72 20 73 65 74 2e 0a 0a 5b 4e 4f 54 45 3a 20 |ur set...[NOTE: | 0000ca00 74 68 61 6e 6b 73 20 61 72 65 20 64 75 65 20 74 |thanks are due t| 0000ca10 6f 20 53 74 65 76 65 20 47 72 65 65 6e 20 61 6e |o Steve Green an| 0000ca20 64 20 74 68 65 20 42 42 43 20 61 6e 64 20 49 72 |d the BBC and Ir| 0000ca30 6c 61 6d 20 49 6e 73 74 72 75 6d 65 6e 74 73 20 |lam Instruments | 0000ca40 66 6f 72 20 74 68 65 0a 69 6e 74 65 72 6d 65 64 |for the.intermed| 0000ca50 69 61 74 65 20 73 79 73 74 65 6d 73 20 74 68 61 |iate systems tha| 0000ca60 74 20 6c 65 64 20 74 6f 20 4a 6f 68 6e 20 42 6f |t led to John Bo| 0000ca70 77 6c 65 72 27 73 20 61 6e 64 20 6d 79 20 61 6c |wler's and my al| 0000ca80 67 6f 72 69 74 68 6d 73 3a 20 75 6e 74 69 6c 20 |gorithms: until | 0000ca90 41 75 67 20 39 31 0a 43 68 61 6e 67 65 46 53 49 |Aug 91.ChangeFSI| 0000caa0 20 75 73 65 64 20 74 68 65 69 72 20 77 6f 72 6b | used their work| 0000cab0 20 66 6f 72 20 69 74 73 20 22 50 72 65 63 69 73 | for its "Precis| 0000cac0 65 20 4d 61 74 63 68 69 6e 67 22 20 61 6c 67 6f |e Matching" algo| 0000cad0 72 69 74 68 6d 2e 20 49 74 20 6e 6f 20 6c 6f 6e |rithm. It no lon| 0000cae0 67 65 72 0a 75 73 65 73 20 61 6e 79 20 6f 66 20 |ger.uses any of | 0000caf0 74 68 65 69 72 20 63 6f 64 65 2c 20 62 75 74 20 |their code, but | 0000cb00 6f 77 65 73 20 61 20 64 65 62 74 20 66 6f 72 20 |owes a debt for | 0000cb10 6f 76 65 72 61 6c 6c 20 61 70 70 72 6f 61 63 68 |overall approach| 0000cb20 2e 20 41 20 73 6d 61 6c 6c 20 74 68 61 6e 6b 20 |. A small thank | 0000cb30 79 6f 75 0a 74 6f 20 53 70 65 6e 63 65 72 20 54 |you.to Spencer T| 0000cb40 68 6f 6d 61 73 20 66 6f 72 20 70 75 74 74 69 6e |homas for puttin| 0000cb50 67 20 6d 65 20 6f 6e 20 74 68 65 20 74 72 61 63 |g me on the trac| 0000cb60 6b 20 77 68 69 63 68 20 6c 65 64 20 74 6f 20 6d |k which led to m| 0000cb70 79 20 63 6f 6c 6f 75 72 20 6d 61 74 63 68 69 6e |y colour matchin| 0000cb80 67 0a 73 79 73 74 65 6d 27 73 20 61 6c 67 6f 72 |g.system's algor| 0000cb90 69 74 68 6d 2e 5d 0a 0a 46 75 72 74 68 65 72 20 |ithm.]..Further | 0000cba0 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 64 |information on d| 0000cbb0 69 74 68 65 72 69 6e 67 20 63 61 6e 20 62 65 20 |ithering can be | 0000cbc0 66 6f 75 6e 64 20 69 6e 20 22 44 69 67 69 74 61 |found in "Digita| 0000cbd0 6c 20 48 61 6c 66 74 6f 6e 69 6e 67 22 20 62 79 |l Halftoning" by| 0000cbe0 20 52 6f 62 65 72 74 0a 55 6c 69 63 68 6e 65 79 | Robert.Ulichney| 0000cbf0 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 | published by th| 0000cc00 65 20 4d 49 54 20 50 72 65 73 73 2c 20 49 53 42 |e MIT Press, ISB| 0000cc10 4e 20 30 2d 32 36 32 2d 32 31 30 30 39 2d 36 2e |N 0-262-21009-6.| 0000cc20 20 41 20 62 6f 6f 6b 20 77 68 69 63 68 20 49 20 | A book which I | 0000cc30 77 69 73 68 0a 49 27 64 20 68 61 64 20 77 68 65 |wish.I'd had whe| 0000cc40 6e 20 49 20 73 74 61 72 74 65 64 20 77 72 69 74 |n I started writ| 0000cc50 69 6e 67 20 74 68 65 20 70 72 6f 67 72 61 6d 2c |ing the program,| 0000cc60 20 72 61 74 68 65 72 20 74 68 61 6e 20 61 66 74 | rather than aft| 0000cc70 65 72 20 69 74 20 77 61 73 20 6e 65 61 72 6c 79 |er it was nearly| 0000cc80 0a 66 69 6e 69 73 68 65 64 21 20 48 69 73 74 6f |.finished! Histo| 0000cc90 67 72 61 6d 20 65 71 75 61 6c 69 73 61 74 69 6f |gram equalisatio| 0000cca0 6e 20 69 73 20 69 6e 20 22 41 6c 67 6f 72 69 74 |n is in "Algorit| 0000ccb0 68 6d 73 20 66 6f 72 20 47 72 61 70 68 69 63 73 |hms for Graphics| 0000ccc0 20 61 6e 64 20 49 6d 61 67 65 0a 50 72 6f 63 65 | and Image.Proce| 0000ccd0 73 73 69 6e 67 22 20 62 79 20 54 68 65 6f 20 50 |ssing" by Theo P| 0000cce0 61 76 6c 69 64 69 73 20 70 75 62 6c 69 73 68 65 |avlidis publishe| 0000ccf0 64 20 62 79 20 43 6f 6d 70 75 74 65 72 20 53 63 |d by Computer Sc| 0000cd00 69 65 6e 63 65 20 50 72 65 73 73 2c 20 49 53 42 |ience Press, ISB| 0000cd10 4e 0a 30 2d 39 31 34 38 39 34 2d 36 35 2d 58 2e |N.0-914894-65-X.| 0000cd20 0a |.| 0000cd21