  --------------------------------------------------------------------------
  ESS-Code 7.5                                     \  \  \  \  \  \  \  \  \
  Electric Storm Software                          /  /  /  /  /  /  /  /  /
  Copyright 1993, 1994, 1995, 1996, Michel Forget  \  \  \  \  \  \  \  \  \
  --------------------------------------------------------------------------

                                   ========
                                   CONTENTS
                                   ========

              1.  Introduction

              2.  Registration
                  a) Registration Information
                  b) Registration Form
                  c) Site License Registration Form

              3.  ESS-Code Version Information
                  a) The Windows Version
                  b) The Windows95/WindowsNT Version
                  c) The DOS Version
                  d) The Atari Version

              4.  Distribution

              5.  Disclaimer

              6.  Contacting Electric Storm Software

              7.  Using ESS-Code
                  a. System Requirements
                  b. The Windows Version (16-BIT & 32-BIT Versions)
                     I)    Introduction
                     II)   Drag & Drop Support
                     III)  The Menu
                     IV)   The Extension Script Commands
                  c. The DOS Version
                     I)     Introduction
                     II)    Common Parameters
                     III)   Unique Parameters
                            i)   MIME.EXE
                            ii)  UNMIME.EXE
                            iii) SHIP.EXE
                            iv)  UUE.EXE
                     IV)    Help
                  d. ESS-Code Uninstallation

              8.  Acknowledgements

              9.  Third Party Copyrights
        
=============================================================================
1. INTRODUCTION
=============================================================================

     ESS-Code is an application designed to allow computer users to exchange
binary files across computer networks that do not support the transmission 
of binary information.  This task is accomplished by converting the binary 
file to an ASCII file, then converting the ASCII file back to its original 
state after transmission.

     There are four popular methods of conversion, each of which is named 
after the part of the process that performs the conversion; UUE, MIME, BTOA, 
and SHIP.  Since each of these conversion methods is an accepted standard, 
there are a wide variety of encoding/decoding utilities available for every 
major computer platform, including UNIX, Macintosh, Amiga, Atari, and many 
more.

     Why should you use ESS-Code instead of one of the many other utilities 
currently available?  There are many reasons:
    
     1)  SPEED            - ESS-Code is much faster than other coding
                            programs that I have tested.  In some cases, the
                            difference in speed is as much as 40%!  ESS-Code
                            was tested against several major Shareware
                            applications, and not one of them was faster.
                             
     2)  COMPATIBILITY    - There are versions of ESS-Code available for DOS, 
                            Windows, WindowsNT, and Windows95.  The 
                            conversion methods used by ESS-Code are standard, 
                            meaning that you can use other conversion
                            programs on other platforms (UNIX, Amiga, Atari,
                            & Macintosh) to process files that have been
                            converted with ESS-Code.  

     3)  OPTIONS          - ESS-Code was written with the needs of the user
                            in mind.  There are a host of user-configurable 
                            options that can be set to affect how output is 
                            generated, how ESS-Code behaves, and even how 
                            ESS-Code looks.

     4)  FLEXIBILITY      - ESS-Code supports UUE, BTOA, SHIP, MIME, File 
                            Splitting, File Joining, and more.  All of your 
                            file conversion needs are handled by one
                            application.

     5) BINARY NEWSGROUPS - Many USENET discussion groups (newsgroups) --
                            those with the word "binaries" in the name --
                            encode messages so that they can be distributed
                            to the public.

     6) ONLINE SERVICES   - Do you have a Genie, CompuServe, or AOL account?
                            Many online services do not provide a way to
                            send a file to another user in electronic mail,
                            or charge for this service.  If this is the case,
                            the file in question can be processed with
                            ESS-Code.

     [The following two considerations only apply to the Windows version.]

     7)  APPEARANCE    - ESS-Code is a Windows application, which means that 
                         it makes extensive use of menus, dialog boxes, and 
                         graphical output.  You are not required to remember 
                         any command line parameters, or type needlessly.  
                         Since ESS-Code is a Windows application, you can 
                         also access other programs while ESS-Code is 
                         performing a conversion, or perform more than one 
                         conversion at once.
   
     8)  HELP          - As you would expect of any application written for 
                         the Windows environment, ESS-Code has extensive
                         online help.  You can read the documentation 
                         online, search for keywords, and find information 
                         quickly when needed.  

=============================================================================
2. Registration
=============================================================================

-------------------------------
- a) Registration Information -
-------------------------------

OR:  Is this program worth $15.00 to me?

     If you believe that ESS-Code is a quality product and would like to
receive the registered version of the software, please send $15 (US/CDN)
to:

     Michel Forget (RE: PC)
     12209 Dovercourt Avenue
     Edmonton, Alberta
     CANADA
     T5L 4E1

     If you send a cheque to the address listed above, please make it payable
