Copyright: (C) 1991-1993 Sabasoft. All Rights Reserved.


Main Menu
UUCODE Version 2.0

A UNIX™ Compatible Multipart UU Encoding and Decoding Program

for Microsoft Windows™ 3.0 & 3.1

UUCODE Copyright © 1991, 1992, 1993 by Sabasoft

All Rights Reserved

UU Encoding & Decoding

The Shareware Concept

Documentation Conventions

Version Information

Installation

Program Operation

Procedures

Commands

Keyboard

System Requirements and Usage

General Operating Information

Multiple Part UU Formats

If You Encounter Problems

Technical Support

Contacting Sabasoft

ABOUT THIS LICENSE

ORDER FORM

DISTRIBUTION SURVEY


UU Encoding & Decoding

Whenever you need to send binary data over a communications link or network such as the Internet which cannot handle 8-bit data, then UU encoding and decoding are your solution.  Binary data is used in file types with extensions of .EXE, .COM, ZIP, .ARC, .LZH, .ZOO, and others.

UU encoding and decoding are also required to send binary data files between popular on-line services such as GEnie, America On-Line, Compuserve, and educational and other sites on the Internet.

Another popular use for UU encoding and decoding is the Internet network news facility. Again, the reason is to allow binary data to be sent without requiring 8-bit binary data.  PC interfaces to the Internet which support the network news capability are now available as well.

Now you can handle these encoded files on a Windows 3.0/3.1 equipped PC such that UU encoding and decoding is possible between two PCs or between your PC and a UNIX system.  UUCODE can do both encoding and decoding, and is fully compatible with the standard "uuencode" and "uudecode" programs found on UNIX systems.

Now a brief bit about history.  Those familiar with UNIX systems are probably aware of the need for encoding binary files to send via electronic mailing (e-mail) programs. If not, the "UU" stands for UNIX-to-UNIX, where the program originated. The limitation of the mail programs on UNIX was that only 7-bit ASCII characters were supported, not 8-bit binary. The solution to the problem was to then convert the 8-bit binary data into a form usable by the e-mail programs. That solution was to generate (encode) four ASCII characters from every three binary characters, which is basically converting 6-bits of binary information into 8-bits of ASCII characters (only 7 bits are used). This guarantees that only ASCII text is sent when the encoded output is sent over computer communication links. Similarly, the decoding process converts four ASCII characters into three binary characters. The penalty of this approach is that the encoded file is 33% larger than the original file, but that's better than not being able to mail binary data at all!


The Shareware Concept

UUCODE is a shareware program.  The shareware concept allows you to try out the software before you buy it.  It is not free software and is copyrighted by the author.  Unlike demonstration versions of software, UUCODE is fully functional and not limited or crippled in any way.

In addition, you may freely distribute the unmodified version of this software to allow others to try it before they buy.  If you continue to use this software, then you are obligated to purchase it via registration.  An order form to purchase UUCODE is contained in the ORDER FORM section.  The shareware version pops up a reminder notice for registration, however, as previously indicated, no features are limited or missing.  Registered users receive a version which does not provide these reminders.

For full details of your rights for using and distributing UUCODE, please refer to the ABOUT THIS LICENSE section.


Documentation Conventions

Programs are indicated using small uppercase letters in the following font (9 point Times New Roman):

UUCODE or FILE MANAGER.

File names are indicated using uppercase letters in the following font (12 point Courier New):

this is a FILENAME.

Menu commands are indicated by Menu|Item, where Menu is the top level menu for the program, and Item is the particular choice within the menu.  The underlined letters indicate the hot keys associated with those menu items.

When you see bold phrases within paragraph text, such as A Bold Phrase, this indicates a pointer to the so named heading elsewhere in this document where more detailed information can be found.

The bitmaps in this document were created in standard VGA mode: 640 x 480 x 16 colors.

The Windows 3.1 TrueType ® fonts were used.


Version Information

This package contains Version 2.0 of UUCODE, which is a copyrighted shareware program.

Version 2.0

Version 1.7

Version 1.6

Version 1.5


Version 2.0

UUCODE version 2.0 was released in January 1993.  UUCODE has been significantly enhanced from versions 1.5 through 1.7.  Version 2.0 contains all the features of version 1.X plus the following new features:

General Features:

-	Use of common dialog box functions present in Windows 3.1   (Windows 3.0 users can still take advantage of this feature with the COMMDLG.DLL file supplied).

-	Full drag and drop support with multiple file capability (Windows 3.1 only).

-	New user interface providing more interactive information.

-	Configuration capabilities allowing running as an ICON and suppressing status messages (good for background operation).

-	On-Line help facility.

-	On-Line order form and shareware license agreement.

Decoding Features:

-	Automatic detection of three common input formats; single file format (as in version 1), the format used by Internet's comp.binaries.ibm.pc network news group, or the format used by the popular SIMTEL20's Internet file archive site.

