UPDATES TO DCCONNECT CLIENT/752X EMULATOR FOR DOS SINCE THE 1.4.0 RELEASE (8/1999)
----------------------------------------------------------------------------------
This file catalogs updates made to the various flavors of the DCConnect Client/
752X Emulator for DOS that were released on CD as version 1.4.0 in August 1999.

Note: Starting with the 1.4.0M fix pack, the product has been renamed to the
      'DCConnect Client'.  The documentation and product screens now reflect
      that new name.  However, there are still some remnants of the old
      product name in the names of some of the files that are part of the
      product (e.g. EMULATOR.INI, EM.BAT).

      Where possible, the term 'the Client' will be used instead of 'the
      emulator'.

This package includes fixes for all flavors of the Client. The self-extracting
zip file is named CLNTvvvn.EXE where 'vvv' is a version number such as 200 for
version 2.0.0 or 210 for version 2.1.0 and 'n' is a letter from 'A' to 'Z' 
indicating the sub-version of Client contained in the fix pack.  It's also
possible to have the 'vvv' without any 'n' sub-version following it.  

For example the fix pack for sub-version A of version 2.1.0 of the Client is 
called CLNT210A.EXE.

For the remainder of this document, we will use the notation CLNTvvvn.EXE when 
referring to this self-extracting zip file.  But you should substitute the appropriate 
version number for 'vvv' and the appropriate letter for 'n' based on the sub-version 
that you have.