to Michel Forget.

     If you do not live in North America (and you are writing to this address
instead of the address for users in the United Kingdom), please send an
international money order or the equivalent of $15 in your own currency.
Please do not send a personal cheque unless you live in North America.

     For your convenience, we have included a registration form which can be
printed for improved service.

------------------------
- b) Registration Form -
------------------------

     You do not need to print this form to register.  It is provided for
your convenience only.  If you do not have a printer, or simply do not wish
to print this form, simply send your name, address, and registration fee to 
the address listed below.

TO:	Michel Forget (RE:  PC)
	12209 Dovercourt Avenue
	Edmonton, Alberta
	CANADA
	T5L 4E1

Dear Michel,

     I am sending you $15.00 (US/CDN) as my registration fee for ESS-Code.
Please send me a key that I can use to unlock all current and future versions
of ESS-Code.

Name:		____________________________________
Address:	____________________________________
		____________________________________
		____________________________________
		____________________________________
		____________________________________

     If you supply an Internet electronic mail address, your key will me sent to
you by electronic mail (in addition to being sent through normal paper-mail.

E-Mail:		[Internet]
		______________________________________________________
		[Other]
		______________________________________________________

[________] 	Please send a note to my Internet electronic mail address
                when new versions of ESS-Code are released.

     Please feel free to use the space provided below to record your comments,
suggestions, or bug reports (if any):

(insert as much space as you need before printing - we love feedback)

-------------------------------------
- c) Site License Registration Form -
-------------------------------------

     You do not need to print this form to register.  It is provided for 
your convenience only.  If you do not have a printer, or simply do not 
wish to print this form, simply send your name, address, and registration 
fee to the address listed below.

TO:     Michel Forget (RE:  PC)
	12209 Dovercourt Avenue
	Edmonton, Alberta
	CANADA
	T5L 4E1

Dear Michel,

     I am sending you $100.00 (US/CDN) as the site license registration fee
for ESS-Code.  Please send me a key that I can use to unlock ESS-Code on an
unlimited number of computers within my organization.  I understand that this
key will unlock all current and future versions of ESS-Code.

Name:		____________________________________
Address:	____________________________________
		____________________________________
		____________________________________
		____________________________________
		____________________________________


If you supply an Internet electronic mail address, your key will me sent 
to you by electronic mail (if possible) in addition to being sent through 
normal mail channels.

E-Mail:		[Internet]
		______________________________________________________
		[Other]
		______________________________________________________

[________]      Please send a note to the above Internet electronic mail
                address when new versions of this application are released.

What is the name of the archive you downloaded/received?  ________________

     Please feel free to use the space provided below to record comments,
suggestions, or bug reports (if any):

=============================================================================
3. ESS-Code Version Information
=============================================================================

     There are several distinct versions of ESS-Code available, each serving
a different operating environment but sharing a common version number.  The
archive you received this manual with will contain only one version of
ESS-Code.  If you should desire another of the available versions of
ESS-Code, it should be available where you found this archive under one of
the following filenames:

     THE WINDOWS VERSION                   ECD67WIN.ZIP

     THE WINDOWS 95 / WINDOWS NT VERSION   ECD71W95.ZIP

     THE DOS VERSION                       ECD66DOS.ZIP

     THE ATARI VERSION                     ECD64ATR.ZIP
                                           ESSCD64.ZIP

=============================================================================
4. Distribution
=============================================================================

     The unregistered version of ESS-Code may be distributed with the 
following limitations:

	GENERAL

             ESS-Code may be distributed free of charge; there can be no fee 
        charged for the distribution of ESS-Code other than reasonable media 
        charges.  ESS-Code may only be distributed in its entirety -- the 
        archive format may be changed, but all of the files in the original 
        archive must be included in the new archive.

	MAGAZINES

             ESS-Code may be included on disks or CD-ROMs included with (or 
        sold by) magazines without permission, providing that a courtesy 
        copy of the magazine (and media) is sent to Electric Storm Software 
        and all other rules of distribution are adhered to.

	CD-ROM SOFTWARE COLLECTIONS

             ESS-Code may be included on CD-ROM collections, providing that
        all rules of distribution are adhered to.  A courtesy copy of the
        media would but sincerely appreciated, but is not manditory.

     The limitations specified in this section are not designed to interfere 
with you; they are designed to protect the interests of Electric Storm 
Software.  If there are any questions about these limitations, please do not 
hesitate to contact Electric Storm Software.

=============================================================================
5. Disclaimer
=============================================================================

     ESS-CODE ("THE SOFTWARE") DOES NOT COME WITH ANY WARRANTY, EXPRESS OR 