-	Automatic multiple part joining, with no restrictions on the ordering of the parts.  The ordering of the parts need not be in 1 to N order, but may be in any order.  This provides a large time and effort savings.

-	Automatic filtering of non UU encoded data, such as E-mail headers.  There is no need to manually strip these from the input, thus saving time and effort.

Encoding Features:

-	Support of optional multiple part output using either Internet's comp.binaries.ibm.pc network news group format or the Internet's SIMTEL20 archive site format.

-	Configurable encoded file maximum output size for multiple part output to allow for various maximum file sizes supported by your E-mail system(s).  The number of output parts are automatically determined by the input file size and the maximum output file size.


Version 1.7

UUCODE version 1.7 was released in May 1992.  A new feature was added on Version 1.6 to allow a single file argument on the command line so that UUCODE can be launched via the file manager (or launched via any other Windows replacement shell).  A filename with an extension ".UUE" will automatically run the UU decoding portion of UUCODE, while any other extension will run the UU encoding part of UUCODE.

UUCODE is also compatible with Windows 3.1.  Note the drag and drop capability is not supported.


Version 1.6

UUCODE version 1.6 was released in October 1991.  Two bugs were fixed from Version 1.5.  First, UUCODE will allow multiple instances of itself.  Of course, when two or more instances are running with file I/O, system performance will be slower.  Second, Version 1.5 might possibly insert an additional byte or two when decoding.  This caused no problems with archived (.ZIP, .ARC, .LZH, .ZOO, etc.) or executable (.EXE or .COM) files, but could interfere with straight text files.


Version 1.5

Version 1.5 of UUCODE for Windows was released in August 1991 as the original shareware release of the program.


Installation

The user is assumed to be familiar with either the DOS file copy command or the Windows 3.0/3.1 FILE MANAGER for file manipulation.  UUCODE does not come with a separate installation program; you must use the utilities from either the DOS command prompt or the FILE MANAGER (or other file utility for DOS or Windows) to install UUCODE.

UUCODE does not use or modify any Windows initialization files (.INI) such as WIN.INI.

Files in This Package

Installing and Running on Various Drive Types

New Installation

Upgrading from Version 1.7

Upgrading from Version 1.5 or 1.6

Optional File Type Association


Files in This Package

This UUCODE package contains the following files:

UUCODE.EXE	The executable program.
UUCODE20.RTF	This users manual in Rich Text Format (RTF).  (registered version only)
UUCODE.HLP	The on-line help file for UUCODE.  This includes the shareware license information as well as an order form.
WHIO2.DLL	A support dynamic link library for file I/O.
BARCTRL.DLL	A support dynamic link library for the progress indicator.
COMMDLG.DLL	A support dynamic link library for the common dialog boxes.  You already have this file if you are running Windows 3.1.
SHELL.DLL	A support dynamic link library for the common dialog boxes.  You already have this file if you are running Windows 3.1.
FILE_ID.DIZ	Assists in BBS distribution of this program. (unregistered shareware version only)


Installing and Running on Various Drive Types

UUCODE may be installed on and run from either a floppy disk, hard disk, or networked drive as long as the WHIO2.DLL and BARCTRL.DLL files are in the same directory as UUCODE.EXE or somewhere in the PATH (see your DOS manual for setting the PATH environment variable in the AUTOEXEC.BAT file).


New Installation

Follow the steps shown below to install UUCODE for the first time.

Step 1.	Copy the UUCODE.EXE and UUCODE.HLP files to any directory on your destination disk from where you want to run UUCODE.

Step 2.	Copy the files WHIO2.DLL and BARCTRL.DLL to any directory in your path or the same directory that UUCODE.EXE is located.  The preferred location is in your Windows 3.0/3.1 directory.

Step 3.	In Program Manager, highlight the group in which you want to install the UUCODE program.  Choose the File menu, and then choose the New menu item.  When the dialog box pops up titled "New Program Object," make sure that "File Item" is picked.  Click OK or press Enter.  When the dialog box pops up titled "Program Item Properties," enter "UUCODE" in the "Description" field, and the full path name to the UUCODE.EXE file in the "Command line" field.  Click OK.  UUCODE is now installed on your system.  If you use another Windows shell, you'll have to consult its users manual to install a new program icon on your desktop.

Step 4.	This step applies only if you are running Windows 3.0.  Copy the files COMMDLG.DLL and SHELL.DLL to your Windows 3.0 directory.

UUCODE is now installed and ready to run.


Upgrading from Version 1.7

Follow the steps shown below to install UUCODE version 2.0 to replace an existing version 1.7.

Step 1.	Delete the version 1.7 files called UUCODE.EXE, BARCTRL.DLL, WHIO2.DLL.

Step 2.	Copy the UUCODE.EXE and UUCODE.HLP files to the same directory on your disk that UUCODE version 1.7 was located.

Step 3.	Copy the files called BARCTRL.DLL and WHIO2.DLL to the directory in which the version 1.7 file is located.