The self-extracting zip file CLNTvvvn.EXE contains the following files:

  Documentation
  -------------
  CLIENTFX.HTM                   - This file

  MANUALS\DCCLIENT.HTM           - Documentation for DCConnct Client/752x Emulator for DOS
  MANUALS\7524ETS.HTM            - Technical Reference for DCConnect Client - includes
                                   information about CFR APIs, internal file formats and
                                   the communications protocol.
  MANUALS\E9GWROOT.HTM           - Part of Technical Reference
  MANUALS\E9GWTOC.HTM            - Part of Technical Reference


  DOS-based Device-Specific files
  -------------------------------
  6400\6400BC.CFG       - Input file for 6400 Bar code configuration
  6400\6400BC.EXE       - Bar code Configuration program for 6400 terminals
  6400\6400_TSR.EXE     - TSR needed for the Client to control the scanner.
  6400\6400DISP.EXE     - Tool to configure the 6400 display.

  ANTARES\ETSPB.EXE     - DOS flavor of serial Client that runs only on the
                          Intermec Antares line of terminals.
  ANTARES\ETSPT.EXE     - DOS, TCP/IP-attached flavor of the Client that
                          runs only on the Intermec Antares line of terminals.
  ANTARES\FLASHLDR.BIN  - File needed by LOADER.EXE to load terminals
  ANTARES\LISTFILE.DOS  - Used with DOWNLOAD.BAT to load DOS files to Antares
  ANTARES\LOADER.EXE    - DOS-based file load utility from Intermec
  ANTARES\LOAD1.BAT     - Batch file for loading a single file to the terminal
  ANTARES\LOAD2.BAT     - Batch file for loading two files to the terminal
  ANTARES\SETUPANT.EXE  - Utility program for changing Antares configuration
  ANTARES\T24FCOPY.EXE  - Windows-based file load utility provided by Intermec.
                          It can be used to upload or download files to Antares
                          terminals.
  ANTARES\T24FCOPY.HLP  - Help file for T24FCOPY.EXE
  ANTARES\USER.BAT      - Called by AUTOEXEC.BAT to start Client automatically

  ANTARES\SAMPLE\DOWNLOAD.BAT  - Sample download batch file to use with LOADER.EXE
  ANTARES\SAMPLE\EM.BAT        - Sample flavor of EM.BAT for Antares
  ANTARES\SAMPLE\EMULATOR.INI  - Sample flavor of EMULATOR.INI for Antares
  ANTARES\SAMPLE\S.BAT         - Easier-to-type sample batch file for calling SETUPANT.EXE
  ANTARES\SAMPLE\SETUPANT.INI  - Sample input file for SETUPANT.EXE
  ANTARES\SAMPLE\UPGRADE.BAT   - Alternate UPGRADE.BAT used when loading Intermec flash
                                 to Antares terminals.

  FALCON\FALC_TSR.EXE   - TSR needed by the Client in order to distinguish between
                          keyboard and scanner input on the Percon/PSC Falcon and its
                          twin the LXE MX2.

  LANPTPRO\PREPOST.EXE  - Utility for configuring the bar code pre/postamble on the
                          Intelligent Instrumentation LanPoint Pro (aka Symbol FMT3000).

  SPEC24\CFG3000.EXE    - Configuration utility for Symbol Spectrum 24 terminals.  It
                          modifies INIT.EXE.
  SPEC24\ETSPT.EXE      - DOS, TCP/IP-attached flavor of Client used by the
                          Symbol Spectrum 24 terminals. It uses Novell's LAN
                          Workplace for DOS. The terminals are shipped by
                          Symbol with the Novell software installed.
  SPEC24\FLSHBLD.ZIP    - Zip file containing the set of files used when flashing
                          the Symbol Spectrum 24 terminal.
  SPEC24\S24_TSR.EXE    - Required for use of the scanner and Serial port on Symbol
                          Spectrum 24 terminals

  TELXON\HHB.EXE        - Version of Telxon's HandHeld Bridge that runs on the PC
  TELXON\HHB.TXT        - Documentation for Telxon's HHB.EXE
  TELXON\HHBR.EXE       - Version of Telxon's HandHeld Bridge that runs on the terminal
  TELXON\HHBR.TXT       - Documentation for Telxon's HHBR.EXE
  TELXON\TELXONBC.EXE   - Bar code Configuration program for Telxon terminals
  TELXON\TELXONBC.CFG   - Input file for Telxon Bar code configuration
  TELXON\T870_TSR.EXE   - TELX_TSR.EXE for use on PTC870; it is required for
                          any scanner use on this terminal
  TELXON\TELX_TSR.EXE   - Optional TSR for Telxon 960SL/X, 860IM; provides
                          RS-232 support and enhanced scanner support
  TELXON\WANDTSR.EXE    - TSR required for scanner support on Telxon 960SL/X, 860IM


  Two DOS Flavors of the Client that Communicate to DCConnect Serially
  --------------------------------------------------------------------
  SERIAL\ETSPB.EXE      - Serial-attached flavor of the Client for use on
                          DOS devices.

  SERIAL\NLS\ETSPB.EXE  - DOS flavor of serial Client built with different
                          video routines that use whatever code page is
                          set in DOS for displaying characters.  Does not
                          work on all devices (but does work on Janus 2050).


  Various DOS flavors of the Client for different TCP/IP stacks
  -------------------------------------------------------------
  TCP_FTP\ETSPT.EXE     - DOS, TCP/IP-attached flavor of the Client requiring
                          FTP Software's PC/TCP Network Kernel for DOS.

  TCP_FTP\NLS\ETSPT.EXE - DOS flavor of TCP/IP Client for FTP stack built
                          with different video routines that use whatever
                          code page is set in DOS for displaying characters.
                          Does not work on all devices (but does on Janus 2050).

  TCP_IBM\ETSPT.EXE     - DOS, TCP/IP-attached flavor of the Client requiring
                          IBM DOS TCP/IP Support.  Also runs in a full screen
                          DOS session of OS/2.

  TCP_NOV\ETSPT.EXE     - DOS, TCP/IP-attached flavor of Client requiring
                          Novell's LAN Workplace for DOS.


  TCP_VSL\ETSPT.EXE     - DOS, TCP/IP-attached flavor of Client that requires
                          the Virtual Socket Library from JSB Software.


  Client Files for Use on 32/64-bit Windows Platforms (95/98/Me/NT/2000/XP/7/Server)
  ----------------------------------------------------------------------------------
  WIN32\ETSPT.EXE           - Windows flavor of Client.  Uses networking support that 
                              is provided by the operating system.  This is the stub 
                              executable that is run to start the Client; the majority 
                              of the program is in WIN32\ETSPT.DLL.

  WIN32\ETSPT.DLL           - Windows flavor of Client functionality; requires 
                              WIN32\ETSPT.EXE to start it.

  WIN32\ETSSCRPT.DLL        - Windows flavor of Client DLL for support of text script 
                              file processing.

  WIN32\SAMPLE\EMULATOR.INI - Sample EMULATOR.INI for the 32-bit Windows flavor of
                              the Client.

  NMWIN32.BAT               - Batch file to use with the makefile ETSUSER.VCN in
                              order to build ETSUSER.DLL for the Windows platforms.
                              Also used with the various Windows makefiles that
                              are part of the CFR packages.


  Client Files for Use on Windows CE Devices
  ------------------------------------------
  MAKECAB.BAT                  - Used to build Windows CE .CAB files from .INF files
  DCCLIENT.INF                 - Sample .INF file used to create DCConnect Client .CAB
                                 files for the various flavors of Windows CE devices.

  CECONFIG.VB                  - Microsoft eMbedded Visual Basic executable for the IBM
                                 CE Config Tool.  This tool uses an .INI file to set up
                                 registry values, create files, and perform file and
                                 directory operations for the purpose of automating
                                 the configuring a Windows CE device.  Provides the
                                 ability to prompt the user for certain values, including
                                 the ability to provide a list of valid choices, while
                                 automating the setting of any values that would not
                                 change.
  CECONFIG.INI                 - Sample .INI file used by the IBM CE Config Tool.
                                 Includes sample commands for setting registry keys
                                 and creating a file.
  GETREG.VB                    - Microsoft eMbedded Visual Basic executable for the 
                                 Get Registry tool.

  ETSUSER.C                    - Sample source for building Windows CE DLL needed
                                 on some devices to run the Client in 'full-screen'
                                 mode.  Also can be used to add customer menu items
                                 to the Client's pull-down menus.
  ETSUSER.DEF                  - Sample module definition file to go with ETSUSER.C
  ETSUSER.VCN                  - Microsoft eMbedded Visual Toolkit makefile file used
                                 to build various flavors of ETSUSER.DLL from the
                                 source files ETSUSER.C and ETSUSER.DEF.
  ETSUSER.VCP                  - Microsoft eMbedded Visual Toolkit projecte file used
                                 to build various flavors of ETSUSER.DLL from the
                                 source files ETSUSER.C and ETSUSER.DEF.
  ETSUSER.VCW                  - Make file generated by Microsoft eMbedded Visual
                                 Toolkit; used to build various flavors of ETSUSER.DLL
                                 from the source files ETSUSER.C and ETSUSER.DEF.

  NMCK30.BAT                   - Batch file to use with the makefile ETSUSER.VCN in
                                 order to build ETSUSER.DLL for the Intermec CK30.
                                 Also used with the various Windows CE makefiles that
                                 are part of the CFR packages.
  NMCV60.BAT                   - Batch file to use with the makefile ETSUSER.VCN in
                                 order to build ETSUSER.DLL for the Intermec CV60.
                                 Also used with the various Windows CE makefiles that
                                 are part of the CFR packages.
  NMI5020.BAT                  - Batch file to use with the makefile ETSUSER.VCN in
                                 order to build ETSUSER.DLL for the Intermec 5020 (running
                                 Windows CE 3.0 or later).  Also used with the various
                                 Windows CE makefiles that are part of the CFR packages.
  NMI600.BAT                   - Batch file to use with the makefile ETSUSER.VCN in
                                 order to build ETSUSER.DLL for the Intermec 600.
                                 Also used with the various Windows CE makefiles that
                                 are part of the CFR packages.
  NMI6651.BAT                  - Batch file to use with the makefile ETSUSER.VCN in
                                 order to build ETSUSER.DLL for the Intermec 6651.
                                 Also used with the various Windows CE makefiles that
                                 are part of the CFR packages.
  NMI700.BAT                   - Batch file to use with the makefile ETSUSER.VCN in
                                 order to build ETSUSER.DLL for the Intermec 700.
                                 Also used with the various Windows CE makefiles that
                                 are part of the CFR packages.
  NMS90XX.BAT                  - Batch file to use with the makefile ETSUSER.VCN in
                                 order to build ETSUSER.DLL for the Symbol 90xx terminals.
                                 Also used with the various Windows CE makefiles that
                                 are part of the CFR packages.
  NMLPTCE.BAT                  - Batch file to use with the makefile ETSUSER.VCN in
                                 order to build ETSUSER.DLL for the Intelligent
                                 Instrumentation LanPoint CE.  Also used with the
                                 various Windows CE makefiles that are part of the
                                 CFR packages.
  NMX86EM.BAT                  - Batch file to use with the makefile ETSUSER.VCN in
                                 order to build ETSUSER.DLL for the MS Pocket PC
                                 Emulation environment.  Also used with the
                                 various Windows CE makefiles that are part of the
                                 CFR packages.

  Windows CE Device with ARM Processor - but not Pocket PC API Available
  ----------------------------------------------------------------------
  ARMNOPPC\ETSPT.EXE           - Windows CE TCP/IP Sockets flavor of Client for use
                                 on devices with an Intel StrongARM processor or
                                 compatible and with Windows CE 3.0 or compatible
                                 later version but which are not Pocket PC devices. Uses 
                                 networking support that is provided by the operating 
                                 system. This is the stub executable that is run to 
                                 start the Client; the majority of the program is in 
                                 ARMNOPPC\ETSPT.DLL.
  ARMNOPPC\ETSPT.DLL           - Windows CE TCP/IP Sockets flavor of Client DLL for use
                                 on devices with an Intel StrongARM processor or
                                 compatible and with Windows CE 3.0 or compatible later
                                 version but which are not Pocket PC devices; requires 
                                 ARMNOPPC\ETSPT.EXE to start it.  This flavor of 
                                 ETSPT.DLL is similar to the IMEC700\ETSPT.DLL
                                 except that it does not require the Pocket PC library
                                 AGYSHELL.DLL.
  ARMNOPPC\ETSSCRPT.DLL        - Intel StrongARM Client DLL containing text file processing.

  Interemc CK30 (XScale processor, Windows CE)
  --------------------------------------------
  CK30\ETSPT.EXE               - Windows CE TCP/IP Sockets flavor of Client for the
                                 Intermec CK30 terminal.  Uses networking support that is 
                                 provided by the operating system. This is the stub 
                                 executable that is run to start the Client; the 
                                 majority of the program is in CK30\ETSPT.DLL.
  CK30\ETSPT.DLL               - Windows CE TCP/IP Sockets flavor of Client DLL for
                                 the Intermec CK30 terminal; requires CK30\ETSPT.EXE
                                 to start it.
  CK30\ETSSCRPT.DLL            - Intermec CK30 Client DLL containing text file processing.
  CK30\SAMPLE\EMULATOR.INI     - Sample EMULATOR.INI for Intermec CK30
  CK30\SAMPLE\CK30.INF         - Sample .INF file used with MAKECAB.BAT for creating
                                 CK30.CAB.

  Interemc CV60 (Intel P-III processor, Windows CE / Windows XP Embedded)
  ------------------------------------------------------------------------
  CV60\ETSPT.EXE               - Windows CE TCP/IP Sockets flavor of Client for the
                                 Intermec CV60 terminal.  Uses networking support that is 
                                 provided by the operating system. This is the stub 
                                 executable that is run to start the Client; the 
                                 majority of the program is in CV60\ETSPT.DLL.
  CV60\ETSPT.DLL               - Windows CE TCP/IP Sockets flavor of Client DLL for
                                 the Intermec CV60 terminal; requires CV60\ETSPT.EXE
                                 to start it.
  CV60\ETSSCRPT.DLL            - Intermec CV60 Client DLL containing text file processing.
  CV60\SAMPLE\EMULATOR.INI     - Sample EMULATOR.INI for Intermec CV60
  CV60\SAMPLE\CV60.INF         - Sample .INF file used with MAKECAB.BAT for creating
                                 CV60.CAB.

  Interemc 5020 (Hitachi SH3 processor, running Windows CE 3.0 or later)
  ----------------------------------------------------------------------
  IMEC5020\ETSPT.EXE           - Windows CE TCP/IP Sockets flavor of Client for
                                 the Intermec 5020 terminal.
                                 Uses networking support that is provided by the
                                 operating system. This is the stub executable that
                                 is run to start the Client; the majority of the program
                                 is in IMEC5020\ETSPT.DLL.
  IMEC5020\ETSPT.DLL           - Windows CE TCP/IP Sockets flavor of Client DLL for
                                 the Intermec 5020 terminal; requires IMEC5020\ETSPT.EXE 
                                 to start it.
  IMEC5020\ETSSCRPT.DLL        - Intermec 5020 Client DLL containing text file processing.
  IMEC5020\SAMPLE\EMULATOR.INI - Sample EMULATOR.INI for Intermec 5020
  IMEC5020\SAMPLE\IMEC5020.INF - Sample .INF file used with MAKECAB.BAT for creating
                                 IMEC5020.CAB.

  Intermec 600 (AMD 486 processor, Windows CE 2.12)
  -------------------------------------------------
  Note: script text file processing is not supported on the Intermec 600 terminal 
  due to there being no support for C++ exception handling on this platform.

  IMEC600\ETSPT.EXE            - Windows CE TCP/IP Sockets flavor of Client for
                                 the Intermec 600 terminal.  Uses networking support
                                 that is provided by the operating system. This is the
                                 stub executable that is run to start the Client; the
                                 majority of the program is in IMEC600\ETSPT.DLL.
  IMEC600\ETSPT.DLL            - Windows CE TCP/IP Sockets flavor of Client DLL for
                                 the Intermec 600 terminal; requires IMEC600\ETSPT.EXE
                                 to start it.  
  IMEC600\SAMPLE\EMULATOR.INI  - Sample EMULATOR.INI for Intermec 600
  IMEC600\SAMPLE\IMEC600.INF   - Sample .INF file used with MAKECAB.BAT for creating
                                 IMEC600.CAB.

  Interemc 6651 (Toshiba MIPS processor, running Windows CE 3.0 or later)
  -----------------------------------------------------------------------
  IMEC6651\ETSPT.EXE           - Windows CE TCP/IP Sockets flavor of Client for
                                 the Intermec 6651 terminal.  Uses networking support
                                 that is provided by the operating system. This is the
                                 stub executable that is run to start the Client; the
                                 majority of the program is in IMEC6651\ETSPT.DLL.
  IMEC6651\ETSPT.DLL           - Windows CE TCP/IP Sockets flavor of Client DLL for
                                 the Intermec 6651 terminal; requires IMEC6651\ETSPT.EXE
                                 to start it.
  IMEC6651\ETSSCRPT.DLL        - Intermec 6651 Client DLL containing text file processing.
  IMEC6651\SAMPLE\EMULATOR.INI - Sample EMULATOR.INI for Intermec 6651
  IMEC6651\SAMPLE\IMEC6651.INF - Sample .INF file used with MAKECAB.BAT for creating
                                 IMEC6651.CAB.

  Intermec 700 (Intel ARM processor or compatible, running Pocket PC 3.0)
  -----------------------------------------------------------------------------
  Note: Intermec 700's that have Pocket PC 4.x or later can use the DCConnect
  Client build fles found in SYM90XX - which provides full support for text file
  processing.  Intermec 700's with Pocket PC 3.x must use the files in IMEC700
  which do not support text based processing due to the lack of exception handling
  in Pocket PC 3.x.

  IMEC700\ETSPT.EXE            - Windows CE TCP/IP Sockets flavor of Client for
                                 the Intermec 700 terminal with Pocket PC 3.x. 
                                 Uses networking support that is provided by the 
                                 operating system. This is the stub executable that 
                                 is run to start the Client; the majority of the 
                                 program is in IMEC700\ETSPT.DLL.
  IMEC700\ETSPT.DLL            - Windows CE TCP/IP Sockets flavor of Client DLL for
                                 the Intermec 700 terminal with Pocket PC 3.x; 
                                 requires \IMEC700\ETSPT.EXE to start it.
  IMEC700\SAMPLE\EMULATOR.INI  - Sample EMULATOR.INI for Intermec 700
  IMEC700\SAMPLE\IMEC700.INF   - Sample .INF file used with MAKECAB.BAT for creating
                                 IMEC700.CAB.

  LanPoint CE (AMD 486 processor, Windows CE 3.0)
  -----------------------------------------------
  Note: Note: script text file processing is not supported on the LanPoint CE terminal 
  due to there being no support for C++ exception handling on this platform.

  LANPTCE\ETSPT.EXE            - Windows CE TCP/IP Sockets flavor of Client for the
                                 Intelligent Instrumentation LanPoint CE terminal.
                                 Uses networking support that is provided by the
                                 operating system. This is the stub executable that is
                                 run to start the Client; the majority of the program is
                                 in LANPTCE\ETSPT.DLL.
  LANPTCE\ETSPT.DLL            - Windows CE TCP/IP Sockets flavor of Client DLL for
                                 the LanPoint CE terminal; requires \LANPTCE\ETSPT.EXE
                                 to start it.
  LANPTCE\SAMPLE\EMULATOR.INI  - Sample EMULATOR.INI for LanPoint CE
  LANPTCE\SAMPLE\LANPTCE.INF   - Sample .INF file used with MAKECAB.BAT for creating
                                 LANPTCE.CAB.


  Symbol 81xx (compatible with Intermec 700)
  ------------------------------------------
  SYM81XX\SAMPLE\CECONFIG.INI  - Sample CECONFIG.INI for Symbol 81xx
  SYM81XX\SAMPLE\EMULATOR.INI  - Sample EMULATOR.INI for Symbol 81xx
  SYM81XX\SAMPLE\SYM81XX.INF   - Sample .INF file used with MAKECAB.BAT for creating
                                 SYM81XX.CAB.

  Symbol 90xx (Intel ARM processor or compatible, running Windows CE or later)
  ----------------------------------------------------------------------------
  SYM90XX\ETSPT.EXE            - Windows CE TCP/IP Sockets flavor of Client for
                                 the Symbol MC90xx terminal.  Uses networking support
                                 that is provided by the operating system. This is the
                                 stub executable that is run to start the Client; the
                                 majority of the program is in SYM90XX\ETSPT.DLL.
  SYM90XX\ETSPT.DLL            - Windows CE TCP/IP Sockets flavor of Client DLL for
                                 the Symbol MC90xx terminal; requires \SYM90XX\ETSPT.EXE
                                 to start it.
  SYM90XX\ETSSCRPT.DLL         - Symbol MC90xx Client DLL containing text file processing.
  SYM90XX\SAMPLE\EMULATOR.INI  - Sample EMULATOR.INI for Symbol MC90xx
  SYM90XX\SAMPLE\SYM90XX.INF   - Sample .INF file used with MAKECAB.BAT for creating
                                 SYM90XX.CAB.

  Symbol 91xx (Intel ARM processor or compatible, running Windows CE or later)
  ----------------------------------------------------------------------------
  This flavor of the Client handles the VGA resolution of the Symbol 91xx and other
  compatible devices.

  SYM91XX\ETSPT.EXE            - Windows CE TCP/IP Sockets flavor of Client for
                                 the Symbol MC91xx terminal.  Uses networking support
                                 that is provided by the operating system. This is the
                                 stub executable that is run to start the Client; the
                                 majority of the program is in SYM91XX\ETSPT.DLL.
  SYM91XX\ETSPT.DLL            - Windows CE TCP/IP Sockets flavor of Client DLL for
                                 the Symbol MC91xx terminal; requires \SYM91XX\ETSPT.EXE
                                 to start it.
  SYM91XX\ETSSCRPT.DLL         - Symbol MC91xx Client DLL containing text file processing.


  Pocket PC Emulator (Debug Build)
  --------------------------------
  X86EMDBG\ETSPT.EXE           - Windows CE TCP/IP Sockets flavor of Client for the
                                 Microsoft Pocket PC Emulation Environment.
                                 Uses networking support that is provided by the
                                 operating system. This is the stub executable that is
                                 run to start the Client; the majority of the program is
                                 in X86EMDBG\ETSPT.DLL.
  X86EMDBG\ETSPT.DLL           - Windows CE TCP/IP Sockets flavor of Client DLL for
                                 the Pocket PC Emulator; requires \X86EMDBG\ETSPT.EXE
                                 to start it.
  X86EMDBG\ETSSCRPT.DLL        - Pocket PC Emulator Client DLL containing text file processing.
  X86EMDBG\SAMPLE\EMULATOR.INI - Sample EMULATOR.INI for the Pocket PC Emulator
  X86EMDBG\SAMPLE\X86EMDBG.INF - Sample .INF file used with MAKECAB.BAT for creating
                                 X86EMDBG.CAB.


  Files Used for Building CFRs to Run with the Client (DOS, 32-bit Windows, Windows CE)
  -------------------------------------------------------------------------------------
  CFRTOOLS\CFRAPI24.H            - Header file required for compiling all CFRs
  CFRTOOLS\CFRWIN32.H            - Header file required for compiling Win32 and CE CFR DLLs

  CFRTOOLS\BORLAND\CFRAPI24.LIB  - Library file required for linking when building CFRs
                                   with Borland Turbo C++ 3.0 for DOS
  CFRTOOLS\IBMC2\CFRAPI24.LIB    - Library file required for linking when building CFRs
                                   with IBM C/2 1.10

  CFRTOOLS\CK30\CFRAPICE.LIB     - Library file required for linking CFR built for
                                   Intermec CK30 terminals
  CFRTOOLS\CV60\CFRAPICE.LIB     - Library file required for linking CFR built for
                                   Intermec CV60 terminals
  CFRTOOLS\IMEC600\CFRAPICE.LIB  - Library file required for linking CFR built for
                                   Intermec 600 terminals
  CFRTOOLS\IMEC700\CFRAPICE.LIB  - Library file required for linking CFR built for
                                   Intermec 700 terminals
  CFRTOOLS\IMEC5020\CFRAPICE.LIB - Library file required for linking CFR built for
                                   Intermec 5020 terminals (running Windows CE 3.0)
  CFRTOOLS\IMEC6651\CFRAPICE.LIB - Library file required for linking CFR built for
                                   Intermec 6651 terminals
  CFRTOOLS\LANPTCE\CFRAPICE.LIB  - Library file required for linking CFR built for
                                   Intelligent Instrumentation LanPoint CE terminals
  CFRTOOLS\SYM90XX\CFRAPICE.LIB  - Library file required for linking CFR built for
                                   Symbol MC90xx terminals
  CFRTOOLS\X86EMDBG\CFRAPICE.LIB - Library file required for linking CFR built for
                                   MS Pocket PC Emulation Environment

  CFRTOOLS\WIN32\CFRAPI32.LIB    - Library file required for linking 32-bit Windows CFRs

  CFRTOOLS\CFRUTL24.RME          - README file describing the files in the CFR utility
                                   library package in more detail.
  CFRTOOLS\CFRUTL24.HTM          - More detailed documentation about each utility
                                   routine.

  CFRTOOLS\CFRUTL24.H            - Include file use in building the CFR utility library -
                                   and needed when building a CFR that uses the routines
                                   in this library.
  CFRTOOLS\*.C                   - Source files used to build the utility library.  See
                                   CFRTOOLS\CFRUTL24.RME for a description of each.

  CFRTOOLS\CFRUTL24.MAK          - Used for building the flavor of CFR utility library
                                   for either the Borland Turbo C++ 3.0 for DOS compiler
                                   or the IBM C/2 1.10 compiler.

  CFRTOOLS\CFRUTL32.DSP          - Project file used with MS Visual Studio for
                                   building / working with the 32-bit Windows flavor
                                   of the CFR utility library.
  CFRTOOLS\CFRUTL32.DSW          - Workspace file used with MS Visual Studio for
                                   building / working with the 32-bit Windows flavor
                                   of the CFR utility library.
  CFRTOOLS\CFRUTL32.MAK          - Generated by MS Visual Studio for building the
                                   32-bit Windows flavor of the CFR utility library
  CFRTOOLS\NMUTL32.BAT           - Batch file used to build the 32-bit Windows flavor
                                   of the CFR utility library.  Uses CFRTOOLS\CFRUTL32.MAK.

  CFRTOOLS\CFRULT40.VCN          - MS Embedded Visual C++ Version 4.0 makefile, generated by 
                                   the build environment when loaded from cfrutl40.vcw.  
                                   Used by several of the build batch files below that build 
                                   the various CE flavors of the utility library, cfrutlce.lib, 
                                   for devices that run Windows CE 4.x and later (in 
                                   subdirectories CK30, CV60, SYM90XX...)
  CFRTOOLS\CFRULT40.VCP          - MS Embedded Visual C++ Version 4.0 project file used for 
                                   building some of the various flavors of cfrutlce.lib.  
                                   See cfrutl40.vcn file above for more details.
  CFRTOOLS\CFRULT40.VCW          - MS Embedded Visual C++ Version 4.0 workspace file used for 
                                   building some of the various flavors of cfrutlce.lib.  
                                   See cfrutl40.vcn file above for more details.

  CFRTOOLS\CFRULTCE.VCN          - MS Embedded Visual C++ Version 3.0 makefile, generated by the 
                                   build environment when loaded from cfrutlce.vcw.  Used by 
                                   several of the build batch files below that build the various  
                                   CE flavors of the utility library, cfrutlce.lib, for devices 
                                   that run Windows CE 3.x and earlier (in subdirectories 
                                   IMEC600, IMEC700, ...)
  CFRTOOLS\CFRULTCE.VCP          - MS Embedded Visual C++ Version 3.0 project file used for 
                                   building many of the various flavors of cfrutlce.lib.  
                                   See cfrutlce.vcn file above for more details.
  CFRTOOLS\CFRULTCE.VCW          - MS Embedded Visual C++ Version 3.0 workspace file used for 
                                   building many of the various flavors of cfrutlce.lib.  
                                   See cfrutlce.vcn file above for more details.

  CFRTOOLS\NMCK30.BAT            - Batch file for building Intermec CK30 flavor of 
                                   cfrutlce.lib.  Uses CFRTOOLS\CFUTL40.VCN.
  CFRTOOLS\NMCV60.BAT            - Batch file for building Intermec CV60 flavor of 
                                   cfrutlce.lib.  Uses CFRTOOLS\CFUTL40.VCN.
  CFRTOOLS\NMI600.BAT            - Batch file for building Intermec 600 flavor of
                                   cfrutlce.lib.  Uses CFRTOOLS\CFUTLCE.VCN.
  CFRTOOLS\NMI700.BAT            - Batch file for building Intermec 700 flavor of
                                   cfrutlce.lib.  Uses CFRTOOLS\CFUTLCE.VCN.
  CFRTOOLS\NMI5020.BAT           - Batch file for building Intermec 5020 (running Windows
                                   CE 3.0) flavor of cfrutlce.lib.  Uses
                                   CFRTOOLS\CFUTLCE.VCN.
  CFRTOOLS\NMI6651.BAT           - Batch file for building Intermec 6651 flavor of
                                   cfrutlce.lib.  Uses CFRTOOLS\CFUTLCE.VCN.
  CFRTOOLS\NMLPTCE.BAT           - Batch file for building Intelligent Instrumentation
                                   LanPoint CE flavor of cfrutlce.lib.  Uses
                                   CFRTOOLS\CFUTLCE.VCN.
  CFRTOOLS\NMS90XX.BAT           - Batch file for building Symbol MC90xx flavor of 
                                   cfrutlce.lib.  Uses CFRTOOLS\CFUTL40.VCN.
  CFRTOOLS\NMX86EM.BAT           - Batch file for building the MS Pocket PC Emulator
                                   flavor of cfrutlce.lib.  Uses CFRTOOLS\CFRUTLCE.VCN.

  CFRTOOLS\BORLAND\CFRUTL24.LIB  - Utility library file used when linking CFRs built with
                                   Borland Turbo C++ 3.0 for DOS
  CFRTOOLS\IBMC2\CFRUTL24.LIB    - Utility library file used when linking CFRs built with
                                   IBM C/2 1.10

  CFRTOOLS\CK30\CFRUTLCE.LIB     - The utility library for use on Intermec CK30 terminals
  CFRTOOLS\CV60\CFRUTLCE.LIB     - The utility library for use on Intermec CV60 terminals
  CFRTOOLS\IMEC600\CFRUTLCE.LIB  - Utility library file used when linking CFRs built for
                                   Intermec 600 terminals
  CFRTOOLS\IMEC700\CFRUTLCE.LIB  - Utility library file used when linking CFRs built for
                                   Intermec 700 terminals
  CFRTOOLS\IMEC5020\CFRUTLCE.LIB - Utility library file used when linking CFRs built for
                                   Intermec 5020 terminals (running Windows CE 3.0)
  CFRTOOLS\IMEC6651\CFRUTLCE.LIB - Utility library file used when linking CFRs built for
                                   Intermec 6651 terminals
  CFRTOOLS\LANPTCE\CFRUTLCE.LIB  - Utility library file used when linking CFRs built for
                                   Intelligent Instrumentation LanPoint CE terminals
  CFRTOOLS\SYM90XX\CFRUTLCE.LIB  - The utility library for use on Symbol MC90XX terminals
  CFRTOOLS\X86EMDBG\CFRUTLCE.LIB - Utility library file used when linking CFRs built for
                                   the MS Pocket PC Emulator.

  CFRTOOLS\WIN32\CFRUTL32.LIB    - Utility library file used when linking CFRS built for
                                   32-bit Windows.

  CFRTOOLS\CFRSMP24.ZIP          - Sample CFR package.  Source, make and library
                                   files included for DOS, 32-bit Windows and
                                   Windows CE devices

  CFRTOOLS\CFRPAN24.ZIP          - Input panel driver CFR package.  Source, make and
                                   library files included for DOS, 32-bit Windows
                                   and Windows CE devices

  CFRTOOLS\CFRUTL24.ZIP          - Package of useful utility routines to include in
                                   CFRs.  Source, make and library files included
                                   for DOS, 32-bit Windows and Windows CE devices


  Miscellaneous Files
  -------------------
  LOGFILE.LOG           - Empty transaction logfile. Needed when building
                          Windows CE .CAB files - along with LOGFILE.NDX.

  LOGFILE.NDX           - Empty transaction index file. Needed when building
                          Windows CE .CAB files - along with LOGFILE.LOG.