IMPLIED.  IF YOU MAKE USE OF THE SOFTWARE, PLEASE BE AWARE THAT YOU DO SO AT 
YOUR OWN RISK.  NEITHER THE AUTHOR OF THE SOFTWARE (MICHEL FORGET) NOR ANY 
OTHER PARTY WILL ACCEPT RESPONSIBILITY FOR ANY DATA LOSS, EQUIPMENT DAMAGE, 
OR OTHER UNFORESEEN CONSEQUENCES OR DAMAGES THAT ARISE AS A RESULT OF THE 
USE OR MISUSE OF THE SOFTWARE.

=============================================================================
6. Contacting Electric Storm Software
=============================================================================

     Programming:     Michel Forget
     Design Testing:  Mike Bublitz

     If you would like to contact Electric Storm Software, please send an 
electronic mail message to mforget@planet.eon.net or mbublitz@agt.net 
-- your message will be answered promptly.  If you would like to contact 
Electric Storm Software in writing, either for the purposes of registration 
or to offer comments or suggestions, please write to:

     Michel Forget (RE: PC)
     12209 Dovercourt Avenue
     Edmonton, Alberta
     CANADA
     T5L 4E1

=============================================================================
7. Using ESS-Code
=============================================================================

--------------------------
- a. System Requirements -
--------------------------

     ESS-Code is not an application that will consume the resources of your
system.  If you would like to use ESS-Code on your system, you should have:

     DOS Version

          DOS >= 3.3

     Windows 3.1/3.11 16-BIT Version

          DOS >= 3.3
          Windows >= 3.1
          VGA (>=16 Colours)

     Windows95/WindowsNT 32-BIT Version

          80386 Processor
          Windows 95/WindowsNT
          VGA (16 Colours)

-----------------------------------------------------
- b. The Windows Version (16-BIT & 32-BIT Versions) -
-----------------------------------------------------

     INTRODUCTION

     The purpose of this section of the manual is to describe what each of
the features of ESS-Code does, and how to use them.

     ESS-Code is an application designed to allow computer users to exchange
binary files across computer networks that do not support the transmission 
of binary information.  This task is accomplished by converting the binary 
file to an ASCII file, then converting the ASCII file back to its original 
state after transmission.

     There are four popular methods of conversion, each of which is named 
after the part of the process that performs the conversion; UUE, MIME, BTOA, 
and SHIP.  Since each of these conversion methods is an accepted standard, 
there are a wide variety of encoding/decoding utilities available for every 
major computer platform, including UNIX, Macintosh, Amiga, Atari, and many 
more.

     The ESS-Code "client" (the shell that you work with) is a Windows
application; this means that you communicate with the client using menus,
dialog boxes, message boxes, and the mouse.  The results of your actions
are shown in the application window in a summarized graphical format.

     DRAG & DROP SUPPORT

        ESS-Code, like many other applications available, allows you to drag
a file from the program manager (or explorer) to the ESS-Code application
window to perform an encoding/decoding operation.

        When the file is dropped on the ESS-Code application window, a dialog
box will appear asking what should be done with the file.  After selecting
the appropriate action, ESS-Code will perform the action (asking for extra
information if necessary).


     THE MENU

     The ESS-Code user interface has four menus.  Each menu contains commands
