;This file contains all the help information for CImage.  Semicolons are remarks
;and colons denote the topics.  The Help commands read a topic until EOF or
;until they reach the next topic.  Feel free to add your own notes, and 
;fixes as you deem necessary.
;
;If you add a topic, make sure that you ADD the topic to the TOPICS topic.
;

:GENERAL

███████████████████████████████████████████████████████████████████████████████
█                                                                             █
█                  CImage --- Image Processor by Paul Nettle                  █
█             Copyright 1993 Paul D. Nettle.  All Rights Reserved.            █
█                                                                             █
███████████████████████████████████████████████████████████████████████████████

GENERAL HELP:

        For detailed help on a specific command, just type HELP <topic>.  Most
        information you will ever need is available on-line in Cimage via the
        HELP command.

        For a list of available topics, just type HELP TOPICS.

        The help filename is "CIMAGE.HLP" and must be located in current dir-
        ectory.  If it's not found there, then CImage will search for it in the
        directory where CImage was run from.  This allows different help files
        for different projects and tasks.

        The help file is just plain text, and therefore allows you to add
        topics to it, or modify it as you see fit.  Please be sure to contact
        the author if you find any errors in the CIMAGE.HLP file.  The help
        file is modified with any DOS text editor (such as DOS's "EDIT.EXE").

        Commands may be separated on the same command line with a ';'.  For
        example, "load image.gif 0;show 0" will load the image, then show
        it.

        When you type commands, CImage executes them in the following order:
           Resolves any CImage environment variables (using %var% convension)
           Resolves any macros
           Tries to execute as an internal CImage command (HELP, LOAD, etc...)
           Looks for it as a CImage batch file (EXAMPLE.IPB)
           Passes the entire command line to DOS (with the CImage environment
                variables and macros already resolved)

        Currently, CImage does not support wild cards at all.  This does not
           limit you from using them for DOS commands from within CImage.  If
           you type "DIR *.EXE" from the CImage command prompt, that command is
           still sent to DOS as-is.

        You know CImage is running by it's prompt modifier, an underscore.
        This can be changed by executing the PMOD command.  See the PMOD
        command for more information on the prompt modifier.

;------------------------------------------------------------------------------

:TOPICS
   System level commands:

      [EXIT/Q/QUIT] [`] [?/HELP] [REM] [ASK] [PAUSE] [ECHO] [PERCENT]

   Batch file processing:

      [IF] [IFNOT]

   Graphic File Manipulation tools:

      [LOAD] [SAVE] [MERGE] [TERRain]

   Buffer Manipulation Tools:

      [LB] [FREE] [SHOW] [MEM]

   Local Environment Variables and Macros:

      [VMODE] [VCOLORS] [CRES] [SET] [MACRO] [GAMV] [BIOSinfo] [VESAinfo]

   Image Enhancement tools:

      [NEGate] [ADD] [SUBtract] [MULTiply] [DIVide] [BRIghten] [DARKen] [NOISe]
      [GREYscale] [NORMalize] [GAMMa] [CONV] [LC] [PIX] [OVERlay] [BIN]

   Image Manipulation tools:

      [FLIP] [CPY]

   Image Generators:

      [FADE] [PLASMA] [FILL]

   ----------------------------------------------------------------------------

   OTHER TOPICS:
      [TOPICS] [GENERAL]

SEE ALSO:
        None.

;------------------------------------------------------------------------------

:`

PURPOSE:
     Send a  command directly  to DOS  bypassing the  CImage
     command processor shell.

SYNTAX:
     `<command>
   -or-
     ` <command>

DESCRIPTION:
     This is useful for commands like MEM.  Since DOS has  a
     MEM command as well as CImage, you  can only run DOS's
     MEM by using the `left single quote'.

NOTES:
     Another way to perform a similar function is to  create
     a DOS batch file that runs MEM called M.BAT.  This  is,
     of course, not very practical.

SHORTCUT:
     None.

SEE ALSO:
     None.

;------------------------------------------------------------------------------

::

PURPOSE:
     The `colon' is used in batch files only for designating
     a label.

SYNTAX:
     :<label>

DESCRIPTION:
     Labels in Batch files allow the batch file control over
     it's flow.

     Labels are used in conjunction with the GOTO command to
     alter batch program flow.

NOTES:
     None.

SHORTCUT:
     None.

SEE ALSO:
     ASK IF GOTO REM PAUSE ECHO

;------------------------------------------------------------------------------

:ADD

PURPOSE:
     Add the contents of two image buffers.

SYNTAX:
     ADD <buf1> <buf2> [outbuf]

DESCRIPTION:
     ADD will add, pixel by pixel each of the red, blue  and
     green components  of <buf1>  and <buf2>  and place  the
     result into [outbuf].

NOTES:
     If [outbuf]  is not  given,  then <buf1>  contains  the
     result.

     Upon adding the components, if the two components added
     are greater  than  255,  then the  component  value  is
     clipped to 255.

SHORTCUT:
     None.

SEE ALSO:
     SUBTRACT MULTIPLY DIVIDE

;------------------------------------------------------------------------------

:ASK

PURPOSE:
     ASK allows  users to  input single  keystrokes for  use
     within CImage batch files.

SYNTAX:
     ASK <keylist> <string>

DESCRIPTION:
     The <keylist> contains all available keys to the  user.
     For example, a Yes/No question  will have a keylist  of
     `yn'.

     The <string> contains the prompt.  This is displayed to
     the user while ASK waits for a Key.

     When ASK completes, ERRORLEVEL will be set according to
     the key that was pressed.  The ERRORLEVEL starts at  1,
     for the  first entry  in  the <keylist>  and  continues
     until the keylist is complete.   In the above  example,
     if the user pressed `y' then the ERRORLEVEL would be 1.
     If the user would have pressed `n' then the  ERRORLEVEL
     would have been 2.

NOTES:
     If a  key  not  in  the  <keylist>  was  pressed,  then
     ERRORLEVEL is 0.

SHORTCUT:
     None.

SEE ALSO:
     IF

;------------------------------------------------------------------------------

:BIN

PURPOSE:
     Binarize a picture with a given threshold.


SYNTAX:
     BIN <inbuf> <threshold> [outbuf]

DESCRIPTION:
     BIN will  compare  each  of the  red,  blue  and  green
     components of  <inbuf>  against <threshold>.    If  the
     component value  is  less  than  <threshold>  then  the
     component value is set to zero.  If the component value
     is greater  than  or  equal to  <threshold>,  then  the
     component value is set to 255.

     Valid range for <threshold> is 0-255.

NOTES:
     If [outbuf]  is not  given, then  <inbuf> contains  the
     result.

SHORTCUT:
     None.

SEE ALSO:
     BRIGHTEN DARKEN NORMALIZE GREYSCALE

;------------------------------------------------------------------------------

:BIOSINFO

PURPOSE:
     BIOSINFO  will  set  the  BIOS  graphics  settings  for
     CImage.

SYNTAX:
     BIOSINFO <mode> [xres] [yres]

DESCRIPTION:
     BIOSINFO will set the current BIOS configuration to  be
     used  for  displaying  image  buffers  using  the  SHOW
     command.

     By setting  the BIOS  settings  in CImage,  CImage  can
     access virtually any video card that has BIOS  support.
     Consult your video card's user's manual for information
     on the BIOS mode and associated resolutions.

     [xres] and [yres] may be omitted for quickly  switching
     between two  different modes  of the  same  resolution.
     Default BIOS resolution is 640x480.  The default number
     of colors is 256 (see note below).

     The BIOS is incapable of plotting pixels with more than
     256 colors, so if the video mode that you are trying to
     access has more than 256 colors, you MUST use the  VESA
     capabilities.  Consult your video card's user's  manual
     for more  information  on  VESA  capabilities  that  it
     supports.

     Users must also  perform a "VMODE  BIOS" to enable  the
     BIOS mode for displaying image buffers.  See the  VMODE
     command for more information on setting the mode.

     TSRs are  available  to  allow  ALL  video  cards  VESA
     support in software. See the VESAINFO command for  more
     information on VESA support in CImage.

NOTES:
     <mode> must be in HEX.

     VESA is the preferred graphics configuration to run.

     CImage does  not  support  modes  with  less  than  256
     colors.

SHORTCUT:
     BIOS

SEE ALSO:
     VESAINFO VMODE VCOLORS CRES

;------------------------------------------------------------------------------

:BRIGHTEN

PURPOSE:
     Brightens an image buffer.

SYNTAX:
     BRIGHTEN <amount> <inbuf> [outbuf]

DESCRIPTION:
     BRIGHTEN will  increase the  brightness of  <inbuf>  by
     <amount>.  <amount> is a component value, so the  range
     is 1-255.

NOTES:
     If [outbuf]  is not  given, then  <inbuf> contains  the
     result.

SHORTCUT:
     BRI

SEE ALSO:
     DARKEN

;------------------------------------------------------------------------------

:CONV

PURPOSE:
     Performs a 3x3, 5x5, or 7x7 convolution filter.

SYNTAX:
     CONV <filter> <inbuf> [outbuf]

DESCRIPTION:
     Performs a Convolution filter  (defined as <filter>  in
     the filter  file (defined  by the  FILTERFILE  command;
     default filename is FILTERS.FLT). file) on <inbuf>  and
     places the result into [outbuf].

     CONV  perform  "convolution"   filters.     Convolution
     filters  are  a  common  way  of  changing  an  image's
     appearance.  Some common  filters will blur or  sharpen
     an image, others may highlight edges, or remove all  of
     the image completely leaving only the edges.

     The filters are contained in the filter file.

     The Available filters can be obtained with the  command
     LC (for  List  Convolutions).   See  HELP LC  for  more
     information on the LC command.

     The filter description  format for a  3x3 filter is  as
     follows:
          FILTER <filtername> <size>
          <upper-left>  <upper-center>  <upper-right>
          <center-left> <center-center> <center-right>
          <lower-left>  <lower-center>  <lower-right>
          <operator> <operand> <bias>

          Any text following semicolons are comments

     Where <filtername> is the name of the filter.  This  is
     where CONV looks for the command line option  <filter>.
     <size> is  the size  of the  filter (3,  5 or  7  only,
     others are  ignored).   For 5x5  and 7x7  filters,  the
     above example is incomplete, since from <upper-left> to
     <lower-right> would be a 5x5 or 7x7 "grid".

     Convolutions are quite  simple.  For  each pixel in  an
     image, the filter grid is overlaid onto that pixel  and
     it's neighbors with the <center-center> element of  the
     filter grid  aligned  onto  the current  pixel  in  the
     image, and  the  outer  elements  in  the  filter  grid
     overlaying the  current pixel's  neighbors.   The  next
     step is to  multiply each  element in  the filter  grid
     with it's corresponding  overlaid pixel value.     Once
     all  these  values  have  been  calculated,  add   them
     together  and  perform  the  operation  (/  8  for   an
     <operator> of '/'  and an <operand>  of '8'.)   Lastly,
     add the <bias> value.   If the  addition of <bias>  (or
     subtraction of  <bias> if  it  is negative)  takes  the
     result above 255 or below 0, then the value is  clipped
     to 0 or 255, respectively.

     A good trick for trying your  own is to take a  current
     filter, copy it, change the new copy's name, and modify
     it.   If you  have  problems getting  usable  resulting
     images, try adding  all of the  values in the  filter's
     grid and  placing  that  value  in  <operand>  with  an
     <operator> of '/'

NOTES:
     The valid range for <bias> is 0-255.

     Valid <operator> values are:
          +.......Add <operand>
          -.......Subtract <operand>
          *.......Multiply by  <operand>  /.......Divide  by
                  <operand>
          M.......Sort all multiplied grid elements, and use
                  the median.  Ignore <operand>  -- Operand
                  MUST still be present
          <.......Sort all multiplied grid elements, and use
                  the lowest.  Ignore <operand>  -- Operand
                  MUST still be present
          >.......Sort all multiplied grid elements, and use
                  the highest. Ignore  <operand> -- Operand
                  MUST still be present

     If [outbuf] is  not given,  then CONV  will create  the
     first available buffer.

     CImage will search for the filter file in the following
     order:
          1. The current directory
          2. The default CImage directory (where  CIMAGE.EXE
          is stored)

     CAUTION:   The median  ('M'),  dilate ('>')  and  erode
     ('<') functions take a LONG TIME in 5x5 or 7x7 filters.
     Try  to  stick  with   using  3x3  filters  for   these
     operators.

SHORTCUT:
     None.

SEE ALSO:
     LC FILTERFILE

;------------------------------------------------------------------------------

:CPY

PURPOSE:
     Copy an image buffer to another.

SYNTAX:
     CPY <inbuf> [outbuf]

DESCRIPTION:
     CPY will copy <inbuf> into [outbuf], creating  [outbuf]
     in the process. [outbuf] must not exist.

NOTES:
     If [outbuf]  is not  given, then  CPY will  create  the
     first available buffer.

     CPY  was   not   named  "COPY"   because   of   obvious
     interference with the DOS COPY command.

SHORTCUT:
     None.

SEE ALSO:
     None.

;------------------------------------------------------------------------------

:CRES

PURPOSE:
     Sets  the  color  bit  resolution  for  256  color  VGA
     graphics.

SYNTAX:
     CRES [value]

DESCRIPTION:
     When CImage needs to display a 24-bit image onto a  256
     color display,  CImage needs  to reduce  the number  of
     colors that the image uses.  This is by sorting  colors
     by popularity, choosing the  most popular, and  mapping
     the rest of the colors  to it's closest counterpart  in
     the list of the top 256.

     When CImage needs to display an image, it needs to know
     how many shades of red, green, and blue the video  card
     allows.  Most cards allow for 6 bits of resolution  (0-
     63, or 64)  for each element.   To  calculate how  many
     displayable colors,  multiply red  * green  * blue,  or
     64*64*64 =  262,144.   This  is  the number  of  colors
     possible,  however   only   256  colors   are   allowed
     simultaneously.  CRES tells CImage how many shades  the
     video card allows for each  element so that CImage  can
     reduce the number of  shades as well  as the number  of
     colors.

NOTES:
     If [value] is  not given,  then CRES  will display  the
     current value.

     CImage does  not  support  modes  with  less  than  256
     colors.

     When CImage loads  or creates  an image  buffer, it  is
     stored internally as  a 24-bit image.   Even if  CImage
     loads a 256-color  GIF file, it  is still converted  to
     24-bits as it is loaded.  This is because modifications
     to an image  buffer may increase  the number of  colors
     that it uses.  This also  allows for CImage to  perform
     functions on  image buffers  with the  least amount  of
     accuracy loss.

SHORTCUT:
     None.

SEE ALSO:
     VESAINFO BIOSINFO VMODE VCOLORS CRES SHOW

;------------------------------------------------------------------------------

:DARKEN

PURPOSE:
     Darkens an image buffer.

SYNTAX:
     DARKEN <amount> <inbuf> [outbuf]

DESCRIPTION:
     DARKEN will  decrease  the  brightness  of  <inbuf>  by
     <amount>.  <amount> is a component value, so the  range
     is 1-255.

NOTES:
     If [outbuf]  is not  given, then  <inbuf> contains  the
     result.

SHORTCUT:
     DARK

SEE ALSO:
     BRIGHTEN

;------------------------------------------------------------------------------

:DIVIDE

PURPOSE:
     Divide the contents of two image buffers.

SYNTAX:
     DIVIDE <buf1> <buf2> [outbuf]

DESCRIPTION:
     DIVIDE will divide,  pixel by  pixel each  of the  red,
     blue and  green components  of  <buf1> and  <buf2>  and
     place the result into [outbuf].

NOTES:
     If [outbuf]  is not  given,  then <buf1>  contains  the
     result.

     Upon dividing the components, if a component if  <buf2>
     is zero, then the result is automatically zero, since a
     divide by zero is impossible.

SHORTCUT:
     DIV

SEE ALSO:
     ADD SUBTRACT MULTIPLY DIVIDE

;------------------------------------------------------------------------------

:ECHO

PURPOSE:
     ECHO is used to display text during the execution of an
     CImage batch file.

SYNTAX:
     ECHO ON
   -or-
     ECHO OFF
   -or-
     ECHO <string>

DESCRIPTION:
     Normally as a batch file  is running, the commands  are
     "echoed" to the screen as they are executed.  This  can
     be turned off  by adding the  command ECHO  OFF to  the
     batch file.  Once it has  been turned off, the ECHO  ON
     can turn it back on.   The ECHO setting is reset to  ON
     when all batch files have completed processing.

     If ECHO is  followed by  <string>, then  the string  is
     ECHOed to the screen.

NOTES:
     An "@" character placed in front of a command line in a
     batch file prevents that line from echoing.

     An ECHO. will echo a blank line to the screen.

     Currently, ECHO will echo all text as upper-case only.

SHORTCUT:
     None.

SEE ALSO:
     ASK IF GOTO : REM PAUSE

;------------------------------------------------------------------------------

:EXIT

PURPOSE:
     EXIT will exit from the CImage command processor  shell
     to the previous level if one exists, otherwise, you are
     exited to the DOS command prompt.

SYNTAX:
     Exit

DESCRIPTION:
     Once running CImage,  you can run  different levels  of
     the CImage command pro cessor.  This is  done by simply
     running CImage from  within itself.   Once running  the
     second level, you  can exit  to the  previous level  by
     typing EXIT.

NOTES:
     None.

SHORTCUT:
     Q -or- QUIT

SEE ALSO:
     None.

;------------------------------------------------------------------------------

:FADE

PURPOSE:
     Creates a test image that fades from light to dark.

SYNTAX:
     FADE <xres> <yres> <red> <green> <blue> [outbuf] [dir]

DESCRIPTION:
     FADE will  create a  256-color  image that  fades  from
     light to dark the elements of <red>, <green> and <blue>
     in the direction of [dir],  and place it into  [outbuf]
     at a resolution of <xres> by <yres>.

     Each of the <red>, <green> and <blue> component  values
     are entered as a '0' or a non-zero value.  Any '1' must
     be placed in this value to cause FADE to add that color
     to the fade.   A fade of 1  0 0 will  create a fade  of
     only shades of red.

     Use [dir] to denote which direction to create the  fade
     image.  Valid  values are  U, D,  L, R,  for Up,  Down,
     Left, Right  respectively.   [dir] points  to the  dark
     side of the image  (Up would start at  the top as  dark
     and work down to light).

NOTES:
     If [outbuf] is  not given,  then FADE  will create  the
     first available buffer.

     If [dir] is not given, then  FADE will use 'D'  (down).
     FADE was originally a test image for the developer, but
     was left in for  users.  One use  might be to create  a
     fade, and subtract that from another image for a simple
     effect.

     The "Loaded as file name" is set to FADE.TGA

SHORTCUT:
     None.

SEE ALSO:
     None.

;------------------------------------------------------------------------------

:FILL

PURPOSE:
     Fills a buffer of a given color.

SYNTAX:
     FILL <xres> <yres> <red> <green> <blue> [outbuf]

DESCRIPTION:
     FILL will  create  an  image of  resolution  <xres>  by
     <yres>  filled  with  the  color  specified  by  <red>,
     <green> and <blue> and place it into [outbuf].

NOTES:
     If [outbuf] is  not given,  then FILL  will create  the
     first available buffer.

     The "Loaded as file name" is set to FILLED.TGA

SHORTCUT:
     None.

SEE ALSO:
     None.

;------------------------------------------------------------------------------

:FILTERFILE

PURPOSE:
     Sets the filename used for the convolution filters.

SYNTAX:
     FILTERFILE [filename]

DESCRIPTION:
     FILTERFILE sets the filename that  is used by the  CONV
     and LC  commands  for  locating  and  performing  user-
     defined convolution filters.  See the CONV command  for
     more information on performing convolution filters.

     The default name  is FILTERS.FLT, and  must be  located
     in, first, the current directory.   If the filter  file
     is not found  there, then  CImage will  search for  the
     file in the directory from which it was originally run.

NOTES:
     If [filename] is  not given, then  the FILTERFILE  will
     display the current filename.

SHORTCUT:
     FFILE

SEE ALSO:
     CONV LC

;------------------------------------------------------------------------------

:FLIP

PURPOSE:
     Flip an image buffer top to bottom or left to right.

SYNTAX:
     FLIP <dir> <inbuf> [outbuf]

DESCRIPTION:
     FLIP will  flip the  buffer  <inbuf> in  the  direction
     specified by <dir> and place the result into [outbuf].

     Valid values for  <dir> are U,  D, L, R  for Up,  Down,
     Left, Right, respectively.

NOTES:
     If [outbuf] is  not given,  then the  result is  placed
     into <inbuf>.

     There is no difference between Up  and Down.  There  is
     also no difference between Left and Right.

SHORTCUT:
     None.

SEE ALSO:
     None.

;------------------------------------------------------------------------------

:FREE

PURPOSE:
     Release a buffer, freeing up the memory that it uses.

SYNTAX:
     FREE <buf>
   -or-
     FREE ALL

DESCRIPTION:
     FREE will free the memory used  by <buf>.  If <buf>  is
     "ALL", then all buffers will be freed.

NOTES:
     FREE will not ask to verify, even if you use "FREE ALL"

SHORTCUT:
     None.

SEE ALSO:
     None.

;------------------------------------------------------------------------------

:GAMMA

PURPOSE:
     Perform gamma correction.

SYNTAX:
     GAMMA <inbuf> [outbuf]

DESCRIPTION:
     GAMMA will correct the gamma  of <inbuf> and place  the
     result into [outbuf].

     It is usually safe to assume that black is 0 and  white
     is 255.  How ever, it is not necessarily  true that 128
     appears exactly as a medium grey (which would mean that
     color intensity output is linear).  On most  computers,
     color intensity  output  is  not linear,  and  must  be
     adjusted accordingly.  The  GAMMA command will  correct
     this on images  and make it  appear that  the image  is
     being displayed with linear color intensity output.

     The GAMMA  function  uses the  value  set by  the  GAMV
     command to set the amount of gamma correction.

NOTES:
     If [outbuf] is  not given,  then the  result is  placed
     into <inbuf>

SHORTCUT:
     GAMM

SEE ALSO:
     GAMV

;------------------------------------------------------------------------------

:GAMV

PURPOSE:
     Set the gamma correction level.

SYNTAX:
     GAMV [value]

DESCRIPTION:
     GAMV will set the gamma correction level for the  GAMMA
     command.   See  the  GAMMA command  for  more  detailed
     information on gamma correction.

NOTES:
     If [value] is not given, then the current value will be
     displayed.

     The default value for GAMV is 0.6.

SHORTCUT:
     None.

SEE ALSO:
     GAMMA

;------------------------------------------------------------------------------

:GOTO

PURPOSE:
     Alter the program flow within an CImage batch file.

SYNTAX:
     GOTO <label>

DESCRIPTION:
     The GOTO  command will  cause the  batch file  to  stop
     processing, locate <label> within  the batch file,  and
     continue processing there.  Labels are designated by  a
     ':'.   See the  ':' for  more detailed  information  on
     labels.

NOTES:
     The GOTO command is meant to be used within batch files
     only.

SHORTCUT:
     None.

SEE ALSO:
     ASK IF : REM PAUSE ECHO

;------------------------------------------------------------------------------

:GREYSCALE

PURPOSE:
     Convert the current image into a greyscale image.

SYNTAX:
     GREYSCALE <inbuf> [outbuf]

DESCRIPTION:
     GREYSCALE will convert <inbuf>  to greyscale and  place
     the results into [outbuf].

     Converting an image to grayscale is very simple.   Each
     pixel's red,  green and  blue components  are  compared
     against each  other  to find  the  largest  (brightest)
     value, then all three components are set to this value.

NOTES:
     If [outbuf] is  not given,  then the  result is  placed
     into <inbuf>

     There is no command to convert from greyscale to color,
     since  a  greyscale  image  does  not  contain  enough
     information to perform such a task.

SHORTCUT:
     GREY

SEE ALSO:
     None.

;------------------------------------------------------------------------------

:IF

PURPOSE:
     The IF and IFNOT  commands allow conditional  execution
     of  commands  based  on   the  results  of  a   logical
     condition.   When the  condition is  true, then  CImage
     executes the <command>;  otherwise, CImage will  ignore
     the command.

SYNTAX:
     IF ERRORLEVEL <number> <command>
   -or-
     IFNOT ERRORLEVEL <number> <command>
   -or-
     IF <string1> == <string2> <command>
   -or-
     IFNOT <string1> == <string2> <command>
   -or-
     IF EXIST <filename> <command>
   -or-
     IFNOT EXIST <filename> <command>

DESCRIPTION:
     The conditions are described as follows:
     ERRORLEVEL      True if,  and  only  if,  the  previous
                     command executed had an exit code equal
                     to <number>.
     <string1> == <string2>  True if, and only if, <string1>
                     is equal  to  <string2>.   The  strings
                     must not contain spaces.
     EXIST           True if,  and only  if, the  <filename>
                     exists in the current directory.

NOTES:
     Currently, the only CImage command that returns an exit
     code is the ASK  command.  DOS  command exit codes  are
     currently not supported.

SHORTCUT:
     None.

SEE ALSO:
     ASK GOTO : REM PAUSE ECHO

;------------------------------------------------------------------------------

:LB

PURPOSE:
     List the currently allocated image buffers.

SYNTAX:
     LB

DESCRIPTION:
     LB  will  list  the   current  information  about   all
     currently allocated buffers:
        Buffer number
        Loaded file name
        Loaded file type
        Last saved name
        Last saved file type
        Resolution

NOTES:
     None.

SHORTCUT:
     None.

SEE ALSO:
     LOAD SAVE MERGE

;------------------------------------------------------------------------------

:LC

PURPOSE:
     List all convolution  filters contained  in the  filter
     file  (defined  by  the  FILTERFILE  command;   default
     filename is FILTERS.FLT).

SYNTAX:
     LC

DESCRIPTION:
     LC Will list all the convolution filters in the  filter
     file sorted by grid size (3, 5 or 7).

NOTES:
     CImage will search for the filter file in the following
     order:
      1.  The current directory
      2.  The default CImage directory (where CIMAGE.EXE is
          stored)

SHORTCUT:
     None.

SEE ALSO:
     CONV FILTERFILE

;------------------------------------------------------------------------------

:LOAD

PURPOSE:
     LOAD will load images into memory.

SYNTAX:
     LOAD <filename> [buffer]

DESCRIPTION:
     LOAD will load <filename> into [buffer].

NOTES:
     If [buffer] is  not given,  then LOAD  will create  the
     first available buffer.

     Currently, LOAD does not interrogate the file  contents
     to decide what type of image file to load.  The  file's
     extension is used to decide the file's type.  Once  the
     file type  is obtained  from the  extension, LOAD  will
     verify the file is indeed the proper file type.

     Current supported file types are:
        IMG - VIVID/BOB format
        GIF - GIF87a (and GIF89a files that are compatible)
        TGA - Only type 2, uncompressed
        BMP - All versions (Windows, and OS/2)
        IPI - CImage's internal format

SHORTCUT:
     None.

SEE ALSO:
     SAVE MERGE LB

;------------------------------------------------------------------------------

:MACRO

PURPOSE:
     Creates a macro.

SYNTAX:
     MACRO [macro] [cmd-line]

DESCRIPTION:
     MACRO will define [macro] to be [command-line]
     Macros are  shortcuts.    You  can  define  almost  any
     command-line to a macro.

     Say you define "P" to be  "PLASMA 640 480 3.3".   Then,
     every time you type a "P" (followed by [RETURN]) on the
     command line, CImage will interpret it as: "PLASMA  640
     480 3.3" (which will create a plasma image the size  of
     640x480 with the grain factor of 3.3, and place it into
     the first available buffer).

     Macros can also be inserted  into a command-line.   For
     example, you could use "plasma 640 480 PVAL" where PVAL
     has been defined as "3.3".   Macros may also  reference
     themselves.   "P" may  be defined  as "PLASMA  640  480
     PVAL" and if PVAL has been defined as "3.3", then  that
     line is interpreted as "PLASMA 640 480 3.3".

NOTES:
     Macros  may   reference  environment   variables,   but
     environment variables may not reference macros.
     If [cmd-line] is  not given, then  the [macro] will  be
     removed from the macro list.

     If [macro]  and [cmd-line]  are not  given, then  MACRO
     will list all currently defined macros.

     [cmd-line] may contain spaces.

     Since a semicolon on the CImage command line is used to
     separate multiple commands, you need to use the  carrot
     (^) character where semicolons are to be placed.  These
     semicolons will not,  however, become separate  command
     lines within a single  macro, they will be  interpreted
     as one command line.

     Macros must  be  separated  from  other  words  on  the
     command line they are to be used in by a space.

SHORTCUT:
     None.

SEE ALSO:
     SET

;------------------------------------------------------------------------------

:MEM

PURPOSE:
     Display the current status of memory.

SYNTAX:
     MEM

DESCRIPTION:
     MEM will display the following information:
        1. Largest available block of memory
        2. Size of paging/file partition

     The "Largest available block of memory" is quite  self-
     explanatory. This  includes all  virtual memory.    The
     "Size of  paging/file partition"  is  the size  of  the
     virtual memory portion of available memory.

NOTES:
     None.

SHORTCUT:
     None.

SEE ALSO:
     None.

;------------------------------------------------------------------------------

:MERGE

PURPOSE:
     Merges three color separated images into one full color
     image.

SYNTAX:
     MERGE <redfile> <bluefile> <greenfile> [outbuf]

DESCRIPTION:
     MERGE performs three  LOADs; one LOAD  for each of  the
     different   files   in   <redfile>,   <bluefile>    and
     <greenfile> with the exception that MERGE gets the  red
     element of the image  from <redfile>, the blue  element
     from <bluefile> and the green element from <greenfile>.
     These are then  merged into a  single image and  placed
     into [outbuf].

     This is  useful for  people  who have  monochrome  hand
     scanners.  It is possible to actually digitize a  color
     image with a  monochrome hand scanner.   Scan an  image
     three times using a red filter the first time, a  green
     filter the  second time,  and a  blue filter  the  last
     time.  Use  your hand scanner's  software to align  the
     three images,  and import  them into  CImage using  the
     MERGE command.  What you will get is a full-color image
     in [outbuf].

NOTES:
     If [outbuf] is  not given, then  MERGE will create  the
     first available buffer.

     The three files in MERGE  may be different file  types,
     however, they must all have the same resolution.

SHORTCUT:
     None.

SEE ALSO:
     LOAD SAVE LB OVERLAY

;------------------------------------------------------------------------------

:MULTIPLY

PURPOSE:
     Multiply the contents of two image buffers.

SYNTAX:
     MULTIPLY <buf1> <buf2> [outbuf]

DESCRIPTION:
     MULTIPLY will multiply, pixel by pixel each of the red,
     blue and  green components  of  <buf1> and  <buf2>  and
     place the result into [outbuf].

NOTES:
     If [outbuf]  is not  given,  then <buf1>  contains  the
     result.

     Upon multiplying the components, if the two  components
     multiplied are  greater than  255, then  the  component
     value is clipped to 255.

SHORTCUT:
     MULT

SEE ALSO:
     ADD SUBTRACT DIVIDE

;------------------------------------------------------------------------------

:NEGATE

PURPOSE:
     Create a photo negative of an image.

SYNTAX:
     NEGATE <inbuf> [outbuf]

DESCRIPTION:
     Negate reads the value of  each color element for  each
     pixel,  and  subtracts  it  from  255.    Placing   the
     resulting image into [outbuf].

     The  effect  is  an   intensity  reversal  (or   "photo
     negative"), in  which black  becomes white,  and  white
     becomes black.

NOTES:
     If [outbuf]  is not  given, then  <inbuf> contains  the
     result.

SHORTCUT:
     NEG

SEE ALSO:
     None.

;------------------------------------------------------------------------------

:NOISE

PURPOSE:
     Add random noise to an image.

SYNTAX:
     NOISE <amount> <inbuf> [outbuf]

DESCRIPTION:
     Computer generated images often  look to "perfect"  and
     therefore, unrealistic.  NOISE can be used to help this
     matter.

     NOISE will randomly add  n <amount> to each  individual
     pixel in <inbuf>, and place the result into [outbuf].

     A useful value for <amount> would be 5-15.

NOTES:
     Valid range for <amount> is 1-255.

     If [outbuf]  is not  given, then  <inbuf> contains  the
     result.

     If the addition  or subtraction of  <amount> takes  the
     result above 255 or below 0, then the value is  clipped
     to 0 or 255, respectively.

SHORTCUT:
     NOIS

SEE ALSO:
     None.

;------------------------------------------------------------------------------

:NORMALIZE

PURPOSE:
     Perform a histogram normalization on an image.

SYNTAX:
     NORMALIZE <inbuf> [outbuf]

DESCRIPTION:
     NORMALIZE  performs  a   histogram  normalization   (or
     contrast enhancement) on <inbuf>.

     A histogram normalization  is quite a  simple task.   A
     normalization finds the darkest  color, and maps it  to
     zero, then it finds the brightest color and maps it  to
     white.  This is useful  for adding contrast to  images,
     like very hazy images.  Normalization can actually turn
     a "foggy" picture into a "sunny day" picture.

NOTES:
     If [outbuf]  is not  given, then  <inbuf> contains  the
     result.

SHORTCUT:
     NORM

SEE ALSO:
     None.

;------------------------------------------------------------------------------

:OVERLAY

PURPOSE:
     Performs a color selectable  overlay of one image  onto
     another image.

SYNTAX:
     OVERLAY <buf1> <buf2> <low> <high> [outbuf]

DESCRIPTION:
     OVERLAY will  overlay each  pixel from  <buf1> that  is
     greater than or equal to <low>  and less than or  equal
     to <high> onto it's corresponding pixel in <buf2>.  The
     resulting image is then placed into [outbuf].

     The comparison of  <low> and <high>  against pixels  in
     <buf1> are done on after monochrome conversion.  CImage
     first converts <buf1> to mono to compare against  <low>
     and <high> and  if the monochrome  value is inside  the
     range, then the COLOR value is placed into [outbuf].

     OVERLAY  is  useful  for  overlaying  an  image  of  an
     airplane (with  a  black background)  onto  a  mountain
     scene.

NOTES:
     The valid range for <low> and <high> is 0-255.

     If [outbuf] is not given, then OVERLAY will create  the
     first available buffer.

     The "Loaded as file name" is set to OVERLAY.TGA

SHORTCUT:
     OVER

SEE ALSO:
     MERGE

;------------------------------------------------------------------------------

:PAUSE

PURPOSE:
     PAUSE suspends the operation of a CImage Batch file.

SYNTAX:
     PAUSE <string>
   -or-
     PAUSE

DESCRIPTION:
     If  <string>   exists,   then  <string>   is   printed,
     otherwise,  PAUSE  will  display  "Press  any  key   to
     continue...".  PAUSE will then wait for a key-press  to
     continue.

NOTES:
     PAUSE is  often used  to break  out of  batch files  by
     allowing the user  to press the  break key [CTRL-C]  or
     [CTRL-BREAK].   If the  break key  sequence is  pressed
     during a PAUSE  command, CImage will  not ask to  break
     out of the batch file until  a key is pressed. This  is
     the only  point in  batch file  processing when  CImage
     will wait for a key to ask to stop processing the batch
     file.

     Currently, PAUSE echoes all text as upper-case only.

SHORTCUT:
     None.

SEE ALSO:
     ASK IF GOTO : REM PAUSE ECHO

;------------------------------------------------------------------------------

:PERCENT

PURPOSE:
     PERCENT is used to enable/disable the percentages  that
     are printed as CImage processes different commands that
     may take some time.

SYNTAX:
     PERCENT ON
   -or-
     PERCENT OFF

DESCRIPTION:
     PERCENT ON will enable the percentages, and PERCENT OFF
     will turn them off.  The default is ON.

     Turning the  percents off  will speed  up the  time  it
     takes to  execute commands.    This is  because  screen
     displays are rather slow.

NOTES:
     The ONLY command that takes  some time to process  that
     does not display percents is the PLASMA command.

SHORTCUT:
     None.

SEE ALSO:
     None.

;------------------------------------------------------------------------------

:PIX

PURPOSE:
     Pixellize an image.

SYNTAX:
     PIX <xres> <yres> <inbuf> [outbuf]

DESCRIPTION:
     PIX will group pixels of <xres> by <yres>, average  all
     the pixel values in the group, and replace those pixels
     with the averaged  color.  The  result of  which is  an
     image that appears  as though the  resolution has  been
     lowered and the pixels stretched to keep the same image
     size.

     PIX does NOT alter the image  resolution.  An image  of
     100x100 being  pixelized  with  the values  of  5  (for
     <xres>) and 5 (for <yres>) will generate an image  that
     appears to  have a  resolution of  20x20, however,  the
     resolution is actually 100x100.

NOTES:
     If [outbuf]  is not  given, then  <inbuf> contains  the
     result.

SHORTCUT:
     None.

SEE ALSO:
     None.

;------------------------------------------------------------------------------

:PLASMA

PURPOSE:
     Creates a "plasma" type fractal image.

SYNTAX:
     PLASMA <xres> <yres> <grain> [outbuf]

DESCRIPTION:
     PLASMA will create a  "plasma" fractal image of  <xres>
     by <yres>  using  <grain>  and place  the  result  into
     [outbuf].

     Plasma fractals look like  clouds.  The larger  <grain>
     is, the denser the clouds.  A typical value for  plasma
     is 3.

NOTES:
     Valid range for <grain> is 0.001 - 100.0.

     If [outbuf] is not given,  then PLASMA will create  the
     first available buffer.

     PLASMA is  the  only  command  that  does  not  display
     percentages as it executes.

     The "Loaded as file name" is set to PLASMA.TGA

SHORTCUT:
     None.

SEE ALSO:
     None.

;------------------------------------------------------------------------------

:PMOD

PURPOSE:
     Sets the prompt modifier.

SYNTAX:
     PMOD [modifier]

DESCRIPTION:
     The prompt modifier  is displayed  to the  left of  the
     prompt so  that  the  user  can  tell  when  CImage  is
     running.  PMOD will allow the user to change the prompt
     modifier.

NOTES:
     If [modifier] is not given, then PMOD will display  the
     current prompt modifier.

SHORTCUT:
     None.

SEE ALSO:
     None.

;------------------------------------------------------------------------------

:REM

PURPOSE:
     During the  execution  of  an CImage  batch  file,  REM
     displays the remarks that are on  the same line as  the
     REM command in that batch file.

SYNTAX:
     REM [comment]

DESCRIPTION:
     The [comment] is  not executed, rather  it is used  for
     making notes inside batch files to it readers from it's
     author.  It can also be used to display information  to
     the screen as a batch file executes.

NOTES:
     If the ECHO is  off, then the REM  command line is  not
     displayed.

SHORTCUT:
     None.

SEE ALSO:
     ASK IF GOTO : PAUSE ECHO

;------------------------------------------------------------------------------

:SAVE

PURPOSE:
     Save an image buffer.

SYNTAX:
     SAVE <buff> [filename]

DESCRIPTION:
     SAVE will save <buff> to [filename].

NOTES:
     If [filename] is not given, then SAVE will get the name
     from the last saved  name for that  buffer (see the  LC
     command for more  information on looking  for the  last
     saved name).  If there is no last saved name, then SAVE
     will save  the  buffer  under  the  name  that  it  was
     originally loaded (or created).

     Files are overwritten without verification.

     The file's extension is used to decide the file's type.
     Once the file type is obtained from the extension, SAVE
     will create the file, and save it accordingly.

     Current supported file types are:
       IMG - VIVID/BOB format
       GIF - GIF87a
       TGA - Only type 2, uncompressed
       BMP - All versions (Windows)
       IPI - CImage's internal format

     Also note that all files written out by CImage are  24-
     bit, non-compressed  images (except  .GIF files,  which
     are 8-bit compressed  images), and  Targa files  (.TGA)
     are written in Top-down format only.

SHORTCUT:
     None.

SEE ALSO:
     LOAD MERGE LB

;------------------------------------------------------------------------------

:SET

PURPOSE:
     Set an CImage internal environment variable.

SYNTAX:
     SET [var] [value]

DESCRIPTION:
     SET  will  define   the  CImage  internal   environment
     variable [var] to  be [value].   Environment  variables
     are similar  to  macros  except  that  macros  must  be
     separated from other  words on  the command  line by  a
     space,  and  environment   variables  don't,   however,
     environment variables require a '%' sign on either side
     of them for them to be resolved properly.

     Environment variables  are  usually  used  as  settings
     (like the  path to  your images)  to be  inserted  into
     command line.  You  can define almost  any string to  a
     variable.  These environment  variable are accessed  as
     %<var>%.

     If you define  "PTH" to be  "C:\IMAGES\".  Then,  every
     time you type "%PTH%" on the command line, CImage  will
     interpret it as: "C:\IMAGES\"

     Say you type the line:  "LOAD %PTH%PICTURE.GIF".   This
     line     will     get     interpreted     as      "LOAD
     C:\IMAGES\PICTURE.GIF".

     Like macros, environment  variables may also  reference
     each other.

NOTES:
     Macros  may   reference  environment   variables,   but
     environment variables may not reference macros.

     If [value] is not given, then the [var] will be removed
     from the environment variable table.

     If [var] and [value] are not given, then SET will  list
     all currently defined environment variables.

SHORTCUT:
     None.

SEE ALSO:
     MACRO

;------------------------------------------------------------------------------

:SHOW

PURPOSE:
     Display an image buffer.

SYNTAX:
     SHOW [buf]

DESCRIPTION:
     SHOW will  display,  in  graphics mode,  the  image  in
     [buf].

     If color reduction  is needed, then  SHOW will  perform
     the color reduction before displaying the image.

     SHOW will use  the information  in VMODE  to pick  what
     type of display mode to enter  to show [buf].  See  the
     VMODE command  for more  information on  the different
     graphics configurations available from CImage.

     Once the image  is displayed, SHOW  will beep, and  any
     key will  return  the user  to  the text  mode  command
     prompt.

NOTES:
     If [buf] is not  given, then SHOW  will show the  first
     available buffer (if one exists).

     The modes 11-13, 15 and 17 may take a few seconds  once
     they enter graphics mode to begin displaying the  image
     to finalize color co ordination.  This is  not true for
     modes with 32K colors or more.

     VESA is the preferred graphics configuration to run.

     CImage does  not  support  modes  with  less  than  256
     colors.

SHORTCUT:
     None.

SEE ALSO:
     VESAINFO BIOSINFO VMODE VCOLORS CRES

;------------------------------------------------------------------------------

:SUBTRACT

PURPOSE:
     Subtract the contents of two image buffers.

SYNTAX:
     SUBTRACT <buf1> <buf2> [outbuf]

DESCRIPTION:
     SUBTRACT will  subtract, pixel  by pixel,  each of  the
     red, blue and green components of <buf1> and <buf2> and
     place the result into [outbuf].

NOTES:
     If [outbuf]  is not  given,  then <buf1>  contains  the
     result.

     Upon subtracting the components, if the two  components
     subtracted are less than 0, then the component value is
     clipped to 0.

SHORTCUT:
     SUB

SEE ALSO:
     ADD MULTIPLY DIVIDE

;------------------------------------------------------------------------------

:TERRAIN

PURPOSE:
     Generate a BOB (ray tracer) compatible terrain map.

SYNTAX:
     TERRAIN <buff> <range> <filename> <low> [color]

DESCRIPTION:
     TERRAIN will generate a .B file for the ray tracer  BOB
     that contains  a  terrain  map  of  triangles  for  the
     current image using the intensity of each pixel for the
     height of the triangle points.

     TERRAIN scans  <buff>,  and  at each  pixel  it  scales
     [color] to <range>, then  compares the value to  <low>,
     which is the "water  level", and if  the value is  less
     than <low>,  the  value gets  clipped  to <low>.    The
     triangle is then written to <filename>.

     This command  was  meant  to work  primarily  with  the
     PLASMA images for terrain  generation, however, it  can
     be used with any image.

NOTES:
     <range> must be greater than 0.  Valid range for  <low>
     is 0 (flat)  to 255 (full  height).   Valid values  for
     [color] are R, G, B or M. These specify to use the  Red
     element, Blue  element,  Green  element  or  the  pixel
     converted to Monochrome for  the pixel value  (triangle
     height).

     If  [color]  is  not  given,  then  TERRAIN  will   use
     Monochrome conversion.

     Images of 640x480 can create VERY LARGE output files.

SHORTCUT:
     TERR

SEE ALSO:
     None.
;------------------------------------------------------------------------------

:VCOLORS

PURPOSE:
     Set the  number  of  colors that  the  video  card  can
     display.

SYNTAX:
     VCOLORS [val]

DESCRIPTION:
     VCOLORS tells CImage how many colors the video card can
     display simultaneously.  CImage needs to know how many
     colors the  video  card  can display  so  that  it  may
     properly reduce  the internal  24-bit images  to  [val]
     colors for displaying.

     This value is set by the VESAINFO, VMODE, and  BIOSINFO
     functions.

NOTES:
     If [val] is  not given, then  VCOLORS will display  the
     current setting.

     CImage does  not  support  modes  with  less  than  256
     colors.

SHORTCUT:
     None.

SEE ALSO:
     VESAINFO BIOSINFO VMODE CRES SHOW

;------------------------------------------------------------------------------

:VESAINFO

PURPOSE:
     Set or display the VESA graphics configuration.

SYNTAX:
     VESAINFO [mode]

DESCRIPTION:
     VESAINFO will set the current VESA configuration to  be
     used  for  displaying  image  buffers  using  the  SHOW
     command.

     Users must also  perform a "VMODE  VESA" to enable  the
     VESA mode for displaying image buffers.  See the  VMODE
     command for more information on setting the mode.

     VESA  is  a  great  standard  for  super-VGA  displays.
     CImage's developers  support VESA  and hopes  that  you
     will use this  configuration above BIOS  or any of  the
     built-in modes.

NOTES:
     The VESA drivers are not  included with CImage.   These
     drivers  can   be   obtained  from   you   video   card
     manufacturer if they were  not included with your  card
     upon purchase.

     If [mode] is not given, then VESAINFO will display  the
     following information  (this is  from my  system,  VESA
     version 1.2 running a Diamond Speed Star 24X):

          Available modes are marked with an asterisk (*):
                6Ah -  800 x  600  16 colors
             * 100h -  640 x  400 256 colors
             * 101h -  640 x  480 256 colors
             * 102h -  800 x  600  16 colors
             * 103h -  800 x  600 256 colors
             * 104h - 1024 x  768  16 colors
             * 105h - 1024 x  768 256 colors
             * 106h - 1280 x 1024  16 colors
               107h - 1280 x 1024 256 colors
               108h - TEXT MODE...unusable
             * 109h - TEXT MODE...unusable
             * 10Ah - TEXT MODE...unusable
             * 10Bh - TEXT MODE...unusable
               10Ch - TEXT MODE...unusable
             * 10Dh -  320 x  200 32K colors
               10Eh -  320 x  200 64K colors
               10Fh -  320 x  200 16M colors
             * 110h -  640 x  480 32K colors
               111h -  640 x  480 64K colors
               112h -  640 x  480 16M colors
             * 113h -  800 x  600 32K colors
               114h -  800 x  600 64K colors
               115h -  800 x  600 16M colors
               116h - 1024 x  768 32K colors
               117h - 1024 x  768 64K colors
               118h - 1024 x  768 16M colors
               119h - 1280 x 1024 32K colors
               11Ah - 1280 x 1024 64K colors
               11Bh - 1280 x 1024 16M colors

          Current Settings:

                   VESA version:  1.2
                       OEM name:  Western Digital Inc V1.2
                VESA video mode:  113h (275)
                     Resolution:  800x600
             Displayable colors:  32768 (15 Bits per pixel)
                Mode attributes:  [Supported] [No BIOS
                                   Output] [Color]
                                   [Graphics]
            Window A attributes:  [Supported] [Readable]
                                   [Writable]
            Window B attributes:  [Not Supported]
           Granularity/Win size:  4K/64K
            Window segments A/B:  A000h/A800h
           Window pos. function:  0623:05EEh
             Bytes per scanline:  1600
                 Character size:  0x0
             # of memory planes:  1
                Number of banks:  1
              Memory model type:  YUV
                      Bank size:  0K
                    Image pages:  1
             Red size/field pos:  5/10
           Green size/field pos:  5/5
            Blue size/field pos:  5/0
              Direct color mode:  [Color ramp fixed] [Bits
                                   are usable]

     VESA is the preferred graphics configuration to run.

     CImage does  not  support  modes  with  less  than  256
     colors.

SHORTCUT:
     VESA

SEE ALSO:
     BIOSINFO VMODE VCOLORS CRES SHOW

;------------------------------------------------------------------------------

:VMODE

PURPOSE:
     Sets the video  mode to  be used  for displaying  image
     buffers.

SYNTAX:
     VMODE [mode]

DESCRIPTION:
     VMODE tells  CImage what  mode  to use  for  displaying
     image  buffers.  Currently,  the  following  modes  are
     supported:
         320 x 200, 256 color
         640 x 400, 256 color
         640 x 480, 256 color
         800 x 600, 256 color
        1024 x 768, 256 color
        BIOS mode
        VESA mode

     If BIOS is selected, then CImage uses the current  BIOS
     information for it's  display mode.   See the  BIOSINFO
     command  for   more   information  on   BIOS   graphics
     configuration.

     If VESA is selected, then CImage uses the current  VESA
     information for it's  display mode.   See the  VESAINFO
     command  for   more   information  on   VESA   graphics
     configuration.

NOTES:
     If [mode] is  not given,  then VMODE  will display  the
     current mode's information, and the available modes.

     Valid values for [val] are:
        11.......320 x 200, 256 color
        12.......640 x 400, 256 color
        13.......640 x 480, 256 color
        15.......800 x 600, 256 color
        17......1024 x 768, 256 color
        BIOS....BIOS mode
        VESA....VESA mode

     VESA is the preferred graphics configuration to run.

     CImage does  not  support  modes  with  less  than  256
     colors.

SHORTCUT:
     None.