To expand the file, copy it to an empty directory. If you have installed a version of
the Client from a version 2.00 CD or later, then copy this self-extracting zip file
to the directory into which the product CD was installed (e.g. C:\DCCONN\DCCLIENT)

Then run the following from that directory:

  CLNTvvvn

where 'vvv' is the 3-digit version number and 'n' is a letter from 'A' to 'Z' for
the sub-version.  The sub-directories will be created automatically.

Refer to the documentation in DCCLIENT.HTM for device specific instructions
about how the updated Client executable and associated files should be
loaded into the device you are using.


CHRONOLOGICAL SUMMARY OF FIXES/CHANGES
--------------------------------------

07-16-99: - Fixed temporary loss of communication problem that occurs when
            loading large validation files in the serial version.  End-of-
            download processing which converts record separators to NULLs
            was not yielding the processor thus preventing incoming host
            commands from being processed.

----------------------------------------------------------------------------
End of changes in version 1.40A version of product (July 1999).
----------------------------------------------------------------------------

07-23-99: - For the SEND (:W) command, if the target is RS-232 and the
            length of the data being written is 0, message 9053, RS-232
            Length Error' will now be given and the transaction program
            will abort.  In the past 9316, BIOS ComWrite error was given in
            this error situation.

          - Corrected/enhanced the return codes for the following CFR APIs:
            - AliasTransID() now returns RANGE_ERROR, as is documented, instead
              of E_PARAM - if the ID is invalid.
            - ClearUserVariable() now returns RANGE_ERROR if the user variable
              is invalid.  Before no error was given.
            - Validation() now returns FILE_NOT_FOUND if the validation
              file could not be found.  Before RANGE_ERROR was given in
              certain error situations.
            - WaitEvent() will not return TERMINAL_OFFLINE if the terminal
              is put out of service during the call.  This is the same
              behavior as IdleManager().

          - Fixed problem that occurs if you send a transaction from case
            0 or 2 of a CFR.  The code was trying to run some other
            transaction program when the CFR completed - resulting in one of
            several possible erroneous messages such as 'invalid parameter'.

----------------------------------------------------------------------------
End of changes in version 1.40B version of product (July 1999).
----------------------------------------------------------------------------

08-16-99: - Client is now considered in the transaction state when case 0
            or case 2 of a CFR are run during a change to the in service state.
            This fixes problem where certain keys were not being passed to the
            CFR in this scenario.

08-27-99: - Fixed the DUMP MEMORY option under INFO/STATUS menu for the
            CFR file (file C).   Before the fix, no file data would be dumped
            even when the CFR was loaded.

----------------------------------------------------------------------------
End of changes in version 1.40C version of product (August 1999).
----------------------------------------------------------------------------

10-22-99: - Fixed problem downloading transaction programs > 64K.  On the
            terminal the loading of  file 0 would fail around block 138.  So
            the terminal would show:

              Loading file 0: 138

            and in DCConnect, there would be an error message about the
            downloading failing - specifying -309 for the return code.

11-02-99: - Fixed problem allocating memory for CFRs that require > 32767
            bytes of memory.

----------------------------------------------------------------------------
End of changes in version 1.40D version of product (November 1999).
----------------------------------------------------------------------------

11-09-99: - Fixed READ command so that it does not activate the scanner
            unless the scanner was one of the input devices selected.  At
            this writing this really only affects Telxon and the Symbol
            Spectrum 24 terminals; for all others the scanner is always on -
            even though the Client might ignore it's input.

11-26-99: - Fixed cause of POST 82 error on startup - which might occur in
            rare circumstances if there was limited free terminal memory.
            Problem was there used to be an assumption that a task ID could
            not be greater than 0x8000 when in fact it could.

12-02-99: - Minor changes to serial port code to turn the power on to the
            serial port when a read is issued to a device (using CFR API
            ComRead).  Power stays on for 10 seconds - unless other reads
            or writes are done.  In the past, only the ComWrite API or SEND
            command from a transaction program would turn the power on.

12-02-99: - Added support for Telxon 870 IM terminal.  The device parameter
            to use is -dPTC870.

12-02-99: - Added support for use of a TSR to handle scanning functions and
            RS-232 functions.   The scanning functions allow the Client to
            distinguish between keyboard and scanner input and allow better
            enforcement of length - for those devices which do not support
            configuring preamble and postamble characters.

            The RS-232 functions allow the use of the serial port on devices
            that do not have a standard interface to the serial port.

            As of now, two TSRs have been created to take advantage of this
            new TSR interface.  One is for use on the Telxon 960SL, 960X,
            and 860IM terminals.  The other is for the Telxon 870IM terminal.

            Two new keywords for the EMULATOR.INI file tell the Client
            to use the TSR for scanner/RS-232 functions: USE_TSR_FOR_SCANNER
            and USE_TSR_FOR_RS232.

----------------------------------------------------------------------------
End of changes in version 1.40E version of product (November 1999).
----------------------------------------------------------------------------

12-14-99: - Fix for error message/bad return code when writing to serial
            port from transaction program/cfr.  Return code was not being
            set properly.

          - Added support for Antares terminals in the serial version of
            Client.  Includes full scanner support too.

12-16-99: - Scrolling using the arrow keys is now available.  This allows
            you to view out to column 40 and down to row 20 on devices such
            as the Telxon PTC960 which do not have that many rows or columns.

          - The command line parameter -h for specifying the host IP address
            and port number will now assume the port is 7500 if only the IP
            address is specified.

          - Moved into EMULATOR.INI from the menus all configuration parameters
            that were not already configurable from EMULATOR.INI.  This was
            done for future consistency and to save space.  The menus will be
            just for diagnostic tools and exiting the program.

            A couple command line parameters also now have equivalents in
            EMULATOR.INI

            The new commands in EMULATOR.INI are:

              NUM_ROWS
              NUM_COLS or NUM_COLUMNS
              STATUS_ROW
              MSG_BUFFER_FULL
              MSG_WAITING_FOR_FILES
              TCPIP_PORT
              TCPIP_HOST
              RESEND_TIMER
              ADDRESS
              BAUD_RATE
              COM_PORT
              DEVICE

            Please refer to the latest version of DCCLIENT.HTM for a
            description of how they are used.

----------------------------------------------------------------------------
End of changes in version 1.40F version of product (December 1999).
----------------------------------------------------------------------------

2000-01-20: Fixed problem handling duplicate messages in TCP/IP versions of
            the Client.  When a duplicate was received, if the sequence
            of the current message matched the one from the saved response,
            the saved response should have been resent.  The problem was the
            saved sequence number was never being updated and thus the resend
            of a saved response never occurred when it should have.  With this
            fix, communications with DCConnect is now more tolerant of packets
            that are lost or duplicated in the network.

----------------------------------------------------------------------------
End of changes in version 1.40G version of product (January 2000).
----------------------------------------------------------------------------

2000-01-24: Added support for Intermec's Antares line of terminals.  Special
            executables specific to Antares terminals were created for both
            the serial and TCP/IP flavors of the Client.  Because of the
            design of Antares terminals, TCP/IP attached Antares terminals
            must be configured to use the same port number as DCConnect.

2000-01-25: Removed from the menus, all of the menus related to configuring
            parameters since all parameters can now be configured via the
            EMULATOR.INI file (see 12-16-99 comment above).  The main menu
            now has the following options:

              1) VERSION INFO
              2) TXTN COUNT
              3) TRACE LOG
              4) DUMP MEMORY
              5) VIEW SETTINGS
              6) CLOSE MENUS

              X) EXIT PROGRAM

            The first 4 options are the same as what used to be on the
            INFO/STATUS menu.  Option 5 is new and it allows you to view the
            current setting of all parameters that could be configured using
            EMULATOR.INI - but it does not allow you to change any of them.
            Option 6 is for leaving the menus without ending the Client.
            And Option X is just like the former 'EXIT TO DOS" option but has
            been reworded so it is applicable in non-DOS environments.

            Due to these changes the size of the Client was reduced by
            5K - 10K which should allow more space for downloading files.

----------------------------------------------------------------------------
End of changes in version 1.40H version of product (February 2000).
----------------------------------------------------------------------------

2000-02-02: For Antares, removed the TRACE LOG and DUMP MEMORY diagnostic
            options from the menus to save +5K in the executable size.  The
            Antares has less available memory than the other terminals.

          - Changed the underlying code for the CFR API GetTerminalAddress
            so that it no longer uses the C function sprintf().  Prior to
            this change, calling this CFR API could cause a runtime stack
            overflow error if the CFR stack was not big enough.

2000-02-03: Restructured CFRAPI24.LIB so that every function in it is now in
            it's own .OBJ file.  This can reduce the CFR size up to 3K,
            depending on how many CFR API functions are being used.

----------------------------------------------------------------------------
End of changes in version 1.40I version of product (February 2000).
----------------------------------------------------------------------------

2000-02-18: The transaction program file can now be greater than 99999 bytes
            in size.  In order to take advantage of this change, Fix Pack D
            for the 1.4.0 CDs of DCConnect must be installed.

            5 bytes are used to specify the size.  If the size is > 99999, the
            first byte is 'A' to 'Z' indicating a multiple of 65536, where
            'A' is a multiple of 1.  The remaining 4 bytes is a hex value from
            0x0000 to 0xFFFF specifying the remainder value to be added to the
            value derived from the first byte - resulting in the true file
            size.

2000-03-03: Fixed date roll over problem. At midnight the terminal date would
            intermittently fail to be updated. The terminal continues to
            display the correct time, but the date can be off by one or more
            days.  The problem appears to be one with DOS itself failing to
            reflect the change in date if a request to get the date and time
            is being made right at midnight.

            The Client now detects the problem and corrects the date within
            a second after midnight, or sooner if the Client needs to get the
            date/time for a transaction, CFR call, ...

----------------------------------------------------------------------------
End of changes in version 1.40J version of product (March 2000).
----------------------------------------------------------------------------

2000-03-30: Changed the start up code to clear the opening screen when the
            terminal is put out of service at the start of a download.  This
            fixes a problem trying to run a mode 2 CFR in the case that the
            download completes before the 20 seconds that the opening screen
            automatically times out after.

2000-04-03: Fixed problem calling CallKeyDef from a mode 2 CFR (one that
            never returns from a function 0 or 2).  A return code of
            TRANS_IN_PROGRESS would always be given.  This problem was
            introduced with the 8-16-99 fix (see above) for a problem getting
            certain keystrokes in a CFR.

----------------------------------------------------------------------------
End of changes in version 1.40K version of product (April 2000).
----------------------------------------------------------------------------

2000-04-20: Made a couple of changes to improve performance on Antares.

----------------------------------------------------------------------------
End of changes in version 1.40L version of product (April 2000).
----------------------------------------------------------------------------

2000-05-01: Another fix for Antares - possible mix up of messages generated
            when duplicate messages are received.

----------------------------------------------------------------------------
End of changes in version 1.40M version of product (May 2000).
----------------------------------------------------------------------------

2000-05-24: Added new CFR API called KbdHandleArrowKeys.  This allows a CFR
            to turn on and off the Client's handling of the arrow keys to
            scroll the window.  The format of the API is:

              USHORT KbdHandleArrowKeys (UCHAR flag);

            where 'flag' is either HANDLE_ARROWS_YES or HANDLE_ARROWS_NO.

            By default the Client filters out the arrow keys and scrolls the
            screen based on the key pressed.  But if the Client has been told
            not to filter out the arrow keys, then the CFR can receive these
            keys using KbdReadAscii().  The values for the arrow keys, which
            are defined in CFRAPI24.H are CURSOR_UP, CURSOR_DOWN, CURSOR_LEFT
            and CURSOR_RIGHT.

2000-05-25: Found that several CFR APIs were missing from the Windows/NT and
            Windows CE versions of the Client.  The missing CFR APIs were:

              QueryTransactionCnt, SendTransaction,  AliasTransID,
              GetTerminalAddress,  GetPowerState,    KbdGetShift

2000-05-26: For the Windows versions of the Client, XON/XOFF was not
            explicitly being turned off when the configuration indicated it
            should not be on.  Therefore the previous setting would stay in
            effect.

----------------------------------------------------------------------------
End of changes in version 1.40N version of product (May 2000).
----------------------------------------------------------------------------

2000-06-14: Added a TSR for use with Symbol Spectrum 24 terminals.  This TSR
            provides support of the serial port as well as scanner support,
            which allows the Client to be able to distinguish between keyboard
            and scanner input.

----------------------------------------------------------------------------
End of changes in version 1.40O version of product (June 2000).
----------------------------------------------------------------------------

2000-07-12: For the Intermec 5020 version of the Client, certain CFR APIs did
            not work correctly because the Client was not being built with the
            8 byte alignment that is required by all applications that run on
            this device.

2000-07-21: The CFR API ClearUserVariable() can now be used to clear the
            transaction buffer by passing a -1 in for the user variable
            number.  The constant TRANS_BUFFER has also been added to
            CFRAPI24.H for this purpose.

----------------------------------------------------------------------------
End of changes in version 1.40P version of product (July 2000).
----------------------------------------------------------------------------

2000-08-22: Fixed a memory fragmentation problem that would cause downloads
            to fail even when there was sufficient memory in total.  When the
            problem existed, a restart of the Client would allow the download
            to complete successfully.

            The problem was caused by the fact that space occupied by the CFR
            was not freed until several allocations for other files were
            attempted.  So the space occupied by the CFR from a previous load
            was locked while the first couple of allocations were attempted.
            If one of the earlier files grew in size, other files would no
            longer fit before the CFR - and if there wasn't sufficient space
            after, the allocation would fail.  Now the CFR is freed at the
            start of the download.

            The problem was found on the Antares terminal - which has less
            memory than most other terminals.  However, the problem has
            always existed and could have affected any terminal.

----------------------------------------------------------------------------
End of changes in version 1.40Q version of product (August 2000).
----------------------------------------------------------------------------

2000-08-23: Modified the SHOW_IDLE_TIME keyword for EMULATOR.INI to allow you
            to specify a date and/or time format.  These would override the
            formats that are downloaded from DCConnect (which aren't currently
            able to be changed any way!)  The choices for date format are:

              MMDDYY  YYMMDD  DDMMYY  JJJYY  YYJJJ

            the choices for time format are:

              12  24

            If both date and time are to be shown, separate the date and time
            format by at least 1 space or comma.  Here are some examples:

            To show just the date using MMDDYY format, add the following line
            to EMULATOR.INI:

              SHOW_IDLE_TIME = MMDDYY

            To show the date using YYMMDD and the time using 24 hour format,
            add the following line to EMULATOR.INI:

              SHOW_IDLE_TIME = YYMMDD, 24

            To show just the time in 24 hour format, add the following line to
            EMULATOR.INI:

              SHOW_IDLE_TIME = 24

            Using SHOW_IDLE_TIME = Y is still supported and will use whatever
            formats are dowloaded from DCConnect (which are currently YYMMDD
            and 12 hour time).

          - The date separator can now be changed using the new keyword in
            EMULATOR.INI:

              DATE_SEPARATOR = -

            where the valid choices to the right of the equal sign are - / or .
            If this keyword is not used, the default date separator is the
            slash (/) character.

          - The time separator can now be changed using the new keyword in
            EMULATOR.INI:

              TIME_SEPARATOR = .

            where the valid choices to the right of the equal sign are . or :
            If this keyword is not used, the default time separator is the
            colon (:) character.

