Home » Personal collection » Acorn hard disk » apps » web » !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 » Personal collection » Acorn hard disk » apps » web |
Filename: | !ChangeFSI/FSIinfo |
Read OK: | ✔ |
File size: | D24A bytes |
Load address: | 0000 |
Exec address: | 0000 |
Duplicates
There are 3 duplicate copies of this file in the archive:
- Personal collection » Acorn ADFS disks » Greaseweazled » adfs_1.6M_Apps2.adf » !ChangeFSI/FSIinfo
- Personal collection » Acorn hard disk » apps » ImagePrcss » !ChangeFSI/FSIinfo
- Personal collection » Acorn hard disk » apps » web » !ChangeFSI/FSIinfo
- Personal collection » Acorn hard disk » zipped_disks » 2000_apps_2 » apps2/!ChangeFSI/FSIinfo
File contents
ChangeFSI: Colour Image Processing Using the 256 colour modes Archimedes computers have full colour display capabilities built into them as standard. However, compared with the hardware found in larger workstations, the facilities provided have been carefully reduced (in order to make them cheap enough to fit all the time). So the precision of the digital to analogue converters is only 4 bits (instead of 8) and the colour palette only has 16 entries (instead of 256). The VIDC 256 colour mode ========================= Has 4 direct bits (top 2 green, top red and blue) plus 4 palette look up bits which affect the remaining DAC bits. This therefore gives a choice of 256 colours from 4096, but the choice is not a free one in that the 4 direct bits are always connected: this leaves only 256 selections available from the 4096 colour range. To repeat: there are 256 simultaneous colours in a selection out of 4096 colours, where there are only 256 "legal" selections. The new VIDC20 allows an arbitrary selection of colours, but the default situation is identical. There are "optimal" selections. An optimal selection is one which covers the entire R, G, B colour cube (i.e. 0-fullscale for each of the colours) and can thus be dithered to from any picture (if one considers picture's colour range as an arbitrary volume in the colour cube, then you can dither/display a picture accurately if and only if the volume covered by the available colours encloses the picture's). The optimal selection used for the RISC OS 256 colour mode palette contains 2 most significant bits of Red, 2 most significant bits of Green and 2 most significant bits of Blue, with the last 2 bits controlling the 2 least significant bits in parallel ("adds white" to a colour). Thus peak R, G, B is obtained (without side effects if varied simultaneously, with a side effect if peak R (say) alone is required). A correctly designed error diffusion dither algorithm can display pictures with very high fidelity. [note that dithering all pictures with a single palette permits their display simultaneously on the screen, also note that dithering to a fixed palette is much quicker than selecting a palette first!] One can also program the system for a large number of n bits per colour modes, with the n bits starting at the most significant end of the colour range. For example 4 bits of green, 3 bits of red and 1 bit of blue. The constraints are: 2 <= nGreen <= 4 1 <= nRed <= 4 1 <= nBlue <= 4 (and nRed+nBlue+nGreen=8) Modes like these are often useful for real time solid modelling (where the expense of dithering with error diffusion (circa 100 cycles per pixel) cannot be afforded). These selections are non-optimal: the colour cube is not completely spanned. Displaying A Picture ==================== Since a colour in the 256 colour mode can be such a complicated thing, with varying capability of spanning the colour cube and an unknown accuracy, there is a RISC OS standard way of specifying a colour you wish to draw with using 8 bits for R, G and B components. A call to the operating system converts this to the nearest colour and new objects can be drawn. Where the object to be drawn is a previously generated picture, the modules "SpriteExtend" (in the ROM) and "ColourTrans" (in the !System directory) in RISC OS provide some capabilites for displaying pictures in different screen modes. ColourTrans can look at the palette which a sprite uses and return a list of the equivalent 'closest' colours in the current screen mode. SpriteExtend can paint sprites using the list of equivalent colours and can change the size of the image into the bargain. This is all very well for simple pictures or pictures created directly for a particular mode, but what happens for more detailed information or pictures from other sources with resolution not matched by the Archimedes hardware? Also the above facilities are rather basic: ColourTrans makes no effort to use dithering (the practise of putting patterns of different coloured pixels together to represent other colours) and SpriteExtend simply discards additional information if reducing the picture in size (and together they make no attempt to enhance the picture when making it larger). The reason for these shortcomings is quite simple: speed. The algorithm used in ChangeFSI uses 105 ARM instructions per pixel - and that's apart from any instructions used to read the image in, change its size and write the result out. For comparison, the normal sprite plot takes only one instruction per pixel (4 instructions for four 8 bit pixels). Processing a MODE 15 picture thus uses up too many seconds of ARM cpu time to imagine it as part of the interactive desktop. So what does ChangeFSI do to make the situation better? And why does it take so long? One can immediately draw up some desirable properties for any solution to the image changing problem: (1) Maximising the volume of the colour cube. Colour represented in the Red, Green and Blue computer graphics system can be thought of as a point in a 3D cube whose axes are the red, green and blue values. Whatever clever approximations, dithering or error diffusion techniques are used, the colour volume spanned by the r, g and b axes in the target should be large enough to contain the source volume. If not, then the picture will appear faded in some way compared to the original ("the red doesn't seem quite the same"). For a single picture a colour volume only as large as the input could be chosen; alternatively for an arbitrary set of input pictures, the colour volume on the output system has to be made as large as possible. Where animation is required the colour volume has to be consistent for all the pictures. When generating the largest volume, it is important to use the system hardware to the limit: for example, if one has two bits of control over the Archimedes 4 bit D to A converters, the largest range is covered by values 0, 5, 10 and 15 (rather than 0, 4, 8 and 12). (2) Giving hue consistency at different saturations. For example, with a palette with different numbers of bits of r, g and b it may be impossible to have a consistent set of colours representing derived colours at different levels of intensity. Shades of white and secondary colours (cyan, magenta and yellow) are particularly difficult. (3) Working with the multi-tasking desktop. Acorn are asking for all new software to be built on the multitasking system. This implies that the palette should not be changed (or that the agreement of all programs currently running is obtained first). The desktop (default) palette in the 256 colour modes (e.g. modes 13, 15, 21, 24 and 28) is quite well designed. It does have the properties of (1) and (2) (it even has 16 shades of grey) and automatically satisfies (3). It is used by many Acorn programs (Draw, Paint) and by external programs (Euclid, ProArtisan, Atelier, ..) to great effect and is a safe choice for ChangeFSI. There are two ways ChangeFSI can choose a colour: (a) a method which derives values for r, g, b and tint algorithmically (no suffix) (suitable only for the default RISC OS 256 colour palette) (b) search the palette for the closest colour (r suffix). The precise method by which this is done is the subject of another document. ASIDE: the closest colour is chosen such that the distance between the true colour and the choice is minimised in the colour cube space. Since the human eye is more sensitive to green, then red and lastly blue, the distance function is weighted 10, 3 and 1 in green's favour. With the 16 colour modes (e.g. modes 9, 12, 16, 20 and 27) the default palette does not satisfy (1) and (2) unless the output is purely shades of grey - ChangeFSI can use either 8 greys (for the desktop) or 16 greys (out of the desktop or with the desktop palette altered to provide 16 greys). For colour representation, ChangeFSI can either: (a) use 1 bit of red, 1 bit of green and 1 bit of blue (i.e. the standard 8 digital colours Black, Red, Green, Blue, Yellow, Magenta, Cyan and White). This spans the colour cube and is hue consistent, but doesn't use the full range of bits provided in the format. ColourTrans can map this to the desktop with the standard palette with fair success, except for the lack of magenta (full red+full blue) in the palette. A better result can be achieved by setting 6 of the colours in the palette to red, green, yellow, blue, magenta and cyan. Since ColourTrans will map the colours anyway, it doesn't matter which 6, but the most consistent values are 8=blue, 9=yellow, 10=green, 11=red, 13=cyan, 14=magenta (leaving 0-7, 12 and 15 unchanged). This option is selected by a "d" (digital RGB) suffix to the program's mode argument. or (b) search the palette for the closest colour (r suffix) [ChangeFSI needs to be in the 16 colour mode in order to read the palette] With the 4 colour modes (e.g. modes 8, 11, 19 and 26) ChangeFSI is really pushed. Shades of grey output is done with the 0, 5, 10, 15 level palette. But how can colour be done? For example, each pixel can display only one of (say) black, red, green or blue. This fails to span the colour cube (it does only half of it), however, so black, cyan, magenta and yellow are used instead. The rest has to be left to luck: there is no way it can approximate to pure shades of red, green or blue. 4 bit colour pictures can be seen on the desktop in 16 colour modes with the above palette or in 256 colour modes. This option is by a "c" suffix. If you can provide a better palette, then ChangeFSI can use it with the "r" suffix search method. With 2 colour modes (e.g. modes 0, 18, 23 and 25) pixels are either ON or OFF, ChangeFSI will only do shades of grey output.... However, the method used can be varied (see later). So that's the canvas ChangeFSI has to work on. How does it display the input range of colours on these outputs? The answer is, as stated above, dithering: the process of approximating intensity variations with patterned areas. There are two basic types of dithering technique: that used to print colour magazines and newspaper photographs "clustered dot dither" - the size of the dot of ink gives the intensity; and that used on dot matrix displays, for example the grey level patterns used by 1 bit per pixel mode on the desktop "dispersed dot dither" where the average number of dots in the area gives the intensity. Why does the world need two different techniques? Well, different devices reproduce pixels differently. The "ideal square" pixels produced by an LCD are perfect for dispersed dot dither; a CRT produces a gaussian spot (a circle or ellipse which decays in intensity towards the edges) instead of a square - dispersed dot dither works well; a dot matrix impact printer or a "write black" laser printer produce large dots (diameter at least SQR(2) over unit pixel square) and thus make pictures too dark if dispersed dot dither is used; a "write white" laser printer prints negative "white dots" on a black field and thus "caves in" the sides of pixels making pictures too white with dispersed dot dither. Clustered dot dither reduces the effects of mis-sized pixels by ensuring they are adjacent (and thus the error is confined to the periphery of the shape) but this does have a cost in poorer resolution. Since ChangeFSI's colour or greyscale output is to CRTs (or LCDs in some distant future) it automatically uses a dispersed dot dither. Monochrome output could be for the screen or for a printer: the user can select between dispersed and clustered methods by adding a various suffices ("c", "d" or "t") to the mode number for clustered output. For "c" the algorithm (due to Robert L Gard, 1976) approximates tones in the range 0..16 (17 levels) by using 0..16 "on" pixels in a 4 by 4 cell. For "d" the algorithm (developed by me, but similar to Gard's) approximates tones in the range 0..4 (5 levels) by using 0..4 "on" pixels in a 2 by 2 cell. For "t" the algorithm (ditto as "d") approximates tones in the range 0..9 (10 levels) by using 0..9 "on" pixels in a 3 by 3 cell. The "on" pixels are carefully chosen to provide: (a) symmetry of white/black and black/white patterns (b) diagonally oriented dot grid. The diagonal angle reduces the eye's ability to see the rectangular patterns produced. The various sizes of the halftone cell allow some trade off between representing the tonal values correctly and loss of resolution. Start with "c" and progress to "t" and then "d" if the resolution is not acceptable. ChangeFSI can generate reasonable pictures on "write black" printers with a dispersed dot dither by using the "-black" parameter; however images produced like this do not photocopy at all well (the photocopier makes the dots blacker again!). The parameter to -black (default value 32, range 0..128) tells ChangeFSI how much larger than the ideal square pixel the dots produced by the printer are - 128 corresponds to an inked dot covering four times the area of the ideal black square pixel (and this will generally mean ChangeFSI produces an entirely white output!). Values above 64 give rather poor results on some pictures but may be worth experimenting with. The default is 32, a dot covering 50% more area than the square pixel (the minimum circle enclosing the pixel square). Some printers produce dots of (pseudo-randomly) varying sizes and black correction may not help with these (the picture looks "noisy") in which case use one of the clustered output methods. -black correction makes pictures on the screen look very pale, since, if anything, black pixels on screen are smaller than the ideal square. [aside: to print these pictures, you need a method which copies the pixels ChangeFSI has made exactly to those of the output device. Using !Paint, scale X and Y by 90:300 for a 300dpi printer.] In all cases, an approximation to a colour will produce an error (which might possibly be zero if ChangeFSI is very lucky). ChangeFSI tracks these errors and ensures that over wide areas there is no overall error using a technique called "error diffusion", first devised by R W Floyd and L Steinberg in 1975. In this technique the approximation is made and the error distributed to nearby pixels in the following ratios: current pixel 7/16 of error 3/16 of error 5/16 of error 1/16 of error ChangeFSI gets some of its name from Floyd and Steinberg. Additionally, ChangeFSI scans through the picture in a serpentine fashion, doing a row of pixels left to right followed by the next row right to left. This reduces the probability of regular patterns which the eye is sensitive to. The final I of the name is for Integer: ChangeFSI does all its work in 32 bit fixed point integer arithmetic (with the point at bit 28) instead of floating point. Dithering can be turned off using using "Disable Dithering" on the Processing dialogue ("-nodither" on the command line) which at least allows you to see how well it does! The conversion from one colour range to another is made at the same time as a change in size of the image. Size is changed by ratios of areas between the input and output: the total weight of r, g, and b in the source area is calculated using the fixed point arithmetic and this result is then approximated to the output using the error diffusion to preserve information (for example, consider halving in size an image with adjacent pixels of intensities 1 and 2; the output pixel needs to be value 1.5, so the 0.5 error is sent to adjacent pixels to keep the overall colour the same). The size change is expressed as a ratio of output to input (e.g. 40:20) which ChangeFSI reduces to the smallest possible terms (2:1 in this case) so that you are free to give values like 256:512 if that's what you mean! Size change is either both x and y (if one ratio is given) or separate x and y (if two ratios are given). Note that the size of a RISC OS pixel is known, so changing from (say) mode 21 to (say) mode 13 does not need any additional specified scaling. The full size output for mode 21 is the reference, so scale to 640 by 512. A common scaling is to fill the output sprite with the input and an "=" parameter to x and/or y ratios will do this without ever having to know the size of the input. Simply omitting the fractional part causes ChangeFSI to put in the source size, thus giving output which is the specified number of pixels in size. Conversion from colour to monochrome shades of grey is done with the CIE luminance weights for r, g and b (0.299, 0.587, 0.114) which is the standard conversion for broadcast television. These values can be altered using the -red, -green and -blue commands and allow different weightings for conversion to monochrome to be tried, this also allows selection of an image composed of only some of the colours (e.g. -red1 -green0 -blue0) in making a black and white image. ChangeFSI can take any RISC OS sprites (2, 4, 16 or 256 colours). If there is a palette it will be used, otherwise the standard 2, 4, 16 and 256 colour desktop palettes are used. ChangeFSI can also read the 16bpp and 24bpp sprites which have no palettes. ChangeFSI is both a command line driven program and a desktop application. The file !Help describes how to use the application from the desktop, if you need to use the program as a command line driven program you will need to have it in the library (or on run$path) and press f12 to get out of the desktop. The file "FSIuse" describes the parameters concisely. The program selects mode 0 when run from the command line when doing any work in order to speed up processing (this can be disabled with -nomode). It may also be a good idea to RMFaster BASIC. An hourglass %age processed figure is displayed (this may run through twice for some of the more expensive options). The program reads the source image from disc and builds the output in memory, having claimed some from the system. In addition to strictly converting the source image, ChangeFSI can also process it. A trivial option is "-info": ChangeFSI will tell you what it is doing (a good way of finding out what the source image actually is, and how the scaling turns out!). Similarly trivial are -vflip and -hflip - the picture can be produce upside down and left/right reversed. Not so trivial is -rotate, which will rotate the image by 90 degrees (that is, an anti- clockwise quarter turn). -rotate- rotates by -90 degrees (clockwise quarter turn). Sometimes useful is "-nosize": ChangeFSI can read pixel size information from the source image (if present) or guess it (e.g. if there are less than 320 by 256 pixels in a source image, ChangeFSI assumes the pixels are the same size as MODE 13's [45 per inch]) or derive it from other information and scale the output image (composed of RISC OS square or 1:2 sized pixels) appropriately. -nosize stops this from happening. [this seems particularly relevant on formats like TIFF or IFF where the pixel size is specified *but may be wrong*] Using -info will display the pixel ratios which ChangeFSI is using - a combination of the size guess, the output pixel size and any deliberate scaling. "-noscale" turns off the output scaling as well. The simplest image processing option is "-range" which will expand the dynamic range of the input picture so that it fills the available area (not a good option for animated sequences unless all source images possess the same range). Since r, g, b are processed by the same amount, -range preserves the colour of pixels in coloured pictures. A useful option for output intended for the screen only is Gamma correction. CRT displays do not have a simple linear relationship between brightness of the spot and input voltage: instead of brightness = const * voltage, the response is brightness = const * voltage ^ (1/gamma). In the TV industry, gamma has been standardised as 2.2, but there is wide variation in the computer industry: the monitor's response will vary depending on what make it is and how it is adjusted. Low values of gamma (0 to 1) make colours darker and high values (above 1) make colours lighter with the effects being particularly noticeable on dim colours. "-gamma" uses the default of 2.2, and it can be set by "-gamma1.5" say. Gamma correction is most relevant when its known that the input has a linear intensity (input from a scanner or from another computer with more bits per colour component than the Archimedes). A more complex primitive is "-equal" which performs "histogram equalisation" on the image. This makes the histogram of level versus number of points at that level as flat as possible giving full use of the number of colours available. -equal is a very harsh primitive, even on monochrome inputs it can produce an inferior picture; while on colour pictures it can distort the colour of each point (since r, g, b are computed separately). But -equal can often recover a picture that is otherwise completely useless or expose information locked in a small part of the input scale. Image colours may be inverted with the -invert option. Which may be fun in colour but is rarely useful! However, monochrome images frequently need inverting, especially one bit per pixel sources. A more powerful option is "-sharpen" which enhances the edges of objects in the picture: this is very useful since the dithering process inevitably smears information over the display. Pre-sharpening the image can result in a more acceptable output. Default values of sharpening can be overridden for special effects: -sharpen8 does edge detection. Lower amounts of sharpening are obtained with larger -sharpen numbers. In general the more input and output pixels and the greater the output range in a pixel in the images, the less sharpening is required. Sharpening a picture which is already dithered can give a very bad result.... The sharpening is achieved with the following matrix: -1 -1 -1 -1 sharpen -1 -1 -1 -1 ChangeFSI computes the sum of nine pixels with the above weights for each input pixel and renormalises the result (divides by sharpen-8). Similar is "-smooth" which averages the pixels to eliminate noise. It uses the following matrix: 1 1 1 1 smooth 1 1 1 1 ChangeFSI computes the sum of nine pixels with the above weights for each input pixel and renormalises the result (divides by smooth+8). Only one of smoothing or sharpening may be performed (whichever is last on the command line). An option for testing is "-nodither" which disables the Floyd Steinberg error diffusion step completely. Versions after 6th June 1990 are more accurate at doing this. The various processes described above are applied in the following order for pictures with more output pixels than input: (a) range or histogram equalisation, (b) sharpen or smooth, (c) scale, (d) error diffusion. This order is chosen so that: (1) since the input pixels (rather than the output pixels) are sharpened, there is no false edge introduced when pixels are replicated. The various processes described above are applied in the following order for pictures with fewer output pixels than input: (a) scale, (b) range or histogram equalisation, (c) sharpen or smooth, (d) error diffusion. This order is chosen so that: (1) ranging can enhance down-sized images. Say a black/white dithered image is reduced in size, so that the output from the scaling process is (some approximation to) the original grey levels; then ranging can expand this if possible. (2) sharpening can be used to offset the blurring effects of scaling. (3) since the output pixels (rather than the input pixels) are sharpened, the effect of -sharpenN is consistent over differently scaled images. There may be times when this automatic selection of order gets it wrong, particularly when changing the aspect ratio, it is possible to trigger some undesirable sharpening artifacts. Use the program twice with sharpening (say) disabled and enabled in the order required. Examples of use: Make "standard palette" versions of existing 256 colour images (for example the Watford digitiser plus colour board doesn't use the standard palette). (e.g. "changefsi in out 13p" for a coloured Watford picture) Or convert a colour picture to something you can see on your high res mono monitor. (e.g. "changefsi in out 18 -sharpen -info") Or convert a large monochrome picture (from a scanner, say) to something which can be seen. (e.g. "changefsi in out 20t 1:4 -gamma") Or convert a colour picture to grey scale for the desktop. (e.g. "changefsi in out 20") Or change a 512 by 480 image to standard format and aspect ratio (e.g. "changefsi in out 15 640:512 512:480") (or "changefsi in out = -range") Or change to digital r, g, b (e.g. "changefsi in out 20d -sharpen16") Or convert a picture for printing on a 300dpi laser. (e.g. "changefsi in out 18c 300:90 -sharpen") And many more uses such as making miniatures of pictures, animated sequences of pictures changing size (or sharpness!), converting Artisan pictures to the desktop (try looking at the Artisan Garden with the desktop in 256 colours and ChangeFSI's version - the stripes on the lawn vanish with the standard version). Obviously you will need to have captured input as a sprite first! Using more pixels per inch can improve the quality of the result, particularly converting to multisync modes. Note that, for all work with ChangeFSI, it is a good idea to start from the unprocessed input each time and do everything in one pass (rather than using the program several times with simple arguments). It is not a good idea to sharpen a dithered image (unless it has been shrunk). It can be very useful to use a small amount of smoothing on a dithered image (e.g. -smooth16). *** It is a very good idea to keep the highest resolution master that you can afford the disc space for.... The ChangeFSI program can also convert from non RISC OS sprite formats while doing all of the above processing. ChangeFSI will work out what the format is automatically. For native RISC OS formats, it uses the filetype and there can be no confusion. For alien formats, it first tries looking for particular identifying information inside the file and then (if this fails to have identified a format) tries using the file name itself. See the details below: The RISC OS sprite format Contains 1, 2, 4 or 8 bits per pixel with a modification palette of up to 16 entries; any number of pixels wide and high uncompressed. Details are in Acorn's Programmer's Reference Manual. + Recognised by file type FF9 (a paint brush and house icon) - Details of how many bits per pixel and the pixel size are obtained from the operating system (rather than being in the file) from the "MODE" number. Mode extensions can result in a source image containing a MODE number which your computer does not understand. - Mask information ignored - Lefthand wastage ignored The new RISC OS sprite format Contains 1, 2, 4, 8, 16 or 32 bits per pixel. + Recognised by file type FF9 + no problem with mode extensions: information is coded into the format - Mask information ignored Kodak PhotoCD 24 bit per pixel images at various resolutions + Recognised by file type BE8 - Set ChangeFSI$PCDIndex to read resolutions other than base (=3) The ArVis format [of ArVis Multimedia] Contains 5 bits of red, green and blue information encoded into two RISC OS sprites "HIP.<filename>" and "LOP.<filename>" comprising a 640 pixel wide and 256 line tall image with pixels sized 1:2. Details from ArVis Multimedia - Recognised by providing the HIP.<filename> (which must be of file type FF9) - Uncompressed (indeed represents 16 bits instead of 15). The Pineapple colour digitiser format (of Pineapple Software) Contains 6 bits of green, 5 bits of red and blue information filed as a single data file starting "FSIfile" comprising a 512 pixel wide and 256 line tall image with pixels sized 1:2. - Recognised by "FSIfile" in the file (which can be any type) - Uncompressed The Watford Video Digitiser "picture" format Contains a run length encoded 64 grey level 512 pixel wide, 256 line image, with pixels sized 1:2. Details from Watford Electronics Ltd. + Recognised by file type DFA (a small grey picture of Stevie Nicks) - Warning: don't forget to save the pictures in *un-dithered* state! When used with a colour converter, ChangeFSI can read three colour separations stored in a directory of separate "red", "green" and "blue" files. Beware of auto-gain/contrast when using such information! The ProArtisan compressed picture file format Contains a (mildly) compressed MODE 15 (640 by 256 by 256 colours) picture. Details from Clares. + Recognised by file type DE2 (a beige monitor in a grey surround) The TimeStep satellite image format This gives an uncompressed 800 by 800 with 256 grey levels. + Recognised by file type 7A0 (icon never seen) - No resolution specified, equal to mode 27 assumed - Documentation never seen. An extra header file <name>! is not understood at all..... CCIR601 4:2:2 images Contain 720 pixels by 288 rows (PAL) [243 rows NTSC] YUV coded with pixels sized 1:2. + Recognised by file type 601 - one field only Another TimeStep satellite image format Giving an uncompressed 128 pixels wide by 256 lines with 256 grey levels, pixels sized 2:1. Used by TimeStep's !ImProcess application. + Recognised by file type 300 ("i" in a document frame) - Documentation never seen. - A bit coarse The grey levels represent intensity in various different wave bands. By naming files "red", "green" and "blue" and handing ChangeFSI the directory, you can produce a false colour image. Hours of experimentation can produce an almost reasonable picture... The AIM and Wild Vision V10 format This provides an uncompressed 256 by 256 image with 256 grey levels. Details from Delft University of Technology and ECD Computers Delft B.V. + Recognised by file type 004 (a picture of 'Trui' with "TU" in blue) + ChangeFSI can write to this format (specify "aim" in the mode position) and specify = in the sizing to get a 256 by 256 output (otherwise it will be the same size as the source image) - No resolution specified, equal to mode 27 assumed - The associated file <name>+ (file type 010) which contains additional information is ignored by ChangeFSI. The grey levels may represent intensity in various different wave bands. By naming files "red", "green" and "blue" and handing ChangeFSI the directory, you can produce a false colour image. Hours of experimentation can produce an almost reasonable picture... The Wild Vision V12 format This provides an uncompressed 512 by 512 image with 256 grey levels. + Recognised by file type 006 - No resolution specified, equal to mode 27 assumed The Wild Vision V9 and SnapShot formats This provides an uncompressed 512 by 256 image with 4 bits of red, green and blue, pixels sized 1:2. + Recognised by "MercSoft" or "SnapShot" header + No file type needed The !Translator Clear format This provides 1, 2, 4, 8 and 24 bits per pixel. + Recognised by file type 690 - uncompressed, especially for <8 bits per pixel which is recorded at one byte per pixel. - No resolution specified, equal to mode 27 assumed The Atari ST "Degas" format 1, 2 or 4 bits per pixel, clear or run length encoded. RISC OS file type by John Kortink of !Translator. + Recognised by file type 691 - No documentation and only 5 images read - No resolution specified, equal to mode 27 assumed >> All the file formats so far have been designed on RISC OS (or Arthur) and recognition of the format is defined by file type, the files arrive on RISC OS floppy discs, and the originators live in the same time zone. For the following formats many of these things are not true... Which makes it more difficult to guarantee that ChangeFSI will be able to read the file. The Millipede Prisma format (used by CadSoft also) The Millipede Prisma 3 is a 768 pixels wide by 574 line interlaced display board for the Archimedes and BBC Microcomputer. It allows use of 256 colours from 2^24. Files may be stored uncompressed (432KBytes!) or run length encoded. More details from CadSoft or Millipede Electronic Graphics. + Recognised by "MILLIPEDE" at offset 16 in the file - No resolution specified, equal to mode 27 assumed - slowish to read the compressed formats - scaling the picture using = can be poor since 574 lines don't relate very well to 512 or 256. Use -info to display the scale ratios. The Aldus/MicroSoft TIFF format (also filetype FF0 is assigned to TIFF) Frequently used by scanners, TIFF is a common interchange format for graphics images on the Mac and PC (particularly DTP and Windows). It provides an arbitrary number of bits per pixel, size etc using a numeric tag scheme allowing new information to be introduced without upsetting existing programs. The format may be compressed (in 5 different ways at present). Details from Aldus UK, MicroSoft, Hewlett Packard... + Recognised by file type FF0 + Recognised by "II" plus the 16 bit number 42 at the start of the file for little endian machines (ix86, ARM, VAX...) + Recognised by "MM" plus the 16 bit number 42 at the start of the file for big endian machines (M680x0...) + Can read PackBits images and LZW compressed forms (at least the 3 its seen so far...) - Cannot read predictor compressed LZW images. - So far ChangeFSI has only done 1, 4, 8 and 24 bit images. It can't read "planar" images or CCITT compressed forms. - Some TIFF images have incorrect pixel sizes: use -nosize if this is true. If no pixel size is specified, ChangeFSI assumes mode 27 size. + TIFF is a trademark of Aldus Corporation The CompuServe GIF format Used for wide area network transfer of images. It provides an LZW compressed up to 256 colours from 2^24 arbitrary sized image. Details from CompuServe (USA) [or usenet] + Recognised by "GIF8" at the start of the file + LZW compression is efficient even for dithered images + ChangeFSI can decompress LZW quickly - No resolution specified, equal to mode 27 assumed - many low quality images around from PCs - no processing of GIF89a masks The Electronic Arts IFF ILBM format Provides an arbitrary sized image with up to 4096 colours sometimes run length encoded. ChangeFSI understands the generic format and also the special Amiga format for "HAM" and "Half-bright" images. + Recognised by "FORM" as the first four characters and "ILBM" as characters 8 to 11 - Only pixel aspect ratio specified, not its size (and then sometimes incorrectly): use -nosize *and* a size change (a:b) if its wrong - images often small - doesn't understand Amiga "hires" - can't convert HAM pictures directly to monochrome The MicroSoft Windows 3 .BMP format Used by MicroSoft in Windows 3 and PaintBrush for Windows 3. Provides an arbitrary sized image and 1, 4 or 8 bits per pixel. Uncompressed. + Recognised by "BM" as the first two characters - No resolution specified, equal to mode 27 assumed - documentation never seen - 7 files examined and intelligent guesses made! The Digital Research GEM .IMG format Used by GEM (and GEM Paint) on both PC and Atari ST. Provides an arbitrary sized image and number of bits per pixel (though its only usually used with up to 5 bits per pixel) and pixel size. Compressed by run length encoding and line repeats. - Recognised by 00 01 00 08 as the first four bytes ("version 1, header length 8") or by "IMG" as the name of the directory the file is in. - Planar file format slow to read - Palette not specified: ChangeFSI assumes linear shades of grey. You might need to use -invert if the image is a negative - The size of a pixel is specified in microns. The standard RISC OS 90 pixels per inch translates to (1/90*2.54*10,000) microns - 282. (use -info to get information about the scaling, -nosize to stop it) - Documentation from the "ST World" magazine's clinic. An unknown PC .PIC format Used for some VGA demos, the format provides an uncompressed 320 by 200 by 256 colour (from 2^24) VGA screen dump. + Recognised by "AV_VO" as the first five bytes in the file - Documentation never seen - Pixel size assumed the same as MODE 13 (45 pixels per inch). The MacPaint format Provides a 576 by 720 bitmap, run length coded by the Mac's "PackBits" algorithm (repeated bytes). - Recognised by "PNTG" at position 65 in the file. This may only relate to files which have been through a program called "MacFix". Data assumed to start at position 128 in the file. Header ignored. - No resolution specified, equal to mode 25 assumed The Mac PICT2 format (PICT extended version 2) Provides an arbitary size packed picture, run length coded by the Mac's "PackBits" algorithm (repeated bytes). + Recognised by looking for the PICT header at position 514 in the file. The header is 00 11 02 FF 0C 00 FF FE. - Documentation available but mostly useless (it assumes you are about to call QuickDraw routines - "Note: for maximum safety and convenience, let QuickDraw generate and interpret your pictures." Apple fail to describe the PackBits algorithm in Inside Mac...) - PICT is the loose equivalent of RISC OS Draw file format, but without the explicit sizing of objects - for PICT, if there is an object that you don't understand, there's no way of skipping it (whereas for Draw, the size of the object is specified in an object indep. way). Apple present a large table of the sizes of the objects (0000 - FFFF) which is not in ChangeFSI. Consequently, if ChangeFSI finds an object it doesn't know about before the picture, it stops... - Only PackBitsRect (0098) (8bpp) and DirectBitsRect (009A) (24/32 bpp) are allowed. + ChangeFSI tries to skip a Clip (0001) region if it encounters it, since it is hard to get the Mac OS to make PICT files without a clip opcode in them. + size of pixel specified. - Only 3 pictures read - since the format is very complicated (e.g. the size of things change if >250 rows in the picture!) this is no guarentee that anything else will be right. The ZSoft .PCX format Used by PC Paintbrush. Usually a 4 bit per pixel image (CGA, EGA, VGA) but can be 1-8 bits per pixel. - Recognised by 10,[0,2,3,4,5],1 at start of file. Or by name PCX.<foo>. Or by type &697. + Intelligent check for resolution of the DACs on the PC card. Use -info to find out what ChangeFSI thinks it is. + Pixel size information read. You may need to stop the scaling with -nosize, since its often wrong. The RIX Softworks ColoRIX format Used by VGA Paint, image extension .SCE .. .SCX. 4 or 8 bits per pixel. - Recognised by "RIX3" at start of file - Documentation never seen - Only 5 files read: ChangeFSI checks to see if the header is the same as these files and complains otherwise. - No resolution specified, equal to mode 27 assumed The Sun "pixrect" format Used under SunOS and also under X11. Commonly 1 or 8 bits per pixel, but up to 24 bits per pixel can be found (see the Sun NeWS release tape!). + Recognised by &59A55A95 at the start of the file. - No resolution specified, equal to mode 27 assumed - Sun didn't specify the pixel ordering of 24 bit per pixel images: many assume RGB when it was actually BGR. Change byte &17 in the Sun rasterfile between 1 and 3 if you have a problem. The "pbm" 'portable bitmap' file format Used by the "PBM-PLUS" toolkit (mainly Unix) by Jef Poskanzer. 1-24 bits per pixel (more can be specified in the format but ChangeFSI cannot read them). ChangeFSI can only read the "RAWBITS" formats (it can write all of the pbm formats). + Recognised by P4/P5/P6 at start of file. + Writable by ChangeFSI - No resolution specified, equal to mode 27 assumed The UNIX "rle" format Used by a program called "svfb" to save the contents of large frame buffers, checked with four images at 24 bits per pixel. + Recognised by &CC52 at the start of the file. - No resolution specified, equal to mode 27 assumed The TrueVision Targa format Used by TrueVision for Vista boards. Up to 32 bits per pixel. - Recognised by suffix _TGA or _VDA on the name. Or by type &69d. - Only uncompressed formats readable. - Only 8 and 16 bit per pixel formats tested. The "Flexible Image Transport System" (FITS) format Used for astronomical data. Up to 16 bits per pixel component. + Recognised by "SIMPLE" at the start of the file. - Only 8 and 16 bit per pixel component formats tested. - Only two files ever seen! - No resolution specified, equal to mode 27 assumed The Irlam instruments colour scanner format 24 bit per pixel from colour scanner. + Recognised by Irlam 24 at the start of the file. + Writable by ChangeFSI - No resolution specified, equal to mode 27 assumed - may need gamma correction The Irlam instruments YUV 411 colour video format 7 bits Y, up to 7 bits U and V. + Recognised by Irlam YUV 411 at the start of the file - no resolution specified, equal to mode 27 assumed The JPEG 'JFIF' File Interchange Format Up to 24 bits R,G,B, compressed by the JPEG compression system. + Recognised by JFIF at position 6 in the file (you may have to cut headers off files, particularly if they are from Macs). + Often highly compressed + If ChangeFSI$Cache is large enough (bigger than the file), then high speed routines are used to decompress. Otherwise: - ChangeFSI calls a djpeg routine. This can be on the Run$Path, implemented as an Alias (in which case it *must* use WimpTask to start) or found inside ChangeFSI$Dir if all else fails. cjpeg (the compressor) is also available inside ChangeFSI$Dir - you will need to convert the image to P6 format before it can be compressed. Djpeg and cjpeg are by the PD JPEG group. - ... and therefore slow. Needs a lot of space in <Wimp$Scrap>. - no resolution specified, equal to mode 27 assumed The Ronald Alpiar 36 and 48 bit per pixel formats 12 and 16 bits for each of R,G,B, uncompressed + Recognised by ALPIAR12 or ALPIAR16 at start of file + followed by little endian word of X size and word of Y size + followed by r,g,b as little endian half words - no resolution specified, equal to mode 27 assumed The btpc file format Up to 24 bits R,G,B, compressed by the btpc compression system + Recognised by btpc at start of the file + Highly compressed (sometimes more than JPEG) - ChangeFSI calls a (slow) dbtpc routine - no resolution specified, equal to mode 27 assumed >> The following file formats are only recognised by their names. An unknown PC .DSP format Experimentally determined that it holds a 640 by 350 EGA picture at 4 bits per pixel. ChangeFSI "knows" the default EGA palette (from IBM literature). - Recognised by being in a directory "DSP" - Documentation never seen - No resolution specified, equal to mode 27 assumed - Only two examples read(!) The QRT .raw format Output from Steve Koren's public domain ray tracer: arbitrary size in 2^24 colours, uncompressed. Documentation part of QRT. - Recognised by the name ending ".Raw". Or by type &698. - No resolution specified, equal to mode 27 assumed The MTV pic. format Output from Mark Terrence VandeWettering public domain ray tracer arbitrary size in 2^24 colours, uncompressed. Documentation part of MTV. Also used by "RayShade". - Recognised by being in a directory "Pic.". Or by type &699. - No resolution specified, equal to mode 27 assumed The RT image. format Output from "RT", a private ray tracer by Brian D Watt(?) arbitrary size in 2^24 colours, run length encoded. - Recognised by being in a directory "Image." - No resolution specified, equal to mode 27 assumed For many of these formats, especially the uncompressed ones, setting the variable "ChangeFSI$Cache" to the number of bytes of temporary memory you wish the program to use will speed up reading the information. The default is 49152 bytes. For example "*set ChangeFSI$Cache 80k". For those worried about speed, the program will go faster if: - you use -noscale and keep 1:1 ratios (don't specify them) (although -nosize and 1:1 or 1:2 ratios are quick, too) - you don't need sharpening/smoothing, histogram equalisation, range expansion - you use monochrome (e.g. 25, 26, 27 and 27t) modes additionally you can disable dithering (-nodither) especially when reading monochrome source. You can avoid the program changing mode by putting -nomode on the command line. Very large output files can be built strips at a time and sent directly to disk using the parameter "-max" e.g: ChangeFSI <in> <out> 28 -max512K will convert the file with a maximum of 512KBytes held in memory. Options 25t, -rotate and -vflip don't work when this is being done. Work will be done on other formats when and if both image and documentation arrive at Acorn. Adding a new format is a matter of (a) putting in automatic recognition of the format at the start of the program (b) reading the size of the image and the colour palette mapping [in the next section of the program] (c) writing a "read pixel row" element inside PROCiprow (d) providing an entry in PROCrewind. If you write a new format interface, please send it to me so that it will be included in later versions. ChangeFSI has already got code for dealing with images with 1, 2, 4 and 8 bits per pixel packed into bytes and for images with up to 8 bit planes. There is support code for LZW decompression and LZW decoding. As a special feature, ChangeFSI will also write out 256 grey level files (alter rwt, gwt and bwt to get 256 level colour separations) in AIM format. This is file type 4 with bytes representing the grey level. Use the = operation to restrict the picture to 256x256y, otherwise it will be the same size as the input. Specify "aim" as the mode string to do this. For portability to other machines, ChangeFSI can write out files in "pbm" format. There are 3 types of format "black/white" (pbm), "grey" (pgm) and "colour" (ppm) with pure ASCII and binary encodings of each: ASCII Binary p1 "black/white" (like mode 18) p4 (big endian bytes!) p2 "grey" (like mode 20t) p5 p3 "true colour" p6 Files can be read with Jef Poskanzer's portable toolkit on other machines. The p2 format is easily convertible by programmers; it consists of: P2 # comment line xsize ysize maximum_value pixel_value <whitespace> pixel_value where all the numbers are in decimal (ASCII). 0 means black, maximum_value (= 15) means white. The p3 format is similar with r, g, b triples for each pixel value. The number of bits per component (default 8) can be set from the command line with, for example, "p3,4" for 4 bits per component. As a special packed output format, "P15" has been implemented. Output is binary pixel values, 5 bits per component, little endian RGB order packed into 16 bits. Header information as the other p formats. Files can be written as new RISC OS sprites using S16 and S32 as the formats. The x and y pixels per inch are given as a comma seperated list - a 16 bit mode 12 equivalent is S16,90,45 while a 32 bit mode 28 equivalent is S32,90,90. Files can be written as JPEG images using JPEG (colour) or JPEGMONO. A quality in the range 1 to 100 must be added to the end (e.g. JPEG75 or JPEGMONO50). ChangeFSI can write Irlam format images (somewhat slower than p6 images...). Output summary ============== # cols Colour Cube Bits used Consistent Hue Desktop Palette Mode&Suffix 2^24 Y 24 Y - S32, p3 or p6 or Irlam or JPEG 2^21 Y 21 Y - p6,7 2^18 Y 18 Y - p6,6 2^15 Y 15 Y - S16, p15 or p6,5 2^12 Y 12 Y - p6,4 512 Y 9 Y - p6,3 256 grey n 8 Y - aim or JPEGMONO 256 grey n 8 Y - 28d 256 Y 8 Y Y 28 256 Y 8 Y Y 28r 16 grey n 4 Y n 27t 16 grey n 4 Y n p2 or p5 8 grey n 3 Y Y 27 16 ? 4 ? Y 27r 16 Y 3 Y can be 27d 4 grey n 2 Y Y 26 4 n 2 n n 26c 4 n 2 n n 26r 2 (black/white) n 1 Y Y 25 2 (black/white) n 1 Y Y 25c/d/t 2 (black/white) n 1 Y Y p1 or p4 ChangeFSI can be used from both the desktop front end and from the command line. It can also be used as a BASIC library function: LIBRARY"<ChangeFSI$Dir>.ChangeFSI" gives a new function, FNChangeFSI to the BASIC programmer. This function takes: A$: a command line argument spritearea%: an address or -1 for the spritearea built by ChangeFSI workspace%: an address or -1 for ChangeFSI's other workspace worklimit%: an address (unused if workspace%<0) fast%: TRUE for MODE 0 selection It produces an error (to whatever error handler is present) if it fails. If spritearea% is <0 it will save the sprite to the file given in the command string, otherwise it won't. The function FNChangeFSIVersion returns the version string of the library (in the info box of the desktop application). Command Summary =============== -info give details -hist don't process image, but display histogram of it instead -hflip horizontally flip the image -vflip vertically flip the image -rotate rotate the image by +90 degrees (i.e. anti-clockwise) -rotate- rotate the image by -90 degrees (i.e. clockwise) -max set the maximum size of the image before disc is used -noscale disable automatic pixel size correction -nosize disable automatic pixel size correction for input pixels only -nodither disable dithering -nomode don't change to mode 0 while processing the picture -invert invert colour range of image -range expand input's dynamic range to full scale -equal histogram equalisation -sharpen digitally sharpen the picture -smooth digitally smooth the picture -gamma set gamma correction -black correct for black ink spot size -red change red weight for deriving monochrome luminance -green change green weight for deriving monochrome luminance -blue change blue weight for deriving monochrome luminance -brighten horrendous hack to slightly brighten images: may convert hues close to white to white. (It causes the output range 0..15 to be considered as 0..(15/16) instead of 0..(15/15)). Mode Suffixes ============= c 1 bit modes: use clustered dithering with 4x4 cell 2 bit modes: use the four colours "black", "cyan", "magenta" and "yellow" d 1 bit modes: use clustered dithering with 2x2 cell 4 bit modes: use 1 bit red, 1 bit green, 1 bit blue 8 bit modes: use 256 level grey scale t 1 bit modes: use clustered dithering with 3x3 cell 4 bit modes: 16 level grey scale r 2 bit modes: Devious colour matching algorithm 4 bit modes: Devious colour matching algorithm 8 bit modes: Devious colour matching algorithm -no suffix- 1 bit modes: b/w dispersed dot dithering 2 bit modes: 4 level grey scale 4 bit modes: 8 level grey scale 8 bit modes: John Bowler's colour matching algorithm (defaults to 'r' mode if not VIDC1 compatible) Colour matching is done in r, g, b space: the minimum distance between colours is the square root of: delta_r^2*rmatchwt+delta_g^2*gmatchwt+delta_b^2*bmatchwt ChangeFSI has hard wired weights of 3, 10, 1 respectively for its colour matching algorithms. John Bowler's algorithm (default for RISC OS 8 bit modes) although somewhat slower, is fast enough to have replaced all the previous methods [ASIDE it gives pictures at least as good as "p" mode in pre Aug 91 ChangeFSI's]. The Devious colour matching algorithm is recommended, and is used automatically if the 8 bit per pixel mode does not have the default RISC OS colour set. [NOTE: thanks are due to Steve Green and the BBC and Irlam Instruments for the intermediate systems that led to John Bowler's and the Devious algorithms: until Aug 91 ChangeFSI used their work for its "Precise Matching" algorithm. It no longer uses any of their code, but owes a debt for overall approach. A small thank you to Spencer Thomas for putting me on the track which led to the Devious colour matching system's algorithm.] Further information on dithering can be found in "Digital Halftoning" by Robert Ulichney published by the MIT Press, ISBN 0-262-21009-6. A book which would have been useful when starting writing the program, rather than after it was nearly finished! Histogram equalisation is in "Algorithms for Graphics and Image Processing" by Theo Pavlidis published by Computer Science Press, ISBN 0-914894-65-X.
00000000 20 20 20 20 20 43 68 61 6e 67 65 46 53 49 3a 20 | ChangeFSI: | 00000010 43 6f 6c 6f 75 72 20 49 6d 61 67 65 20 50 72 6f |Colour Image Pro| 00000020 63 65 73 73 69 6e 67 20 55 73 69 6e 67 20 74 68 |cessing Using th| 00000030 65 20 32 35 36 20 63 6f 6c 6f 75 72 20 6d 6f 64 |e 256 colour mod| 00000040 65 73 0a 0a 41 72 63 68 69 6d 65 64 65 73 20 63 |es..Archimedes c| 00000050 6f 6d 70 75 74 65 72 73 20 68 61 76 65 20 66 75 |omputers have fu| 00000060 6c 6c 20 63 6f 6c 6f 75 72 20 64 69 73 70 6c 61 |ll colour displa| 00000070 79 20 63 61 70 61 62 69 6c 69 74 69 65 73 20 62 |y capabilities b| 00000080 75 69 6c 74 20 69 6e 74 6f 20 74 68 65 6d 20 61 |uilt into them a| 00000090 73 0a 73 74 61 6e 64 61 72 64 2e 20 48 6f 77 65 |s.standard. Howe| 000000a0 76 65 72 2c 20 63 6f 6d 70 61 72 65 64 20 77 69 |ver, compared wi| 000000b0 74 68 20 74 68 65 20 68 61 72 64 77 61 72 65 20 |th the hardware | 000000c0 66 6f 75 6e 64 20 69 6e 20 6c 61 72 67 65 72 20 |found in larger | 000000d0 77 6f 72 6b 73 74 61 74 69 6f 6e 73 2c 20 74 68 |workstations, th| 000000e0 65 0a 66 61 63 69 6c 69 74 69 65 73 20 70 72 6f |e.facilities pro| 000000f0 76 69 64 65 64 20 68 61 76 65 20 62 65 65 6e 20 |vided have been | 00000100 63 61 72 65 66 75 6c 6c 79 20 72 65 64 75 63 65 |carefully reduce| 00000110 64 20 28 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d |d (in order to m| 00000120 61 6b 65 20 74 68 65 6d 20 63 68 65 61 70 0a 65 |ake them cheap.e| 00000130 6e 6f 75 67 68 20 74 6f 20 66 69 74 20 61 6c 6c |nough to fit all| 00000140 20 74 68 65 20 74 69 6d 65 29 2e 20 53 6f 20 74 | the time). So t| 00000150 68 65 20 70 72 65 63 69 73 69 6f 6e 20 6f 66 20 |he precision of | 00000160 74 68 65 20 64 69 67 69 74 61 6c 20 74 6f 20 61 |the digital to a| 00000170 6e 61 6c 6f 67 75 65 0a 63 6f 6e 76 65 72 74 65 |nalogue.converte| 00000180 72 73 20 69 73 20 6f 6e 6c 79 20 34 20 62 69 74 |rs is only 4 bit| 00000190 73 20 28 69 6e 73 74 65 61 64 20 6f 66 20 38 29 |s (instead of 8)| 000001a0 20 61 6e 64 20 74 68 65 20 63 6f 6c 6f 75 72 20 | and the colour | 000001b0 70 61 6c 65 74 74 65 20 6f 6e 6c 79 20 68 61 73 |palette only has| 000001c0 20 31 36 0a 65 6e 74 72 69 65 73 20 28 69 6e 73 | 16.entries (ins| 000001d0 74 65 61 64 20 6f 66 20 32 35 36 29 2e 0a 0a 54 |tead of 256)...T| 000001e0 68 65 20 56 49 44 43 20 32 35 36 20 63 6f 6c 6f |he VIDC 256 colo| 000001f0 75 72 20 6d 6f 64 65 0a 3d 3d 3d 3d 3d 3d 3d 3d |ur mode.========| 00000200 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |================| 00000210 3d 0a 0a 48 61 73 20 34 20 64 69 72 65 63 74 20 |=..Has 4 direct | 00000220 62 69 74 73 20 28 74 6f 70 20 32 20 67 72 65 65 |bits (top 2 gree| 00000230 6e 2c 20 74 6f 70 20 72 65 64 20 61 6e 64 20 62 |n, top red and b| 00000240 6c 75 65 29 20 70 6c 75 73 20 34 20 70 61 6c 65 |lue) plus 4 pale| 00000250 74 74 65 20 6c 6f 6f 6b 20 75 70 20 62 69 74 73 |tte look up bits| 00000260 0a 77 68 69 63 68 20 61 66 66 65 63 74 20 74 68 |.which affect th| 00000270 65 20 72 65 6d 61 69 6e 69 6e 67 20 44 41 43 20 |e remaining DAC | 00000280 62 69 74 73 2e 20 54 68 69 73 20 74 68 65 72 65 |bits. This there| 00000290 66 6f 72 65 20 67 69 76 65 73 20 61 20 63 68 6f |fore gives a cho| 000002a0 69 63 65 20 6f 66 20 32 35 36 0a 63 6f 6c 6f 75 |ice of 256.colou| 000002b0 72 73 20 66 72 6f 6d 20 34 30 39 36 2c 20 62 75 |rs from 4096, bu| 000002c0 74 20 74 68 65 20 63 68 6f 69 63 65 20 69 73 20 |t the choice is | 000002d0 6e 6f 74 20 61 20 66 72 65 65 20 6f 6e 65 20 69 |not a free one i| 000002e0 6e 20 74 68 61 74 20 74 68 65 20 34 20 64 69 72 |n that the 4 dir| 000002f0 65 63 74 20 62 69 74 73 0a 61 72 65 20 61 6c 77 |ect bits.are alw| 00000300 61 79 73 20 63 6f 6e 6e 65 63 74 65 64 3a 20 74 |ays connected: t| 00000310 68 69 73 20 6c 65 61 76 65 73 20 6f 6e 6c 79 20 |his leaves only | 00000320 32 35 36 20 73 65 6c 65 63 74 69 6f 6e 73 20 61 |256 selections a| 00000330 76 61 69 6c 61 62 6c 65 20 66 72 6f 6d 20 74 68 |vailable from th| 00000340 65 20 34 30 39 36 0a 63 6f 6c 6f 75 72 20 72 61 |e 4096.colour ra| 00000350 6e 67 65 2e 20 54 6f 20 72 65 70 65 61 74 3a 20 |nge. To repeat: | 00000360 74 68 65 72 65 20 61 72 65 20 32 35 36 20 73 69 |there are 256 si| 00000370 6d 75 6c 74 61 6e 65 6f 75 73 20 63 6f 6c 6f 75 |multaneous colou| 00000380 72 73 20 69 6e 20 61 20 73 65 6c 65 63 74 69 6f |rs in a selectio| 00000390 6e 20 6f 75 74 0a 6f 66 20 34 30 39 36 20 63 6f |n out.of 4096 co| 000003a0 6c 6f 75 72 73 2c 20 77 68 65 72 65 20 74 68 65 |lours, where the| 000003b0 72 65 20 61 72 65 20 6f 6e 6c 79 20 32 35 36 20 |re are only 256 | 000003c0 22 6c 65 67 61 6c 22 20 73 65 6c 65 63 74 69 6f |"legal" selectio| 000003d0 6e 73 2e 20 54 68 65 20 6e 65 77 20 56 49 44 43 |ns. The new VIDC| 000003e0 32 30 0a 61 6c 6c 6f 77 73 20 61 6e 20 61 72 62 |20.allows an arb| 000003f0 69 74 72 61 72 79 20 73 65 6c 65 63 74 69 6f 6e |itrary selection| 00000400 20 6f 66 20 63 6f 6c 6f 75 72 73 2c 20 62 75 74 | of colours, but| 00000410 20 74 68 65 20 64 65 66 61 75 6c 74 20 73 69 74 | the default sit| 00000420 75 61 74 69 6f 6e 20 69 73 0a 69 64 65 6e 74 69 |uation is.identi| 00000430 63 61 6c 2e 0a 0a 54 68 65 72 65 20 61 72 65 20 |cal...There are | 00000440 22 6f 70 74 69 6d 61 6c 22 20 73 65 6c 65 63 74 |"optimal" select| 00000450 69 6f 6e 73 2e 20 41 6e 20 6f 70 74 69 6d 61 6c |ions. An optimal| 00000460 20 73 65 6c 65 63 74 69 6f 6e 20 69 73 20 6f 6e | selection is on| 00000470 65 20 77 68 69 63 68 20 63 6f 76 65 72 73 20 74 |e which covers t| 00000480 68 65 0a 65 6e 74 69 72 65 20 52 2c 20 47 2c 20 |he.entire R, G, | 00000490 42 20 63 6f 6c 6f 75 72 20 63 75 62 65 20 28 69 |B colour cube (i| 000004a0 2e 65 2e 20 30 2d 66 75 6c 6c 73 63 61 6c 65 20 |.e. 0-fullscale | 000004b0 66 6f 72 20 65 61 63 68 20 6f 66 20 74 68 65 20 |for each of the | 000004c0 63 6f 6c 6f 75 72 73 29 20 61 6e 64 20 63 61 6e |colours) and can| 000004d0 0a 74 68 75 73 20 62 65 20 64 69 74 68 65 72 65 |.thus be dithere| 000004e0 64 20 74 6f 20 66 72 6f 6d 20 61 6e 79 20 70 69 |d to from any pi| 000004f0 63 74 75 72 65 20 28 69 66 20 6f 6e 65 20 63 6f |cture (if one co| 00000500 6e 73 69 64 65 72 73 20 70 69 63 74 75 72 65 27 |nsiders picture'| 00000510 73 20 63 6f 6c 6f 75 72 20 72 61 6e 67 65 0a 61 |s colour range.a| 00000520 73 20 61 6e 20 61 72 62 69 74 72 61 72 79 20 76 |s an arbitrary v| 00000530 6f 6c 75 6d 65 20 69 6e 20 74 68 65 20 63 6f 6c |olume in the col| 00000540 6f 75 72 20 63 75 62 65 2c 20 74 68 65 6e 20 79 |our cube, then y| 00000550 6f 75 20 63 61 6e 20 64 69 74 68 65 72 2f 64 69 |ou can dither/di| 00000560 73 70 6c 61 79 20 61 0a 70 69 63 74 75 72 65 20 |splay a.picture | 00000570 61 63 63 75 72 61 74 65 6c 79 20 69 66 20 61 6e |accurately if an| 00000580 64 20 6f 6e 6c 79 20 69 66 20 74 68 65 20 76 6f |d only if the vo| 00000590 6c 75 6d 65 20 63 6f 76 65 72 65 64 20 62 79 20 |lume covered by | 000005a0 74 68 65 20 61 76 61 69 6c 61 62 6c 65 20 63 6f |the available co| 000005b0 6c 6f 75 72 73 0a 65 6e 63 6c 6f 73 65 73 20 74 |lours.encloses t| 000005c0 68 65 20 70 69 63 74 75 72 65 27 73 29 2e 20 54 |he picture's). T| 000005d0 68 65 20 6f 70 74 69 6d 61 6c 20 73 65 6c 65 63 |he optimal selec| 000005e0 74 69 6f 6e 20 75 73 65 64 20 66 6f 72 20 74 68 |tion used for th| 000005f0 65 20 52 49 53 43 20 4f 53 20 32 35 36 20 63 6f |e RISC OS 256 co| 00000600 6c 6f 75 72 0a 6d 6f 64 65 20 70 61 6c 65 74 74 |lour.mode palett| 00000610 65 20 63 6f 6e 74 61 69 6e 73 20 32 20 6d 6f 73 |e contains 2 mos| 00000620 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 |t significant bi| 00000630 74 73 20 6f 66 20 52 65 64 2c 20 32 20 6d 6f 73 |ts of Red, 2 mos| 00000640 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 |t significant bi| 00000650 74 73 0a 6f 66 20 47 72 65 65 6e 20 61 6e 64 20 |ts.of Green and | 00000660 32 20 6d 6f 73 74 20 73 69 67 6e 69 66 69 63 61 |2 most significa| 00000670 6e 74 20 62 69 74 73 20 6f 66 20 42 6c 75 65 2c |nt bits of Blue,| 00000680 20 77 69 74 68 20 74 68 65 20 6c 61 73 74 20 32 | with the last 2| 00000690 20 62 69 74 73 20 63 6f 6e 74 72 6f 6c 6c 69 6e | bits controllin| 000006a0 67 0a 74 68 65 20 32 20 6c 65 61 73 74 20 73 69 |g.the 2 least si| 000006b0 67 6e 69 66 69 63 61 6e 74 20 62 69 74 73 20 69 |gnificant bits i| 000006c0 6e 20 70 61 72 61 6c 6c 65 6c 20 28 22 61 64 64 |n parallel ("add| 000006d0 73 20 77 68 69 74 65 22 20 74 6f 20 61 20 63 6f |s white" to a co| 000006e0 6c 6f 75 72 29 2e 20 54 68 75 73 20 70 65 61 6b |lour). Thus peak| 000006f0 0a 52 2c 20 47 2c 20 42 20 69 73 20 6f 62 74 61 |.R, G, B is obta| 00000700 69 6e 65 64 20 28 77 69 74 68 6f 75 74 20 73 69 |ined (without si| 00000710 64 65 20 65 66 66 65 63 74 73 20 69 66 20 76 61 |de effects if va| 00000720 72 69 65 64 20 73 69 6d 75 6c 74 61 6e 65 6f 75 |ried simultaneou| 00000730 73 6c 79 2c 20 77 69 74 68 20 61 20 73 69 64 65 |sly, with a side| 00000740 0a 65 66 66 65 63 74 20 69 66 20 70 65 61 6b 20 |.effect if peak | 00000750 52 20 28 73 61 79 29 20 61 6c 6f 6e 65 20 69 73 |R (say) alone is| 00000760 20 72 65 71 75 69 72 65 64 29 2e 20 41 20 63 6f | required). A co| 00000770 72 72 65 63 74 6c 79 20 64 65 73 69 67 6e 65 64 |rrectly designed| 00000780 20 65 72 72 6f 72 20 64 69 66 66 75 73 69 6f 6e | error diffusion| 00000790 0a 64 69 74 68 65 72 20 61 6c 67 6f 72 69 74 68 |.dither algorith| 000007a0 6d 20 63 61 6e 20 64 69 73 70 6c 61 79 20 70 69 |m can display pi| 000007b0 63 74 75 72 65 73 20 77 69 74 68 20 76 65 72 79 |ctures with very| 000007c0 20 68 69 67 68 20 66 69 64 65 6c 69 74 79 2e 20 | high fidelity. | 000007d0 5b 6e 6f 74 65 20 74 68 61 74 0a 64 69 74 68 65 |[note that.dithe| 000007e0 72 69 6e 67 20 61 6c 6c 20 70 69 63 74 75 72 65 |ring all picture| 000007f0 73 20 77 69 74 68 20 61 20 73 69 6e 67 6c 65 20 |s with a single | 00000800 70 61 6c 65 74 74 65 20 70 65 72 6d 69 74 73 20 |palette permits | 00000810 74 68 65 69 72 20 64 69 73 70 6c 61 79 0a 73 69 |their display.si| 00000820 6d 75 6c 74 61 6e 65 6f 75 73 6c 79 20 6f 6e 20 |multaneously on | 00000830 74 68 65 20 73 63 72 65 65 6e 2c 20 61 6c 73 6f |the screen, also| 00000840 20 6e 6f 74 65 20 74 68 61 74 20 64 69 74 68 65 | note that dithe| 00000850 72 69 6e 67 20 74 6f 20 61 20 66 69 78 65 64 20 |ring to a fixed | 00000860 70 61 6c 65 74 74 65 20 69 73 0a 6d 75 63 68 20 |palette is.much | 00000870 71 75 69 63 6b 65 72 20 74 68 61 6e 20 73 65 6c |quicker than sel| 00000880 65 63 74 69 6e 67 20 61 20 70 61 6c 65 74 74 65 |ecting a palette| 00000890 20 66 69 72 73 74 21 5d 0a 0a 4f 6e 65 20 63 61 | first!]..One ca| 000008a0 6e 20 61 6c 73 6f 20 70 72 6f 67 72 61 6d 20 74 |n also program t| 000008b0 68 65 20 73 79 73 74 65 6d 20 66 6f 72 20 61 20 |he system for a | 000008c0 6c 61 72 67 65 20 6e 75 6d 62 65 72 20 6f 66 20 |large number of | 000008d0 6e 20 62 69 74 73 20 70 65 72 20 63 6f 6c 6f 75 |n bits per colou| 000008e0 72 20 6d 6f 64 65 73 2c 0a 77 69 74 68 20 74 68 |r modes,.with th| 000008f0 65 20 6e 20 62 69 74 73 20 73 74 61 72 74 69 6e |e n bits startin| 00000900 67 20 61 74 20 74 68 65 20 6d 6f 73 74 20 73 69 |g at the most si| 00000910 67 6e 69 66 69 63 61 6e 74 20 65 6e 64 20 6f 66 |gnificant end of| 00000920 20 74 68 65 20 63 6f 6c 6f 75 72 20 72 61 6e 67 | the colour rang| 00000930 65 2e 20 46 6f 72 0a 65 78 61 6d 70 6c 65 20 34 |e. For.example 4| 00000940 20 62 69 74 73 20 6f 66 20 67 72 65 65 6e 2c 20 | bits of green, | 00000950 33 20 62 69 74 73 20 6f 66 20 72 65 64 20 61 6e |3 bits of red an| 00000960 64 20 31 20 62 69 74 20 6f 66 20 62 6c 75 65 2e |d 1 bit of blue.| 00000970 20 54 68 65 20 63 6f 6e 73 74 72 61 69 6e 74 73 | The constraints| 00000980 20 61 72 65 3a 0a 20 20 20 20 20 32 20 3c 3d 20 | are:. 2 <= | 00000990 6e 47 72 65 65 6e 20 3c 3d 20 34 0a 20 20 20 20 |nGreen <= 4. | 000009a0 20 31 20 3c 3d 20 6e 52 65 64 20 20 20 3c 3d 20 | 1 <= nRed <= | 000009b0 34 0a 20 20 20 20 20 31 20 3c 3d 20 6e 42 6c 75 |4. 1 <= nBlu| 000009c0 65 20 20 3c 3d 20 34 0a 20 20 20 20 20 28 61 6e |e <= 4. (an| 000009d0 64 20 6e 52 65 64 2b 6e 42 6c 75 65 2b 6e 47 72 |d nRed+nBlue+nGr| 000009e0 65 65 6e 3d 38 29 0a 4d 6f 64 65 73 20 6c 69 6b |een=8).Modes lik| 000009f0 65 20 74 68 65 73 65 20 61 72 65 20 6f 66 74 65 |e these are ofte| 00000a00 6e 20 75 73 65 66 75 6c 20 66 6f 72 20 72 65 61 |n useful for rea| 00000a10 6c 20 74 69 6d 65 20 73 6f 6c 69 64 20 6d 6f 64 |l time solid mod| 00000a20 65 6c 6c 69 6e 67 20 28 77 68 65 72 65 20 74 68 |elling (where th| 00000a30 65 0a 65 78 70 65 6e 73 65 20 6f 66 20 64 69 74 |e.expense of dit| 00000a40 68 65 72 69 6e 67 20 77 69 74 68 20 65 72 72 6f |hering with erro| 00000a50 72 20 64 69 66 66 75 73 69 6f 6e 20 28 63 69 72 |r diffusion (cir| 00000a60 63 61 20 31 30 30 20 63 79 63 6c 65 73 20 70 65 |ca 100 cycles pe| 00000a70 72 20 70 69 78 65 6c 29 20 63 61 6e 6e 6f 74 0a |r pixel) cannot.| 00000a80 62 65 20 61 66 66 6f 72 64 65 64 29 2e 20 54 68 |be afforded). Th| 00000a90 65 73 65 20 73 65 6c 65 63 74 69 6f 6e 73 20 61 |ese selections a| 00000aa0 72 65 20 6e 6f 6e 2d 6f 70 74 69 6d 61 6c 3a 20 |re non-optimal: | 00000ab0 74 68 65 20 63 6f 6c 6f 75 72 20 63 75 62 65 20 |the colour cube | 00000ac0 69 73 20 6e 6f 74 0a 63 6f 6d 70 6c 65 74 65 6c |is not.completel| 00000ad0 79 20 73 70 61 6e 6e 65 64 2e 0a 0a 44 69 73 70 |y spanned...Disp| 00000ae0 6c 61 79 69 6e 67 20 41 20 50 69 63 74 75 72 65 |laying A Picture| 00000af0 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |.===============| 00000b00 3d 3d 3d 3d 3d 0a 0a 53 69 6e 63 65 20 61 20 63 |=====..Since a c| 00000b10 6f 6c 6f 75 72 20 69 6e 20 74 68 65 20 32 35 36 |olour in the 256| 00000b20 20 63 6f 6c 6f 75 72 20 6d 6f 64 65 20 63 61 6e | colour mode can| 00000b30 20 62 65 20 73 75 63 68 20 61 20 63 6f 6d 70 6c | be such a compl| 00000b40 69 63 61 74 65 64 20 74 68 69 6e 67 2c 20 77 69 |icated thing, wi| 00000b50 74 68 0a 76 61 72 79 69 6e 67 20 63 61 70 61 62 |th.varying capab| 00000b60 69 6c 69 74 79 20 6f 66 20 73 70 61 6e 6e 69 6e |ility of spannin| 00000b70 67 20 74 68 65 20 63 6f 6c 6f 75 72 20 63 75 62 |g the colour cub| 00000b80 65 20 61 6e 64 20 61 6e 20 75 6e 6b 6e 6f 77 6e |e and an unknown| 00000b90 20 61 63 63 75 72 61 63 79 2c 20 74 68 65 72 65 | accuracy, there| 00000ba0 0a 69 73 20 61 20 52 49 53 43 20 4f 53 20 73 74 |.is a RISC OS st| 00000bb0 61 6e 64 61 72 64 20 77 61 79 20 6f 66 20 73 70 |andard way of sp| 00000bc0 65 63 69 66 79 69 6e 67 20 61 20 63 6f 6c 6f 75 |ecifying a colou| 00000bd0 72 20 79 6f 75 20 77 69 73 68 20 74 6f 20 64 72 |r you wish to dr| 00000be0 61 77 20 77 69 74 68 20 75 73 69 6e 67 20 38 0a |aw with using 8.| 00000bf0 62 69 74 73 20 66 6f 72 20 52 2c 20 47 20 61 6e |bits for R, G an| 00000c00 64 20 42 20 63 6f 6d 70 6f 6e 65 6e 74 73 2e 20 |d B components. | 00000c10 41 20 63 61 6c 6c 20 74 6f 20 74 68 65 20 6f 70 |A call to the op| 00000c20 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 63 |erating system c| 00000c30 6f 6e 76 65 72 74 73 20 74 68 69 73 20 74 6f 0a |onverts this to.| 00000c40 74 68 65 20 6e 65 61 72 65 73 74 20 63 6f 6c 6f |the nearest colo| 00000c50 75 72 20 61 6e 64 20 6e 65 77 20 6f 62 6a 65 63 |ur and new objec| 00000c60 74 73 20 63 61 6e 20 62 65 20 64 72 61 77 6e 2e |ts can be drawn.| 00000c70 0a 0a 57 68 65 72 65 20 74 68 65 20 6f 62 6a 65 |..Where the obje| 00000c80 63 74 20 74 6f 20 62 65 20 64 72 61 77 6e 20 69 |ct to be drawn i| 00000c90 73 20 61 20 70 72 65 76 69 6f 75 73 6c 79 20 67 |s a previously g| 00000ca0 65 6e 65 72 61 74 65 64 20 70 69 63 74 75 72 65 |enerated picture| 00000cb0 2c 20 74 68 65 20 6d 6f 64 75 6c 65 73 0a 22 53 |, the modules."S| 00000cc0 70 72 69 74 65 45 78 74 65 6e 64 22 20 28 69 6e |priteExtend" (in| 00000cd0 20 74 68 65 20 52 4f 4d 29 20 61 6e 64 20 22 43 | the ROM) and "C| 00000ce0 6f 6c 6f 75 72 54 72 61 6e 73 22 20 28 69 6e 20 |olourTrans" (in | 00000cf0 74 68 65 20 21 53 79 73 74 65 6d 20 64 69 72 65 |the !System dire| 00000d00 63 74 6f 72 79 29 20 69 6e 0a 52 49 53 43 20 4f |ctory) in.RISC O| 00000d10 53 20 70 72 6f 76 69 64 65 20 73 6f 6d 65 20 63 |S provide some c| 00000d20 61 70 61 62 69 6c 69 74 65 73 20 66 6f 72 20 64 |apabilites for d| 00000d30 69 73 70 6c 61 79 69 6e 67 20 70 69 63 74 75 72 |isplaying pictur| 00000d40 65 73 20 69 6e 20 64 69 66 66 65 72 65 6e 74 20 |es in different | 00000d50 73 63 72 65 65 6e 0a 6d 6f 64 65 73 2e 20 43 6f |screen.modes. Co| 00000d60 6c 6f 75 72 54 72 61 6e 73 20 63 61 6e 20 6c 6f |lourTrans can lo| 00000d70 6f 6b 20 61 74 20 74 68 65 20 70 61 6c 65 74 74 |ok at the palett| 00000d80 65 20 77 68 69 63 68 20 61 20 73 70 72 69 74 65 |e which a sprite| 00000d90 20 75 73 65 73 20 61 6e 64 20 72 65 74 75 72 6e | uses and return| 00000da0 20 61 0a 6c 69 73 74 20 6f 66 20 74 68 65 20 65 | a.list of the e| 00000db0 71 75 69 76 61 6c 65 6e 74 20 27 63 6c 6f 73 65 |quivalent 'close| 00000dc0 73 74 27 20 63 6f 6c 6f 75 72 73 20 69 6e 20 74 |st' colours in t| 00000dd0 68 65 20 63 75 72 72 65 6e 74 20 73 63 72 65 65 |he current scree| 00000de0 6e 20 6d 6f 64 65 2e 0a 53 70 72 69 74 65 45 78 |n mode..SpriteEx| 00000df0 74 65 6e 64 20 63 61 6e 20 70 61 69 6e 74 20 73 |tend can paint s| 00000e00 70 72 69 74 65 73 20 75 73 69 6e 67 20 74 68 65 |prites using the| 00000e10 20 6c 69 73 74 20 6f 66 20 65 71 75 69 76 61 6c | list of equival| 00000e20 65 6e 74 20 63 6f 6c 6f 75 72 73 20 61 6e 64 20 |ent colours and | 00000e30 63 61 6e 0a 63 68 61 6e 67 65 20 74 68 65 20 73 |can.change the s| 00000e40 69 7a 65 20 6f 66 20 74 68 65 20 69 6d 61 67 65 |ize of the image| 00000e50 20 69 6e 74 6f 20 74 68 65 20 62 61 72 67 61 69 | into the bargai| 00000e60 6e 2e 20 54 68 69 73 20 69 73 20 61 6c 6c 20 76 |n. This is all v| 00000e70 65 72 79 20 77 65 6c 6c 20 66 6f 72 20 73 69 6d |ery well for sim| 00000e80 70 6c 65 0a 70 69 63 74 75 72 65 73 20 6f 72 20 |ple.pictures or | 00000e90 70 69 63 74 75 72 65 73 20 63 72 65 61 74 65 64 |pictures created| 00000ea0 20 64 69 72 65 63 74 6c 79 20 66 6f 72 20 61 20 | directly for a | 00000eb0 70 61 72 74 69 63 75 6c 61 72 20 6d 6f 64 65 2c |particular mode,| 00000ec0 20 62 75 74 20 77 68 61 74 20 68 61 70 70 65 6e | but what happen| 00000ed0 73 0a 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 |s.for more detai| 00000ee0 6c 65 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 |led information | 00000ef0 6f 72 20 70 69 63 74 75 72 65 73 20 66 72 6f 6d |or pictures from| 00000f00 20 6f 74 68 65 72 20 73 6f 75 72 63 65 73 20 77 | other sources w| 00000f10 69 74 68 20 72 65 73 6f 6c 75 74 69 6f 6e 0a 6e |ith resolution.n| 00000f20 6f 74 20 6d 61 74 63 68 65 64 20 62 79 20 74 68 |ot matched by th| 00000f30 65 20 41 72 63 68 69 6d 65 64 65 73 20 68 61 72 |e Archimedes har| 00000f40 64 77 61 72 65 3f 0a 0a 41 6c 73 6f 20 74 68 65 |dware?..Also the| 00000f50 20 61 62 6f 76 65 20 66 61 63 69 6c 69 74 69 65 | above facilitie| 00000f60 73 20 61 72 65 20 72 61 74 68 65 72 20 62 61 73 |s are rather bas| 00000f70 69 63 3a 20 43 6f 6c 6f 75 72 54 72 61 6e 73 20 |ic: ColourTrans | 00000f80 6d 61 6b 65 73 20 6e 6f 20 65 66 66 6f 72 74 20 |makes no effort | 00000f90 74 6f 20 75 73 65 0a 64 69 74 68 65 72 69 6e 67 |to use.dithering| 00000fa0 20 28 74 68 65 20 70 72 61 63 74 69 73 65 20 6f | (the practise o| 00000fb0 66 20 70 75 74 74 69 6e 67 20 70 61 74 74 65 72 |f putting patter| 00000fc0 6e 73 20 6f 66 20 64 69 66 66 65 72 65 6e 74 20 |ns of different | 00000fd0 63 6f 6c 6f 75 72 65 64 20 70 69 78 65 6c 73 0a |coloured pixels.| 00000fe0 74 6f 67 65 74 68 65 72 20 74 6f 20 72 65 70 72 |together to repr| 00000ff0 65 73 65 6e 74 20 6f 74 68 65 72 20 63 6f 6c 6f |esent other colo| 00001000 75 72 73 29 20 61 6e 64 20 53 70 72 69 74 65 45 |urs) and SpriteE| 00001010 78 74 65 6e 64 20 73 69 6d 70 6c 79 20 64 69 73 |xtend simply dis| 00001020 63 61 72 64 73 0a 61 64 64 69 74 69 6f 6e 61 6c |cards.additional| 00001030 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 66 20 | information if | 00001040 72 65 64 75 63 69 6e 67 20 74 68 65 20 70 69 63 |reducing the pic| 00001050 74 75 72 65 20 69 6e 20 73 69 7a 65 20 28 61 6e |ture in size (an| 00001060 64 20 74 6f 67 65 74 68 65 72 20 74 68 65 79 20 |d together they | 00001070 6d 61 6b 65 0a 6e 6f 20 61 74 74 65 6d 70 74 20 |make.no attempt | 00001080 74 6f 20 65 6e 68 61 6e 63 65 20 74 68 65 20 70 |to enhance the p| 00001090 69 63 74 75 72 65 20 77 68 65 6e 20 6d 61 6b 69 |icture when maki| 000010a0 6e 67 20 69 74 20 6c 61 72 67 65 72 29 2e 20 54 |ng it larger). T| 000010b0 68 65 20 72 65 61 73 6f 6e 20 66 6f 72 20 74 68 |he reason for th| 000010c0 65 73 65 0a 73 68 6f 72 74 63 6f 6d 69 6e 67 73 |ese.shortcomings| 000010d0 20 69 73 20 71 75 69 74 65 20 73 69 6d 70 6c 65 | is quite simple| 000010e0 3a 20 73 70 65 65 64 2e 20 54 68 65 20 61 6c 67 |: speed. The alg| 000010f0 6f 72 69 74 68 6d 20 75 73 65 64 20 69 6e 20 43 |orithm used in C| 00001100 68 61 6e 67 65 46 53 49 20 75 73 65 73 20 31 30 |hangeFSI uses 10| 00001110 35 0a 41 52 4d 20 69 6e 73 74 72 75 63 74 69 6f |5.ARM instructio| 00001120 6e 73 20 70 65 72 20 70 69 78 65 6c 20 2d 20 61 |ns per pixel - a| 00001130 6e 64 20 74 68 61 74 27 73 20 61 70 61 72 74 20 |nd that's apart | 00001140 66 72 6f 6d 20 61 6e 79 20 69 6e 73 74 72 75 63 |from any instruc| 00001150 74 69 6f 6e 73 20 75 73 65 64 20 74 6f 0a 72 65 |tions used to.re| 00001160 61 64 20 74 68 65 20 69 6d 61 67 65 20 69 6e 2c |ad the image in,| 00001170 20 63 68 61 6e 67 65 20 69 74 73 20 73 69 7a 65 | change its size| 00001180 20 61 6e 64 20 77 72 69 74 65 20 74 68 65 20 72 | and write the r| 00001190 65 73 75 6c 74 20 6f 75 74 2e 20 46 6f 72 20 63 |esult out. For c| 000011a0 6f 6d 70 61 72 69 73 6f 6e 2c 0a 74 68 65 20 6e |omparison,.the n| 000011b0 6f 72 6d 61 6c 20 73 70 72 69 74 65 20 70 6c 6f |ormal sprite plo| 000011c0 74 20 74 61 6b 65 73 20 6f 6e 6c 79 20 6f 6e 65 |t takes only one| 000011d0 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 70 65 72 | instruction per| 000011e0 20 70 69 78 65 6c 20 28 34 20 69 6e 73 74 72 75 | pixel (4 instru| 000011f0 63 74 69 6f 6e 73 20 66 6f 72 0a 66 6f 75 72 20 |ctions for.four | 00001200 38 20 62 69 74 20 70 69 78 65 6c 73 29 2e 20 50 |8 bit pixels). P| 00001210 72 6f 63 65 73 73 69 6e 67 20 61 20 4d 4f 44 45 |rocessing a MODE| 00001220 20 31 35 20 70 69 63 74 75 72 65 20 74 68 75 73 | 15 picture thus| 00001230 20 75 73 65 73 20 75 70 20 74 6f 6f 20 6d 61 6e | uses up too man| 00001240 79 20 73 65 63 6f 6e 64 73 0a 6f 66 20 41 52 4d |y seconds.of ARM| 00001250 20 63 70 75 20 74 69 6d 65 20 74 6f 20 69 6d 61 | cpu time to ima| 00001260 67 69 6e 65 20 69 74 20 61 73 20 70 61 72 74 20 |gine it as part | 00001270 6f 66 20 74 68 65 20 69 6e 74 65 72 61 63 74 69 |of the interacti| 00001280 76 65 20 64 65 73 6b 74 6f 70 2e 0a 0a 53 6f 20 |ve desktop...So | 00001290 77 68 61 74 20 64 6f 65 73 20 43 68 61 6e 67 65 |what does Change| 000012a0 46 53 49 20 64 6f 20 74 6f 20 6d 61 6b 65 20 74 |FSI do to make t| 000012b0 68 65 20 73 69 74 75 61 74 69 6f 6e 20 62 65 74 |he situation bet| 000012c0 74 65 72 3f 20 41 6e 64 20 77 68 79 20 64 6f 65 |ter? And why doe| 000012d0 73 20 69 74 20 74 61 6b 65 20 73 6f 0a 6c 6f 6e |s it take so.lon| 000012e0 67 3f 20 4f 6e 65 20 63 61 6e 20 69 6d 6d 65 64 |g? One can immed| 000012f0 69 61 74 65 6c 79 20 64 72 61 77 20 75 70 20 73 |iately draw up s| 00001300 6f 6d 65 20 64 65 73 69 72 61 62 6c 65 20 70 72 |ome desirable pr| 00001310 6f 70 65 72 74 69 65 73 20 66 6f 72 20 61 6e 79 |operties for any| 00001320 20 73 6f 6c 75 74 69 6f 6e 20 74 6f 0a 74 68 65 | solution to.the| 00001330 20 69 6d 61 67 65 20 63 68 61 6e 67 69 6e 67 20 | image changing | 00001340 70 72 6f 62 6c 65 6d 3a 0a 0a 28 31 29 20 4d 61 |problem:..(1) Ma| 00001350 78 69 6d 69 73 69 6e 67 20 74 68 65 20 76 6f 6c |ximising the vol| 00001360 75 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 6f 75 |ume of the colou| 00001370 72 20 63 75 62 65 2e 20 43 6f 6c 6f 75 72 20 72 |r cube. Colour r| 00001380 65 70 72 65 73 65 6e 74 65 64 20 69 6e 20 74 68 |epresented in th| 00001390 65 20 52 65 64 2c 0a 47 72 65 65 6e 20 61 6e 64 |e Red,.Green and| 000013a0 20 42 6c 75 65 20 63 6f 6d 70 75 74 65 72 20 67 | Blue computer g| 000013b0 72 61 70 68 69 63 73 20 73 79 73 74 65 6d 20 63 |raphics system c| 000013c0 61 6e 20 62 65 20 74 68 6f 75 67 68 74 20 6f 66 |an be thought of| 000013d0 20 61 73 20 61 20 70 6f 69 6e 74 20 69 6e 20 61 | as a point in a| 000013e0 20 33 44 0a 63 75 62 65 20 77 68 6f 73 65 20 61 | 3D.cube whose a| 000013f0 78 65 73 20 61 72 65 20 74 68 65 20 72 65 64 2c |xes are the red,| 00001400 20 67 72 65 65 6e 20 61 6e 64 20 62 6c 75 65 20 | green and blue | 00001410 76 61 6c 75 65 73 2e 20 57 68 61 74 65 76 65 72 |values. Whatever| 00001420 20 63 6c 65 76 65 72 0a 61 70 70 72 6f 78 69 6d | clever.approxim| 00001430 61 74 69 6f 6e 73 2c 20 64 69 74 68 65 72 69 6e |ations, ditherin| 00001440 67 20 6f 72 20 65 72 72 6f 72 20 64 69 66 66 75 |g or error diffu| 00001450 73 69 6f 6e 20 74 65 63 68 6e 69 71 75 65 73 20 |sion techniques | 00001460 61 72 65 20 75 73 65 64 2c 20 74 68 65 20 63 6f |are used, the co| 00001470 6c 6f 75 72 0a 76 6f 6c 75 6d 65 20 73 70 61 6e |lour.volume span| 00001480 6e 65 64 20 62 79 20 74 68 65 20 72 2c 20 67 20 |ned by the r, g | 00001490 61 6e 64 20 62 20 61 78 65 73 20 69 6e 20 74 68 |and b axes in th| 000014a0 65 20 74 61 72 67 65 74 20 73 68 6f 75 6c 64 20 |e target should | 000014b0 62 65 20 6c 61 72 67 65 20 65 6e 6f 75 67 68 20 |be large enough | 000014c0 74 6f 0a 63 6f 6e 74 61 69 6e 20 74 68 65 20 73 |to.contain the s| 000014d0 6f 75 72 63 65 20 76 6f 6c 75 6d 65 2e 20 49 66 |ource volume. If| 000014e0 20 6e 6f 74 2c 20 74 68 65 6e 20 74 68 65 20 70 | not, then the p| 000014f0 69 63 74 75 72 65 20 77 69 6c 6c 20 61 70 70 65 |icture will appe| 00001500 61 72 20 66 61 64 65 64 20 69 6e 20 73 6f 6d 65 |ar faded in some| 00001510 0a 77 61 79 20 63 6f 6d 70 61 72 65 64 20 74 6f |.way compared to| 00001520 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 28 22 | the original ("| 00001530 74 68 65 20 72 65 64 20 64 6f 65 73 6e 27 74 20 |the red doesn't | 00001540 73 65 65 6d 20 71 75 69 74 65 20 74 68 65 20 73 |seem quite the s| 00001550 61 6d 65 22 29 2e 20 46 6f 72 20 61 0a 73 69 6e |ame"). For a.sin| 00001560 67 6c 65 20 70 69 63 74 75 72 65 20 61 20 63 6f |gle picture a co| 00001570 6c 6f 75 72 20 76 6f 6c 75 6d 65 20 6f 6e 6c 79 |lour volume only| 00001580 20 61 73 20 6c 61 72 67 65 20 61 73 20 74 68 65 | as large as the| 00001590 20 69 6e 70 75 74 20 63 6f 75 6c 64 20 62 65 20 | input could be | 000015a0 63 68 6f 73 65 6e 3b 0a 61 6c 74 65 72 6e 61 74 |chosen;.alternat| 000015b0 69 76 65 6c 79 20 66 6f 72 20 61 6e 20 61 72 62 |ively for an arb| 000015c0 69 74 72 61 72 79 20 73 65 74 20 6f 66 20 69 6e |itrary set of in| 000015d0 70 75 74 20 70 69 63 74 75 72 65 73 2c 20 74 68 |put pictures, th| 000015e0 65 20 63 6f 6c 6f 75 72 20 76 6f 6c 75 6d 65 20 |e colour volume | 000015f0 6f 6e 20 74 68 65 0a 6f 75 74 70 75 74 20 73 79 |on the.output sy| 00001600 73 74 65 6d 20 68 61 73 20 74 6f 20 62 65 20 6d |stem has to be m| 00001610 61 64 65 20 61 73 20 6c 61 72 67 65 20 61 73 20 |ade as large as | 00001620 70 6f 73 73 69 62 6c 65 2e 20 57 68 65 72 65 20 |possible. Where | 00001630 61 6e 69 6d 61 74 69 6f 6e 20 69 73 20 72 65 71 |animation is req| 00001640 75 69 72 65 64 0a 74 68 65 20 63 6f 6c 6f 75 72 |uired.the colour| 00001650 20 76 6f 6c 75 6d 65 20 68 61 73 20 74 6f 20 62 | volume has to b| 00001660 65 20 63 6f 6e 73 69 73 74 65 6e 74 20 66 6f 72 |e consistent for| 00001670 20 61 6c 6c 20 74 68 65 20 70 69 63 74 75 72 65 | all the picture| 00001680 73 2e 20 57 68 65 6e 20 67 65 6e 65 72 61 74 69 |s. When generati| 00001690 6e 67 0a 74 68 65 20 6c 61 72 67 65 73 74 20 76 |ng.the largest v| 000016a0 6f 6c 75 6d 65 2c 20 69 74 20 69 73 20 69 6d 70 |olume, it is imp| 000016b0 6f 72 74 61 6e 74 20 74 6f 20 75 73 65 20 74 68 |ortant to use th| 000016c0 65 20 73 79 73 74 65 6d 20 68 61 72 64 77 61 72 |e system hardwar| 000016d0 65 20 74 6f 20 74 68 65 20 6c 69 6d 69 74 3a 0a |e to the limit:.| 000016e0 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 |for example, if | 000016f0 6f 6e 65 20 68 61 73 20 74 77 6f 20 62 69 74 73 |one has two bits| 00001700 20 6f 66 20 63 6f 6e 74 72 6f 6c 20 6f 76 65 72 | of control over| 00001710 20 74 68 65 20 41 72 63 68 69 6d 65 64 65 73 20 | the Archimedes | 00001720 34 20 62 69 74 20 44 20 74 6f 20 41 0a 63 6f 6e |4 bit D to A.con| 00001730 76 65 72 74 65 72 73 2c 20 74 68 65 20 6c 61 72 |verters, the lar| 00001740 67 65 73 74 20 72 61 6e 67 65 20 69 73 20 63 6f |gest range is co| 00001750 76 65 72 65 64 20 62 79 20 76 61 6c 75 65 73 20 |vered by values | 00001760 30 2c 20 35 2c 20 31 30 20 61 6e 64 20 31 35 20 |0, 5, 10 and 15 | 00001770 28 72 61 74 68 65 72 20 74 68 61 6e 0a 30 2c 20 |(rather than.0, | 00001780 34 2c 20 38 20 61 6e 64 20 31 32 29 2e 0a 0a 28 |4, 8 and 12)...(| 00001790 32 29 20 47 69 76 69 6e 67 20 68 75 65 20 63 6f |2) Giving hue co| 000017a0 6e 73 69 73 74 65 6e 63 79 20 61 74 20 64 69 66 |nsistency at dif| 000017b0 66 65 72 65 6e 74 20 73 61 74 75 72 61 74 69 6f |ferent saturatio| 000017c0 6e 73 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c |ns. For example,| 000017d0 20 77 69 74 68 20 61 0a 70 61 6c 65 74 74 65 20 | with a.palette | 000017e0 77 69 74 68 20 64 69 66 66 65 72 65 6e 74 20 6e |with different n| 000017f0 75 6d 62 65 72 73 20 6f 66 20 62 69 74 73 20 6f |umbers of bits o| 00001800 66 20 72 2c 20 67 20 61 6e 64 20 62 20 69 74 20 |f r, g and b it | 00001810 6d 61 79 20 62 65 20 69 6d 70 6f 73 73 69 62 6c |may be impossibl| 00001820 65 20 74 6f 0a 68 61 76 65 20 61 20 63 6f 6e 73 |e to.have a cons| 00001830 69 73 74 65 6e 74 20 73 65 74 20 6f 66 20 63 6f |istent set of co| 00001840 6c 6f 75 72 73 20 72 65 70 72 65 73 65 6e 74 69 |lours representi| 00001850 6e 67 20 64 65 72 69 76 65 64 20 63 6f 6c 6f 75 |ng derived colou| 00001860 72 73 20 61 74 20 64 69 66 66 65 72 65 6e 74 0a |rs at different.| 00001870 6c 65 76 65 6c 73 20 6f 66 20 69 6e 74 65 6e 73 |levels of intens| 00001880 69 74 79 2e 20 53 68 61 64 65 73 20 6f 66 20 77 |ity. Shades of w| 00001890 68 69 74 65 20 61 6e 64 20 73 65 63 6f 6e 64 61 |hite and seconda| 000018a0 72 79 20 63 6f 6c 6f 75 72 73 20 28 63 79 61 6e |ry colours (cyan| 000018b0 2c 20 6d 61 67 65 6e 74 61 20 61 6e 64 0a 79 65 |, magenta and.ye| 000018c0 6c 6c 6f 77 29 20 61 72 65 20 70 61 72 74 69 63 |llow) are partic| 000018d0 75 6c 61 72 6c 79 20 64 69 66 66 69 63 75 6c 74 |ularly difficult| 000018e0 2e 0a 0a 28 33 29 20 57 6f 72 6b 69 6e 67 20 77 |...(3) Working w| 000018f0 69 74 68 20 74 68 65 20 6d 75 6c 74 69 2d 74 61 |ith the multi-ta| 00001900 73 6b 69 6e 67 20 64 65 73 6b 74 6f 70 2e 20 41 |sking desktop. A| 00001910 63 6f 72 6e 20 61 72 65 20 61 73 6b 69 6e 67 20 |corn are asking | 00001920 66 6f 72 20 61 6c 6c 20 6e 65 77 0a 73 6f 66 74 |for all new.soft| 00001930 77 61 72 65 20 74 6f 20 62 65 20 62 75 69 6c 74 |ware to be built| 00001940 20 6f 6e 20 74 68 65 20 6d 75 6c 74 69 74 61 73 | on the multitas| 00001950 6b 69 6e 67 20 73 79 73 74 65 6d 2e 20 54 68 69 |king system. Thi| 00001960 73 20 69 6d 70 6c 69 65 73 20 74 68 61 74 20 74 |s implies that t| 00001970 68 65 20 70 61 6c 65 74 74 65 0a 73 68 6f 75 6c |he palette.shoul| 00001980 64 20 6e 6f 74 20 62 65 20 63 68 61 6e 67 65 64 |d not be changed| 00001990 20 28 6f 72 20 74 68 61 74 20 74 68 65 20 61 67 | (or that the ag| 000019a0 72 65 65 6d 65 6e 74 20 6f 66 20 61 6c 6c 20 70 |reement of all p| 000019b0 72 6f 67 72 61 6d 73 20 63 75 72 72 65 6e 74 6c |rograms currentl| 000019c0 79 20 72 75 6e 6e 69 6e 67 0a 69 73 20 6f 62 74 |y running.is obt| 000019d0 61 69 6e 65 64 20 66 69 72 73 74 29 2e 0a 0a 54 |ained first)...T| 000019e0 68 65 20 64 65 73 6b 74 6f 70 20 28 64 65 66 61 |he desktop (defa| 000019f0 75 6c 74 29 20 70 61 6c 65 74 74 65 20 69 6e 20 |ult) palette in | 00001a00 74 68 65 20 32 35 36 20 63 6f 6c 6f 75 72 20 6d |the 256 colour m| 00001a10 6f 64 65 73 20 28 65 2e 67 2e 20 6d 6f 64 65 73 |odes (e.g. modes| 00001a20 20 31 33 2c 20 31 35 2c 20 32 31 2c 0a 32 34 20 | 13, 15, 21,.24 | 00001a30 61 6e 64 20 32 38 29 20 69 73 20 71 75 69 74 65 |and 28) is quite| 00001a40 20 77 65 6c 6c 20 64 65 73 69 67 6e 65 64 2e 20 | well designed. | 00001a50 49 74 20 64 6f 65 73 20 68 61 76 65 20 74 68 65 |It does have the| 00001a60 20 70 72 6f 70 65 72 74 69 65 73 20 6f 66 20 28 | properties of (| 00001a70 31 29 20 61 6e 64 20 28 32 29 0a 28 69 74 20 65 |1) and (2).(it e| 00001a80 76 65 6e 20 68 61 73 20 31 36 20 73 68 61 64 65 |ven has 16 shade| 00001a90 73 20 6f 66 20 67 72 65 79 29 20 61 6e 64 20 61 |s of grey) and a| 00001aa0 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 73 61 74 |utomatically sat| 00001ab0 69 73 66 69 65 73 20 28 33 29 2e 20 49 74 20 69 |isfies (3). It i| 00001ac0 73 20 75 73 65 64 20 62 79 0a 6d 61 6e 79 20 41 |s used by.many A| 00001ad0 63 6f 72 6e 20 70 72 6f 67 72 61 6d 73 20 28 44 |corn programs (D| 00001ae0 72 61 77 2c 20 50 61 69 6e 74 29 20 61 6e 64 20 |raw, Paint) and | 00001af0 62 79 20 65 78 74 65 72 6e 61 6c 20 70 72 6f 67 |by external prog| 00001b00 72 61 6d 73 20 28 45 75 63 6c 69 64 2c 20 50 72 |rams (Euclid, Pr| 00001b10 6f 41 72 74 69 73 61 6e 2c 0a 41 74 65 6c 69 65 |oArtisan,.Atelie| 00001b20 72 2c 20 2e 2e 29 20 74 6f 20 67 72 65 61 74 20 |r, ..) to great | 00001b30 65 66 66 65 63 74 20 61 6e 64 20 69 73 20 61 20 |effect and is a | 00001b40 73 61 66 65 20 63 68 6f 69 63 65 20 66 6f 72 20 |safe choice for | 00001b50 43 68 61 6e 67 65 46 53 49 2e 20 54 68 65 72 65 |ChangeFSI. There| 00001b60 20 61 72 65 20 74 77 6f 0a 77 61 79 73 20 43 68 | are two.ways Ch| 00001b70 61 6e 67 65 46 53 49 20 63 61 6e 20 63 68 6f 6f |angeFSI can choo| 00001b80 73 65 20 61 20 63 6f 6c 6f 75 72 3a 0a 0a 28 61 |se a colour:..(a| 00001b90 29 20 61 20 6d 65 74 68 6f 64 20 77 68 69 63 68 |) a method which| 00001ba0 20 64 65 72 69 76 65 73 20 76 61 6c 75 65 73 20 | derives values | 00001bb0 66 6f 72 20 72 2c 20 67 2c 20 62 20 61 6e 64 20 |for r, g, b and | 00001bc0 74 69 6e 74 20 61 6c 67 6f 72 69 74 68 6d 69 63 |tint algorithmic| 00001bd0 61 6c 6c 79 20 28 6e 6f 0a 73 75 66 66 69 78 29 |ally (no.suffix)| 00001be0 20 28 73 75 69 74 61 62 6c 65 20 6f 6e 6c 79 20 | (suitable only | 00001bf0 66 6f 72 20 74 68 65 20 64 65 66 61 75 6c 74 20 |for the default | 00001c00 52 49 53 43 20 4f 53 20 32 35 36 20 63 6f 6c 6f |RISC OS 256 colo| 00001c10 75 72 20 70 61 6c 65 74 74 65 29 0a 0a 28 62 29 |ur palette)..(b)| 00001c20 20 73 65 61 72 63 68 20 74 68 65 20 70 61 6c 65 | search the pale| 00001c30 74 74 65 20 66 6f 72 20 74 68 65 20 63 6c 6f 73 |tte for the clos| 00001c40 65 73 74 20 63 6f 6c 6f 75 72 20 28 72 20 73 75 |est colour (r su| 00001c50 66 66 69 78 29 2e 20 54 68 65 20 70 72 65 63 69 |ffix). The preci| 00001c60 73 65 20 6d 65 74 68 6f 64 20 62 79 0a 77 68 69 |se method by.whi| 00001c70 63 68 20 74 68 69 73 20 69 73 20 64 6f 6e 65 20 |ch this is done | 00001c80 69 73 20 74 68 65 20 73 75 62 6a 65 63 74 20 6f |is the subject o| 00001c90 66 20 61 6e 6f 74 68 65 72 20 64 6f 63 75 6d 65 |f another docume| 00001ca0 6e 74 2e 0a 0a 41 53 49 44 45 3a 20 74 68 65 20 |nt...ASIDE: the | 00001cb0 63 6c 6f 73 65 73 74 20 63 6f 6c 6f 75 72 20 69 |closest colour i| 00001cc0 73 20 63 68 6f 73 65 6e 20 73 75 63 68 20 74 68 |s chosen such th| 00001cd0 61 74 20 74 68 65 20 64 69 73 74 61 6e 63 65 20 |at the distance | 00001ce0 62 65 74 77 65 65 6e 20 74 68 65 20 74 72 75 65 |between the true| 00001cf0 0a 63 6f 6c 6f 75 72 20 61 6e 64 20 74 68 65 20 |.colour and the | 00001d00 63 68 6f 69 63 65 20 69 73 20 6d 69 6e 69 6d 69 |choice is minimi| 00001d10 73 65 64 20 69 6e 20 74 68 65 20 63 6f 6c 6f 75 |sed in the colou| 00001d20 72 20 63 75 62 65 20 73 70 61 63 65 2e 20 53 69 |r cube space. Si| 00001d30 6e 63 65 20 74 68 65 20 68 75 6d 61 6e 0a 65 79 |nce the human.ey| 00001d40 65 20 69 73 20 6d 6f 72 65 20 73 65 6e 73 69 74 |e is more sensit| 00001d50 69 76 65 20 74 6f 20 67 72 65 65 6e 2c 20 74 68 |ive to green, th| 00001d60 65 6e 20 72 65 64 20 61 6e 64 20 6c 61 73 74 6c |en red and lastl| 00001d70 79 20 62 6c 75 65 2c 20 74 68 65 20 64 69 73 74 |y blue, the dist| 00001d80 61 6e 63 65 20 66 75 6e 63 74 69 6f 6e 0a 69 73 |ance function.is| 00001d90 20 77 65 69 67 68 74 65 64 20 31 30 2c 20 33 20 | weighted 10, 3 | 00001da0 61 6e 64 20 31 20 69 6e 20 67 72 65 65 6e 27 73 |and 1 in green's| 00001db0 20 66 61 76 6f 75 72 2e 0a 0a 57 69 74 68 20 74 | favour...With t| 00001dc0 68 65 20 31 36 20 63 6f 6c 6f 75 72 20 6d 6f 64 |he 16 colour mod| 00001dd0 65 73 20 28 65 2e 67 2e 20 6d 6f 64 65 73 20 39 |es (e.g. modes 9| 00001de0 2c 20 31 32 2c 20 31 36 2c 20 32 30 20 61 6e 64 |, 12, 16, 20 and| 00001df0 20 32 37 29 20 74 68 65 20 64 65 66 61 75 6c 74 | 27) the default| 00001e00 20 70 61 6c 65 74 74 65 0a 64 6f 65 73 20 6e 6f | palette.does no| 00001e10 74 20 73 61 74 69 73 66 79 20 28 31 29 20 61 6e |t satisfy (1) an| 00001e20 64 20 28 32 29 20 75 6e 6c 65 73 73 20 74 68 65 |d (2) unless the| 00001e30 20 6f 75 74 70 75 74 20 69 73 20 70 75 72 65 6c | output is purel| 00001e40 79 20 73 68 61 64 65 73 20 6f 66 20 67 72 65 79 |y shades of grey| 00001e50 20 2d 0a 43 68 61 6e 67 65 46 53 49 20 63 61 6e | -.ChangeFSI can| 00001e60 20 75 73 65 20 65 69 74 68 65 72 20 38 20 67 72 | use either 8 gr| 00001e70 65 79 73 20 28 66 6f 72 20 74 68 65 20 64 65 73 |eys (for the des| 00001e80 6b 74 6f 70 29 20 6f 72 20 31 36 20 67 72 65 79 |ktop) or 16 grey| 00001e90 73 20 28 6f 75 74 20 6f 66 20 74 68 65 0a 64 65 |s (out of the.de| 00001ea0 73 6b 74 6f 70 20 6f 72 20 77 69 74 68 20 74 68 |sktop or with th| 00001eb0 65 20 64 65 73 6b 74 6f 70 20 70 61 6c 65 74 74 |e desktop palett| 00001ec0 65 20 61 6c 74 65 72 65 64 20 74 6f 20 70 72 6f |e altered to pro| 00001ed0 76 69 64 65 20 31 36 20 67 72 65 79 73 29 2e 20 |vide 16 greys). | 00001ee0 46 6f 72 20 63 6f 6c 6f 75 72 0a 72 65 70 72 65 |For colour.repre| 00001ef0 73 65 6e 74 61 74 69 6f 6e 2c 20 43 68 61 6e 67 |sentation, Chang| 00001f00 65 46 53 49 20 63 61 6e 20 65 69 74 68 65 72 3a |eFSI can either:| 00001f10 0a 0a 28 61 29 20 75 73 65 20 31 20 62 69 74 20 |..(a) use 1 bit | 00001f20 6f 66 20 72 65 64 2c 20 31 20 62 69 74 20 6f 66 |of red, 1 bit of| 00001f30 20 67 72 65 65 6e 20 61 6e 64 20 31 20 62 69 74 | green and 1 bit| 00001f40 20 6f 66 20 62 6c 75 65 20 28 69 2e 65 2e 20 74 | of blue (i.e. t| 00001f50 68 65 20 73 74 61 6e 64 61 72 64 20 38 0a 64 69 |he standard 8.di| 00001f60 67 69 74 61 6c 20 63 6f 6c 6f 75 72 73 20 42 6c |gital colours Bl| 00001f70 61 63 6b 2c 20 52 65 64 2c 20 47 72 65 65 6e 2c |ack, Red, Green,| 00001f80 20 42 6c 75 65 2c 20 59 65 6c 6c 6f 77 2c 20 4d | Blue, Yellow, M| 00001f90 61 67 65 6e 74 61 2c 20 43 79 61 6e 20 61 6e 64 |agenta, Cyan and| 00001fa0 20 57 68 69 74 65 29 2e 20 54 68 69 73 0a 73 70 | White). This.sp| 00001fb0 61 6e 73 20 74 68 65 20 63 6f 6c 6f 75 72 20 63 |ans the colour c| 00001fc0 75 62 65 20 61 6e 64 20 69 73 20 68 75 65 20 63 |ube and is hue c| 00001fd0 6f 6e 73 69 73 74 65 6e 74 2c 20 62 75 74 20 64 |onsistent, but d| 00001fe0 6f 65 73 6e 27 74 20 75 73 65 20 74 68 65 20 66 |oesn't use the f| 00001ff0 75 6c 6c 20 72 61 6e 67 65 20 6f 66 0a 62 69 74 |ull range of.bit| 00002000 73 20 70 72 6f 76 69 64 65 64 20 69 6e 20 74 68 |s provided in th| 00002010 65 20 66 6f 72 6d 61 74 2e 20 43 6f 6c 6f 75 72 |e format. Colour| 00002020 54 72 61 6e 73 20 63 61 6e 20 6d 61 70 20 74 68 |Trans can map th| 00002030 69 73 20 74 6f 20 74 68 65 20 64 65 73 6b 74 6f |is to the deskto| 00002040 70 20 77 69 74 68 20 74 68 65 0a 73 74 61 6e 64 |p with the.stand| 00002050 61 72 64 20 70 61 6c 65 74 74 65 20 77 69 74 68 |ard palette with| 00002060 20 66 61 69 72 20 73 75 63 63 65 73 73 2c 20 65 | fair success, e| 00002070 78 63 65 70 74 20 66 6f 72 20 74 68 65 20 6c 61 |xcept for the la| 00002080 63 6b 20 6f 66 20 6d 61 67 65 6e 74 61 20 28 66 |ck of magenta (f| 00002090 75 6c 6c 0a 72 65 64 2b 66 75 6c 6c 20 62 6c 75 |ull.red+full blu| 000020a0 65 29 20 69 6e 20 74 68 65 20 70 61 6c 65 74 74 |e) in the palett| 000020b0 65 2e 20 41 20 62 65 74 74 65 72 20 72 65 73 75 |e. A better resu| 000020c0 6c 74 20 63 61 6e 20 62 65 20 61 63 68 69 65 76 |lt can be achiev| 000020d0 65 64 20 62 79 20 73 65 74 74 69 6e 67 20 36 20 |ed by setting 6 | 000020e0 6f 66 0a 74 68 65 20 63 6f 6c 6f 75 72 73 20 69 |of.the colours i| 000020f0 6e 20 74 68 65 20 70 61 6c 65 74 74 65 20 74 6f |n the palette to| 00002100 20 72 65 64 2c 20 67 72 65 65 6e 2c 20 79 65 6c | red, green, yel| 00002110 6c 6f 77 2c 20 62 6c 75 65 2c 20 6d 61 67 65 6e |low, blue, magen| 00002120 74 61 20 61 6e 64 20 63 79 61 6e 2e 20 53 69 6e |ta and cyan. Sin| 00002130 63 65 0a 43 6f 6c 6f 75 72 54 72 61 6e 73 20 77 |ce.ColourTrans w| 00002140 69 6c 6c 20 6d 61 70 20 74 68 65 20 63 6f 6c 6f |ill map the colo| 00002150 75 72 73 20 61 6e 79 77 61 79 2c 20 69 74 20 64 |urs anyway, it d| 00002160 6f 65 73 6e 27 74 20 6d 61 74 74 65 72 20 77 68 |oesn't matter wh| 00002170 69 63 68 20 36 2c 20 62 75 74 20 74 68 65 0a 6d |ich 6, but the.m| 00002180 6f 73 74 20 63 6f 6e 73 69 73 74 65 6e 74 20 76 |ost consistent v| 00002190 61 6c 75 65 73 20 61 72 65 20 38 3d 62 6c 75 65 |alues are 8=blue| 000021a0 2c 20 39 3d 79 65 6c 6c 6f 77 2c 20 31 30 3d 67 |, 9=yellow, 10=g| 000021b0 72 65 65 6e 2c 20 31 31 3d 72 65 64 2c 20 31 33 |reen, 11=red, 13| 000021c0 3d 63 79 61 6e 2c 0a 31 34 3d 6d 61 67 65 6e 74 |=cyan,.14=magent| 000021d0 61 20 28 6c 65 61 76 69 6e 67 20 30 2d 37 2c 20 |a (leaving 0-7, | 000021e0 31 32 20 61 6e 64 20 31 35 20 75 6e 63 68 61 6e |12 and 15 unchan| 000021f0 67 65 64 29 2e 20 54 68 69 73 20 6f 70 74 69 6f |ged). This optio| 00002200 6e 20 69 73 20 73 65 6c 65 63 74 65 64 20 62 79 |n is selected by| 00002210 20 61 20 22 64 22 0a 28 64 69 67 69 74 61 6c 20 | a "d".(digital | 00002220 52 47 42 29 20 73 75 66 66 69 78 20 74 6f 20 74 |RGB) suffix to t| 00002230 68 65 20 70 72 6f 67 72 61 6d 27 73 20 6d 6f 64 |he program's mod| 00002240 65 20 61 72 67 75 6d 65 6e 74 2e 0a 0a 6f 72 20 |e argument...or | 00002250 28 62 29 20 73 65 61 72 63 68 20 74 68 65 20 70 |(b) search the p| 00002260 61 6c 65 74 74 65 20 66 6f 72 20 74 68 65 20 63 |alette for the c| 00002270 6c 6f 73 65 73 74 20 63 6f 6c 6f 75 72 20 28 72 |losest colour (r| 00002280 20 73 75 66 66 69 78 29 20 5b 43 68 61 6e 67 65 | suffix) [Change| 00002290 46 53 49 20 6e 65 65 64 73 20 74 6f 0a 62 65 20 |FSI needs to.be | 000022a0 69 6e 20 74 68 65 20 31 36 20 63 6f 6c 6f 75 72 |in the 16 colour| 000022b0 20 6d 6f 64 65 20 69 6e 20 6f 72 64 65 72 20 74 | mode in order t| 000022c0 6f 20 72 65 61 64 20 74 68 65 20 70 61 6c 65 74 |o read the palet| 000022d0 74 65 5d 0a 0a 57 69 74 68 20 74 68 65 20 34 20 |te]..With the 4 | 000022e0 63 6f 6c 6f 75 72 20 6d 6f 64 65 73 20 28 65 2e |colour modes (e.| 000022f0 67 2e 20 6d 6f 64 65 73 20 38 2c 20 31 31 2c 20 |g. modes 8, 11, | 00002300 31 39 20 61 6e 64 20 32 36 29 20 43 68 61 6e 67 |19 and 26) Chang| 00002310 65 46 53 49 20 69 73 20 72 65 61 6c 6c 79 0a 70 |eFSI is really.p| 00002320 75 73 68 65 64 2e 20 53 68 61 64 65 73 20 6f 66 |ushed. Shades of| 00002330 20 67 72 65 79 20 6f 75 74 70 75 74 20 69 73 20 | grey output is | 00002340 64 6f 6e 65 20 77 69 74 68 20 74 68 65 20 30 2c |done with the 0,| 00002350 20 35 2c 20 31 30 2c 20 31 35 20 6c 65 76 65 6c | 5, 10, 15 level| 00002360 20 70 61 6c 65 74 74 65 2e 20 42 75 74 0a 68 6f | palette. But.ho| 00002370 77 20 63 61 6e 20 63 6f 6c 6f 75 72 20 62 65 20 |w can colour be | 00002380 64 6f 6e 65 3f 20 46 6f 72 20 65 78 61 6d 70 6c |done? For exampl| 00002390 65 2c 20 65 61 63 68 20 70 69 78 65 6c 20 63 61 |e, each pixel ca| 000023a0 6e 20 64 69 73 70 6c 61 79 20 6f 6e 6c 79 20 6f |n display only o| 000023b0 6e 65 20 6f 66 20 28 73 61 79 29 0a 62 6c 61 63 |ne of (say).blac| 000023c0 6b 2c 20 72 65 64 2c 20 67 72 65 65 6e 20 6f 72 |k, red, green or| 000023d0 20 62 6c 75 65 2e 20 54 68 69 73 20 66 61 69 6c | blue. This fail| 000023e0 73 20 74 6f 20 73 70 61 6e 20 74 68 65 20 63 6f |s to span the co| 000023f0 6c 6f 75 72 20 63 75 62 65 20 28 69 74 20 64 6f |lour cube (it do| 00002400 65 73 20 6f 6e 6c 79 0a 68 61 6c 66 20 6f 66 20 |es only.half of | 00002410 69 74 29 2c 20 68 6f 77 65 76 65 72 2c 20 73 6f |it), however, so| 00002420 20 62 6c 61 63 6b 2c 20 63 79 61 6e 2c 20 6d 61 | black, cyan, ma| 00002430 67 65 6e 74 61 20 61 6e 64 20 79 65 6c 6c 6f 77 |genta and yellow| 00002440 20 61 72 65 20 75 73 65 64 20 69 6e 73 74 65 61 | are used instea| 00002450 64 2e 20 54 68 65 0a 72 65 73 74 20 68 61 73 20 |d. The.rest has | 00002460 74 6f 20 62 65 20 6c 65 66 74 20 74 6f 20 6c 75 |to be left to lu| 00002470 63 6b 3a 20 74 68 65 72 65 20 69 73 20 6e 6f 20 |ck: there is no | 00002480 77 61 79 20 69 74 20 63 61 6e 20 61 70 70 72 6f |way it can appro| 00002490 78 69 6d 61 74 65 20 74 6f 20 70 75 72 65 20 73 |ximate to pure s| 000024a0 68 61 64 65 73 0a 6f 66 20 72 65 64 2c 20 67 72 |hades.of red, gr| 000024b0 65 65 6e 20 6f 72 20 62 6c 75 65 2e 20 34 20 62 |een or blue. 4 b| 000024c0 69 74 20 63 6f 6c 6f 75 72 20 70 69 63 74 75 72 |it colour pictur| 000024d0 65 73 20 63 61 6e 20 62 65 20 73 65 65 6e 20 6f |es can be seen o| 000024e0 6e 20 74 68 65 20 64 65 73 6b 74 6f 70 20 69 6e |n the desktop in| 000024f0 20 31 36 0a 63 6f 6c 6f 75 72 20 6d 6f 64 65 73 | 16.colour modes| 00002500 20 77 69 74 68 20 74 68 65 20 61 62 6f 76 65 20 | with the above | 00002510 70 61 6c 65 74 74 65 20 6f 72 20 69 6e 20 32 35 |palette or in 25| 00002520 36 20 63 6f 6c 6f 75 72 20 6d 6f 64 65 73 2e 20 |6 colour modes. | 00002530 54 68 69 73 20 6f 70 74 69 6f 6e 20 69 73 20 62 |This option is b| 00002540 79 20 61 0a 22 63 22 20 73 75 66 66 69 78 2e 20 |y a."c" suffix. | 00002550 49 66 20 79 6f 75 20 63 61 6e 20 70 72 6f 76 69 |If you can provi| 00002560 64 65 20 61 20 62 65 74 74 65 72 20 70 61 6c 65 |de a better pale| 00002570 74 74 65 2c 20 74 68 65 6e 20 43 68 61 6e 67 65 |tte, then Change| 00002580 46 53 49 20 63 61 6e 20 75 73 65 20 69 74 20 77 |FSI can use it w| 00002590 69 74 68 0a 74 68 65 20 22 72 22 20 73 75 66 66 |ith.the "r" suff| 000025a0 69 78 20 73 65 61 72 63 68 20 6d 65 74 68 6f 64 |ix search method| 000025b0 2e 0a 0a 57 69 74 68 20 32 20 63 6f 6c 6f 75 72 |...With 2 colour| 000025c0 20 6d 6f 64 65 73 20 28 65 2e 67 2e 20 6d 6f 64 | modes (e.g. mod| 000025d0 65 73 20 30 2c 20 31 38 2c 20 32 33 20 61 6e 64 |es 0, 18, 23 and| 000025e0 20 32 35 29 20 70 69 78 65 6c 73 20 61 72 65 20 | 25) pixels are | 000025f0 65 69 74 68 65 72 20 4f 4e 20 6f 72 20 4f 46 46 |either ON or OFF| 00002600 2c 0a 43 68 61 6e 67 65 46 53 49 20 77 69 6c 6c |,.ChangeFSI will| 00002610 20 6f 6e 6c 79 20 64 6f 20 73 68 61 64 65 73 20 | only do shades | 00002620 6f 66 20 67 72 65 79 20 6f 75 74 70 75 74 2e 2e |of grey output..| 00002630 2e 2e 20 48 6f 77 65 76 65 72 2c 20 74 68 65 20 |.. However, the | 00002640 6d 65 74 68 6f 64 20 75 73 65 64 20 63 61 6e 0a |method used can.| 00002650 62 65 20 76 61 72 69 65 64 20 28 73 65 65 20 6c |be varied (see l| 00002660 61 74 65 72 29 2e 0a 0a 53 6f 20 74 68 61 74 27 |ater)...So that'| 00002670 73 20 74 68 65 20 63 61 6e 76 61 73 20 43 68 61 |s the canvas Cha| 00002680 6e 67 65 46 53 49 20 68 61 73 20 74 6f 20 77 6f |ngeFSI has to wo| 00002690 72 6b 20 6f 6e 2e 20 48 6f 77 20 64 6f 65 73 20 |rk on. How does | 000026a0 69 74 20 64 69 73 70 6c 61 79 20 74 68 65 20 69 |it display the i| 000026b0 6e 70 75 74 0a 72 61 6e 67 65 20 6f 66 20 63 6f |nput.range of co| 000026c0 6c 6f 75 72 73 20 6f 6e 20 74 68 65 73 65 20 6f |lours on these o| 000026d0 75 74 70 75 74 73 3f 20 54 68 65 20 61 6e 73 77 |utputs? The answ| 000026e0 65 72 20 69 73 2c 20 61 73 20 73 74 61 74 65 64 |er is, as stated| 000026f0 20 61 62 6f 76 65 2c 20 64 69 74 68 65 72 69 6e | above, ditherin| 00002700 67 3a 0a 74 68 65 20 70 72 6f 63 65 73 73 20 6f |g:.the process o| 00002710 66 20 61 70 70 72 6f 78 69 6d 61 74 69 6e 67 20 |f approximating | 00002720 69 6e 74 65 6e 73 69 74 79 20 76 61 72 69 61 74 |intensity variat| 00002730 69 6f 6e 73 20 77 69 74 68 20 70 61 74 74 65 72 |ions with patter| 00002740 6e 65 64 20 61 72 65 61 73 2e 20 54 68 65 72 65 |ned areas. There| 00002750 0a 61 72 65 20 74 77 6f 20 62 61 73 69 63 20 74 |.are two basic t| 00002760 79 70 65 73 20 6f 66 20 64 69 74 68 65 72 69 6e |ypes of ditherin| 00002770 67 20 74 65 63 68 6e 69 71 75 65 3a 20 74 68 61 |g technique: tha| 00002780 74 20 75 73 65 64 20 74 6f 20 70 72 69 6e 74 20 |t used to print | 00002790 63 6f 6c 6f 75 72 20 6d 61 67 61 7a 69 6e 65 73 |colour magazines| 000027a0 0a 61 6e 64 20 6e 65 77 73 70 61 70 65 72 20 70 |.and newspaper p| 000027b0 68 6f 74 6f 67 72 61 70 68 73 20 22 63 6c 75 73 |hotographs "clus| 000027c0 74 65 72 65 64 20 64 6f 74 20 64 69 74 68 65 72 |tered dot dither| 000027d0 22 20 2d 20 74 68 65 20 73 69 7a 65 20 6f 66 20 |" - the size of | 000027e0 74 68 65 20 64 6f 74 20 6f 66 20 69 6e 6b 0a 67 |the dot of ink.g| 000027f0 69 76 65 73 20 74 68 65 20 69 6e 74 65 6e 73 69 |ives the intensi| 00002800 74 79 3b 20 61 6e 64 20 74 68 61 74 20 75 73 65 |ty; and that use| 00002810 64 20 6f 6e 20 64 6f 74 20 6d 61 74 72 69 78 20 |d on dot matrix | 00002820 64 69 73 70 6c 61 79 73 2c 20 66 6f 72 20 65 78 |displays, for ex| 00002830 61 6d 70 6c 65 20 74 68 65 20 67 72 65 79 0a 6c |ample the grey.l| 00002840 65 76 65 6c 20 70 61 74 74 65 72 6e 73 20 75 73 |evel patterns us| 00002850 65 64 20 62 79 20 31 20 62 69 74 20 70 65 72 20 |ed by 1 bit per | 00002860 70 69 78 65 6c 20 6d 6f 64 65 20 6f 6e 20 74 68 |pixel mode on th| 00002870 65 20 64 65 73 6b 74 6f 70 20 22 64 69 73 70 65 |e desktop "dispe| 00002880 72 73 65 64 20 64 6f 74 0a 64 69 74 68 65 72 22 |rsed dot.dither"| 00002890 20 77 68 65 72 65 20 74 68 65 20 61 76 65 72 61 | where the avera| 000028a0 67 65 20 6e 75 6d 62 65 72 20 6f 66 20 64 6f 74 |ge number of dot| 000028b0 73 20 69 6e 20 74 68 65 20 61 72 65 61 20 67 69 |s in the area gi| 000028c0 76 65 73 20 74 68 65 20 69 6e 74 65 6e 73 69 74 |ves the intensit| 000028d0 79 2e 0a 0a 57 68 79 20 64 6f 65 73 20 74 68 65 |y...Why does the| 000028e0 20 77 6f 72 6c 64 20 6e 65 65 64 20 74 77 6f 20 | world need two | 000028f0 64 69 66 66 65 72 65 6e 74 20 74 65 63 68 6e 69 |different techni| 00002900 71 75 65 73 3f 20 57 65 6c 6c 2c 20 64 69 66 66 |ques? Well, diff| 00002910 65 72 65 6e 74 20 64 65 76 69 63 65 73 0a 72 65 |erent devices.re| 00002920 70 72 6f 64 75 63 65 20 70 69 78 65 6c 73 20 64 |produce pixels d| 00002930 69 66 66 65 72 65 6e 74 6c 79 2e 20 54 68 65 20 |ifferently. The | 00002940 22 69 64 65 61 6c 20 73 71 75 61 72 65 22 20 70 |"ideal square" p| 00002950 69 78 65 6c 73 20 70 72 6f 64 75 63 65 64 20 62 |ixels produced b| 00002960 79 20 61 6e 20 4c 43 44 20 61 72 65 0a 70 65 72 |y an LCD are.per| 00002970 66 65 63 74 20 66 6f 72 20 64 69 73 70 65 72 73 |fect for dispers| 00002980 65 64 20 64 6f 74 20 64 69 74 68 65 72 3b 20 61 |ed dot dither; a| 00002990 20 43 52 54 20 70 72 6f 64 75 63 65 73 20 61 20 | CRT produces a | 000029a0 67 61 75 73 73 69 61 6e 20 73 70 6f 74 20 28 61 |gaussian spot (a| 000029b0 20 63 69 72 63 6c 65 20 6f 72 0a 65 6c 6c 69 70 | circle or.ellip| 000029c0 73 65 20 77 68 69 63 68 20 64 65 63 61 79 73 20 |se which decays | 000029d0 69 6e 20 69 6e 74 65 6e 73 69 74 79 20 74 6f 77 |in intensity tow| 000029e0 61 72 64 73 20 74 68 65 20 65 64 67 65 73 29 20 |ards the edges) | 000029f0 69 6e 73 74 65 61 64 20 6f 66 20 61 20 73 71 75 |instead of a squ| 00002a00 61 72 65 20 2d 0a 64 69 73 70 65 72 73 65 64 20 |are -.dispersed | 00002a10 64 6f 74 20 64 69 74 68 65 72 20 77 6f 72 6b 73 |dot dither works| 00002a20 20 77 65 6c 6c 3b 20 61 20 64 6f 74 20 6d 61 74 | well; a dot mat| 00002a30 72 69 78 20 69 6d 70 61 63 74 20 70 72 69 6e 74 |rix impact print| 00002a40 65 72 20 6f 72 20 61 20 22 77 72 69 74 65 20 62 |er or a "write b| 00002a50 6c 61 63 6b 22 0a 6c 61 73 65 72 20 70 72 69 6e |lack".laser prin| 00002a60 74 65 72 20 70 72 6f 64 75 63 65 20 6c 61 72 67 |ter produce larg| 00002a70 65 20 64 6f 74 73 20 28 64 69 61 6d 65 74 65 72 |e dots (diameter| 00002a80 20 61 74 20 6c 65 61 73 74 20 53 51 52 28 32 29 | at least SQR(2)| 00002a90 20 6f 76 65 72 20 75 6e 69 74 20 70 69 78 65 6c | over unit pixel| 00002aa0 0a 73 71 75 61 72 65 29 20 61 6e 64 20 74 68 75 |.square) and thu| 00002ab0 73 20 6d 61 6b 65 20 70 69 63 74 75 72 65 73 20 |s make pictures | 00002ac0 74 6f 6f 20 64 61 72 6b 20 69 66 20 64 69 73 70 |too dark if disp| 00002ad0 65 72 73 65 64 20 64 6f 74 20 64 69 74 68 65 72 |ersed dot dither| 00002ae0 20 69 73 20 75 73 65 64 3b 20 61 0a 22 77 72 69 | is used; a."wri| 00002af0 74 65 20 77 68 69 74 65 22 20 6c 61 73 65 72 20 |te white" laser | 00002b00 70 72 69 6e 74 65 72 20 70 72 69 6e 74 73 20 6e |printer prints n| 00002b10 65 67 61 74 69 76 65 20 22 77 68 69 74 65 20 64 |egative "white d| 00002b20 6f 74 73 22 20 6f 6e 20 61 20 62 6c 61 63 6b 20 |ots" on a black | 00002b30 66 69 65 6c 64 20 61 6e 64 0a 74 68 75 73 20 22 |field and.thus "| 00002b40 63 61 76 65 73 20 69 6e 22 20 74 68 65 20 73 69 |caves in" the si| 00002b50 64 65 73 20 6f 66 20 70 69 78 65 6c 73 20 6d 61 |des of pixels ma| 00002b60 6b 69 6e 67 20 70 69 63 74 75 72 65 73 20 74 6f |king pictures to| 00002b70 6f 20 77 68 69 74 65 20 77 69 74 68 20 64 69 73 |o white with dis| 00002b80 70 65 72 73 65 64 0a 64 6f 74 20 64 69 74 68 65 |persed.dot dithe| 00002b90 72 2e 20 43 6c 75 73 74 65 72 65 64 20 64 6f 74 |r. Clustered dot| 00002ba0 20 64 69 74 68 65 72 20 72 65 64 75 63 65 73 20 | dither reduces | 00002bb0 74 68 65 20 65 66 66 65 63 74 73 20 6f 66 20 6d |the effects of m| 00002bc0 69 73 2d 73 69 7a 65 64 20 70 69 78 65 6c 73 20 |is-sized pixels | 00002bd0 62 79 0a 65 6e 73 75 72 69 6e 67 20 74 68 65 79 |by.ensuring they| 00002be0 20 61 72 65 20 61 64 6a 61 63 65 6e 74 20 28 61 | are adjacent (a| 00002bf0 6e 64 20 74 68 75 73 20 74 68 65 20 65 72 72 6f |nd thus the erro| 00002c00 72 20 69 73 20 63 6f 6e 66 69 6e 65 64 20 74 6f |r is confined to| 00002c10 20 74 68 65 20 70 65 72 69 70 68 65 72 79 20 6f | the periphery o| 00002c20 66 0a 74 68 65 20 73 68 61 70 65 29 20 62 75 74 |f.the shape) but| 00002c30 20 74 68 69 73 20 64 6f 65 73 20 68 61 76 65 20 | this does have | 00002c40 61 20 63 6f 73 74 20 69 6e 20 70 6f 6f 72 65 72 |a cost in poorer| 00002c50 20 72 65 73 6f 6c 75 74 69 6f 6e 2e 0a 0a 53 69 | resolution...Si| 00002c60 6e 63 65 20 43 68 61 6e 67 65 46 53 49 27 73 20 |nce ChangeFSI's | 00002c70 63 6f 6c 6f 75 72 20 6f 72 20 67 72 65 79 73 63 |colour or greysc| 00002c80 61 6c 65 20 6f 75 74 70 75 74 20 69 73 20 74 6f |ale output is to| 00002c90 20 43 52 54 73 20 28 6f 72 20 4c 43 44 73 20 69 | CRTs (or LCDs i| 00002ca0 6e 20 73 6f 6d 65 0a 64 69 73 74 61 6e 74 20 66 |n some.distant f| 00002cb0 75 74 75 72 65 29 20 69 74 20 61 75 74 6f 6d 61 |uture) it automa| 00002cc0 74 69 63 61 6c 6c 79 20 75 73 65 73 20 61 20 64 |tically uses a d| 00002cd0 69 73 70 65 72 73 65 64 20 64 6f 74 20 64 69 74 |ispersed dot dit| 00002ce0 68 65 72 2e 20 4d 6f 6e 6f 63 68 72 6f 6d 65 20 |her. Monochrome | 00002cf0 6f 75 74 70 75 74 0a 63 6f 75 6c 64 20 62 65 20 |output.could be | 00002d00 66 6f 72 20 74 68 65 20 73 63 72 65 65 6e 20 6f |for the screen o| 00002d10 72 20 66 6f 72 20 61 20 70 72 69 6e 74 65 72 3a |r for a printer:| 00002d20 20 74 68 65 20 75 73 65 72 20 63 61 6e 20 73 65 | the user can se| 00002d30 6c 65 63 74 20 62 65 74 77 65 65 6e 20 64 69 73 |lect between dis| 00002d40 70 65 72 73 65 64 0a 61 6e 64 20 63 6c 75 73 74 |persed.and clust| 00002d50 65 72 65 64 20 6d 65 74 68 6f 64 73 20 62 79 20 |ered methods by | 00002d60 61 64 64 69 6e 67 20 61 20 76 61 72 69 6f 75 73 |adding a various| 00002d70 20 73 75 66 66 69 63 65 73 20 28 22 63 22 2c 20 | suffices ("c", | 00002d80 22 64 22 20 6f 72 20 22 74 22 29 20 74 6f 20 74 |"d" or "t") to t| 00002d90 68 65 0a 6d 6f 64 65 20 6e 75 6d 62 65 72 20 66 |he.mode number f| 00002da0 6f 72 20 63 6c 75 73 74 65 72 65 64 20 6f 75 74 |or clustered out| 00002db0 70 75 74 2e 20 46 6f 72 20 22 63 22 20 74 68 65 |put. For "c" the| 00002dc0 20 61 6c 67 6f 72 69 74 68 6d 20 28 64 75 65 20 | algorithm (due | 00002dd0 74 6f 20 52 6f 62 65 72 74 20 4c 20 47 61 72 64 |to Robert L Gard| 00002de0 2c 0a 31 39 37 36 29 20 61 70 70 72 6f 78 69 6d |,.1976) approxim| 00002df0 61 74 65 73 20 74 6f 6e 65 73 20 69 6e 20 74 68 |ates tones in th| 00002e00 65 20 72 61 6e 67 65 20 30 2e 2e 31 36 20 28 31 |e range 0..16 (1| 00002e10 37 20 6c 65 76 65 6c 73 29 20 62 79 20 75 73 69 |7 levels) by usi| 00002e20 6e 67 20 30 2e 2e 31 36 20 22 6f 6e 22 0a 70 69 |ng 0..16 "on".pi| 00002e30 78 65 6c 73 20 69 6e 20 61 20 34 20 62 79 20 34 |xels in a 4 by 4| 00002e40 20 63 65 6c 6c 2e 20 46 6f 72 20 22 64 22 20 74 | cell. For "d" t| 00002e50 68 65 20 61 6c 67 6f 72 69 74 68 6d 20 28 64 65 |he algorithm (de| 00002e60 76 65 6c 6f 70 65 64 20 62 79 20 6d 65 2c 20 62 |veloped by me, b| 00002e70 75 74 20 73 69 6d 69 6c 61 72 20 74 6f 0a 47 61 |ut similar to.Ga| 00002e80 72 64 27 73 29 20 61 70 70 72 6f 78 69 6d 61 74 |rd's) approximat| 00002e90 65 73 20 74 6f 6e 65 73 20 69 6e 20 74 68 65 20 |es tones in the | 00002ea0 72 61 6e 67 65 20 30 2e 2e 34 20 28 35 20 6c 65 |range 0..4 (5 le| 00002eb0 76 65 6c 73 29 20 62 79 20 75 73 69 6e 67 20 30 |vels) by using 0| 00002ec0 2e 2e 34 20 22 6f 6e 22 0a 70 69 78 65 6c 73 20 |..4 "on".pixels | 00002ed0 69 6e 20 61 20 32 20 62 79 20 32 20 63 65 6c 6c |in a 2 by 2 cell| 00002ee0 2e 20 46 6f 72 20 22 74 22 20 74 68 65 20 61 6c |. For "t" the al| 00002ef0 67 6f 72 69 74 68 6d 20 28 64 69 74 74 6f 20 61 |gorithm (ditto a| 00002f00 73 20 22 64 22 29 20 61 70 70 72 6f 78 69 6d 61 |s "d") approxima| 00002f10 74 65 73 0a 74 6f 6e 65 73 20 69 6e 20 74 68 65 |tes.tones in the| 00002f20 20 72 61 6e 67 65 20 30 2e 2e 39 20 28 31 30 20 | range 0..9 (10 | 00002f30 6c 65 76 65 6c 73 29 20 62 79 20 75 73 69 6e 67 |levels) by using| 00002f40 20 30 2e 2e 39 20 22 6f 6e 22 20 70 69 78 65 6c | 0..9 "on" pixel| 00002f50 73 20 69 6e 20 61 20 33 20 62 79 20 33 20 63 65 |s in a 3 by 3 ce| 00002f60 6c 6c 2e 0a 54 68 65 20 22 6f 6e 22 20 70 69 78 |ll..The "on" pix| 00002f70 65 6c 73 20 61 72 65 20 63 61 72 65 66 75 6c 6c |els are carefull| 00002f80 79 20 63 68 6f 73 65 6e 20 74 6f 20 70 72 6f 76 |y chosen to prov| 00002f90 69 64 65 3a 20 28 61 29 20 73 79 6d 6d 65 74 72 |ide: (a) symmetr| 00002fa0 79 20 6f 66 20 77 68 69 74 65 2f 62 6c 61 63 6b |y of white/black| 00002fb0 0a 61 6e 64 20 62 6c 61 63 6b 2f 77 68 69 74 65 |.and black/white| 00002fc0 20 70 61 74 74 65 72 6e 73 20 28 62 29 20 64 69 | patterns (b) di| 00002fd0 61 67 6f 6e 61 6c 6c 79 20 6f 72 69 65 6e 74 65 |agonally oriente| 00002fe0 64 20 64 6f 74 20 67 72 69 64 2e 20 54 68 65 20 |d dot grid. The | 00002ff0 64 69 61 67 6f 6e 61 6c 20 61 6e 67 6c 65 0a 72 |diagonal angle.r| 00003000 65 64 75 63 65 73 20 74 68 65 20 65 79 65 27 73 |educes the eye's| 00003010 20 61 62 69 6c 69 74 79 20 74 6f 20 73 65 65 20 | ability to see | 00003020 74 68 65 20 72 65 63 74 61 6e 67 75 6c 61 72 20 |the rectangular | 00003030 70 61 74 74 65 72 6e 73 20 70 72 6f 64 75 63 65 |patterns produce| 00003040 64 2e 20 54 68 65 20 76 61 72 69 6f 75 73 0a 73 |d. The various.s| 00003050 69 7a 65 73 20 6f 66 20 74 68 65 20 68 61 6c 66 |izes of the half| 00003060 74 6f 6e 65 20 63 65 6c 6c 20 61 6c 6c 6f 77 20 |tone cell allow | 00003070 73 6f 6d 65 20 74 72 61 64 65 20 6f 66 66 20 62 |some trade off b| 00003080 65 74 77 65 65 6e 20 72 65 70 72 65 73 65 6e 74 |etween represent| 00003090 69 6e 67 20 74 68 65 20 74 6f 6e 61 6c 0a 76 61 |ing the tonal.va| 000030a0 6c 75 65 73 20 63 6f 72 72 65 63 74 6c 79 20 61 |lues correctly a| 000030b0 6e 64 20 6c 6f 73 73 20 6f 66 20 72 65 73 6f 6c |nd loss of resol| 000030c0 75 74 69 6f 6e 2e 20 53 74 61 72 74 20 77 69 74 |ution. Start wit| 000030d0 68 20 22 63 22 20 61 6e 64 20 70 72 6f 67 72 65 |h "c" and progre| 000030e0 73 73 20 74 6f 20 22 74 22 20 61 6e 64 0a 74 68 |ss to "t" and.th| 000030f0 65 6e 20 22 64 22 20 69 66 20 74 68 65 20 72 65 |en "d" if the re| 00003100 73 6f 6c 75 74 69 6f 6e 20 69 73 20 6e 6f 74 20 |solution is not | 00003110 61 63 63 65 70 74 61 62 6c 65 2e 0a 0a 43 68 61 |acceptable...Cha| 00003120 6e 67 65 46 53 49 20 63 61 6e 20 67 65 6e 65 72 |ngeFSI can gener| 00003130 61 74 65 20 72 65 61 73 6f 6e 61 62 6c 65 20 70 |ate reasonable p| 00003140 69 63 74 75 72 65 73 20 6f 6e 20 22 77 72 69 74 |ictures on "writ| 00003150 65 20 62 6c 61 63 6b 22 20 70 72 69 6e 74 65 72 |e black" printer| 00003160 73 20 77 69 74 68 20 61 0a 64 69 73 70 65 72 73 |s with a.dispers| 00003170 65 64 20 64 6f 74 20 64 69 74 68 65 72 20 62 79 |ed dot dither by| 00003180 20 75 73 69 6e 67 20 74 68 65 20 22 2d 62 6c 61 | using the "-bla| 00003190 63 6b 22 20 70 61 72 61 6d 65 74 65 72 3b 20 68 |ck" parameter; h| 000031a0 6f 77 65 76 65 72 20 69 6d 61 67 65 73 20 70 72 |owever images pr| 000031b0 6f 64 75 63 65 64 0a 6c 69 6b 65 20 74 68 69 73 |oduced.like this| 000031c0 20 64 6f 20 6e 6f 74 20 70 68 6f 74 6f 63 6f 70 | do not photocop| 000031d0 79 20 61 74 20 61 6c 6c 20 77 65 6c 6c 20 28 74 |y at all well (t| 000031e0 68 65 20 70 68 6f 74 6f 63 6f 70 69 65 72 20 6d |he photocopier m| 000031f0 61 6b 65 73 20 74 68 65 20 64 6f 74 73 20 62 6c |akes the dots bl| 00003200 61 63 6b 65 72 0a 61 67 61 69 6e 21 29 2e 20 54 |acker.again!). T| 00003210 68 65 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 |he parameter to | 00003220 2d 62 6c 61 63 6b 20 28 64 65 66 61 75 6c 74 20 |-black (default | 00003230 76 61 6c 75 65 20 33 32 2c 20 72 61 6e 67 65 20 |value 32, range | 00003240 30 2e 2e 31 32 38 29 20 74 65 6c 6c 73 0a 43 68 |0..128) tells.Ch| 00003250 61 6e 67 65 46 53 49 20 68 6f 77 20 6d 75 63 68 |angeFSI how much| 00003260 20 6c 61 72 67 65 72 20 74 68 61 6e 20 74 68 65 | larger than the| 00003270 20 69 64 65 61 6c 20 73 71 75 61 72 65 20 70 69 | ideal square pi| 00003280 78 65 6c 20 74 68 65 20 64 6f 74 73 20 70 72 6f |xel the dots pro| 00003290 64 75 63 65 64 20 62 79 20 74 68 65 0a 70 72 69 |duced by the.pri| 000032a0 6e 74 65 72 20 61 72 65 20 2d 20 31 32 38 20 63 |nter are - 128 c| 000032b0 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 61 6e |orresponds to an| 000032c0 20 69 6e 6b 65 64 20 64 6f 74 20 63 6f 76 65 72 | inked dot cover| 000032d0 69 6e 67 20 66 6f 75 72 20 74 69 6d 65 73 20 74 |ing four times t| 000032e0 68 65 20 61 72 65 61 20 6f 66 0a 74 68 65 20 69 |he area of.the i| 000032f0 64 65 61 6c 20 62 6c 61 63 6b 20 73 71 75 61 72 |deal black squar| 00003300 65 20 70 69 78 65 6c 20 28 61 6e 64 20 74 68 69 |e pixel (and thi| 00003310 73 20 77 69 6c 6c 20 67 65 6e 65 72 61 6c 6c 79 |s will generally| 00003320 20 6d 65 61 6e 20 43 68 61 6e 67 65 46 53 49 20 | mean ChangeFSI | 00003330 70 72 6f 64 75 63 65 73 0a 61 6e 20 65 6e 74 69 |produces.an enti| 00003340 72 65 6c 79 20 77 68 69 74 65 20 6f 75 74 70 75 |rely white outpu| 00003350 74 21 29 2e 20 56 61 6c 75 65 73 20 61 62 6f 76 |t!). Values abov| 00003360 65 20 36 34 20 67 69 76 65 20 72 61 74 68 65 72 |e 64 give rather| 00003370 20 70 6f 6f 72 20 72 65 73 75 6c 74 73 20 6f 6e | poor results on| 00003380 20 73 6f 6d 65 0a 70 69 63 74 75 72 65 73 20 62 | some.pictures b| 00003390 75 74 20 6d 61 79 20 62 65 20 77 6f 72 74 68 20 |ut may be worth | 000033a0 65 78 70 65 72 69 6d 65 6e 74 69 6e 67 20 77 69 |experimenting wi| 000033b0 74 68 2e 20 54 68 65 20 64 65 66 61 75 6c 74 20 |th. The default | 000033c0 69 73 20 33 32 2c 20 61 20 64 6f 74 20 63 6f 76 |is 32, a dot cov| 000033d0 65 72 69 6e 67 0a 35 30 25 20 6d 6f 72 65 20 61 |ering.50% more a| 000033e0 72 65 61 20 74 68 61 6e 20 74 68 65 20 73 71 75 |rea than the squ| 000033f0 61 72 65 20 70 69 78 65 6c 20 28 74 68 65 20 6d |are pixel (the m| 00003400 69 6e 69 6d 75 6d 20 63 69 72 63 6c 65 20 65 6e |inimum circle en| 00003410 63 6c 6f 73 69 6e 67 20 74 68 65 20 70 69 78 65 |closing the pixe| 00003420 6c 0a 73 71 75 61 72 65 29 2e 20 53 6f 6d 65 20 |l.square). Some | 00003430 70 72 69 6e 74 65 72 73 20 70 72 6f 64 75 63 65 |printers produce| 00003440 20 64 6f 74 73 20 6f 66 20 28 70 73 65 75 64 6f | dots of (pseudo| 00003450 2d 72 61 6e 64 6f 6d 6c 79 29 20 76 61 72 79 69 |-randomly) varyi| 00003460 6e 67 20 73 69 7a 65 73 20 61 6e 64 0a 62 6c 61 |ng sizes and.bla| 00003470 63 6b 20 63 6f 72 72 65 63 74 69 6f 6e 20 6d 61 |ck correction ma| 00003480 79 20 6e 6f 74 20 68 65 6c 70 20 77 69 74 68 20 |y not help with | 00003490 74 68 65 73 65 20 28 74 68 65 20 70 69 63 74 75 |these (the pictu| 000034a0 72 65 20 6c 6f 6f 6b 73 20 22 6e 6f 69 73 79 22 |re looks "noisy"| 000034b0 29 20 69 6e 20 77 68 69 63 68 0a 63 61 73 65 20 |) in which.case | 000034c0 75 73 65 20 6f 6e 65 20 6f 66 20 74 68 65 20 63 |use one of the c| 000034d0 6c 75 73 74 65 72 65 64 20 6f 75 74 70 75 74 20 |lustered output | 000034e0 6d 65 74 68 6f 64 73 2e 20 2d 62 6c 61 63 6b 20 |methods. -black | 000034f0 63 6f 72 72 65 63 74 69 6f 6e 20 6d 61 6b 65 73 |correction makes| 00003500 20 70 69 63 74 75 72 65 73 0a 6f 6e 20 74 68 65 | pictures.on the| 00003510 20 73 63 72 65 65 6e 20 6c 6f 6f 6b 20 76 65 72 | screen look ver| 00003520 79 20 70 61 6c 65 2c 20 73 69 6e 63 65 2c 20 69 |y pale, since, i| 00003530 66 20 61 6e 79 74 68 69 6e 67 2c 20 62 6c 61 63 |f anything, blac| 00003540 6b 20 70 69 78 65 6c 73 20 6f 6e 20 73 63 72 65 |k pixels on scre| 00003550 65 6e 20 61 72 65 0a 73 6d 61 6c 6c 65 72 20 74 |en are.smaller t| 00003560 68 61 6e 20 74 68 65 20 69 64 65 61 6c 20 73 71 |han the ideal sq| 00003570 75 61 72 65 2e 0a 0a 5b 61 73 69 64 65 3a 20 74 |uare...[aside: t| 00003580 6f 20 70 72 69 6e 74 20 74 68 65 73 65 20 70 69 |o print these pi| 00003590 63 74 75 72 65 73 2c 20 79 6f 75 20 6e 65 65 64 |ctures, you need| 000035a0 20 61 20 6d 65 74 68 6f 64 20 77 68 69 63 68 20 | a method which | 000035b0 63 6f 70 69 65 73 20 74 68 65 20 70 69 78 65 6c |copies the pixel| 000035c0 73 0a 43 68 61 6e 67 65 46 53 49 20 68 61 73 20 |s.ChangeFSI has | 000035d0 6d 61 64 65 20 65 78 61 63 74 6c 79 20 74 6f 20 |made exactly to | 000035e0 74 68 6f 73 65 20 6f 66 20 74 68 65 20 6f 75 74 |those of the out| 000035f0 70 75 74 20 64 65 76 69 63 65 2e 20 55 73 69 6e |put device. Usin| 00003600 67 20 21 50 61 69 6e 74 2c 20 73 63 61 6c 65 20 |g !Paint, scale | 00003610 58 0a 61 6e 64 20 59 20 62 79 20 39 30 3a 33 30 |X.and Y by 90:30| 00003620 30 20 66 6f 72 20 61 20 33 30 30 64 70 69 20 70 |0 for a 300dpi p| 00003630 72 69 6e 74 65 72 2e 5d 0a 0a 49 6e 20 61 6c 6c |rinter.]..In all| 00003640 20 63 61 73 65 73 2c 20 61 6e 20 61 70 70 72 6f | cases, an appro| 00003650 78 69 6d 61 74 69 6f 6e 20 74 6f 20 61 20 63 6f |ximation to a co| 00003660 6c 6f 75 72 20 77 69 6c 6c 20 70 72 6f 64 75 63 |lour will produc| 00003670 65 20 61 6e 20 65 72 72 6f 72 20 28 77 68 69 63 |e an error (whic| 00003680 68 20 6d 69 67 68 74 0a 70 6f 73 73 69 62 6c 79 |h might.possibly| 00003690 20 62 65 20 7a 65 72 6f 20 69 66 20 43 68 61 6e | be zero if Chan| 000036a0 67 65 46 53 49 20 69 73 20 76 65 72 79 20 6c 75 |geFSI is very lu| 000036b0 63 6b 79 29 2e 20 43 68 61 6e 67 65 46 53 49 20 |cky). ChangeFSI | 000036c0 74 72 61 63 6b 73 20 74 68 65 73 65 20 65 72 72 |tracks these err| 000036d0 6f 72 73 20 61 6e 64 0a 65 6e 73 75 72 65 73 20 |ors and.ensures | 000036e0 74 68 61 74 20 6f 76 65 72 20 77 69 64 65 20 61 |that over wide a| 000036f0 72 65 61 73 20 74 68 65 72 65 20 69 73 20 6e 6f |reas there is no| 00003700 20 6f 76 65 72 61 6c 6c 20 65 72 72 6f 72 20 75 | overall error u| 00003710 73 69 6e 67 20 61 20 74 65 63 68 6e 69 71 75 65 |sing a technique| 00003720 20 63 61 6c 6c 65 64 0a 22 65 72 72 6f 72 20 64 | called."error d| 00003730 69 66 66 75 73 69 6f 6e 22 2c 20 66 69 72 73 74 |iffusion", first| 00003740 20 64 65 76 69 73 65 64 20 62 79 20 52 20 57 20 | devised by R W | 00003750 46 6c 6f 79 64 20 61 6e 64 20 4c 20 53 74 65 69 |Floyd and L Stei| 00003760 6e 62 65 72 67 20 69 6e 20 31 39 37 35 2e 20 49 |nberg in 1975. I| 00003770 6e 20 74 68 69 73 0a 74 65 63 68 6e 69 71 75 65 |n this.technique| 00003780 20 74 68 65 20 61 70 70 72 6f 78 69 6d 61 74 69 | the approximati| 00003790 6f 6e 20 69 73 20 6d 61 64 65 20 61 6e 64 20 74 |on is made and t| 000037a0 68 65 20 65 72 72 6f 72 20 64 69 73 74 72 69 62 |he error distrib| 000037b0 75 74 65 64 20 74 6f 20 6e 65 61 72 62 79 20 70 |uted to nearby p| 000037c0 69 78 65 6c 73 0a 69 6e 20 74 68 65 20 66 6f 6c |ixels.in the fol| 000037d0 6c 6f 77 69 6e 67 20 72 61 74 69 6f 73 3a 0a 0a |lowing ratios:..| 000037e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000037f0 63 75 72 72 65 6e 74 20 70 69 78 65 6c 20 20 20 |current pixel | 00003800 37 2f 31 36 20 6f 66 20 65 72 72 6f 72 0a 33 2f |7/16 of error.3/| 00003810 31 36 20 6f 66 20 65 72 72 6f 72 20 20 20 35 2f |16 of error 5/| 00003820 31 36 20 6f 66 20 65 72 72 6f 72 20 20 20 31 2f |16 of error 1/| 00003830 31 36 20 6f 66 20 65 72 72 6f 72 0a 0a 43 68 61 |16 of error..Cha| 00003840 6e 67 65 46 53 49 20 67 65 74 73 20 73 6f 6d 65 |ngeFSI gets some| 00003850 20 6f 66 20 69 74 73 20 6e 61 6d 65 20 66 72 6f | of its name fro| 00003860 6d 20 46 6c 6f 79 64 20 61 6e 64 20 53 74 65 69 |m Floyd and Stei| 00003870 6e 62 65 72 67 2e 20 41 64 64 69 74 69 6f 6e 61 |nberg. Additiona| 00003880 6c 6c 79 2c 0a 43 68 61 6e 67 65 46 53 49 20 73 |lly,.ChangeFSI s| 00003890 63 61 6e 73 20 74 68 72 6f 75 67 68 20 74 68 65 |cans through the| 000038a0 20 70 69 63 74 75 72 65 20 69 6e 20 61 20 73 65 | picture in a se| 000038b0 72 70 65 6e 74 69 6e 65 20 66 61 73 68 69 6f 6e |rpentine fashion| 000038c0 2c 20 64 6f 69 6e 67 20 61 20 72 6f 77 20 6f 66 |, doing a row of| 000038d0 0a 70 69 78 65 6c 73 20 6c 65 66 74 20 74 6f 20 |.pixels left to | 000038e0 72 69 67 68 74 20 66 6f 6c 6c 6f 77 65 64 20 62 |right followed b| 000038f0 79 20 74 68 65 20 6e 65 78 74 20 72 6f 77 20 72 |y the next row r| 00003900 69 67 68 74 20 74 6f 20 6c 65 66 74 2e 20 54 68 |ight to left. Th| 00003910 69 73 20 72 65 64 75 63 65 73 20 74 68 65 0a 70 |is reduces the.p| 00003920 72 6f 62 61 62 69 6c 69 74 79 20 6f 66 20 72 65 |robability of re| 00003930 67 75 6c 61 72 20 70 61 74 74 65 72 6e 73 20 77 |gular patterns w| 00003940 68 69 63 68 20 74 68 65 20 65 79 65 20 69 73 20 |hich the eye is | 00003950 73 65 6e 73 69 74 69 76 65 20 74 6f 2e 20 54 68 |sensitive to. Th| 00003960 65 20 66 69 6e 61 6c 20 49 20 6f 66 0a 74 68 65 |e final I of.the| 00003970 20 6e 61 6d 65 20 69 73 20 66 6f 72 20 49 6e 74 | name is for Int| 00003980 65 67 65 72 3a 20 43 68 61 6e 67 65 46 53 49 20 |eger: ChangeFSI | 00003990 64 6f 65 73 20 61 6c 6c 20 69 74 73 20 77 6f 72 |does all its wor| 000039a0 6b 20 69 6e 20 33 32 20 62 69 74 20 66 69 78 65 |k in 32 bit fixe| 000039b0 64 20 70 6f 69 6e 74 0a 69 6e 74 65 67 65 72 20 |d point.integer | 000039c0 61 72 69 74 68 6d 65 74 69 63 20 28 77 69 74 68 |arithmetic (with| 000039d0 20 74 68 65 20 70 6f 69 6e 74 20 61 74 20 62 69 | the point at bi| 000039e0 74 20 32 38 29 20 69 6e 73 74 65 61 64 20 6f 66 |t 28) instead of| 000039f0 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 2e | floating point.| 00003a00 0a 44 69 74 68 65 72 69 6e 67 20 63 61 6e 20 62 |.Dithering can b| 00003a10 65 20 74 75 72 6e 65 64 20 6f 66 66 20 75 73 69 |e turned off usi| 00003a20 6e 67 20 75 73 69 6e 67 20 22 44 69 73 61 62 6c |ng using "Disabl| 00003a30 65 20 44 69 74 68 65 72 69 6e 67 22 20 6f 6e 20 |e Dithering" on | 00003a40 74 68 65 20 50 72 6f 63 65 73 73 69 6e 67 0a 64 |the Processing.d| 00003a50 69 61 6c 6f 67 75 65 20 28 22 2d 6e 6f 64 69 74 |ialogue ("-nodit| 00003a60 68 65 72 22 20 6f 6e 20 74 68 65 20 63 6f 6d 6d |her" on the comm| 00003a70 61 6e 64 20 6c 69 6e 65 29 20 77 68 69 63 68 20 |and line) which | 00003a80 61 74 20 6c 65 61 73 74 20 61 6c 6c 6f 77 73 20 |at least allows | 00003a90 79 6f 75 20 74 6f 20 73 65 65 20 68 6f 77 0a 77 |you to see how.w| 00003aa0 65 6c 6c 20 69 74 20 64 6f 65 73 21 0a 0a 54 68 |ell it does!..Th| 00003ab0 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 66 72 6f |e conversion fro| 00003ac0 6d 20 6f 6e 65 20 63 6f 6c 6f 75 72 20 72 61 6e |m one colour ran| 00003ad0 67 65 20 74 6f 20 61 6e 6f 74 68 65 72 20 69 73 |ge to another is| 00003ae0 20 6d 61 64 65 20 61 74 20 74 68 65 20 73 61 6d | made at the sam| 00003af0 65 20 74 69 6d 65 20 61 73 20 61 0a 63 68 61 6e |e time as a.chan| 00003b00 67 65 20 69 6e 20 73 69 7a 65 20 6f 66 20 74 68 |ge in size of th| 00003b10 65 20 69 6d 61 67 65 2e 20 53 69 7a 65 20 69 73 |e image. Size is| 00003b20 20 63 68 61 6e 67 65 64 20 62 79 20 72 61 74 69 | changed by rati| 00003b30 6f 73 20 6f 66 20 61 72 65 61 73 20 62 65 74 77 |os of areas betw| 00003b40 65 65 6e 20 74 68 65 0a 69 6e 70 75 74 20 61 6e |een the.input an| 00003b50 64 20 6f 75 74 70 75 74 3a 20 74 68 65 20 74 6f |d output: the to| 00003b60 74 61 6c 20 77 65 69 67 68 74 20 6f 66 20 72 2c |tal weight of r,| 00003b70 20 67 2c 20 61 6e 64 20 62 20 69 6e 20 74 68 65 | g, and b in the| 00003b80 20 73 6f 75 72 63 65 20 61 72 65 61 20 69 73 0a | source area is.| 00003b90 63 61 6c 63 75 6c 61 74 65 64 20 75 73 69 6e 67 |calculated using| 00003ba0 20 74 68 65 20 66 69 78 65 64 20 70 6f 69 6e 74 | the fixed point| 00003bb0 20 61 72 69 74 68 6d 65 74 69 63 20 61 6e 64 20 | arithmetic and | 00003bc0 74 68 69 73 20 72 65 73 75 6c 74 20 69 73 20 74 |this result is t| 00003bd0 68 65 6e 0a 61 70 70 72 6f 78 69 6d 61 74 65 64 |hen.approximated| 00003be0 20 74 6f 20 74 68 65 20 6f 75 74 70 75 74 20 75 | to the output u| 00003bf0 73 69 6e 67 20 74 68 65 20 65 72 72 6f 72 20 64 |sing the error d| 00003c00 69 66 66 75 73 69 6f 6e 20 74 6f 20 70 72 65 73 |iffusion to pres| 00003c10 65 72 76 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e |erve information| 00003c20 0a 28 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 63 |.(for example, c| 00003c30 6f 6e 73 69 64 65 72 20 68 61 6c 76 69 6e 67 20 |onsider halving | 00003c40 69 6e 20 73 69 7a 65 20 61 6e 20 69 6d 61 67 65 |in size an image| 00003c50 20 77 69 74 68 20 61 64 6a 61 63 65 6e 74 20 70 | with adjacent p| 00003c60 69 78 65 6c 73 20 6f 66 0a 69 6e 74 65 6e 73 69 |ixels of.intensi| 00003c70 74 69 65 73 20 31 20 61 6e 64 20 32 3b 20 74 68 |ties 1 and 2; th| 00003c80 65 20 6f 75 74 70 75 74 20 70 69 78 65 6c 20 6e |e output pixel n| 00003c90 65 65 64 73 20 74 6f 20 62 65 20 76 61 6c 75 65 |eeds to be value| 00003ca0 20 31 2e 35 2c 20 73 6f 20 74 68 65 20 30 2e 35 | 1.5, so the 0.5| 00003cb0 20 65 72 72 6f 72 0a 69 73 20 73 65 6e 74 20 74 | error.is sent t| 00003cc0 6f 20 61 64 6a 61 63 65 6e 74 20 70 69 78 65 6c |o adjacent pixel| 00003cd0 73 20 74 6f 20 6b 65 65 70 20 74 68 65 20 6f 76 |s to keep the ov| 00003ce0 65 72 61 6c 6c 20 63 6f 6c 6f 75 72 20 74 68 65 |erall colour the| 00003cf0 20 73 61 6d 65 29 2e 20 54 68 65 20 73 69 7a 65 | same). The size| 00003d00 0a 63 68 61 6e 67 65 20 69 73 20 65 78 70 72 65 |.change is expre| 00003d10 73 73 65 64 20 61 73 20 61 20 72 61 74 69 6f 20 |ssed as a ratio | 00003d20 6f 66 20 6f 75 74 70 75 74 20 74 6f 20 69 6e 70 |of output to inp| 00003d30 75 74 20 28 65 2e 67 2e 20 34 30 3a 32 30 29 20 |ut (e.g. 40:20) | 00003d40 77 68 69 63 68 20 43 68 61 6e 67 65 46 53 49 0a |which ChangeFSI.| 00003d50 72 65 64 75 63 65 73 20 74 6f 20 74 68 65 20 73 |reduces to the s| 00003d60 6d 61 6c 6c 65 73 74 20 70 6f 73 73 69 62 6c 65 |mallest possible| 00003d70 20 74 65 72 6d 73 20 28 32 3a 31 20 69 6e 20 74 | terms (2:1 in t| 00003d80 68 69 73 20 63 61 73 65 29 20 73 6f 20 74 68 61 |his case) so tha| 00003d90 74 20 79 6f 75 20 61 72 65 20 66 72 65 65 0a 74 |t you are free.t| 00003da0 6f 20 67 69 76 65 20 76 61 6c 75 65 73 20 6c 69 |o give values li| 00003db0 6b 65 20 32 35 36 3a 35 31 32 20 69 66 20 74 68 |ke 256:512 if th| 00003dc0 61 74 27 73 20 77 68 61 74 20 79 6f 75 20 6d 65 |at's what you me| 00003dd0 61 6e 21 20 53 69 7a 65 20 63 68 61 6e 67 65 20 |an! Size change | 00003de0 69 73 20 65 69 74 68 65 72 20 62 6f 74 68 0a 78 |is either both.x| 00003df0 20 61 6e 64 20 79 20 28 69 66 20 6f 6e 65 20 72 | and y (if one r| 00003e00 61 74 69 6f 20 69 73 20 67 69 76 65 6e 29 20 6f |atio is given) o| 00003e10 72 20 73 65 70 61 72 61 74 65 20 78 20 61 6e 64 |r separate x and| 00003e20 20 79 20 28 69 66 20 74 77 6f 20 72 61 74 69 6f | y (if two ratio| 00003e30 73 20 61 72 65 20 67 69 76 65 6e 29 2e 0a 4e 6f |s are given)..No| 00003e40 74 65 20 74 68 61 74 20 74 68 65 20 73 69 7a 65 |te that the size| 00003e50 20 6f 66 20 61 20 52 49 53 43 20 4f 53 20 70 69 | of a RISC OS pi| 00003e60 78 65 6c 20 69 73 20 6b 6e 6f 77 6e 2c 20 73 6f |xel is known, so| 00003e70 20 63 68 61 6e 67 69 6e 67 20 66 72 6f 6d 20 28 | changing from (| 00003e80 73 61 79 29 20 6d 6f 64 65 20 32 31 0a 74 6f 20 |say) mode 21.to | 00003e90 28 73 61 79 29 20 6d 6f 64 65 20 31 33 20 64 6f |(say) mode 13 do| 00003ea0 65 73 20 6e 6f 74 20 6e 65 65 64 20 61 6e 79 20 |es not need any | 00003eb0 61 64 64 69 74 69 6f 6e 61 6c 20 73 70 65 63 69 |additional speci| 00003ec0 66 69 65 64 20 73 63 61 6c 69 6e 67 2e 20 54 68 |fied scaling. Th| 00003ed0 65 20 66 75 6c 6c 20 73 69 7a 65 0a 6f 75 74 70 |e full size.outp| 00003ee0 75 74 20 66 6f 72 20 6d 6f 64 65 20 32 31 20 69 |ut for mode 21 i| 00003ef0 73 20 74 68 65 20 72 65 66 65 72 65 6e 63 65 2c |s the reference,| 00003f00 20 73 6f 20 73 63 61 6c 65 20 74 6f 20 36 34 30 | so scale to 640| 00003f10 20 62 79 20 35 31 32 2e 20 41 20 63 6f 6d 6d 6f | by 512. A commo| 00003f20 6e 20 73 63 61 6c 69 6e 67 0a 69 73 20 74 6f 20 |n scaling.is to | 00003f30 66 69 6c 6c 20 74 68 65 20 6f 75 74 70 75 74 20 |fill the output | 00003f40 73 70 72 69 74 65 20 77 69 74 68 20 74 68 65 20 |sprite with the | 00003f50 69 6e 70 75 74 20 61 6e 64 20 61 6e 20 22 3d 22 |input and an "="| 00003f60 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 78 20 | parameter to x | 00003f70 61 6e 64 2f 6f 72 20 79 0a 72 61 74 69 6f 73 20 |and/or y.ratios | 00003f80 77 69 6c 6c 20 64 6f 20 74 68 69 73 20 77 69 74 |will do this wit| 00003f90 68 6f 75 74 20 65 76 65 72 20 68 61 76 69 6e 67 |hout ever having| 00003fa0 20 74 6f 20 6b 6e 6f 77 20 74 68 65 20 73 69 7a | to know the siz| 00003fb0 65 20 6f 66 20 74 68 65 20 69 6e 70 75 74 2e 20 |e of the input. | 00003fc0 53 69 6d 70 6c 79 0a 6f 6d 69 74 74 69 6e 67 20 |Simply.omitting | 00003fd0 74 68 65 20 66 72 61 63 74 69 6f 6e 61 6c 20 70 |the fractional p| 00003fe0 61 72 74 20 63 61 75 73 65 73 20 43 68 61 6e 67 |art causes Chang| 00003ff0 65 46 53 49 20 74 6f 20 70 75 74 20 69 6e 20 74 |eFSI to put in t| 00004000 68 65 20 73 6f 75 72 63 65 20 73 69 7a 65 2c 20 |he source size, | 00004010 74 68 75 73 0a 67 69 76 69 6e 67 20 6f 75 74 70 |thus.giving outp| 00004020 75 74 20 77 68 69 63 68 20 69 73 20 74 68 65 20 |ut which is the | 00004030 73 70 65 63 69 66 69 65 64 20 6e 75 6d 62 65 72 |specified number| 00004040 20 6f 66 20 70 69 78 65 6c 73 20 69 6e 20 73 69 | of pixels in si| 00004050 7a 65 2e 0a 0a 43 6f 6e 76 65 72 73 69 6f 6e 20 |ze...Conversion | 00004060 66 72 6f 6d 20 63 6f 6c 6f 75 72 20 74 6f 20 6d |from colour to m| 00004070 6f 6e 6f 63 68 72 6f 6d 65 20 73 68 61 64 65 73 |onochrome shades| 00004080 20 6f 66 20 67 72 65 79 20 69 73 20 64 6f 6e 65 | of grey is done| 00004090 20 77 69 74 68 20 74 68 65 20 43 49 45 0a 6c 75 | with the CIE.lu| 000040a0 6d 69 6e 61 6e 63 65 20 77 65 69 67 68 74 73 20 |minance weights | 000040b0 66 6f 72 20 72 2c 20 67 20 61 6e 64 20 62 20 28 |for r, g and b (| 000040c0 30 2e 32 39 39 2c 20 30 2e 35 38 37 2c 20 30 2e |0.299, 0.587, 0.| 000040d0 31 31 34 29 20 77 68 69 63 68 20 69 73 20 74 68 |114) which is th| 000040e0 65 20 73 74 61 6e 64 61 72 64 0a 63 6f 6e 76 65 |e standard.conve| 000040f0 72 73 69 6f 6e 20 66 6f 72 20 62 72 6f 61 64 63 |rsion for broadc| 00004100 61 73 74 20 74 65 6c 65 76 69 73 69 6f 6e 2e 20 |ast television. | 00004110 54 68 65 73 65 20 76 61 6c 75 65 73 20 63 61 6e |These values can| 00004120 20 62 65 20 61 6c 74 65 72 65 64 20 75 73 69 6e | be altered usin| 00004130 67 20 74 68 65 0a 2d 72 65 64 2c 20 2d 67 72 65 |g the.-red, -gre| 00004140 65 6e 20 61 6e 64 20 2d 62 6c 75 65 20 63 6f 6d |en and -blue com| 00004150 6d 61 6e 64 73 20 61 6e 64 20 61 6c 6c 6f 77 20 |mands and allow | 00004160 64 69 66 66 65 72 65 6e 74 20 77 65 69 67 68 74 |different weight| 00004170 69 6e 67 73 20 66 6f 72 20 63 6f 6e 76 65 72 73 |ings for convers| 00004180 69 6f 6e 0a 74 6f 20 6d 6f 6e 6f 63 68 72 6f 6d |ion.to monochrom| 00004190 65 20 74 6f 20 62 65 20 74 72 69 65 64 2c 20 74 |e to be tried, t| 000041a0 68 69 73 20 61 6c 73 6f 20 61 6c 6c 6f 77 73 20 |his also allows | 000041b0 73 65 6c 65 63 74 69 6f 6e 20 6f 66 20 61 6e 20 |selection of an | 000041c0 69 6d 61 67 65 20 63 6f 6d 70 6f 73 65 64 20 6f |image composed o| 000041d0 66 0a 6f 6e 6c 79 20 73 6f 6d 65 20 6f 66 20 74 |f.only some of t| 000041e0 68 65 20 63 6f 6c 6f 75 72 73 20 28 65 2e 67 2e |he colours (e.g.| 000041f0 20 2d 72 65 64 31 20 2d 67 72 65 65 6e 30 20 2d | -red1 -green0 -| 00004200 62 6c 75 65 30 29 20 69 6e 20 6d 61 6b 69 6e 67 |blue0) in making| 00004210 20 61 20 62 6c 61 63 6b 20 61 6e 64 0a 77 68 69 | a black and.whi| 00004220 74 65 20 69 6d 61 67 65 2e 0a 0a 43 68 61 6e 67 |te image...Chang| 00004230 65 46 53 49 20 63 61 6e 20 74 61 6b 65 20 61 6e |eFSI can take an| 00004240 79 20 52 49 53 43 20 4f 53 20 73 70 72 69 74 65 |y RISC OS sprite| 00004250 73 20 28 32 2c 20 34 2c 20 31 36 20 6f 72 20 32 |s (2, 4, 16 or 2| 00004260 35 36 20 63 6f 6c 6f 75 72 73 29 2e 20 49 66 20 |56 colours). If | 00004270 74 68 65 72 65 20 69 73 20 61 0a 70 61 6c 65 74 |there is a.palet| 00004280 74 65 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 |te it will be us| 00004290 65 64 2c 20 6f 74 68 65 72 77 69 73 65 20 74 68 |ed, otherwise th| 000042a0 65 20 73 74 61 6e 64 61 72 64 20 32 2c 20 34 2c |e standard 2, 4,| 000042b0 20 31 36 20 61 6e 64 20 32 35 36 20 63 6f 6c 6f | 16 and 256 colo| 000042c0 75 72 20 64 65 73 6b 74 6f 70 0a 70 61 6c 65 74 |ur desktop.palet| 000042d0 74 65 73 20 61 72 65 20 75 73 65 64 2e 20 43 68 |tes are used. Ch| 000042e0 61 6e 67 65 46 53 49 20 63 61 6e 20 61 6c 73 6f |angeFSI can also| 000042f0 20 72 65 61 64 20 74 68 65 20 31 36 62 70 70 20 | read the 16bpp | 00004300 61 6e 64 20 32 34 62 70 70 20 73 70 72 69 74 65 |and 24bpp sprite| 00004310 73 20 77 68 69 63 68 0a 68 61 76 65 20 6e 6f 20 |s which.have no | 00004320 70 61 6c 65 74 74 65 73 2e 0a 0a 43 68 61 6e 67 |palettes...Chang| 00004330 65 46 53 49 20 69 73 20 62 6f 74 68 20 61 20 63 |eFSI is both a c| 00004340 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 64 72 69 76 |ommand line driv| 00004350 65 6e 20 70 72 6f 67 72 61 6d 20 61 6e 64 20 61 |en program and a| 00004360 20 64 65 73 6b 74 6f 70 20 61 70 70 6c 69 63 61 | desktop applica| 00004370 74 69 6f 6e 2e 20 54 68 65 0a 66 69 6c 65 20 21 |tion. The.file !| 00004380 48 65 6c 70 20 64 65 73 63 72 69 62 65 73 20 68 |Help describes h| 00004390 6f 77 20 74 6f 20 75 73 65 20 74 68 65 20 61 70 |ow to use the ap| 000043a0 70 6c 69 63 61 74 69 6f 6e 20 66 72 6f 6d 20 74 |plication from t| 000043b0 68 65 20 64 65 73 6b 74 6f 70 2c 20 69 66 20 79 |he desktop, if y| 000043c0 6f 75 20 6e 65 65 64 0a 74 6f 20 75 73 65 20 74 |ou need.to use t| 000043d0 68 65 20 70 72 6f 67 72 61 6d 20 61 73 20 61 20 |he program as a | 000043e0 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 64 72 69 |command line dri| 000043f0 76 65 6e 20 70 72 6f 67 72 61 6d 20 79 6f 75 20 |ven program you | 00004400 77 69 6c 6c 20 6e 65 65 64 20 74 6f 20 68 61 76 |will need to hav| 00004410 65 20 69 74 20 69 6e 0a 74 68 65 20 6c 69 62 72 |e it in.the libr| 00004420 61 72 79 20 28 6f 72 20 6f 6e 20 72 75 6e 24 70 |ary (or on run$p| 00004430 61 74 68 29 20 61 6e 64 20 70 72 65 73 73 20 66 |ath) and press f| 00004440 31 32 20 74 6f 20 67 65 74 20 6f 75 74 20 6f 66 |12 to get out of| 00004450 20 74 68 65 20 64 65 73 6b 74 6f 70 2e 20 54 68 | the desktop. Th| 00004460 65 20 66 69 6c 65 0a 22 46 53 49 75 73 65 22 20 |e file."FSIuse" | 00004470 64 65 73 63 72 69 62 65 73 20 74 68 65 20 70 61 |describes the pa| 00004480 72 61 6d 65 74 65 72 73 20 63 6f 6e 63 69 73 65 |rameters concise| 00004490 6c 79 2e 20 54 68 65 20 70 72 6f 67 72 61 6d 20 |ly. The program | 000044a0 73 65 6c 65 63 74 73 20 6d 6f 64 65 20 30 20 77 |selects mode 0 w| 000044b0 68 65 6e 0a 72 75 6e 20 66 72 6f 6d 20 74 68 65 |hen.run from the| 000044c0 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 77 68 | command line wh| 000044d0 65 6e 20 64 6f 69 6e 67 20 61 6e 79 20 77 6f 72 |en doing any wor| 000044e0 6b 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 73 70 |k in order to sp| 000044f0 65 65 64 20 75 70 20 70 72 6f 63 65 73 73 69 6e |eed up processin| 00004500 67 0a 28 74 68 69 73 20 63 61 6e 20 62 65 20 64 |g.(this can be d| 00004510 69 73 61 62 6c 65 64 20 77 69 74 68 20 2d 6e 6f |isabled with -no| 00004520 6d 6f 64 65 29 2e 20 49 74 20 6d 61 79 20 61 6c |mode). It may al| 00004530 73 6f 20 62 65 20 61 20 67 6f 6f 64 20 69 64 65 |so be a good ide| 00004540 61 20 74 6f 20 52 4d 46 61 73 74 65 72 0a 42 41 |a to RMFaster.BA| 00004550 53 49 43 2e 20 41 6e 20 68 6f 75 72 67 6c 61 73 |SIC. An hourglas| 00004560 73 20 25 61 67 65 20 70 72 6f 63 65 73 73 65 64 |s %age processed| 00004570 20 66 69 67 75 72 65 20 69 73 20 64 69 73 70 6c | figure is displ| 00004580 61 79 65 64 20 28 74 68 69 73 20 6d 61 79 20 72 |ayed (this may r| 00004590 75 6e 20 74 68 72 6f 75 67 68 0a 74 77 69 63 65 |un through.twice| 000045a0 20 66 6f 72 20 73 6f 6d 65 20 6f 66 20 74 68 65 | for some of the| 000045b0 20 6d 6f 72 65 20 65 78 70 65 6e 73 69 76 65 20 | more expensive | 000045c0 6f 70 74 69 6f 6e 73 29 2e 20 54 68 65 20 70 72 |options). The pr| 000045d0 6f 67 72 61 6d 20 72 65 61 64 73 20 74 68 65 20 |ogram reads the | 000045e0 73 6f 75 72 63 65 0a 69 6d 61 67 65 20 66 72 6f |source.image fro| 000045f0 6d 20 64 69 73 63 20 61 6e 64 20 62 75 69 6c 64 |m disc and build| 00004600 73 20 74 68 65 20 6f 75 74 70 75 74 20 69 6e 20 |s the output in | 00004610 6d 65 6d 6f 72 79 2c 20 68 61 76 69 6e 67 20 63 |memory, having c| 00004620 6c 61 69 6d 65 64 20 73 6f 6d 65 20 66 72 6f 6d |laimed some from| 00004630 20 74 68 65 0a 73 79 73 74 65 6d 2e 0a 0a 49 6e | the.system...In| 00004640 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 73 74 72 | addition to str| 00004650 69 63 74 6c 79 20 63 6f 6e 76 65 72 74 69 6e 67 |ictly converting| 00004660 20 74 68 65 20 73 6f 75 72 63 65 20 69 6d 61 67 | the source imag| 00004670 65 2c 20 43 68 61 6e 67 65 46 53 49 20 63 61 6e |e, ChangeFSI can| 00004680 20 61 6c 73 6f 20 70 72 6f 63 65 73 73 0a 69 74 | also process.it| 00004690 2e 20 41 20 74 72 69 76 69 61 6c 20 6f 70 74 69 |. A trivial opti| 000046a0 6f 6e 20 69 73 20 22 2d 69 6e 66 6f 22 3a 20 43 |on is "-info": C| 000046b0 68 61 6e 67 65 46 53 49 20 77 69 6c 6c 20 74 65 |hangeFSI will te| 000046c0 6c 6c 20 79 6f 75 20 77 68 61 74 20 69 74 20 69 |ll you what it i| 000046d0 73 20 64 6f 69 6e 67 20 28 61 0a 67 6f 6f 64 20 |s doing (a.good | 000046e0 77 61 79 20 6f 66 20 66 69 6e 64 69 6e 67 20 6f |way of finding o| 000046f0 75 74 20 77 68 61 74 20 74 68 65 20 73 6f 75 72 |ut what the sour| 00004700 63 65 20 69 6d 61 67 65 20 61 63 74 75 61 6c 6c |ce image actuall| 00004710 79 20 69 73 2c 20 61 6e 64 20 68 6f 77 20 74 68 |y is, and how th| 00004720 65 20 73 63 61 6c 69 6e 67 0a 74 75 72 6e 73 20 |e scaling.turns | 00004730 6f 75 74 21 29 2e 20 53 69 6d 69 6c 61 72 6c 79 |out!). Similarly| 00004740 20 74 72 69 76 69 61 6c 20 61 72 65 20 2d 76 66 | trivial are -vf| 00004750 6c 69 70 20 61 6e 64 20 2d 68 66 6c 69 70 20 2d |lip and -hflip -| 00004760 20 74 68 65 20 70 69 63 74 75 72 65 20 63 61 6e | the picture can| 00004770 20 62 65 0a 70 72 6f 64 75 63 65 20 75 70 73 69 | be.produce upsi| 00004780 64 65 20 64 6f 77 6e 20 61 6e 64 20 6c 65 66 74 |de down and left| 00004790 2f 72 69 67 68 74 20 72 65 76 65 72 73 65 64 2e |/right reversed.| 000047a0 20 4e 6f 74 20 73 6f 20 74 72 69 76 69 61 6c 20 | Not so trivial | 000047b0 69 73 20 2d 72 6f 74 61 74 65 2c 20 77 68 69 63 |is -rotate, whic| 000047c0 68 0a 77 69 6c 6c 20 72 6f 74 61 74 65 20 74 68 |h.will rotate th| 000047d0 65 20 69 6d 61 67 65 20 62 79 20 39 30 20 64 65 |e image by 90 de| 000047e0 67 72 65 65 73 20 28 74 68 61 74 20 69 73 2c 20 |grees (that is, | 000047f0 61 6e 20 61 6e 74 69 2d 20 63 6c 6f 63 6b 77 69 |an anti- clockwi| 00004800 73 65 20 71 75 61 72 74 65 72 20 74 75 72 6e 29 |se quarter turn)| 00004810 2e 0a 2d 72 6f 74 61 74 65 2d 20 72 6f 74 61 74 |..-rotate- rotat| 00004820 65 73 20 62 79 20 2d 39 30 20 64 65 67 72 65 65 |es by -90 degree| 00004830 73 20 28 63 6c 6f 63 6b 77 69 73 65 20 71 75 61 |s (clockwise qua| 00004840 72 74 65 72 20 74 75 72 6e 29 2e 0a 0a 53 6f 6d |rter turn)...Som| 00004850 65 74 69 6d 65 73 20 75 73 65 66 75 6c 20 69 73 |etimes useful is| 00004860 20 22 2d 6e 6f 73 69 7a 65 22 3a 20 43 68 61 6e | "-nosize": Chan| 00004870 67 65 46 53 49 20 63 61 6e 20 72 65 61 64 20 70 |geFSI can read p| 00004880 69 78 65 6c 20 73 69 7a 65 20 69 6e 66 6f 72 6d |ixel size inform| 00004890 61 74 69 6f 6e 20 66 72 6f 6d 0a 74 68 65 20 73 |ation from.the s| 000048a0 6f 75 72 63 65 20 69 6d 61 67 65 20 28 69 66 20 |ource image (if | 000048b0 70 72 65 73 65 6e 74 29 20 6f 72 20 67 75 65 73 |present) or gues| 000048c0 73 20 69 74 20 28 65 2e 67 2e 20 69 66 20 74 68 |s it (e.g. if th| 000048d0 65 72 65 20 61 72 65 20 6c 65 73 73 20 74 68 61 |ere are less tha| 000048e0 6e 20 33 32 30 20 62 79 0a 32 35 36 20 70 69 78 |n 320 by.256 pix| 000048f0 65 6c 73 20 69 6e 20 61 20 73 6f 75 72 63 65 20 |els in a source | 00004900 69 6d 61 67 65 2c 20 43 68 61 6e 67 65 46 53 49 |image, ChangeFSI| 00004910 20 61 73 73 75 6d 65 73 20 74 68 65 20 70 69 78 | assumes the pix| 00004920 65 6c 73 20 61 72 65 20 74 68 65 20 73 61 6d 65 |els are the same| 00004930 20 73 69 7a 65 20 61 73 0a 4d 4f 44 45 20 31 33 | size as.MODE 13| 00004940 27 73 20 5b 34 35 20 70 65 72 20 69 6e 63 68 5d |'s [45 per inch]| 00004950 29 20 6f 72 20 64 65 72 69 76 65 20 69 74 20 66 |) or derive it f| 00004960 72 6f 6d 20 6f 74 68 65 72 20 69 6e 66 6f 72 6d |rom other inform| 00004970 61 74 69 6f 6e 20 61 6e 64 20 73 63 61 6c 65 20 |ation and scale | 00004980 74 68 65 0a 6f 75 74 70 75 74 20 69 6d 61 67 65 |the.output image| 00004990 20 28 63 6f 6d 70 6f 73 65 64 20 6f 66 20 52 49 | (composed of RI| 000049a0 53 43 20 4f 53 20 73 71 75 61 72 65 20 6f 72 20 |SC OS square or | 000049b0 31 3a 32 20 73 69 7a 65 64 20 70 69 78 65 6c 73 |1:2 sized pixels| 000049c0 29 20 61 70 70 72 6f 70 72 69 61 74 65 6c 79 2e |) appropriately.| 000049d0 0a 2d 6e 6f 73 69 7a 65 20 73 74 6f 70 73 20 74 |.-nosize stops t| 000049e0 68 69 73 20 66 72 6f 6d 20 68 61 70 70 65 6e 69 |his from happeni| 000049f0 6e 67 2e 20 5b 74 68 69 73 20 73 65 65 6d 73 20 |ng. [this seems | 00004a00 70 61 72 74 69 63 75 6c 61 72 6c 79 20 72 65 6c |particularly rel| 00004a10 65 76 61 6e 74 20 6f 6e 20 66 6f 72 6d 61 74 73 |evant on formats| 00004a20 0a 6c 69 6b 65 20 54 49 46 46 20 6f 72 20 49 46 |.like TIFF or IF| 00004a30 46 20 77 68 65 72 65 20 74 68 65 20 70 69 78 65 |F where the pixe| 00004a40 6c 20 73 69 7a 65 20 69 73 20 73 70 65 63 69 66 |l size is specif| 00004a50 69 65 64 20 2a 62 75 74 20 6d 61 79 20 62 65 20 |ied *but may be | 00004a60 77 72 6f 6e 67 2a 5d 20 55 73 69 6e 67 0a 2d 69 |wrong*] Using.-i| 00004a70 6e 66 6f 20 77 69 6c 6c 20 64 69 73 70 6c 61 79 |nfo will display| 00004a80 20 74 68 65 20 70 69 78 65 6c 20 72 61 74 69 6f | the pixel ratio| 00004a90 73 20 77 68 69 63 68 20 43 68 61 6e 67 65 46 53 |s which ChangeFS| 00004aa0 49 20 69 73 20 75 73 69 6e 67 20 2d 20 61 20 63 |I is using - a c| 00004ab0 6f 6d 62 69 6e 61 74 69 6f 6e 20 6f 66 0a 74 68 |ombination of.th| 00004ac0 65 20 73 69 7a 65 20 67 75 65 73 73 2c 20 74 68 |e size guess, th| 00004ad0 65 20 6f 75 74 70 75 74 20 70 69 78 65 6c 20 73 |e output pixel s| 00004ae0 69 7a 65 20 61 6e 64 20 61 6e 79 20 64 65 6c 69 |ize and any deli| 00004af0 62 65 72 61 74 65 20 73 63 61 6c 69 6e 67 2e 20 |berate scaling. | 00004b00 22 2d 6e 6f 73 63 61 6c 65 22 0a 74 75 72 6e 73 |"-noscale".turns| 00004b10 20 6f 66 66 20 74 68 65 20 6f 75 74 70 75 74 20 | off the output | 00004b20 73 63 61 6c 69 6e 67 20 61 73 20 77 65 6c 6c 2e |scaling as well.| 00004b30 0a 0a 54 68 65 20 73 69 6d 70 6c 65 73 74 20 69 |..The simplest i| 00004b40 6d 61 67 65 20 70 72 6f 63 65 73 73 69 6e 67 20 |mage processing | 00004b50 6f 70 74 69 6f 6e 20 69 73 20 22 2d 72 61 6e 67 |option is "-rang| 00004b60 65 22 20 77 68 69 63 68 20 77 69 6c 6c 20 65 78 |e" which will ex| 00004b70 70 61 6e 64 20 74 68 65 20 64 79 6e 61 6d 69 63 |pand the dynamic| 00004b80 0a 72 61 6e 67 65 20 6f 66 20 74 68 65 20 69 6e |.range of the in| 00004b90 70 75 74 20 70 69 63 74 75 72 65 20 73 6f 20 74 |put picture so t| 00004ba0 68 61 74 20 69 74 20 66 69 6c 6c 73 20 74 68 65 |hat it fills the| 00004bb0 20 61 76 61 69 6c 61 62 6c 65 20 61 72 65 61 20 | available area | 00004bc0 28 6e 6f 74 20 61 20 67 6f 6f 64 0a 6f 70 74 69 |(not a good.opti| 00004bd0 6f 6e 20 66 6f 72 20 61 6e 69 6d 61 74 65 64 20 |on for animated | 00004be0 73 65 71 75 65 6e 63 65 73 20 75 6e 6c 65 73 73 |sequences unless| 00004bf0 20 61 6c 6c 20 73 6f 75 72 63 65 20 69 6d 61 67 | all source imag| 00004c00 65 73 20 70 6f 73 73 65 73 73 20 74 68 65 20 73 |es possess the s| 00004c10 61 6d 65 20 72 61 6e 67 65 29 2e 0a 53 69 6e 63 |ame range)..Sinc| 00004c20 65 20 72 2c 20 67 2c 20 62 20 61 72 65 20 70 72 |e r, g, b are pr| 00004c30 6f 63 65 73 73 65 64 20 62 79 20 74 68 65 20 73 |ocessed by the s| 00004c40 61 6d 65 20 61 6d 6f 75 6e 74 2c 20 2d 72 61 6e |ame amount, -ran| 00004c50 67 65 20 70 72 65 73 65 72 76 65 73 20 74 68 65 |ge preserves the| 00004c60 20 63 6f 6c 6f 75 72 20 6f 66 0a 70 69 78 65 6c | colour of.pixel| 00004c70 73 20 69 6e 20 63 6f 6c 6f 75 72 65 64 20 70 69 |s in coloured pi| 00004c80 63 74 75 72 65 73 2e 0a 0a 41 20 75 73 65 66 75 |ctures...A usefu| 00004c90 6c 20 6f 70 74 69 6f 6e 20 66 6f 72 20 6f 75 74 |l option for out| 00004ca0 70 75 74 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 |put intended for| 00004cb0 20 74 68 65 20 73 63 72 65 65 6e 20 6f 6e 6c 79 | the screen only| 00004cc0 20 69 73 20 47 61 6d 6d 61 20 63 6f 72 72 65 63 | is Gamma correc| 00004cd0 74 69 6f 6e 2e 0a 43 52 54 20 64 69 73 70 6c 61 |tion..CRT displa| 00004ce0 79 73 20 64 6f 20 6e 6f 74 20 68 61 76 65 20 61 |ys do not have a| 00004cf0 20 73 69 6d 70 6c 65 20 6c 69 6e 65 61 72 20 72 | simple linear r| 00004d00 65 6c 61 74 69 6f 6e 73 68 69 70 20 62 65 74 77 |elationship betw| 00004d10 65 65 6e 20 62 72 69 67 68 74 6e 65 73 73 20 6f |een brightness o| 00004d20 66 20 74 68 65 0a 73 70 6f 74 20 61 6e 64 20 69 |f the.spot and i| 00004d30 6e 70 75 74 20 76 6f 6c 74 61 67 65 3a 20 69 6e |nput voltage: in| 00004d40 73 74 65 61 64 20 6f 66 20 62 72 69 67 68 74 6e |stead of brightn| 00004d50 65 73 73 20 3d 20 63 6f 6e 73 74 20 2a 20 76 6f |ess = const * vo| 00004d60 6c 74 61 67 65 2c 20 74 68 65 20 72 65 73 70 6f |ltage, the respo| 00004d70 6e 73 65 0a 69 73 20 62 72 69 67 68 74 6e 65 73 |nse.is brightnes| 00004d80 73 20 3d 20 63 6f 6e 73 74 20 2a 20 76 6f 6c 74 |s = const * volt| 00004d90 61 67 65 20 5e 20 28 31 2f 67 61 6d 6d 61 29 2e |age ^ (1/gamma).| 00004da0 20 49 6e 20 74 68 65 20 54 56 20 69 6e 64 75 73 | In the TV indus| 00004db0 74 72 79 2c 20 67 61 6d 6d 61 20 68 61 73 20 62 |try, gamma has b| 00004dc0 65 65 6e 0a 73 74 61 6e 64 61 72 64 69 73 65 64 |een.standardised| 00004dd0 20 61 73 20 32 2e 32 2c 20 62 75 74 20 74 68 65 | as 2.2, but the| 00004de0 72 65 20 69 73 20 77 69 64 65 20 76 61 72 69 61 |re is wide varia| 00004df0 74 69 6f 6e 20 69 6e 20 74 68 65 20 63 6f 6d 70 |tion in the comp| 00004e00 75 74 65 72 20 69 6e 64 75 73 74 72 79 3a 20 74 |uter industry: t| 00004e10 68 65 0a 6d 6f 6e 69 74 6f 72 27 73 20 72 65 73 |he.monitor's res| 00004e20 70 6f 6e 73 65 20 77 69 6c 6c 20 76 61 72 79 20 |ponse will vary | 00004e30 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 77 68 61 |depending on wha| 00004e40 74 20 6d 61 6b 65 20 69 74 20 69 73 20 61 6e 64 |t make it is and| 00004e50 20 68 6f 77 20 69 74 20 69 73 0a 61 64 6a 75 73 | how it is.adjus| 00004e60 74 65 64 2e 20 4c 6f 77 20 76 61 6c 75 65 73 20 |ted. Low values | 00004e70 6f 66 20 67 61 6d 6d 61 20 28 30 20 74 6f 20 31 |of gamma (0 to 1| 00004e80 29 20 6d 61 6b 65 20 63 6f 6c 6f 75 72 73 20 64 |) make colours d| 00004e90 61 72 6b 65 72 20 61 6e 64 20 68 69 67 68 20 76 |arker and high v| 00004ea0 61 6c 75 65 73 0a 28 61 62 6f 76 65 20 31 29 20 |alues.(above 1) | 00004eb0 6d 61 6b 65 20 63 6f 6c 6f 75 72 73 20 6c 69 67 |make colours lig| 00004ec0 68 74 65 72 20 77 69 74 68 20 74 68 65 20 65 66 |hter with the ef| 00004ed0 66 65 63 74 73 20 62 65 69 6e 67 20 70 61 72 74 |fects being part| 00004ee0 69 63 75 6c 61 72 6c 79 20 6e 6f 74 69 63 65 61 |icularly noticea| 00004ef0 62 6c 65 0a 6f 6e 20 64 69 6d 20 63 6f 6c 6f 75 |ble.on dim colou| 00004f00 72 73 2e 20 22 2d 67 61 6d 6d 61 22 20 75 73 65 |rs. "-gamma" use| 00004f10 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 6f 66 |s the default of| 00004f20 20 32 2e 32 2c 20 61 6e 64 20 69 74 20 63 61 6e | 2.2, and it can| 00004f30 20 62 65 20 73 65 74 20 62 79 0a 22 2d 67 61 6d | be set by."-gam| 00004f40 6d 61 31 2e 35 22 20 73 61 79 2e 20 47 61 6d 6d |ma1.5" say. Gamm| 00004f50 61 20 63 6f 72 72 65 63 74 69 6f 6e 20 69 73 20 |a correction is | 00004f60 6d 6f 73 74 20 72 65 6c 65 76 61 6e 74 20 77 68 |most relevant wh| 00004f70 65 6e 20 69 74 73 20 6b 6e 6f 77 6e 20 74 68 61 |en its known tha| 00004f80 74 20 74 68 65 0a 69 6e 70 75 74 20 68 61 73 20 |t the.input has | 00004f90 61 20 6c 69 6e 65 61 72 20 69 6e 74 65 6e 73 69 |a linear intensi| 00004fa0 74 79 20 28 69 6e 70 75 74 20 66 72 6f 6d 20 61 |ty (input from a| 00004fb0 20 73 63 61 6e 6e 65 72 20 6f 72 20 66 72 6f 6d | scanner or from| 00004fc0 20 61 6e 6f 74 68 65 72 20 63 6f 6d 70 75 74 65 | another compute| 00004fd0 72 0a 77 69 74 68 20 6d 6f 72 65 20 62 69 74 73 |r.with more bits| 00004fe0 20 70 65 72 20 63 6f 6c 6f 75 72 20 63 6f 6d 70 | per colour comp| 00004ff0 6f 6e 65 6e 74 20 74 68 61 6e 20 74 68 65 20 41 |onent than the A| 00005000 72 63 68 69 6d 65 64 65 73 29 2e 0a 0a 41 20 6d |rchimedes)...A m| 00005010 6f 72 65 20 63 6f 6d 70 6c 65 78 20 70 72 69 6d |ore complex prim| 00005020 69 74 69 76 65 20 69 73 20 22 2d 65 71 75 61 6c |itive is "-equal| 00005030 22 20 77 68 69 63 68 20 70 65 72 66 6f 72 6d 73 |" which performs| 00005040 20 22 68 69 73 74 6f 67 72 61 6d 20 65 71 75 61 | "histogram equa| 00005050 6c 69 73 61 74 69 6f 6e 22 20 6f 6e 0a 74 68 65 |lisation" on.the| 00005060 20 69 6d 61 67 65 2e 20 54 68 69 73 20 6d 61 6b | image. This mak| 00005070 65 73 20 74 68 65 20 68 69 73 74 6f 67 72 61 6d |es the histogram| 00005080 20 6f 66 20 6c 65 76 65 6c 20 76 65 72 73 75 73 | of level versus| 00005090 20 6e 75 6d 62 65 72 20 6f 66 20 70 6f 69 6e 74 | number of point| 000050a0 73 20 61 74 20 74 68 61 74 0a 6c 65 76 65 6c 20 |s at that.level | 000050b0 61 73 20 66 6c 61 74 20 61 73 20 70 6f 73 73 69 |as flat as possi| 000050c0 62 6c 65 20 67 69 76 69 6e 67 20 66 75 6c 6c 20 |ble giving full | 000050d0 75 73 65 20 6f 66 20 74 68 65 20 6e 75 6d 62 65 |use of the numbe| 000050e0 72 20 6f 66 20 63 6f 6c 6f 75 72 73 20 61 76 61 |r of colours ava| 000050f0 69 6c 61 62 6c 65 2e 0a 2d 65 71 75 61 6c 20 69 |ilable..-equal i| 00005100 73 20 61 20 76 65 72 79 20 68 61 72 73 68 20 70 |s a very harsh p| 00005110 72 69 6d 69 74 69 76 65 2c 20 65 76 65 6e 20 6f |rimitive, even o| 00005120 6e 20 6d 6f 6e 6f 63 68 72 6f 6d 65 20 69 6e 70 |n monochrome inp| 00005130 75 74 73 20 69 74 20 63 61 6e 20 70 72 6f 64 75 |uts it can produ| 00005140 63 65 20 61 6e 0a 69 6e 66 65 72 69 6f 72 20 70 |ce an.inferior p| 00005150 69 63 74 75 72 65 3b 20 77 68 69 6c 65 20 6f 6e |icture; while on| 00005160 20 63 6f 6c 6f 75 72 20 70 69 63 74 75 72 65 73 | colour pictures| 00005170 20 69 74 20 63 61 6e 20 64 69 73 74 6f 72 74 20 | it can distort | 00005180 74 68 65 20 63 6f 6c 6f 75 72 20 6f 66 20 65 61 |the colour of ea| 00005190 63 68 0a 70 6f 69 6e 74 20 28 73 69 6e 63 65 20 |ch.point (since | 000051a0 72 2c 20 67 2c 20 62 20 61 72 65 20 63 6f 6d 70 |r, g, b are comp| 000051b0 75 74 65 64 20 73 65 70 61 72 61 74 65 6c 79 29 |uted separately)| 000051c0 2e 20 42 75 74 20 2d 65 71 75 61 6c 20 63 61 6e |. But -equal can| 000051d0 20 6f 66 74 65 6e 20 72 65 63 6f 76 65 72 20 61 | often recover a| 000051e0 0a 70 69 63 74 75 72 65 20 74 68 61 74 20 69 73 |.picture that is| 000051f0 20 6f 74 68 65 72 77 69 73 65 20 63 6f 6d 70 6c | otherwise compl| 00005200 65 74 65 6c 79 20 75 73 65 6c 65 73 73 20 6f 72 |etely useless or| 00005210 20 65 78 70 6f 73 65 20 69 6e 66 6f 72 6d 61 74 | expose informat| 00005220 69 6f 6e 20 6c 6f 63 6b 65 64 20 69 6e 20 61 0a |ion locked in a.| 00005230 73 6d 61 6c 6c 20 70 61 72 74 20 6f 66 20 74 68 |small part of th| 00005240 65 20 69 6e 70 75 74 20 73 63 61 6c 65 2e 0a 0a |e input scale...| 00005250 49 6d 61 67 65 20 63 6f 6c 6f 75 72 73 20 6d 61 |Image colours ma| 00005260 79 20 62 65 20 69 6e 76 65 72 74 65 64 20 77 69 |y be inverted wi| 00005270 74 68 20 74 68 65 20 2d 69 6e 76 65 72 74 20 6f |th the -invert o| 00005280 70 74 69 6f 6e 2e 20 57 68 69 63 68 20 6d 61 79 |ption. Which may| 00005290 20 62 65 20 66 75 6e 20 69 6e 0a 63 6f 6c 6f 75 | be fun in.colou| 000052a0 72 20 62 75 74 20 69 73 20 72 61 72 65 6c 79 20 |r but is rarely | 000052b0 75 73 65 66 75 6c 21 20 48 6f 77 65 76 65 72 2c |useful! However,| 000052c0 20 6d 6f 6e 6f 63 68 72 6f 6d 65 20 69 6d 61 67 | monochrome imag| 000052d0 65 73 20 66 72 65 71 75 65 6e 74 6c 79 20 6e 65 |es frequently ne| 000052e0 65 64 0a 69 6e 76 65 72 74 69 6e 67 2c 20 65 73 |ed.inverting, es| 000052f0 70 65 63 69 61 6c 6c 79 20 6f 6e 65 20 62 69 74 |pecially one bit| 00005300 20 70 65 72 20 70 69 78 65 6c 20 73 6f 75 72 63 | per pixel sourc| 00005310 65 73 2e 0a 0a 41 20 6d 6f 72 65 20 70 6f 77 65 |es...A more powe| 00005320 72 66 75 6c 20 6f 70 74 69 6f 6e 20 69 73 20 22 |rful option is "| 00005330 2d 73 68 61 72 70 65 6e 22 20 77 68 69 63 68 20 |-sharpen" which | 00005340 65 6e 68 61 6e 63 65 73 20 74 68 65 20 65 64 67 |enhances the edg| 00005350 65 73 20 6f 66 20 6f 62 6a 65 63 74 73 20 69 6e |es of objects in| 00005360 20 74 68 65 0a 70 69 63 74 75 72 65 3a 20 74 68 | the.picture: th| 00005370 69 73 20 69 73 20 76 65 72 79 20 75 73 65 66 75 |is is very usefu| 00005380 6c 20 73 69 6e 63 65 20 74 68 65 20 64 69 74 68 |l since the dith| 00005390 65 72 69 6e 67 20 70 72 6f 63 65 73 73 20 69 6e |ering process in| 000053a0 65 76 69 74 61 62 6c 79 20 73 6d 65 61 72 73 0a |evitably smears.| 000053b0 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 76 65 72 |information over| 000053c0 20 74 68 65 20 64 69 73 70 6c 61 79 2e 20 50 72 | the display. Pr| 000053d0 65 2d 73 68 61 72 70 65 6e 69 6e 67 20 74 68 65 |e-sharpening the| 000053e0 20 69 6d 61 67 65 20 63 61 6e 20 72 65 73 75 6c | image can resul| 000053f0 74 20 69 6e 20 61 20 6d 6f 72 65 0a 61 63 63 65 |t in a more.acce| 00005400 70 74 61 62 6c 65 20 6f 75 74 70 75 74 2e 20 44 |ptable output. D| 00005410 65 66 61 75 6c 74 20 76 61 6c 75 65 73 20 6f 66 |efault values of| 00005420 20 73 68 61 72 70 65 6e 69 6e 67 20 63 61 6e 20 | sharpening can | 00005430 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20 66 6f |be overridden fo| 00005440 72 20 73 70 65 63 69 61 6c 0a 65 66 66 65 63 74 |r special.effect| 00005450 73 3a 20 2d 73 68 61 72 70 65 6e 38 20 64 6f 65 |s: -sharpen8 doe| 00005460 73 20 65 64 67 65 20 64 65 74 65 63 74 69 6f 6e |s edge detection| 00005470 2e 20 4c 6f 77 65 72 20 61 6d 6f 75 6e 74 73 20 |. Lower amounts | 00005480 6f 66 20 73 68 61 72 70 65 6e 69 6e 67 20 61 72 |of sharpening ar| 00005490 65 0a 6f 62 74 61 69 6e 65 64 20 77 69 74 68 20 |e.obtained with | 000054a0 6c 61 72 67 65 72 20 2d 73 68 61 72 70 65 6e 20 |larger -sharpen | 000054b0 6e 75 6d 62 65 72 73 2e 20 49 6e 20 67 65 6e 65 |numbers. In gene| 000054c0 72 61 6c 20 74 68 65 20 6d 6f 72 65 20 69 6e 70 |ral the more inp| 000054d0 75 74 20 61 6e 64 20 6f 75 74 70 75 74 0a 70 69 |ut and output.pi| 000054e0 78 65 6c 73 20 61 6e 64 20 74 68 65 20 67 72 65 |xels and the gre| 000054f0 61 74 65 72 20 74 68 65 20 6f 75 74 70 75 74 20 |ater the output | 00005500 72 61 6e 67 65 20 69 6e 20 61 20 70 69 78 65 6c |range in a pixel| 00005510 20 69 6e 20 74 68 65 20 69 6d 61 67 65 73 2c 20 | in the images, | 00005520 74 68 65 20 6c 65 73 73 0a 73 68 61 72 70 65 6e |the less.sharpen| 00005530 69 6e 67 20 69 73 20 72 65 71 75 69 72 65 64 2e |ing is required.| 00005540 20 53 68 61 72 70 65 6e 69 6e 67 20 61 20 70 69 | Sharpening a pi| 00005550 63 74 75 72 65 20 77 68 69 63 68 20 69 73 20 61 |cture which is a| 00005560 6c 72 65 61 64 79 20 64 69 74 68 65 72 65 64 20 |lready dithered | 00005570 63 61 6e 20 67 69 76 65 0a 61 20 76 65 72 79 20 |can give.a very | 00005580 62 61 64 20 72 65 73 75 6c 74 2e 2e 2e 2e 0a 0a |bad result......| 00005590 54 68 65 20 73 68 61 72 70 65 6e 69 6e 67 20 69 |The sharpening i| 000055a0 73 20 61 63 68 69 65 76 65 64 20 77 69 74 68 20 |s achieved with | 000055b0 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6d 61 |the following ma| 000055c0 74 72 69 78 3a 0a 0a 20 20 20 2d 31 20 20 20 20 |trix:.. -1 | 000055d0 2d 31 20 20 20 20 2d 31 0a 20 20 20 2d 31 20 73 |-1 -1. -1 s| 000055e0 68 61 72 70 65 6e 20 20 2d 31 0a 20 20 20 2d 31 |harpen -1. -1| 000055f0 20 20 20 20 2d 31 20 20 20 20 2d 31 0a 0a 43 68 | -1 -1..Ch| 00005600 61 6e 67 65 46 53 49 20 63 6f 6d 70 75 74 65 73 |angeFSI computes| 00005610 20 74 68 65 20 73 75 6d 20 6f 66 20 6e 69 6e 65 | the sum of nine| 00005620 20 70 69 78 65 6c 73 20 77 69 74 68 20 74 68 65 | pixels with the| 00005630 20 61 62 6f 76 65 20 77 65 69 67 68 74 73 20 66 | above weights f| 00005640 6f 72 20 65 61 63 68 20 69 6e 70 75 74 0a 70 69 |or each input.pi| 00005650 78 65 6c 20 61 6e 64 20 72 65 6e 6f 72 6d 61 6c |xel and renormal| 00005660 69 73 65 73 20 74 68 65 20 72 65 73 75 6c 74 20 |ises the result | 00005670 28 64 69 76 69 64 65 73 20 62 79 20 73 68 61 72 |(divides by shar| 00005680 70 65 6e 2d 38 29 2e 0a 0a 53 69 6d 69 6c 61 72 |pen-8)...Similar| 00005690 20 69 73 20 22 2d 73 6d 6f 6f 74 68 22 20 77 68 | is "-smooth" wh| 000056a0 69 63 68 20 61 76 65 72 61 67 65 73 20 74 68 65 |ich averages the| 000056b0 20 70 69 78 65 6c 73 20 74 6f 20 65 6c 69 6d 69 | pixels to elimi| 000056c0 6e 61 74 65 20 6e 6f 69 73 65 2e 20 49 74 20 75 |nate noise. It u| 000056d0 73 65 73 20 74 68 65 0a 66 6f 6c 6c 6f 77 69 6e |ses the.followin| 000056e0 67 20 6d 61 74 72 69 78 3a 0a 0a 20 20 20 20 31 |g matrix:.. 1| 000056f0 20 20 20 20 20 31 20 20 20 20 20 31 0a 20 20 20 | 1 1. | 00005700 20 31 20 20 73 6d 6f 6f 74 68 20 20 20 31 0a 20 | 1 smooth 1. | 00005710 20 20 20 31 20 20 20 20 20 31 20 20 20 20 20 31 | 1 1 1| 00005720 0a 0a 43 68 61 6e 67 65 46 53 49 20 63 6f 6d 70 |..ChangeFSI comp| 00005730 75 74 65 73 20 74 68 65 20 73 75 6d 20 6f 66 20 |utes the sum of | 00005740 6e 69 6e 65 20 70 69 78 65 6c 73 20 77 69 74 68 |nine pixels with| 00005750 20 74 68 65 20 61 62 6f 76 65 20 77 65 69 67 68 | the above weigh| 00005760 74 73 20 66 6f 72 20 65 61 63 68 20 69 6e 70 75 |ts for each inpu| 00005770 74 0a 70 69 78 65 6c 20 61 6e 64 20 72 65 6e 6f |t.pixel and reno| 00005780 72 6d 61 6c 69 73 65 73 20 74 68 65 20 72 65 73 |rmalises the res| 00005790 75 6c 74 20 28 64 69 76 69 64 65 73 20 62 79 20 |ult (divides by | 000057a0 73 6d 6f 6f 74 68 2b 38 29 2e 20 4f 6e 6c 79 20 |smooth+8). Only | 000057b0 6f 6e 65 20 6f 66 20 73 6d 6f 6f 74 68 69 6e 67 |one of smoothing| 000057c0 0a 6f 72 20 73 68 61 72 70 65 6e 69 6e 67 20 6d |.or sharpening m| 000057d0 61 79 20 62 65 20 70 65 72 66 6f 72 6d 65 64 20 |ay be performed | 000057e0 28 77 68 69 63 68 65 76 65 72 20 69 73 20 6c 61 |(whichever is la| 000057f0 73 74 20 6f 6e 20 74 68 65 20 63 6f 6d 6d 61 6e |st on the comman| 00005800 64 20 6c 69 6e 65 29 2e 0a 0a 41 6e 20 6f 70 74 |d line)...An opt| 00005810 69 6f 6e 20 66 6f 72 20 74 65 73 74 69 6e 67 20 |ion for testing | 00005820 69 73 20 22 2d 6e 6f 64 69 74 68 65 72 22 20 77 |is "-nodither" w| 00005830 68 69 63 68 20 64 69 73 61 62 6c 65 73 20 74 68 |hich disables th| 00005840 65 20 46 6c 6f 79 64 20 53 74 65 69 6e 62 65 72 |e Floyd Steinber| 00005850 67 20 65 72 72 6f 72 0a 64 69 66 66 75 73 69 6f |g error.diffusio| 00005860 6e 20 73 74 65 70 20 63 6f 6d 70 6c 65 74 65 6c |n step completel| 00005870 79 2e 20 56 65 72 73 69 6f 6e 73 20 61 66 74 65 |y. Versions afte| 00005880 72 20 36 74 68 20 4a 75 6e 65 20 31 39 39 30 20 |r 6th June 1990 | 00005890 61 72 65 20 6d 6f 72 65 20 61 63 63 75 72 61 74 |are more accurat| 000058a0 65 20 61 74 0a 64 6f 69 6e 67 20 74 68 69 73 2e |e at.doing this.| 000058b0 0a 0a 54 68 65 20 76 61 72 69 6f 75 73 20 70 72 |..The various pr| 000058c0 6f 63 65 73 73 65 73 20 64 65 73 63 72 69 62 65 |ocesses describe| 000058d0 64 20 61 62 6f 76 65 20 61 72 65 20 61 70 70 6c |d above are appl| 000058e0 69 65 64 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f |ied in the follo| 000058f0 77 69 6e 67 20 6f 72 64 65 72 20 66 6f 72 0a 70 |wing order for.p| 00005900 69 63 74 75 72 65 73 20 77 69 74 68 20 6d 6f 72 |ictures with mor| 00005910 65 20 6f 75 74 70 75 74 20 70 69 78 65 6c 73 20 |e output pixels | 00005920 74 68 61 6e 20 69 6e 70 75 74 3a 0a 20 20 20 28 |than input:. (| 00005930 61 29 20 72 61 6e 67 65 20 6f 72 20 68 69 73 74 |a) range or hist| 00005940 6f 67 72 61 6d 20 65 71 75 61 6c 69 73 61 74 69 |ogram equalisati| 00005950 6f 6e 2c 0a 20 20 20 28 62 29 20 73 68 61 72 70 |on,. (b) sharp| 00005960 65 6e 20 6f 72 20 73 6d 6f 6f 74 68 2c 0a 20 20 |en or smooth,. | 00005970 20 28 63 29 20 73 63 61 6c 65 2c 0a 20 20 20 28 | (c) scale,. (| 00005980 64 29 20 65 72 72 6f 72 20 64 69 66 66 75 73 69 |d) error diffusi| 00005990 6f 6e 2e 0a 54 68 69 73 20 6f 72 64 65 72 20 69 |on..This order i| 000059a0 73 20 63 68 6f 73 65 6e 20 73 6f 20 74 68 61 74 |s chosen so that| 000059b0 3a 0a 20 20 20 28 31 29 20 73 69 6e 63 65 20 74 |:. (1) since t| 000059c0 68 65 20 69 6e 70 75 74 20 70 69 78 65 6c 73 20 |he input pixels | 000059d0 28 72 61 74 68 65 72 20 74 68 61 6e 20 74 68 65 |(rather than the| 000059e0 20 6f 75 74 70 75 74 20 70 69 78 65 6c 73 29 20 | output pixels) | 000059f0 61 72 65 20 73 68 61 72 70 65 6e 65 64 2c 0a 20 |are sharpened,. | 00005a00 20 20 20 20 20 20 74 68 65 72 65 20 69 73 20 6e | there is n| 00005a10 6f 20 66 61 6c 73 65 20 65 64 67 65 20 69 6e 74 |o false edge int| 00005a20 72 6f 64 75 63 65 64 20 77 68 65 6e 20 70 69 78 |roduced when pix| 00005a30 65 6c 73 20 61 72 65 20 72 65 70 6c 69 63 61 74 |els are replicat| 00005a40 65 64 2e 0a 0a 54 68 65 20 76 61 72 69 6f 75 73 |ed...The various| 00005a50 20 70 72 6f 63 65 73 73 65 73 20 64 65 73 63 72 | processes descr| 00005a60 69 62 65 64 20 61 62 6f 76 65 20 61 72 65 20 61 |ibed above are a| 00005a70 70 70 6c 69 65 64 20 69 6e 20 74 68 65 20 66 6f |pplied in the fo| 00005a80 6c 6c 6f 77 69 6e 67 20 6f 72 64 65 72 20 66 6f |llowing order fo| 00005a90 72 0a 70 69 63 74 75 72 65 73 20 77 69 74 68 20 |r.pictures with | 00005aa0 66 65 77 65 72 20 6f 75 74 70 75 74 20 70 69 78 |fewer output pix| 00005ab0 65 6c 73 20 74 68 61 6e 20 69 6e 70 75 74 3a 0a |els than input:.| 00005ac0 20 20 20 28 61 29 20 73 63 61 6c 65 2c 0a 20 20 | (a) scale,. | 00005ad0 20 28 62 29 20 72 61 6e 67 65 20 6f 72 20 68 69 | (b) range or hi| 00005ae0 73 74 6f 67 72 61 6d 20 65 71 75 61 6c 69 73 61 |stogram equalisa| 00005af0 74 69 6f 6e 2c 0a 20 20 20 28 63 29 20 73 68 61 |tion,. (c) sha| 00005b00 72 70 65 6e 20 6f 72 20 73 6d 6f 6f 74 68 2c 0a |rpen or smooth,.| 00005b10 20 20 20 28 64 29 20 65 72 72 6f 72 20 64 69 66 | (d) error dif| 00005b20 66 75 73 69 6f 6e 2e 0a 54 68 69 73 20 6f 72 64 |fusion..This ord| 00005b30 65 72 20 69 73 20 63 68 6f 73 65 6e 20 73 6f 20 |er is chosen so | 00005b40 74 68 61 74 3a 0a 20 20 20 28 31 29 20 72 61 6e |that:. (1) ran| 00005b50 67 69 6e 67 20 63 61 6e 20 65 6e 68 61 6e 63 65 |ging can enhance| 00005b60 20 64 6f 77 6e 2d 73 69 7a 65 64 20 69 6d 61 67 | down-sized imag| 00005b70 65 73 2e 20 53 61 79 20 61 20 62 6c 61 63 6b 2f |es. Say a black/| 00005b80 77 68 69 74 65 20 64 69 74 68 65 72 65 64 20 69 |white dithered i| 00005b90 6d 61 67 65 0a 20 20 20 20 20 20 20 69 73 20 72 |mage. is r| 00005ba0 65 64 75 63 65 64 20 69 6e 20 73 69 7a 65 2c 20 |educed in size, | 00005bb0 73 6f 20 74 68 61 74 20 74 68 65 20 6f 75 74 70 |so that the outp| 00005bc0 75 74 20 66 72 6f 6d 20 74 68 65 20 73 63 61 6c |ut from the scal| 00005bd0 69 6e 67 20 70 72 6f 63 65 73 73 20 69 73 20 28 |ing process is (| 00005be0 73 6f 6d 65 0a 20 20 20 20 20 20 20 61 70 70 72 |some. appr| 00005bf0 6f 78 69 6d 61 74 69 6f 6e 20 74 6f 29 20 74 68 |oximation to) th| 00005c00 65 20 6f 72 69 67 69 6e 61 6c 20 67 72 65 79 20 |e original grey | 00005c10 6c 65 76 65 6c 73 3b 20 74 68 65 6e 20 72 61 6e |levels; then ran| 00005c20 67 69 6e 67 20 63 61 6e 20 65 78 70 61 6e 64 20 |ging can expand | 00005c30 74 68 69 73 0a 20 20 20 20 20 20 20 69 66 20 70 |this. if p| 00005c40 6f 73 73 69 62 6c 65 2e 0a 20 20 20 28 32 29 20 |ossible.. (2) | 00005c50 73 68 61 72 70 65 6e 69 6e 67 20 63 61 6e 20 62 |sharpening can b| 00005c60 65 20 75 73 65 64 20 74 6f 20 6f 66 66 73 65 74 |e used to offset| 00005c70 20 74 68 65 20 62 6c 75 72 72 69 6e 67 20 65 66 | the blurring ef| 00005c80 66 65 63 74 73 20 6f 66 20 73 63 61 6c 69 6e 67 |fects of scaling| 00005c90 2e 0a 20 20 20 28 33 29 20 73 69 6e 63 65 20 74 |.. (3) since t| 00005ca0 68 65 20 6f 75 74 70 75 74 20 70 69 78 65 6c 73 |he output pixels| 00005cb0 20 28 72 61 74 68 65 72 20 74 68 61 6e 20 74 68 | (rather than th| 00005cc0 65 20 69 6e 70 75 74 20 70 69 78 65 6c 73 29 20 |e input pixels) | 00005cd0 61 72 65 20 73 68 61 72 70 65 6e 65 64 2c 0a 20 |are sharpened,. | 00005ce0 20 20 20 20 20 20 74 68 65 20 65 66 66 65 63 74 | the effect| 00005cf0 20 6f 66 20 2d 73 68 61 72 70 65 6e 4e 20 69 73 | of -sharpenN is| 00005d00 20 63 6f 6e 73 69 73 74 65 6e 74 20 6f 76 65 72 | consistent over| 00005d10 20 64 69 66 66 65 72 65 6e 74 6c 79 20 73 63 61 | differently sca| 00005d20 6c 65 64 20 69 6d 61 67 65 73 2e 0a 0a 54 68 65 |led images...The| 00005d30 72 65 20 6d 61 79 20 62 65 20 74 69 6d 65 73 20 |re may be times | 00005d40 77 68 65 6e 20 74 68 69 73 20 61 75 74 6f 6d 61 |when this automa| 00005d50 74 69 63 20 73 65 6c 65 63 74 69 6f 6e 20 6f 66 |tic selection of| 00005d60 20 6f 72 64 65 72 20 67 65 74 73 20 69 74 20 77 | order gets it w| 00005d70 72 6f 6e 67 2c 0a 70 61 72 74 69 63 75 6c 61 72 |rong,.particular| 00005d80 6c 79 20 77 68 65 6e 20 63 68 61 6e 67 69 6e 67 |ly when changing| 00005d90 20 74 68 65 20 61 73 70 65 63 74 20 72 61 74 69 | the aspect rati| 00005da0 6f 2c 20 69 74 20 69 73 20 70 6f 73 73 69 62 6c |o, it is possibl| 00005db0 65 20 74 6f 20 74 72 69 67 67 65 72 20 73 6f 6d |e to trigger som| 00005dc0 65 0a 75 6e 64 65 73 69 72 61 62 6c 65 20 73 68 |e.undesirable sh| 00005dd0 61 72 70 65 6e 69 6e 67 20 61 72 74 69 66 61 63 |arpening artifac| 00005de0 74 73 2e 20 55 73 65 20 74 68 65 20 70 72 6f 67 |ts. Use the prog| 00005df0 72 61 6d 20 74 77 69 63 65 20 77 69 74 68 20 73 |ram twice with s| 00005e00 68 61 72 70 65 6e 69 6e 67 20 28 73 61 79 29 0a |harpening (say).| 00005e10 64 69 73 61 62 6c 65 64 20 61 6e 64 20 65 6e 61 |disabled and ena| 00005e20 62 6c 65 64 20 69 6e 20 74 68 65 20 6f 72 64 65 |bled in the orde| 00005e30 72 20 72 65 71 75 69 72 65 64 2e 0a 0a 45 78 61 |r required...Exa| 00005e40 6d 70 6c 65 73 20 6f 66 20 75 73 65 3a 0a 0a 4d |mples of use:..M| 00005e50 61 6b 65 20 22 73 74 61 6e 64 61 72 64 20 70 61 |ake "standard pa| 00005e60 6c 65 74 74 65 22 20 76 65 72 73 69 6f 6e 73 20 |lette" versions | 00005e70 6f 66 20 65 78 69 73 74 69 6e 67 20 32 35 36 20 |of existing 256 | 00005e80 63 6f 6c 6f 75 72 20 69 6d 61 67 65 73 20 28 66 |colour images (f| 00005e90 6f 72 20 65 78 61 6d 70 6c 65 0a 74 68 65 20 57 |or example.the W| 00005ea0 61 74 66 6f 72 64 20 64 69 67 69 74 69 73 65 72 |atford digitiser| 00005eb0 20 70 6c 75 73 20 63 6f 6c 6f 75 72 20 62 6f 61 | plus colour boa| 00005ec0 72 64 20 64 6f 65 73 6e 27 74 20 75 73 65 20 74 |rd doesn't use t| 00005ed0 68 65 20 73 74 61 6e 64 61 72 64 20 70 61 6c 65 |he standard pale| 00005ee0 74 74 65 29 2e 0a 20 20 28 65 2e 67 2e 20 22 63 |tte).. (e.g. "c| 00005ef0 68 61 6e 67 65 66 73 69 20 69 6e 20 6f 75 74 20 |hangefsi in out | 00005f00 31 33 70 22 20 66 6f 72 20 61 20 63 6f 6c 6f 75 |13p" for a colou| 00005f10 72 65 64 20 57 61 74 66 6f 72 64 20 70 69 63 74 |red Watford pict| 00005f20 75 72 65 29 0a 0a 4f 72 20 63 6f 6e 76 65 72 74 |ure)..Or convert| 00005f30 20 61 20 63 6f 6c 6f 75 72 20 70 69 63 74 75 72 | a colour pictur| 00005f40 65 20 74 6f 20 73 6f 6d 65 74 68 69 6e 67 20 79 |e to something y| 00005f50 6f 75 20 63 61 6e 20 73 65 65 20 6f 6e 20 79 6f |ou can see on yo| 00005f60 75 72 20 68 69 67 68 20 72 65 73 20 6d 6f 6e 6f |ur high res mono| 00005f70 0a 6d 6f 6e 69 74 6f 72 2e 0a 20 20 28 65 2e 67 |.monitor.. (e.g| 00005f80 2e 20 22 63 68 61 6e 67 65 66 73 69 20 69 6e 20 |. "changefsi in | 00005f90 6f 75 74 20 31 38 20 2d 73 68 61 72 70 65 6e 20 |out 18 -sharpen | 00005fa0 2d 69 6e 66 6f 22 29 0a 0a 4f 72 20 63 6f 6e 76 |-info")..Or conv| 00005fb0 65 72 74 20 61 20 6c 61 72 67 65 20 6d 6f 6e 6f |ert a large mono| 00005fc0 63 68 72 6f 6d 65 20 70 69 63 74 75 72 65 20 28 |chrome picture (| 00005fd0 66 72 6f 6d 20 61 20 73 63 61 6e 6e 65 72 2c 20 |from a scanner, | 00005fe0 73 61 79 29 20 74 6f 20 73 6f 6d 65 74 68 69 6e |say) to somethin| 00005ff0 67 0a 77 68 69 63 68 20 63 61 6e 20 62 65 20 73 |g.which can be s| 00006000 65 65 6e 2e 0a 20 20 28 65 2e 67 2e 20 22 63 68 |een.. (e.g. "ch| 00006010 61 6e 67 65 66 73 69 20 69 6e 20 6f 75 74 20 32 |angefsi in out 2| 00006020 30 74 20 31 3a 34 20 2d 67 61 6d 6d 61 22 29 0a |0t 1:4 -gamma").| 00006030 0a 4f 72 20 63 6f 6e 76 65 72 74 20 61 20 63 6f |.Or convert a co| 00006040 6c 6f 75 72 20 70 69 63 74 75 72 65 20 74 6f 20 |lour picture to | 00006050 67 72 65 79 20 73 63 61 6c 65 20 66 6f 72 20 74 |grey scale for t| 00006060 68 65 20 64 65 73 6b 74 6f 70 2e 0a 20 20 28 65 |he desktop.. (e| 00006070 2e 67 2e 20 22 63 68 61 6e 67 65 66 73 69 20 69 |.g. "changefsi i| 00006080 6e 20 6f 75 74 20 32 30 22 29 0a 0a 4f 72 20 63 |n out 20")..Or c| 00006090 68 61 6e 67 65 20 61 20 35 31 32 20 62 79 20 34 |hange a 512 by 4| 000060a0 38 30 20 69 6d 61 67 65 20 74 6f 20 73 74 61 6e |80 image to stan| 000060b0 64 61 72 64 20 66 6f 72 6d 61 74 20 61 6e 64 20 |dard format and | 000060c0 61 73 70 65 63 74 20 72 61 74 69 6f 0a 20 20 28 |aspect ratio. (| 000060d0 65 2e 67 2e 20 22 63 68 61 6e 67 65 66 73 69 20 |e.g. "changefsi | 000060e0 69 6e 20 6f 75 74 20 31 35 20 36 34 30 3a 35 31 |in out 15 640:51| 000060f0 32 20 35 31 32 3a 34 38 30 22 29 0a 20 20 28 6f |2 512:480"). (o| 00006100 72 20 22 63 68 61 6e 67 65 66 73 69 20 69 6e 20 |r "changefsi in | 00006110 6f 75 74 20 3d 20 2d 72 61 6e 67 65 22 29 0a 0a |out = -range")..| 00006120 4f 72 20 63 68 61 6e 67 65 20 74 6f 20 64 69 67 |Or change to dig| 00006130 69 74 61 6c 20 72 2c 20 67 2c 20 62 0a 20 20 28 |ital r, g, b. (| 00006140 65 2e 67 2e 20 22 63 68 61 6e 67 65 66 73 69 20 |e.g. "changefsi | 00006150 69 6e 20 6f 75 74 20 32 30 64 20 2d 73 68 61 72 |in out 20d -shar| 00006160 70 65 6e 31 36 22 29 0a 0a 4f 72 20 63 6f 6e 76 |pen16")..Or conv| 00006170 65 72 74 20 61 20 70 69 63 74 75 72 65 20 66 6f |ert a picture fo| 00006180 72 20 70 72 69 6e 74 69 6e 67 20 6f 6e 20 61 20 |r printing on a | 00006190 33 30 30 64 70 69 20 6c 61 73 65 72 2e 0a 20 20 |300dpi laser.. | 000061a0 28 65 2e 67 2e 20 22 63 68 61 6e 67 65 66 73 69 |(e.g. "changefsi| 000061b0 20 69 6e 20 6f 75 74 20 31 38 63 20 33 30 30 3a | in out 18c 300:| 000061c0 39 30 20 2d 73 68 61 72 70 65 6e 22 29 0a 0a 41 |90 -sharpen")..A| 000061d0 6e 64 20 6d 61 6e 79 20 6d 6f 72 65 20 75 73 65 |nd many more use| 000061e0 73 20 73 75 63 68 20 61 73 20 6d 61 6b 69 6e 67 |s such as making| 000061f0 20 6d 69 6e 69 61 74 75 72 65 73 20 6f 66 20 70 | miniatures of p| 00006200 69 63 74 75 72 65 73 2c 20 61 6e 69 6d 61 74 65 |ictures, animate| 00006210 64 20 73 65 71 75 65 6e 63 65 73 20 6f 66 0a 70 |d sequences of.p| 00006220 69 63 74 75 72 65 73 20 63 68 61 6e 67 69 6e 67 |ictures changing| 00006230 20 73 69 7a 65 20 28 6f 72 20 73 68 61 72 70 6e | size (or sharpn| 00006240 65 73 73 21 29 2c 20 63 6f 6e 76 65 72 74 69 6e |ess!), convertin| 00006250 67 20 41 72 74 69 73 61 6e 20 70 69 63 74 75 72 |g Artisan pictur| 00006260 65 73 20 74 6f 20 74 68 65 0a 64 65 73 6b 74 6f |es to the.deskto| 00006270 70 20 28 74 72 79 20 6c 6f 6f 6b 69 6e 67 20 61 |p (try looking a| 00006280 74 20 74 68 65 20 41 72 74 69 73 61 6e 20 47 61 |t the Artisan Ga| 00006290 72 64 65 6e 20 77 69 74 68 20 74 68 65 20 64 65 |rden with the de| 000062a0 73 6b 74 6f 70 20 69 6e 20 32 35 36 20 63 6f 6c |sktop in 256 col| 000062b0 6f 75 72 73 20 61 6e 64 0a 43 68 61 6e 67 65 46 |ours and.ChangeF| 000062c0 53 49 27 73 20 76 65 72 73 69 6f 6e 20 2d 20 74 |SI's version - t| 000062d0 68 65 20 73 74 72 69 70 65 73 20 6f 6e 20 74 68 |he stripes on th| 000062e0 65 20 6c 61 77 6e 20 76 61 6e 69 73 68 20 77 69 |e lawn vanish wi| 000062f0 74 68 20 74 68 65 20 73 74 61 6e 64 61 72 64 0a |th the standard.| 00006300 76 65 72 73 69 6f 6e 29 2e 20 4f 62 76 69 6f 75 |version). Obviou| 00006310 73 6c 79 20 79 6f 75 20 77 69 6c 6c 20 6e 65 65 |sly you will nee| 00006320 64 20 74 6f 20 68 61 76 65 20 63 61 70 74 75 72 |d to have captur| 00006330 65 64 20 69 6e 70 75 74 20 61 73 20 61 20 73 70 |ed input as a sp| 00006340 72 69 74 65 20 66 69 72 73 74 21 0a 55 73 69 6e |rite first!.Usin| 00006350 67 20 6d 6f 72 65 20 70 69 78 65 6c 73 20 70 65 |g more pixels pe| 00006360 72 20 69 6e 63 68 20 63 61 6e 20 69 6d 70 72 6f |r inch can impro| 00006370 76 65 20 74 68 65 20 71 75 61 6c 69 74 79 20 6f |ve the quality o| 00006380 66 20 74 68 65 20 72 65 73 75 6c 74 2c 20 70 61 |f the result, pa| 00006390 72 74 69 63 75 6c 61 72 6c 79 0a 63 6f 6e 76 65 |rticularly.conve| 000063a0 72 74 69 6e 67 20 74 6f 20 6d 75 6c 74 69 73 79 |rting to multisy| 000063b0 6e 63 20 6d 6f 64 65 73 2e 0a 0a 4e 6f 74 65 20 |nc modes...Note | 000063c0 74 68 61 74 2c 20 66 6f 72 20 61 6c 6c 20 77 6f |that, for all wo| 000063d0 72 6b 20 77 69 74 68 20 43 68 61 6e 67 65 46 53 |rk with ChangeFS| 000063e0 49 2c 20 69 74 20 69 73 20 61 20 67 6f 6f 64 20 |I, it is a good | 000063f0 69 64 65 61 20 74 6f 20 73 74 61 72 74 20 66 72 |idea to start fr| 00006400 6f 6d 20 74 68 65 0a 75 6e 70 72 6f 63 65 73 73 |om the.unprocess| 00006410 65 64 20 69 6e 70 75 74 20 65 61 63 68 20 74 69 |ed input each ti| 00006420 6d 65 20 61 6e 64 20 64 6f 20 65 76 65 72 79 74 |me and do everyt| 00006430 68 69 6e 67 20 69 6e 20 6f 6e 65 20 70 61 73 73 |hing in one pass| 00006440 20 28 72 61 74 68 65 72 20 74 68 61 6e 20 75 73 | (rather than us| 00006450 69 6e 67 0a 74 68 65 20 70 72 6f 67 72 61 6d 20 |ing.the program | 00006460 73 65 76 65 72 61 6c 20 74 69 6d 65 73 20 77 69 |several times wi| 00006470 74 68 20 73 69 6d 70 6c 65 20 61 72 67 75 6d 65 |th simple argume| 00006480 6e 74 73 29 2e 20 49 74 20 69 73 20 6e 6f 74 20 |nts). It is not | 00006490 61 20 67 6f 6f 64 20 69 64 65 61 20 74 6f 0a 73 |a good idea to.s| 000064a0 68 61 72 70 65 6e 20 61 20 64 69 74 68 65 72 65 |harpen a dithere| 000064b0 64 20 69 6d 61 67 65 20 28 75 6e 6c 65 73 73 20 |d image (unless | 000064c0 69 74 20 68 61 73 20 62 65 65 6e 20 73 68 72 75 |it has been shru| 000064d0 6e 6b 29 2e 20 49 74 20 63 61 6e 20 62 65 20 76 |nk). It can be v| 000064e0 65 72 79 20 75 73 65 66 75 6c 0a 74 6f 20 75 73 |ery useful.to us| 000064f0 65 20 61 20 73 6d 61 6c 6c 20 61 6d 6f 75 6e 74 |e a small amount| 00006500 20 6f 66 20 73 6d 6f 6f 74 68 69 6e 67 20 6f 6e | of smoothing on| 00006510 20 61 20 64 69 74 68 65 72 65 64 20 69 6d 61 67 | a dithered imag| 00006520 65 20 28 65 2e 67 2e 20 2d 73 6d 6f 6f 74 68 31 |e (e.g. -smooth1| 00006530 36 29 2e 0a 0a 2a 2a 2a 20 49 74 20 69 73 20 61 |6)...*** It is a| 00006540 20 76 65 72 79 20 67 6f 6f 64 20 69 64 65 61 20 | very good idea | 00006550 74 6f 20 6b 65 65 70 20 74 68 65 20 68 69 67 68 |to keep the high| 00006560 65 73 74 20 72 65 73 6f 6c 75 74 69 6f 6e 20 6d |est resolution m| 00006570 61 73 74 65 72 20 74 68 61 74 20 79 6f 75 20 63 |aster that you c| 00006580 61 6e 0a 61 66 66 6f 72 64 20 74 68 65 20 64 69 |an.afford the di| 00006590 73 63 20 73 70 61 63 65 20 66 6f 72 2e 2e 2e 2e |sc space for....| 000065a0 0a 0a 54 68 65 20 43 68 61 6e 67 65 46 53 49 20 |..The ChangeFSI | 000065b0 70 72 6f 67 72 61 6d 20 63 61 6e 20 61 6c 73 6f |program can also| 000065c0 20 63 6f 6e 76 65 72 74 20 66 72 6f 6d 20 6e 6f | convert from no| 000065d0 6e 20 52 49 53 43 20 4f 53 20 73 70 72 69 74 65 |n RISC OS sprite| 000065e0 20 66 6f 72 6d 61 74 73 20 77 68 69 6c 65 0a 64 | formats while.d| 000065f0 6f 69 6e 67 20 61 6c 6c 20 6f 66 20 74 68 65 20 |oing all of the | 00006600 61 62 6f 76 65 20 70 72 6f 63 65 73 73 69 6e 67 |above processing| 00006610 2e 20 43 68 61 6e 67 65 46 53 49 20 77 69 6c 6c |. ChangeFSI will| 00006620 20 77 6f 72 6b 20 6f 75 74 20 77 68 61 74 20 74 | work out what t| 00006630 68 65 20 66 6f 72 6d 61 74 20 69 73 0a 61 75 74 |he format is.aut| 00006640 6f 6d 61 74 69 63 61 6c 6c 79 2e 20 46 6f 72 20 |omatically. For | 00006650 6e 61 74 69 76 65 20 52 49 53 43 20 4f 53 20 66 |native RISC OS f| 00006660 6f 72 6d 61 74 73 2c 20 69 74 20 75 73 65 73 20 |ormats, it uses | 00006670 74 68 65 20 66 69 6c 65 74 79 70 65 20 61 6e 64 |the filetype and| 00006680 20 74 68 65 72 65 20 63 61 6e 0a 62 65 20 6e 6f | there can.be no| 00006690 20 63 6f 6e 66 75 73 69 6f 6e 2e 20 46 6f 72 20 | confusion. For | 000066a0 61 6c 69 65 6e 20 66 6f 72 6d 61 74 73 2c 20 69 |alien formats, i| 000066b0 74 20 66 69 72 73 74 20 74 72 69 65 73 20 6c 6f |t first tries lo| 000066c0 6f 6b 69 6e 67 20 66 6f 72 20 70 61 72 74 69 63 |oking for partic| 000066d0 75 6c 61 72 0a 69 64 65 6e 74 69 66 79 69 6e 67 |ular.identifying| 000066e0 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 6e 73 | information ins| 000066f0 69 64 65 20 74 68 65 20 66 69 6c 65 20 61 6e 64 |ide the file and| 00006700 20 74 68 65 6e 20 28 69 66 20 74 68 69 73 20 66 | then (if this f| 00006710 61 69 6c 73 20 74 6f 20 68 61 76 65 0a 69 64 65 |ails to have.ide| 00006720 6e 74 69 66 69 65 64 20 61 20 66 6f 72 6d 61 74 |ntified a format| 00006730 29 20 74 72 69 65 73 20 75 73 69 6e 67 20 74 68 |) tries using th| 00006740 65 20 66 69 6c 65 20 6e 61 6d 65 20 69 74 73 65 |e file name itse| 00006750 6c 66 2e 20 53 65 65 20 74 68 65 20 64 65 74 61 |lf. See the deta| 00006760 69 6c 73 20 62 65 6c 6f 77 3a 0a 0a 54 68 65 20 |ils below:..The | 00006770 52 49 53 43 20 4f 53 20 73 70 72 69 74 65 20 66 |RISC OS sprite f| 00006780 6f 72 6d 61 74 0a 20 43 6f 6e 74 61 69 6e 73 20 |ormat. Contains | 00006790 31 2c 20 32 2c 20 34 20 6f 72 20 38 20 62 69 74 |1, 2, 4 or 8 bit| 000067a0 73 20 70 65 72 20 70 69 78 65 6c 20 77 69 74 68 |s per pixel with| 000067b0 20 61 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 | a modification | 000067c0 70 61 6c 65 74 74 65 20 6f 66 20 75 70 20 74 6f |palette of up to| 000067d0 0a 20 31 36 20 65 6e 74 72 69 65 73 3b 20 61 6e |. 16 entries; an| 000067e0 79 20 6e 75 6d 62 65 72 20 6f 66 20 70 69 78 65 |y number of pixe| 000067f0 6c 73 20 77 69 64 65 20 61 6e 64 20 68 69 67 68 |ls wide and high| 00006800 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 2e 20 44 | uncompressed. D| 00006810 65 74 61 69 6c 73 20 61 72 65 20 69 6e 0a 20 41 |etails are in. A| 00006820 63 6f 72 6e 27 73 20 50 72 6f 67 72 61 6d 6d 65 |corn's Programme| 00006830 72 27 73 20 52 65 66 65 72 65 6e 63 65 20 4d 61 |r's Reference Ma| 00006840 6e 75 61 6c 2e 0a 20 2b 20 52 65 63 6f 67 6e 69 |nual.. + Recogni| 00006850 73 65 64 20 62 79 20 66 69 6c 65 20 74 79 70 65 |sed by file type| 00006860 20 46 46 39 20 28 61 20 70 61 69 6e 74 20 62 72 | FF9 (a paint br| 00006870 75 73 68 20 61 6e 64 20 68 6f 75 73 65 20 69 63 |ush and house ic| 00006880 6f 6e 29 0a 20 2d 20 44 65 74 61 69 6c 73 20 6f |on). - Details o| 00006890 66 20 68 6f 77 20 6d 61 6e 79 20 62 69 74 73 20 |f how many bits | 000068a0 70 65 72 20 70 69 78 65 6c 20 61 6e 64 20 74 68 |per pixel and th| 000068b0 65 20 70 69 78 65 6c 20 73 69 7a 65 20 61 72 65 |e pixel size are| 000068c0 20 6f 62 74 61 69 6e 65 64 20 66 72 6f 6d 0a 20 | obtained from. | 000068d0 20 20 74 68 65 20 6f 70 65 72 61 74 69 6e 67 20 | the operating | 000068e0 73 79 73 74 65 6d 20 28 72 61 74 68 65 72 20 74 |system (rather t| 000068f0 68 61 6e 20 62 65 69 6e 67 20 69 6e 20 74 68 65 |han being in the| 00006900 20 66 69 6c 65 29 20 66 72 6f 6d 20 74 68 65 20 | file) from the | 00006910 22 4d 4f 44 45 22 0a 20 20 20 6e 75 6d 62 65 72 |"MODE". number| 00006920 2e 20 4d 6f 64 65 20 65 78 74 65 6e 73 69 6f 6e |. Mode extension| 00006930 73 20 63 61 6e 20 72 65 73 75 6c 74 20 69 6e 20 |s can result in | 00006940 61 20 73 6f 75 72 63 65 20 69 6d 61 67 65 20 63 |a source image c| 00006950 6f 6e 74 61 69 6e 69 6e 67 20 61 20 4d 4f 44 45 |ontaining a MODE| 00006960 0a 20 20 20 6e 75 6d 62 65 72 20 77 68 69 63 68 |. number which| 00006970 20 79 6f 75 72 20 63 6f 6d 70 75 74 65 72 20 64 | your computer d| 00006980 6f 65 73 20 6e 6f 74 20 75 6e 64 65 72 73 74 61 |oes not understa| 00006990 6e 64 2e 0a 20 2d 20 4d 61 73 6b 20 69 6e 66 6f |nd.. - Mask info| 000069a0 72 6d 61 74 69 6f 6e 20 69 67 6e 6f 72 65 64 0a |rmation ignored.| 000069b0 20 2d 20 4c 65 66 74 68 61 6e 64 20 77 61 73 74 | - Lefthand wast| 000069c0 61 67 65 20 69 67 6e 6f 72 65 64 0a 0a 54 68 65 |age ignored..The| 000069d0 20 6e 65 77 20 52 49 53 43 20 4f 53 20 73 70 72 | new RISC OS spr| 000069e0 69 74 65 20 66 6f 72 6d 61 74 0a 20 43 6f 6e 74 |ite format. Cont| 000069f0 61 69 6e 73 20 31 2c 20 32 2c 20 34 2c 20 38 2c |ains 1, 2, 4, 8,| 00006a00 20 31 36 20 6f 72 20 33 32 20 62 69 74 73 20 70 | 16 or 32 bits p| 00006a10 65 72 20 70 69 78 65 6c 2e 0a 20 2b 20 52 65 63 |er pixel.. + Rec| 00006a20 6f 67 6e 69 73 65 64 20 62 79 20 66 69 6c 65 20 |ognised by file | 00006a30 74 79 70 65 20 46 46 39 0a 20 2b 20 6e 6f 20 70 |type FF9. + no p| 00006a40 72 6f 62 6c 65 6d 20 77 69 74 68 20 6d 6f 64 65 |roblem with mode| 00006a50 20 65 78 74 65 6e 73 69 6f 6e 73 3a 20 69 6e 66 | extensions: inf| 00006a60 6f 72 6d 61 74 69 6f 6e 20 69 73 20 63 6f 64 65 |ormation is code| 00006a70 64 20 69 6e 74 6f 20 74 68 65 20 66 6f 72 6d 61 |d into the forma| 00006a80 74 0a 20 2d 20 4d 61 73 6b 20 69 6e 66 6f 72 6d |t. - Mask inform| 00006a90 61 74 69 6f 6e 20 69 67 6e 6f 72 65 64 0a 0a 4b |ation ignored..K| 00006aa0 6f 64 61 6b 20 50 68 6f 74 6f 43 44 0a 20 32 34 |odak PhotoCD. 24| 00006ab0 20 62 69 74 20 70 65 72 20 70 69 78 65 6c 20 69 | bit per pixel i| 00006ac0 6d 61 67 65 73 20 61 74 20 76 61 72 69 6f 75 73 |mages at various| 00006ad0 20 72 65 73 6f 6c 75 74 69 6f 6e 73 0a 20 2b 20 | resolutions. + | 00006ae0 52 65 63 6f 67 6e 69 73 65 64 20 62 79 20 66 69 |Recognised by fi| 00006af0 6c 65 20 74 79 70 65 20 42 45 38 0a 20 2d 20 53 |le type BE8. - S| 00006b00 65 74 20 43 68 61 6e 67 65 46 53 49 24 50 43 44 |et ChangeFSI$PCD| 00006b10 49 6e 64 65 78 20 74 6f 20 72 65 61 64 20 72 65 |Index to read re| 00006b20 73 6f 6c 75 74 69 6f 6e 73 20 6f 74 68 65 72 20 |solutions other | 00006b30 74 68 61 6e 20 62 61 73 65 20 28 3d 33 29 0a 0a |than base (=3)..| 00006b40 54 68 65 20 41 72 56 69 73 20 66 6f 72 6d 61 74 |The ArVis format| 00006b50 20 5b 6f 66 20 41 72 56 69 73 20 4d 75 6c 74 69 | [of ArVis Multi| 00006b60 6d 65 64 69 61 5d 0a 20 43 6f 6e 74 61 69 6e 73 |media]. Contains| 00006b70 20 35 20 62 69 74 73 20 6f 66 20 72 65 64 2c 20 | 5 bits of red, | 00006b80 67 72 65 65 6e 20 61 6e 64 20 62 6c 75 65 20 69 |green and blue i| 00006b90 6e 66 6f 72 6d 61 74 69 6f 6e 20 65 6e 63 6f 64 |nformation encod| 00006ba0 65 64 20 69 6e 74 6f 20 74 77 6f 20 52 49 53 43 |ed into two RISC| 00006bb0 20 4f 53 0a 20 73 70 72 69 74 65 73 20 22 48 49 | OS. sprites "HI| 00006bc0 50 2e 3c 66 69 6c 65 6e 61 6d 65 3e 22 20 61 6e |P.<filename>" an| 00006bd0 64 20 22 4c 4f 50 2e 3c 66 69 6c 65 6e 61 6d 65 |d "LOP.<filename| 00006be0 3e 22 20 63 6f 6d 70 72 69 73 69 6e 67 20 61 20 |>" comprising a | 00006bf0 36 34 30 20 70 69 78 65 6c 20 77 69 64 65 0a 20 |640 pixel wide. | 00006c00 61 6e 64 20 32 35 36 20 6c 69 6e 65 20 74 61 6c |and 256 line tal| 00006c10 6c 20 69 6d 61 67 65 20 77 69 74 68 20 70 69 78 |l image with pix| 00006c20 65 6c 73 20 73 69 7a 65 64 20 31 3a 32 2e 20 44 |els sized 1:2. D| 00006c30 65 74 61 69 6c 73 20 66 72 6f 6d 20 41 72 56 69 |etails from ArVi| 00006c40 73 20 4d 75 6c 74 69 6d 65 64 69 61 0a 20 2d 20 |s Multimedia. - | 00006c50 52 65 63 6f 67 6e 69 73 65 64 20 62 79 20 70 72 |Recognised by pr| 00006c60 6f 76 69 64 69 6e 67 20 74 68 65 20 48 49 50 2e |oviding the HIP.| 00006c70 3c 66 69 6c 65 6e 61 6d 65 3e 20 28 77 68 69 63 |<filename> (whic| 00006c80 68 20 6d 75 73 74 20 62 65 20 6f 66 20 66 69 6c |h must be of fil| 00006c90 65 20 74 79 70 65 20 46 46 39 29 0a 20 2d 20 55 |e type FF9). - U| 00006ca0 6e 63 6f 6d 70 72 65 73 73 65 64 20 28 69 6e 64 |ncompressed (ind| 00006cb0 65 65 64 20 72 65 70 72 65 73 65 6e 74 73 20 31 |eed represents 1| 00006cc0 36 20 62 69 74 73 20 69 6e 73 74 65 61 64 20 6f |6 bits instead o| 00006cd0 66 20 31 35 29 2e 0a 0a 54 68 65 20 50 69 6e 65 |f 15)...The Pine| 00006ce0 61 70 70 6c 65 20 63 6f 6c 6f 75 72 20 64 69 67 |apple colour dig| 00006cf0 69 74 69 73 65 72 20 66 6f 72 6d 61 74 20 28 6f |itiser format (o| 00006d00 66 20 50 69 6e 65 61 70 70 6c 65 20 53 6f 66 74 |f Pineapple Soft| 00006d10 77 61 72 65 29 0a 20 43 6f 6e 74 61 69 6e 73 20 |ware). Contains | 00006d20 36 20 62 69 74 73 20 6f 66 20 67 72 65 65 6e 2c |6 bits of green,| 00006d30 20 35 20 62 69 74 73 20 6f 66 20 72 65 64 20 61 | 5 bits of red a| 00006d40 6e 64 20 62 6c 75 65 20 69 6e 66 6f 72 6d 61 74 |nd blue informat| 00006d50 69 6f 6e 20 66 69 6c 65 64 20 61 73 20 61 0a 20 |ion filed as a. | 00006d60 73 69 6e 67 6c 65 20 64 61 74 61 20 66 69 6c 65 |single data file| 00006d70 20 73 74 61 72 74 69 6e 67 20 22 46 53 49 66 69 | starting "FSIfi| 00006d80 6c 65 22 20 63 6f 6d 70 72 69 73 69 6e 67 20 61 |le" comprising a| 00006d90 20 35 31 32 20 70 69 78 65 6c 20 77 69 64 65 20 | 512 pixel wide | 00006da0 61 6e 64 20 32 35 36 0a 20 6c 69 6e 65 20 74 61 |and 256. line ta| 00006db0 6c 6c 20 69 6d 61 67 65 20 77 69 74 68 20 70 69 |ll image with pi| 00006dc0 78 65 6c 73 20 73 69 7a 65 64 20 31 3a 32 2e 0a |xels sized 1:2..| 00006dd0 20 2d 20 52 65 63 6f 67 6e 69 73 65 64 20 62 79 | - Recognised by| 00006de0 20 22 46 53 49 66 69 6c 65 22 20 69 6e 20 74 68 | "FSIfile" in th| 00006df0 65 20 66 69 6c 65 20 28 77 68 69 63 68 20 63 61 |e file (which ca| 00006e00 6e 20 62 65 20 61 6e 79 20 74 79 70 65 29 0a 20 |n be any type). | 00006e10 2d 20 55 6e 63 6f 6d 70 72 65 73 73 65 64 0a 0a |- Uncompressed..| 00006e20 54 68 65 20 57 61 74 66 6f 72 64 20 56 69 64 65 |The Watford Vide| 00006e30 6f 20 44 69 67 69 74 69 73 65 72 20 22 70 69 63 |o Digitiser "pic| 00006e40 74 75 72 65 22 20 66 6f 72 6d 61 74 0a 20 43 6f |ture" format. Co| 00006e50 6e 74 61 69 6e 73 20 61 20 72 75 6e 20 6c 65 6e |ntains a run len| 00006e60 67 74 68 20 65 6e 63 6f 64 65 64 20 36 34 20 67 |gth encoded 64 g| 00006e70 72 65 79 20 6c 65 76 65 6c 20 35 31 32 20 70 69 |rey level 512 pi| 00006e80 78 65 6c 20 77 69 64 65 2c 20 32 35 36 20 6c 69 |xel wide, 256 li| 00006e90 6e 65 20 69 6d 61 67 65 2c 0a 20 77 69 74 68 20 |ne image,. with | 00006ea0 70 69 78 65 6c 73 20 73 69 7a 65 64 20 31 3a 32 |pixels sized 1:2| 00006eb0 2e 20 44 65 74 61 69 6c 73 20 66 72 6f 6d 20 57 |. Details from W| 00006ec0 61 74 66 6f 72 64 20 45 6c 65 63 74 72 6f 6e 69 |atford Electroni| 00006ed0 63 73 20 4c 74 64 2e 0a 20 2b 20 52 65 63 6f 67 |cs Ltd.. + Recog| 00006ee0 6e 69 73 65 64 20 62 79 20 66 69 6c 65 20 74 79 |nised by file ty| 00006ef0 70 65 20 44 46 41 20 28 61 20 73 6d 61 6c 6c 20 |pe DFA (a small | 00006f00 67 72 65 79 20 70 69 63 74 75 72 65 20 6f 66 20 |grey picture of | 00006f10 53 74 65 76 69 65 20 4e 69 63 6b 73 29 0a 20 2d |Stevie Nicks). -| 00006f20 20 57 61 72 6e 69 6e 67 3a 20 64 6f 6e 27 74 20 | Warning: don't | 00006f30 66 6f 72 67 65 74 20 74 6f 20 73 61 76 65 20 74 |forget to save t| 00006f40 68 65 20 70 69 63 74 75 72 65 73 20 69 6e 20 2a |he pictures in *| 00006f50 75 6e 2d 64 69 74 68 65 72 65 64 2a 20 73 74 61 |un-dithered* sta| 00006f60 74 65 21 0a 20 57 68 65 6e 20 75 73 65 64 20 77 |te!. When used w| 00006f70 69 74 68 20 61 20 63 6f 6c 6f 75 72 20 63 6f 6e |ith a colour con| 00006f80 76 65 72 74 65 72 2c 20 43 68 61 6e 67 65 46 53 |verter, ChangeFS| 00006f90 49 20 63 61 6e 20 72 65 61 64 20 74 68 72 65 65 |I can read three| 00006fa0 20 63 6f 6c 6f 75 72 0a 20 73 65 70 61 72 61 74 | colour. separat| 00006fb0 69 6f 6e 73 20 73 74 6f 72 65 64 20 69 6e 20 61 |ions stored in a| 00006fc0 20 64 69 72 65 63 74 6f 72 79 20 6f 66 20 73 65 | directory of se| 00006fd0 70 61 72 61 74 65 20 22 72 65 64 22 2c 20 22 67 |parate "red", "g| 00006fe0 72 65 65 6e 22 20 61 6e 64 20 22 62 6c 75 65 22 |reen" and "blue"| 00006ff0 0a 20 66 69 6c 65 73 2e 20 42 65 77 61 72 65 20 |. files. Beware | 00007000 6f 66 20 61 75 74 6f 2d 67 61 69 6e 2f 63 6f 6e |of auto-gain/con| 00007010 74 72 61 73 74 20 77 68 65 6e 20 75 73 69 6e 67 |trast when using| 00007020 20 73 75 63 68 20 69 6e 66 6f 72 6d 61 74 69 6f | such informatio| 00007030 6e 21 0a 0a 54 68 65 20 50 72 6f 41 72 74 69 73 |n!..The ProArtis| 00007040 61 6e 20 63 6f 6d 70 72 65 73 73 65 64 20 70 69 |an compressed pi| 00007050 63 74 75 72 65 20 66 69 6c 65 20 66 6f 72 6d 61 |cture file forma| 00007060 74 0a 20 43 6f 6e 74 61 69 6e 73 20 61 20 28 6d |t. Contains a (m| 00007070 69 6c 64 6c 79 29 20 63 6f 6d 70 72 65 73 73 65 |ildly) compresse| 00007080 64 20 4d 4f 44 45 20 31 35 20 28 36 34 30 20 62 |d MODE 15 (640 b| 00007090 79 20 32 35 36 20 62 79 20 32 35 36 20 63 6f 6c |y 256 by 256 col| 000070a0 6f 75 72 73 29 20 70 69 63 74 75 72 65 2e 0a 20 |ours) picture.. | 000070b0 44 65 74 61 69 6c 73 20 66 72 6f 6d 20 43 6c 61 |Details from Cla| 000070c0 72 65 73 2e 0a 20 2b 20 52 65 63 6f 67 6e 69 73 |res.. + Recognis| 000070d0 65 64 20 62 79 20 66 69 6c 65 20 74 79 70 65 20 |ed by file type | 000070e0 44 45 32 20 28 61 20 62 65 69 67 65 20 6d 6f 6e |DE2 (a beige mon| 000070f0 69 74 6f 72 20 69 6e 20 61 20 67 72 65 79 20 73 |itor in a grey s| 00007100 75 72 72 6f 75 6e 64 29 0a 0a 54 68 65 20 54 69 |urround)..The Ti| 00007110 6d 65 53 74 65 70 20 73 61 74 65 6c 6c 69 74 65 |meStep satellite| 00007120 20 69 6d 61 67 65 20 66 6f 72 6d 61 74 0a 20 54 | image format. T| 00007130 68 69 73 20 67 69 76 65 73 20 61 6e 20 75 6e 63 |his gives an unc| 00007140 6f 6d 70 72 65 73 73 65 64 20 38 30 30 20 62 79 |ompressed 800 by| 00007150 20 38 30 30 20 77 69 74 68 20 32 35 36 20 67 72 | 800 with 256 gr| 00007160 65 79 20 6c 65 76 65 6c 73 2e 0a 20 2b 20 52 65 |ey levels.. + Re| 00007170 63 6f 67 6e 69 73 65 64 20 62 79 20 66 69 6c 65 |cognised by file| 00007180 20 74 79 70 65 20 37 41 30 20 28 69 63 6f 6e 20 | type 7A0 (icon | 00007190 6e 65 76 65 72 20 73 65 65 6e 29 0a 20 2d 20 4e |never seen). - N| 000071a0 6f 20 72 65 73 6f 6c 75 74 69 6f 6e 20 73 70 65 |o resolution spe| 000071b0 63 69 66 69 65 64 2c 20 65 71 75 61 6c 20 74 6f |cified, equal to| 000071c0 20 6d 6f 64 65 20 32 37 20 61 73 73 75 6d 65 64 | mode 27 assumed| 000071d0 0a 20 2d 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f |. - Documentatio| 000071e0 6e 20 6e 65 76 65 72 20 73 65 65 6e 2e 20 41 6e |n never seen. An| 000071f0 20 65 78 74 72 61 20 68 65 61 64 65 72 20 66 69 | extra header fi| 00007200 6c 65 20 3c 6e 61 6d 65 3e 21 20 69 73 20 6e 6f |le <name>! is no| 00007210 74 20 75 6e 64 65 72 73 74 6f 6f 64 0a 20 20 20 |t understood. | 00007220 61 74 20 61 6c 6c 2e 2e 2e 2e 2e 0a 0a 43 43 49 |at all.......CCI| 00007230 52 36 30 31 20 34 3a 32 3a 32 20 69 6d 61 67 65 |R601 4:2:2 image| 00007240 73 0a 20 43 6f 6e 74 61 69 6e 20 37 32 30 20 70 |s. Contain 720 p| 00007250 69 78 65 6c 73 20 62 79 20 32 38 38 20 72 6f 77 |ixels by 288 row| 00007260 73 20 28 50 41 4c 29 20 5b 32 34 33 20 72 6f 77 |s (PAL) [243 row| 00007270 73 20 4e 54 53 43 5d 20 59 55 56 20 63 6f 64 65 |s NTSC] YUV code| 00007280 64 20 77 69 74 68 0a 20 70 69 78 65 6c 73 20 73 |d with. pixels s| 00007290 69 7a 65 64 20 31 3a 32 2e 0a 20 2b 20 52 65 63 |ized 1:2.. + Rec| 000072a0 6f 67 6e 69 73 65 64 20 62 79 20 66 69 6c 65 20 |ognised by file | 000072b0 74 79 70 65 20 36 30 31 0a 20 2d 20 6f 6e 65 20 |type 601. - one | 000072c0 66 69 65 6c 64 20 6f 6e 6c 79 0a 0a 41 6e 6f 74 |field only..Anot| 000072d0 68 65 72 20 54 69 6d 65 53 74 65 70 20 73 61 74 |her TimeStep sat| 000072e0 65 6c 6c 69 74 65 20 69 6d 61 67 65 20 66 6f 72 |ellite image for| 000072f0 6d 61 74 0a 20 47 69 76 69 6e 67 20 61 6e 20 75 |mat. Giving an u| 00007300 6e 63 6f 6d 70 72 65 73 73 65 64 20 31 32 38 20 |ncompressed 128 | 00007310 70 69 78 65 6c 73 20 77 69 64 65 20 62 79 20 32 |pixels wide by 2| 00007320 35 36 20 6c 69 6e 65 73 20 77 69 74 68 20 32 35 |56 lines with 25| 00007330 36 20 67 72 65 79 20 6c 65 76 65 6c 73 2c 0a 20 |6 grey levels,. | 00007340 70 69 78 65 6c 73 20 73 69 7a 65 64 20 32 3a 31 |pixels sized 2:1| 00007350 2e 20 55 73 65 64 20 62 79 20 54 69 6d 65 53 74 |. Used by TimeSt| 00007360 65 70 27 73 20 21 49 6d 50 72 6f 63 65 73 73 20 |ep's !ImProcess | 00007370 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 2b 20 |application.. + | 00007380 52 65 63 6f 67 6e 69 73 65 64 20 62 79 20 66 69 |Recognised by fi| 00007390 6c 65 20 74 79 70 65 20 33 30 30 20 28 22 69 22 |le type 300 ("i"| 000073a0 20 69 6e 20 61 20 64 6f 63 75 6d 65 6e 74 20 66 | in a document f| 000073b0 72 61 6d 65 29 0a 20 2d 20 44 6f 63 75 6d 65 6e |rame). - Documen| 000073c0 74 61 74 69 6f 6e 20 6e 65 76 65 72 20 73 65 65 |tation never see| 000073d0 6e 2e 0a 20 2d 20 41 20 62 69 74 20 63 6f 61 72 |n.. - A bit coar| 000073e0 73 65 0a 20 54 68 65 20 67 72 65 79 20 6c 65 76 |se. The grey lev| 000073f0 65 6c 73 20 72 65 70 72 65 73 65 6e 74 20 69 6e |els represent in| 00007400 74 65 6e 73 69 74 79 20 69 6e 20 76 61 72 69 6f |tensity in vario| 00007410 75 73 20 64 69 66 66 65 72 65 6e 74 20 77 61 76 |us different wav| 00007420 65 20 62 61 6e 64 73 2e 20 42 79 0a 20 6e 61 6d |e bands. By. nam| 00007430 69 6e 67 20 66 69 6c 65 73 20 22 72 65 64 22 2c |ing files "red",| 00007440 20 22 67 72 65 65 6e 22 20 61 6e 64 20 22 62 6c | "green" and "bl| 00007450 75 65 22 20 61 6e 64 20 68 61 6e 64 69 6e 67 20 |ue" and handing | 00007460 43 68 61 6e 67 65 46 53 49 20 74 68 65 20 64 69 |ChangeFSI the di| 00007470 72 65 63 74 6f 72 79 2c 0a 20 79 6f 75 20 63 61 |rectory,. you ca| 00007480 6e 20 70 72 6f 64 75 63 65 20 61 20 66 61 6c 73 |n produce a fals| 00007490 65 20 63 6f 6c 6f 75 72 20 69 6d 61 67 65 2e 20 |e colour image. | 000074a0 48 6f 75 72 73 20 6f 66 20 65 78 70 65 72 69 6d |Hours of experim| 000074b0 65 6e 74 61 74 69 6f 6e 20 63 61 6e 20 70 72 6f |entation can pro| 000074c0 64 75 63 65 0a 20 61 6e 20 61 6c 6d 6f 73 74 20 |duce. an almost | 000074d0 72 65 61 73 6f 6e 61 62 6c 65 20 70 69 63 74 75 |reasonable pictu| 000074e0 72 65 2e 2e 2e 0a 0a 54 68 65 20 41 49 4d 20 61 |re.....The AIM a| 000074f0 6e 64 20 57 69 6c 64 20 56 69 73 69 6f 6e 20 56 |nd Wild Vision V| 00007500 31 30 20 66 6f 72 6d 61 74 0a 20 54 68 69 73 20 |10 format. This | 00007510 70 72 6f 76 69 64 65 73 20 61 6e 20 75 6e 63 6f |provides an unco| 00007520 6d 70 72 65 73 73 65 64 20 32 35 36 20 62 79 20 |mpressed 256 by | 00007530 32 35 36 20 69 6d 61 67 65 20 77 69 74 68 20 32 |256 image with 2| 00007540 35 36 20 67 72 65 79 20 6c 65 76 65 6c 73 2e 20 |56 grey levels. | 00007550 44 65 74 61 69 6c 73 0a 20 66 72 6f 6d 20 44 65 |Details. from De| 00007560 6c 66 74 20 55 6e 69 76 65 72 73 69 74 79 20 6f |lft University o| 00007570 66 20 54 65 63 68 6e 6f 6c 6f 67 79 20 61 6e 64 |f Technology and| 00007580 20 45 43 44 20 43 6f 6d 70 75 74 65 72 73 20 44 | ECD Computers D| 00007590 65 6c 66 74 20 42 2e 56 2e 0a 20 2b 20 52 65 63 |elft B.V.. + Rec| 000075a0 6f 67 6e 69 73 65 64 20 62 79 20 66 69 6c 65 20 |ognised by file | 000075b0 74 79 70 65 20 30 30 34 20 28 61 20 70 69 63 74 |type 004 (a pict| 000075c0 75 72 65 20 6f 66 20 27 54 72 75 69 27 20 77 69 |ure of 'Trui' wi| 000075d0 74 68 20 22 54 55 22 20 69 6e 20 62 6c 75 65 29 |th "TU" in blue)| 000075e0 0a 20 2b 20 43 68 61 6e 67 65 46 53 49 20 63 61 |. + ChangeFSI ca| 000075f0 6e 20 77 72 69 74 65 20 74 6f 20 74 68 69 73 20 |n write to this | 00007600 66 6f 72 6d 61 74 20 28 73 70 65 63 69 66 79 20 |format (specify | 00007610 22 61 69 6d 22 20 69 6e 20 74 68 65 20 6d 6f 64 |"aim" in the mod| 00007620 65 20 70 6f 73 69 74 69 6f 6e 29 0a 20 20 20 61 |e position). a| 00007630 6e 64 20 73 70 65 63 69 66 79 20 3d 20 69 6e 20 |nd specify = in | 00007640 74 68 65 20 73 69 7a 69 6e 67 20 74 6f 20 67 65 |the sizing to ge| 00007650 74 20 61 20 32 35 36 20 62 79 20 32 35 36 20 6f |t a 256 by 256 o| 00007660 75 74 70 75 74 20 28 6f 74 68 65 72 77 69 73 65 |utput (otherwise| 00007670 20 69 74 20 77 69 6c 6c 0a 20 20 20 62 65 20 74 | it will. be t| 00007680 68 65 20 73 61 6d 65 20 73 69 7a 65 20 61 73 20 |he same size as | 00007690 74 68 65 20 73 6f 75 72 63 65 20 69 6d 61 67 65 |the source image| 000076a0 29 0a 20 2d 20 4e 6f 20 72 65 73 6f 6c 75 74 69 |). - No resoluti| 000076b0 6f 6e 20 73 70 65 63 69 66 69 65 64 2c 20 65 71 |on specified, eq| 000076c0 75 61 6c 20 74 6f 20 6d 6f 64 65 20 32 37 20 61 |ual to mode 27 a| 000076d0 73 73 75 6d 65 64 0a 20 2d 20 54 68 65 20 61 73 |ssumed. - The as| 000076e0 73 6f 63 69 61 74 65 64 20 66 69 6c 65 20 3c 6e |sociated file <n| 000076f0 61 6d 65 3e 2b 20 28 66 69 6c 65 20 74 79 70 65 |ame>+ (file type| 00007700 20 30 31 30 29 20 77 68 69 63 68 20 63 6f 6e 74 | 010) which cont| 00007710 61 69 6e 73 20 61 64 64 69 74 69 6f 6e 61 6c 0a |ains additional.| 00007720 20 20 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 | information i| 00007730 73 20 69 67 6e 6f 72 65 64 20 62 79 20 43 68 61 |s ignored by Cha| 00007740 6e 67 65 46 53 49 2e 0a 20 54 68 65 20 67 72 65 |ngeFSI.. The gre| 00007750 79 20 6c 65 76 65 6c 73 20 6d 61 79 20 72 65 70 |y levels may rep| 00007760 72 65 73 65 6e 74 20 69 6e 74 65 6e 73 69 74 79 |resent intensity| 00007770 20 69 6e 20 76 61 72 69 6f 75 73 20 64 69 66 66 | in various diff| 00007780 65 72 65 6e 74 20 77 61 76 65 20 62 61 6e 64 73 |erent wave bands| 00007790 2e 20 42 79 0a 20 6e 61 6d 69 6e 67 20 66 69 6c |. By. naming fil| 000077a0 65 73 20 22 72 65 64 22 2c 20 22 67 72 65 65 6e |es "red", "green| 000077b0 22 20 61 6e 64 20 22 62 6c 75 65 22 20 61 6e 64 |" and "blue" and| 000077c0 20 68 61 6e 64 69 6e 67 20 43 68 61 6e 67 65 46 | handing ChangeF| 000077d0 53 49 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 |SI the directory| 000077e0 2c 0a 20 79 6f 75 20 63 61 6e 20 70 72 6f 64 75 |,. you can produ| 000077f0 63 65 20 61 20 66 61 6c 73 65 20 63 6f 6c 6f 75 |ce a false colou| 00007800 72 20 69 6d 61 67 65 2e 20 48 6f 75 72 73 20 6f |r image. Hours o| 00007810 66 20 65 78 70 65 72 69 6d 65 6e 74 61 74 69 6f |f experimentatio| 00007820 6e 20 63 61 6e 20 70 72 6f 64 75 63 65 0a 20 61 |n can produce. a| 00007830 6e 20 61 6c 6d 6f 73 74 20 72 65 61 73 6f 6e 61 |n almost reasona| 00007840 62 6c 65 20 70 69 63 74 75 72 65 2e 2e 2e 0a 0a |ble picture.....| 00007850 54 68 65 20 57 69 6c 64 20 56 69 73 69 6f 6e 20 |The Wild Vision | 00007860 56 31 32 20 66 6f 72 6d 61 74 0a 20 54 68 69 73 |V12 format. This| 00007870 20 70 72 6f 76 69 64 65 73 20 61 6e 20 75 6e 63 | provides an unc| 00007880 6f 6d 70 72 65 73 73 65 64 20 35 31 32 20 62 79 |ompressed 512 by| 00007890 20 35 31 32 20 69 6d 61 67 65 20 77 69 74 68 20 | 512 image with | 000078a0 32 35 36 20 67 72 65 79 20 6c 65 76 65 6c 73 2e |256 grey levels.| 000078b0 0a 20 2b 20 52 65 63 6f 67 6e 69 73 65 64 20 62 |. + Recognised b| 000078c0 79 20 66 69 6c 65 20 74 79 70 65 20 30 30 36 0a |y file type 006.| 000078d0 20 2d 20 4e 6f 20 72 65 73 6f 6c 75 74 69 6f 6e | - No resolution| 000078e0 20 73 70 65 63 69 66 69 65 64 2c 20 65 71 75 61 | specified, equa| 000078f0 6c 20 74 6f 20 6d 6f 64 65 20 32 37 20 61 73 73 |l to mode 27 ass| 00007900 75 6d 65 64 0a 0a 54 68 65 20 57 69 6c 64 20 56 |umed..The Wild V| 00007910 69 73 69 6f 6e 20 56 39 20 61 6e 64 20 53 6e 61 |ision V9 and Sna| 00007920 70 53 68 6f 74 20 66 6f 72 6d 61 74 73 0a 20 54 |pShot formats. T| 00007930 68 69 73 20 70 72 6f 76 69 64 65 73 20 61 6e 20 |his provides an | 00007940 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 35 31 32 |uncompressed 512| 00007950 20 62 79 20 32 35 36 20 69 6d 61 67 65 20 77 69 | by 256 image wi| 00007960 74 68 20 34 20 62 69 74 73 20 6f 66 20 72 65 64 |th 4 bits of red| 00007970 2c 20 67 72 65 65 6e 0a 20 61 6e 64 20 62 6c 75 |, green. and blu| 00007980 65 2c 20 70 69 78 65 6c 73 20 73 69 7a 65 64 20 |e, pixels sized | 00007990 31 3a 32 2e 0a 20 2b 20 52 65 63 6f 67 6e 69 73 |1:2.. + Recognis| 000079a0 65 64 20 62 79 20 22 4d 65 72 63 53 6f 66 74 22 |ed by "MercSoft"| 000079b0 20 6f 72 20 22 53 6e 61 70 53 68 6f 74 22 20 68 | or "SnapShot" h| 000079c0 65 61 64 65 72 0a 20 2b 20 4e 6f 20 66 69 6c 65 |eader. + No file| 000079d0 20 74 79 70 65 20 6e 65 65 64 65 64 0a 0a 54 68 | type needed..Th| 000079e0 65 20 21 54 72 61 6e 73 6c 61 74 6f 72 20 43 6c |e !Translator Cl| 000079f0 65 61 72 20 66 6f 72 6d 61 74 0a 20 54 68 69 73 |ear format. This| 00007a00 20 70 72 6f 76 69 64 65 73 20 31 2c 20 32 2c 20 | provides 1, 2, | 00007a10 34 2c 20 38 20 61 6e 64 20 32 34 20 62 69 74 73 |4, 8 and 24 bits| 00007a20 20 70 65 72 20 70 69 78 65 6c 2e 0a 20 2b 20 52 | per pixel.. + R| 00007a30 65 63 6f 67 6e 69 73 65 64 20 62 79 20 66 69 6c |ecognised by fil| 00007a40 65 20 74 79 70 65 20 36 39 30 0a 20 2d 20 75 6e |e type 690. - un| 00007a50 63 6f 6d 70 72 65 73 73 65 64 2c 20 65 73 70 65 |compressed, espe| 00007a60 63 69 61 6c 6c 79 20 66 6f 72 20 3c 38 20 62 69 |cially for <8 bi| 00007a70 74 73 20 70 65 72 20 70 69 78 65 6c 20 77 68 69 |ts per pixel whi| 00007a80 63 68 20 69 73 20 72 65 63 6f 72 64 65 64 20 61 |ch is recorded a| 00007a90 74 20 6f 6e 65 0a 20 20 20 62 79 74 65 20 70 65 |t one. byte pe| 00007aa0 72 20 70 69 78 65 6c 2e 0a 20 2d 20 4e 6f 20 72 |r pixel.. - No r| 00007ab0 65 73 6f 6c 75 74 69 6f 6e 20 73 70 65 63 69 66 |esolution specif| 00007ac0 69 65 64 2c 20 65 71 75 61 6c 20 74 6f 20 6d 6f |ied, equal to mo| 00007ad0 64 65 20 32 37 20 61 73 73 75 6d 65 64 0a 0a 54 |de 27 assumed..T| 00007ae0 68 65 20 41 74 61 72 69 20 53 54 20 22 44 65 67 |he Atari ST "Deg| 00007af0 61 73 22 20 66 6f 72 6d 61 74 0a 20 31 2c 20 32 |as" format. 1, 2| 00007b00 20 6f 72 20 34 20 62 69 74 73 20 70 65 72 20 70 | or 4 bits per p| 00007b10 69 78 65 6c 2c 20 63 6c 65 61 72 20 6f 72 20 72 |ixel, clear or r| 00007b20 75 6e 20 6c 65 6e 67 74 68 20 65 6e 63 6f 64 65 |un length encode| 00007b30 64 2e 20 52 49 53 43 20 4f 53 20 66 69 6c 65 20 |d. RISC OS file | 00007b40 74 79 70 65 20 62 79 0a 20 4a 6f 68 6e 20 4b 6f |type by. John Ko| 00007b50 72 74 69 6e 6b 20 6f 66 20 21 54 72 61 6e 73 6c |rtink of !Transl| 00007b60 61 74 6f 72 2e 0a 20 2b 20 52 65 63 6f 67 6e 69 |ator.. + Recogni| 00007b70 73 65 64 20 62 79 20 66 69 6c 65 20 74 79 70 65 |sed by file type| 00007b80 20 36 39 31 0a 20 2d 20 4e 6f 20 64 6f 63 75 6d | 691. - No docum| 00007b90 65 6e 74 61 74 69 6f 6e 20 61 6e 64 20 6f 6e 6c |entation and onl| 00007ba0 79 20 35 20 69 6d 61 67 65 73 20 72 65 61 64 0a |y 5 images read.| 00007bb0 20 2d 20 4e 6f 20 72 65 73 6f 6c 75 74 69 6f 6e | - No resolution| 00007bc0 20 73 70 65 63 69 66 69 65 64 2c 20 65 71 75 61 | specified, equa| 00007bd0 6c 20 74 6f 20 6d 6f 64 65 20 32 37 20 61 73 73 |l to mode 27 ass| 00007be0 75 6d 65 64 0a 0a 3e 3e 20 41 6c 6c 20 74 68 65 |umed..>> All the| 00007bf0 20 66 69 6c 65 20 66 6f 72 6d 61 74 73 20 73 6f | file formats so| 00007c00 20 66 61 72 20 68 61 76 65 20 62 65 65 6e 20 64 | far have been d| 00007c10 65 73 69 67 6e 65 64 20 6f 6e 20 52 49 53 43 20 |esigned on RISC | 00007c20 4f 53 20 28 6f 72 20 41 72 74 68 75 72 29 20 61 |OS (or Arthur) a| 00007c30 6e 64 0a 72 65 63 6f 67 6e 69 74 69 6f 6e 20 6f |nd.recognition o| 00007c40 66 20 74 68 65 20 66 6f 72 6d 61 74 20 69 73 20 |f the format is | 00007c50 64 65 66 69 6e 65 64 20 62 79 20 66 69 6c 65 20 |defined by file | 00007c60 74 79 70 65 2c 20 74 68 65 20 66 69 6c 65 73 20 |type, the files | 00007c70 61 72 72 69 76 65 20 6f 6e 20 52 49 53 43 0a 4f |arrive on RISC.O| 00007c80 53 20 66 6c 6f 70 70 79 20 64 69 73 63 73 2c 20 |S floppy discs, | 00007c90 61 6e 64 20 74 68 65 20 6f 72 69 67 69 6e 61 74 |and the originat| 00007ca0 6f 72 73 20 6c 69 76 65 20 69 6e 20 74 68 65 20 |ors live in the | 00007cb0 73 61 6d 65 20 74 69 6d 65 20 7a 6f 6e 65 2e 20 |same time zone. | 00007cc0 46 6f 72 20 74 68 65 0a 66 6f 6c 6c 6f 77 69 6e |For the.followin| 00007cd0 67 20 66 6f 72 6d 61 74 73 20 6d 61 6e 79 20 6f |g formats many o| 00007ce0 66 20 74 68 65 73 65 20 74 68 69 6e 67 73 20 61 |f these things a| 00007cf0 72 65 20 6e 6f 74 20 74 72 75 65 2e 2e 2e 20 57 |re not true... W| 00007d00 68 69 63 68 20 6d 61 6b 65 73 20 69 74 20 6d 6f |hich makes it mo| 00007d10 72 65 0a 64 69 66 66 69 63 75 6c 74 20 74 6f 20 |re.difficult to | 00007d20 67 75 61 72 61 6e 74 65 65 20 74 68 61 74 20 43 |guarantee that C| 00007d30 68 61 6e 67 65 46 53 49 20 77 69 6c 6c 20 62 65 |hangeFSI will be| 00007d40 20 61 62 6c 65 20 74 6f 20 72 65 61 64 20 74 68 | able to read th| 00007d50 65 20 66 69 6c 65 2e 0a 0a 54 68 65 20 4d 69 6c |e file...The Mil| 00007d60 6c 69 70 65 64 65 20 50 72 69 73 6d 61 20 66 6f |lipede Prisma fo| 00007d70 72 6d 61 74 20 28 75 73 65 64 20 62 79 20 43 61 |rmat (used by Ca| 00007d80 64 53 6f 66 74 20 61 6c 73 6f 29 0a 20 54 68 65 |dSoft also). The| 00007d90 20 4d 69 6c 6c 69 70 65 64 65 20 50 72 69 73 6d | Millipede Prism| 00007da0 61 20 33 20 69 73 20 61 20 37 36 38 20 70 69 78 |a 3 is a 768 pix| 00007db0 65 6c 73 20 77 69 64 65 20 62 79 20 35 37 34 20 |els wide by 574 | 00007dc0 6c 69 6e 65 20 69 6e 74 65 72 6c 61 63 65 64 20 |line interlaced | 00007dd0 64 69 73 70 6c 61 79 0a 20 62 6f 61 72 64 20 66 |display. board f| 00007de0 6f 72 20 74 68 65 20 41 72 63 68 69 6d 65 64 65 |or the Archimede| 00007df0 73 20 61 6e 64 20 42 42 43 20 4d 69 63 72 6f 63 |s and BBC Microc| 00007e00 6f 6d 70 75 74 65 72 2e 20 49 74 20 61 6c 6c 6f |omputer. It allo| 00007e10 77 73 20 75 73 65 20 6f 66 20 32 35 36 0a 20 63 |ws use of 256. c| 00007e20 6f 6c 6f 75 72 73 20 66 72 6f 6d 20 32 5e 32 34 |olours from 2^24| 00007e30 2e 20 46 69 6c 65 73 20 6d 61 79 20 62 65 20 73 |. Files may be s| 00007e40 74 6f 72 65 64 20 75 6e 63 6f 6d 70 72 65 73 73 |tored uncompress| 00007e50 65 64 20 28 34 33 32 4b 42 79 74 65 73 21 29 20 |ed (432KBytes!) | 00007e60 6f 72 20 72 75 6e 0a 20 6c 65 6e 67 74 68 20 65 |or run. length e| 00007e70 6e 63 6f 64 65 64 2e 20 4d 6f 72 65 20 64 65 74 |ncoded. More det| 00007e80 61 69 6c 73 20 66 72 6f 6d 20 43 61 64 53 6f 66 |ails from CadSof| 00007e90 74 20 6f 72 20 4d 69 6c 6c 69 70 65 64 65 20 45 |t or Millipede E| 00007ea0 6c 65 63 74 72 6f 6e 69 63 20 47 72 61 70 68 69 |lectronic Graphi| 00007eb0 63 73 2e 0a 20 2b 20 52 65 63 6f 67 6e 69 73 65 |cs.. + Recognise| 00007ec0 64 20 62 79 20 22 4d 49 4c 4c 49 50 45 44 45 22 |d by "MILLIPEDE"| 00007ed0 20 61 74 20 6f 66 66 73 65 74 20 31 36 20 69 6e | at offset 16 in| 00007ee0 20 74 68 65 20 66 69 6c 65 0a 20 2d 20 4e 6f 20 | the file. - No | 00007ef0 72 65 73 6f 6c 75 74 69 6f 6e 20 73 70 65 63 69 |resolution speci| 00007f00 66 69 65 64 2c 20 65 71 75 61 6c 20 74 6f 20 6d |fied, equal to m| 00007f10 6f 64 65 20 32 37 20 61 73 73 75 6d 65 64 0a 20 |ode 27 assumed. | 00007f20 2d 20 73 6c 6f 77 69 73 68 20 74 6f 20 72 65 61 |- slowish to rea| 00007f30 64 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 |d the compressed| 00007f40 20 66 6f 72 6d 61 74 73 0a 20 2d 20 73 63 61 6c | formats. - scal| 00007f50 69 6e 67 20 74 68 65 20 70 69 63 74 75 72 65 20 |ing the picture | 00007f60 75 73 69 6e 67 20 3d 20 63 61 6e 20 62 65 20 70 |using = can be p| 00007f70 6f 6f 72 20 73 69 6e 63 65 20 35 37 34 20 6c 69 |oor since 574 li| 00007f80 6e 65 73 20 64 6f 6e 27 74 20 72 65 6c 61 74 65 |nes don't relate| 00007f90 20 76 65 72 79 0a 20 20 20 77 65 6c 6c 20 74 6f | very. well to| 00007fa0 20 35 31 32 20 6f 72 20 32 35 36 2e 20 55 73 65 | 512 or 256. Use| 00007fb0 20 2d 69 6e 66 6f 20 74 6f 20 64 69 73 70 6c 61 | -info to displa| 00007fc0 79 20 74 68 65 20 73 63 61 6c 65 20 72 61 74 69 |y the scale rati| 00007fd0 6f 73 2e 0a 0a 54 68 65 20 41 6c 64 75 73 2f 4d |os...The Aldus/M| 00007fe0 69 63 72 6f 53 6f 66 74 20 54 49 46 46 20 66 6f |icroSoft TIFF fo| 00007ff0 72 6d 61 74 20 28 61 6c 73 6f 20 66 69 6c 65 74 |rmat (also filet| 00008000 79 70 65 20 46 46 30 20 69 73 20 61 73 73 69 67 |ype FF0 is assig| 00008010 6e 65 64 20 74 6f 20 54 49 46 46 29 0a 20 46 72 |ned to TIFF). Fr| 00008020 65 71 75 65 6e 74 6c 79 20 75 73 65 64 20 62 79 |equently used by| 00008030 20 73 63 61 6e 6e 65 72 73 2c 20 54 49 46 46 20 | scanners, TIFF | 00008040 69 73 20 61 20 63 6f 6d 6d 6f 6e 20 69 6e 74 65 |is a common inte| 00008050 72 63 68 61 6e 67 65 20 66 6f 72 6d 61 74 20 66 |rchange format f| 00008060 6f 72 0a 20 67 72 61 70 68 69 63 73 20 69 6d 61 |or. graphics ima| 00008070 67 65 73 20 6f 6e 20 74 68 65 20 4d 61 63 20 61 |ges on the Mac a| 00008080 6e 64 20 50 43 20 28 70 61 72 74 69 63 75 6c 61 |nd PC (particula| 00008090 72 6c 79 20 44 54 50 20 61 6e 64 20 57 69 6e 64 |rly DTP and Wind| 000080a0 6f 77 73 29 2e 20 49 74 0a 20 70 72 6f 76 69 64 |ows). It. provid| 000080b0 65 73 20 61 6e 20 61 72 62 69 74 72 61 72 79 20 |es an arbitrary | 000080c0 6e 75 6d 62 65 72 20 6f 66 20 62 69 74 73 20 70 |number of bits p| 000080d0 65 72 20 70 69 78 65 6c 2c 20 73 69 7a 65 20 65 |er pixel, size e| 000080e0 74 63 20 75 73 69 6e 67 20 61 20 6e 75 6d 65 72 |tc using a numer| 000080f0 69 63 20 74 61 67 0a 20 73 63 68 65 6d 65 20 61 |ic tag. scheme a| 00008100 6c 6c 6f 77 69 6e 67 20 6e 65 77 20 69 6e 66 6f |llowing new info| 00008110 72 6d 61 74 69 6f 6e 20 74 6f 20 62 65 20 69 6e |rmation to be in| 00008120 74 72 6f 64 75 63 65 64 20 77 69 74 68 6f 75 74 |troduced without| 00008130 20 75 70 73 65 74 74 69 6e 67 20 65 78 69 73 74 | upsetting exist| 00008140 69 6e 67 0a 20 70 72 6f 67 72 61 6d 73 2e 20 54 |ing. programs. T| 00008150 68 65 20 66 6f 72 6d 61 74 20 6d 61 79 20 62 65 |he format may be| 00008160 20 63 6f 6d 70 72 65 73 73 65 64 20 28 69 6e 20 | compressed (in | 00008170 35 20 64 69 66 66 65 72 65 6e 74 20 77 61 79 73 |5 different ways| 00008180 20 61 74 20 70 72 65 73 65 6e 74 29 2e 0a 20 44 | at present).. D| 00008190 65 74 61 69 6c 73 20 66 72 6f 6d 20 41 6c 64 75 |etails from Aldu| 000081a0 73 20 55 4b 2c 20 4d 69 63 72 6f 53 6f 66 74 2c |s UK, MicroSoft,| 000081b0 20 48 65 77 6c 65 74 74 20 50 61 63 6b 61 72 64 | Hewlett Packard| 000081c0 2e 2e 2e 0a 20 2b 20 52 65 63 6f 67 6e 69 73 65 |.... + Recognise| 000081d0 64 20 62 79 20 66 69 6c 65 20 74 79 70 65 20 46 |d by file type F| 000081e0 46 30 0a 20 2b 20 52 65 63 6f 67 6e 69 73 65 64 |F0. + Recognised| 000081f0 20 62 79 20 22 49 49 22 20 70 6c 75 73 20 74 68 | by "II" plus th| 00008200 65 20 31 36 20 62 69 74 20 6e 75 6d 62 65 72 20 |e 16 bit number | 00008210 34 32 20 61 74 20 74 68 65 20 73 74 61 72 74 20 |42 at the start | 00008220 6f 66 20 74 68 65 20 66 69 6c 65 20 66 6f 72 0a |of the file for.| 00008230 20 20 20 6c 69 74 74 6c 65 20 65 6e 64 69 61 6e | little endian| 00008240 20 6d 61 63 68 69 6e 65 73 20 28 69 78 38 36 2c | machines (ix86,| 00008250 20 41 52 4d 2c 20 56 41 58 2e 2e 2e 29 0a 20 2b | ARM, VAX...). +| 00008260 20 52 65 63 6f 67 6e 69 73 65 64 20 62 79 20 22 | Recognised by "| 00008270 4d 4d 22 20 70 6c 75 73 20 74 68 65 20 31 36 20 |MM" plus the 16 | 00008280 62 69 74 20 6e 75 6d 62 65 72 20 34 32 20 61 74 |bit number 42 at| 00008290 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 68 | the start of th| 000082a0 65 20 66 69 6c 65 20 66 6f 72 0a 20 20 20 62 69 |e file for. bi| 000082b0 67 20 65 6e 64 69 61 6e 20 6d 61 63 68 69 6e 65 |g endian machine| 000082c0 73 20 28 4d 36 38 30 78 30 2e 2e 2e 29 0a 20 2b |s (M680x0...). +| 000082d0 20 43 61 6e 20 72 65 61 64 20 50 61 63 6b 42 69 | Can read PackBi| 000082e0 74 73 20 69 6d 61 67 65 73 20 61 6e 64 20 4c 5a |ts images and LZ| 000082f0 57 20 63 6f 6d 70 72 65 73 73 65 64 20 66 6f 72 |W compressed for| 00008300 6d 73 20 28 61 74 20 6c 65 61 73 74 20 74 68 65 |ms (at least the| 00008310 20 33 20 69 74 73 0a 20 20 20 73 65 65 6e 20 73 | 3 its. seen s| 00008320 6f 20 66 61 72 2e 2e 2e 29 0a 20 2d 20 43 61 6e |o far...). - Can| 00008330 6e 6f 74 20 72 65 61 64 20 70 72 65 64 69 63 74 |not read predict| 00008340 6f 72 20 63 6f 6d 70 72 65 73 73 65 64 20 4c 5a |or compressed LZ| 00008350 57 20 69 6d 61 67 65 73 2e 0a 20 2d 20 53 6f 20 |W images.. - So | 00008360 66 61 72 20 43 68 61 6e 67 65 46 53 49 20 68 61 |far ChangeFSI ha| 00008370 73 20 6f 6e 6c 79 20 64 6f 6e 65 20 31 2c 20 34 |s only done 1, 4| 00008380 2c 20 38 20 61 6e 64 20 32 34 20 62 69 74 20 69 |, 8 and 24 bit i| 00008390 6d 61 67 65 73 2e 0a 20 20 20 49 74 20 63 61 6e |mages.. It can| 000083a0 27 74 20 72 65 61 64 20 22 70 6c 61 6e 61 72 22 |'t read "planar"| 000083b0 20 69 6d 61 67 65 73 20 6f 72 20 43 43 49 54 54 | images or CCITT| 000083c0 20 63 6f 6d 70 72 65 73 73 65 64 20 66 6f 72 6d | compressed form| 000083d0 73 2e 0a 20 2d 20 53 6f 6d 65 20 54 49 46 46 20 |s.. - Some TIFF | 000083e0 69 6d 61 67 65 73 20 68 61 76 65 20 69 6e 63 6f |images have inco| 000083f0 72 72 65 63 74 20 70 69 78 65 6c 20 73 69 7a 65 |rrect pixel size| 00008400 73 3a 20 75 73 65 20 2d 6e 6f 73 69 7a 65 20 69 |s: use -nosize i| 00008410 66 20 74 68 69 73 20 69 73 0a 20 20 20 74 72 75 |f this is. tru| 00008420 65 2e 20 49 66 20 6e 6f 20 70 69 78 65 6c 20 73 |e. If no pixel s| 00008430 69 7a 65 20 69 73 20 73 70 65 63 69 66 69 65 64 |ize is specified| 00008440 2c 20 43 68 61 6e 67 65 46 53 49 20 61 73 73 75 |, ChangeFSI assu| 00008450 6d 65 73 20 6d 6f 64 65 20 32 37 20 73 69 7a 65 |mes mode 27 size| 00008460 2e 0a 20 2b 20 54 49 46 46 20 69 73 20 61 20 74 |.. + TIFF is a t| 00008470 72 61 64 65 6d 61 72 6b 20 6f 66 20 41 6c 64 75 |rademark of Aldu| 00008480 73 20 43 6f 72 70 6f 72 61 74 69 6f 6e 0a 0a 54 |s Corporation..T| 00008490 68 65 20 43 6f 6d 70 75 53 65 72 76 65 20 47 49 |he CompuServe GI| 000084a0 46 20 66 6f 72 6d 61 74 0a 20 55 73 65 64 20 66 |F format. Used f| 000084b0 6f 72 20 77 69 64 65 20 61 72 65 61 20 6e 65 74 |or wide area net| 000084c0 77 6f 72 6b 20 74 72 61 6e 73 66 65 72 20 6f 66 |work transfer of| 000084d0 20 69 6d 61 67 65 73 2e 20 49 74 20 70 72 6f 76 | images. It prov| 000084e0 69 64 65 73 20 61 6e 20 4c 5a 57 0a 20 63 6f 6d |ides an LZW. com| 000084f0 70 72 65 73 73 65 64 20 75 70 20 74 6f 20 32 35 |pressed up to 25| 00008500 36 20 63 6f 6c 6f 75 72 73 20 66 72 6f 6d 20 32 |6 colours from 2| 00008510 5e 32 34 20 61 72 62 69 74 72 61 72 79 20 73 69 |^24 arbitrary si| 00008520 7a 65 64 20 69 6d 61 67 65 2e 20 44 65 74 61 69 |zed image. Detai| 00008530 6c 73 20 66 72 6f 6d 0a 20 43 6f 6d 70 75 53 65 |ls from. CompuSe| 00008540 72 76 65 20 28 55 53 41 29 20 5b 6f 72 20 75 73 |rve (USA) [or us| 00008550 65 6e 65 74 5d 0a 20 2b 20 52 65 63 6f 67 6e 69 |enet]. + Recogni| 00008560 73 65 64 20 62 79 20 22 47 49 46 38 22 20 61 74 |sed by "GIF8" at| 00008570 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 68 | the start of th| 00008580 65 20 66 69 6c 65 0a 20 2b 20 4c 5a 57 20 63 6f |e file. + LZW co| 00008590 6d 70 72 65 73 73 69 6f 6e 20 69 73 20 65 66 66 |mpression is eff| 000085a0 69 63 69 65 6e 74 20 65 76 65 6e 20 66 6f 72 20 |icient even for | 000085b0 64 69 74 68 65 72 65 64 20 69 6d 61 67 65 73 0a |dithered images.| 000085c0 20 2b 20 43 68 61 6e 67 65 46 53 49 20 63 61 6e | + ChangeFSI can| 000085d0 20 64 65 63 6f 6d 70 72 65 73 73 20 4c 5a 57 20 | decompress LZW | 000085e0 71 75 69 63 6b 6c 79 0a 20 2d 20 4e 6f 20 72 65 |quickly. - No re| 000085f0 73 6f 6c 75 74 69 6f 6e 20 73 70 65 63 69 66 69 |solution specifi| 00008600 65 64 2c 20 65 71 75 61 6c 20 74 6f 20 6d 6f 64 |ed, equal to mod| 00008610 65 20 32 37 20 61 73 73 75 6d 65 64 0a 20 2d 20 |e 27 assumed. - | 00008620 6d 61 6e 79 20 6c 6f 77 20 71 75 61 6c 69 74 79 |many low quality| 00008630 20 69 6d 61 67 65 73 20 61 72 6f 75 6e 64 20 66 | images around f| 00008640 72 6f 6d 20 50 43 73 0a 20 2d 20 6e 6f 20 70 72 |rom PCs. - no pr| 00008650 6f 63 65 73 73 69 6e 67 20 6f 66 20 47 49 46 38 |ocessing of GIF8| 00008660 39 61 20 6d 61 73 6b 73 0a 0a 54 68 65 20 45 6c |9a masks..The El| 00008670 65 63 74 72 6f 6e 69 63 20 41 72 74 73 20 49 46 |ectronic Arts IF| 00008680 46 20 49 4c 42 4d 20 66 6f 72 6d 61 74 0a 20 50 |F ILBM format. P| 00008690 72 6f 76 69 64 65 73 20 61 6e 20 61 72 62 69 74 |rovides an arbit| 000086a0 72 61 72 79 20 73 69 7a 65 64 20 69 6d 61 67 65 |rary sized image| 000086b0 20 77 69 74 68 20 75 70 20 74 6f 20 34 30 39 36 | with up to 4096| 000086c0 20 63 6f 6c 6f 75 72 73 20 73 6f 6d 65 74 69 6d | colours sometim| 000086d0 65 73 20 72 75 6e 0a 20 6c 65 6e 67 74 68 20 65 |es run. length e| 000086e0 6e 63 6f 64 65 64 2e 20 43 68 61 6e 67 65 46 53 |ncoded. ChangeFS| 000086f0 49 20 75 6e 64 65 72 73 74 61 6e 64 73 20 74 68 |I understands th| 00008700 65 20 67 65 6e 65 72 69 63 20 66 6f 72 6d 61 74 |e generic format| 00008710 20 61 6e 64 20 61 6c 73 6f 20 74 68 65 0a 20 73 | and also the. s| 00008720 70 65 63 69 61 6c 20 41 6d 69 67 61 20 66 6f 72 |pecial Amiga for| 00008730 6d 61 74 20 66 6f 72 20 22 48 41 4d 22 20 61 6e |mat for "HAM" an| 00008740 64 20 22 48 61 6c 66 2d 62 72 69 67 68 74 22 20 |d "Half-bright" | 00008750 69 6d 61 67 65 73 2e 0a 20 2b 20 52 65 63 6f 67 |images.. + Recog| 00008760 6e 69 73 65 64 20 62 79 20 22 46 4f 52 4d 22 20 |nised by "FORM" | 00008770 61 73 20 74 68 65 20 66 69 72 73 74 20 66 6f 75 |as the first fou| 00008780 72 20 63 68 61 72 61 63 74 65 72 73 20 61 6e 64 |r characters and| 00008790 20 22 49 4c 42 4d 22 20 61 73 0a 20 20 20 63 68 | "ILBM" as. ch| 000087a0 61 72 61 63 74 65 72 73 20 38 20 74 6f 20 31 31 |aracters 8 to 11| 000087b0 0a 20 2d 20 4f 6e 6c 79 20 70 69 78 65 6c 20 61 |. - Only pixel a| 000087c0 73 70 65 63 74 20 72 61 74 69 6f 20 73 70 65 63 |spect ratio spec| 000087d0 69 66 69 65 64 2c 20 6e 6f 74 20 69 74 73 20 73 |ified, not its s| 000087e0 69 7a 65 20 28 61 6e 64 20 74 68 65 6e 20 73 6f |ize (and then so| 000087f0 6d 65 74 69 6d 65 73 0a 20 20 20 69 6e 63 6f 72 |metimes. incor| 00008800 72 65 63 74 6c 79 29 3a 20 75 73 65 20 2d 6e 6f |rectly): use -no| 00008810 73 69 7a 65 20 2a 61 6e 64 2a 20 61 20 73 69 7a |size *and* a siz| 00008820 65 20 63 68 61 6e 67 65 20 28 61 3a 62 29 20 69 |e change (a:b) i| 00008830 66 20 69 74 73 20 77 72 6f 6e 67 0a 20 2d 20 69 |f its wrong. - i| 00008840 6d 61 67 65 73 20 6f 66 74 65 6e 20 73 6d 61 6c |mages often smal| 00008850 6c 0a 20 2d 20 64 6f 65 73 6e 27 74 20 75 6e 64 |l. - doesn't und| 00008860 65 72 73 74 61 6e 64 20 41 6d 69 67 61 20 22 68 |erstand Amiga "h| 00008870 69 72 65 73 22 0a 20 2d 20 63 61 6e 27 74 20 63 |ires". - can't c| 00008880 6f 6e 76 65 72 74 20 48 41 4d 20 70 69 63 74 75 |onvert HAM pictu| 00008890 72 65 73 20 64 69 72 65 63 74 6c 79 20 74 6f 20 |res directly to | 000088a0 6d 6f 6e 6f 63 68 72 6f 6d 65 0a 0a 54 68 65 20 |monochrome..The | 000088b0 4d 69 63 72 6f 53 6f 66 74 20 57 69 6e 64 6f 77 |MicroSoft Window| 000088c0 73 20 33 20 2e 42 4d 50 20 66 6f 72 6d 61 74 0a |s 3 .BMP format.| 000088d0 20 55 73 65 64 20 62 79 20 4d 69 63 72 6f 53 6f | Used by MicroSo| 000088e0 66 74 20 69 6e 20 57 69 6e 64 6f 77 73 20 33 20 |ft in Windows 3 | 000088f0 61 6e 64 20 50 61 69 6e 74 42 72 75 73 68 20 66 |and PaintBrush f| 00008900 6f 72 20 57 69 6e 64 6f 77 73 20 33 2e 20 50 72 |or Windows 3. Pr| 00008910 6f 76 69 64 65 73 20 61 6e 0a 20 61 72 62 69 74 |ovides an. arbit| 00008920 72 61 72 79 20 73 69 7a 65 64 20 69 6d 61 67 65 |rary sized image| 00008930 20 61 6e 64 20 31 2c 20 34 20 6f 72 20 38 20 62 | and 1, 4 or 8 b| 00008940 69 74 73 20 70 65 72 20 70 69 78 65 6c 2e 20 55 |its per pixel. U| 00008950 6e 63 6f 6d 70 72 65 73 73 65 64 2e 0a 20 2b 20 |ncompressed.. + | 00008960 52 65 63 6f 67 6e 69 73 65 64 20 62 79 20 22 42 |Recognised by "B| 00008970 4d 22 20 61 73 20 74 68 65 20 66 69 72 73 74 20 |M" as the first | 00008980 74 77 6f 20 63 68 61 72 61 63 74 65 72 73 0a 20 |two characters. | 00008990 2d 20 4e 6f 20 72 65 73 6f 6c 75 74 69 6f 6e 20 |- No resolution | 000089a0 73 70 65 63 69 66 69 65 64 2c 20 65 71 75 61 6c |specified, equal| 000089b0 20 74 6f 20 6d 6f 64 65 20 32 37 20 61 73 73 75 | to mode 27 assu| 000089c0 6d 65 64 0a 20 2d 20 64 6f 63 75 6d 65 6e 74 61 |med. - documenta| 000089d0 74 69 6f 6e 20 6e 65 76 65 72 20 73 65 65 6e 20 |tion never seen | 000089e0 2d 20 37 20 66 69 6c 65 73 20 65 78 61 6d 69 6e |- 7 files examin| 000089f0 65 64 20 61 6e 64 20 69 6e 74 65 6c 6c 69 67 65 |ed and intellige| 00008a00 6e 74 20 67 75 65 73 73 65 73 20 6d 61 64 65 21 |nt guesses made!| 00008a10 0a 0a 54 68 65 20 44 69 67 69 74 61 6c 20 52 65 |..The Digital Re| 00008a20 73 65 61 72 63 68 20 47 45 4d 20 2e 49 4d 47 20 |search GEM .IMG | 00008a30 66 6f 72 6d 61 74 0a 20 55 73 65 64 20 62 79 20 |format. Used by | 00008a40 47 45 4d 20 28 61 6e 64 20 47 45 4d 20 50 61 69 |GEM (and GEM Pai| 00008a50 6e 74 29 20 6f 6e 20 62 6f 74 68 20 50 43 20 61 |nt) on both PC a| 00008a60 6e 64 20 41 74 61 72 69 20 53 54 2e 20 50 72 6f |nd Atari ST. Pro| 00008a70 76 69 64 65 73 20 61 6e 20 61 72 62 69 74 72 61 |vides an arbitra| 00008a80 72 79 0a 20 73 69 7a 65 64 20 69 6d 61 67 65 20 |ry. sized image | 00008a90 61 6e 64 20 6e 75 6d 62 65 72 20 6f 66 20 62 69 |and number of bi| 00008aa0 74 73 20 70 65 72 20 70 69 78 65 6c 20 28 74 68 |ts per pixel (th| 00008ab0 6f 75 67 68 20 69 74 73 20 6f 6e 6c 79 20 75 73 |ough its only us| 00008ac0 75 61 6c 6c 79 20 75 73 65 64 20 77 69 74 68 0a |ually used with.| 00008ad0 20 75 70 20 74 6f 20 35 20 62 69 74 73 20 70 65 | up to 5 bits pe| 00008ae0 72 20 70 69 78 65 6c 29 20 61 6e 64 20 70 69 78 |r pixel) and pix| 00008af0 65 6c 20 73 69 7a 65 2e 20 43 6f 6d 70 72 65 73 |el size. Compres| 00008b00 73 65 64 20 62 79 20 72 75 6e 20 6c 65 6e 67 74 |sed by run lengt| 00008b10 68 20 65 6e 63 6f 64 69 6e 67 0a 20 61 6e 64 20 |h encoding. and | 00008b20 6c 69 6e 65 20 72 65 70 65 61 74 73 2e 0a 20 2d |line repeats.. -| 00008b30 20 52 65 63 6f 67 6e 69 73 65 64 20 62 79 20 30 | Recognised by 0| 00008b40 30 20 30 31 20 30 30 20 30 38 20 61 73 20 74 68 |0 01 00 08 as th| 00008b50 65 20 66 69 72 73 74 20 66 6f 75 72 20 62 79 74 |e first four byt| 00008b60 65 73 20 28 22 76 65 72 73 69 6f 6e 20 31 2c 20 |es ("version 1, | 00008b70 68 65 61 64 65 72 0a 20 20 20 6c 65 6e 67 74 68 |header. length| 00008b80 20 38 22 29 20 6f 72 20 62 79 20 22 49 4d 47 22 | 8") or by "IMG"| 00008b90 20 61 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 | as the name of | 00008ba0 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 74 68 |the directory th| 00008bb0 65 20 66 69 6c 65 20 69 73 20 69 6e 2e 0a 20 2d |e file is in.. -| 00008bc0 20 50 6c 61 6e 61 72 20 66 69 6c 65 20 66 6f 72 | Planar file for| 00008bd0 6d 61 74 20 73 6c 6f 77 20 74 6f 20 72 65 61 64 |mat slow to read| 00008be0 0a 20 2d 20 50 61 6c 65 74 74 65 20 6e 6f 74 20 |. - Palette not | 00008bf0 73 70 65 63 69 66 69 65 64 3a 20 43 68 61 6e 67 |specified: Chang| 00008c00 65 46 53 49 20 61 73 73 75 6d 65 73 20 6c 69 6e |eFSI assumes lin| 00008c10 65 61 72 20 73 68 61 64 65 73 20 6f 66 20 67 72 |ear shades of gr| 00008c20 65 79 2e 20 59 6f 75 20 6d 69 67 68 74 0a 20 20 |ey. You might. | 00008c30 20 6e 65 65 64 20 74 6f 20 75 73 65 20 2d 69 6e | need to use -in| 00008c40 76 65 72 74 20 69 66 20 74 68 65 20 69 6d 61 67 |vert if the imag| 00008c50 65 20 69 73 20 61 20 6e 65 67 61 74 69 76 65 0a |e is a negative.| 00008c60 20 2d 20 54 68 65 20 73 69 7a 65 20 6f 66 20 61 | - The size of a| 00008c70 20 70 69 78 65 6c 20 69 73 20 73 70 65 63 69 66 | pixel is specif| 00008c80 69 65 64 20 69 6e 20 6d 69 63 72 6f 6e 73 2e 20 |ied in microns. | 00008c90 54 68 65 20 73 74 61 6e 64 61 72 64 20 52 49 53 |The standard RIS| 00008ca0 43 20 4f 53 20 39 30 0a 20 20 20 70 69 78 65 6c |C OS 90. pixel| 00008cb0 73 20 70 65 72 20 69 6e 63 68 20 74 72 61 6e 73 |s per inch trans| 00008cc0 6c 61 74 65 73 20 74 6f 20 28 31 2f 39 30 2a 32 |lates to (1/90*2| 00008cd0 2e 35 34 2a 31 30 2c 30 30 30 29 20 6d 69 63 72 |.54*10,000) micr| 00008ce0 6f 6e 73 20 2d 20 32 38 32 2e 20 28 75 73 65 0a |ons - 282. (use.| 00008cf0 20 20 20 2d 69 6e 66 6f 20 74 6f 20 67 65 74 20 | -info to get | 00008d00 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 |information abou| 00008d10 74 20 74 68 65 20 73 63 61 6c 69 6e 67 2c 20 2d |t the scaling, -| 00008d20 6e 6f 73 69 7a 65 20 74 6f 20 73 74 6f 70 20 69 |nosize to stop i| 00008d30 74 29 0a 20 2d 20 44 6f 63 75 6d 65 6e 74 61 74 |t). - Documentat| 00008d40 69 6f 6e 20 66 72 6f 6d 20 74 68 65 20 22 53 54 |ion from the "ST| 00008d50 20 57 6f 72 6c 64 22 20 6d 61 67 61 7a 69 6e 65 | World" magazine| 00008d60 27 73 20 63 6c 69 6e 69 63 2e 0a 0a 41 6e 20 75 |'s clinic...An u| 00008d70 6e 6b 6e 6f 77 6e 20 50 43 20 2e 50 49 43 20 66 |nknown PC .PIC f| 00008d80 6f 72 6d 61 74 0a 20 55 73 65 64 20 66 6f 72 20 |ormat. Used for | 00008d90 73 6f 6d 65 20 56 47 41 20 64 65 6d 6f 73 2c 20 |some VGA demos, | 00008da0 74 68 65 20 66 6f 72 6d 61 74 20 70 72 6f 76 69 |the format provi| 00008db0 64 65 73 20 61 6e 20 75 6e 63 6f 6d 70 72 65 73 |des an uncompres| 00008dc0 73 65 64 20 33 32 30 20 62 79 20 32 30 30 20 62 |sed 320 by 200 b| 00008dd0 79 0a 20 32 35 36 20 63 6f 6c 6f 75 72 20 28 66 |y. 256 colour (f| 00008de0 72 6f 6d 20 32 5e 32 34 29 20 56 47 41 20 73 63 |rom 2^24) VGA sc| 00008df0 72 65 65 6e 20 64 75 6d 70 2e 0a 20 2b 20 52 65 |reen dump.. + Re| 00008e00 63 6f 67 6e 69 73 65 64 20 62 79 20 22 41 56 5f |cognised by "AV_| 00008e10 56 4f 22 20 61 73 20 74 68 65 20 66 69 72 73 74 |VO" as the first| 00008e20 20 66 69 76 65 20 62 79 74 65 73 20 69 6e 20 74 | five bytes in t| 00008e30 68 65 20 66 69 6c 65 0a 20 2d 20 44 6f 63 75 6d |he file. - Docum| 00008e40 65 6e 74 61 74 69 6f 6e 20 6e 65 76 65 72 20 73 |entation never s| 00008e50 65 65 6e 0a 20 2d 20 50 69 78 65 6c 20 73 69 7a |een. - Pixel siz| 00008e60 65 20 61 73 73 75 6d 65 64 20 74 68 65 20 73 61 |e assumed the sa| 00008e70 6d 65 20 61 73 20 4d 4f 44 45 20 31 33 20 28 34 |me as MODE 13 (4| 00008e80 35 20 70 69 78 65 6c 73 20 70 65 72 20 69 6e 63 |5 pixels per inc| 00008e90 68 29 2e 0a 0a 54 68 65 20 4d 61 63 50 61 69 6e |h)...The MacPain| 00008ea0 74 20 66 6f 72 6d 61 74 0a 20 50 72 6f 76 69 64 |t format. Provid| 00008eb0 65 73 20 61 20 35 37 36 20 62 79 20 37 32 30 20 |es a 576 by 720 | 00008ec0 62 69 74 6d 61 70 2c 20 72 75 6e 20 6c 65 6e 67 |bitmap, run leng| 00008ed0 74 68 20 63 6f 64 65 64 20 62 79 20 74 68 65 20 |th coded by the | 00008ee0 4d 61 63 27 73 20 22 50 61 63 6b 42 69 74 73 22 |Mac's "PackBits"| 00008ef0 0a 20 61 6c 67 6f 72 69 74 68 6d 20 28 72 65 70 |. algorithm (rep| 00008f00 65 61 74 65 64 20 62 79 74 65 73 29 2e 0a 20 2d |eated bytes).. -| 00008f10 20 52 65 63 6f 67 6e 69 73 65 64 20 62 79 20 22 | Recognised by "| 00008f20 50 4e 54 47 22 20 61 74 20 70 6f 73 69 74 69 6f |PNTG" at positio| 00008f30 6e 20 36 35 20 69 6e 20 74 68 65 20 66 69 6c 65 |n 65 in the file| 00008f40 2e 20 54 68 69 73 20 6d 61 79 20 6f 6e 6c 79 20 |. This may only | 00008f50 72 65 6c 61 74 65 20 74 6f 0a 20 20 20 66 69 6c |relate to. fil| 00008f60 65 73 20 77 68 69 63 68 20 68 61 76 65 20 62 65 |es which have be| 00008f70 65 6e 20 74 68 72 6f 75 67 68 20 61 20 70 72 6f |en through a pro| 00008f80 67 72 61 6d 20 63 61 6c 6c 65 64 20 22 4d 61 63 |gram called "Mac| 00008f90 46 69 78 22 2e 20 44 61 74 61 20 61 73 73 75 6d |Fix". Data assum| 00008fa0 65 64 20 74 6f 0a 20 20 20 73 74 61 72 74 20 61 |ed to. start a| 00008fb0 74 20 70 6f 73 69 74 69 6f 6e 20 31 32 38 20 69 |t position 128 i| 00008fc0 6e 20 74 68 65 20 66 69 6c 65 2e 20 48 65 61 64 |n the file. Head| 00008fd0 65 72 20 69 67 6e 6f 72 65 64 2e 0a 20 2d 20 4e |er ignored.. - N| 00008fe0 6f 20 72 65 73 6f 6c 75 74 69 6f 6e 20 73 70 65 |o resolution spe| 00008ff0 63 69 66 69 65 64 2c 20 65 71 75 61 6c 20 74 6f |cified, equal to| 00009000 20 6d 6f 64 65 20 32 35 20 61 73 73 75 6d 65 64 | mode 25 assumed| 00009010 0a 0a 54 68 65 20 4d 61 63 20 50 49 43 54 32 20 |..The Mac PICT2 | 00009020 66 6f 72 6d 61 74 20 28 50 49 43 54 20 65 78 74 |format (PICT ext| 00009030 65 6e 64 65 64 20 76 65 72 73 69 6f 6e 20 32 29 |ended version 2)| 00009040 0a 20 50 72 6f 76 69 64 65 73 20 61 6e 20 61 72 |. Provides an ar| 00009050 62 69 74 61 72 79 20 73 69 7a 65 20 70 61 63 6b |bitary size pack| 00009060 65 64 20 70 69 63 74 75 72 65 2c 20 72 75 6e 20 |ed picture, run | 00009070 6c 65 6e 67 74 68 20 63 6f 64 65 64 20 62 79 20 |length coded by | 00009080 74 68 65 20 4d 61 63 27 73 0a 20 22 50 61 63 6b |the Mac's. "Pack| 00009090 42 69 74 73 22 20 61 6c 67 6f 72 69 74 68 6d 20 |Bits" algorithm | 000090a0 28 72 65 70 65 61 74 65 64 20 62 79 74 65 73 29 |(repeated bytes)| 000090b0 2e 0a 20 2b 20 52 65 63 6f 67 6e 69 73 65 64 20 |.. + Recognised | 000090c0 62 79 20 6c 6f 6f 6b 69 6e 67 20 66 6f 72 20 74 |by looking for t| 000090d0 68 65 20 50 49 43 54 20 68 65 61 64 65 72 20 61 |he PICT header a| 000090e0 74 20 70 6f 73 69 74 69 6f 6e 20 35 31 34 20 69 |t position 514 i| 000090f0 6e 20 74 68 65 20 66 69 6c 65 2e 0a 20 20 20 54 |n the file.. T| 00009100 68 65 20 68 65 61 64 65 72 20 69 73 20 30 30 20 |he header is 00 | 00009110 31 31 20 30 32 20 46 46 20 30 43 20 30 30 20 46 |11 02 FF 0C 00 F| 00009120 46 20 46 45 2e 0a 20 2d 20 44 6f 63 75 6d 65 6e |F FE.. - Documen| 00009130 74 61 74 69 6f 6e 20 61 76 61 69 6c 61 62 6c 65 |tation available| 00009140 20 62 75 74 20 6d 6f 73 74 6c 79 20 75 73 65 6c | but mostly usel| 00009150 65 73 73 20 28 69 74 20 61 73 73 75 6d 65 73 20 |ess (it assumes | 00009160 79 6f 75 20 61 72 65 20 61 62 6f 75 74 20 74 6f |you are about to| 00009170 0a 20 20 20 63 61 6c 6c 20 51 75 69 63 6b 44 72 |. call QuickDr| 00009180 61 77 20 72 6f 75 74 69 6e 65 73 20 2d 20 22 4e |aw routines - "N| 00009190 6f 74 65 3a 20 66 6f 72 20 6d 61 78 69 6d 75 6d |ote: for maximum| 000091a0 20 73 61 66 65 74 79 20 61 6e 64 20 63 6f 6e 76 | safety and conv| 000091b0 65 6e 69 65 6e 63 65 2c 20 6c 65 74 0a 20 20 20 |enience, let. | 000091c0 51 75 69 63 6b 44 72 61 77 20 67 65 6e 65 72 61 |QuickDraw genera| 000091d0 74 65 20 61 6e 64 20 69 6e 74 65 72 70 72 65 74 |te and interpret| 000091e0 20 79 6f 75 72 20 70 69 63 74 75 72 65 73 2e 22 | your pictures."| 000091f0 20 41 70 70 6c 65 20 66 61 69 6c 20 74 6f 20 64 | Apple fail to d| 00009200 65 73 63 72 69 62 65 0a 20 20 20 74 68 65 20 50 |escribe. the P| 00009210 61 63 6b 42 69 74 73 20 61 6c 67 6f 72 69 74 68 |ackBits algorith| 00009220 6d 20 69 6e 20 49 6e 73 69 64 65 20 4d 61 63 2e |m in Inside Mac.| 00009230 2e 2e 29 0a 20 2d 20 50 49 43 54 20 69 73 20 74 |..). - PICT is t| 00009240 68 65 20 6c 6f 6f 73 65 20 65 71 75 69 76 61 6c |he loose equival| 00009250 65 6e 74 20 6f 66 20 52 49 53 43 20 4f 53 20 44 |ent of RISC OS D| 00009260 72 61 77 20 66 69 6c 65 20 66 6f 72 6d 61 74 2c |raw file format,| 00009270 20 62 75 74 20 77 69 74 68 6f 75 74 0a 20 20 20 | but without. | 00009280 74 68 65 20 65 78 70 6c 69 63 69 74 20 73 69 7a |the explicit siz| 00009290 69 6e 67 20 6f 66 20 6f 62 6a 65 63 74 73 20 2d |ing of objects -| 000092a0 20 66 6f 72 20 50 49 43 54 2c 20 69 66 20 74 68 | for PICT, if th| 000092b0 65 72 65 20 69 73 20 61 6e 20 6f 62 6a 65 63 74 |ere is an object| 000092c0 20 74 68 61 74 0a 20 20 20 79 6f 75 20 64 6f 6e | that. you don| 000092d0 27 74 20 75 6e 64 65 72 73 74 61 6e 64 2c 20 74 |'t understand, t| 000092e0 68 65 72 65 27 73 20 6e 6f 20 77 61 79 20 6f 66 |here's no way of| 000092f0 20 73 6b 69 70 70 69 6e 67 20 69 74 20 28 77 68 | skipping it (wh| 00009300 65 72 65 61 73 20 66 6f 72 20 44 72 61 77 2c 0a |ereas for Draw,.| 00009310 20 20 20 74 68 65 20 73 69 7a 65 20 6f 66 20 74 | the size of t| 00009320 68 65 20 6f 62 6a 65 63 74 20 69 73 20 73 70 65 |he object is spe| 00009330 63 69 66 69 65 64 20 69 6e 20 61 6e 20 6f 62 6a |cified in an obj| 00009340 65 63 74 20 69 6e 64 65 70 2e 20 77 61 79 29 2e |ect indep. way).| 00009350 20 41 70 70 6c 65 0a 20 20 20 70 72 65 73 65 6e | Apple. presen| 00009360 74 20 61 20 6c 61 72 67 65 20 74 61 62 6c 65 20 |t a large table | 00009370 6f 66 20 74 68 65 20 73 69 7a 65 73 20 6f 66 20 |of the sizes of | 00009380 74 68 65 20 6f 62 6a 65 63 74 73 20 28 30 30 30 |the objects (000| 00009390 30 20 2d 20 46 46 46 46 29 20 77 68 69 63 68 20 |0 - FFFF) which | 000093a0 69 73 0a 20 20 20 6e 6f 74 20 69 6e 20 43 68 61 |is. not in Cha| 000093b0 6e 67 65 46 53 49 2e 20 43 6f 6e 73 65 71 75 65 |ngeFSI. Conseque| 000093c0 6e 74 6c 79 2c 20 69 66 20 43 68 61 6e 67 65 46 |ntly, if ChangeF| 000093d0 53 49 20 66 69 6e 64 73 20 61 6e 20 6f 62 6a 65 |SI finds an obje| 000093e0 63 74 20 69 74 20 64 6f 65 73 6e 27 74 0a 20 20 |ct it doesn't. | 000093f0 20 6b 6e 6f 77 20 61 62 6f 75 74 20 62 65 66 6f | know about befo| 00009400 72 65 20 74 68 65 20 70 69 63 74 75 72 65 2c 20 |re the picture, | 00009410 69 74 20 73 74 6f 70 73 2e 2e 2e 0a 20 2d 20 4f |it stops.... - O| 00009420 6e 6c 79 20 50 61 63 6b 42 69 74 73 52 65 63 74 |nly PackBitsRect| 00009430 20 28 30 30 39 38 29 20 28 38 62 70 70 29 20 61 | (0098) (8bpp) a| 00009440 6e 64 20 44 69 72 65 63 74 42 69 74 73 52 65 63 |nd DirectBitsRec| 00009450 74 20 28 30 30 39 41 29 20 28 32 34 2f 33 32 20 |t (009A) (24/32 | 00009460 62 70 70 29 20 61 72 65 0a 20 20 20 61 6c 6c 6f |bpp) are. allo| 00009470 77 65 64 2e 0a 20 2b 20 43 68 61 6e 67 65 46 53 |wed.. + ChangeFS| 00009480 49 20 74 72 69 65 73 20 74 6f 20 73 6b 69 70 20 |I tries to skip | 00009490 61 20 43 6c 69 70 20 28 30 30 30 31 29 20 72 65 |a Clip (0001) re| 000094a0 67 69 6f 6e 20 69 66 20 69 74 20 65 6e 63 6f 75 |gion if it encou| 000094b0 6e 74 65 72 73 20 69 74 2c 20 73 69 6e 63 65 20 |nters it, since | 000094c0 69 74 0a 20 20 20 69 73 20 68 61 72 64 20 74 6f |it. is hard to| 000094d0 20 67 65 74 20 74 68 65 20 4d 61 63 20 4f 53 20 | get the Mac OS | 000094e0 74 6f 20 6d 61 6b 65 20 50 49 43 54 20 66 69 6c |to make PICT fil| 000094f0 65 73 20 77 69 74 68 6f 75 74 20 61 20 63 6c 69 |es without a cli| 00009500 70 20 6f 70 63 6f 64 65 20 69 6e 20 74 68 65 6d |p opcode in them| 00009510 2e 0a 20 2b 20 73 69 7a 65 20 6f 66 20 70 69 78 |.. + size of pix| 00009520 65 6c 20 73 70 65 63 69 66 69 65 64 2e 0a 20 2d |el specified.. -| 00009530 20 4f 6e 6c 79 20 33 20 70 69 63 74 75 72 65 73 | Only 3 pictures| 00009540 20 72 65 61 64 20 2d 20 73 69 6e 63 65 20 74 68 | read - since th| 00009550 65 20 66 6f 72 6d 61 74 20 69 73 20 76 65 72 79 |e format is very| 00009560 20 63 6f 6d 70 6c 69 63 61 74 65 64 20 28 65 2e | complicated (e.| 00009570 67 2e 20 74 68 65 20 73 69 7a 65 0a 20 20 20 6f |g. the size. o| 00009580 66 20 74 68 69 6e 67 73 20 63 68 61 6e 67 65 20 |f things change | 00009590 69 66 20 3e 32 35 30 20 72 6f 77 73 20 69 6e 20 |if >250 rows in | 000095a0 74 68 65 20 70 69 63 74 75 72 65 21 29 20 74 68 |the picture!) th| 000095b0 69 73 20 69 73 20 6e 6f 20 67 75 61 72 65 6e 74 |is is no guarent| 000095c0 65 65 20 74 68 61 74 0a 20 20 20 61 6e 79 74 68 |ee that. anyth| 000095d0 69 6e 67 20 65 6c 73 65 20 77 69 6c 6c 20 62 65 |ing else will be| 000095e0 20 72 69 67 68 74 2e 0a 0a 54 68 65 20 5a 53 6f | right...The ZSo| 000095f0 66 74 20 2e 50 43 58 20 66 6f 72 6d 61 74 0a 20 |ft .PCX format. | 00009600 55 73 65 64 20 62 79 20 50 43 20 50 61 69 6e 74 |Used by PC Paint| 00009610 62 72 75 73 68 2e 20 55 73 75 61 6c 6c 79 20 61 |brush. Usually a| 00009620 20 34 20 62 69 74 20 70 65 72 20 70 69 78 65 6c | 4 bit per pixel| 00009630 20 69 6d 61 67 65 20 28 43 47 41 2c 20 45 47 41 | image (CGA, EGA| 00009640 2c 20 56 47 41 29 20 62 75 74 0a 20 63 61 6e 20 |, VGA) but. can | 00009650 62 65 20 31 2d 38 20 62 69 74 73 20 70 65 72 20 |be 1-8 bits per | 00009660 70 69 78 65 6c 2e 0a 20 2d 20 52 65 63 6f 67 6e |pixel.. - Recogn| 00009670 69 73 65 64 20 62 79 20 31 30 2c 5b 30 2c 32 2c |ised by 10,[0,2,| 00009680 33 2c 34 2c 35 5d 2c 31 20 61 74 20 73 74 61 72 |3,4,5],1 at star| 00009690 74 20 6f 66 20 66 69 6c 65 2e 20 4f 72 20 62 79 |t of file. Or by| 000096a0 20 6e 61 6d 65 20 50 43 58 2e 3c 66 6f 6f 3e 2e | name PCX.<foo>.| 000096b0 20 4f 72 0a 20 20 20 62 79 20 74 79 70 65 20 26 | Or. by type &| 000096c0 36 39 37 2e 0a 20 2b 20 49 6e 74 65 6c 6c 69 67 |697.. + Intellig| 000096d0 65 6e 74 20 63 68 65 63 6b 20 66 6f 72 20 72 65 |ent check for re| 000096e0 73 6f 6c 75 74 69 6f 6e 20 6f 66 20 74 68 65 20 |solution of the | 000096f0 44 41 43 73 20 6f 6e 20 74 68 65 20 50 43 20 63 |DACs on the PC c| 00009700 61 72 64 2e 20 55 73 65 20 2d 69 6e 66 6f 20 74 |ard. Use -info t| 00009710 6f 0a 20 20 20 66 69 6e 64 20 6f 75 74 20 77 68 |o. find out wh| 00009720 61 74 20 43 68 61 6e 67 65 46 53 49 20 74 68 69 |at ChangeFSI thi| 00009730 6e 6b 73 20 69 74 20 69 73 2e 0a 20 2b 20 50 69 |nks it is.. + Pi| 00009740 78 65 6c 20 73 69 7a 65 20 69 6e 66 6f 72 6d 61 |xel size informa| 00009750 74 69 6f 6e 20 72 65 61 64 2e 20 59 6f 75 20 6d |tion read. You m| 00009760 61 79 20 6e 65 65 64 20 74 6f 20 73 74 6f 70 20 |ay need to stop | 00009770 74 68 65 20 73 63 61 6c 69 6e 67 20 77 69 74 68 |the scaling with| 00009780 0a 20 20 20 2d 6e 6f 73 69 7a 65 2c 20 73 69 6e |. -nosize, sin| 00009790 63 65 20 69 74 73 20 6f 66 74 65 6e 20 77 72 6f |ce its often wro| 000097a0 6e 67 2e 0a 0a 54 68 65 20 52 49 58 20 53 6f 66 |ng...The RIX Sof| 000097b0 74 77 6f 72 6b 73 20 43 6f 6c 6f 52 49 58 20 66 |tworks ColoRIX f| 000097c0 6f 72 6d 61 74 0a 20 55 73 65 64 20 62 79 20 56 |ormat. Used by V| 000097d0 47 41 20 50 61 69 6e 74 2c 20 69 6d 61 67 65 20 |GA Paint, image | 000097e0 65 78 74 65 6e 73 69 6f 6e 20 2e 53 43 45 20 2e |extension .SCE .| 000097f0 2e 20 2e 53 43 58 2e 20 34 20 6f 72 20 38 20 62 |. .SCX. 4 or 8 b| 00009800 69 74 73 20 70 65 72 20 70 69 78 65 6c 2e 0a 20 |its per pixel.. | 00009810 2d 20 52 65 63 6f 67 6e 69 73 65 64 20 62 79 20 |- Recognised by | 00009820 22 52 49 58 33 22 20 61 74 20 73 74 61 72 74 20 |"RIX3" at start | 00009830 6f 66 20 66 69 6c 65 0a 20 2d 20 44 6f 63 75 6d |of file. - Docum| 00009840 65 6e 74 61 74 69 6f 6e 20 6e 65 76 65 72 20 73 |entation never s| 00009850 65 65 6e 0a 20 2d 20 4f 6e 6c 79 20 35 20 66 69 |een. - Only 5 fi| 00009860 6c 65 73 20 72 65 61 64 3a 20 43 68 61 6e 67 65 |les read: Change| 00009870 46 53 49 20 63 68 65 63 6b 73 20 74 6f 20 73 65 |FSI checks to se| 00009880 65 20 69 66 20 74 68 65 20 68 65 61 64 65 72 20 |e if the header | 00009890 69 73 20 74 68 65 20 73 61 6d 65 0a 20 20 20 61 |is the same. a| 000098a0 73 20 74 68 65 73 65 20 66 69 6c 65 73 20 61 6e |s these files an| 000098b0 64 20 63 6f 6d 70 6c 61 69 6e 73 20 6f 74 68 65 |d complains othe| 000098c0 72 77 69 73 65 2e 0a 20 2d 20 4e 6f 20 72 65 73 |rwise.. - No res| 000098d0 6f 6c 75 74 69 6f 6e 20 73 70 65 63 69 66 69 65 |olution specifie| 000098e0 64 2c 20 65 71 75 61 6c 20 74 6f 20 6d 6f 64 65 |d, equal to mode| 000098f0 20 32 37 20 61 73 73 75 6d 65 64 0a 0a 54 68 65 | 27 assumed..The| 00009900 20 53 75 6e 20 22 70 69 78 72 65 63 74 22 20 66 | Sun "pixrect" f| 00009910 6f 72 6d 61 74 0a 20 55 73 65 64 20 75 6e 64 65 |ormat. Used unde| 00009920 72 20 53 75 6e 4f 53 20 61 6e 64 20 61 6c 73 6f |r SunOS and also| 00009930 20 75 6e 64 65 72 20 58 31 31 2e 20 43 6f 6d 6d | under X11. Comm| 00009940 6f 6e 6c 79 20 31 20 6f 72 20 38 20 62 69 74 73 |only 1 or 8 bits| 00009950 20 70 65 72 20 70 69 78 65 6c 2c 20 62 75 74 20 | per pixel, but | 00009960 75 70 0a 20 74 6f 20 32 34 20 62 69 74 73 20 70 |up. to 24 bits p| 00009970 65 72 20 70 69 78 65 6c 20 63 61 6e 20 62 65 20 |er pixel can be | 00009980 66 6f 75 6e 64 20 28 73 65 65 20 74 68 65 20 53 |found (see the S| 00009990 75 6e 20 4e 65 57 53 20 72 65 6c 65 61 73 65 20 |un NeWS release | 000099a0 74 61 70 65 21 29 2e 0a 20 2b 20 52 65 63 6f 67 |tape!).. + Recog| 000099b0 6e 69 73 65 64 20 62 79 20 26 35 39 41 35 35 41 |nised by &59A55A| 000099c0 39 35 20 61 74 20 74 68 65 20 73 74 61 72 74 20 |95 at the start | 000099d0 6f 66 20 74 68 65 20 66 69 6c 65 2e 0a 20 2d 20 |of the file.. - | 000099e0 4e 6f 20 72 65 73 6f 6c 75 74 69 6f 6e 20 73 70 |No resolution sp| 000099f0 65 63 69 66 69 65 64 2c 20 65 71 75 61 6c 20 74 |ecified, equal t| 00009a00 6f 20 6d 6f 64 65 20 32 37 20 61 73 73 75 6d 65 |o mode 27 assume| 00009a10 64 0a 20 2d 20 53 75 6e 20 64 69 64 6e 27 74 20 |d. - Sun didn't | 00009a20 73 70 65 63 69 66 79 20 74 68 65 20 70 69 78 65 |specify the pixe| 00009a30 6c 20 6f 72 64 65 72 69 6e 67 20 6f 66 20 32 34 |l ordering of 24| 00009a40 20 62 69 74 20 70 65 72 20 70 69 78 65 6c 20 69 | bit per pixel i| 00009a50 6d 61 67 65 73 3a 20 6d 61 6e 79 0a 20 20 20 61 |mages: many. a| 00009a60 73 73 75 6d 65 20 52 47 42 20 77 68 65 6e 20 69 |ssume RGB when i| 00009a70 74 20 77 61 73 20 61 63 74 75 61 6c 6c 79 20 42 |t was actually B| 00009a80 47 52 2e 20 43 68 61 6e 67 65 20 62 79 74 65 20 |GR. Change byte | 00009a90 26 31 37 20 69 6e 20 74 68 65 20 53 75 6e 0a 20 |&17 in the Sun. | 00009aa0 20 20 72 61 73 74 65 72 66 69 6c 65 20 62 65 74 | rasterfile bet| 00009ab0 77 65 65 6e 20 31 20 61 6e 64 20 33 20 69 66 20 |ween 1 and 3 if | 00009ac0 79 6f 75 20 68 61 76 65 20 61 20 70 72 6f 62 6c |you have a probl| 00009ad0 65 6d 2e 0a 0a 54 68 65 20 22 70 62 6d 22 20 27 |em...The "pbm" '| 00009ae0 70 6f 72 74 61 62 6c 65 20 62 69 74 6d 61 70 27 |portable bitmap'| 00009af0 20 66 69 6c 65 20 66 6f 72 6d 61 74 0a 20 55 73 | file format. Us| 00009b00 65 64 20 62 79 20 74 68 65 20 22 50 42 4d 2d 50 |ed by the "PBM-P| 00009b10 4c 55 53 22 20 74 6f 6f 6c 6b 69 74 20 28 6d 61 |LUS" toolkit (ma| 00009b20 69 6e 6c 79 20 55 6e 69 78 29 20 62 79 20 4a 65 |inly Unix) by Je| 00009b30 66 20 50 6f 73 6b 61 6e 7a 65 72 2e 20 31 2d 32 |f Poskanzer. 1-2| 00009b40 34 20 62 69 74 73 0a 20 70 65 72 20 70 69 78 65 |4 bits. per pixe| 00009b50 6c 20 28 6d 6f 72 65 20 63 61 6e 20 62 65 20 73 |l (more can be s| 00009b60 70 65 63 69 66 69 65 64 20 69 6e 20 74 68 65 20 |pecified in the | 00009b70 66 6f 72 6d 61 74 20 62 75 74 20 43 68 61 6e 67 |format but Chang| 00009b80 65 46 53 49 20 63 61 6e 6e 6f 74 20 72 65 61 64 |eFSI cannot read| 00009b90 0a 20 74 68 65 6d 29 2e 20 43 68 61 6e 67 65 46 |. them). ChangeF| 00009ba0 53 49 20 63 61 6e 20 6f 6e 6c 79 20 72 65 61 64 |SI can only read| 00009bb0 20 74 68 65 20 22 52 41 57 42 49 54 53 22 20 66 | the "RAWBITS" f| 00009bc0 6f 72 6d 61 74 73 20 28 69 74 20 63 61 6e 20 77 |ormats (it can w| 00009bd0 72 69 74 65 20 61 6c 6c 20 6f 66 0a 20 74 68 65 |rite all of. the| 00009be0 20 70 62 6d 20 66 6f 72 6d 61 74 73 29 2e 0a 20 | pbm formats).. | 00009bf0 2b 20 52 65 63 6f 67 6e 69 73 65 64 20 62 79 20 |+ Recognised by | 00009c00 50 34 2f 50 35 2f 50 36 20 61 74 20 73 74 61 72 |P4/P5/P6 at star| 00009c10 74 20 6f 66 20 66 69 6c 65 2e 0a 20 2b 20 57 72 |t of file.. + Wr| 00009c20 69 74 61 62 6c 65 20 62 79 20 43 68 61 6e 67 65 |itable by Change| 00009c30 46 53 49 0a 20 2d 20 4e 6f 20 72 65 73 6f 6c 75 |FSI. - No resolu| 00009c40 74 69 6f 6e 20 73 70 65 63 69 66 69 65 64 2c 20 |tion specified, | 00009c50 65 71 75 61 6c 20 74 6f 20 6d 6f 64 65 20 32 37 |equal to mode 27| 00009c60 20 61 73 73 75 6d 65 64 0a 0a 54 68 65 20 55 4e | assumed..The UN| 00009c70 49 58 20 22 72 6c 65 22 20 66 6f 72 6d 61 74 0a |IX "rle" format.| 00009c80 20 55 73 65 64 20 62 79 20 61 20 70 72 6f 67 72 | Used by a progr| 00009c90 61 6d 20 63 61 6c 6c 65 64 20 22 73 76 66 62 22 |am called "svfb"| 00009ca0 20 74 6f 20 73 61 76 65 20 74 68 65 20 63 6f 6e | to save the con| 00009cb0 74 65 6e 74 73 20 6f 66 20 6c 61 72 67 65 20 66 |tents of large f| 00009cc0 72 61 6d 65 0a 20 62 75 66 66 65 72 73 2c 20 63 |rame. buffers, c| 00009cd0 68 65 63 6b 65 64 20 77 69 74 68 20 66 6f 75 72 |hecked with four| 00009ce0 20 69 6d 61 67 65 73 20 61 74 20 32 34 20 62 69 | images at 24 bi| 00009cf0 74 73 20 70 65 72 20 70 69 78 65 6c 2e 0a 20 2b |ts per pixel.. +| 00009d00 20 52 65 63 6f 67 6e 69 73 65 64 20 62 79 20 26 | Recognised by &| 00009d10 43 43 35 32 20 61 74 20 74 68 65 20 73 74 61 72 |CC52 at the star| 00009d20 74 20 6f 66 20 74 68 65 20 66 69 6c 65 2e 0a 20 |t of the file.. | 00009d30 2d 20 4e 6f 20 72 65 73 6f 6c 75 74 69 6f 6e 20 |- No resolution | 00009d40 73 70 65 63 69 66 69 65 64 2c 20 65 71 75 61 6c |specified, equal| 00009d50 20 74 6f 20 6d 6f 64 65 20 32 37 20 61 73 73 75 | to mode 27 assu| 00009d60 6d 65 64 0a 0a 54 68 65 20 54 72 75 65 56 69 73 |med..The TrueVis| 00009d70 69 6f 6e 20 54 61 72 67 61 20 66 6f 72 6d 61 74 |ion Targa format| 00009d80 0a 20 55 73 65 64 20 62 79 20 54 72 75 65 56 69 |. Used by TrueVi| 00009d90 73 69 6f 6e 20 66 6f 72 20 56 69 73 74 61 20 62 |sion for Vista b| 00009da0 6f 61 72 64 73 2e 20 55 70 20 74 6f 20 33 32 20 |oards. Up to 32 | 00009db0 62 69 74 73 20 70 65 72 20 70 69 78 65 6c 2e 0a |bits per pixel..| 00009dc0 20 2d 20 52 65 63 6f 67 6e 69 73 65 64 20 62 79 | - Recognised by| 00009dd0 20 73 75 66 66 69 78 20 5f 54 47 41 20 6f 72 20 | suffix _TGA or | 00009de0 5f 56 44 41 20 6f 6e 20 74 68 65 20 6e 61 6d 65 |_VDA on the name| 00009df0 2e 20 4f 72 20 62 79 20 74 79 70 65 20 26 36 39 |. Or by type &69| 00009e00 64 2e 0a 20 2d 20 4f 6e 6c 79 20 75 6e 63 6f 6d |d.. - Only uncom| 00009e10 70 72 65 73 73 65 64 20 66 6f 72 6d 61 74 73 20 |pressed formats | 00009e20 72 65 61 64 61 62 6c 65 2e 0a 20 2d 20 4f 6e 6c |readable.. - Onl| 00009e30 79 20 38 20 61 6e 64 20 31 36 20 62 69 74 20 70 |y 8 and 16 bit p| 00009e40 65 72 20 70 69 78 65 6c 20 66 6f 72 6d 61 74 73 |er pixel formats| 00009e50 20 74 65 73 74 65 64 2e 0a 0a 54 68 65 20 22 46 | tested...The "F| 00009e60 6c 65 78 69 62 6c 65 20 49 6d 61 67 65 20 54 72 |lexible Image Tr| 00009e70 61 6e 73 70 6f 72 74 20 53 79 73 74 65 6d 22 20 |ansport System" | 00009e80 28 46 49 54 53 29 20 66 6f 72 6d 61 74 0a 20 55 |(FITS) format. U| 00009e90 73 65 64 20 66 6f 72 20 61 73 74 72 6f 6e 6f 6d |sed for astronom| 00009ea0 69 63 61 6c 20 64 61 74 61 2e 20 55 70 20 74 6f |ical data. Up to| 00009eb0 20 31 36 20 62 69 74 73 20 70 65 72 20 70 69 78 | 16 bits per pix| 00009ec0 65 6c 20 63 6f 6d 70 6f 6e 65 6e 74 2e 0a 20 2b |el component.. +| 00009ed0 20 52 65 63 6f 67 6e 69 73 65 64 20 62 79 20 22 | Recognised by "| 00009ee0 53 49 4d 50 4c 45 22 20 61 74 20 74 68 65 20 73 |SIMPLE" at the s| 00009ef0 74 61 72 74 20 6f 66 20 74 68 65 20 66 69 6c 65 |tart of the file| 00009f00 2e 0a 20 2d 20 4f 6e 6c 79 20 38 20 61 6e 64 20 |.. - Only 8 and | 00009f10 31 36 20 62 69 74 20 70 65 72 20 70 69 78 65 6c |16 bit per pixel| 00009f20 20 63 6f 6d 70 6f 6e 65 6e 74 20 66 6f 72 6d 61 | component forma| 00009f30 74 73 20 74 65 73 74 65 64 2e 0a 20 2d 20 4f 6e |ts tested.. - On| 00009f40 6c 79 20 74 77 6f 20 66 69 6c 65 73 20 65 76 65 |ly two files eve| 00009f50 72 20 73 65 65 6e 21 0a 20 2d 20 4e 6f 20 72 65 |r seen!. - No re| 00009f60 73 6f 6c 75 74 69 6f 6e 20 73 70 65 63 69 66 69 |solution specifi| 00009f70 65 64 2c 20 65 71 75 61 6c 20 74 6f 20 6d 6f 64 |ed, equal to mod| 00009f80 65 20 32 37 20 61 73 73 75 6d 65 64 0a 0a 54 68 |e 27 assumed..Th| 00009f90 65 20 49 72 6c 61 6d 20 69 6e 73 74 72 75 6d 65 |e Irlam instrume| 00009fa0 6e 74 73 20 63 6f 6c 6f 75 72 20 73 63 61 6e 6e |nts colour scann| 00009fb0 65 72 20 66 6f 72 6d 61 74 0a 20 32 34 20 62 69 |er format. 24 bi| 00009fc0 74 20 70 65 72 20 70 69 78 65 6c 20 66 72 6f 6d |t per pixel from| 00009fd0 20 63 6f 6c 6f 75 72 20 73 63 61 6e 6e 65 72 2e | colour scanner.| 00009fe0 0a 20 2b 20 52 65 63 6f 67 6e 69 73 65 64 20 62 |. + Recognised b| 00009ff0 79 20 49 72 6c 61 6d 20 32 34 20 61 74 20 74 68 |y Irlam 24 at th| 0000a000 65 20 73 74 61 72 74 20 6f 66 20 74 68 65 20 66 |e start of the f| 0000a010 69 6c 65 2e 0a 20 2b 20 57 72 69 74 61 62 6c 65 |ile.. + Writable| 0000a020 20 62 79 20 43 68 61 6e 67 65 46 53 49 0a 20 2d | by ChangeFSI. -| 0000a030 20 4e 6f 20 72 65 73 6f 6c 75 74 69 6f 6e 20 73 | No resolution s| 0000a040 70 65 63 69 66 69 65 64 2c 20 65 71 75 61 6c 20 |pecified, equal | 0000a050 74 6f 20 6d 6f 64 65 20 32 37 20 61 73 73 75 6d |to mode 27 assum| 0000a060 65 64 0a 20 2d 20 6d 61 79 20 6e 65 65 64 20 67 |ed. - may need g| 0000a070 61 6d 6d 61 20 63 6f 72 72 65 63 74 69 6f 6e 0a |amma correction.| 0000a080 0a 54 68 65 20 49 72 6c 61 6d 20 69 6e 73 74 72 |.The Irlam instr| 0000a090 75 6d 65 6e 74 73 20 59 55 56 20 34 31 31 20 63 |uments YUV 411 c| 0000a0a0 6f 6c 6f 75 72 20 76 69 64 65 6f 20 66 6f 72 6d |olour video form| 0000a0b0 61 74 0a 20 37 20 62 69 74 73 20 59 2c 20 75 70 |at. 7 bits Y, up| 0000a0c0 20 74 6f 20 37 20 62 69 74 73 20 55 20 61 6e 64 | to 7 bits U and| 0000a0d0 20 56 2e 0a 20 2b 20 52 65 63 6f 67 6e 69 73 65 | V.. + Recognise| 0000a0e0 64 20 62 79 20 49 72 6c 61 6d 20 59 55 56 20 34 |d by Irlam YUV 4| 0000a0f0 31 31 20 61 74 20 74 68 65 20 73 74 61 72 74 20 |11 at the start | 0000a100 6f 66 20 74 68 65 20 66 69 6c 65 0a 20 2d 20 6e |of the file. - n| 0000a110 6f 20 72 65 73 6f 6c 75 74 69 6f 6e 20 73 70 65 |o resolution spe| 0000a120 63 69 66 69 65 64 2c 20 65 71 75 61 6c 20 74 6f |cified, equal to| 0000a130 20 6d 6f 64 65 20 32 37 20 61 73 73 75 6d 65 64 | mode 27 assumed| 0000a140 0a 0a 54 68 65 20 4a 50 45 47 20 27 4a 46 49 46 |..The JPEG 'JFIF| 0000a150 27 20 46 69 6c 65 20 49 6e 74 65 72 63 68 61 6e |' File Interchan| 0000a160 67 65 20 46 6f 72 6d 61 74 0a 20 55 70 20 74 6f |ge Format. Up to| 0000a170 20 32 34 20 62 69 74 73 20 52 2c 47 2c 42 2c 20 | 24 bits R,G,B, | 0000a180 63 6f 6d 70 72 65 73 73 65 64 20 62 79 20 74 68 |compressed by th| 0000a190 65 20 4a 50 45 47 20 63 6f 6d 70 72 65 73 73 69 |e JPEG compressi| 0000a1a0 6f 6e 20 73 79 73 74 65 6d 2e 0a 20 2b 20 52 65 |on system.. + Re| 0000a1b0 63 6f 67 6e 69 73 65 64 20 62 79 20 4a 46 49 46 |cognised by JFIF| 0000a1c0 20 61 74 20 70 6f 73 69 74 69 6f 6e 20 36 20 69 | at position 6 i| 0000a1d0 6e 20 74 68 65 20 66 69 6c 65 20 28 79 6f 75 20 |n the file (you | 0000a1e0 6d 61 79 20 68 61 76 65 20 74 6f 0a 20 20 20 63 |may have to. c| 0000a1f0 75 74 20 68 65 61 64 65 72 73 20 6f 66 66 20 66 |ut headers off f| 0000a200 69 6c 65 73 2c 20 70 61 72 74 69 63 75 6c 61 72 |iles, particular| 0000a210 6c 79 20 69 66 20 74 68 65 79 20 61 72 65 20 66 |ly if they are f| 0000a220 72 6f 6d 20 4d 61 63 73 29 2e 0a 20 2b 20 4f 66 |rom Macs).. + Of| 0000a230 74 65 6e 20 68 69 67 68 6c 79 20 63 6f 6d 70 72 |ten highly compr| 0000a240 65 73 73 65 64 0a 20 2b 20 49 66 20 43 68 61 6e |essed. + If Chan| 0000a250 67 65 46 53 49 24 43 61 63 68 65 20 69 73 20 6c |geFSI$Cache is l| 0000a260 61 72 67 65 20 65 6e 6f 75 67 68 20 28 62 69 67 |arge enough (big| 0000a270 67 65 72 20 74 68 61 6e 20 74 68 65 20 66 69 6c |ger than the fil| 0000a280 65 29 2c 20 74 68 65 6e 20 68 69 67 68 0a 20 20 |e), then high. | 0000a290 20 73 70 65 65 64 20 72 6f 75 74 69 6e 65 73 20 | speed routines | 0000a2a0 61 72 65 20 75 73 65 64 20 74 6f 20 64 65 63 6f |are used to deco| 0000a2b0 6d 70 72 65 73 73 2e 20 4f 74 68 65 72 77 69 73 |mpress. Otherwis| 0000a2c0 65 3a 0a 20 2d 20 43 68 61 6e 67 65 46 53 49 20 |e:. - ChangeFSI | 0000a2d0 63 61 6c 6c 73 20 61 20 64 6a 70 65 67 20 72 6f |calls a djpeg ro| 0000a2e0 75 74 69 6e 65 2e 20 54 68 69 73 20 63 61 6e 20 |utine. This can | 0000a2f0 62 65 20 6f 6e 20 74 68 65 20 52 75 6e 24 50 61 |be on the Run$Pa| 0000a300 74 68 2c 20 69 6d 70 6c 65 6d 65 6e 74 65 64 0a |th, implemented.| 0000a310 20 20 20 61 73 20 61 6e 20 41 6c 69 61 73 20 28 | as an Alias (| 0000a320 69 6e 20 77 68 69 63 68 20 63 61 73 65 20 69 74 |in which case it| 0000a330 20 2a 6d 75 73 74 2a 20 75 73 65 20 57 69 6d 70 | *must* use Wimp| 0000a340 54 61 73 6b 20 74 6f 20 73 74 61 72 74 29 20 6f |Task to start) o| 0000a350 72 20 66 6f 75 6e 64 0a 20 20 20 69 6e 73 69 64 |r found. insid| 0000a360 65 20 43 68 61 6e 67 65 46 53 49 24 44 69 72 20 |e ChangeFSI$Dir | 0000a370 69 66 20 61 6c 6c 20 65 6c 73 65 20 66 61 69 6c |if all else fail| 0000a380 73 2e 20 63 6a 70 65 67 20 28 74 68 65 20 63 6f |s. cjpeg (the co| 0000a390 6d 70 72 65 73 73 6f 72 29 20 69 73 20 61 6c 73 |mpressor) is als| 0000a3a0 6f 0a 20 20 20 61 76 61 69 6c 61 62 6c 65 20 69 |o. available i| 0000a3b0 6e 73 69 64 65 20 43 68 61 6e 67 65 46 53 49 24 |nside ChangeFSI$| 0000a3c0 44 69 72 20 2d 20 79 6f 75 20 77 69 6c 6c 20 6e |Dir - you will n| 0000a3d0 65 65 64 20 74 6f 20 63 6f 6e 76 65 72 74 20 74 |eed to convert t| 0000a3e0 68 65 20 69 6d 61 67 65 20 74 6f 0a 20 20 20 50 |he image to. P| 0000a3f0 36 20 66 6f 72 6d 61 74 20 62 65 66 6f 72 65 20 |6 format before | 0000a400 69 74 20 63 61 6e 20 62 65 20 63 6f 6d 70 72 65 |it can be compre| 0000a410 73 73 65 64 2e 20 44 6a 70 65 67 20 61 6e 64 20 |ssed. Djpeg and | 0000a420 63 6a 70 65 67 20 61 72 65 20 62 79 20 74 68 65 |cjpeg are by the| 0000a430 0a 20 20 20 50 44 20 4a 50 45 47 20 67 72 6f 75 |. PD JPEG grou| 0000a440 70 2e 0a 20 2d 20 2e 2e 2e 20 61 6e 64 20 74 68 |p.. - ... and th| 0000a450 65 72 65 66 6f 72 65 20 73 6c 6f 77 2e 20 4e 65 |erefore slow. Ne| 0000a460 65 64 73 20 61 20 6c 6f 74 20 6f 66 20 73 70 61 |eds a lot of spa| 0000a470 63 65 20 69 6e 20 3c 57 69 6d 70 24 53 63 72 61 |ce in <Wimp$Scra| 0000a480 70 3e 2e 0a 20 2d 20 6e 6f 20 72 65 73 6f 6c 75 |p>.. - no resolu| 0000a490 74 69 6f 6e 20 73 70 65 63 69 66 69 65 64 2c 20 |tion specified, | 0000a4a0 65 71 75 61 6c 20 74 6f 20 6d 6f 64 65 20 32 37 |equal to mode 27| 0000a4b0 20 61 73 73 75 6d 65 64 0a 0a 54 68 65 20 52 6f | assumed..The Ro| 0000a4c0 6e 61 6c 64 20 41 6c 70 69 61 72 20 33 36 20 61 |nald Alpiar 36 a| 0000a4d0 6e 64 20 34 38 20 62 69 74 20 70 65 72 20 70 69 |nd 48 bit per pi| 0000a4e0 78 65 6c 20 66 6f 72 6d 61 74 73 0a 20 31 32 20 |xel formats. 12 | 0000a4f0 61 6e 64 20 31 36 20 62 69 74 73 20 66 6f 72 20 |and 16 bits for | 0000a500 65 61 63 68 20 6f 66 20 52 2c 47 2c 42 2c 20 75 |each of R,G,B, u| 0000a510 6e 63 6f 6d 70 72 65 73 73 65 64 0a 20 2b 20 52 |ncompressed. + R| 0000a520 65 63 6f 67 6e 69 73 65 64 20 62 79 20 41 4c 50 |ecognised by ALP| 0000a530 49 41 52 31 32 20 6f 72 20 41 4c 50 49 41 52 31 |IAR12 or ALPIAR1| 0000a540 36 20 61 74 20 73 74 61 72 74 20 6f 66 20 66 69 |6 at start of fi| 0000a550 6c 65 0a 20 2b 20 66 6f 6c 6c 6f 77 65 64 20 62 |le. + followed b| 0000a560 79 20 6c 69 74 74 6c 65 20 65 6e 64 69 61 6e 20 |y little endian | 0000a570 77 6f 72 64 20 6f 66 20 58 20 73 69 7a 65 20 61 |word of X size a| 0000a580 6e 64 20 77 6f 72 64 20 6f 66 20 59 20 73 69 7a |nd word of Y siz| 0000a590 65 0a 20 2b 20 66 6f 6c 6c 6f 77 65 64 20 62 79 |e. + followed by| 0000a5a0 20 72 2c 67 2c 62 20 61 73 20 6c 69 74 74 6c 65 | r,g,b as little| 0000a5b0 20 65 6e 64 69 61 6e 20 68 61 6c 66 20 77 6f 72 | endian half wor| 0000a5c0 64 73 0a 20 2d 20 6e 6f 20 72 65 73 6f 6c 75 74 |ds. - no resolut| 0000a5d0 69 6f 6e 20 73 70 65 63 69 66 69 65 64 2c 20 65 |ion specified, e| 0000a5e0 71 75 61 6c 20 74 6f 20 6d 6f 64 65 20 32 37 20 |qual to mode 27 | 0000a5f0 61 73 73 75 6d 65 64 0a 0a 54 68 65 20 62 74 70 |assumed..The btp| 0000a600 63 20 66 69 6c 65 20 66 6f 72 6d 61 74 0a 20 55 |c file format. U| 0000a610 70 20 74 6f 20 32 34 20 62 69 74 73 20 52 2c 47 |p to 24 bits R,G| 0000a620 2c 42 2c 20 63 6f 6d 70 72 65 73 73 65 64 20 62 |,B, compressed b| 0000a630 79 20 74 68 65 20 62 74 70 63 20 63 6f 6d 70 72 |y the btpc compr| 0000a640 65 73 73 69 6f 6e 20 73 79 73 74 65 6d 0a 20 2b |ession system. +| 0000a650 20 52 65 63 6f 67 6e 69 73 65 64 20 62 79 20 62 | Recognised by b| 0000a660 74 70 63 20 61 74 20 73 74 61 72 74 20 6f 66 20 |tpc at start of | 0000a670 74 68 65 20 66 69 6c 65 0a 20 2b 20 48 69 67 68 |the file. + High| 0000a680 6c 79 20 63 6f 6d 70 72 65 73 73 65 64 20 28 73 |ly compressed (s| 0000a690 6f 6d 65 74 69 6d 65 73 20 6d 6f 72 65 20 74 68 |ometimes more th| 0000a6a0 61 6e 20 4a 50 45 47 29 0a 20 2d 20 43 68 61 6e |an JPEG). - Chan| 0000a6b0 67 65 46 53 49 20 63 61 6c 6c 73 20 61 20 28 73 |geFSI calls a (s| 0000a6c0 6c 6f 77 29 20 64 62 74 70 63 20 72 6f 75 74 69 |low) dbtpc routi| 0000a6d0 6e 65 0a 20 2d 20 6e 6f 20 72 65 73 6f 6c 75 74 |ne. - no resolut| 0000a6e0 69 6f 6e 20 73 70 65 63 69 66 69 65 64 2c 20 65 |ion specified, e| 0000a6f0 71 75 61 6c 20 74 6f 20 6d 6f 64 65 20 32 37 20 |qual to mode 27 | 0000a700 61 73 73 75 6d 65 64 0a 0a 3e 3e 20 54 68 65 20 |assumed..>> The | 0000a710 66 6f 6c 6c 6f 77 69 6e 67 20 66 69 6c 65 20 66 |following file f| 0000a720 6f 72 6d 61 74 73 20 61 72 65 20 6f 6e 6c 79 20 |ormats are only | 0000a730 72 65 63 6f 67 6e 69 73 65 64 20 62 79 20 74 68 |recognised by th| 0000a740 65 69 72 20 6e 61 6d 65 73 2e 0a 0a 41 6e 20 75 |eir names...An u| 0000a750 6e 6b 6e 6f 77 6e 20 50 43 20 2e 44 53 50 20 66 |nknown PC .DSP f| 0000a760 6f 72 6d 61 74 0a 20 45 78 70 65 72 69 6d 65 6e |ormat. Experimen| 0000a770 74 61 6c 6c 79 20 64 65 74 65 72 6d 69 6e 65 64 |tally determined| 0000a780 20 74 68 61 74 20 69 74 20 68 6f 6c 64 73 20 61 | that it holds a| 0000a790 20 36 34 30 20 62 79 20 33 35 30 20 45 47 41 20 | 640 by 350 EGA | 0000a7a0 70 69 63 74 75 72 65 20 61 74 20 34 20 62 69 74 |picture at 4 bit| 0000a7b0 73 0a 20 70 65 72 20 70 69 78 65 6c 2e 20 43 68 |s. per pixel. Ch| 0000a7c0 61 6e 67 65 46 53 49 20 22 6b 6e 6f 77 73 22 20 |angeFSI "knows" | 0000a7d0 74 68 65 20 64 65 66 61 75 6c 74 20 45 47 41 20 |the default EGA | 0000a7e0 70 61 6c 65 74 74 65 20 28 66 72 6f 6d 20 49 42 |palette (from IB| 0000a7f0 4d 20 6c 69 74 65 72 61 74 75 72 65 29 2e 0a 20 |M literature).. | 0000a800 2d 20 52 65 63 6f 67 6e 69 73 65 64 20 62 79 20 |- Recognised by | 0000a810 62 65 69 6e 67 20 69 6e 20 61 20 64 69 72 65 63 |being in a direc| 0000a820 74 6f 72 79 20 22 44 53 50 22 0a 20 2d 20 44 6f |tory "DSP". - Do| 0000a830 63 75 6d 65 6e 74 61 74 69 6f 6e 20 6e 65 76 65 |cumentation neve| 0000a840 72 20 73 65 65 6e 0a 20 2d 20 4e 6f 20 72 65 73 |r seen. - No res| 0000a850 6f 6c 75 74 69 6f 6e 20 73 70 65 63 69 66 69 65 |olution specifie| 0000a860 64 2c 20 65 71 75 61 6c 20 74 6f 20 6d 6f 64 65 |d, equal to mode| 0000a870 20 32 37 20 61 73 73 75 6d 65 64 0a 20 2d 20 4f | 27 assumed. - O| 0000a880 6e 6c 79 20 74 77 6f 20 65 78 61 6d 70 6c 65 73 |nly two examples| 0000a890 20 72 65 61 64 28 21 29 0a 0a 54 68 65 20 51 52 | read(!)..The QR| 0000a8a0 54 20 2e 72 61 77 20 66 6f 72 6d 61 74 0a 20 4f |T .raw format. O| 0000a8b0 75 74 70 75 74 20 66 72 6f 6d 20 53 74 65 76 65 |utput from Steve| 0000a8c0 20 4b 6f 72 65 6e 27 73 20 70 75 62 6c 69 63 20 | Koren's public | 0000a8d0 64 6f 6d 61 69 6e 20 72 61 79 20 74 72 61 63 65 |domain ray trace| 0000a8e0 72 3a 20 61 72 62 69 74 72 61 72 79 20 73 69 7a |r: arbitrary siz| 0000a8f0 65 20 69 6e 20 32 5e 32 34 0a 20 63 6f 6c 6f 75 |e in 2^24. colou| 0000a900 72 73 2c 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 |rs, uncompressed| 0000a910 2e 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 |. Documentation | 0000a920 70 61 72 74 20 6f 66 20 51 52 54 2e 0a 20 2d 20 |part of QRT.. - | 0000a930 52 65 63 6f 67 6e 69 73 65 64 20 62 79 20 74 68 |Recognised by th| 0000a940 65 20 6e 61 6d 65 20 65 6e 64 69 6e 67 20 22 2e |e name ending ".| 0000a950 52 61 77 22 2e 20 4f 72 20 62 79 20 74 79 70 65 |Raw". Or by type| 0000a960 20 26 36 39 38 2e 0a 20 2d 20 4e 6f 20 72 65 73 | &698.. - No res| 0000a970 6f 6c 75 74 69 6f 6e 20 73 70 65 63 69 66 69 65 |olution specifie| 0000a980 64 2c 20 65 71 75 61 6c 20 74 6f 20 6d 6f 64 65 |d, equal to mode| 0000a990 20 32 37 20 61 73 73 75 6d 65 64 0a 0a 54 68 65 | 27 assumed..The| 0000a9a0 20 4d 54 56 20 70 69 63 2e 20 66 6f 72 6d 61 74 | MTV pic. format| 0000a9b0 0a 20 4f 75 74 70 75 74 20 66 72 6f 6d 20 4d 61 |. Output from Ma| 0000a9c0 72 6b 20 54 65 72 72 65 6e 63 65 20 56 61 6e 64 |rk Terrence Vand| 0000a9d0 65 57 65 74 74 65 72 69 6e 67 20 70 75 62 6c 69 |eWettering publi| 0000a9e0 63 20 64 6f 6d 61 69 6e 20 72 61 79 20 74 72 61 |c domain ray tra| 0000a9f0 63 65 72 20 61 72 62 69 74 72 61 72 79 0a 20 73 |cer arbitrary. s| 0000aa00 69 7a 65 20 69 6e 20 32 5e 32 34 20 63 6f 6c 6f |ize in 2^24 colo| 0000aa10 75 72 73 2c 20 75 6e 63 6f 6d 70 72 65 73 73 65 |urs, uncompresse| 0000aa20 64 2e 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e |d. Documentation| 0000aa30 20 70 61 72 74 20 6f 66 20 4d 54 56 2e 20 41 6c | part of MTV. Al| 0000aa40 73 6f 20 75 73 65 64 20 62 79 0a 20 22 52 61 79 |so used by. "Ray| 0000aa50 53 68 61 64 65 22 2e 0a 20 2d 20 52 65 63 6f 67 |Shade".. - Recog| 0000aa60 6e 69 73 65 64 20 62 79 20 62 65 69 6e 67 20 69 |nised by being i| 0000aa70 6e 20 61 20 64 69 72 65 63 74 6f 72 79 20 22 50 |n a directory "P| 0000aa80 69 63 2e 22 2e 20 4f 72 20 62 79 20 74 79 70 65 |ic.". Or by type| 0000aa90 20 26 36 39 39 2e 0a 20 2d 20 4e 6f 20 72 65 73 | &699.. - No res| 0000aaa0 6f 6c 75 74 69 6f 6e 20 73 70 65 63 69 66 69 65 |olution specifie| 0000aab0 64 2c 20 65 71 75 61 6c 20 74 6f 20 6d 6f 64 65 |d, equal to mode| 0000aac0 20 32 37 20 61 73 73 75 6d 65 64 0a 0a 54 68 65 | 27 assumed..The| 0000aad0 20 52 54 20 69 6d 61 67 65 2e 20 66 6f 72 6d 61 | RT image. forma| 0000aae0 74 0a 20 4f 75 74 70 75 74 20 66 72 6f 6d 20 22 |t. Output from "| 0000aaf0 52 54 22 2c 20 61 20 70 72 69 76 61 74 65 20 72 |RT", a private r| 0000ab00 61 79 20 74 72 61 63 65 72 20 62 79 20 42 72 69 |ay tracer by Bri| 0000ab10 61 6e 20 44 20 57 61 74 74 28 3f 29 20 61 72 62 |an D Watt(?) arb| 0000ab20 69 74 72 61 72 79 20 73 69 7a 65 20 69 6e 0a 20 |itrary size in. | 0000ab30 32 5e 32 34 20 63 6f 6c 6f 75 72 73 2c 20 72 75 |2^24 colours, ru| 0000ab40 6e 20 6c 65 6e 67 74 68 20 65 6e 63 6f 64 65 64 |n length encoded| 0000ab50 2e 0a 20 2d 20 52 65 63 6f 67 6e 69 73 65 64 20 |.. - Recognised | 0000ab60 62 79 20 62 65 69 6e 67 20 69 6e 20 61 20 64 69 |by being in a di| 0000ab70 72 65 63 74 6f 72 79 20 22 49 6d 61 67 65 2e 22 |rectory "Image."| 0000ab80 0a 20 2d 20 4e 6f 20 72 65 73 6f 6c 75 74 69 6f |. - No resolutio| 0000ab90 6e 20 73 70 65 63 69 66 69 65 64 2c 20 65 71 75 |n specified, equ| 0000aba0 61 6c 20 74 6f 20 6d 6f 64 65 20 32 37 20 61 73 |al to mode 27 as| 0000abb0 73 75 6d 65 64 0a 0a 46 6f 72 20 6d 61 6e 79 20 |sumed..For many | 0000abc0 6f 66 20 74 68 65 73 65 20 66 6f 72 6d 61 74 73 |of these formats| 0000abd0 2c 20 65 73 70 65 63 69 61 6c 6c 79 20 74 68 65 |, especially the| 0000abe0 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 6f 6e | uncompressed on| 0000abf0 65 73 2c 20 73 65 74 74 69 6e 67 20 74 68 65 0a |es, setting the.| 0000ac00 76 61 72 69 61 62 6c 65 20 22 43 68 61 6e 67 65 |variable "Change| 0000ac10 46 53 49 24 43 61 63 68 65 22 20 74 6f 20 74 68 |FSI$Cache" to th| 0000ac20 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 |e number of byte| 0000ac30 73 20 6f 66 20 74 65 6d 70 6f 72 61 72 79 20 6d |s of temporary m| 0000ac40 65 6d 6f 72 79 20 79 6f 75 0a 77 69 73 68 20 74 |emory you.wish t| 0000ac50 68 65 20 70 72 6f 67 72 61 6d 20 74 6f 20 75 73 |he program to us| 0000ac60 65 20 77 69 6c 6c 20 73 70 65 65 64 20 75 70 20 |e will speed up | 0000ac70 72 65 61 64 69 6e 67 20 74 68 65 20 69 6e 66 6f |reading the info| 0000ac80 72 6d 61 74 69 6f 6e 2e 20 54 68 65 20 64 65 66 |rmation. The def| 0000ac90 61 75 6c 74 0a 69 73 20 34 39 31 35 32 20 62 79 |ault.is 49152 by| 0000aca0 74 65 73 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 |tes. For example| 0000acb0 20 22 2a 73 65 74 20 43 68 61 6e 67 65 46 53 49 | "*set ChangeFSI| 0000acc0 24 43 61 63 68 65 20 38 30 6b 22 2e 20 46 6f 72 |$Cache 80k". For| 0000acd0 20 74 68 6f 73 65 20 77 6f 72 72 69 65 64 0a 61 | those worried.a| 0000ace0 62 6f 75 74 20 73 70 65 65 64 2c 20 74 68 65 20 |bout speed, the | 0000acf0 70 72 6f 67 72 61 6d 20 77 69 6c 6c 20 67 6f 20 |program will go | 0000ad00 66 61 73 74 65 72 20 69 66 3a 0a 0a 20 2d 20 79 |faster if:.. - y| 0000ad10 6f 75 20 75 73 65 20 2d 6e 6f 73 63 61 6c 65 20 |ou use -noscale | 0000ad20 61 6e 64 20 6b 65 65 70 20 31 3a 31 20 72 61 74 |and keep 1:1 rat| 0000ad30 69 6f 73 20 28 64 6f 6e 27 74 20 73 70 65 63 69 |ios (don't speci| 0000ad40 66 79 20 74 68 65 6d 29 0a 20 20 20 28 61 6c 74 |fy them). (alt| 0000ad50 68 6f 75 67 68 20 2d 6e 6f 73 69 7a 65 20 61 6e |hough -nosize an| 0000ad60 64 20 31 3a 31 20 6f 72 20 31 3a 32 20 72 61 74 |d 1:1 or 1:2 rat| 0000ad70 69 6f 73 20 61 72 65 20 71 75 69 63 6b 2c 20 74 |ios are quick, t| 0000ad80 6f 6f 29 0a 20 2d 20 79 6f 75 20 64 6f 6e 27 74 |oo). - you don't| 0000ad90 20 6e 65 65 64 20 73 68 61 72 70 65 6e 69 6e 67 | need sharpening| 0000ada0 2f 73 6d 6f 6f 74 68 69 6e 67 2c 20 68 69 73 74 |/smoothing, hist| 0000adb0 6f 67 72 61 6d 20 65 71 75 61 6c 69 73 61 74 69 |ogram equalisati| 0000adc0 6f 6e 2c 20 72 61 6e 67 65 20 65 78 70 61 6e 73 |on, range expans| 0000add0 69 6f 6e 0a 20 2d 20 79 6f 75 20 75 73 65 20 6d |ion. - you use m| 0000ade0 6f 6e 6f 63 68 72 6f 6d 65 20 28 65 2e 67 2e 20 |onochrome (e.g. | 0000adf0 32 35 2c 20 32 36 2c 20 32 37 20 61 6e 64 20 32 |25, 26, 27 and 2| 0000ae00 37 74 29 20 6d 6f 64 65 73 0a 0a 61 64 64 69 74 |7t) modes..addit| 0000ae10 69 6f 6e 61 6c 6c 79 20 79 6f 75 20 63 61 6e 20 |ionally you can | 0000ae20 64 69 73 61 62 6c 65 20 64 69 74 68 65 72 69 6e |disable ditherin| 0000ae30 67 20 28 2d 6e 6f 64 69 74 68 65 72 29 20 65 73 |g (-nodither) es| 0000ae40 70 65 63 69 61 6c 6c 79 20 77 68 65 6e 20 72 65 |pecially when re| 0000ae50 61 64 69 6e 67 0a 6d 6f 6e 6f 63 68 72 6f 6d 65 |ading.monochrome| 0000ae60 20 73 6f 75 72 63 65 2e 0a 0a 59 6f 75 20 63 61 | source...You ca| 0000ae70 6e 20 61 76 6f 69 64 20 74 68 65 20 70 72 6f 67 |n avoid the prog| 0000ae80 72 61 6d 20 63 68 61 6e 67 69 6e 67 20 6d 6f 64 |ram changing mod| 0000ae90 65 20 62 79 20 70 75 74 74 69 6e 67 20 2d 6e 6f |e by putting -no| 0000aea0 6d 6f 64 65 20 6f 6e 20 74 68 65 20 63 6f 6d 6d |mode on the comm| 0000aeb0 61 6e 64 20 6c 69 6e 65 2e 0a 0a 56 65 72 79 20 |and line...Very | 0000aec0 6c 61 72 67 65 20 6f 75 74 70 75 74 20 66 69 6c |large output fil| 0000aed0 65 73 20 63 61 6e 20 62 65 20 62 75 69 6c 74 20 |es can be built | 0000aee0 73 74 72 69 70 73 20 61 74 20 61 20 74 69 6d 65 |strips at a time| 0000aef0 20 61 6e 64 20 73 65 6e 74 20 64 69 72 65 63 74 | and sent direct| 0000af00 6c 79 20 74 6f 20 64 69 73 6b 0a 75 73 69 6e 67 |ly to disk.using| 0000af10 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 22 | the parameter "| 0000af20 2d 6d 61 78 22 20 65 2e 67 3a 0a 0a 20 20 43 68 |-max" e.g:.. Ch| 0000af30 61 6e 67 65 46 53 49 20 3c 69 6e 3e 20 3c 6f 75 |angeFSI <in> <ou| 0000af40 74 3e 20 32 38 20 2d 6d 61 78 35 31 32 4b 0a 0a |t> 28 -max512K..| 0000af50 77 69 6c 6c 20 63 6f 6e 76 65 72 74 20 74 68 65 |will convert the| 0000af60 20 66 69 6c 65 20 77 69 74 68 20 61 20 6d 61 78 | file with a max| 0000af70 69 6d 75 6d 20 6f 66 20 35 31 32 4b 42 79 74 65 |imum of 512KByte| 0000af80 73 20 68 65 6c 64 20 69 6e 20 6d 65 6d 6f 72 79 |s held in memory| 0000af90 2e 20 4f 70 74 69 6f 6e 73 20 32 35 74 2c 0a 2d |. Options 25t,.-| 0000afa0 72 6f 74 61 74 65 20 61 6e 64 20 2d 76 66 6c 69 |rotate and -vfli| 0000afb0 70 20 64 6f 6e 27 74 20 77 6f 72 6b 20 77 68 65 |p don't work whe| 0000afc0 6e 20 74 68 69 73 20 69 73 20 62 65 69 6e 67 20 |n this is being | 0000afd0 64 6f 6e 65 2e 0a 0a 57 6f 72 6b 20 77 69 6c 6c |done...Work will| 0000afe0 20 62 65 20 64 6f 6e 65 20 6f 6e 20 6f 74 68 65 | be done on othe| 0000aff0 72 20 66 6f 72 6d 61 74 73 20 77 68 65 6e 20 61 |r formats when a| 0000b000 6e 64 20 69 66 20 62 6f 74 68 20 69 6d 61 67 65 |nd if both image| 0000b010 20 61 6e 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 | and documentati| 0000b020 6f 6e 0a 61 72 72 69 76 65 20 61 74 20 41 63 6f |on.arrive at Aco| 0000b030 72 6e 2e 20 41 64 64 69 6e 67 20 61 20 6e 65 77 |rn. Adding a new| 0000b040 20 66 6f 72 6d 61 74 20 69 73 20 61 20 6d 61 74 | format is a mat| 0000b050 74 65 72 20 6f 66 20 28 61 29 20 70 75 74 74 69 |ter of (a) putti| 0000b060 6e 67 20 69 6e 20 61 75 74 6f 6d 61 74 69 63 0a |ng in automatic.| 0000b070 72 65 63 6f 67 6e 69 74 69 6f 6e 20 6f 66 20 74 |recognition of t| 0000b080 68 65 20 66 6f 72 6d 61 74 20 61 74 20 74 68 65 |he format at the| 0000b090 20 73 74 61 72 74 20 6f 66 20 74 68 65 20 70 72 | start of the pr| 0000b0a0 6f 67 72 61 6d 20 28 62 29 20 72 65 61 64 69 6e |ogram (b) readin| 0000b0b0 67 20 74 68 65 20 73 69 7a 65 20 6f 66 0a 74 68 |g the size of.th| 0000b0c0 65 20 69 6d 61 67 65 20 61 6e 64 20 74 68 65 20 |e image and the | 0000b0d0 63 6f 6c 6f 75 72 20 70 61 6c 65 74 74 65 20 6d |colour palette m| 0000b0e0 61 70 70 69 6e 67 20 5b 69 6e 20 74 68 65 20 6e |apping [in the n| 0000b0f0 65 78 74 20 73 65 63 74 69 6f 6e 20 6f 66 20 74 |ext section of t| 0000b100 68 65 20 70 72 6f 67 72 61 6d 5d 0a 28 63 29 20 |he program].(c) | 0000b110 77 72 69 74 69 6e 67 20 61 20 22 72 65 61 64 20 |writing a "read | 0000b120 70 69 78 65 6c 20 72 6f 77 22 20 65 6c 65 6d 65 |pixel row" eleme| 0000b130 6e 74 20 69 6e 73 69 64 65 20 50 52 4f 43 69 70 |nt inside PROCip| 0000b140 72 6f 77 20 28 64 29 20 70 72 6f 76 69 64 69 6e |row (d) providin| 0000b150 67 20 61 6e 20 65 6e 74 72 79 0a 69 6e 20 50 52 |g an entry.in PR| 0000b160 4f 43 72 65 77 69 6e 64 2e 20 49 66 20 79 6f 75 |OCrewind. If you| 0000b170 20 77 72 69 74 65 20 61 20 6e 65 77 20 66 6f 72 | write a new for| 0000b180 6d 61 74 20 69 6e 74 65 72 66 61 63 65 2c 20 70 |mat interface, p| 0000b190 6c 65 61 73 65 20 73 65 6e 64 20 69 74 20 74 6f |lease send it to| 0000b1a0 20 6d 65 20 73 6f 0a 74 68 61 74 20 69 74 20 77 | me so.that it w| 0000b1b0 69 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 |ill be included | 0000b1c0 69 6e 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e |in later version| 0000b1d0 73 2e 20 43 68 61 6e 67 65 46 53 49 20 68 61 73 |s. ChangeFSI has| 0000b1e0 20 61 6c 72 65 61 64 79 20 67 6f 74 20 63 6f 64 | already got cod| 0000b1f0 65 20 66 6f 72 0a 64 65 61 6c 69 6e 67 20 77 69 |e for.dealing wi| 0000b200 74 68 20 69 6d 61 67 65 73 20 77 69 74 68 20 31 |th images with 1| 0000b210 2c 20 32 2c 20 34 20 61 6e 64 20 38 20 62 69 74 |, 2, 4 and 8 bit| 0000b220 73 20 70 65 72 20 70 69 78 65 6c 20 70 61 63 6b |s per pixel pack| 0000b230 65 64 20 69 6e 74 6f 20 62 79 74 65 73 20 61 6e |ed into bytes an| 0000b240 64 20 66 6f 72 0a 69 6d 61 67 65 73 20 77 69 74 |d for.images wit| 0000b250 68 20 75 70 20 74 6f 20 38 20 62 69 74 20 70 6c |h up to 8 bit pl| 0000b260 61 6e 65 73 2e 20 54 68 65 72 65 20 69 73 20 73 |anes. There is s| 0000b270 75 70 70 6f 72 74 20 63 6f 64 65 20 66 6f 72 20 |upport code for | 0000b280 4c 5a 57 20 64 65 63 6f 6d 70 72 65 73 73 69 6f |LZW decompressio| 0000b290 6e 20 61 6e 64 0a 4c 5a 57 20 64 65 63 6f 64 69 |n and.LZW decodi| 0000b2a0 6e 67 2e 0a 0a 41 73 20 61 20 73 70 65 63 69 61 |ng...As a specia| 0000b2b0 6c 20 66 65 61 74 75 72 65 2c 20 43 68 61 6e 67 |l feature, Chang| 0000b2c0 65 46 53 49 20 77 69 6c 6c 20 61 6c 73 6f 20 77 |eFSI will also w| 0000b2d0 72 69 74 65 20 6f 75 74 20 32 35 36 20 67 72 65 |rite out 256 gre| 0000b2e0 79 20 6c 65 76 65 6c 20 66 69 6c 65 73 20 28 61 |y level files (a| 0000b2f0 6c 74 65 72 0a 72 77 74 2c 20 67 77 74 20 61 6e |lter.rwt, gwt an| 0000b300 64 20 62 77 74 20 74 6f 20 67 65 74 20 32 35 36 |d bwt to get 256| 0000b310 20 6c 65 76 65 6c 20 63 6f 6c 6f 75 72 20 73 65 | level colour se| 0000b320 70 61 72 61 74 69 6f 6e 73 29 20 69 6e 20 41 49 |parations) in AI| 0000b330 4d 20 66 6f 72 6d 61 74 2e 20 54 68 69 73 20 69 |M format. This i| 0000b340 73 0a 66 69 6c 65 20 74 79 70 65 20 34 20 77 69 |s.file type 4 wi| 0000b350 74 68 20 62 79 74 65 73 20 72 65 70 72 65 73 65 |th bytes represe| 0000b360 6e 74 69 6e 67 20 74 68 65 20 67 72 65 79 20 6c |nting the grey l| 0000b370 65 76 65 6c 2e 20 55 73 65 20 74 68 65 20 3d 20 |evel. Use the = | 0000b380 6f 70 65 72 61 74 69 6f 6e 20 74 6f 0a 72 65 73 |operation to.res| 0000b390 74 72 69 63 74 20 74 68 65 20 70 69 63 74 75 72 |trict the pictur| 0000b3a0 65 20 74 6f 20 32 35 36 78 32 35 36 79 2c 20 6f |e to 256x256y, o| 0000b3b0 74 68 65 72 77 69 73 65 20 69 74 20 77 69 6c 6c |therwise it will| 0000b3c0 20 62 65 20 74 68 65 20 73 61 6d 65 20 73 69 7a | be the same siz| 0000b3d0 65 20 61 73 20 74 68 65 0a 69 6e 70 75 74 2e 20 |e as the.input. | 0000b3e0 53 70 65 63 69 66 79 20 22 61 69 6d 22 20 61 73 |Specify "aim" as| 0000b3f0 20 74 68 65 20 6d 6f 64 65 20 73 74 72 69 6e 67 | the mode string| 0000b400 20 74 6f 20 64 6f 20 74 68 69 73 2e 0a 0a 46 6f | to do this...Fo| 0000b410 72 20 70 6f 72 74 61 62 69 6c 69 74 79 20 74 6f |r portability to| 0000b420 20 6f 74 68 65 72 20 6d 61 63 68 69 6e 65 73 2c | other machines,| 0000b430 20 43 68 61 6e 67 65 46 53 49 20 63 61 6e 20 77 | ChangeFSI can w| 0000b440 72 69 74 65 20 6f 75 74 20 66 69 6c 65 73 20 69 |rite out files i| 0000b450 6e 20 22 70 62 6d 22 0a 66 6f 72 6d 61 74 2e 20 |n "pbm".format. | 0000b460 54 68 65 72 65 20 61 72 65 20 33 20 74 79 70 65 |There are 3 type| 0000b470 73 20 6f 66 20 66 6f 72 6d 61 74 20 22 62 6c 61 |s of format "bla| 0000b480 63 6b 2f 77 68 69 74 65 22 20 28 70 62 6d 29 2c |ck/white" (pbm),| 0000b490 20 22 67 72 65 79 22 20 28 70 67 6d 29 20 61 6e | "grey" (pgm) an| 0000b4a0 64 0a 22 63 6f 6c 6f 75 72 22 20 28 70 70 6d 29 |d."colour" (ppm)| 0000b4b0 20 77 69 74 68 20 70 75 72 65 20 41 53 43 49 49 | with pure ASCII| 0000b4c0 20 61 6e 64 20 62 69 6e 61 72 79 20 65 6e 63 6f | and binary enco| 0000b4d0 64 69 6e 67 73 20 6f 66 20 65 61 63 68 3a 0a 0a |dings of each:..| 0000b4e0 41 53 43 49 49 20 20 20 20 20 20 20 20 20 20 20 |ASCII | 0000b4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 0000b500 20 20 20 20 20 20 20 20 42 69 6e 61 72 79 0a 70 | Binary.p| 0000b510 31 20 20 20 20 20 20 20 20 22 62 6c 61 63 6b 2f |1 "black/| 0000b520 77 68 69 74 65 22 20 28 6c 69 6b 65 20 6d 6f 64 |white" (like mod| 0000b530 65 20 31 38 29 20 20 70 34 20 28 62 69 67 20 65 |e 18) p4 (big e| 0000b540 6e 64 69 61 6e 20 62 79 74 65 73 21 29 0a 70 32 |ndian bytes!).p2| 0000b550 20 20 20 20 20 20 20 20 22 67 72 65 79 22 20 28 | "grey" (| 0000b560 6c 69 6b 65 20 6d 6f 64 65 20 32 30 74 29 20 20 |like mode 20t) | 0000b570 20 20 20 20 20 20 70 35 0a 70 33 20 20 20 20 20 | p5.p3 | 0000b580 20 20 20 22 74 72 75 65 20 63 6f 6c 6f 75 72 22 | "true colour"| 0000b590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 0000b5a0 20 70 36 0a 0a 46 69 6c 65 73 20 63 61 6e 20 62 | p6..Files can b| 0000b5b0 65 20 72 65 61 64 20 77 69 74 68 20 4a 65 66 20 |e read with Jef | 0000b5c0 50 6f 73 6b 61 6e 7a 65 72 27 73 20 70 6f 72 74 |Poskanzer's port| 0000b5d0 61 62 6c 65 20 74 6f 6f 6c 6b 69 74 20 6f 6e 20 |able toolkit on | 0000b5e0 6f 74 68 65 72 20 6d 61 63 68 69 6e 65 73 2e 20 |other machines. | 0000b5f0 54 68 65 0a 70 32 20 66 6f 72 6d 61 74 20 69 73 |The.p2 format is| 0000b600 20 65 61 73 69 6c 79 20 63 6f 6e 76 65 72 74 69 | easily converti| 0000b610 62 6c 65 20 62 79 20 70 72 6f 67 72 61 6d 6d 65 |ble by programme| 0000b620 72 73 3b 20 69 74 20 63 6f 6e 73 69 73 74 73 20 |rs; it consists | 0000b630 6f 66 3a 0a 0a 50 32 0a 23 20 63 6f 6d 6d 65 6e |of:..P2.# commen| 0000b640 74 20 6c 69 6e 65 0a 78 73 69 7a 65 20 79 73 69 |t line.xsize ysi| 0000b650 7a 65 0a 6d 61 78 69 6d 75 6d 5f 76 61 6c 75 65 |ze.maximum_value| 0000b660 0a 70 69 78 65 6c 5f 76 61 6c 75 65 20 3c 77 68 |.pixel_value <wh| 0000b670 69 74 65 73 70 61 63 65 3e 20 70 69 78 65 6c 5f |itespace> pixel_| 0000b680 76 61 6c 75 65 0a 0a 77 68 65 72 65 20 61 6c 6c |value..where all| 0000b690 20 74 68 65 20 6e 75 6d 62 65 72 73 20 61 72 65 | the numbers are| 0000b6a0 20 69 6e 20 64 65 63 69 6d 61 6c 20 28 41 53 43 | in decimal (ASC| 0000b6b0 49 49 29 2e 20 30 20 6d 65 61 6e 73 20 62 6c 61 |II). 0 means bla| 0000b6c0 63 6b 2c 20 6d 61 78 69 6d 75 6d 5f 76 61 6c 75 |ck, maximum_valu| 0000b6d0 65 20 28 3d 0a 31 35 29 20 6d 65 61 6e 73 20 77 |e (=.15) means w| 0000b6e0 68 69 74 65 2e 20 54 68 65 20 70 33 20 66 6f 72 |hite. The p3 for| 0000b6f0 6d 61 74 20 69 73 20 73 69 6d 69 6c 61 72 20 77 |mat is similar w| 0000b700 69 74 68 20 72 2c 20 67 2c 20 62 20 74 72 69 70 |ith r, g, b trip| 0000b710 6c 65 73 20 66 6f 72 20 65 61 63 68 20 70 69 78 |les for each pix| 0000b720 65 6c 0a 76 61 6c 75 65 2e 20 54 68 65 20 6e 75 |el.value. The nu| 0000b730 6d 62 65 72 20 6f 66 20 62 69 74 73 20 70 65 72 |mber of bits per| 0000b740 20 63 6f 6d 70 6f 6e 65 6e 74 20 28 64 65 66 61 | component (defa| 0000b750 75 6c 74 20 38 29 20 63 61 6e 20 62 65 20 73 65 |ult 8) can be se| 0000b760 74 20 66 72 6f 6d 20 74 68 65 20 63 6f 6d 6d 61 |t from the comma| 0000b770 6e 64 0a 6c 69 6e 65 20 77 69 74 68 2c 20 66 6f |nd.line with, fo| 0000b780 72 20 65 78 61 6d 70 6c 65 2c 20 22 70 33 2c 34 |r example, "p3,4| 0000b790 22 20 66 6f 72 20 34 20 62 69 74 73 20 70 65 72 |" for 4 bits per| 0000b7a0 20 63 6f 6d 70 6f 6e 65 6e 74 2e 0a 0a 41 73 20 | component...As | 0000b7b0 61 20 73 70 65 63 69 61 6c 20 70 61 63 6b 65 64 |a special packed| 0000b7c0 20 6f 75 74 70 75 74 20 66 6f 72 6d 61 74 2c 20 | output format, | 0000b7d0 22 50 31 35 22 20 68 61 73 20 62 65 65 6e 20 69 |"P15" has been i| 0000b7e0 6d 70 6c 65 6d 65 6e 74 65 64 2e 20 4f 75 74 70 |mplemented. Outp| 0000b7f0 75 74 20 69 73 20 62 69 6e 61 72 79 0a 70 69 78 |ut is binary.pix| 0000b800 65 6c 20 76 61 6c 75 65 73 2c 20 35 20 62 69 74 |el values, 5 bit| 0000b810 73 20 70 65 72 20 63 6f 6d 70 6f 6e 65 6e 74 2c |s per component,| 0000b820 20 6c 69 74 74 6c 65 20 65 6e 64 69 61 6e 20 52 | little endian R| 0000b830 47 42 20 6f 72 64 65 72 20 70 61 63 6b 65 64 20 |GB order packed | 0000b840 69 6e 74 6f 20 31 36 0a 62 69 74 73 2e 20 48 65 |into 16.bits. He| 0000b850 61 64 65 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e |ader information| 0000b860 20 61 73 20 74 68 65 20 6f 74 68 65 72 20 70 20 | as the other p | 0000b870 66 6f 72 6d 61 74 73 2e 0a 0a 46 69 6c 65 73 20 |formats...Files | 0000b880 63 61 6e 20 62 65 20 77 72 69 74 74 65 6e 20 61 |can be written a| 0000b890 73 20 6e 65 77 20 52 49 53 43 20 4f 53 20 73 70 |s new RISC OS sp| 0000b8a0 72 69 74 65 73 20 75 73 69 6e 67 20 53 31 36 20 |rites using S16 | 0000b8b0 61 6e 64 20 53 33 32 20 61 73 20 74 68 65 20 66 |and S32 as the f| 0000b8c0 6f 72 6d 61 74 73 2e 0a 54 68 65 20 78 20 61 6e |ormats..The x an| 0000b8d0 64 20 79 20 70 69 78 65 6c 73 20 70 65 72 20 69 |d y pixels per i| 0000b8e0 6e 63 68 20 61 72 65 20 67 69 76 65 6e 20 61 73 |nch are given as| 0000b8f0 20 61 20 63 6f 6d 6d 61 20 73 65 70 65 72 61 74 | a comma seperat| 0000b900 65 64 20 6c 69 73 74 20 2d 20 61 20 31 36 20 62 |ed list - a 16 b| 0000b910 69 74 20 6d 6f 64 65 0a 31 32 20 65 71 75 69 76 |it mode.12 equiv| 0000b920 61 6c 65 6e 74 20 69 73 20 53 31 36 2c 39 30 2c |alent is S16,90,| 0000b930 34 35 20 77 68 69 6c 65 20 61 20 33 32 20 62 69 |45 while a 32 bi| 0000b940 74 20 6d 6f 64 65 20 32 38 20 65 71 75 69 76 61 |t mode 28 equiva| 0000b950 6c 65 6e 74 20 69 73 20 53 33 32 2c 39 30 2c 39 |lent is S32,90,9| 0000b960 30 2e 0a 0a 46 69 6c 65 73 20 63 61 6e 20 62 65 |0...Files can be| 0000b970 20 77 72 69 74 74 65 6e 20 61 73 20 4a 50 45 47 | written as JPEG| 0000b980 20 69 6d 61 67 65 73 20 75 73 69 6e 67 20 4a 50 | images using JP| 0000b990 45 47 20 28 63 6f 6c 6f 75 72 29 20 6f 72 20 4a |EG (colour) or J| 0000b9a0 50 45 47 4d 4f 4e 4f 2e 20 41 20 71 75 61 6c 69 |PEGMONO. A quali| 0000b9b0 74 79 0a 69 6e 20 74 68 65 20 72 61 6e 67 65 20 |ty.in the range | 0000b9c0 31 20 74 6f 20 31 30 30 20 6d 75 73 74 20 62 65 |1 to 100 must be| 0000b9d0 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 65 6e | added to the en| 0000b9e0 64 20 28 65 2e 67 2e 20 4a 50 45 47 37 35 20 6f |d (e.g. JPEG75 o| 0000b9f0 72 20 4a 50 45 47 4d 4f 4e 4f 35 30 29 2e 0a 0a |r JPEGMONO50)...| 0000ba00 43 68 61 6e 67 65 46 53 49 20 63 61 6e 20 77 72 |ChangeFSI can wr| 0000ba10 69 74 65 20 49 72 6c 61 6d 20 66 6f 72 6d 61 74 |ite Irlam format| 0000ba20 20 69 6d 61 67 65 73 20 28 73 6f 6d 65 77 68 61 | images (somewha| 0000ba30 74 20 73 6c 6f 77 65 72 20 74 68 61 6e 20 70 36 |t slower than p6| 0000ba40 20 69 6d 61 67 65 73 2e 2e 2e 29 2e 0a 0a 20 20 | images...)... | 0000ba50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 0000ba60 20 20 20 20 20 20 20 20 20 20 20 20 4f 75 74 70 | Outp| 0000ba70 75 74 20 73 75 6d 6d 61 72 79 0a 20 20 20 20 20 |ut summary. | 0000ba80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 0000ba90 20 20 20 20 20 20 20 20 20 3d 3d 3d 3d 3d 3d 3d | =======| 0000baa0 3d 3d 3d 3d 3d 3d 3d 0a 0a 23 20 63 6f 6c 73 20 |=======..# cols | 0000bab0 20 20 43 6f 6c 6f 75 72 20 43 75 62 65 20 20 42 | Colour Cube B| 0000bac0 69 74 73 20 75 73 65 64 20 20 43 6f 6e 73 69 73 |its used Consis| 0000bad0 74 65 6e 74 20 48 75 65 20 20 44 65 73 6b 74 6f |tent Hue Deskto| 0000bae0 70 20 50 61 6c 65 74 74 65 20 20 4d 6f 64 65 26 |p Palette Mode&| 0000baf0 53 75 66 66 69 78 0a 0a 32 5e 32 34 20 20 20 20 |Suffix..2^24 | 0000bb00 20 20 20 20 20 20 20 20 59 20 20 20 20 20 20 20 | Y | 0000bb10 20 20 32 34 20 20 20 20 20 20 20 20 20 20 20 59 | 24 Y| 0000bb20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 20 | - | 0000bb30 20 20 20 20 20 20 20 20 20 20 53 33 32 2c 20 70 | S32, p| 0000bb40 33 20 6f 72 20 70 36 20 6f 72 20 49 72 6c 61 6d |3 or p6 or Irlam| 0000bb50 20 6f 72 20 4a 50 45 47 0a 32 5e 32 31 20 20 20 | or JPEG.2^21 | 0000bb60 20 20 20 20 20 20 20 20 20 59 20 20 20 20 20 20 | Y | 0000bb70 20 20 20 32 31 20 20 20 20 20 20 20 20 20 20 20 | 21 | 0000bb80 59 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 |Y - | 0000bb90 20 20 20 20 20 20 20 20 20 20 20 70 36 2c 37 0a | p6,7.| 0000bba0 32 5e 31 38 20 20 20 20 20 20 20 20 20 20 20 20 |2^18 | 0000bbb0 59 20 20 20 20 20 20 20 20 20 31 38 20 20 20 20 |Y 18 | 0000bbc0 20 20 20 20 20 20 20 59 20 20 20 20 20 20 20 20 | Y | 0000bbd0 20 20 20 20 20 2d 20 20 20 20 20 20 20 20 20 20 | - | 0000bbe0 20 20 70 36 2c 36 0a 32 5e 31 35 20 20 20 20 20 | p6,6.2^15 | 0000bbf0 20 20 20 20 20 20 20 59 20 20 20 20 20 20 20 20 | Y | 0000bc00 20 31 35 20 20 20 20 20 20 20 20 20 20 20 59 20 | 15 Y | 0000bc10 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 20 20 | - | 0000bc20 20 20 20 20 20 20 20 20 20 53 31 36 2c 20 70 31 | S16, p1| 0000bc30 35 20 6f 72 20 70 36 2c 35 0a 32 5e 31 32 20 20 |5 or p6,5.2^12 | 0000bc40 20 20 20 20 20 20 20 20 20 20 59 20 20 20 20 20 | Y | 0000bc50 20 20 20 20 31 32 20 20 20 20 20 20 20 20 20 20 | 12 | 0000bc60 20 59 20 20 20 20 20 20 20 20 20 20 20 20 20 2d | Y -| 0000bc70 20 20 20 20 20 20 20 20 20 20 20 20 70 36 2c 34 | p6,4| 0000bc80 0a 35 31 32 20 20 20 20 20 20 20 20 20 20 20 20 |.512 | 0000bc90 20 59 20 20 20 20 20 20 20 20 20 20 39 20 20 20 | Y 9 | 0000bca0 20 20 20 20 20 20 20 20 59 20 20 20 20 20 20 20 | Y | 0000bcb0 20 20 20 20 20 20 2d 20 20 20 20 20 20 20 20 20 | - | 0000bcc0 20 20 20 70 36 2c 33 0a 32 35 36 20 67 72 65 79 | p6,3.256 grey| 0000bcd0 20 20 20 20 20 20 20 20 6e 20 20 20 20 20 20 20 | n | 0000bce0 20 20 20 38 20 20 20 20 20 20 20 20 20 20 20 59 | 8 Y| 0000bcf0 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 20 | - | 0000bd00 20 20 20 20 20 20 20 20 20 20 61 69 6d 20 6f 72 | aim or| 0000bd10 20 4a 50 45 47 4d 4f 4e 4f 0a 32 35 36 20 67 72 | JPEGMONO.256 gr| 0000bd20 65 79 20 20 20 20 20 20 20 20 6e 20 20 20 20 20 |ey n | 0000bd30 20 20 20 20 20 38 20 20 20 20 20 20 20 20 20 20 | 8 | 0000bd40 20 59 20 20 20 20 20 20 20 20 20 20 20 20 20 2d | Y -| 0000bd50 20 20 20 20 20 20 20 20 20 20 20 20 32 38 64 0a | 28d.| 0000bd60 32 35 36 20 20 20 20 20 20 20 20 20 20 20 20 20 |256 | 0000bd70 59 20 20 20 20 20 20 20 20 20 20 38 20 20 20 20 |Y 8 | 0000bd80 20 20 20 20 20 20 20 59 20 20 20 20 20 20 20 20 | Y | 0000bd90 20 20 20 20 20 59 20 20 20 20 20 20 20 20 20 20 | Y | 0000bda0 20 20 32 38 0a 32 35 36 20 20 20 20 20 20 20 20 | 28.256 | 0000bdb0 20 20 20 20 20 59 20 20 20 20 20 20 20 20 20 20 | Y | 0000bdc0 38 20 20 20 20 20 20 20 20 20 20 20 59 20 20 20 |8 Y | 0000bdd0 20 20 20 20 20 20 20 20 20 20 59 20 20 20 20 20 | Y | 0000bde0 20 20 20 20 20 20 20 32 38 72 0a 31 36 20 67 72 | 28r.16 gr| 0000bdf0 65 79 20 20 20 20 20 20 20 20 20 6e 20 20 20 20 |ey n | 0000be00 20 20 20 20 20 20 34 20 20 20 20 20 20 20 20 20 | 4 | 0000be10 20 20 59 20 20 20 20 20 20 20 20 20 20 20 20 20 | Y | 0000be20 6e 20 20 20 20 20 20 20 20 20 20 20 20 32 37 74 |n 27t| 0000be30 0a 31 36 20 67 72 65 79 20 20 20 20 20 20 20 20 |.16 grey | 0000be40 20 6e 20 20 20 20 20 20 20 20 20 20 34 20 20 20 | n 4 | 0000be50 20 20 20 20 20 20 20 20 59 20 20 20 20 20 20 20 | Y | 0000be60 20 20 20 20 20 20 6e 20 20 20 20 20 20 20 20 20 | n | 0000be70 20 20 20 70 32 20 6f 72 20 70 35 0a 38 20 67 72 | p2 or p5.8 gr| 0000be80 65 79 20 20 20 20 20 20 20 20 20 20 6e 20 20 20 |ey n | 0000be90 20 20 20 20 20 20 20 33 20 20 20 20 20 20 20 20 | 3 | 0000bea0 20 20 20 59 20 20 20 20 20 20 20 20 20 20 20 20 | Y | 0000beb0 20 59 20 20 20 20 20 20 20 20 20 20 20 20 32 37 | Y 27| 0000bec0 0a 31 36 20 20 20 20 20 20 20 20 20 20 20 20 20 |.16 | 0000bed0 20 3f 20 20 20 20 20 20 20 20 20 20 34 20 20 20 | ? 4 | 0000bee0 20 20 20 20 20 20 20 20 3f 20 20 20 20 20 20 20 | ? | 0000bef0 20 20 20 20 20 20 59 20 20 20 20 20 20 20 20 20 | Y | 0000bf00 20 20 20 32 37 72 0a 31 36 20 20 20 20 20 20 20 | 27r.16 | 0000bf10 20 20 20 20 20 20 20 59 20 20 20 20 20 20 20 20 | Y | 0000bf20 20 20 33 20 20 20 20 20 20 20 20 20 20 20 59 20 | 3 Y | 0000bf30 20 20 20 20 20 20 20 20 20 20 63 61 6e 20 62 65 | can be| 0000bf40 20 20 20 20 20 20 20 20 20 32 37 64 0a 34 20 67 | 27d.4 g| 0000bf50 72 65 79 20 20 20 20 20 20 20 20 20 20 6e 20 20 |rey n | 0000bf60 20 20 20 20 20 20 20 20 32 20 20 20 20 20 20 20 | 2 | 0000bf70 20 20 20 20 59 20 20 20 20 20 20 20 20 20 20 20 | Y | 0000bf80 20 20 59 20 20 20 20 20 20 20 20 20 20 20 20 32 | Y 2| 0000bf90 36 0a 34 20 20 20 20 20 20 20 20 20 20 20 20 20 |6.4 | 0000bfa0 20 20 6e 20 20 20 20 20 20 20 20 20 20 32 20 20 | n 2 | 0000bfb0 20 20 20 20 20 20 20 20 20 6e 20 20 20 20 20 20 | n | 0000bfc0 20 20 20 20 20 20 20 6e 20 20 20 20 20 20 20 20 | n | 0000bfd0 20 20 20 20 32 36 63 0a 34 20 20 20 20 20 20 20 | 26c.4 | 0000bfe0 20 20 20 20 20 20 20 20 6e 20 20 20 20 20 20 20 | n | 0000bff0 20 20 20 32 20 20 20 20 20 20 20 20 20 20 20 6e | 2 n| 0000c000 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 20 20 | n | 0000c010 20 20 20 20 20 20 20 20 20 20 32 36 72 0a 32 20 | 26r.2 | 0000c020 28 62 6c 61 63 6b 2f 77 68 69 74 65 29 20 6e 20 |(black/white) n | 0000c030 20 20 20 20 20 20 20 20 20 31 20 20 20 20 20 20 | 1 | 0000c040 20 20 20 20 20 59 20 20 20 20 20 20 20 20 20 20 | Y | 0000c050 20 20 20 59 20 20 20 20 20 20 20 20 20 20 20 20 | Y | 0000c060 32 35 0a 32 20 28 62 6c 61 63 6b 2f 77 68 69 74 |25.2 (black/whit| 0000c070 65 29 20 6e 20 20 20 20 20 20 20 20 20 20 31 20 |e) n 1 | 0000c080 20 20 20 20 20 20 20 20 20 20 59 20 20 20 20 20 | Y | 0000c090 20 20 20 20 20 20 20 20 59 20 20 20 20 20 20 20 | Y | 0000c0a0 20 20 20 20 20 32 35 63 2f 64 2f 74 0a 32 20 28 | 25c/d/t.2 (| 0000c0b0 62 6c 61 63 6b 2f 77 68 69 74 65 29 20 6e 20 20 |black/white) n | 0000c0c0 20 20 20 20 20 20 20 20 31 20 20 20 20 20 20 20 | 1 | 0000c0d0 20 20 20 20 59 20 20 20 20 20 20 20 20 20 20 20 | Y | 0000c0e0 20 20 59 20 20 20 20 20 20 20 20 20 20 20 20 70 | Y p| 0000c0f0 31 20 6f 72 20 70 34 0a 0a 0a 43 68 61 6e 67 65 |1 or p4...Change| 0000c100 46 53 49 20 63 61 6e 20 62 65 20 75 73 65 64 20 |FSI can be used | 0000c110 66 72 6f 6d 20 62 6f 74 68 20 74 68 65 20 64 65 |from both the de| 0000c120 73 6b 74 6f 70 20 66 72 6f 6e 74 20 65 6e 64 20 |sktop front end | 0000c130 61 6e 64 20 66 72 6f 6d 20 74 68 65 20 63 6f 6d |and from the com| 0000c140 6d 61 6e 64 0a 6c 69 6e 65 2e 20 49 74 20 63 61 |mand.line. It ca| 0000c150 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 20 61 |n also be used a| 0000c160 73 20 61 20 42 41 53 49 43 20 6c 69 62 72 61 72 |s a BASIC librar| 0000c170 79 20 66 75 6e 63 74 69 6f 6e 3a 0a 4c 49 42 52 |y function:.LIBR| 0000c180 41 52 59 22 3c 43 68 61 6e 67 65 46 53 49 24 44 |ARY"<ChangeFSI$D| 0000c190 69 72 3e 2e 43 68 61 6e 67 65 46 53 49 22 20 67 |ir>.ChangeFSI" g| 0000c1a0 69 76 65 73 20 61 20 6e 65 77 20 66 75 6e 63 74 |ives a new funct| 0000c1b0 69 6f 6e 2c 20 46 4e 43 68 61 6e 67 65 46 53 49 |ion, FNChangeFSI| 0000c1c0 20 74 6f 20 74 68 65 0a 42 41 53 49 43 20 70 72 | to the.BASIC pr| 0000c1d0 6f 67 72 61 6d 6d 65 72 2e 20 54 68 69 73 20 66 |ogrammer. This f| 0000c1e0 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 3a 0a 20 |unction takes:. | 0000c1f0 20 41 24 3a 20 61 20 63 6f 6d 6d 61 6e 64 20 6c | A$: a command l| 0000c200 69 6e 65 20 61 72 67 75 6d 65 6e 74 0a 20 20 73 |ine argument. s| 0000c210 70 72 69 74 65 61 72 65 61 25 3a 20 61 6e 20 61 |pritearea%: an a| 0000c220 64 64 72 65 73 73 20 6f 72 20 2d 31 20 66 6f 72 |ddress or -1 for| 0000c230 20 74 68 65 20 73 70 72 69 74 65 61 72 65 61 20 | the spritearea | 0000c240 62 75 69 6c 74 20 62 79 20 43 68 61 6e 67 65 46 |built by ChangeF| 0000c250 53 49 0a 20 20 77 6f 72 6b 73 70 61 63 65 25 3a |SI. workspace%:| 0000c260 20 61 6e 20 61 64 64 72 65 73 73 20 6f 72 20 2d | an address or -| 0000c270 31 20 66 6f 72 20 43 68 61 6e 67 65 46 53 49 27 |1 for ChangeFSI'| 0000c280 73 20 6f 74 68 65 72 20 77 6f 72 6b 73 70 61 63 |s other workspac| 0000c290 65 0a 20 20 77 6f 72 6b 6c 69 6d 69 74 25 3a 20 |e. worklimit%: | 0000c2a0 61 6e 20 61 64 64 72 65 73 73 20 28 75 6e 75 73 |an address (unus| 0000c2b0 65 64 20 69 66 20 77 6f 72 6b 73 70 61 63 65 25 |ed if workspace%| 0000c2c0 3c 30 29 0a 20 20 66 61 73 74 25 3a 20 54 52 55 |<0). fast%: TRU| 0000c2d0 45 20 66 6f 72 20 4d 4f 44 45 20 30 20 73 65 6c |E for MODE 0 sel| 0000c2e0 65 63 74 69 6f 6e 0a 49 74 20 70 72 6f 64 75 63 |ection.It produc| 0000c2f0 65 73 20 61 6e 20 65 72 72 6f 72 20 28 74 6f 20 |es an error (to | 0000c300 77 68 61 74 65 76 65 72 20 65 72 72 6f 72 20 68 |whatever error h| 0000c310 61 6e 64 6c 65 72 20 69 73 20 70 72 65 73 65 6e |andler is presen| 0000c320 74 29 20 69 66 20 69 74 20 66 61 69 6c 73 2e 20 |t) if it fails. | 0000c330 49 66 0a 73 70 72 69 74 65 61 72 65 61 25 20 69 |If.spritearea% i| 0000c340 73 20 3c 30 20 69 74 20 77 69 6c 6c 20 73 61 76 |s <0 it will sav| 0000c350 65 20 74 68 65 20 73 70 72 69 74 65 20 74 6f 20 |e the sprite to | 0000c360 74 68 65 20 66 69 6c 65 20 67 69 76 65 6e 20 69 |the file given i| 0000c370 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 73 74 |n the command.st| 0000c380 72 69 6e 67 2c 20 6f 74 68 65 72 77 69 73 65 20 |ring, otherwise | 0000c390 69 74 20 77 6f 6e 27 74 2e 20 54 68 65 20 66 75 |it won't. The fu| 0000c3a0 6e 63 74 69 6f 6e 20 46 4e 43 68 61 6e 67 65 46 |nction FNChangeF| 0000c3b0 53 49 56 65 72 73 69 6f 6e 20 72 65 74 75 72 6e |SIVersion return| 0000c3c0 73 20 74 68 65 20 76 65 72 73 69 6f 6e 0a 73 74 |s the version.st| 0000c3d0 72 69 6e 67 20 6f 66 20 74 68 65 20 6c 69 62 72 |ring of the libr| 0000c3e0 61 72 79 20 28 69 6e 20 74 68 65 20 69 6e 66 6f |ary (in the info| 0000c3f0 20 62 6f 78 20 6f 66 20 74 68 65 20 64 65 73 6b | box of the desk| 0000c400 74 6f 70 20 61 70 70 6c 69 63 61 74 69 6f 6e 29 |top application)| 0000c410 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 |... | 0000c420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 6f | Co| 0000c430 6d 6d 61 6e 64 20 53 75 6d 6d 61 72 79 0a 20 20 |mmand Summary. | 0000c440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 0000c450 20 20 20 20 20 20 20 20 20 3d 3d 3d 3d 3d 3d 3d | =======| 0000c460 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 2d 69 6e 66 6f 20 |========..-info | 0000c470 20 20 20 20 67 69 76 65 20 64 65 74 61 69 6c 73 | give details| 0000c480 0a 0a 2d 68 69 73 74 20 20 20 20 20 64 6f 6e 27 |..-hist don'| 0000c490 74 20 70 72 6f 63 65 73 73 20 69 6d 61 67 65 2c |t process image,| 0000c4a0 20 62 75 74 20 64 69 73 70 6c 61 79 20 68 69 73 | but display his| 0000c4b0 74 6f 67 72 61 6d 20 6f 66 20 69 74 20 69 6e 73 |togram of it ins| 0000c4c0 74 65 61 64 0a 0a 2d 68 66 6c 69 70 20 20 20 20 |tead..-hflip | 0000c4d0 68 6f 72 69 7a 6f 6e 74 61 6c 6c 79 20 66 6c 69 |horizontally fli| 0000c4e0 70 20 74 68 65 20 69 6d 61 67 65 0a 2d 76 66 6c |p the image.-vfl| 0000c4f0 69 70 20 20 20 20 76 65 72 74 69 63 61 6c 6c 79 |ip vertically| 0000c500 20 66 6c 69 70 20 74 68 65 20 69 6d 61 67 65 0a | flip the image.| 0000c510 2d 72 6f 74 61 74 65 20 20 20 72 6f 74 61 74 65 |-rotate rotate| 0000c520 20 74 68 65 20 69 6d 61 67 65 20 62 79 20 2b 39 | the image by +9| 0000c530 30 20 64 65 67 72 65 65 73 20 28 69 2e 65 2e 20 |0 degrees (i.e. | 0000c540 61 6e 74 69 2d 63 6c 6f 63 6b 77 69 73 65 29 0a |anti-clockwise).| 0000c550 2d 72 6f 74 61 74 65 2d 20 20 72 6f 74 61 74 65 |-rotate- rotate| 0000c560 20 74 68 65 20 69 6d 61 67 65 20 62 79 20 2d 39 | the image by -9| 0000c570 30 20 64 65 67 72 65 65 73 20 28 69 2e 65 2e 20 |0 degrees (i.e. | 0000c580 63 6c 6f 63 6b 77 69 73 65 29 0a 2d 6d 61 78 20 |clockwise).-max | 0000c590 20 20 20 20 20 73 65 74 20 74 68 65 20 6d 61 78 | set the max| 0000c5a0 69 6d 75 6d 20 73 69 7a 65 20 6f 66 20 74 68 65 |imum size of the| 0000c5b0 20 69 6d 61 67 65 20 62 65 66 6f 72 65 20 64 69 | image before di| 0000c5c0 73 63 20 69 73 20 75 73 65 64 0a 0a 2d 6e 6f 73 |sc is used..-nos| 0000c5d0 63 61 6c 65 20 20 64 69 73 61 62 6c 65 20 61 75 |cale disable au| 0000c5e0 74 6f 6d 61 74 69 63 20 70 69 78 65 6c 20 73 69 |tomatic pixel si| 0000c5f0 7a 65 20 63 6f 72 72 65 63 74 69 6f 6e 0a 2d 6e |ze correction.-n| 0000c600 6f 73 69 7a 65 20 20 20 64 69 73 61 62 6c 65 20 |osize disable | 0000c610 61 75 74 6f 6d 61 74 69 63 20 70 69 78 65 6c 20 |automatic pixel | 0000c620 73 69 7a 65 20 63 6f 72 72 65 63 74 69 6f 6e 20 |size correction | 0000c630 66 6f 72 20 69 6e 70 75 74 20 70 69 78 65 6c 73 |for input pixels| 0000c640 20 6f 6e 6c 79 0a 2d 6e 6f 64 69 74 68 65 72 20 | only.-nodither | 0000c650 64 69 73 61 62 6c 65 20 64 69 74 68 65 72 69 6e |disable ditherin| 0000c660 67 0a 2d 6e 6f 6d 6f 64 65 20 20 20 64 6f 6e 27 |g.-nomode don'| 0000c670 74 20 63 68 61 6e 67 65 20 74 6f 20 6d 6f 64 65 |t change to mode| 0000c680 20 30 20 77 68 69 6c 65 20 70 72 6f 63 65 73 73 | 0 while process| 0000c690 69 6e 67 20 74 68 65 20 70 69 63 74 75 72 65 0a |ing the picture.| 0000c6a0 2d 69 6e 76 65 72 74 20 20 20 69 6e 76 65 72 74 |-invert invert| 0000c6b0 20 63 6f 6c 6f 75 72 20 72 61 6e 67 65 20 6f 66 | colour range of| 0000c6c0 20 69 6d 61 67 65 0a 0a 2d 72 61 6e 67 65 20 20 | image..-range | 0000c6d0 20 20 65 78 70 61 6e 64 20 69 6e 70 75 74 27 73 | expand input's| 0000c6e0 20 64 79 6e 61 6d 69 63 20 72 61 6e 67 65 20 74 | dynamic range t| 0000c6f0 6f 20 66 75 6c 6c 20 73 63 61 6c 65 0a 2d 65 71 |o full scale.-eq| 0000c700 75 61 6c 20 20 20 20 68 69 73 74 6f 67 72 61 6d |ual histogram| 0000c710 20 65 71 75 61 6c 69 73 61 74 69 6f 6e 0a 2d 73 | equalisation.-s| 0000c720 68 61 72 70 65 6e 20 20 64 69 67 69 74 61 6c 6c |harpen digitall| 0000c730 79 20 73 68 61 72 70 65 6e 20 74 68 65 20 70 69 |y sharpen the pi| 0000c740 63 74 75 72 65 0a 2d 73 6d 6f 6f 74 68 20 20 20 |cture.-smooth | 0000c750 64 69 67 69 74 61 6c 6c 79 20 73 6d 6f 6f 74 68 |digitally smooth| 0000c760 20 74 68 65 20 70 69 63 74 75 72 65 0a 0a 2d 67 | the picture..-g| 0000c770 61 6d 6d 61 20 20 20 20 73 65 74 20 67 61 6d 6d |amma set gamm| 0000c780 61 20 63 6f 72 72 65 63 74 69 6f 6e 0a 2d 62 6c |a correction.-bl| 0000c790 61 63 6b 20 20 20 20 63 6f 72 72 65 63 74 20 66 |ack correct f| 0000c7a0 6f 72 20 62 6c 61 63 6b 20 69 6e 6b 20 73 70 6f |or black ink spo| 0000c7b0 74 20 73 69 7a 65 0a 2d 72 65 64 20 20 20 20 20 |t size.-red | 0000c7c0 20 63 68 61 6e 67 65 20 72 65 64 20 77 65 69 67 | change red weig| 0000c7d0 68 74 20 66 6f 72 20 64 65 72 69 76 69 6e 67 20 |ht for deriving | 0000c7e0 6d 6f 6e 6f 63 68 72 6f 6d 65 20 6c 75 6d 69 6e |monochrome lumin| 0000c7f0 61 6e 63 65 0a 2d 67 72 65 65 6e 20 20 20 20 63 |ance.-green c| 0000c800 68 61 6e 67 65 20 67 72 65 65 6e 20 77 65 69 67 |hange green weig| 0000c810 68 74 20 66 6f 72 20 64 65 72 69 76 69 6e 67 20 |ht for deriving | 0000c820 6d 6f 6e 6f 63 68 72 6f 6d 65 20 6c 75 6d 69 6e |monochrome lumin| 0000c830 61 6e 63 65 0a 2d 62 6c 75 65 20 20 20 20 20 63 |ance.-blue c| 0000c840 68 61 6e 67 65 20 62 6c 75 65 20 77 65 69 67 68 |hange blue weigh| 0000c850 74 20 66 6f 72 20 64 65 72 69 76 69 6e 67 20 6d |t for deriving m| 0000c860 6f 6e 6f 63 68 72 6f 6d 65 20 6c 75 6d 69 6e 61 |onochrome lumina| 0000c870 6e 63 65 0a 0a 2d 62 72 69 67 68 74 65 6e 20 68 |nce..-brighten h| 0000c880 6f 72 72 65 6e 64 6f 75 73 20 68 61 63 6b 20 74 |orrendous hack t| 0000c890 6f 20 73 6c 69 67 68 74 6c 79 20 62 72 69 67 68 |o slightly brigh| 0000c8a0 74 65 6e 20 69 6d 61 67 65 73 3a 20 6d 61 79 20 |ten images: may | 0000c8b0 63 6f 6e 76 65 72 74 20 68 75 65 73 0a 20 20 20 |convert hues. | 0000c8c0 20 20 20 20 20 20 20 63 6c 6f 73 65 20 74 6f 20 | close to | 0000c8d0 77 68 69 74 65 20 74 6f 20 77 68 69 74 65 2e 20 |white to white. | 0000c8e0 28 49 74 20 63 61 75 73 65 73 20 74 68 65 20 6f |(It causes the o| 0000c8f0 75 74 70 75 74 20 72 61 6e 67 65 20 30 2e 2e 31 |utput range 0..1| 0000c900 35 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 62 |5 to. b| 0000c910 65 20 63 6f 6e 73 69 64 65 72 65 64 20 61 73 20 |e considered as | 0000c920 30 2e 2e 28 31 35 2f 31 36 29 20 69 6e 73 74 65 |0..(15/16) inste| 0000c930 61 64 20 6f 66 20 30 2e 2e 28 31 35 2f 31 35 29 |ad of 0..(15/15)| 0000c940 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 |)... | 0000c950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d | M| 0000c960 6f 64 65 20 53 75 66 66 69 78 65 73 0a 20 20 20 |ode Suffixes. | 0000c970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 0000c980 20 20 20 20 20 20 20 20 3d 3d 3d 3d 3d 3d 3d 3d | ========| 0000c990 3d 3d 3d 3d 3d 0a 0a 63 0a 20 20 31 20 62 69 74 |=====..c. 1 bit| 0000c9a0 20 6d 6f 64 65 73 3a 20 75 73 65 20 63 6c 75 73 | modes: use clus| 0000c9b0 74 65 72 65 64 20 64 69 74 68 65 72 69 6e 67 20 |tered dithering | 0000c9c0 77 69 74 68 20 34 78 34 20 63 65 6c 6c 0a 20 20 |with 4x4 cell. | 0000c9d0 32 20 62 69 74 20 6d 6f 64 65 73 3a 20 75 73 65 |2 bit modes: use| 0000c9e0 20 74 68 65 20 66 6f 75 72 20 63 6f 6c 6f 75 72 | the four colour| 0000c9f0 73 20 22 62 6c 61 63 6b 22 2c 20 22 63 79 61 6e |s "black", "cyan| 0000ca00 22 2c 20 22 6d 61 67 65 6e 74 61 22 20 61 6e 64 |", "magenta" and| 0000ca10 20 22 79 65 6c 6c 6f 77 22 0a 64 0a 20 20 31 20 | "yellow".d. 1 | 0000ca20 62 69 74 20 6d 6f 64 65 73 3a 20 75 73 65 20 63 |bit modes: use c| 0000ca30 6c 75 73 74 65 72 65 64 20 64 69 74 68 65 72 69 |lustered ditheri| 0000ca40 6e 67 20 77 69 74 68 20 32 78 32 20 63 65 6c 6c |ng with 2x2 cell| 0000ca50 0a 20 20 34 20 62 69 74 20 6d 6f 64 65 73 3a 20 |. 4 bit modes: | 0000ca60 75 73 65 20 31 20 62 69 74 20 72 65 64 2c 20 31 |use 1 bit red, 1| 0000ca70 20 62 69 74 20 67 72 65 65 6e 2c 20 31 20 62 69 | bit green, 1 bi| 0000ca80 74 20 62 6c 75 65 0a 20 20 38 20 62 69 74 20 6d |t blue. 8 bit m| 0000ca90 6f 64 65 73 3a 20 75 73 65 20 32 35 36 20 6c 65 |odes: use 256 le| 0000caa0 76 65 6c 20 67 72 65 79 20 73 63 61 6c 65 0a 74 |vel grey scale.t| 0000cab0 0a 20 20 31 20 62 69 74 20 6d 6f 64 65 73 3a 20 |. 1 bit modes: | 0000cac0 75 73 65 20 63 6c 75 73 74 65 72 65 64 20 64 69 |use clustered di| 0000cad0 74 68 65 72 69 6e 67 20 77 69 74 68 20 33 78 33 |thering with 3x3| 0000cae0 20 63 65 6c 6c 0a 20 20 34 20 62 69 74 20 6d 6f | cell. 4 bit mo| 0000caf0 64 65 73 3a 20 31 36 20 6c 65 76 65 6c 20 67 72 |des: 16 level gr| 0000cb00 65 79 20 73 63 61 6c 65 0a 72 0a 20 20 32 20 62 |ey scale.r. 2 b| 0000cb10 69 74 20 6d 6f 64 65 73 3a 20 44 65 76 69 6f 75 |it modes: Deviou| 0000cb20 73 20 63 6f 6c 6f 75 72 20 6d 61 74 63 68 69 6e |s colour matchin| 0000cb30 67 20 61 6c 67 6f 72 69 74 68 6d 0a 20 20 34 20 |g algorithm. 4 | 0000cb40 62 69 74 20 6d 6f 64 65 73 3a 20 44 65 76 69 6f |bit modes: Devio| 0000cb50 75 73 20 63 6f 6c 6f 75 72 20 6d 61 74 63 68 69 |us colour matchi| 0000cb60 6e 67 20 61 6c 67 6f 72 69 74 68 6d 0a 20 20 38 |ng algorithm. 8| 0000cb70 20 62 69 74 20 6d 6f 64 65 73 3a 20 44 65 76 69 | bit modes: Devi| 0000cb80 6f 75 73 20 63 6f 6c 6f 75 72 20 6d 61 74 63 68 |ous colour match| 0000cb90 69 6e 67 20 61 6c 67 6f 72 69 74 68 6d 0a 2d 6e |ing algorithm.-n| 0000cba0 6f 20 73 75 66 66 69 78 2d 0a 20 20 31 20 62 69 |o suffix-. 1 bi| 0000cbb0 74 20 6d 6f 64 65 73 3a 20 62 2f 77 20 64 69 73 |t modes: b/w dis| 0000cbc0 70 65 72 73 65 64 20 64 6f 74 20 64 69 74 68 65 |persed dot dithe| 0000cbd0 72 69 6e 67 0a 20 20 32 20 62 69 74 20 6d 6f 64 |ring. 2 bit mod| 0000cbe0 65 73 3a 20 34 20 6c 65 76 65 6c 20 67 72 65 79 |es: 4 level grey| 0000cbf0 20 73 63 61 6c 65 0a 20 20 34 20 62 69 74 20 6d | scale. 4 bit m| 0000cc00 6f 64 65 73 3a 20 38 20 6c 65 76 65 6c 20 67 72 |odes: 8 level gr| 0000cc10 65 79 20 73 63 61 6c 65 0a 20 20 38 20 62 69 74 |ey scale. 8 bit| 0000cc20 20 6d 6f 64 65 73 3a 20 4a 6f 68 6e 20 42 6f 77 | modes: John Bow| 0000cc30 6c 65 72 27 73 20 63 6f 6c 6f 75 72 20 6d 61 74 |ler's colour mat| 0000cc40 63 68 69 6e 67 20 61 6c 67 6f 72 69 74 68 6d 0a |ching algorithm.| 0000cc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | (| 0000cc60 64 65 66 61 75 6c 74 73 20 74 6f 20 27 72 27 20 |defaults to 'r' | 0000cc70 6d 6f 64 65 20 69 66 20 6e 6f 74 20 56 49 44 43 |mode if not VIDC| 0000cc80 31 20 63 6f 6d 70 61 74 69 62 6c 65 29 0a 0a 43 |1 compatible)..C| 0000cc90 6f 6c 6f 75 72 20 6d 61 74 63 68 69 6e 67 20 69 |olour matching i| 0000cca0 73 20 64 6f 6e 65 20 69 6e 20 72 2c 20 67 2c 20 |s done in r, g, | 0000ccb0 62 20 73 70 61 63 65 3a 20 74 68 65 20 6d 69 6e |b space: the min| 0000ccc0 69 6d 75 6d 20 64 69 73 74 61 6e 63 65 20 62 65 |imum distance be| 0000ccd0 74 77 65 65 6e 20 63 6f 6c 6f 75 72 73 0a 69 73 |tween colours.is| 0000cce0 20 74 68 65 20 73 71 75 61 72 65 20 72 6f 6f 74 | the square root| 0000ccf0 20 6f 66 3a 0a 20 20 20 64 65 6c 74 61 5f 72 5e | of:. delta_r^| 0000cd00 32 2a 72 6d 61 74 63 68 77 74 2b 64 65 6c 74 61 |2*rmatchwt+delta| 0000cd10 5f 67 5e 32 2a 67 6d 61 74 63 68 77 74 2b 64 65 |_g^2*gmatchwt+de| 0000cd20 6c 74 61 5f 62 5e 32 2a 62 6d 61 74 63 68 77 74 |lta_b^2*bmatchwt| 0000cd30 0a 43 68 61 6e 67 65 46 53 49 20 68 61 73 20 68 |.ChangeFSI has h| 0000cd40 61 72 64 20 77 69 72 65 64 20 77 65 69 67 68 74 |ard wired weight| 0000cd50 73 20 6f 66 20 33 2c 20 31 30 2c 20 31 20 72 65 |s of 3, 10, 1 re| 0000cd60 73 70 65 63 74 69 76 65 6c 79 20 66 6f 72 20 69 |spectively for i| 0000cd70 74 73 20 63 6f 6c 6f 75 72 0a 6d 61 74 63 68 69 |ts colour.matchi| 0000cd80 6e 67 20 61 6c 67 6f 72 69 74 68 6d 73 2e 20 4a |ng algorithms. J| 0000cd90 6f 68 6e 20 42 6f 77 6c 65 72 27 73 20 61 6c 67 |ohn Bowler's alg| 0000cda0 6f 72 69 74 68 6d 20 28 64 65 66 61 75 6c 74 20 |orithm (default | 0000cdb0 66 6f 72 20 52 49 53 43 20 4f 53 20 38 20 62 69 |for RISC OS 8 bi| 0000cdc0 74 20 6d 6f 64 65 73 29 0a 61 6c 74 68 6f 75 67 |t modes).althoug| 0000cdd0 68 20 73 6f 6d 65 77 68 61 74 20 73 6c 6f 77 65 |h somewhat slowe| 0000cde0 72 2c 20 69 73 20 66 61 73 74 20 65 6e 6f 75 67 |r, is fast enoug| 0000cdf0 68 20 74 6f 20 68 61 76 65 20 72 65 70 6c 61 63 |h to have replac| 0000ce00 65 64 20 61 6c 6c 20 74 68 65 20 70 72 65 76 69 |ed all the previ| 0000ce10 6f 75 73 0a 6d 65 74 68 6f 64 73 20 5b 41 53 49 |ous.methods [ASI| 0000ce20 44 45 20 69 74 20 67 69 76 65 73 20 70 69 63 74 |DE it gives pict| 0000ce30 75 72 65 73 20 61 74 20 6c 65 61 73 74 20 61 73 |ures at least as| 0000ce40 20 67 6f 6f 64 20 61 73 20 22 70 22 20 6d 6f 64 | good as "p" mod| 0000ce50 65 20 69 6e 20 70 72 65 20 41 75 67 20 39 31 0a |e in pre Aug 91.| 0000ce60 43 68 61 6e 67 65 46 53 49 27 73 5d 2e 20 54 68 |ChangeFSI's]. Th| 0000ce70 65 20 44 65 76 69 6f 75 73 20 63 6f 6c 6f 75 72 |e Devious colour| 0000ce80 20 6d 61 74 63 68 69 6e 67 20 61 6c 67 6f 72 69 | matching algori| 0000ce90 74 68 6d 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 |thm is recommend| 0000cea0 65 64 2c 20 61 6e 64 20 69 73 0a 75 73 65 64 20 |ed, and is.used | 0000ceb0 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 69 66 |automatically if| 0000cec0 20 74 68 65 20 38 20 62 69 74 20 70 65 72 20 70 | the 8 bit per p| 0000ced0 69 78 65 6c 20 6d 6f 64 65 20 64 6f 65 73 20 6e |ixel mode does n| 0000cee0 6f 74 20 68 61 76 65 20 74 68 65 20 64 65 66 61 |ot have the defa| 0000cef0 75 6c 74 20 52 49 53 43 0a 4f 53 20 63 6f 6c 6f |ult RISC.OS colo| 0000cf00 75 72 20 73 65 74 2e 0a 0a 5b 4e 4f 54 45 3a 20 |ur set...[NOTE: | 0000cf10 74 68 61 6e 6b 73 20 61 72 65 20 64 75 65 20 74 |thanks are due t| 0000cf20 6f 20 53 74 65 76 65 20 47 72 65 65 6e 20 61 6e |o Steve Green an| 0000cf30 64 20 74 68 65 20 42 42 43 20 61 6e 64 20 49 72 |d the BBC and Ir| 0000cf40 6c 61 6d 20 49 6e 73 74 72 75 6d 65 6e 74 73 20 |lam Instruments | 0000cf50 66 6f 72 0a 74 68 65 20 69 6e 74 65 72 6d 65 64 |for.the intermed| 0000cf60 69 61 74 65 20 73 79 73 74 65 6d 73 20 74 68 61 |iate systems tha| 0000cf70 74 20 6c 65 64 20 74 6f 20 4a 6f 68 6e 20 42 6f |t led to John Bo| 0000cf80 77 6c 65 72 27 73 20 61 6e 64 20 74 68 65 20 44 |wler's and the D| 0000cf90 65 76 69 6f 75 73 0a 61 6c 67 6f 72 69 74 68 6d |evious.algorithm| 0000cfa0 73 3a 20 75 6e 74 69 6c 20 41 75 67 20 39 31 20 |s: until Aug 91 | 0000cfb0 43 68 61 6e 67 65 46 53 49 20 75 73 65 64 20 74 |ChangeFSI used t| 0000cfc0 68 65 69 72 20 77 6f 72 6b 20 66 6f 72 20 69 74 |heir work for it| 0000cfd0 73 20 22 50 72 65 63 69 73 65 0a 4d 61 74 63 68 |s "Precise.Match| 0000cfe0 69 6e 67 22 20 61 6c 67 6f 72 69 74 68 6d 2e 20 |ing" algorithm. | 0000cff0 49 74 20 6e 6f 20 6c 6f 6e 67 65 72 20 75 73 65 |It no longer use| 0000d000 73 20 61 6e 79 20 6f 66 20 74 68 65 69 72 20 63 |s any of their c| 0000d010 6f 64 65 2c 20 62 75 74 20 6f 77 65 73 20 61 20 |ode, but owes a | 0000d020 64 65 62 74 0a 66 6f 72 20 6f 76 65 72 61 6c 6c |debt.for overall| 0000d030 20 61 70 70 72 6f 61 63 68 2e 20 41 20 73 6d 61 | approach. A sma| 0000d040 6c 6c 20 74 68 61 6e 6b 20 79 6f 75 20 74 6f 20 |ll thank you to | 0000d050 53 70 65 6e 63 65 72 20 54 68 6f 6d 61 73 20 66 |Spencer Thomas f| 0000d060 6f 72 20 70 75 74 74 69 6e 67 20 6d 65 20 6f 6e |or putting me on| 0000d070 0a 74 68 65 20 74 72 61 63 6b 20 77 68 69 63 68 |.the track which| 0000d080 20 6c 65 64 20 74 6f 20 74 68 65 20 44 65 76 69 | led to the Devi| 0000d090 6f 75 73 20 63 6f 6c 6f 75 72 20 6d 61 74 63 68 |ous colour match| 0000d0a0 69 6e 67 20 73 79 73 74 65 6d 27 73 20 61 6c 67 |ing system's alg| 0000d0b0 6f 72 69 74 68 6d 2e 5d 0a 0a 46 75 72 74 68 65 |orithm.]..Furthe| 0000d0c0 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e |r information on| 0000d0d0 20 64 69 74 68 65 72 69 6e 67 20 63 61 6e 20 62 | dithering can b| 0000d0e0 65 20 66 6f 75 6e 64 20 69 6e 20 22 44 69 67 69 |e found in "Digi| 0000d0f0 74 61 6c 20 48 61 6c 66 74 6f 6e 69 6e 67 22 20 |tal Halftoning" | 0000d100 62 79 20 52 6f 62 65 72 74 0a 55 6c 69 63 68 6e |by Robert.Ulichn| 0000d110 65 79 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 |ey published by | 0000d120 74 68 65 20 4d 49 54 20 50 72 65 73 73 2c 20 49 |the MIT Press, I| 0000d130 53 42 4e 20 30 2d 32 36 32 2d 32 31 30 30 39 2d |SBN 0-262-21009-| 0000d140 36 2e 20 41 20 62 6f 6f 6b 20 77 68 69 63 68 20 |6. A book which | 0000d150 77 6f 75 6c 64 20 68 61 76 65 0a 62 65 65 6e 20 |would have.been | 0000d160 75 73 65 66 75 6c 20 77 68 65 6e 20 73 74 61 72 |useful when star| 0000d170 74 69 6e 67 20 77 72 69 74 69 6e 67 20 74 68 65 |ting writing the| 0000d180 20 70 72 6f 67 72 61 6d 2c 20 72 61 74 68 65 72 | program, rather| 0000d190 20 74 68 61 6e 20 61 66 74 65 72 20 69 74 20 77 | than after it w| 0000d1a0 61 73 20 6e 65 61 72 6c 79 0a 66 69 6e 69 73 68 |as nearly.finish| 0000d1b0 65 64 21 20 48 69 73 74 6f 67 72 61 6d 20 65 71 |ed! Histogram eq| 0000d1c0 75 61 6c 69 73 61 74 69 6f 6e 20 69 73 20 69 6e |ualisation is in| 0000d1d0 20 22 41 6c 67 6f 72 69 74 68 6d 73 20 66 6f 72 | "Algorithms for| 0000d1e0 20 47 72 61 70 68 69 63 73 20 61 6e 64 20 49 6d | Graphics and Im| 0000d1f0 61 67 65 0a 50 72 6f 63 65 73 73 69 6e 67 22 20 |age.Processing" | 0000d200 62 79 20 54 68 65 6f 20 50 61 76 6c 69 64 69 73 |by Theo Pavlidis| 0000d210 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 43 6f | published by Co| 0000d220 6d 70 75 74 65 72 20 53 63 69 65 6e 63 65 20 50 |mputer Science P| 0000d230 72 65 73 73 2c 20 49 53 42 4e 0a 30 2d 39 31 34 |ress, ISBN.0-914| 0000d240 38 39 34 2d 36 35 2d 58 2e 0a |894-65-X..| 0000d24a