    -------------------------------------------------------------------------
    INTRODUCTION
    -------------------------------------------------------------------------

    -----------
    SoftConfig:
    -----------
    The requirements of a program can change as the user learns more
    about their system and software.  A program that uses requestors
    to walk a new user thru certain functions, for instance, can become
    a hinderance to a more advanced user: enter software configuration.
    The 'SoftConfig' program allows setting the environment used by
    all programs located on the utility disk series (except disk #1)
    available from MIKE HURT SOFTWARE!.  This environment could range
    from using the default public screen for all windows opened as
    opposed to using the screen requested by the program, to
    automatically advancing to the top of the next page before or
    after printing text, to setting the program's expert user level
    (some programs will walk you through at novice level).  The
    software configuration system is expandable as new functions are
    added and shared between programs.  All currently supported
    configuration variables (or 'flags') are displayed in the
    'SoftConfig' preferences window by description.  'SoftConfig'
    allows the user to taylor the programs' environment to suit
    their individual needs or preferences.


    -----
    CCFQ:
    -----
    'CCFQ' allows easy 'communication' with currently running programs
    using the 'ccfq' standard/ convention.  For example: if 'PC',
    'DiskMonitor', & 'MemMonitor' are currently running and no
    preferences windows are being displayed, the programs are considered
    to be 'hidden'.  You would need to enter the name of the program
    followed by the command (ie., '-p' or '-q') from the CLI/ Shell
    to display the programs preferences window or 'exit' the program
    entirely.  The 'CCFQ' program allows a single program or interface
    to pass program specific commands like 'pref' & 'quit' directly to
    any program supporting this convention: unlike using the dash ('-')
    options for each program.  'CCFQ' sends commands to a specific
    program.  For example, if you've started two 'PC' programs, then
    use the 'PC -q' command trying to exit one of them, both programs
    would quit.  'CCFQ' allows you to select the specific program
    you'd like to quit: 'CCFQ 1 quit'.  Thereby exiting the unwanted
    'PC' program while leaving the other currently running 'PC'
    program undisturbed.


    -------------------------------------------------------------------------
    FEATURES
    -------------------------------------------------------------------------

    --------------------------
    Standard features include:
    --------------------------
    o - Multitasks.
    o - Uses standard INTUITION interfaces.
    o - Adjusts to different WORKBENCH environments.


    -------------------------
    Special features include:
    -------------------------
    Uses the 'SOFTCONFIG' environment.


    -------------------------
    Program features include:
    -------------------------
    o - Modify the special SOFTCONFIG environment.
    o - 'Talk' to programs using the CCFQ convention.


    -------------------------------------------------------------------------
    USING SOFTCONFIG
    -------------------------------------------------------------------------

    ----------------
    Getting Started:
    ----------------
    You can start 'SoftConfig' from either the CLI/ Shell or from WORKBENCH
    by double-clicking on the supplied icon.

    To start 'SoftConfig' from the CLI/ Shell enter:

    >Run SoftConfig


    --------------------------
    Understanding the options:
    --------------------------
    There are 200 independant configuration variables that exist in the
    software configuration file.  Each one of these variables can have
    a value ranging from 0 - 255.  By changing these values, you can alter
    the way a program behaves.  For example, you can specify graphics
    printing programs to print graphics at 50% normal size or open
    windows on the default public screen instead of the WORKBENCH screen
    etc.,.

    To understand what each configuration variable (also called 'flags')
    will do, click on the "[ ? ]" (flag query description) button next
    to the configuration flag you need more information on.  You will be
    presented with a short description of what purpose the variable will
    serve other programs.

    Be sure to check this information to see what values are correct for
    a specific 'flag' before changing it:  wrong values can cause
    unpredictable results!

    The window's title bar will display general configuration information
    such as which program's features will be effected by the 'flags'
    currently being displayed.


    -------------
    Project Menu:
    -------------
    ABOUT ........ Program's info & credits.
    QUIT ......... Exit 'SoftConfig'.


    -----------------------------
    Checking the value of a flag:
    -----------------------------
    You can check the value of a specific flag from the CLI/ Shell by
    using:

    >Run SoftConfig -v15

    ... this will display the current value of flag #15.


    ---------------
    Setting a flag:
    ---------------
    You can set the value for a specific flag from the CLI/ Shell by
    using:

    >Run SoftConfig -f15:80

    ... this will set the value flag #15 to 80.  The flag and it's
    new value MUST BE SEPERATED BY A COLON (':')!  By setting a flag
    this way, the change will only be temporary.  When your system
    is rebooted, the prior value for the flag will be restored.


    If you change the value of a flag from within the 'SoftConfig'
    window, you can:

      Temporarily apply the change by selecting "[ USE ]"

                                 ... or ...

      Permanently apply the change by selecting "[ SAVE ]"

    ... by selecting "[ SAVE ]", the values specified will also become
    the currently used values.


    -------------------------------------------------------------------------
    USING CCFQ
    -------------------------------------------------------------------------

    ----------------
    Getting Started:
    ----------------
    'CCFQ' should only be started from the CLI/ Shell.  If 'CCFQ'
    exits without displaying any programs or information, then
    there are no programs running or have been programs running that
    use the 'ccfq' convention.  You can start 'CCFQ' from the CLI/
    Shell by:

    >Run CCFQ

    ... this will display all 'ccfq' programs currently running, and
    prompt you for the command to be taken.  Pressing [RETURN] will
    exit 'CCFQ' without taking any action.

    Each currently running 'ccfq' program is assigned a task number
    associated with it's position in the 'ccfq' task list.  If a
    'ccfq' task exits, another 'ccfq' program can take it's place
    in the task list using the same task number.  Therefore, if you
    exit a program using 'CCFQ', be sure to check the 'ccfq' task
    list before re-issuing the same 'ccfq' exit command!

    If you know the task number associcated with the 'ccfq' program
    you can send commands to it directly from the CLI/ Shell using:

    >Run CCFQ <task #> <command>

    ... this will send the <command> like 'quit' directly to the
    program associated with <task #>.


    ---------------------
    Understanding 'CCFQ':
    ---------------------
    Basically, the 'ccfq' convention is a random access file located
    in your current ENV: directory.  Each record in the file corrosponds
    to a task: record #1 is task #1, etc.,.  Any time a program is
    started that 'logs' itself in this file (this is called using the
    'ccfq' convention) a free record is selected to contain the program
    name and system task address for that particular program.  The
    currently running program will, if 'hidden', check for the presence
    of it's personal 'ccfq' file which is 'ID-ed' by the system
    task address for the program.  Therefore, when you issue a command
    via 'CCFQ', the record associated with the <task #> is read, the
    system address of the program is extracted and a new file is created
    in the ENV: directory containing the command passed to 'CCFQ'.

    When entering commands via programs that use the 'ccfq' convention,
    this random access file is read sequentially, and all programs that
    are 'logged' in with the same name as the program issuing the command
    will be sent the command.  Therefore, in the example in the
    introduction, both 'PC' programs, using this technique, would exit.


    -------------------------------------------------------------------------
    FOR ADVANCED USERS
    -------------------------------------------------------------------------

    ---------------------
    Configuring software:
    ---------------------
    The extended printer preferences is an ASCII text file that
    contains escape sequence commands to enable certain printer
    functions that are not directly available using the standard
    system printer preferences program(s).  For example, setting
    expanded or double width text printing, etc.  If enabled,
    this file will be sent to the printer before any text has
    been printed, therefore causing all text printed to be
    in the expanded format.  This file 'printersys.cfg' can be
    editing using a standard text editor.


    --------------------------
    Commanding other Programs:
    --------------------------
    Place 'CCFQ' in your c: directory or path providing access to all
    programs using the 'ccfq' convention from any CLI/ Shell without
    having all the programs located in your current c: directory or
    path and using the '<program> -<?>' command syntax for each one.
    Most 'ccfq' commands are exactly the same for all programs using
    that convention.  See the online help for 'CCFQ' for more
    information.


    -----------
    Final Note:
    -----------
    'FKEY' can be used to 'launch' this program via pre-determined
    keystroke(s).


    -------------------------------------------------------------------------
    CREDITS
    -------------------------------------------------------------------------

    This program was designed and coded by Michael Thomas Hurt  of
    MIKE HURT SOFTWARE!, coded in & compiled using Blitz Basic 2.0
    available from Acid Software.

    Software testing was done using:

      o - Amiga 500 : AmigaDOS 2.1, GVP HD 500+ w/ 2MEGS.

      o - Amiga 2000: AmigaDOS 2.1, Microbotics VXL030 w/MMU,
          Microbotics VXLRAM 2MEGS, Microbotics 8-UP! 4MEGS,
          GVP Series II hard card w/ 100MEG HD.

      o - Amiga 3000: AmigaDOS 2.1, 6MEGS.

      o - Amiga 4000: AmigaDOS 3.0


    -------------------------------------------------------------------------
    PROGRAM HISTORY
    -------------------------------------------------------------------------

    -----------
    SoftConfig:
    -----------
    v1.0    07/16/1995    Original program.


    -----
    CCFQ:
    -----
    v1.0    07/20/1995    Original program.