8-31-00   - Fixed a problem with the Win32 version of the Client trapping if
            a download is started while the Client code is looping in a CFR
            and not responding to the TERMINAL_OFFLINE return code.

            All versions of the Client will now respond to the CFR memory
            allocate request during the download with a no memory available
            response if the request is received while the CFR is actively
            running.

----------------------------------------------------------------------------
End of changes in version 1.40R version of product (August 2000).
----------------------------------------------------------------------------

2000-09-21: Added support for new keyword in EMULATOR.INI for disabling the
            arrow keys.  If the following statement is added to EMULATOR.INI:

              IGNORE_ARROW_KEYS = Y

            then pressing the DCConnect Client will no longer perform scrolling
            of the screen when the arrow keys are pressed.

----------------------------------------------------------------------------
End of changes in version 1.40S version of product (September 2000).
----------------------------------------------------------------------------

2000-09-27: Message 9801 (Error in program command string) has been changed
            to show the actual program command string that is in error.  This
            should help to understand what is going wrong - although it
            requires you know the raw program data format (e.g. RETURN = :R)

2000-09-29: Added to the menus, the ability to view the contents of user
            variables.  A new DIAGNOSTICS sub menu was added to the main
            menu and the options TRACE LOG and DUMP MEMORY were moved to
            this menu from the main menu.  You can view the contents of any
            user variable from 0-99 and you can specify to view the next
            non-blank user variable, given some starting point.

2000-09-30: Added the ability to step through a transaction program for
            debug purposes.  Turning 'stepping' on and off is done using an
            option on the new DIAGNOSTICS menu.  When stepping is active,
            the next command to be executed is shown at the bottom of the
            screen.  You must press Enter to move to the next step.  You
            can also press Esc to turn stepping off at any step in the
            program.

2000-10-23: In order to allow larger downloads, paging of the transaction
            program file (file 0) and validation files has been implemented.
            When paging is in effect, these files are loaded to the
            'hard disk' of the terminal and are only loaded into the
            terminal's RAM memory, as programs / validation files are
            actually used.  Previously, all files were loaded into RAM
            memory at all times.  Please see the updated documentation
            regarding the new EMULATOR.INI keywords FILE_PAGING and
            LOCK_IN_MEMORY for more details.

            Note: In order for this feature to work properly when the
            transaction program file (file 0) exceeds 99,999 bytes, you
            must have a version of \DCCONN\DLL\TDCOMMON.DLL that is later
            than October 19, 2000 (which will be fix pack D or later for
            version 1.40 of the DCConnect products).

            Note: On certain devices (e.g. Antares), writing to the 'hard disk'
            is a slow operation and can therefore affect the terminal's
            responsiveness during a download.  To get around this, the Poll
            Timeout parameter for the line will probably need to be increased
            in the DCConnect Line Settings notebook.  By default this timeout
            is usually around 0.5 seconds.  We've found that 1.5 seconds is
            usually sufficient - for both TCP/IP and serial lines.  If the
            timeout is not increased, you may start seeing more 'Unexpected
            data' messages during the download or the download may fail
            altogether during the download of the transaction program file
            or a validation file - because the terminal did not respond in
            time to the DCConnect Server's load command.

2000-11-01: Updated the Spectrum24 flash build files (FLSHBLD.ZIP) to include
            the new level Symbol flash drivers( FLASHDSK.SYS, FLSHCTL.EXE and
            FLSHFMT.EXE). This driver change was required because Symbol is
            now using a different type flash chip on their new terminals.
            The replacement drivers are compatible with both the new and the
            older model terminals.

2000-11-01: Added a new KEY_CLICK ini file keyword. This keyword can be used
            to turn on the terminal keyboard key click sound.

----------------------------------------------------------------------------
End of changes in version 1.40T version of product (November 2000).
----------------------------------------------------------------------------

2000-11-09: Fixed problem with Validation() API in CFR: it was failing to
            find a remote validation file name when that name was at the
            end of the list of valid file names (file E).

2000-11-09: Fixed problem enforcing the maximum length for a validation
            request.   The maximum data length is from 87 to 94 bytes
            depending on the length of the validation file name (x.VAL to
            xxxxxxxx.VAL).  Before this fix, if the data was too long,
            memory corruption occurred.

----------------------------------------------------------------------------
End of changes in version 1.40U version of product (November 2000).
----------------------------------------------------------------------------

2000-11-29: Fixed GetTerminalAddress() API for the TCP/IP versions of the
            Client that run on any flavor of Windows.  Prior to this fix,
            the IP address would always be 0.0.0.0 - although the port number
            was correct.

2000-11-29: Fixed another problem with the CFR API Validation() which occurred
            when there were more than 6 validation files in use.  The problem
            resulted in a malformed validation transaction (it contained no
            validation file name).  The DCConnect Server would give an error
            about this bad validation transaction.

2000-12-07: Fixed handling of different screen sizes for the 32-bit Windows
            version of the Client.  The window is now precisely sized based
            on the -d (or DEVICE = ) parameter or by the NUM_ROWS and
            NUM_COLS parameters.  The window no longer has scroll bars.  The
            arrow keys are now used to scroll the contents of the screen -
            in the same way that they are used on real terminals.

            Also added the use of color for certain display attributes for
            the 32-bit Windows version of the Client.  The reverse attribute
            shows up as white on blue.  The blink attribute shows up as
            white on red and the underline attribute shows up as blue on
            black.  Where combinations of these attributes are used, blinking
            supercedes reverse which supercedes underline.  For example, if
            both the reverse and blinking attribute were selected, the
            blinking attribute would be used - so you'd get white on red.

----------------------------------------------------------------------------
End of changes in version 1.40V version of product (December 2000).
----------------------------------------------------------------------------

2000-12-26: Fixed a problem which prevented the Client from reading
            transactions from the logfile on startup.  This problem
            occurred when the MAX_TRANSACTIONS keyword was being used in
            EMULATOR.INI and the capacity specified matched the current
            capacity of the logfile.

----------------------------------------------------------------------------
End of changes in version 1.40W version of product (December 2000).
----------------------------------------------------------------------------

2001-01-05: Additional changes for handling of different screen sizes by the
            32-bit Windows version of the Client (original changes made
            12-07-00).  Cursor positioning was incorrect and part of screen
            was getting cleared when scrolling.

          - Cursor positioning after scrolling was also a problem for DOS
            versions of the Client.  That too has been fixed.

2001-01-15: Added new EMULATOR.INI keyword POWER_OFF_TIMER to allow the user
            to specify how long a terminal can remain idle before it is
            automatically powered off by the Client.  The format is:

              POWER_OFF_TIMER = 3

            where the value specified is the number of minutes.  Each time
            a key is pressed or a scan is done, the timer resets to the full
            timeout value.

            This keyword is only valid for Symbol Spectrum 24 terminals -
            which don't have an easy way to configure this timeout.  Most
            other terminals include this kind of configuration in the native
            firmware - outside the control of the Client.

----------------------------------------------------------------------------
End of changes in version 1.40X version of product (January 2001).
----------------------------------------------------------------------------

2001-01-19: For the 32-bit Windows version of the Client, using colors for the
            reverse/blinking/underline attributes (as described for version
            1.40V above) is now only done if the following keyword is included
            in EMULATOR.INI:

              COLOR_ATTRIBUTES = Y

            Otherwise the attributes are displayed as they were prior to
            version 1.40V.

2001-01-22: The DUMP MEMORY option on the DIAGNOSTICS MENU now handles file
            0 (transaction program file) even when paging is in effect.  The
            contents of all transaction programs that are in memory can now
            be viewed.  For those programs that are not currently loaded in
            memory, the string "!!<1e>" is shown.

          - The TRACE LOG and DUMP MEMORY options on the DIAGNOSTICS menu
            can now have the output go to the serial port of Antares terminals.
            Prior to this, sending the output to the serial port did not work.

2001-01-29: Added new CFR API GetTerminalSettings().  It takes two parameter,
            a pointer to the new TERM_SETTINGS structure and a value indicating
            which settings should be filled in.  At this time, only two
            settings can be obtained: SETTING_NUMROWS and SETTING_NUMCOLS.
            SETTING_ALL is also defined to get all available settings.

            The TERM_SETTINGS structure contains 'numRows' and numCols'.  These
            can be used to find out the physical dimensions of the view port
            of the screen (e.g. 16x21 for PTC960, 20x40 for JANUS2050, 15x20
            for INTERMEC6400, ...).  In the future, if we find additional
            terminal settings need to be added to this structure, they will
            be added at the end and new SETTING_ values will be defined.
            SETTING_ALL will always be defined as a union of all the other
            SETTING_??? constants.

            Here's an example of the APIs use:

              ...

              UCHAR numRows;
              UCHAR numCols;

              int main(int func, char * parms)
               {
                TERM_SETTINGS termSettings;

                GetTerminalSettings(&termSettings,
                                    SETTING_NUMROWS | SETTING_NUMCOLS);

                numRows = termSettings.numRows;
                numCols = termSettings.numCols;

                ...

               }

          - Fixed minor problem for Antares terminals in a TCP/IP network in
            the situation where an ill-formed packet was received.  The
            bad packet was not being discarded properly.  This actually would
            only occur if the DCConnect Server or other server were actually
            generating the packets badly. (This problem was found when the
            terminal was talking to an echo server, not the DCConnect Server).

          - The version description string (shown in parenthesis in the title
            on the MAIN Client menu) now uses "ANT" for "Antares", "BAT" for
            "batch" and "UDP" for most TCP/IP versions of the Client except
            for those that actually use TCP stream sockets - like the Antares.

          - The GetTerminalAddress API no longer includes the port number for
            versions of the Client using TCP stream sockets (Antares) because
            the port number can vary each time the terminal connects with the
            DCConnect Server.

2001-01-30: Added the display of the message "SWITCHED HOSTS!" if the Client
            detects that a different DCConnect Server is talking to it.  That
            message is followed by a message showing the IP address of the
            new host.

----------------------------------------------------------------------------
End of changes in version 1.40Y version of product (January 2001).
----------------------------------------------------------------------------

2001-02-01: Copyright changed to 2001.

2001-02-05: When stepping through a transaction program, the next command
            now shows on the configured status row - instead of always using
            the last row on the screen.

2001-02-07: Fixed problem with GOTO/GOSUB command that caused a branch
            larger than 64K bytes to go to the wrong place in the transaction
            program file.  This problem was introduced with the 10-23-01
            change for support of FILE_PAGING in version 1.40T.  It is not
            a problem if FILE_PAGING is in effect.

----------------------------------------------------------------------------
End of changes in version 1.40Z version of product (February 2001).
----------------------------------------------------------------------------

2001-02-14: Ran out of letters for 1.40!

----------------------------------------------------------------------------
End of changes in version 1.41 version of product (February 2001).
----------------------------------------------------------------------------

2001-02-26: Fixed the cause of a stack overflow error when using any of the
            ComXXX() CFR API calls on an Antares terminal.

2001-02-28: The menu options TRACE LOG and DUMP MEMORY now work properly to
            the RS-232 port for terminals that use a TSR for serial port
            support (Telxon and Symbol Spectrum 24).

----------------------------------------------------------------------------
End of changes in version 1.41A version of product (March 2001).
----------------------------------------------------------------------------

2001-03-05: The menu options DUMP MEMORY and VIEW USER VAR were both
            improperly showing characters with hex values greater than
            or equal to 0x80.  They now now show as < xx > where 'xx' is the
            hex value. Before the fix they showed as < ffx where 'x' was the
            first digit of the 2 digit hex value.  This problem was
            introduced in version 1.40T - when VIEW USER VAR was added.

2001-03-08: Fixed problem running 32-bit Windows Client on Windows 95/98.
            Problem was introduced in version 1.40V.

----------------------------------------------------------------------------
End of changes in version 1.41B version of product (March 2001).
----------------------------------------------------------------------------

2001-03-30: The DUMP MEMORY option can now view any validation file, not
            just 2-7.  Meaningful names are now given for each file - instead
            of just 0, 1, 2, ...

2001-04-04: Added support for initiation of transaction 55 when data is
            received on the RS-232 port.  If a transaction program is
            bound to position 55 ("055: RS-232 Port" in DCConnect), then if
            the terminal is idle (not running a transaction program) and any
            data is received on the serial port, the "055: RS-232 Port"
            transaction program will be started.

            Similarly, when any transaction program ends, if there is data
            remaining in the RS-232 input buffer, the "055: RS-232 Port"
            program will be started right away.

            It is therefore recommended that the "055: RS-232 Port" program
            take care to read all data from the port before it ends.

            Unlike 7527 terminals, when the RS-232 initiated program starts,
            the data from the serial port is not already in user variable
            0.  Instead the CFR API ComRead() must be used to retrieve all
            data that is in the Client's internal incoming RS-232 buffer.

            This is how the 7526 terminal handles RS-232 port initiated
            transactions.

            RS-232 port initiated transactions are not supported with
            batch versions of the Client - because of the conflict
            with the Client's use of the serial port to talk to the
            data collection server.

            When an RS-232 initiated transaction is bound to transaction 55,
            the terminal's serial interface is active at all times after
            the download completes, and the port is configured based on
            the RS-232 device parameters that are specified in the file 0
            record 0 configuration that is downloaded.

2001-04-04: Fixed problem starting transaction program if NOOP is the first
            but not the only command in a transaction program.

2001-05-07: Fixed problem allocating/freeing validation files when
            FILE_PAGING is in effect and validation files are being
            swapped in and out of memory.  This problem could manifest itself
            as a terminal lockup, 'invalid command' or 'parameter out of
            range' messages, or as a 'Download error - not enough memory
            available'.  It might also cause downloads to fail with
            a message about insufficient space - even when a reboot of the
            terminal downloads successfully.

2001-05-08: Fixed an additional problem that could occur when FILE_PAGING is in
            effect.  At times, an attempt to start a transaction program would
            result in no action (and no error message either) if that program
            could not be loaded into memory - even though total available
            memory was sufficient.  A change to the use of compiler memory
            allocation functions resolved the problem.

----------------------------------------------------------------------------
End of changes in version 1.41C version of product (May 2001).
----------------------------------------------------------------------------

2001-05-31: Added to CFRAPI24.H #definitions for PAGEDOWN_KEY, PAGEUP_KEY,
            HOME_KEY, BACKTAB_KEY, INSERT_KEY and DELETE_KEY.  Also typedef
            for BOOL is no longer included when building Windows CFRs.

2001-06-04: Found that when using the arrow keys to scroll, if the screen
            width was 40 and the right arrow was pressed, the screen would
            be repositioned back at row 0 no matter where it was.

          - When 'Echo to Display' is turned off for an input field, we now
            show an asterisk (*) for each character that has been entered.  We
            used to show a blank.

2001-06-06: The POWER_OFF_TIMER keyword for EMULATOR.INI that was added in
            version 1.40X for the Symbol terminals is now available for
            Intermec 6400 terminals.  Both ETSPT.EXE (from TCP_FTP directory)
            and 6400_TSR.EXE were updated.

2001-06-07: Lots of enhancements for the CE versions of the Client:
            - Added support for the Intelligent Instrumentation LanPoint CE
            - Font now adjusts based on the NUM_ROWS and NUM_COLS keywords.
              When closest font doesn't use whole screen, gray border is drawn.
            - Extended keys now work (arrows, home, F1-F10, insert, delete)
            - Arrow keys now scroll screen contents when screen dimensions
              are less than 20x40.
            - Menu options are grayed when another menu option is in progress
            - Dump File option updated with same enhancements made in 1.41C
              for all other flavors of the Client.
            - COM1 now works (actually called COM1: in Windows CE)
            - DUMP MEMORY and TRACE LOG memory options now work to COM1 at
              19200, 8, None, 1.
            - Improvements in performance for screen updates.
            - Cursor now properly sized, positioned and not visible when not
              in visible portion of screen.

          - Fixed the DUMP MEMORY and TRACE LOG options for Antares so that
            when they write to the serial port they now use 19200 just like
            all the other flavors of the Client do.

          - DUMP MEMORY and TRACE LOG options now work for 32-bit Windows
            Client too.

          - The Antares terminal will now return the bar code type in the
            data (byte 0) returned by a SenRead() CFR API call.  Before this
            change the returned bar code type was always 0xff.  Note: the
            Antares does not distinguish between EAN and UPC; UPC is returned
            when either an EAN or UPC code is scanned.

          - Added to CFRAPI24.H the constants CODE_49, CODE_16K and PLESSEY as
            possibilities for the bar code type.

          - For Symbol Spectrum 24 terminals, we now return MSI bar code type
            properly.  We used to return 0xff.