that are related to one another.

     FILE

          The file menu allows you to perform various operations on files, 
     such as encoding, decoding, splitting, and joining.

       UUEncode File...	
       ----------------

            This command will allow you to convert a file of your choosing
       from binary to ASCII using the Dumas UUEncode file conversion method.

            If segmentation is enabled, the resulting output files will have 
       extensions of ".UAA", ".UAB", ".UAC", and so on. If segmentation is
       not enabled, the resulting output file will have an extension of
       ".UUE".

            This method of file conversion is very fast, but it is also very 
       inefficient.  After being converted, files are typically 20% larger 
       than their binary counterparts.  The most attractive feature of this 
       file conversion method is that it is supported by virtually every 
       computer platform in existence.

       UUDecode File...	
       ----------------

            This command will allow you to return a file converted with the 
       Dumas UUEncode file conversion method to its original binary state.

            Files that have been converted with the Dumas UUEncode file 
       conversion method have extensions of ".UUE", ".UAA", ".UAB", ".UAC",
       [...], ".UBA", ".UBB", ".UBC", and so forth.

            When decoding a segmented file using this file conversion method,
       you do not need to specify each of the segments.

       MIME-Encode File...	
       -------------------

            This command will allow you convert a file of your choosing from 
       binary to ASCII using the MIME file conversion method.

            If segmentation is enabled, the resulting output files will have 
       extensions of ".01", ".02", ".03", and so forth. If segmentation is 
       not enabled, the resulting output file will have an extension of ".M".

            This file conversion method, which is the newest of the file 
       conversion methods to be developed, is rapidly gaining in popularity.
       It is fast, efficient, and flexible.  If you know that the person or 
       machine receiving your data can process MIME-Encoded files, this is 
       the best file conversion method to use.

       MIME-Decode File...	
       -------------------

            This command will allow you to return a file converted with the 
       MIME file conversion method to its original binary state.

            Files that have been converted with the MIME file conversion 
       method have extensions of ".M", ".01", ".02", ".03", and so forth.

            When decoding a segmented file using this file conversion method,
       you do not need to specify each segment of the file to be decoded
       (though you can do so if you wish).  Only the first segment must be 
       specified.

       SHIP-Encode File...	
       -------------------

            This command will allow you convert a file of your choosing from 
       binary to ASCII using the SHIP file conversion method.

            To retain compatibility with the UNIX implementation of SHIP, the 
       output of this encoding method is always a series of files named 
       "PART0001", "PART0002", and so forth.  While not a desirable
       situation, this is an unfortunate necessity.

            This file conversion method, though available, should not be used
       unless there is no other option available.  MIME-Encoding, which is 
       nearly as efficient, is much more flexible than SHIP-Encoding.

       SHIP-Decode File...	
       -------------------

            This command will allow you to return a file converted with the 
       SHIP file conversion method to its original binary state.

            Files that have been converted with the SHIP file conversion 
       method have names such as "PART0001", "PART0002", "PART0003", and so
       forth.

            When decoding a segmented file using this file conversion method, 
       you do not need to specify each segment to be decoded (though you can 
       do so if you wish).  Only the first segment must be specified.

       BTOA-Encode File...	
       -------------------

            This command will allow you convert a file of your choosing from 
       binary to ASCII using the BTOA file conversion method.

            To retain compatibility with the UNIX implementation of BTOA, the 
       output of this encoding method cannot be segmented.  If you need to 
       segment the output, you can use the "Split File..." command to do so.
       If the resulting file is to be rebuilt on a UNIX system, you will need
       to use the "cat" command in the following fashion (after removing 
       network message headers):

       /usr/mforget/> cat file.1 file.2 file.3 file.4 file.5 >the.whole.file
       /usr/mforget/> atob the.whole.file output

       BTOA-Decode File...	
       -------------------

            This command will allow you to return a file converted with the 
       BTOA file conversion method to its original binary state.

            Files that have been converted with the BTOA file conversion 
       method have extensions of ".B2A".

       Split File...	
       -------------
 
            This command will allow you to split a file into segments so that 
       it may be written to disk for transportation or so that it may be 
       transmitted across a network.  It is important to recognize that the 
       file (once split using this method) will not be able to be processed 
       by any conversion method until it is once again rebuilt.  If ESS-Code 
       is not available for the platform on which the file will be rebuilt, 
       there are many other utilities available that can perform this task 
       (or it could be performed manually using a text editor).

       Join File...	
       ------------

            This command will allow you to rejoin the parts of a file that 
       has been split by ESS-Code. You do not need to specify the name of 
       each segment to join.  Instead, you are only required to specify 
       the name of the first segment (and ESS-Code will determine the 
       other segment names).

       Apply Filter
       ------------

            This command will allow you to repair UUEncoded files that have
        been distributed in a corrupted (non-standard) format.  This is most
        often the case when files are distributed through USENET discussion
        groups or when files are distributed by ftp-mail software.

             Files are repaired by using a special template called a filter.
        The filter consists of a data start sequence, a data end sequence,
        and two instance counters.

             Each filter consists of four individual elements; a data start
        sequence, a data end sequence, and two instance counters.  The data
        start sequence is a unique set of characters that appear on the line
        immediately before the encoded data begins.  The data end sequence
        is a unique set of characters that appear on the line immediately
        after the encoded data (for the segment) is complete.  The two
        instance counters determine how many times the sequence in question
        (start or end) should be located before ESS-Code starts or stops
        recording data.

             There are several filters included with ESS-Code, but the filter
        you need may not be available.  If this is the case, you can create
        your own filter (and save it if you expect to need it more than
        once).
        
             Once a file has been passed through a filter, the output will
        consist of one non-segmented, standard, UUEncoded file.

        Reset LOG File
        --------------

             This command is only available in the 32-BIT version of
        ESS-Code.

             This command will allow you to erase the file that ESS-Code uses
        to record information about the actions you perform while using
        ESS-Code.  This file is required so that you have a way of tracking
        where encoded/decoded files have been placed, and what options were
        used for each encoding/decoding operation.  It also provides you with
        a cumulative written record of what you have done with ESS-Code.  If
        you find that the file is growing too large, simply select this
        command to erase it.


       Exit	
       ----

             This command will allow you to exit ESS-Code.  You will not be 
        asked for confirmation unless your options have changed and the 
        AutoSave Options feature is disabled.

     SEGMENTATION

          When ESS-Code is processing a file, it can split the output file 
     into segments so that it can be placed on floppy disks for 
     transportation or transmitted over networks that cannot accommodate 
     large messages.  The segmentation menu allows you to determine the size 
     of the segments that ESS-Code will create.

       Preset Segment Size
       -------------------

            The segment sizes that are shown in this submenu are typical 
       segment sizes that are commonly used.

       User Defined Size	
       -----------------

            If none of the preset segment sizes match your needs, you can 
       specify a segment size of your own by selecting this menu entry.

       No Segmentation	
       ---------------  

            If you do not need segmentation, select this menu entry to 
       disable it.

     OPTIONS

          The options menu allows you to control how ESS-Code encodes and 
     decodes files.  You can also significantly alter the look-and-feel of 
     the application using the commands found in this menu.

       UUEncode	
       --------

       Full Path Specification    This command forces the inclusion of the
                                  full pathname of the file being encoded in
                                  the encoded file.  Normally, UUEncoded
                                  files only contain the filename and
                                  extension of the file being encoded.

       Generate Table             This command forces the generation of a
                                  table of characters to compensate for
                                  corruption by ill-behaved network
                                  mailers.  This table, while not usually
                                  required, can be useful in some
                                  situations.

       SHIP-Encode
       -----------

       Fast Mode                  Selecting this menu entry will force the 
                                  SHIP file conversion method to use a 
                                  slightly less efficient (but slightly 
                                  faster) method of encoding.

       MIME-Encode
       -----------

       Subject                    If you select this menu entry, the MIME 
                                  file conversion method will prompt you for 
                                  a message subject to apply to the outgoing 
                                  (encoded) data.

       Description                If you select this menu entry, the MIME 
                                  file conversion method will prompt you 
                                  for the name of a file containing a 
                                  description of the outgoing (encoded) data.

       Specify Content Type       Selecting this menu entry will cause the 
                                  MIME file conversion method to prompt you 
                                  for a content-type to apply to the outgoing 
                                  (encoded) data.  The content-type must be a 
                                  subtype of application, audio, image, or
                                  video.

       MIME-Decode / SHIP-Decode
       -------------------------

       Quick Find                 If you select this menu entry, ESS-Code
                                  will only require you to specify the name 
                                  of the first segment of a file that was 
                                  encoded with the MIME/SHIP file conversion
                                  methods.  ESS-Code will attempt to
                                  determine the names of all subsequent 
                                  segments.  This option, which is enabled 
                                  by default, should only be disabled if the 
                                  file you are decoding does not conform to 
                                  the naming standard used by ESS-Code, or 
                                  if the segments of the file you are 
                                  decoding reside in multiple directories 
                                  on your system.

       Client Execution Mode
       ---------------------

       Hidden                     If you select this menu entry, ESS-Code 
                                  will hide servers when they are launched 
                                  so that they have no visible output and do 
                                  not appear on your monitor.

       Minimized                  If you select this menu entry, ESS-Code 
                                  will minimize servers when they are 
                                  launched so that they have no visible 
                                  output, but appear as an icon (which can 
                                  be opened should the need arise).

       Background Window          If you select this menu entry, ESS-Code
                                  will display the output of servers in a
                                  background window when they are launched.
                                  This leaves you free to continue working 
                                  with ESS-Code.

       Foreground Window          Selecting this menu entry will cause 
                                  ESS-Code to display the output of servers 
                                  in a foreground window when they are 
                                  launched.  This allows you to see the 
                                  contents of the entire window.  If you 
                                  wish to continue working with ESS-Code 
                                  while the server is operating, simply 
                                  click on the main application window of 
                                  ESS-Code.

       Quick Termination          Selecting this menu entry will cause
                                  ESS-Code to remove server windows (if 
                                  visible) immediately after the server has 
                                  finished the task it was assigned.  While 
                                  this prevents you from viewing the output 
                                  of the encoding/decoding operation, it 
                                  makes system resources available to the 
                                  system that would otherwise be unavailable 
                                  until the server window was closed 
                                  manually.

       UNIX Line Termination
       ---------------------

            If you select this menu entry, each line of  encoded output will 
       end with a UNIX line-end character instead of a DOS line-end
       character.  This prevents "^M" from appearing after every line when 
       the encoded file is processed by a UNIX network mailer.

       Overwrite Confirmation
       ----------------------

            Selecting this menu entry will cause ESS-Code to ask for 
       confirmation before it overwrites any existing files during an 
       encoding, decoding, file splitting, of file joining operation.

       AutoSave Options
       ----------------

            If you select this menu entry, ESS-Code will automatically save 
       your options before you exit if they have been changed.

       Save Options
       ------------

            Selecting this menu entry will cause your options to be saved 
       immediately.

       Save Options As...
       ------------------

            Selecting this menu entry will allow you to save your options 
       using a filename (and location) of your choosing.

       Load Options...
       ---------------

            Selecting this menu entry will allow you to load a previously 
       saved set of options.

     HELP

          The help menu allows you to search for help on a specific topic, 
     use the online manual, learn how to use the help system, and much more.

     Contents
     --------

          If you select this menu entry, you will be shown the contents of 
     the online manual.

     Search...
     ---------

          This menu entry will allow you to search for help within the 
     online manual on a topic of your choosing.

     Index
     -----

          If you select this menu entry, you will be shown the index of the 
     online manual.

     Using Help
     ----------

          If you do not know how to use the help system, select this menu 
     entry to learn more about it.

     About ESS-Code...
     -----------------

          This menu entry will allow you to view general information about 
     ESS-Code, including copyright and shareware information.

     THE EXTENSION SCRIPT COMMANDS

          If you discover a conversion method that ESS-Code does not
     support, you can now incorporate it directly (and seamlessly)
     into ESS-Code through a new feature known as an extensible menu
     system.  Extensions are menu entries that are displayed at the
     bottom of the file menu.

     There are two steps involved in creating an ESS-Code extension:

          1) In the ESSCODE.INI file (located in c:\windows) add a new line
             using the following format:

             EXTENSION = <menu entry name>,<script>

             Example:  EXTENSION = "View .&ZIP Contents",c:\viewzip.ess

             This command MUST be typed exactly as it appears, since case
             and spacing is expecially important.

             In the <menu entry name> field, you may specify a keyboard
             shortcut by typing a "&" immediately before the letter you
             want to be able to press to activate the menu entry.

          2) Create an ESS-Code extension script that has the same name
             and location as the <script> specified above.

             An example script is shown below, followed by a detailed
             dicussion of all the script commands available.

             ' Extract .ZIP File USING PKUNZIP.
             ' This script could be improved by using the "ASK INPUT FILE"
             ' and "ASK OUTPUT FILE" commands.
             SET TEMPLATE C:\PKUNZIP.EXE %RESPONSE %RESPONSE %RESPONSE
             SET YES -d
             SET NO -e
             ASK YN Do you want to preserve the directory structure of the ZIP file?
             ASK INFORMATION What is the name of the ZIP file to extract?
             ASK INFORMATION What folder do you want to extract the ZIP file to?
             ASK CONTINUE Proceed?
             GO
             TELL The file has been extracted.

     Extension Script Commands
     -------------------------

     Command                 Explanation
     -------                 -----------
     '                       This is the symbol used for a comment.
                             Any extension script commands or text
                             that appears on the same line as this
                             symbol will be ignored.

     SET TEMPLATE <text>     This command is required.  It describes
                             what the final command line passed to the
                             tool the script is being written for will
                             look like.  As the other extension script
                             commands obtain information from the user,
                             the "%RESPONSE" fields are replaced (from
                             left to right) with the actual information
                             supplied by the user.  Several example
                             templates are shown below:

                                  SET TEMPLATE c:\z.exe -%RESPONSE $RESPONSE

                                  In this case, the user might be expected to
                                  enter a one letter command switch, which
                                  ESS-Code would then insert immediately
                                  after the "-".

                                  SET TEMPLATE type %RESPONSE

                                  In this case, the user might be expected to
                                  enter the name of the file, which ESS-Code
                                  would then insert after the text "type "
                                  (including the space).

                             The template is requried because it
                             determines where the information will be
                             placed on the command line.

     ASK CONTINUE <text>     This command will cause a message box to
                             appear containing <text>.  If the user
                             responds by clicking on the "No" button,
                             the extension script will end.  The most
                             command use of this command is to ask the
                             user "Do you really want to proceed with
                             this operation?".

     ASK YN <text>           This command will cause a message box to
                             appear containing <text> (a question).  The
                             user can either click on the "Yes" button or
                             the "No" button in response to the question.
                             This command must be used in conjunction
                             with the "SET YES" and "SET NO" commands
                             discussed below.

     SET YES <text>          This command must appear BEFORE the "ASK YN"
                             command.  It determines what text will be
                             placed on the command line if the user
                             clicks on the "Yes" button in response to
                             an "ASK YN" command.

     SET NO <text>           This command must appear BEFORE the "ASK YN"
                             command.  It determines what text will be
                             placed on the command line if the user
                             clicks on the "No" button in response to
                             an "ASK YN" command.

     SET YES ABORT           This command must appear BEFORE the "ASK YN"
                             command.  It will cause the extension
                             script to end if the user clicks on the
                             "Yes" button in response to an "ASK YN"
                             command.

     SET NO ABORT            This command must appear BEFORE the "ASK YN"
                             command.  It will cause the extension
                             script to end if the user clicks on the
                             "No" button in response to an "ASK YN"
                             command.

     TELL <text>             This command will cause a message box to
                             appear containing <text>.  it is used to
                             inform the user of information that you
                             feel they should be aware of.

     SET DISPLAY MODE <mode> This command is used to determine how the
                             tool the script is being written for will
                             look when it is executed.  There are four
                             display modes available:

                                  Mode            Explanation
                                  ----            -----------

                                  HIDDEN          The tool will not be
                                                  visible.  This allows
                                                  seamless integration with
                                                  ESS-Code.

                                  MINIMIZED       The tool will not be
                                                  visible, but can be
                                                  made visible by clicking
                                                  on the desktop icon that
                                                  represents it.

                                  BACKGROUND      The tool will be visible,
                                                  but only a a background
                                                  window (portions of the
                                                  window may be obscured by
                                                  other windows).

                                  FOREGROUND      The tool will be visible,
                                                  and it will execute in the
                                                  foreground (the entire
                                                  window can be seen).

     ASK INFORMATION <text>  This command will cause a dialog box
                             containing <text> (a request for
                             information) to appear on the screen.
                             The user can type a response, which
                             ESS-Code will insert into the template.

     ASK INPUT FILE <title>  This command will cause the standard file
                             selection dialog box to appear, with the
                             title bar set to <title>.  This command
                             should be used to request the name of a
                             file from the user.  It should only be used
                             for requesting source (input) files, since
                             it requires that the file selected be a
                             valid, existing file.

     ASK OUTPUT FILE <title> This command will cause the standard file
                             selection dialog box to appear, with the
                             title bar set to <title>.  This command
                             should be used to request the name of a
                             file from the user.  It should only be used
                             for requesting destination (output) file
                             names, since it does not require that the
                             name selected be an existing file.

     GO                      This command instructs ESS-Code to
                             execute the command line.  This does
                             not automatically end the script, but
                             the only command that it would make sense
                             to use after the tool has been executed is
                             "TELL".

