home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / graphics / gif2rpc_1 / !Help next >
Text File  |  1996-01-21  |  23KB  |  875 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.                        db    od8o.o8bo
  9.                        88[  ]8[]P8` 88[                         
  10.                        YP   88[ Y8  ]88                         
  11.                             88[  P` ]88                         
  12.                o88bodboo8 .o88bo    d8[ .od,o8[.odbo88o   .d88o 
  13.               ]8[ 88,""88   88[    .8P  "888"88'Y88`'88, .8P ]8[
  14.               Y8[ 88`  88   88[    d8    88P '  ]8[  Y8b 88[  " 
  15.               '8bo8P   88   88[   .8`    88[    ]8[  ]88 88[    
  16.               .d""`    88   88[  .8`     88[    ]8[  88[ Y8[  .,
  17.               ]8oooo,.o88b.o88bo.888888 o88bo   ]88bd88  '88oo8 
  18.               '888888 """" """"` """""P '"""`   ]8['""     """  
  19.               .  """8                           ]8[             
  20.               8[   .8                           ]8b             
  21.               '88o8P`                          ]8888            
  22.              
  23.         
  24.         
  25.                   A freeware GIF™ -> RISC O S sprite converter
  26.         
  27.                      By Cy Booker <cy@cheepnis.demon.co.uk>
  28.  
  29.                            Version 1.02 21-Jan-1996
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  ================================================================ gif2rpc ==== 
  67.  
  68.  
  69.  
  70.  
  71.      [1]        Synopsis  . . . . . . . . . . . . . . . . . . . . .  1
  72.      [1.1]      License . . . . . . . . . . . . . . . . . . . . . .  1
  73.      [1.2]      Trademarks  . . . . . . . . . . . . . . . . . . . .  2
  74.      [2]        How to use  . . . . . . . . . . . . . . . . . . . .  2
  75.      [2.1]      How to use with ArcWeb  . . . . . . . . . . . . . .  2
  76.      [2.2]      How to use with Webster . . . . . . . . . . . . . .  3
  77.      [2.3]      Command line parameters . . . . . . . . . . . . . .  3
  78.      [2.4]      Default options: gif2rpc$options  . . . . . . . . .  8
  79.      [3]        Output image format . . . . . . . . . . . . . . . .  9
  80.      [4]        Why use gif2rpc . . . . . . . . . . . . . . . . . . 10
  81.      [4.1]      Speed comparisons . . . . . . . . . . . . . . . . . 10
  82.      [5]        Error codes . . . . . . . . . . . . . . . . . . . . 11
  83.      [6]        History . . . . . . . . . . . . . . . . . . . . . . 12
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  ================================================================ gif2rpc ====
  131.  
  132.  
  133.  
  134.  [1] Synopsis
  135.  
  136.  
  137.         gif2rpc is a program for RISC O S (>= 3.10) that converts
  138.         GIF image files to native sprite files.
  139.         
  140.         A GIF file is a 2…256 colour image, with an associated
  141.         24-bit palette and an optional “transparency” mask.
  142.  
  143.         This program was written mainly to allow the generation of
  144.         32K colour images that look as good as they can.  This is
  145.         because, despite what you intuitively feel, a 256 colour
  146.         image displayed on a 32K colour screen does *not* look that
  147.         good.
  148.  
  149.         [I mainly browse the World Wide Web in a 32K colour screen,
  150.         and am generally disappointed with the way GIFs are
  151.         displayed, and so wrote this program that provides a very
  152.         good conversion of GIFs to 32K colour modes.]
  153.  
  154.         Since then it has extended to be a general image processing
  155.         program.
  156.  
  157.         Note that gif2rpc is extremely lenient towards malformed
  158.         GIF's (ie it won't crash if fed garbage).
  159.  
  160.  
  161.  
  162.  [1.1] License
  163.  
  164.         This software comes with NO WARANTEE.  It is distributed in
  165.         the hope that it's useful.  The author will not be liable
  166.         for any incurred damages, directly or indirectly due to the
  167.         use or inability to use this software.
  168.  
  169.         It is FreeWare, and remains the copyright of the author.
  170.         Portions of this code are copyright Stephen A. Bennet:
  171.  
  172.         * DECODE.C - An LZW decoder for GIF
  173.         * Copyright (C) 1987, by Steven A. Bennett
  174.         *
  175.         * Permission is given by the author to freely redistribute
  176.         * and include this code in any program as long as this
  177.         * credit is given where due.
  178.  
  179.         The code to match a colour to the default wimp palette is
  180.         based on a UseNet article:
  181.  
  182.                 Message-ID: <12463@acorn.co.uk>
  183.                 Date:       30 Jan 92 12:20:23 GMT
  184.                 From:       RWilson@acorn.co.uk
  185.                 Subject:    How to find the closest colour out of
  186.                             the RISC OS 256
  187.  
  188.  
  189.  
  190.  
  191.  
  192.                                   Page   1
  193.  
  194.  ================================================================ gif2rpc ====
  195.  
  196.  
  197.  
  198.  [1.2] Trademarks
  199.  
  200.         GIF is a trademark of Compuserve Inc.
  201.  
  202.  
  203.  
  204.  [2] How to use
  205.  
  206.  
  207.         gif2rpc is a command line utility.  It takes quite a few
  208.         parameters, but basic usage is:
  209.  
  210.            gif2rpc <in> <out>
  211.  
  212.         If you would like a logfile of any errors that are
  213.         encountered then append “ >>& logfile” to the command
  214.         line, or use the -log parameter.
  215.  
  216.         Note that if you have he DDEutils module then gif2rpc will
  217.         take advantage of the new facility for long command lines.
  218.  
  219.  
  220.  
  221.  [2.1] How to use with ArcWeb
  222.  
  223.  
  224.         This applies to ArcWeb 1.14.  First open the Browser
  225.         configuration window, and enable the “GIF87 handled by
  226.         gif2spr” option.  Select OK.  Don't forget to choose the
  227.         menu item “Configure->Save options”!
  228.  
  229.         Next make a back up copy of the file “!ArcWeb.gif2spr”.
  230.  
  231.         Finally copy these files:
  232.  
  233.                 gif2rpc         -> !ArcWeb.gif2rpc
  234.                 WWW.gif2spr     -> !ArcWeb.gif2spr
  235.                 WWW.gif2rpcFE   -> !ArcWeb.gif2rpcFE
  236.  
  237.         And that is that.
  238.  
  239.         You may wish to modify the (new) “!ArcWeb.gif2spr” file to
  240.         change the initialisation of the system variable
  241.         “gif2rpc$options”.
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.                                   Page   2
  257.  
  258.  ================================================================ gif2rpc ====
  259.  
  260.  
  261.         
  262.  [2.2] How to use with Webster
  263.  
  264.  
  265.         This applies to Webster v0.11.  First open the Choices
  266.         dialogue box, and select the “Inlne Viewers” tab.  Ensure
  267.         that the “GIF Decoder” value is left at the default of
  268.         “<Webster$Dir>.gif2spr -q %0 %1”.  Click the Save button.
  269.  
  270.         Next make a back up copy of the file “!Webster.gif2spr”.
  271.  
  272.         Finally copy the *contents* of the WWW directory into the
  273.         !Webster directory, i.e. creating the three files:
  274.  
  275.                 gif2rpc         -> !Webster.gif2rpc
  276.                 WWW.gif2spr     -> !Webster.gif2spr
  277.                 WWW.gif2rpcFE   -> !Webster.gif2rpcFE
  278.  
  279.         And that is that.
  280.  
  281.         You may wish to modify the (new) “!Webster.gif2spr” file to
  282.         change the initialisation of the system variable
  283.         “gif2rpc$options”.
  284.  
  285.  
  286.  
  287.  [2.3] Command line parameters
  288.  
  289.  
  290.         Here are all the parameters:
  291.  
  292.            [-gif] <file-name>
  293.                 this is the name of the GIF file.  It does not
  294.                 need to be type’d as a TIFF file, as this program
  295.                 will verify that the file is in GIF format
  296.  
  297.  
  298.            [-sprite] <file-name>
  299.                 this will be the file that is produced, containing
  300.                 the single sprite representing the original GIF
  301.                 image
  302.            [-help]
  303.                 produce some terse help on these parameters
  304.         
  305.  
  306.            [-verbose <n>]
  307.                 by default <n> is 0, which disables all text
  308.                 output while the GIF file is being read and
  309.                 processed.  By setting <n> to 1, then some basic
  310.                 information is displayed.  This can be redirected
  311.                 to a file by appending “> file” to the command
  312.                 line.  By setting <n> to 2 then rather more
  313.                 information is displayed
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.                                   Page   3
  321.  
  322.  ================================================================ gif2rpc ====
  323.  
  324.  
  325.         
  326.            [-quiet]
  327.                 by default, if gif2rpc detects an error in the
  328.                 input GIF, then it will first display a textual
  329.                 message saying where and what failed, then attempt
  330.                 to continue (but see -fussy).  This message can be
  331.                 redirected to a a file by appending “2> file” to
  332.                 the command line, or using -log (below).  For a
  333.                 list of the error messages, see below
  334.  
  335.  
  336.            [-hourglass]
  337.                 because some GIFs are big, they take a long time
  338.                 to process (even on an ARM 700).  Therefore you
  339.                 may tell gif2rpc to use the “hourglass” to
  340.                 give some visual feedback over how far it has got
  341.                 in processing the GIF.  The percentage indicator
  342.                 is used to show how much of the image has already
  343.                 been decoded
  344.  
  345.                 After decoding, while the image is processed the
  346.                 percentage counts DOWN from 100% to 0%.  This is
  347.                 an arbitrary aesthetic decision
  348.  
  349.  
  350.             [-name <text>]
  351.                 by default the image saved in the -sprite
  352.                 file-name will be “gif2rpc”.  If this offends
  353.                 you then you can rename it.  Note that names of
  354.                 sprites must be lower case.  gif2rpc enforces this
  355.                 by using the current locale’s idea of lower case.
  356.                 Also note that sprite names are limited to twelve
  357.                 characters.  See also -autoname
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.                                   Page   4
  385.  
  386.  ================================================================ gif2rpc ====
  387.  
  388.  
  389.         
  390.              [-bpp <n>]
  391.                 bpp stands for bits per pixel.  This parameter
  392.                 determines what sort of sprite image gif2rpc will
  393.                 try to produce.  It takes the following values
  394.  
  395.  
  396.                     0   use GIF’s palette to produce 1/2/4/8 bpp
  397.                         image.  No image processing is done
  398.  
  399.                     1   produce a monochrome black/white image
  400.  
  401.                     2   produce a four colour image, using
  402.                         default wimp palette (a grey scale)
  403.  
  404.                     4   produce a 16 colour image, using the
  405.                         default wimp palette
  406.  
  407.                     8   produce a 256 colour image, using the
  408.                         default wimp palette
  409.         
  410.                     16  produce a 32K colour image, with a fixed
  411.                         palette
  412.         
  413.                     32  produce a 16M colour image
  414.  
  415.                     -1  (this is the good one) it uses the current
  416.                         screen display to determine whether it
  417.                         will produce a 2, 4, 16, 256, 32K, or 16M
  418.                         colour image
  419.                         also, the current screen palette is used
  420.  
  421.                 the default value is -1
  422.  
  423.  
  424.              [-accurate]
  425.                 when generating a 256 colour image, this will force
  426.                 the use of a more accurate colour matching
  427.                 algorithm that runs about 3-4 times slower
  428.  
  429.  
  430.              [-force_66]
  431.                 when generating a 32K colour image, this will force
  432.                 the use of routines that use an internal resolution
  433.                 of 22 bits per red/green/blue.  Normally only 16
  434.                 bits are used.  These 66 bit routines are slower
  435.  
  436.  
  437.              [-square]
  438.                 a GIF file can specify an aspect ratio for an
  439.                 image.  If a 32K or 16M colour image is produced
  440.                 then, by default, this aspect ratio information
  441.                 is embedded in the sprite.  For <= 256 colour
  442.                 images it is not possible for RISC O S to be told
  443.                 of the aspect ratio.  Using this switch will
  444.                 disable embedding this aspect ratio information
  445.  
  446.  
  447.  
  448.                                   Page   5
  449.  
  450.  ================================================================ gif2rpc ====
  451.  
  452.  
  453.         
  454.              [-autoname]
  455.                 the sprite in the spritefile can be give a name
  456.                 derived from the input GIF file with this option
  457.  
  458.  
  459.              [stats]
  460.                 this will output a single text line to show how
  461.                 well (in terms of size) the conversion done,
  462.                 relative to keeping the 256 colour image
  463.  
  464.                 The fields are
  465.                         "gif2rpc "
  466.                         "%s"    input file name
  467.                         "("
  468.                         "%4d"   horizontal pixel size
  469.                         "x"
  470.                         "%4d"   vertical pixel size
  471.                         ":"
  472.                         "%d"    input bits per pixel
  473.                         "p"     [if palette in screen]
  474.                         "s"     [if palette is sorted]
  475.                         "."
  476.                         "i"     [if interlaced]
  477.                         "p"     [if palette in image]
  478.                         "s"     [if palette is sorted]
  479.                         "t"     [if transparent]
  480.                         ") -> "
  481.                         "%s"    output file name
  482.                         "("
  483.                         "%s"    output colours
  484.                         ") "
  485.                         "%d"    output size - gif2rpc output size
  486.                         " "
  487.                         "%f"    total duration, in seconds
  488.                         " "
  489.                         "%f"    percentage time spent filtering
  490.                         " "
  491.                         "%s"    filter used
  492.  
  493.  
  494.              [-log <file>]
  495.                 if present, this overrides any command line re-
  496.                 direction of stdout and stderr
  497.  
  498.  
  499.              [-fussy]
  500.                 by default gif2rpc will allow several mistakes in
  501.                 a GIF file, and silently (if -quiet) ignore them.
  502.                 With -fussy, these errors will cause conversion
  503.                 to fail, and no sprite to be produced
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.                                   Page   6
  513.  
  514.  ================================================================ gif2rpc ====
  515.  
  516.  
  517.  
  518.              [-filter <name>]
  519.                 If -bpp is not 0 then gif2rpc will process the
  520.                 image to produce a sprite.  These are the
  521.                 algorithms it will use (these are listed fastest
  522.                 to slowest)
  523.  
  524.                 nearest:
  525.                         you do *not* want this.  It is crap
  526.  
  527.                 dither2x2:
  528.                         strongly recommended.  It is only slightly
  529.                         slower than nearest, and produces good
  530.                         images (if >= 256 colours)
  531.  
  532.                 sierra2_4a:
  533.                         very good, very fast.  Personally, I think
  534.                         it looks better than floyd-steinberg
  535.  
  536.                 floyd_steinberg:
  537.                         as used by ChangeFSI.  An old favourite
  538.  
  539.                 burkes:
  540.                         a 2-line filter as per floyd_steinberg,
  541.                         where the coefficients are quick to
  542.                         calculate
  543.  
  544.                 sierra2:
  545.                         very similar to burkes, but poor quality
  546.  
  547.                 sierra3:
  548.                         a 3-line filter
  549.  
  550.                 stucki:
  551.                         another 3-line filter, but slow to
  552.                         calculate
  553.  
  554.                 jarvis_judice_ninke:
  555.                         a 3-line filter which is very slow (22
  556.                         times slower than dither2x2).  It is
  557.                         questionable whether it produces better
  558.                         output
  559.  
  560.  
  561.  
  562.         Note that you can *not* use shortcuts for the switches (ie
  563.         -v is not acceptable, use -verbose).
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.                                   Page   7
  577.  
  578.  ================================================================ gif2rpc ====
  579.  
  580.  
  581.  
  582.  [2.4] Default options: gif2rpc$options
  583.  
  584.         If the system variable “gif2rpc$Options” is defined, then
  585.         it will be appended to any parameters given on the command
  586.         line.
  587.  
  588.         This is particularly useful when using the logging
  589.         facilities of the program.  For example, using
  590.  
  591.                 *Set gif2rpc$Options -stats -log $.log
  592.  
  593.         will cause all calls to gif2rpc to append statistics
  594.         information to the file “$.log”.
  595.  
  596.  
  597.  
  598.   2.5 Typical usage
  599.  
  600.  
  601.         For no-hassle usage use:
  602.  
  603.                 gif2rpc -quiet gif sprite
  604.  
  605.  
  606.         For some reasonable information then use something like:
  607.  
  608.                 gif2rpc -stats -log $.log gif sprite
  609.  
  610.         and the log file will be appended with any errors, and a
  611.         single line giving some statistics of the conversion
  612.  
  613.  
  614.         For “problem” gif's use:
  615.  
  616.                 gif2rpc -verbose 2 -fussy gif sprite
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.                                   Page   8
  641.  
  642.  ================================================================ gif2rpc ====
  643.         
  644.         
  645.         
  646.  [3] Output image format
  647.  
  648.  
  649.         You may think that -bpp 0 is the best option, as this will
  650.         generate a sprite that contains all the information in the
  651.         original GIF.
  652.  
  653.         But when you come to display that GIF, the OS has quite a
  654.         bit of work to do before it can plonk the data on the
  655.         screen.  The miriad of options provided by gif2rpc are
  656.         there to do a lot of this work once, and not every time
  657.         the GIF is displayed.
  658.  
  659.         The main processing that gif2rpc does is to remove any
  660.         explicit palette information, and alter the image so that
  661.         a default (RISC O S) palette is used.  This usually saves
  662.         2K per image:
  663.  
  664.                 Size      none         32K image    16M image
  665.                 8x8       2168            184          312
  666.                 16x16     2360            568         1080
  667.                 32x32     3128           2104         4152
  668.                 64x64     6200           8248        16440
  669.                 1024x4    6200           8248        16440
  670.         
  671.         
  672.         And with a transparency mask
  673.         
  674.                 Size      none        32K image    16M image
  675.                 8x8       2232            216          344
  676.                 16x16     2612            632         1144
  677.                 32x32     4152           2232         4280
  678.                 64x64    10296           8760        16952
  679.                 1024x4   10296           8760        16952
  680.  
  681.  
  682.         Note that the -stat file may be used to give statistics
  683.         about the file size (and savings) encountered.
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.                                   Page   9
  705.  
  706.  ================================================================ gif2rpc ====
  707.  
  708.  
  709.  
  710.  [4] Why use gif2rpc
  711.  
  712.  
  713.         There are two other programs out there that perform near
  714.         identical functions:
  715.         
  716.                 !ChangeFSI
  717.                         This program, unfortunately, does not seem
  718.                         to cope with “transparent” GIFs.  Since
  719.                         these are the norm, rather than the
  720.                         exception on the WWW, it is bad news
  721.         
  722.                 gif2spr
  723.                         This is a nice program, but has no support
  724.                         for generating 32K colour images
  725.         
  726.         You’d use gif2rpc if you usually view GIFs in 32K modes,
  727.         or would like to convert GIFs to 16M colour sprites.
  728.  
  729.         It’s logging facility, and fuller diagnostics of errors
  730.         may be useful to you.
  731.  
  732.         Also, its' ability to use other filter algorithms (faster
  733.         ones like dither2x2, or slower ones) can be very useful.
  734.  
  735.  
  736.  
  737.  [4.1] Speed comparisons
  738.  
  739.         As a test bed, a 128 colour 640x480 GIF was used.  It was
  740.         converted to a sprite 10 times, and a script recorded the
  741.         total time, accurate to +/- one second.  It was ran in a
  742.         32K screen mode (1024x768), and a 32K image was generated:
  743.  
  744.               ChangeFSI dithered      36     (S16,90,90)
  745.               gif2rpc floyd-steinberg 30     (-quiet, -bpp 16)
  746.               ChangeFSI simple        24     (S16,90,90, -nodither)
  747.               gif2spr                 11     (-q)
  748.               gif2rpc 2x2 dither      11     (-quiet, -bpp 16)
  749.  
  750.         For generating a 256 colour image in a 256 colour screen
  751.         mode (1600x1200):
  752.  
  753.               ChangeFSI dither slow   67     (28r)
  754.               ChangeFSI dither fast   59     (28)
  755.               ChangeFSI simple slow   52     (28r, -nodither)
  756.               ChangeFSI simple fast   46     (28, -nodither)
  757.               gif2spr                 11     (-q)
  758.               gif2rpc                  8     (-quiet, -bpp 8)
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.                                   Page  10
  769.  
  770.  ================================================================ gif2rpc ====
  771.  
  772.  
  773.  
  774.  [5] Error codes
  775.  
  776.         These are the error numbers that will be reported (unless
  777.         you use the -quiet option) if the GIF is found to be
  778.         corrupted:
  779.  
  780.  
  781.         10:     the start of the file was not a valid GIF header
  782.  
  783.         11:     invalid lzw table size (not in range [2, 9])
  784.  
  785.         12:     short file
  786.  
  787.         13:     unexpected record
  788.  
  789.         14:     corrupt graphic extension record size
  790.  
  791.         15:     there was no image in the file
  792.  
  793.         16:     image size invalid (pixel size less than one)
  794.  
  795.         17:     corrupt graphic extension record terminator
  796.  
  797.         18:     (internal error) processing mask
  798.  
  799.         19:     (internal error) processing image
  800.  
  801.         20:     no palette defined in screen or image
  802.  
  803.         21:     last row was incomplete
  804.  
  805.         22:     extra byte(s) after image found
  806.  
  807.         23:     bad end of image marker
  808.  
  809.  
  810.  
  811.  
  812.  
  813.  
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.                                   Page  11
  833.  
  834.  ================================================================ gif2rpc ====
  835.  
  836.  
  837.  
  838.  [6] History
  839.  
  840.         Version 1.02 21-Jan-1996
  841.                 Better colour matching for 256 colour sprites
  842.  
  843.         Version 1.01 14-Jan-1996
  844.                 Added -autoname feature
  845.                 Tidied up this documentation
  846.                 Wrote the gif2rpcFE kludge program
  847.  
  848.  
  849.         Version 1.00 21-Sep-1995
  850.                 This was never released, but was left
  851.                 languishing on the hard disc
  852.  
  853.  
  854.  
  855.   7 Author
  856.  
  857.        Program and documentation by (but see copyright notice
  858.        above):
  859.  
  860.  
  861.                                  Cy Booker
  862.                               86 Church View
  863.                                  Main Road
  864.                                 Crockenhill
  865.                                   Swanley
  866.                                    Kent
  867.                                   BR8 8JW
  868.                                    U.K.
  869.                 
  870.                     Internet: cy@cheepnis.demon.co.uk
  871.                 Arcade BBS (Fidonet#2:254/27.0): Cy Booker
  872.                 
  873.               Musical entertainment provided by Frank Zappa
  874.  
  875.