Step 4.	If you had not previously installed UUCODE as a PROGRAM MANAGER ICON, then do Step 3 in the New Installation section.


Upgrading from Version 1.5 or 1.6

Follow the steps shown below to install UUCODE version 2.0 to replace existing versions 1.5 or 1.6.

Step 1.	Delete the version 1.5 or 1.6 files called UUCODE.EXE, BARCTRL.DLL, WHIO.DLL.

Step 2.	Copy the UUCODE.EXE and UUCODE.HLP files to the same directory on your disk that UUCODE version 1.5 or 1.6 is located.

Step 3.	Copy WHIO2.DLL and BARCTRL.DLL to the same directory in which WHIO.DLL and BARCTRL.DLL were installed.

Step 4.	If you had not previously installed UUCODE as a PROGRAM MANAGER ICON, then do Step 3 in the New Installation section.

UUCODE is now installed and ready to run.


Optional File Type Association

If you want to run UUCODE from FILE MANAGER and take advantage of the Command Line Mode, you can cause UUCODE to automatically be invoked when you want to UU decode a file.  Files to be UU decoded are identified by a ".UUE" extension.

UU encoding a file is also possible if you want to associate other file types having extensions different than ".UUE".  Usually this is not the case because you may want to run another program on such files, such as a word processor or archive program.  The better way to do this is to use Drag-and-Drop Mode.  If you do want to associate files to UU encode with UUCODE from FILE MANAGER, then follow steps 3 and 4 below using the appropriate file extension.

If you are running Windows 3.1, you need do nothing extra to take advantage of Drag-and-Drop Mode.

To associate files for UU decoding with UUCODE, follow the steps shown below.

Step 1.	Run the FILE MANAGER.

Step 2.	FILE MANAGER requires a file with the appropriate extension to exist so that associations can be made.  Copy your AUTOEXEC.BAT or any other file to a file called XX.UUE.

Step 3.	Highlight the XX.UUE file. (do not double click or press Enter to run it).

Step 4.	From the top menu choose, File|Associate.  When the Associate dialog box pops up, type the full path name of where UUCODE.EXE is located.  Then press Enter or click OK.  This completes the association.  You may now delete the XX.UUE file.

FILE MANAGER will now automatically run the decoding or encoding portion of UUCODE when the files with that extension are double-clicked from FILE MANAGER.


Program Operation

UUCODE has three modes of operation; interactive mode, command line mode, and drag-and-drop mode.  Interactive Mode is automatically used when a file argument is not specified on the command line when starting UUCODE.  Command Line Mode is automatically used whenever any file argument is specified on the command line.  Drag-and-Drop Mode, available with Windows 3.1 only, is used when files are "dropped" on UUCODE from FILE MANAGER.  Since each mode operates differently, each mode is described separately.

Anatomy of the Main Window

Interactive Mode

Command Line Mode

Drag-and-Drop Mode


Anatomy of the Main Window

The main window provides detailed interactive status information while UUCODE is running as illustrated below.  This status is provided for all operating modes.

The status information lines indicate whether encoding or decoding is selected, the input and output file names, the type of encoding or decoding, and the number of parts (for multiple part processing).

The cancel button allows the user to cancel the operation while it's running.  This button only appears when an operation is in progress.

The progress bar indicates how much of the input file has been processed.


Interactive Mode

All operation of UUCODE in interactive mode is done via the menu or associated hot keys.

Interactive mode is most useful when several files will be UU encoded or UU decoded.  In addition, while in interactive mode, unlike Command Line Mode, UUCODE will always prompt the user before the following actions are done:

A.	Prompt for a file to be UU encoded or UU decoded.

B.	After choosing the UU encoding or UU decoding operation, a suggested file name for output is shown.  The user is allowed to modify the output file name.

C.	If a file to be output already exists, UUCODE will ask permission before overwriting it.

When UUCODE is started in interactive mode, it will show on your screen as follows.  You may then choose one of the operations via the menus or hot keys.


Command Line Mode

All operation of UUCODE in command line mode is done via the File|Run command of either PROGRAM MANAGER or FILE MANAGER or when you double-click a file in FILE MANAGER and you have previously set up your Optional File Type Association.  Command line mode is most useful when one file will be UU encoded or UU decoded.  Unlike Interactive Mode, UUCODE will never prompt the user before performing an action.

An example of running UUCODE in command line mode using FILE MANAGER is shown below.

Operation Based on Input File Name


Operation Based on Input File Name

In command line mode, the choice of performing a UU encode or UU decode operation is determined by the extension of the file name supplied on the command line.

Files with an extension of ".UUE" will be run through the UU decoding process.

Files with any extension other than ".UUE" will be run through the UU encoding process.


Drag-and-Drop Mode