----------------------
- c. The DOS Version -
----------------------

     INTRODUCTION

     The purpose of this section of the manual is to describe what each of
the features of ESS-Code does, and how to use them.

     ESS-Code is an application designed to allow computer users to exchange
binary files across computer networks that do not support the transmission 
of binary information.  This task is accomplished by converting the binary 
file to an ASCII file, then converting the ASCII file back to its original 
state after transmission.

     There are four popular methods of conversion, each of which is named 
after the part of the process that performs the conversion; UUE, MIME, BTOA, 
and SHIP.  Since each of these conversion methods is an accepted standard, 
there are a wide variety of encoding/decoding utilities available for every 
major computer platform, including UNIX, Macintosh, Amiga, Atari, and many 
more.  Each of the applications that form the backbone of ESS-Code has been
ported directly from their UNIX counterparts, with the exception of MIME.EXE
which is based entirely on the DOS version of MPACK.EXE (with minor cosmetic
changes and several additional features which make it easier to use).  In
all situations, compatibility with the UNIX implementation takes
precedence over any other consideration.  This can lead to some strange
behaviour (such as the file naming method used by SHIP.EXE) but is much
preferable to having a program that cannot communicate with the software
on which it was based.

     Unlike the Windows version, there is no "client" aspect to the DOS
