24 May 1993     Add support for mmol/l measurement units.
Version 1.4

3 June 1993     Allow configuration file to default to .\TOUCH2.CF
Version 1.5
                Allow space after "bright" or "light" in color names to be
                optional.

                Remove initial form-feed on graph printed output.

                Add an optional page number in the graph output file.

                Allow a title line to be specified.  Put it at the top of
                the graph display.  Put the title on the first printable line
                of the graph output file, right after the page number.

                Add code to sense unusable TEXTC80 background colors, convert
                them to usable ones, and display a warning.  Update the
                documentation of color choices.

8 June 1993     Added code to recognize that K is the control solution code
Version 1.6     in the DEUTS and SVENS language modes.  (The control solution
                code often appears when too little blood has been placed on
                the check strip.)

                Added an X (eXit) option to the dump menu.

                Added code to recognize HIGH readings.  Like check strip and
                control readings, they aren't graphed.  Similarly, they aren't
                dumped in QuattroPro mode unless selected with the "-c" option
                on the TOUCH2 call line or the C option on the dump menu.

                Corrected handling of ITALI language setting.

15 June 1993    Relaxed test for TEXTC80 monitor to allow use on Hercules
Version 1.7     adapter once more.  Added a warning display when TEXTC80
                can't be set.  Added a "-w" option and "warn=on|off"
                directive to display warning displays.

17 June 1993    Added checksum verification and provided for disabling it
Version 1.8     with the "-C" option or the "checksum=on|off" and
                "cksum=on|off" configuration file directives.

20 June 1993    Made sure zero-length dump and graph files are always
Version 1.8     unlinked when a dump or graph file operation terminates
                abnormally.

25 June 1993    Changed touch2.c to capitalize the S in LifeScan.
Version 1.8

1 July 1993     Added code to check for legal file names.
Version 1.9

7 July 1993     Added variable interpolation in graph title line. Variables
Version 1.10    may be defined in configuration file; on call line; in the
                environment; or may come from a predefined set of date and
                time elements -- e.g., day, hour, month.

14 Aug 1993     Added handling of meter error readings, thanks to information
Version 1.11    received from George Kennedy of LifeScan.  Check, error and
                high readings are now included in the printed graph, although
                they do not have an associated graph line.  Continuation
                after checksum errors during the reading of a dump file is
                now optional.

23 Sep 1993     Allow optional continuation after checksum errors when reading
Version 1.12    from the meter.  CAUTION: continuing may cause loss of
                subsequent meter readings.

6 Oct 1993      Added support for displaying event numbers, if they're non-
Version 1.13    zero.  To conserve space on the output, there is no space
                between event number and the special reading code -- `!', `C',
                or `*'.

1 Jan 1994      Converted compiler from Microsoft Quick C to Borland C++ 3.1.
Version 1.14    (That necessitated a large scale change in the library
                functions called.)  Had to use medium resolution VGA for the
                graph display, changing its appearance slightly.
                
                Fixed two bugs: 1) a cursor positioning problem when using
                BKSP during the edit of a file name being entered; and 2)
                an oversight that prevented the use of ".\", "./", "..\",
                and "../" at the beginning of file names.
                
                Changed checksum method so that it's not being done as each
                record is read from the meter, but after all records have been
                read.  This should eliminate the possibility that data will
                be lost while TOUCH2 is waiting for a response to a checksum
                error message.

8 Dec 1994 -    Added options to allow selecting (filtering) the dump records
3 Jan 1995      to be graphed; rewrote the asynchronous communications module;
Version 1.15    streamlined menu movement; improved documentation; and added
                a debug mode.

             *  Filters

                Three filters are supported: by event; by time range; by
                skipping after or until a date and time is reached.

                An event filter selects records for graphing that have the
                specified event number, as entered from the meter with the `C'
                button when a reading is on display.

                Time selection ranges specify by starting and ending time of
                day which records will be included in a graph.  The selection
                ranges may be specified in the configuration file with the
                "range" directive or through the graph dump menu.  Up to six
                ranges may be pre-defined with "range" directives, and a menu
                option allows setting (or redefining) the first range.  A
                separate graph title may be associated with each range.

                Skipping boundaries specify records in the data where graphing
                is to start or stop.  There are two boundaries, specified via
                options on the Graph menu -- one for declaring a date and time
                after which records will be ignored; and a second for declaring
                a date and time until which records will be skipped.  Use the
                first to ignore trailing records; the second, leading ones.
                
                I use the selection ranges to divide my data into four groups
                (morning, noon, evening and bed time), discard old records
                (with the skip after option), and draw graphs of each set
                without leaving the Graph menu.  I use an after-which skipping
                boundary to lop old records from the end of a datalog dump.

             *  Asynchronous Communications Module

                I rewrote the asynchronous communications module to eliminate a
                serious port/UART setup bug.  This bug was reported by Ed Grey
                <elg@kaiwan.com> and Robert J. Sandlin <carlos@rmii.com>.
                While rewriting the communications module I added support for
                COM3 and COM4, including the ability to specify port address
                and IRQ.  (Only IRQs 3, 4, 5, and 7 are supported.)

             *  Menu Movement

                Fewer menu transitions are now needed when using the Dump and
                Graph menus.  Control stays in either menu until eXit is
                selected.  This means that one can read a dump, write it to a
                file, go to the Graph menu for further processing, use multi-
                ple dump record filters, and draw graphs with the filtered
                records without returning to the main menu constantly.

             *  Documentation

                I have tried to improve the documentation in the 00readme file
                by adding a table of contents, shuffling the organization,
                discussing some simple startup problems, describing COM3 and
                COM4 usage peculiarities, and adding information on the new
                dump record filtering methods.

             *  Debug Mode

                I added the debug mode while working on the asynchronous
                communications module.  When TOUCH2 is called with the "-d"
                option, it will display all characters received from the COM
                port attached to the meter, starting at the upper left corner
                of the display and filling all the screen except for the
                prompt line at the bottom.

15 Jan 1995     Added the `V' option to the Dump menu; it reVerses the order
Version 1.16    of the records in TOUCH2's dump buffer, provided there are at
                least 2 of them.  Bill Vermillion <bill@bilver.oau.org>
                suggested this addition.

                Added the ability to ignore events by number.  The numbers to
                be ignored may be specified via the `I' option of the Graph
                menu or the "ignore" configuration file directive.  Ed Grey
                <elg@kaiwan.com> suggested this addition.

                Added the ability for the graph title to be stored in the dump
                file.  Also improved graph title management so that titles are
                restored more-or-less logically as filtering options change
                and dump files are read or erased.  Ed Grey <elg@kaiwan.com>
                suggested this addition.

11 May 1995     Changed the transmit timer in async.c to use the system clock
Version 1.17    instead of a dumb delay loop.  By itself this did not solve
                the problem reported by Marek Musial <musial@cs.tu-berlin.de>.
                He discovered that his German made TOUCH2 cable does not supply
                DSR on transmit.  Therefore, I added options to the TOUCH2 call
                line, communications menu, and configuration file to disable
                the test for DSR in the transmit function of TOUCH2's
                asynchronous I/O module.