Drag-and-Drop mode can be started in the same way as Interactive Mode; by first running UUCODE without any file argument.  Drag-and-Drop mode is then entered when files are dropped on UUCODE via FILE MANAGER.  Drag-and-Drop mode can also be started by dropping files on the UUCODE.EXE file in a FILE MANAGER window when UUCODE is not yet running.  In that case, FILE MANAGER will automatically start running UUCODE and drop the selected files on it.

UUCODE supports dropping of one or many files.  If multiple files are dropped, they will be operated on one at a time until all files have been processed.  Each file is treated independently.  Therefore, you may encode or decode files as determined by their file name.  To determine how the dropped file name affects the operation selected by UUCODE, see the Operation Based on Input File Name section.

Drag-and-Drop mode operates in the same way as Command Line mode.  Program operation and errors are reported as they occur.  No user confirmation of any activity is required.


Procedures

UU Encoding a File

UU Decoding a File


UU Encoding a File

UU encoding a file allows you to convert a file containing 8-bit binary data into a 7-bit ASCII UU encoded readable form.  The following steps apply to Interactive Mode only.  In Drag-and-Drop Mode or Command Line Mode, files with extensions other than ".UUE" are automatically UU encoded without additional user prompting.

Entry.	In Interactive Mode, selecting the File|Encode menu item enters the encoding process.

Step 1.	The following dialog box will appear showing all files in the directory.

Step 2.	You will first be prompted to select a file to encode.  Pick the file name and then click the OK button or press Enter.  An output file name will be suggested with the default file extension of ".UUE".  You may change it if you wish.  This is illustrated below.

Step 3.	The encoding process is started by clicking the "OK" button (or pressing Enter).  If the output file already exists, UUCODE will ask if you want to overwrite it.  You will notice a % complete bar being updated as UUCODE UU encodes the input file (as shown below).

Step 4.	At any time during the UU encoding process, you may click the "Cancel" button with the mouse or ALT-C and be returned to the main menu, ready for another command. If you cancel the UU encoding operation, no UU encoded output file will be generated.  When UU encoding is complete, you will see a dialog box indicating success (or failure) as shown below.


UU Decoding a File

UU decoding a file allows you to convert a file containing a 7-bit ASCII UU encoded data into its original 8-bit binary data form.  The following steps apply to Interactive Mode only.  In Drag-and-Drop Mode or Command Line Mode, files with the extension of  ".UUE" are automatically UU decoded without additional user prompting.

Entry.	In Interactive Mode, selecting the File|Decode menu item enters the decoding process.

Step 1.	The following dialog box will appear showing all ".UUE" files in the directory.

Step 2.	You will first be prompted to select a file to UU decode, using the default extension of ".UUE".  Pick the file name and then click the OK button or hit Enter.  UUCODE will read the UU encoded file to determine the name of the output file. You will be prompted with the output file name, which you can change if you wish.  This is illustrated below.

Step 3.	The decoding process is started by clicking the "OK" button.  UUCODE will check if the output file already exists. If it does, you will be asked if you want to overwrite it.  You will then notice a % complete bar being updated as UUCODE UU decodes the input file (as shown below).

Step 4.	At any time during this process, you may click the "Cancel" button using the mouse or ALT-C and be returned to the main menu, ready for another command. If you cancel the UU decoding operation, no UU decoded output file will be generated.  When UU decoding is complete, you will see a dialog box indicating success (or failure) as shown below.


Commands

The following topics explain the menu system of UUCODE.

File Menu

Configure Menu

Help Menu


File Menu

The file menu allow you to encode or decode files, or exit the program.

Encode Menu Item

Decode Menu Item

Exit Menu Item


Encode Menu Item

Selecting Encode will cause UUCODE to begin the process of encoding a binary file (any file type actually) into a UU encoded ASCII file.  See the UU Encoding a File topic for details.


Decode Menu Item

Selecting Decode will cause UUCODE to begin the process of UU decoding a previously UU encoded ASCII file into its binary (original) form.  See the UU Decoding a File topic for details.


Exit Menu Item

Selecting Exit! will quit the UUCODE program.

If UUCODE is running while when exit is pressed, UUCODE will first cancel the operation (as if the Cancel button were pressed) and clean up any temporary files used during the encoding or decoding process.  Therefore, it may take a few seconds before UUCODE completely exits.


Configure Menu

You can configure UUCODE various ways to operate according to your preferences.  The following configuration options are available, as shown in the dialog box.

Multi Part Encoding

Become ICON When En/Decoding

Stay ICON When En/Decoding

Exit When Done En/Decoding

Overwrite Existing Files without Asking

Use Default File Names

No Status Messages


Multi Part Encoding

This option applies to encoding only; UUCODE automatically determines the file format during decoding.

The encoded output file may be one of three types:

-	Single file (the default)

-	SIMTEL multiple part format

-	C.B.I.P. multiple part format

When using the multiple part formats of SIMTEL or C.B.I.P., the maximum output file size parameter limits the maximum number of characters per part to the value specified.  The range for this size is 4500 to 1,048,576 (1M) bytes.  The default is 60,000 bytes, which is somewhat less than a typical e-mail program limit of 64K (65,536) bytes.