version of ESS-Code.  Instead, you communicate directly with DOS
implementations of the various file conversion methods offered by ESS-Code.
This form of interaction is most often used by bulletin board systems,
electronic mail gateways, and other "batch" applications (since no human
interaction is required).  This method of interaction is also ideally
suited to people who like prefer DOS to Windows.

     If you do not know what command to use on the command line for an
ESS-Code application, simply type the name of that application and
you will be shown a "usage" page.  If you want more information on a
command than is shown on the usage page, or more information than is
shown in this section of the manual, please read the section of the
manual about the Windows version of ESS-Code.  It explains every option
in detail.

     COMMON PARAMETERS

     ESS-Code is a complex set of applications that encompasses many
different file conversion methods, but every effort has been made to ensure
that each of the applications that form ESS-Code look and feel the same as
the others.  In addition to this, many of the applications share the same
parameters.  This section of the manual discusses those parameters which
are common to all of the applications that for ESS-Code.

     The following command applies to all ESS-Code applications:

     Name                   Brief Explanation
     ----                   -----------------
     -c                     This parameter enables overwrite confirmation.
                            You will be prompted before any file are
                            destroyed by ESS-Code, and given the chance
                            not to continue.

     The following command applies to all ESS-Code encoding applications:

     Name                   Brief Explanation
     ----                   -----------------
     -u                     This parameter enables UNIX Line Termination.
                            Instead of ending each line of encoded ASCII
                            data in a file with the standard MS-DOS line-end
                            character, the UNIX line-end character will be
                            used.

     The following command applies to all ESS-Code encoding applications