2001-06-08: The 32-bit Windows and Windows CE versions of the Client can now
            run multiple copies from the same directory, provided that the
            port number is specified on the command line using the -P option.
            In this situation, the logfile name will be based on the port
            number (e.g. DCC07501.LOG and DCC07501.NDX) and the local copy
            of a downloaded CFR will also have a name based on the port
            number (DCC07501.DLL).

            If the port number is not specified on the command line, then
            the names LOGFILE.LOG and LOGFILE.NDX are used for the logfile.

            Note 1: Even if TCPIP_PORT is specified in EMULATOR.INI, the value
                    for that parameter is not known at the time the logfile is
                    initially processed because the logfile processing is done
                    before EMULATOR.INI is read.

            Note 2: Command line parameters take precedence over their
                    counterparts that might be found in EMULATOR.INI.

          - The TCP/IP versions of the Client will now exit with ERRORLEVEL
            set to 1 if there is an error trying to create a socket or bind
            to it.  This was done to allow a batch file to detect if the
            Client had a TCP/IP error so that it could try a different port
            number.

----------------------------------------------------------------------------
End of changes in version 1.41D version of product (June 2001).
----------------------------------------------------------------------------

2001-06-13: Fixed problem positioning cursor for scan only fields when Enter
            was pressed and the Client was running on a PC that was not able
            to get distinguish scanned input via a TSR or via the use of
            the keyword SCAN_SENTINEL_CHARS.  The cursor positioning problem
            would also occur for AK and NK commands when Autofill was not
            active.  Also found autofill was not even properly being allowed
            for the NK command.

          - Added new constants to CFRAPI24.H for serial port configuration
            values for baud rate, parity, data bits and stop bits.  The
            new constants match the old constants except that they have CFR_
            as a prefix.  The old constants are still in the file for use
            when building 7524 or DOS CFRs.  But for Windows CFRs, the
            CFR_???? constants must be used because some of the others
            conflict with constants in winbase.h.

            The CFR_??? constants are also available when building 7524/DOS
            CFRs.  So the same source can be used to generate DOS/7524 and
            Windows CFRs that talk to the serial port.

2001-06-14: Added ability to read scanner input from the serial port by
            adding a new parameter to EMULATOR.INI:

              USE_RS232_FOR_SCANNER = Y

            By default, it is expected that each scan received from the
            serial port will be terminated with a carriage return character
            (ascii value of 13 in decimal).  However, you can specify an
            alternate terminating character by replacing the Y above with
            the decimal number for the ascii value of that character.  For
            example, if the terminating character will be a line feed (ascii
            value of 10 in decimal), you would use:

              USE_RS232_FOR_SCANNER = 10

            When using the serial port for the scanner, the port is configured
            based on the RS-232 device parameters that are downloaded to the
            terminal.  These are configured in DCConnect from the Terminal
            Settings notebook, on the Devices tab, RS-232 device page.

            In this mode, the serial port is only turned on when scanner input
            is expected.  That is - when a DB, FB, KB or VB command is waiting
            for input or when a READ command that specifies SN or SA is waiting
            for input.  Also, for the entire duration of any CFR call, the
            scanned input could occur at any time, so the serial port will be
            active then as well.

----------------------------------------------------------------------------
End of changes in version 1.41E version of product (June 2001).
----------------------------------------------------------------------------

2001-08-08: Fixed problem with use of RS-232 initiated transactions.  When
            CFR calls were made to read the port, the port was unnecessarily
            closed and reopened - resulting in the resetting of the input
            buffer and thus possibly resulting in the loss of some data that
            had been read.

2001-09-21: Added support for the keyword TIMEZONE_ADJUST in EMULATOR.INI.
            This keyword is primarily intended for use when the DCConnect
            Client is running in a Citrix environment.  For all the details
            please see the section about TIMEZONE_ADJUST in the DCConnect
            Client documentation.

----------------------------------------------------------------------------
End of changes in version 1.41F version of product (September 2001).
----------------------------------------------------------------------------

2001-11-14: The location of all files used by the Client on the device can
            now be specified using the environment variable DCCLIENT -
            except on Windows CE devices.  For Windows CE devices use the
            registry key:

              HKEY_LOCAL_MACHINE\SOFTWARE\IBM\DCConnect Client\path

            For non-Windows CE devices, if the environment variable is not
            defined, the files are looked for/created in the current directory.

            Because Windows CE does not support environment variables or the
            concept of the current directory, if the registry key above is
            not defined, the files are looked for/created in the root directory
            of the CE device.

            The files affected are:
            - ETSCHECK.LIC
            - EMULATOR.INI
            - LOGFILE.LOG and LOGFILE.NDX (used for storing transactions)
            - All files that are 'paged' to disk during download
            - The CFR DLL that is written to disk during download (32-bit Windows
              and CE only)

2001-12-06: Windows CE only: Added support for the keyword SELECT_FONT which is
            used to specify which font the Client should use on the terminal.
            For all the details please see the section about SELECT_FONT in
            the DCConnect Client documentation.  The name of font in use can be
            found on the second page of the View Settings screens.

          - Windows CE only: Created the 'Diagnostics' pull-down, moved the
            'Trace Logfile...' and 'Dump Memory...' options to it.  Then added
            the missing 'Start Stepping...' and 'View User Variables...'
            options to it.

          - Windows CE only: Added support of reverse video.

          - Esc can now be used to exit the Transaction Count screen.

2001-12-18: Fixed problem parsing EMULATOR.INI when comments were at the end
            of a line.  Also fix bug printing error if TIMEZONE_ADJUST value
            was invalid.

2002-01-03: Windows CE only: Fixed problem where menus would sometimes disappear
            if the Client were moved to the background and back.

          - Windows CE only: Pressing X to close now results in a confirmation
            pop-up.

          - Menu titles are now centered based on number of columns defined.

2002-01-07: Added support for MENU_PASSWORD keyword in EMULATOR.INI - which,
            when used, requires the user to enter the correct password before
            gaining access to any menu option.  See the documentation for all
            the details.  This is valid for all flavors of the Client.

2002-01-08: Windows CE only: Added support for the MENU_ITEM keyword in
            EMULATOR.INI.  This allows for new menu items to be added to a new
            'User' pull-down.  These menu items are tied to user-created
            functions in a DLL, ETSUSER.DLL.  See the documentation for all
            the details.

2002-01-11: Better checking for invalid command - especially when APNDSTR has
            invalid length.

2002-01-16: Fixed problem when using TIMEZONE_ADJUST.  An adjustment back to
            the midnight hour (00) was incorrectly setting the hour to 24.

----------------------------------------------------------------------------
End of changes in version 1.41G version of product (January 2002).
----------------------------------------------------------------------------

2002-01-24: Batch versions of the Client that are doing dial-up will now
            wait up to 10 seconds to see if the line is already
            connected to the DCConnect Server before dialing.  This allows
            the same terminal to be plugged into a dock with a dedicated
            line or a dock that requires dial-up to establish the
            connection.

2002-01-29: Windows CE only: Added support for FULL_SCREEN keyword in
            EMULATOR.INI.  See the documentation for all the details.

            Added button to toolbar for toggling software keyboard.

2002-02-05: When SHOW_IDLE_TIME was being used and NUM_COLS was used to
            override the default number of columns, the time would still
            be shown based on the default.  This has been fixed.

          - Windows CE versions of the Client now use an icon that looks
            like a barcode.

2002-02-19: Windows CE only: fixed problem handling MAX_TRANSACTIONS parameter.
            This was introduced with the 12-06-01 change to support the
            SELECT_FONT keyword in EMULATOR.INI.

2002-02-21: The scanner is now turned on when the Client exits.  This allows
            testing of the scanner at the DOS prompt on an Antares and other
            terminals.

2002-02-21: Fixed problem showing message on startup if the MAX_TRANSACTIONS
            parameter was out of synch with the current logfile size and
            the fact that transactions were in the logfile prevented the
            Client from changing the size.

----------------------------------------------------------------------------
End of changes in version 1.41H version of product (February 2002).
----------------------------------------------------------------------------

2002-02-27: Added support for new EMULATOR.INI keyword IGNORE_UNDERLINE for
            support of LXE's MX2 terminal and the PSC/Percon Falcon
            terminal (same physical terminal).  Must set equal to Y, otherwise
            text that is supposed to have the underline attribute (such as
            the menu titles) will not be visible.  See the documentation
            for a complete description of this keyword.

          - Added support for new EMULATOR.INI keyword DONT_CHANGE_SCREEN_SIZE
            for support of LXE's MX2 and VX1 terminals and the PSC/Percon
            Falcon.  Must set equal to Y, otherwise the Client might change the
            screen size inappropriately.

            The Client already does this when the device type is set for
            certain devices such as JANUS2010/2020, PTC960, MAXILAN and
            FMT10X0.

            See the documentation for a complete description of this keyword.

          - Fixed problem that caused a lockup on the LXE MX2 terminal.  Client
            was making a TSR call to set up the scanner even when the
            keyword USE_TSR_FOR_SCANNER was not being used.

2002-03-06: Added support for new EMULATOR.INI keyword PF_AUTO_ENTER which
            tells the Client to assume an Enter key has been pressed after
            any PF Key is pressed during a READ command for which PF Key input
            is allowed.  This is true even when the PF Key String associated
            with the pressed PF Key is 0 length.

            The Client now gives an alarm beep if you try to press a key for
            a PF key number that exceeds the current value of NUM_PF_STRINGS.
            This applies only to READ commands with PF Strings defined as
            a valid input 'device' - not using PF Keys in ONKEY/ONSUB
            commands or to start a transaction program.

2002-03-14: Fixes to prevent Windows versions of the Client from trapping if
            an invalid CFR is loaded.

2002-03-29: The CFR packages (CFRUTL24.ZIP, CFRSMP24.ZIP and CFRPAN24.ZIP)
            are now set up to use the environment variable CFRTOOLS to find
            the .H and .LIB files.

2002-04-19: Fixed problem in DOS versions of Client where startup error
            messages (e.g. for missing license file) would not show properly.

2002-05-03: Added support for USE_TSR_FOR_KEYBOARD keyword in EMULATOR.INI
            and created falc_tsr.exe for use with the PSC/Percon Falcon
            terminal and its twin the LXE MX2 terminal.  The use of this
            TSR is required in order for the Client to be able to distinguish
            between keyboard and scanner input on these terminals.  This
            keyword must be used with USE_TSR_FOR_SCANNER.  See the
            documentation for all the details.

2002-05-03: The specifying of a MENU_PASSWORD in EMULATOR.INI no longer
            affects the Txtn Count menu option.

2002-05-10: Fixed problem showing startup messages on Windows CE - for example:
            when the TCP/IP port is not available.

2002-05-10: Removed some debug message generation for COM READ errors in
            WIN32 version of Client.

2002-05-14: Fixed problem with transaction logfile and index file sizes on
            Windows CE devices.

2002-05-15: Windows CE only: The MENU_ITEM keyword now allows an optional
            password parameter.

----------------------------------------------------------------------------
End of changes in version 1.41I version of product (March 2002).
----------------------------------------------------------------------------

2002-06-06: Version bumped up to 2.00 for release of new CD

2002-06-06: Added support for MENU_KEY keyword in EMULATOR.INI in order to
            override the use of ?, = and Home for bringing up the Client
            menus.  See the documentation for a complete description.

2002-06-06: The MENU_PASSWORD for DOS and 32-bit Windows version of the
            Client is now required when any option other than VERSION INFO
            and TXTN COUNT is selected from the Main Menu.  Of course if
            MENU_PASSWORD is not defined in EMULATOR.INI, no password is
            required.

2002-06-13: Windows CE only: the Client now handles the pressing of the
            extra X button on the upper right corner of terminals that
            are loaded with Pocket PC 2002.

          - Windows CE only: if a second copy of the Client is started
            it will now locate the first copy and bring it to the
            foreground and the second copy will end itself.

2002-06-19: For 32-bit Windows flavor of the Client fixed problem setting
            time on Windows 95/98/Me systems (wasn't being done at all
            because a non-supported function was being called to set
            privileges).

          - For DOS flavors of the Client, corrected problem where time
            would be off by an hour during daylight savings time
            transitions.  Had to request time directly from DOS instead
            of using C function.

----------------------------------------------------------------------------
End of changes in version 2.00 version of product (June 2002).
----------------------------------------------------------------------------

2002-06-25: Windows CE only: For the 6-13-02 fix to handle the extra X
            button in Pocket PC 2002, the Client no longer goes through
            the exit process when the button is pressed.  This is because
            the message sent by the pressing of the extra X button is also
            sent in other situations which have nothing to do with exiting
            and the Client has no way to tell the difference.  So the
            Client will merely ensure that it is in the foreground.  Before
            the 6-13-02 fix, pressing the X button would move the Client to the
            background.

2002-08-01: Fixed problem with backspace when getting user variable number
            on the View User Var screen.

          - Fixed problem where serial port could be shut off in the
            middle of a dial-up attempt.

----------------------------------------------------------------------------
End of changes in version 2.00A version of product (June 2002).
----------------------------------------------------------------------------

2002-08-15: Length of phone number for modem dial-up can now be 120
            characters.

2002-08-20: Fix for FLSHBLD.EXE - was not self-extracting properly.

          - MAKEHEX.BAT (part of FLSHBLD.EXE for Symbol Spectrum 24
            terminals) now copies EM.HEX to xxxxx.HEX where 'xxxxx'
            is the parameter passed in to MAKEHEX.BAT.   LOADTERM.BAT
            (also part of FLSHBLD.EXE) now takes the same parameter
            that MAKEHEX.BAT takes.

2002-08-21: If none of the keywords SCAN_SENTINEL_CHARS, USE_TSR_FOR_SCANNER
            or USE_RS232_FOR_SCANNER were being used, the Client would
            do auto-filling for READ commands that were variable length
            and allowed scanning.  The mistake was in the code that converted
            scanner reads to keyboards reads so that you could run
            transaction programs that had scan-only inputs on the Windows flavor
            of the Client, for example, even when you had no ability to
            scan from the PC.  The auto-filling no longer occurs when it
            shouldn't.

2002-08-22: Decreased MAX_TRANSACTIONS parameter to 100 from 135 in the
            EMULATOR.INI provided in FLSHBLD.EXE for Symbol Spectrum 24
            terminals so that we wouldn't have disk space problems when
            trying to start the Client.

2002-08-23: When a terminal comes out of suspend mode, the Client now
            does a few more retries to communicate with the DCConnect
            Server.  This is because the first attempt to send the
            'I-am-here' message to the Server can sometimes get lost
            while the terminal TCP/IP and radio drivers are
            reinitializing themselves during the resume process.

2002-08-26: Fixed problem switching transaction logfile sizes.  Would
            not switch even when it was empty.  Workaround was to delete
            the logfile and index file (e.g. LOGFILE.LOG and LOGFILE.NDX).

          - Added FLSHPREP.BAT to the self-extracting zip FLSHBLD.EXE for
            Symbol Spectrum 24 terminals.  This is needed in order to
            load the DCConnect Client .hex file to the terminal any time
            after the initial load.

          - Fix for loading CFR on Windows CE devices

----------------------------------------------------------------------------
End of changes in version 2.00B version of product (August 2002).
----------------------------------------------------------------------------

2002-08-28: Client is no longer terminated when it receives a break
            or terminate signal (e.g. when someone presses Cntrl-C).
            You may still see the ^C show up on the screen but a
            repaint of the screen will clear that up.

2002-08-30: Fix for problem with positioning of view port on the
            Intermec 6400.  A call that the Client was making to
            obtain the current screen size was actually interpreted
            by the 6400 BIOS as a request to move the view port to the
            bottom of the screen.  This problem was introduced with the
            2-27-02 change to add support for the DONT_CHANGE_SCREEN_SIZE
            keyword.

2002-09-26: Fixed problem with the get user variable host command 'Q' for
            32-bit versions of the Client (Windows CE / Windows 95/98/Me/NT/200/XP).
            Data corruption resulted in invalid response going back to
            the Server (part of TCP/IP message number was overwritten).

----------------------------------------------------------------------------
End of changes in version 2.00C version of product (September 2002).
----------------------------------------------------------------------------

2002-11-28: Fixed problem for Symbol 38xx, 68xx terminals (spec24\etspt.exe)
            in the API SpkBeep and the host beep command (CMD 5).  Due to an
            interrupt conflict, there could be a 10+ second delay whenever
            an attempt was made to beep the speaker.

2002-12-03: Added support for TSR_INTERRUPT keyword in EMULATOR.INI and the
            ability to pass in the interrupt value as a parameter for
            6400_tsr.exe, falc_tsr.exe, s24_tsr.exe, and telx_tsr.exe.  This
            was necessary for the PSC Falcon / LXE MX2 terminal where the
            use of default interrupt 0x6A caused the terminal to hang.  (Found
            that interrupt 0x63 worked).