The number of output parts is automatically calculated from the input file size and the maximum output file size.  There is a ninety-nine (99) part maximum.

When the single file option is chosen, the encoded output file is one piece, regardless of size.  Therefore the maximum output file size field has no effect with this option (and is grayed to so indicate).

See the Use Default File Names section for information on how the output files are named.


Become ICON When En/Decoding

Setting this option applies only when UUCODE is run in Interactive Mode.

Enable this option if you want UUCODE to run as an ICON while encoding or decoding files.  UUCODE will automatically restore to its previous size when the operation is completed.


Stay ICON When En/Decoding

Setting this option applies only when UUCODE is run in Interactive Mode.

Enable this option if you want UUCODE to remain an ICON after encoding or decoding files.

The default is that UUCODE will automatically restore to its previous size when the operation is completed.


Exit When Done En/Decoding

Setting this option applies only when UUCODE is run in Interactive Mode.  This option is automatically enabled when UUCODE is run in Command Line Mode.

Enable this option if you want UUCODE to automatically exit after encoding or decoding files.

The default is that UUCODE will remain an active application after the operation is completed.


Overwrite Existing Files without Asking

Setting this option applies only when UUCODE is run in Interactive Mode.  This option is automatically enabled when Command Line Mode is used, Drag-and-Drop Mode is used, or when Multi Part encoding is selected.

Enable this option if you want UUCODE to automatically overwrite any existing output files.

In Interactive Mode, the default is to ask user permission before any previously existing output files are overwritten.


Use Default File Names

Setting this option applies only when UUCODE is run in Interactive Mode.  This option is automatically enabled when Command Line Mode is used, Drag-and-Drop Mode is used, or when Multi Part encoding is selected.

Enable this option if you want UUCODE to automatically choose the output file name for you.  The output file name is either the result of encoding a file or the file name as specified in the encoded file when decoding is used.

For encoding and a single file output, the default file name is the input file name with the extension replaced with ".UUE".  For example, the default file name for encoding ANYFILE.EXE is ANYFILE.UUE.

For Multi Part encoded output, the output names of each file part are determined automatically.  The output file names consist of the first six (6) characters of the input file name or the entire input file name, whichever length is less, with a 2 digit part number (01 to 99) concatenated, and having an extension of ".UUE".  For example, if an encoded output file required four (4) parts and the input file name was MYARCHIV.ZIP, the output parts would be named MYARCH01.UUE, MYARCH02.UUE, MYARCH03.UUE, and MYARCH04.UUE.  Similarly, if a file to be encoded was named ABC.EXE, then the four output parts would be ABC01.UUE, ABC02.UUE, ABC03.UUE, and ABC04.UUE.

For decoding, the default file name is that which is specified in the encoded input file.  For example, if the file being UU decoded is named FILE.UUE and contains the file ABC.ZIP, then the default file name is ABC.ZIP.

The default is to ask user permission to use the proposed output file name.  This allows the user to manually change the proposed name if desired.


No Status Messages

Setting this option applies only when UUCODE is run in Interactive Mode.  This option is automatically enabled when UUCODE is run in Command Line Mode or Drag-and-Drop Mode.

Enable this option if you want UUCODE to run without requiring user confirmation of success or failure of operations when they are completed.


Help Menu

This documentation is in both printed and on-line electronic form.  The on-line help was written in the Windows 3.1 help system due to the additional features that it provides over the Windows 3.0 version.  If you have Windows 3.0, you can still use this on-line help by getting the updated help program WINHELP.EXE from Microsoft.

Index Menu Item

Commands Menu Item

Procedures Menu Item

Keyboard Menu Item

Using help Menu Item

About Menu Item

ORDER FORM Menu Item


Index Menu Item

Selecting Help will run the on-line help mechanism of UUCODE.  You will be placed in the index section which allows you to easily jump to any topic of interest.


Commands Menu Item

Selecting the Commands item provides details on the menus in UUCODE.


Procedures Menu Item

Selecting this item provides details on how to use UUCODE for UU Encoding a File or UU Decoding a File.


Keyboard Menu Item

Selecting this item provides details on using the Keyboard short-cuts, i.e. the hot-keys.


Using help Menu Item

Selecting this item provides details on using the help system itself.


About Menu Item

Selecting About will cause UUCODE to display the version of this software, copyright information, and the location to send the registration fee or order.


ORDER FORM Menu Item

Selecting ORDER FORM will cause UUCODE to display the order form which is ready to print.  Print the form by selecting File|Print Topic from the menu.


Keyboard

The following hot keys are defined for UUCODE.

Hot Key	Command/Procedure

F1	Help Main Menu

Shift-F1	Display the About dialog box

F2	UU Encoding a File

F3	UU Decoding a File

F5	Configure UUCODE for its characteristics of operation

F10	Exit UUCODE