that are capable of producing segmented output, except MIME.EXE:

     Name                   Brief Explanation
     ----                   -----------------
     -s<size>               This command will enable segmented output.

     UNIQUE PARAMETERS

     Several of the applications that form ESS-Code have unique capabilities.
This section of the manual describes what those capabilities are:

     MIME.EXE:

     Name                   Brief Explanation
     ----                   -----------------
     -s <subject>           This applies a subject to the outgoing (encoded)
                            message.  If the subject contains spaces, quote
                            it.

                            Example:  -s "This is a test."

     -d <description file>  This applies a description to the outgoing
                            (encoded) message.  The description should be
                            contained in an ASCII file, and should be no
                            more than eighty characters wide.

     -m <characters>        This parameter enables segmentation, as
                            described in the preceding section.

     -t <content-type>      This command allows you to manually specify
                            the content-type of the outgoing (encoded)
                            message.

     UNMIME.EXE

     Name                   Brief Explanation
     ----                   -----------------
     -q                     This command will prevent MIME.EXE from
                            displaying as much output as it normally
                            does.

     -d <directory>         The UNMIME.EXE application normally places
                            output in the current directory.  If you do
                            not want this to happen, you can specify an
                            alternate directory with this command.

                            Example:  -d D:\USER\MFORGET

     SHIP.EXE

     Name                   Brief Explanation
     ----                   -----------------
     -f                     This command enables "fast" mode.  This mode is
                            slightly faster, but slightly less efficient,
                            than the normal file conversion method used.

     UUE.EXE

     Name                   Brief Explanation
     ----                   -----------------
     -f                     This command will cause ESS-Code to record the
                            full pathname of the file being encoded within
                            the encoded file, instead of simply recording
                            the filename.

     -t                     This command will cause ESS-Code to generate
                            a table of ASCII characters, which helps prevent
                            ill-behaved network mail software from corrupting
                            the encoded data during transmission.