2002-12-18: Win CE only: Fixed problem where screen font would change after
            a certain period of usage - usually a day or two.

----------------------------------------------------------------------------
End of changes in version 2.00D version of product (December 2002).
----------------------------------------------------------------------------

2003-03-05: Fixed problem with fast-clocking transactions when no program
            was bound to function 30.  This was introduced in the 1.40T
            version of the Client.

2003-05-21: Added support for the POWER_OFF_TIMER keyword for PSC/Percon Falcon
            and LXE MX2 terminals by enhancing falc_tsr.exe.

2003-08-14: More updates to the self-extracting zip file FLSHBLD.EXE for
            Symbol Spectrum 24 terminals: after load to terminal, EM.BAT
            is now available to run from the DOS prompt in order to restart
            the Client - just like other devices.  Symbol provided a new
            SCANPARM.EXE that fixed problems when trying to update the
            scanner symbology configuration.  Default SCANPARM.INI is
            smaller.

2003-08-27: Fix for Windows and Windows CE flavors of the Client; there was a
            potential for an access violation during shutdown of the Client
            while trying to unload the CFR.

2003-09-25: We now build a flavor of the Client for devices with an ARM
            processor (and compatible) running Windows CE 3.0 (and compatible
            later versions) without Pocket PC.  Two such devices are the
            Symbol 88xx and the MA 1000 from Group Mobile. The executables for
            this flavor of the Client are in the .\ARMNOPPC subdirectory
            where the Client is installed (akin to .\IMEC700, .\LANPTCE, ...).

----------------------------------------------------------------------------
End of changes in version 2.00E version of product (August 2003).
----------------------------------------------------------------------------

2003-10-02: Added new EMULATOR.INI keyword, UV_POOL_SIZE, which allows
            you to specify how much space is allocated for storing the
            contents of all user variables (0-99).  In the past each UV took
            up 128 bytes of memory regardless of the actual content; so the 100
            UVs consumed 12800 bytes of memory even if all were empty.  Now a
            default pool size of 10000 bytes is used for all user variables; only
            user variables that contain data actually consume space in this pool.

            The UV_POOL_SIZE can be from 1000 to 99999 bytes.  Of course the
            amount of RAM in the device places a limit on the practical maximum.

            The following command in EMULATOR.INI sets the UV pool size to
            5000 bytes:

              UV_POOL_SIZE = 5000

            Note: as part of this change, individual user variables are no
            longer limited to 128 bytes.  However, the transaction record and
            the amount of user variable data that can be sent to the terminal
            and received from the terminal is still restricted by previous
            limitations.  Work is in progress to increase these other limits
            as well.

2003-10-07: Fixed possibility of a trap in 32-bit Windows version of the
            Client if certain keys, such as the Home key, were pressed on
            certain menu screens - such as the VIEW USER VAR screen.

----------------------------------------------------------------------------
End of changes in version 2.00F version of product (October 2003).
----------------------------------------------------------------------------

2004-01-14: Fixed cause of problem where a "Message 5 not found" message
            would flash briefly when a download was done during a fast clocking
            interval.

2004-03-16: New keywords for EMULATOR.INI: ABORT_READ_ON_RS232_INPUT
            and ABORT_ONKEY_ON_RS232_INPUT can be used to interrupt 
            a READ/ONKEY command that is waiting for user input should
            data be received on the RS-232 port.

          - The CFR API ComQueryData now properly returns the number
            of bytes available from the serial port.

----------------------------------------------------------------------------
End of changes in version 2.00G version of product (March 2004).
----------------------------------------------------------------------------

2004-04-30: Fixed problem handling 7 character passwords on Windows CE.

2004-04-30: ALL_SCAN_DATA_UPPER_CASE now works when USE_TSR_FOR_SCANNER
            is in effect.

2004-06-01: For the -h command line parameter and the TCPIP_HOST keyword in
            EMULATOR.INI, the hostname of the DCConnect Server can now be 
            specified instead of its IP address.  For example, in EMULATOR.INI, 
            if the Windows flavor of the Client is running on the same PC as 
            the Server, the DCConnect server and port could be specified as:

              TCPIP_HOST = localhost, 7500

            Also a colon can now be used instead of the comma:

              TCPIP_HOST = localhost:7500

2004-06-01: Added support for the Intermec CK30, Intermec CV60 and 
            Symbol MC 90xx terminals.

2004-06-01: Add a number of transaction programming enhancements.  Please
            refer to the DCTPB User's Guide for more details about each
            of these:

            - New SET and SETSTR commands to go along with APND and
              APNDSTR commands.  These new commands clear the target
              before appending the data.

            - The commands CURS, CLRP and SHOW can now use the 
              relative row/column indicators PREVIOUS_ROW, 
              NEXT_ROW and PREVIOUS_COLUMN, NEXT_COLUMN instead
              of absolute row/column values.

            - New MATH commands for performing the following 
              operations:

                + - \ * / % (last two are integer divide and modulus)

              Numeric constants and fractional values are allowed.

            - New options for the FRMT command (similar to TC):
              - STRIP_LEADING_CHARS
              - STRIP_TRAILING_CHARS
              - STRIP_ALL_CHARS
              - TAKE_LEADING_CHARS
              - DROP_LEADING_CHARS
              - TAKE_TRAILING_CHARS
              - DROP_TRAILING_CHARS
              - PAD_LEADING
              - PAD_TRAILING
              - TAKE_MID_CHARS
              - DROP_MID_CHARS
              - UPPER_CASE
              - CUSTOM_STRING
              - CUSTOM_INTEGER
              - CUSTOM_FLOAT

            - ONKEY/ONSUB now allow nearly any key using the syntax
              ASCII_nnn or EXTENDED_nnn or one of the new keywords
              such as KEY_ENTER, KEY_SPACE, KEY_CANCEL, ...

            - The CLRP can now take a 4th parameter specifying how
              many rows should be cleared - each being cleared
              starting at the same column for the same number of
              columns.

            - Many commands now allow global variables/local variables/
              parameters instead of hard-coded values or strings:

              - AKA               - TransID
              - APND/SET          - Field number
                                  - Position
                                  - Length
              - CCFR              - Parameter string
              - CLRP              - Row
                                  - Column
                                  - Length              - 
                                  - # of rows
              - CURS              - Row
                                  - Column
              - DLAY              - # of Seconds
              - FRMT              - Length
                                  - Right Strip Char
                                  - Left Strip Char
                                  - Fill Char
              - READ              - Length
              - SHOW              - Row
                                  - Column
            
            - Multiple variables (including global, local and
              parameters) can now be cleared in a single CLRD 
              command. 

            - Subroutines can now be passed parameters and return
              data using new SUB/ENDSUB command.  Up to 92
              parameters can be passed.  Parameters passed into a
              subroutine may be global variables, local variables, 
              parameters from a parent subroutine, the return code
              variable, numeric constants or text constants.

            - Support for up to 92 local variables (new Declare command) 
              for each transaction program and each subroutine.

            - New return code user variable that can be set via
              the RETURN command or explicitly manipulated like
              other variables.

            - CFRs can access local variables, parameters and
              the return code variable in the same way that
              it can access global variables.
 
2004-06-01: The FULL_SCREEN keyword can now be used for Windows CE
            devices that do not have Pocket PC installed. 

2004-06-01: New HIDE_MENU_BAR keyword available for Windows CE
            devices that need to maximize the amount of the 
            physical screen that is available for transaction
            programs.  When in effect, menus can be brought up
            using the same methods available for DOS and 32-bit
            Windows flavors of the Client.          

2004-06-09: Fixed problem where transaction resend timer would
            only be kicked off once, thus resulting in only two
            send attempts for transactions.

----------------------------------------------------------------------------
End of changes in version 2.10 version of product (June 2004).
----------------------------------------------------------------------------

2004-06-17: The SET command did not clear the target when the source was
            empty.

2004-06-21: The APND/SET commands now allow a variable / subroutine
            parameter for the delimiter.

2004-06-22: The download of a single validation file now ensures that any
            paged validation files and paged transaction programs are
            unloaded before attempting to allocate memory for the new
            validation file.

----------------------------------------------------------------------------
End of changes in version 2.10A version of product (September 2004).
----------------------------------------------------------------------------

2004-10-06: Added ability to view parameters on the VIEW USER VARS	
            screen.

2004-10-08: Fixed misalignment exception on Windows CE devices with 
            certain processors.

2004-10-11: For Symbol Spectrum 24 terminals (e.g. PTD6840, VRC6940,
            WSS1040) had to remove support for allowing a hostname to be 
            provided for the TCPIP_HOST keyword and the -h command line
            parameter.  With this support included, the resulting 
            executable for the DCConnect Client was too large to run
            properly.

----------------------------------------------------------------------------
End of changes in version 2.10B version of product (October 2004).
----------------------------------------------------------------------------

2004-10-12: Added support for transactions with up to 750 bytes of data.
            Other changes that go along with this include:
            - Transaction logfile now contains variable length records
              instead of fixed length records.
            - Logfile capacity now specified as number of bytes and
              can be in the range from 1000-65535 bytes.  The size
              is now set from the server.  But if the Client starts
              and no logfile is found, a default one is created with
              a size of 1000 bytes or if the keywords MAX_TRANSACTIONS
              is defined, the logfile is created with the size of 131 *
              MAX_TRANSACTIONS.
            - The TXTN COUNT screen shows the number of transactions
              and it shows the number of bytes that are used out of 
              the total capacity.
            - The Client no longer stores all buffered transactions
              in memory; only the oldest transaction is stored in
              memory.

2004-10-18: The AKA command was expecting a hex value when a variable or
            parameter was specified instead of a hard-coded value.
            It now looks for a decimal value.

2004-10-22: Corrected problem restoring the attributes when saving/
            restoring parts of the screen using the CFR APIs
            VioReadCellStr/VioWrtCellStr, VioReadCell/VioWrtNCell.

----------------------------------------------------------------------------
End of changes in version 2.10C version of product (October 2004).
----------------------------------------------------------------------------

2004-11-19: Some fixes for handling of the variable length record 
            format of the logfile.

2004-11-23: You can now specify that instead of showing the idle menu
            the Client should run a particular transaction program. This
            in effect allows you to change the look and options available
            on the 'idle screen' on the fly.  To accomplish this, simply
            add the following text to the first line of the Idle Menu:

              $$IdleProgram = nnn

            where 'nnn' is the number of the program to be started from 1
            through 121.  Spaces around the equal sign are optional.

----------------------------------------------------------------------------
End of changes in version 2.10D version of product (November 2004).
----------------------------------------------------------------------------

2004-12-10: Put the hooks in place for Client, when running on Windows CE 
            devices, to be able to control the scanner.  This is done by
            creating a device-specific .dll called etshw.dll that 
            contains entry points for the functions ScannerOpen,
            ScannerInit, ScannerOn and ScannerOff.  At this time, that 
            .dll has only been created for Intermec 700 devices running
            Windows Mobile 2003.

2004-12-10: Added new CFR API, SenPower, which allows the CFR to control
            when scanner input is valid.  In the past, scanner input was
            valid for all CFR API calls for the entire duration of the
            CFR call even for calls that were not reading any scanner
            input.

            The prototype for the API is:

              USHORT SenPower(int enable);

            where the value passed in is a boolean.  If 0 (FALSE) the
            scanner should turned off.  If non-0 (TRUE) the scanner 
            should be turned on.

            The first time SenPower is called by the CFR, the Client will
            set a flag telling it to no longer turn on the scanner for
            all CFR calls.  Therefore, the CFR should call SenPower(0)
            in case 0 and case 2 of the CFR so that the scanner is turned
            off before any transaction programs are started.

            Even when this API is being used by the CFR, the Client will
            still turn the scanner off after all API calls - in case the
            CFR turned it on and forgot to turn it off.

            Note: Whether the scanner is actually powered off is up to
            the ETSHW.DLL.  In some cases the scanner may be left on
            but its input might be ignored.  For example, the ETSHW.DLL
            for the Intermec 7xx running Windows Mobile 2003 simply 
            disables the Wedge input.  The scanner is left on, but a
            different beep is given by the scanner if someone attempts
            to scan while the Wedge input is disabled.

2005-01-28: The PgDn and PgUp keys which are defined in cfrapi24.h as
            PAGEDOWN_KEY and PAGEUP_KEY are now actually available to the
            CFR.  They also work on the View Settings menu.

----------------------------------------------------------------------------
End of changes in version 2.10E version of product (January 2005).
----------------------------------------------------------------------------

2005-02-07: Added support for diagnostic keyword, TXTN_BUFFER_WARNING_COUNT.
            This is used to force the TXTN COUNT menu screen to pop up
            automatically when the transaction buffer reaches a certain
            minimum number of transactions.  This lets the terminal user 
            know the transactions are not being sent to the DCConnect 
            Server - which may signal a communications problem.

            Specify that minimum number of transactions as follows:

               TXTN_BUFFER_WARNING_COUNT = 10

            where 10 can be any number greater than 0.  Eliminating this
            keyword or setting it to 0 turns off this feature.

2005-02-08: Fixed problem resulting in corruption of logfile in the 
            following scenario:
            - Logfile contains no transactions
            - Next-in and next-out pointers are equal (as they should be
              when there are no transactions) and are anywhere but the 
              start of the file.
            - The Client is started and receives its download of files.
            - The Client loses communication with the Server
            - One or more transactions are created (corruption occurs
              only with the first transaction that is created; it is
              written to the start of the file instead of at the head
              pointer)
            - The Client is shutdown before the first transaction could
              be sent to the Server (if first transaction is successfully
              sent before Client is shutdown, corruption in file is
              irrelevant because that transaction is maintained in memory).
            - Upon startup, the Client tries to read the first transaction
              from where it is supposed to be but instead it gets either 
              the middle of some old transaction or part of the file that 
              has been initialized to 0.

            The problem can manifest itself in a number of different ways
            depending on what is read from the file: hang, application
            exception, trap, partial or empty transactions, old transaction
            resent, ...

2005-02-08: Fixed minor memory leak in the Windows flavor of the Client
            (not in Windows CE or DOS).  Every time the time was set,
            two handles would be allocated and not freed.

----------------------------------------------------------------------------
End of changes in version 2.10F version of product (February 2005).
----------------------------------------------------------------------------

2005-03-21: Special keys, such as the tab key, used during an input command,
            such as READ, would end up putting nulls in the transaction 
            record - if AUTO transaction setting was currently enabled.  Any 
            key resulting in a null is now ignored.

2005-04-06: Added support for the ONCE_ONLY option of the 
            TXTN_BUFFER_WARNING_COUNT keyword in EMULATOR.INI

2005-04-13: Added support for the REPEAT option of the 
            TXTN_BUFFER_WARNING_COUNT keyword in EMULATOR.INI.

            Added support for new keyword TXTN_BUFFER_WARNING_TIMER in
            EMULATOR.INI.  This specifies a number of minutes after which
            a warning will be given if the transaction buffer contains
            transactions.

2005-05-16: Error transactions that reference a step number in the
            transaction program now use the program number rather than
            the transaction ID; the latter can be affected by an AKA
            command or the CFR API AliasTransID.

----------------------------------------------------------------------------
End of changes in version 2.10G version of product (May 2005).
----------------------------------------------------------------------------

2005-06-06: Fixed problem showing the & character on Windows CE devices.
            It was being treated as a control character, signifying that
            the next character should be underlined.

            The Client now takes advantage of this heretofore unknown
            feature and it now supports the underline attribute in 
            addition to reverse video on Windows CE devices.  The only
            caveat is that the & character itself cannot be underlined;
            that is a restriction of Windows CE.

            A small change has also resulted in a slight increase in the 
            performance of painting the screen for Windows CE devices.

2005-06-06: Painting of the idle screen and clearing of the screen for
            the CLRS command is now more efficient.              

2005-06-10: Fixed the use of CFR intervals/alarms for Windows and
            Windows CE platforms.  These are the intervals/alarms that
            can be set up using the TimerSetInterval and TimerSetAlarm
            CFR APIs

----------------------------------------------------------------------------
End of changes in version 2.10H version of product (June 2005).
----------------------------------------------------------------------------

2005-10-03: Added support for if and else commands along with blocks
            in the if-else clause.  See DCTPB documentation for more
            details.

2005-10-31: Fixed problem with internal step numbers that led to 'skip'
            operations going to the wrong place.

----------------------------------------------------------------------------
End of changes in version 2.20 version of product (October 2005).
----------------------------------------------------------------------------

2005-11-04: The trace log now pauses on each screen.