System Requirements and Usage

CPU Instruction Set

Windows Operating Modes

Disk Usage

Memory Usage


CPU Instruction Set

UUCODE was written for Windows 3.0/3.1 equipped PCs using the 80286 instruction set and will only work on PCs using 80286, 80386, 80386SX, 80486, 80486DX, 80486DX2 and 80486SX or compatible processors.


Windows Operating Modes

UUCODE runs only in Windows standard or enhanced modes; not in real mode.  This is the same as Windows 3.1.


Disk Usage

UUCODE uses approximately 222K of disk space if you are running Windows 3.1 and an additional 135K if you are running Windows 3.0.  The exact amount depends on your disk's cluster size.  If you don't know about your cluster size, don't worry about it.


Memory Usage

While running, UUCODE uses about 60K of memory.


General Operating Information

DOS and UNIX End Of Line (EOL) Characters

Cooperative Multitasking

Temporary File Usage

Multiple Instances and File Sharing

File Permissions

Encoding Character for Binary Zero

Multipart File Limitations


DOS and UNIX End Of Line (EOL) Characters

For input files, UUCODE handles any combination of DOS and UNIX end-of-line terminators; those with both Carriage Return (CR) and Line Feed (LF), or just CR or just LF.

For output files, UUCODE uses DOS end-of-line terminators, both CR and LF.


Cooperative Multitasking

UUCODE is a cooperative program with the other applications running under Windows such that it shares the CPU during the encoding and decoding processes which use extensive file I/O. This results in slightly slower performance than if no CPU sharing were done.  Even so, it is not recommended that modem communications take place while UUCODE is running; file transfers might fail.


Temporary File Usage

To allow multiple part decoding with the file parts in any order, UUCODE creates temporary files.  This means that the disk on which UUCODE is operating must have sufficient free space of twice the size of the input file and be writable.


Multiple Instances and File Sharing

UUCODE allows multiple instances of itself.  Since Windows 3.0/3.1 is a multi-tasking system, it is possible that the same UU encoded or UU decoded file might be used by UUCODE or other applications at one time. This could happen if the user chooses the same file name twice by mistake. To solve this problem, UUCODE takes advantage of Windows file locking mechanism and does not allow any other application to read or write the UUCODE output file as it is being created. However, multiple read accesses to the input files are allowed.


File Permissions

When decoding a file, the permissions identified in the UU encoded file are ignored.  The output file is always created with read and write permissions for all, which is what DOS can support.

To be consistent with the UNIX versions of UU encoding, the file permission data are set to owner read/write, with group and other read/write turned off (file mode "600").


Encoding Character for Binary Zero

Although the UU encoding specification allows either an ASCII space (hex character 20) or a ASCII back-quote (` - hex character 60), UUCODE will always encode its binary zero (0) output using the back-quote (`) character.  This allows for easier viewing of the encoded file.

For decoding, UUCODE will accept input files with either the space or the back-quote character without problems.


Multipart File Limitations

For the UU decoding operation, UUCODE allows the individual parts of a multiple part UU encoded binary file to exist in any order, e.g. not be restricted to sequential order.  However, all the parts of one UU encoded binary file must be present in that single file to be UU decoded.

In addition, no more than one binary file's worth of UU encoded data can be present in any single UU encoded file.

In summary, the UU encoded file must contain all the parts of one and only one binary file for the UU decoding operation.  In either case, UUCODE will detect and report any violations of these requirements should they occur.


Multiple Part UU Formats

The multiple part encoded formats were designed to allow a large file transfer by encoding one large binary file into multiple parts for transmission across a network.  This is necessary because the E-mail on many systems cannot handle more than 64K of data (or less) for any one file.  Today, large binary files are common which would prohibit sending them via E-mail unless the multiple part format is used.  The two multiple part formats supported by UUCODE are briefly described below.  In the examples, it is assumed that three parts are used and that they are in order (not a requirement for UUCODE).  Comments are in italic text.

Internet's SIMTEL20 Archive Site Format

Internet's comp.binaries.ibm.pc Format


Internet's SIMTEL20 Archive Site Format

------------ Part 1 of 3 ------------	denotes start of part 1 of 3

begin 600 archive.zip	the output file is "archive.zip"

UU encoded data goes here	Part 1's UU encoded data goes here

-------- End of part 1 of 3 --------	denotes end of part 1 of 3

------------ Part 2 of 3 ------------	denotes start of part 2 of 3

UU encoded data goes here	Part 2's UU encoded data goes here

-------- End of part 2 of 3 --------	denotes end of part 2 of 3

------------ Part 3 of 3 ------------	denotes start of part 3 of 3

UU encoded data goes here	Part 3's UU encoded data goes here

end	denotes end of all UU encoded data

-------- End of part 3 of 3 --------	denotes end of part 3 of 3


Internet's comp.binaries.ibm.pc Format

Archive-name: archive/part01	denotes part 1 of "archive" w/o extension of "zip"