------------------------------
- d. ESS-Code Uninstallation -
------------------------------

     Windows95
     ---------

     If you have Windows95, ESS-Code can be automatically uninstalled
simply by following this procedure:

     1.  Open "Control Panel"

     2.  Select "Add/Remove Software"

     3.  Select "ESS-Code"

     4.  Select "Add/Remove"

     WindowsNT
     ---------

     If you have WindowsNT, the uninstallation process can still be
automated after following this procedure:

     1.  Open A Console Window

     2.  Type:

         [windows path]\delsrv.exe [windows path]\ESS-Code - Uninstallation Data

     NOTE:  Substitute the path of your windows directory where appropriate.

     This can also be done by creating a program manager item with the
command line shown above.

=============================================================================
8. Acknowledgements
=============================================================================

     ESS-Code is only possible because of the following people:

     Eric Stano
     Paul Rutter & Joe Orost
     John G. Myers
     Mark Adler
     Mike Bublitz
     Denesh Bhabuta
     Erlend Nagel
     RSA Data Security, Inc.
     Carnegie Mellon University
     Bell Communications Research, Inc.
     Ed Jay
     Al Southwell

     I would also like to thank Cyber City BBS (which can be reached at
+60-3-758-7400) for creating a special software area for Electric Storm
Software products.

     There have been many other individuals who have contributed to the
development of this product who are too numerous to name.  Their help is
recognized and appreciated, though.

=============================================================================
9. Third Party Copyrights
=============================================================================

The following copyright (and notice) apply to the modified MPACK/MUNPACK
used by ESS-Code.  Since the two utilities have been modified (in cosmetic
terms only) the names "mime" and "unmime" have been used instead of the
original names.

(C) Copyright 1993, 1994 by Carnegie Mellon University
All Rights Reserved.

Permission to use, copy, modify, distribute, and sell this software
and its documentation for any purpose is hereby granted without fee,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the name of Carnegie Mellon
University not be used in advertising or publicity pertaining to
distribution of the software without specific, written prior
permission.  Carnegie Mellon University makes no representations about
the suitability of this software for any purpose.  It is provided "as
is" without express or implied warranty.

CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.

Portions of this software are derived from code written by Bell
Communications Research, Inc. (Bellcore) and by RSA Data Security,
Inc. and bear similar copyrights and disclaimers of warranty.

--
Portions of this product are copyrighted by Borland International, Inc.
Trademarks are property of their respective owners.