2006-02-13: Fixed problem accessing the last validation file in file E
            when calling the Validation API from a CFR.

2006-02-24: Antares terminals can only work with whole numbers in MATH,
            FRMT and IF commands.

            IF commands can now be used, along with the TEST
            command, to look at unpassed parameters in a subroutine.
            Also an unpassed parameter from one subroutine can be 
            passed to another nested subroutine.

            Commands such as CURS, SHOW, DLAY that use variables for
            their parameters now accept values that contain a decimal
            point as long as all digits after the decimal point are 0.

            A SKIP operation that results from a command such as CCFR,
            VRFY or TEST, will now skip the entire IF/ELSE construct if 
            an IF command is what follows the CCFR/VRFY/TEST command.
              
            Fixed another problem managing internal steps for certain
            branch operations.

----------------------------------------------------------------------------
End of changes in version 2.20A version of product (February 2006).
----------------------------------------------------------------------------

2006-03-21: Fixed cause of eventual filling of user variable pool if
            Esc is pressed to end a transaction program.

            The source and target of an APND or SET command can now be
            the same.  In the case of a SET command, the result is 
            that the variable is not changed.  In the case of an APND
            command, the result is that the contents of the variable
            are duplicated.

            Fixed problem using the SET command with the transaction
            buffer.
                              
----------------------------------------------------------------------------
End of changes in version 2.20B version of product (March 2006).
----------------------------------------------------------------------------

2006-11-02: Fixed cause of "Not STX, ..." messages shown on Windows
            CE terminals when using a hostname and the host is not
            available.

2006-12-11: Sped up the return from subroutine calls.

----------------------------------------------------------------------------
End of changes in version 2.30 version of product (December 2006).
----------------------------------------------------------------------------

2007-01-15: In FULL_SCREEN mode, the X in the upper right corner of
            Windows Mobile devices is now removed.

2007-01-29: For Windows CE flavors of the Client, sounds are now 
            generated as .WAV files allowing for variation in the
            frequency and duration.   Before all application-generated
            sounds were the same tone and duration.

2007-01-30: Fixed problem exiting the Client or showing certain menu
            screens on Windows CE devices when MENU_KEY is defined.

2007-01-31: Workaround implemented to handle CE devices with Hi-Res
            displays which don't provide true fixed character width
            fonts.

----------------------------------------------------------------------------
End of changes in version 2.30A version of product (February 2007).
----------------------------------------------------------------------------

2007-03-02: Added support for MAPPED_KEY keyword in EMULATOR.INI.
            Use it to map the ASCII value of one key to another.
            Extended keys may be mapped to or from as well.  For 
            example to map the A key (ASCII 65) to the B key
            (ASCII 66):

               MAPPED_KEY 65, 66

            To map the A key to the F1 key (extended ASCII 59):

               MAPPED_KEY 65, x59

            Has been used for the Intermec CV30 in order to get
            the F1-F10 keys to work properly.

2007-03-11: CFR temporary file now written to root directory on
            Windows CE devices because certain devices (e.g. 
            Symbol WT4070) had periodic slow write times to the 
            non-volatile storage, causing downloads to fail due
            to a failure to respond to the DCConnect server in
            time.

----------------------------------------------------------------------------
End of changes in version 2.30B version of product (March 2007).
----------------------------------------------------------------------------

2007-05-09: CE Config Tool now supports FINAL_MESSAGE command,
            COLDBOOT command and WARMBOOT as synonym for REBOOT.
            See the latest DCConnect Client User's Guide for
            the details.

            Also, if no [Registry] commands are performed, the
            registry flush is no longer done at exit or reboot.

2007-05-11: Better use of screen width when number of columns
            is an odd size such as 31.

2007-05-22: Added DONT_END to the CE Config Tool. See the 
            latest DCConnect Client User's Guide for the details.

----------------------------------------------------------------------------
End of changes in version 2.30C version of product (May 2007).
----------------------------------------------------------------------------

2007-06-14: Added support for IGNORE_KEY keyword in EMULATOR.INI
            See documentation for usage.

2007-08-07: The default for the RESEND_TIMER is now 5 seconds
            for TCP/IP flavors of the Client.  The default for
            serial versions is still 25 seconds.

----------------------------------------------------------------------------
End of changes in version 2.30D version of product (August 2007).
----------------------------------------------------------------------------

2007-12-21: Exit is now enabled even when the menus are showing
            (in Windows CE) and it does shut down the client. Enter
            can now be used to accept the password on Windows CE
            devices.

2008-02-18: Added new key options for use in stepping mode:
            1-9,0 = Skip 1-10 steps
            S     = Skip current subroutine.  Only valid when
                    stopped at a GOSUB or ONSUB command.  All
                    commands are processed in that subroutine
                    as well as any subroutine(s) that it calls.
                    Stepping pauses at the command following
                    the subroutine call.
            R     = Return from the current subroutine.  Only
                    valid when in a subroutine.  Commands are
                    processed up to and including the RETURN
                    command.  Stepping pauses where the 
                    subroutine returns.
            B     = Leave the current (if or else) block.  
                    Stepping resumes after the end block
                    command (}) that ends the current block.
                    Any other blocks that are entered will
                    be exited on the way to the target
                    end of the block.

2008-02-22: Fix for handling of the if-else flow control when 
            a goto command branches backwards in the program.

2008-02-22: Fix for cursor disappearing on Windows CE devices
            when dialog (for example Exit confirmation) is
            shown.  Also fix for reverse video painting 
            improperly.

2008-03-07: Windows CE: Generated .wav files are now created
            in the same folder as the transaction logfiles.
            Also, if the .wav file already exists, the Client
            will now use whatever is there rather than replacing
            it.   This allows user to use their own .wav files.

2008-03-12: Fix for beeps.  Conversion from 0.1 second to 0.25
            granularity was resulting in 0 length beep for 0.1
            and 0.2 seconds.  Now all values are rounded up to
            the nearest 0.25 second.

----------------------------------------------------------------------------
End of changes in version 2.30E version of product (March 2008).
----------------------------------------------------------------------------

2008-03-20: Better fix for cursor disappearing on Windows CE 
            devices (2-22-08 fix had problem with extra cursors
            showing up).

----------------------------------------------------------------------------
End of changes in version 2.30F version of product (March 2008).
----------------------------------------------------------------------------

2008-06-27: Added support for the VOLUME keyword in EMULATOR.INI
            for Windows CE devices.  See the DCConnect Client
            User's Guide for more information.

----------------------------------------------------------------------------
End of changes in version 2.30G version of product (June 2008).
----------------------------------------------------------------------------

2008-11-26: Added support for the TURN ON / OFF CMD LOG option in the 
            DIAGNOSTICS menu for Windows and Windows CE devices.

----------------------------------------------------------------------------
End of changes in version 2.30H / 3.00 version of product (November 2008).
----------------------------------------------------------------------------

2012-05-16: Added support for the SCAN_STRIP_COUNT_FRONT keyword
            in EMULATOR.INI.  For example:

              SCAN_STRIP_COUNT_FRONT = 3

            will strip the first 3 characters of every scanned bar 
            code.  The specified length may be from 1-128.  The use
            of this keyword requires that the SCAN_SENTINEL_CHARS
            keyword also be used.

            In addition, if the stripped characters are determined
            to be AIM Symbology Identifier characters (first of three
            character sequence is ], the ending square bracket), then 
            the identifier sequence will be parsed to determine the bar 
            code type - which is a value that is returned in the first 
            byte of the scan data buffer for the SenRead CFR API.

            Below is a list of the AIM Symbology Identifier values that
            are handled, along with the value from CFRAPI24.H that will
            be returned in SenRead for each.  Note that there is always a
            3rd 'modifier' byte that follows the 2 byte values shown below:

              ]A	CODE_39
              ]B	TELEPEN_CODE
              ]C	CODE_128
              ]D	CODE_ONE
              ]E	UPC_A		// This covers all UPC and EAN variations
              ]e	RSS_CODE
              ]F	CODABAR
              ]G	CODE_93
              ]H	CODE_11
              ]I	I_25_CODE
              ]K	CODE_16K
              ]L	PDF417
              ]M	MSI_CODE
              ]N	ANKER_CODE
              ]O	CODABLOCK
              ]P	PLESSEY
              ]R	S_25_CODE	// 2 bar
              ]S	S_25_CODE	// 3 bar
              ]T	CODE_49
              ]z	AZTEC_CODE

            The following new bar code type values have been added to
            cfrapi24.h:

               #define TELEPEN_CODE    28
               #define CODE_ONE        29
               #define RSS_CODE        30
               #define ANKER_CODE      31
               #define CODABLOCK       32
               #define AZTEC_CODE      33


----------------------------------------------------------------------------
End of changes in version 3.00A version of product (May 2012).
----------------------------------------------------------------------------

2012-06-07: Added the new SCAN_STRIP_COUNT_FRONT option to the VIEW
            SETTINGS menu.  As a result a ninth page was added to the menus.
            Scan settings are on page 5.  RS-232 settings are on page 6.

----------------------------------------------------------------------------
End of changes in version 3.00B version of product (June 2012).
----------------------------------------------------------------------------

2012-06-15: Added flavor of the DCConnect Client for the Motorola MC 91xx device 
            with Windows Mobile (6.5) or with Windows CE when running in VGA mode
            (instead of 1/4 VGA that is also available with Windows CE).  Changes 
            were needed to switch to a newer menu bar implementation, which shows 
            at the bottom of the screen, because the old menu bar does not show 
            correctly on the MC 91xx when in VGA mode.   

            The executables for this device can be found in the MC91xx sub-directory
            where the DCConnect Client is installed.

            CFRs built for Intermec 700 or Symbol 81xx or Symbol 91xx will
            run unchanged on the MC 91xx terminals; there is no need to recompile
            them.

            Note that the FULL_SCREEN = Y option that can be added to EMULATOR.INI
            to "lock down" the device is no longer supported in this flavor of the
            DCConnect Client; the soft keyboard no longer works correctly when in
            that mode.  "Lock down" of the device can instead be accomplished using
            Motorola's AppCenter tool which is a much more comprehensive solution
            for this functionality offering fine control over what icons are visible
            and what applications can be run by the user.

----------------------------------------------------------------------------
End of changes in version 3.00C version of product (June 2012).
----------------------------------------------------------------------------

2012-08-14: Improvement to speed of transaction program processing on Windows and 
            windows CE devices.  

            Also changed the version from 3.00 to 3.08 to be consistent with the most
            recent IBM Data Collection CD version.

----------------------------------------------------------------------------
End of changes in version 3.08D version of product (August 2012).
----------------------------------------------------------------------------

2012-12-01: Start of changes for direct compile of .COD files.

----------------------------------------------------------------------------
End of changes in version 3.08E version of product (December 2012).
----------------------------------------------------------------------------

2013-01-20: Completed direct compile of .COD files.  Added SET_LANGUAGE
            command.

2013-04-01: Added ENCRYPT command.

----------------------------------------------------------------------------
End of changes in version 3.08F version of product (May 2013).
----------------------------------------------------------------------------

2013-05-14: The maximum "common" (non-language specific messages) is now
            250 instead of 100.

            Named messages can now be 64 characters instead of 32.

            Fixed problem where the script name defined on the command line (-s) was
            not overriding the script name defined in EMULATOR.INI (SCRIPT_NAME).

            In compile-only mode, popup is now shown when compile is successful 
            rather than just ending.

            New QUERY_VAR command:
 
               QUERY_VAR ( ResultVar, SourceVar, QueryType )

            where QueryType can be any of: LENGTH, IS_NUMERIC or IS_NUMBER

----------------------------------------------------------------------------
End of changes in version 3.08G version of product (May 2013).
----------------------------------------------------------------------------

2013-05-16: Compile errors involving unresolved labels or parameter list mismatches
            are now shown before warnings in ETSPT.MSG so they are easier to locate
            and handle.

----------------------------------------------------------------------------
End of changes in version 3.08G version of product (May 2013).
----------------------------------------------------------------------------

2013-05-20: Corrected line number given in "command too long" compile error when
            the first failing line was preceded by blank lines and/or comments.

2013-05-22: Added more specific error messages for situations where 9801 (PGM
            command error) and 9802 (Parameter out of range) errors were shown.

            Default for message prompt (timer B) from 3 to 4.5 seconds.

            Added check to give compile error for CLRS with parameters; it should 
            be CLRP.

            Fixed problem with CLRP command not handling the optional 4th parameter
            properly if it was a variable and the third was not - or vice versa.  Also
            corrected order of parameter display (when stepping) of 3rd and 4th parameters.

            Display of GOTO/GOSUB during stepping now uses colon then opening paren not
            comma then colon.

----------------------------------------------------------------------------
End of changes in version 3.08H version of product (May 2013).
----------------------------------------------------------------------------