BEGIN--cut here--cut here--	denotes start of data for part 1

begin 600 archive.zip	the output file is "archive.zip"

UU encoded data goes here	Part 1's UU encoded data goes here

END--cut here--cut here--	denotes end of part 1

Archive-name: archive/part02	denotes part 2 of "archive" w/o extension of "zip"

BEGIN--cut here--cut here--	denotes start of data for part 2

UU encoded data goes here	Part 2's UU encoded data goes here

END--cut here--cut here--	denotes end of part 2

Archive-name: archive/part03	denotes part 3 of "archive" w/o extension of "zip"

BEGIN--cut here--cut here--	denotes start of data for part 3

UU encoded data goes here	Part 3's UU encoded data goes here

end	denotes end of all UU encoded data

END--cut here--cut here--	denotes end of part 3


If You Encounter Problems

If you encounter problems, check the following areas for more information.  If those suggestions don't work, please contact Sabasoft for technical support.  See Contacting Sabasoft.

What if the Multiple Part UU Format I Use Isn't Supported?

What if the Output File Seems Corrupt?


What if the Multiple Part UU Format I Use Isn't Supported?

If you know that the format of your encoded input file is not one of those supported by UUCODE, then you must manually put the pieces into the correct order for UUCODE to work.  Use any standard text editor to do this.

If you are not sure what multiple part type is used, try running UUCODE anyway and check that UUCODE reports no errors and check the output file as per the What if the Output File Seems Corrupt section.  The formats supported by UUCODE are described in Multiple Part UU Formats.


What if the Output File Seems Corrupt?

Typically UUCODE is used to send binary files containing compressed archives.  Those files typically end in extensions of .ZIP, .ARC, .LZH, or .ZOO.  If you find that UUCODE reports a complete and correct decoding but your archive file has problems (e.g. checksum errors), then it is likely that UUCODE cannot filter any e-mail header information contained within the file or the multiple part format used is not supported by UUCODE.

Try manually putting together the encoded file using any ASCII text editor such as Windows NOTEPAD or DOS 5.0's EDIT.  Then re-run decoding on that file.


Technical Support

Questions about the operation of UUCODE or problems encountered can be directed to Sabasoft as indicated in Contacting Sabasoft.

Technical support is provided free of charge to registered users.


Contacting Sabasoft

You may contact Sabasoft by two means:

1.	US Mail - write to:

Sabasoft

924 Bayhill Avenue

Naperville, IL  60565   USA

2.	Electronic mail at America On-Line (AOL) - send a message to:

sabasoft@aol.com

Check with your e-mail provider to learn how to send e-mail to America On-Line.

Note 1:	AOL has an incoming mail limit from other networks (via the Internet) of only 8000 (≅ 8K) bytes.  If you are a subscriber to AOL, then you may attach a file which avoids this limitation.

Note 2:	Due to Internet restrictions, you cannot send binary data from other networks to AOL.  If you need to send binary data, then use UUCODE!  (Remember the size limitation as stated in Note 1)  If you are a subscriber to AOL, then you may attach a file which avoids this limitation.

Note 3:	Currently Prodigy users may not send e-mail to AOL because Prodigy itself is not connected to the Internet.  Contact them to ask for this capability.

Telephone support is not provided.


ABOUT THIS LICENSE

YOU SHOULD READ CAREFULLY THE FOLLOWING TERMS AND CONDITIONS BEFORE USING OR DISTRIBUTING THIS SOFTWARE.  USING OR DISTRIBUTING THIS SOFTWARE INDICATES ACCEPTANCE OF THESE TERMS AND CONDITIONS.

COPYRIGHT

This software program (hereafter the "Software") and documentation (hereafter the "Documentation") is copyrighted and remains the property of Sabasoft.  All rights are reserved.

LICENSE

Sabasoft hereby grants you a limited, non-exclusive license to use the Software and accompanying Documentation contained in the shareware distribution package (hereafter called the "Shareware Package") you received.  The Package consists of copies of the Software and Documentation received via an electronic transfer mechanism or an electronic storage medium including, but not limited to, diskette, hard disk, removable disk, tape or optical devices such as CD-ROM or WORM.

After your registration and payment (see TERM AND TRIAL PERIOD below), another set of Software and Documentation will be sent to you on diskette.  This is called the "Registered Package."

You may use the Shareware Package or Registered Package on one or more computers provided there is no chance that it will used simultaneously on more than one computer.  If you need to use the Shareware Package or Registered Package on more than one computer simultaneously, please contact Sabasoft for information about site licenses.

You are not obtaining title to the Software or Documentation or any copyright rights.  You may not sublicense, lease, rent, convey, translate, modify, decompile, convert to another programming language, reverse engineer or disassemble the Software or Documentation for any purpose.

TERM AND TRIAL PERIOD