2013-05-25: Added the ability to have comments in the middle of commands that span more
            than one line.   Both // and /* comments are supported - either as the
            first non-white space characters at the beginning of the line or as 
            as a comment at the end of the line, following part of the command.  For
            example:

                CALL ADDL1 : BuildTxn ( Txn,         // Result Var
                //                      ID,      
                                        Badge, 
                                        PW,          /* Encrypted
                                        OptionalFld
                                      )

            Changed QUERY_VAR to QUERY, switched the query type to the second
            position rather than the third and added the following query types
            which do not require the third parameter (source var):

                QUERY ( resultVar, NUM_ROWS )       // Height of screen "portal"
                QUERY ( resultVar, NUM_COLS )       // Width of screen portal
                QUERY ( resultVar, CURSOR_ROW )     // Current cursor row
                QUERY ( resultVar, CURSOR_COL )     // Current cursor col

2013-05-28: Added "quick" keys to bring up the Start Stepping and View User
            VAR screen in the menus:

            - The '@' will bring up the Start Stepping menu.  Just press
              Enter once from that screen and you'll be back at the program
              with stepping mode in effect.
            - The '#' will bring up the View User Var screen directly.  When
              done, press Enter to return to the program

            The View User Var screen now gives the option to show the return
            code variable, uvRC (also called gRC).  The R key is used to show
            this.

            The View User Var screen now shows the variable names when 
            the programs are loaded directly.

            Fixed the handling of the R key in stepping mode.  Before the fix
            pressing R would run the program until the next RETURN command 
            was found - even if that RETURN was from another subroutine call
            that was made after the point that the R was pressed.  After the
            fix, the program pauses only after it returns from the subroutine
            that it was in when the R key was pressed.

----------------------------------------------------------------------------
End of changes in version 3.08i version of product (May 2013).
----------------------------------------------------------------------------

2013-05-29: Arrow keys can now be used to move the "view port" for the 
            menus just like they have always been able to be used to move 
            the view port of the main transaction program screen.  When 
            in the menus and the view port is moved, the view port position
            for the main transaction program screen is not affected.  
            Whenever the menus are entered - whether at the main menu or
            via a short cut key to a sub-menu - the menu view port is always
            repositioned to the top left corner.

2013-06-04: Added support for downloading of text files (e.g. .COD, .MSG)
            from DCConnect Server.

2013-06-13: The maximum command size, when counting white space, has been 
            changed from 1024 to 4000 bytes.

2013-06-14: Encrypt was not allowing UV0 to be a target.

----------------------------------------------------------------------------
End of changes in version 3.08j version of product (June 2013).
----------------------------------------------------------------------------

2013-06-28: Fixes for downloading of text files

2013-07-03: Added versioning of text file downloads via VERSION command.

2013-07-08: Added support for optional model parameter on the CFR_FILE command.

----------------------------------------------------------------------------
End of changes in version 3.08k version of product (July 2013).
----------------------------------------------------------------------------

2013-08-06: Added support for terminal name resolution via new -n command line
            parameter and new keyword TERM_NAME for EMULATOR.INI.  Use either of
            these to specify a valid terminal name in the DCConnect configuration,
            and in the DCConnect configuration, specify 255.0.0.0 or 
            as the IP address for this terminal.   The terminal can then connect to 
            DCConnect server by name without the server needing to know its IP address 
            or hostname ahead of time - assuming the client has configured the server's 
            IP/hostname via the -h command line parameter or TCPIP_HOST keyword in
            EMULATOR.INI.   This allows clients to connect to the server when a
            VPN is involved - which is typically a problem because the client's
            IP address and hostname are usually not known ahead of time in this case.

----------------------------------------------------------------------------
End of changes in version 3.08L version of product (August 2013).
----------------------------------------------------------------------------

2013-08-15: Added support for [CONFIG] section title in EMULATOR.INI to allow for
            InstallShield update of that file using the standard Windows .INI
            update mechanism.

2013-08-19: Fixed time stamp shown in COMMANDS.LOG when command logging is used.
            Used to show UTC time rather than local time.

2013-08-22: Maximum length allowed by APNDSTR/SETSTR changed from 256 to 999.  Also
            now properly generate an error if that length is exceeded.  Previously,
            the data would be truncated without notification.

            An error is now generated when multiple programs use the same key ID
            in their KEY statements.

            When text scripts are in use, the VIEW USER VAR screen now shows local
            variable names when GOSUB ( key_id, 1 ) is used to call the program as
            a subroutine.

----------------------------------------------------------------------------
End of changes in version 3.08m version of product (August 2013).
----------------------------------------------------------------------------

2013-08-29: The "Loading..." message during a download now shows the block #
            before the file number/name so that when running with a smaller
            NUM_COLS value (e.g. 20 columns) and a text file load is in progress the
            number will be visible and it will not look like the download is stuck.

2013-09-03: Added mechanism to detect if an incomplete download is present locally.  If
            an incomplete download is detected on startup, the files will be ignored and
            a request will be made to the server for a complete download.

2013-09-06: Better detection of missing parenthesis at end of Declare command and better
            reporting of the line # when parenthesis is missing for any command.

            NOOP command no longer gives exception if considered outside of transaction
            program.

2013-09-11: The LOCK_IN_MEMORY keyword in EMULATOR.INI can now include a list of program
            numbers (1-121) or key names (F1, F2, PF1, ADDL1, ... - the same ones used
            for the AKA command) in addition to (or instead of) validation file names.
            Programs that are most commonly used, such as those that include common
            subroutines, are ideal candidates for being locked in memory.  This will 
            improve performance.

----------------------------------------------------------------------------
End of changes in version 3.08n version of product (September 2013).
----------------------------------------------------------------------------

2013-09-20: When FILE_PAGING is in effect, the DUMP MEMORY option of the Diagnostics 
            menu now lists all programs and their sizes and shows an asterisk next to 
            those that are loaded in memory.

            The command line option -N (for terminal name) now properly overrides the
            EMULATOR.INI parameter TERM_NAME.

2013-10-04: Fixed cause of exception upon loading local files with certain errors.  

2013-10-12: The @ and # menu shortcut keys made available in version 3.08i are no
            longer enabled by default.  To enable them add the following keyword to
            EMULATOR.INI:

              ENABLE_MENU_SHORTCUTS=Y
              
            The MENU_KEY keyword for EMULATOR.INI now allows extended keys to be 
            specified by putting X followed by the decimal value of the high order
            byte for the extended key code.  For example, to specify the home key
            as the menu key:
              
              MENU_KEY = X71

            Do not put a space between the X and the the decimal number.  The X can
            be upper or lower case.

            Other common extended keys are:

              F1        = X59
              F2        = X60
              ...       = ...
              F9        = X67
              F10       = X68
              Home      = X71
              Page Up   = X73
              End       = X79
              Page Down = X81
              Insert    = X82
              Delete    = X83
              F11       = X133
              F12       = X134      

----------------------------------------------------------------------------
End of changes in version 3.08o version of product (October 2013).
----------------------------------------------------------------------------

2013-10-14: Fix for previous MENU_KEY enhancement to allow extended keys: the non-extended
            equivalent key for extended keys was also bringing up the menus.  e.g. If X71
            was specified to have Home bring up the menus, then G (also 71 but non-extended)
            was also bringing up the menus when it should not have been.

2013-10-24: The Client no longer logs warnings to ETSPT.MSG by default because there can
            be hundreds of warnings that have to be logged and the writing of these to the
            log can affect the performance of the handshaking with the server that occurs at
            the end of the download process.   If warnings should be logged, add the following
            keyword to EMULATOR.INI:

              LOG_COMPILE_WARNINGS=Y
  
            or use the command line option:

              -o=LOG_COMPILE_WARNINGS

2013-10-24: Fixes for properly handling the COMPILE_ONLY mode.

2013-10-28: Fix for use of F11 and F12 keys on Windows CE flavors of the Client.

2013-10-29: Fix for excessive sending of 'I-am-here' messages when running in 'named client' mode.
            Could result in -303 errors (command not allowed) errors when applications such as
            Transaction Connection attempted to send commands to the client - such as setting
            user variables.

2013-11-08: After a CFR-only or scripts-only download that is part of a text-based configuration, 
            the CFR initialization call was not being made.

----------------------------------------------------------------------------
End of changes in version 3.0.9 version of product (November 2013).
----------------------------------------------------------------------------

2013-12-18: Added support for handling configuration commands for those flavors of the Client 
            that support direct loading from text-based script files.   These commands include
            COMMUNICATIONS_TIMEOUT, DATE_SEPARATOR, and RS232_BAUD_RATE.  The complete set is
            documented in the Data Collection Transaction Program Builder User's Guide (dctpb32.htm).

2014-01-02: Fix for Windows CE platforms when detecting if a complete load of locally stored text files 
            could be used without having to redownload from the server.

2014-01-03: Fix to handle scenario where Client fails to connect to host after local file load if
            it has the wrong host address.

----------------------------------------------------------------------------
End of changes in version 3.0.9a version of product (January 2014).
----------------------------------------------------------------------------

2014-02-07: Fix for DataFile and Validation CFR APIs always returning error; introduced with implementation
            of direct text file compile.

            Added support for handling compressed files downloaded from server when in text file mode.
            Compression is handled for the text file, validation files and the CFR.  Requires server files
            from February 2014 as well.

----------------------------------------------------------------------------
End of changes in version 3.0.9b version of product (February 2014).
----------------------------------------------------------------------------

2014-02-25: Fix for validation from transaction program commands (e.g. VRFY) which would attempt remote 
            validation when local should have been done.


2014-03-06: The files for the Intermec 700 (.\IMEC700 subfolder) are again being built with the 3.0 
            compiler in order to support Intermec 700 devices with Pocket PC 3.x.   This will not allow
            the use of direct script compiling - just like the Intermec 600 and LanPoint CE builds.  (Only
            2 files are needed: etspt.exe and etspt.dll). 

            However, for any Intermec 700 that has Pocket PC 4.x, the DCConnect Client build that is
            for the Symbol 90xx devices (.\SYM90XX subfolder) can be used - and this build does support
            the use of direct script compiling (3 files needed: etspt.exe, etspt.dll and etsscrpt.dll).

----------------------------------------------------------------------------
End of changes in version 3.0.9c version of product (March 2014).
----------------------------------------------------------------------------

2014-03-14: Fix for Pocket PC 3.0 builds related to GOSUB / GOTO commands.  Also fix
            for other builds when branching into or out of a block.

----------------------------------------------------------------------------
End of changes in version 3.0.9d version of product (March 2014).
----------------------------------------------------------------------------

2014-03-19: Fix that caused a script-only download to be followed immediately by a full-download because
            the Client requested it.

----------------------------------------------------------------------------
End of changes in version 3.0.9e version of product (March 2014).
----------------------------------------------------------------------------

2014-11-07: Fix for the Client ignoring settings in the Terminal Settings notebook - such as timeouts.

----------------------------------------------------------------------------
End of changes in version 3.0.9f version of product (November 2014).
----------------------------------------------------------------------------

2015-08-05: For the SenRead API, the first byte returned, which is the symbology ID, now supports 
            DATAMATRIX (34), QR_CODE (35) and MAXICODE (36).  CFRAPI24.H has been updated with these
            constants.   Note that these were added for PC and Windows CE versions of the DCConnect
            Client and the type is only filled in if the SCAN_STRIP_COUNT_FRONT keyword is used in
            conjunction with the device scanner hardware having been configured to prepend the bar code 
            data with the 3 character AIM Symbology string (e.g. ]C0 for Code 128).   As required by
            the use of SCAN_STRIP_COUNT_FRONT keyword in EMULATOR.INI, the SCAN_SENTINEL_CHARS keyword
            must also be used.

            Also added support for the keyword SCAN_LOOK_FOR_AIM_CODE (Y/N) which tells the client to
            look for the ] character at the front of the scan string.  If found, the next character 
            is interpreted to determine the symbology type according to the AIM standard and all three 
            characters are stripped from the front of the scan data.   If not found, then the scan
            data is not changed.  See the DCConnect Client documentation for more details.

----------------------------------------------------------------------------
End of changes in version 3.0.9g version of product (August 2015).
----------------------------------------------------------------------------

2015-09-25: Fix for the IGNORE_KEY keyword (in EMULATOR.INI) not working on the Windows PC platform.

            Minor improvement to CPU usage when waiting for keystroke in certain situations

2015-12-02: Fix for exception that occurs when attempting to log an error message if an invalid 
            validation type parameter (TEXT, DOTVAL, BINARY) is provided for the LOCAL_VALIDATION command.
            Also, the documentation incorrectly spelled DOTVAL as DOT_VAL.   The documentation has been
            updated but at the same, the Client now accepts either spelling.

2015-12-07: Added new optional parameter, DELETE_UNZIPPED, to the LOCAL_VALIDATION command that is used
            to specify which validation files should be downloaded to the Client device when text-based
            scripts are used.   If included, this should be added after any other parameters.  This 
            parameter tells the Client to delete the local, uncompressed file after its contents are 
            loaded.  This can be useful if there is data in the uncompressed file that should not be 
            easily visible.

            The DCConnect Client now looks for and ignores imbedded end-of-file characters found while
            processing text-based scripts files.

----------------------------------------------------------------------------
End of changes in version 3.0.9h version of product (December 2015).
----------------------------------------------------------------------------

2016-01-25: Added support for loading a new version of the Client or its files (e.g. emulator.ini) from
            the DCConnect Server.  This includes support for the emulator.ini keyword:

              USE_ROOT_FOR_DOWNLOAD_FILES=Y
     
            for any device that has slow non-volatile memory affecting the download.

2016-01-27: Fixed problem with Validation() CFR API that was introduced during implementation of direct
            compile of .COD files.

2016-03-16: Fix for failure to identify missing messages when doing a direct compile of scripts.  For
            example, no error was given if an APND command referenced message number 120 and there was
            no MESSAGE command that defined the text for message number 120.

2016-07-03: Fixed the MC91xx build for running on the Intermec CN70 - and possibly other devices. Still
            version 3.1.0 because no code changed. 

----------------------------------------------------------------------------
End of changes in version 3.1.0 version of product (July 2016).
----------------------------------------------------------------------------

2016-09-28: Added Q as an option to quit the View User Vars menu screen - in case the Esc key is mapped.

2017-01-31: Added support for Android devices.  Requires version 3.1.0b of the DCConnect Server.

            Added two new options for the QUERY command: MODEL and TOUCH_SUPPORTED

            Added KEYPAD_xxxx and ROW_PIXEL_SPACING keyword support for EMULATOR.INI - intended for use 
            on Android terminals without physical keyboards.

----------------------------------------------------------------------------
End of changes in version 3.1.0a version of product (January 2017).
----------------------------------------------------------------------------

2017-02-26: Added support for AUTO_SCROLL_ROW for Android builds of the DCConnect Client.  This is used
            when the soft keyboard is showing to reposition the screen content such that the cursor row
            is visible.

            Added support for EMULATOR_INI command in text-based script files - as a means to download
            EMULATOR.INI as part of the script file download.  Requires DCConnect Server fixpack 3.1.0c
            or later.             

            For Android builds of the Client, the main menu now has a MOVE KEYPAD option for switching
            the keypad from one side of the screen to the other (if the keypad is configured in 
            EMULATOR.INI).  On restart the keypad position reverts to what is specified in EMULATOR.INI.

----------------------------------------------------------------------------
End of changes in version 3.1.0b version of product (February 2017).
----------------------------------------------------------------------------

2017-03-06: Fix for Windows CE builds after changes made for Android build; getting file size for
            EMULATOR.INI was failing.

            Startup "I-am-here" message to server now delayed till after all local file processing is
            complete so that that processing does not delay replies to server commands.

----------------------------------------------------------------------------
End of changes in version 3.1.0c version of product (March 2017).
----------------------------------------------------------------------------

2017-03-24: Android versions of the Client will now look for EMULATOR.INI (must be upper case) in the
            Download folder.  If EMULATOR.INI is found in the Download folder, it supersedes the one
            included in the .apk installation package, if there was one.   But an EMULATOR.INI that
            is downloaded from the DCConnect server will supersede all the others.

            Maximum font size increased for Android version of the Client.

----------------------------------------------------------------------------
End of changes in version 3.1.0d version of product (March 2017).
----------------------------------------------------------------------------

2017-03-29: For Android flavors, the package name / application ID and consequently the installation
            path changed from com.ibm.datacollection.dcclient to com.ibm.gbs.datacollection.dcclient
            in order to comply with IBM naming guidelines.

2017-05-01: The 3.0.8d change to improve performance has been refined to be less CPU intensive during
            wait operations, such as waiting for a transaction program to be started or waiting for
            keyboard or scan input during a transaction program.

2017-05-08: Improved responsiveness of client to server commands while uncompressing and processing
            text script files.  Also removed showing of subroutine names during this processing; only
            key (program) names are shown now.

----------------------------------------------------------------------------
End of changes in version 3.1.0e version of product (May 2017).
----------------------------------------------------------------------------

2017-05-22: For Android flavors, fixed two problems that could cause the Client to crash during
            its shutdown or startup - particularly on devices with faster processors.

            Also added the showing of a "Restarting....." status message when the Client is restarted
            due to the completion of the downloading of Client files, including EMULATOR.INI.

2017-06-12: For Android and Windows flavors, added the EMULATOR.INI keyword:

              IDLE_DELAY_MIN_AND_MAX

            to allow for the tuning of the performance and subsequent battery usage of the 
            DCConnect Client.

2017-06-30: Expanded the number of pixel rows included when the reverse video attribute is
            used - in order to better cover letters that extended lower than others - such as
            the capital Q.

2017-07-03: Non-debug Android version built for creation of signed package file.

----------------------------------------------------------------------------
End of changes in version 3.1.0f version of product (July 2017).
----------------------------------------------------------------------------

2017-08-01: Added showing of license agreement for Android flavors.  Only shows the first 
            time the app is run after installation.

2017-09-15: Updated displaying of DCConnect Client name and version on title screen and in
            and in Version Info menu option per IBM Mobile app guidelines.  All flavors use
            new format.

2017-09-19: Official signed release of the Android version of the DCConnect Client is now
            available.

----------------------------------------------------------------------------
End of changes in version 3.1.0g version of product (September 2017).
----------------------------------------------------------------------------

2017-10-09: Fixed truncation of error messages related to loading and running Android CFR files.

2017-11-21: Added support for KEYPAD_FONT_SIZE keyword in EMULATOR.INI for overriding the 
            default text sizing for keypad labels for Android devices.

2017-12-07: By default, the sizing of the text on keypad labels for Android devices is now 
            automatically resized to maximize its size relative to the button size.  This 
            automatic sizing can be overridden by the KEYPAD_FONT_SIZE keyword in EMULATOR.INI.

----------------------------------------------------------------------------
End of changes in version 3.1.0h version of product (December 2017).
----------------------------------------------------------------------------

2018-02-07: Fix for handling flow control through an if-then-else structure (including nested 
            if-then-elses) after a GOTO or ONKEY that goes backward, into the middle of an IF 
            statement or block.

2018-04-11: The text-file command INPUT_TIMEOUT was erroneously setting the same internal value
            that COMMUNICATIONS_TIMEOUT sets.

2018-12-18: Fix for crash of Android client on first run on devices with security patch that
            limits the amount of data that can be fetched by the getString API (for example, 
            Nougat and Oreo).  This occurred during the attempt to display the license 
            agreement on first run of app after install.

----------------------------------------------------------------------------
End of changes in version 3.1.0i version of product (December 2018).
----------------------------------------------------------------------------

2019-01-22: Android: Fix for misaligned rendering of buttons labels on the optional keypad that 
            started in the Oreo version of Android.

----------------------------------------------------------------------------
End of changes in version 3.1.0j version of product (January 2019).
----------------------------------------------------------------------------

2020-06-05: Android: Implemented the high / low frequency and duration for beeper functionality - for the 
            SpkBeep CFR API and the CMD 5 beep command.  Previously all beeps were a single frequency and 
            always for 1 second.

2020-06-09: Increased the internal buffer size for Android, Windows and Window Mobile to speed up the
            download process by reducing the number of messages needed to transmit the download, 
            particularly for the CFR.

2021-03-16: Added TEST SCAN/KEY option to the DIAGNOSTICS menu.

            Android: EMULATOR.INI can now be named with all lower case letters or all upper case.

----------------------------------------------------------------------------
End of changes in version 3.1.0k version of product (March 2021).
----------------------------------------------------------------------------