You are permitted to use the Shareware Package for a trial period (hereafter the "Trial Period") of one-hundred twenty (120) days after receipt of the Shareware Package.  After such time, if you continue to use the Software or Documentation, you must register your copy with Sabasoft.  Failure to register after the Trial Period constitutes termination of this license.

This license is effective until terminated.  You may terminate it by destroying the Software, Documentation, and all copies thereof.  This license will also terminate if you fail to comply with any of the terms or conditions herein.  You agree, upon such termination, to destroy all Software, Documentation, and copies thereof.

LIMITED WARRANTY

THE SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.  SABASOFT DISCLAIMS ALL WARRANTIES RELATING TO THIS SOFTWARE, WHETHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND ALL SUCH WARRANTIES ARE EXPRESSLY AND SPECIFICALLY DISCLAIMED.

EXCLUSIVE REMEDY

YOUR EXCLUSIVE REMEDY AND SABASOFT'S ENTIRE LIABILITY ARISING FROM OR IN CONNECTIONS WITH THE SOFTWARE, DOCUMENTATION, AND/OR THIS LICENSE (INCLUDING WITHOUT LIMITATION FOR BREACH OF WARRANTY OR INFRINGEMENT) SHALL BE, AT SABASOFT'S OPTION, THE REPAIR OR REPLACEMENT OF THE SOFTWARE DISKETTES OR REFUND OF REGISTRATION FEES.

LIMITATIONS OF LIABILITY

IN NO EVENT SHALL SABASOFT OR ANYONE ELSE WHO HAS BEEN INVOLVED IN THE CREATION, PRODUCTION, OR DELIVERY OF THIS SOFTWARE SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL  OR INCIDENTAL DAMAGES, ARISING OUT OF THE USE OR INABILITY TO USE SUCH SOFTWARE EVEN IF SABASOFT HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES OR CLAIMS.

Some states do not allow the exclusion of the limit of liability for consequential or incidental damages, so the above limitation may not apply to you.

BACKUP

You may make as many copies of the Software as you need for backup purposes only.

DISTRIBUTION

You may distribute the Shareware Package to others via an electronic transfer mechanism or electronic storage media provided that no files are deleted from the Package or are modified in any way.  Files may be added to the Shareware Package expressly for the purpose of identifying the party distributing the Shareware Package.  You may also place the Shareware Package into any archive or compressed format for ease of distribution.

You may not distribute the Registered Package to others under any circumstances.

GENERAL

This agreement shall be governed by the laws of the state of Illinois and shall inure to the benefit of Sabasoft and any successors, administrators, heirs, and assigns.  Any action or proceeding brought by either party against the other arising out of or related to this agreement shall be brought only in a STATE or FEDERAL COURT of competent jurisdiction located in DuPage County, Illinois.  The parties hereby consent to in personam jurisdiction of said courts.


ORDER FORM

Note:	You may print this form by selecting File|Print Topic from the File menu on the help system.

Program:  UUCODE 2.0

Name  ________________________________________________________

Company  _____________________________________________________

Address 1  _____________________________________________________

Address 2  _____________________________________________________

City  ___________________________    State/Province  ________________

Zip/Postal Code  ________________    Country  _______________________

E-mail Address   ________________________________________________

Item	Price	Quan	Net
UUCODE 2.X New Registration   (Includes Diskette, manual, shipping and handling)	US$15.00	______	________
UUCODE 2.X Upgrade from Version 1.X   (Includes Diskette, manual, shipping and handling)	US$8.00	______	________
State Sales Tax  (IL Residents only)    [6.75% × net total of registration]			________
Additional Shipping outside the continental USA	US$5.00		________

Please Remit Total (US$ Funds):	________

Diskette size (circle one)	5.25" 1.2 MB	3.5" 1.44 MB

Please remit payment to:

Bruce Sabalaskey

924 Bayhill Drive

Naperville, IL  60565   USA

Returning the DISTRIBUTION SURVEY would also be greatly appreciated.

PAYMENT TERMS


PAYMENT TERMS

Payment must be made in US$ funds by personal check, cashiers check, or money order.

Cash, credit cards or purchase orders are not accepted.

Purchasers outside the USA are also responsible for any VAT, duties, or tariffs.

If you are ordering a large quantity of this program, please see Contacting Sabasoft for information regarding site license agreements.

Please allow from 2 until 8 weeks for delivery.


DISTRIBUTION SURVEY

We would appreciate if you told us where you found or heard about our software.  Please check the appropriate items and return with your registration.

Note:	You may print this form by selecting File|Print Topic from the File menu on the help system.

Distributor Type:	______  Bulletin Board System (BBS)

______  Friend

______  Archive Site (i.e. SIMTEL 20)

______  On-Line Service (i.e. Compuserve, GEnie, Prodigy, AOL, etc.)

______  Public Domain or Shareware Software distributor

Name of distributor:	_____________________________________

Location of distributor:	_____________________________________

Telephone of distributor:	_____________________________________

E-mail/FTP address of distributor:	_____________________________________