7526 Code History


7526 MICROCODE PROBLEMS/FIXES

This file describes the bug fixes incorporated into each
successive release of the 7526 Data Collection Terminal's
ROM microcode.

Code levels marked as BETA are not completely tested
by IBM, and should be used only if the work-around is
not sufficient and the situation is critical.

The latest entry (highest level number) includes all prior fixes.

------------------------------------------------------------------
CHANGE HISTORY
06/23/99 Added B4.42, V3.40, B3.41
03/25/98 Added B4.34, B3.31
12/17/97 Added B4.30 fix and enhancement, B3.25 enhancement
10/22/97 Added B4.29, B3.21, B3.23 fixes
07/14/97 Added B4.27 fix
08/29/97 Added B3.19 , B4.29 fixes
06/10/97 Added B3.17 fix
05/30/97 Added B4.25 / B3.15 enhancments
05/29/97 Added B4.24 fixes and enhancement
05/27/97 Added B4.23, B3.13 fixes
05/12/97 Added B4.22, B3.11 fixes
04/03/97 Added B4.21 fixes
03/17/97 Added V4.20 fixes
11/21/96 Added B4.12 fixes
11/12/96 Added B4.10 fixes
10/07/96 Added B3.06, B4.05 & B4.06 fixes/enhancements
09/10/96 Added B4.04 fixes
08/19/96 Added B3.04 fix
08/13/96 Added B3.03 and V4.03 fixes/enhancements
07/30/96 Added B3.02 and V4.02 fixes
05/14/96 Added V3.00 changes
02/12/96 Added V2.50 fixes
12/14/95 Added V2.40 fixes
10/09/95 Added B2.34 fixes
09/25/95 Added B2.32 fixes
08/11/95 Added B2.30 fixes
03/28/95 Added description of B2.29 code fixes
03/15/95 Added description of B2.28 code fixes
06/27/94 Added description of B2.26 code fixes and enhancements.
05/23/94 Added description of B2.25 code fixes.
04/14/94 Added description of B2.24 code change.
03/07/94 Added description of B2.23 code change.
02/16/94 Added description of B2.22 code fixes.
12/21/93 Added description of B2.21 code fix and added problem
         descriptions of some known bugs.
10/07/93 Added description of V2.10 code fixes and enhancements.
09/24/93 Added description of B2.13 code fixes.
09/07/93 Added description of B2.12 code fixes.
08/06/93 Added description of B2.11 code fixes.
06/16/93 Added description of 2.00 code fixes and enhancements.
03/24/93 Added description of 1.03g BETA code fixes.
03/12/93 Added description of 1.03f BETA code fixes.
01/07/93 See change bars for additions or modifications.
01/05/93 Added description of 1.03e BETA code fixes.
12/22/92 Added description of 1.03c BETA code fixes, moving many
         of the unfixed bugs to this listing.
12/21/92 Added more known, unfixed bugs to B) section.
-------------------------------------------------------------------
CODE VERSIONS
The bugs described were fixed in the subject code level.
FLASH FOR 7526 ETHERNET CARD
----------------------------

Version  B4.42 06/23/99  (ETHERNET CARD FLASH LOAD **ONLY** )

  Bugs fixed:
  ----------

   1 Turn off bar code reading during long-executing transaction program
     interpreter calls (such as VRFY with a large validation file).
  New feature
  -----------
   1 ACCEPT BCAST: YES/NO setting in the set-up menus allows you to tune the
     Ethernet decoder chip to accept or not accept Ethernet broadcasts.  When installed
     on a LAN with a high number of broadcasts, by not accepting broadcasts the 7526's
     8MHz processor has the resources to handle the real-time sampling required by
     bar code decoding.  Note that ARP commands must be used to tell the host PC and
     /or any router involved of the 7526's Ethernet MAC address -- once broadcast
     acceptance is turned off the 7526 will not receive or respond to Address Resolution
     Protocol inquiries.


Version  B4.34 03/25/98  (ETHERNET CARD FLASH LOAD **ONLY** )

  Bugs fixed:
  ----------

   1 Ethernet driver trace routine could write outside its memory area,
     resulting in hung terminal and other bad symptoms.  This happens more
     with very busy Ethernet networks.
   2 Terminal may hang as it is being put off-line by the controller.  This
     happens more frequently when the DCT is executing a CFR (doing IdleManager
     calls) when the off-line command A0 is received.
   3 Back-to-back SEND then remote verification transactions could confuse
     the terminal, causing it to ignore the response for the remote validation
     and/or send some data twice.
  New feature
  -----------
   1 DCT no longer reprograms the bar code decode coprocessor when changing from
     one fixed length Interleaved 2/5 size on the idle screen to a different fixed
     length read in a transaction program. This can save 1-2 seconds of delay before
     the DCT is ready for use by the worker.


Version  B4.30 12/17/97  (ETHERNET CARD FLASH LOAD **ONLY** )

  Bugs fixed:
  ----------

   1 Compacted numeric files were not loading properly -- including that used
     to store fast-clocking transition times (terminal would never go into
     fast-clocking mode).
  New feature
  -----------
   1 Menu system now includes a 'Lock Adjustments' option which,
     when set to 'YES', prevents the terminal user from adjusting
     the beeper level or the LCD contrast.

Version  B4.29 10/21/97  (ETHERNET CARD FLASH LOAD **ONLY** )
  Bugs fixed:
  ----------
   1 Transaction was being sent at end of txn program with AUTO set to OFF when
     worker would press Enter more than once on last input.

Version  B4.28 8/29/97   (ETHERNET CARD FLASH LOAD **ONLY** )
  Bugs fixed:
  ----------
   1 Fix for E03 error when paused in a ONKEY goto/gosub command AND a
     digital-input or RS-232-input initiated event happens.
   2 Fix for using the F28 (space) key in an ONKEY command
   3 Reduced or eliminating RS-232 inbound overruns when used in busy Ethernet
     network.
Version  B4.27 7/14/97 (ETHERNET CARD FLASH LOAD **ONLY** )

  Fixes:
  ------
   1 7526 may have trouble properly handling a time-out of its ARP table
     entry for the server.

Version  B4.25 5/30/97 (ETHERNET CARD FLASH LOAD **ONLY** )

  Enhancments:
  -----------_
   1 Added TimerGetTicks and TimerResetTicks CFR APIs

Version  B4.24 5/29/97 (ETHERNET CARD FLASH LOAD **ONLY** )
  Bugs fixed:
  ----------

   1 Serial port reads could get garbled data
   2 Command 01 did not result in file download request
  Enhancments:
  -----------_
   1 Added GetDCTInfo CFR API

Version  B4.23 5/27/97 (ETHERNET CARD FLASH LOAD **ONLY** )
  Bugs fixed:
  ----------
   1 Fix for various bad symptoms when a power voltage to the terminal fell or rose slowly
     through the Non-maskable Interrupt power failure voltage level.
     (as when the Operational Battery Backup feature is installed and is allowed
     to run all the way out of power).
     Symptoms could be:  Loss of files, corrupted data,
     corrupted idle prompt, terminal lock-up upon re-start of the 7526.
   2 Fix for terminal response to host commands 7, 9A, and 9F -- they were coming back
     with truncated data, or too much data.

   3 Serial port reads could get garbled data
   4 Command 01 did not result in file download request

Version  B4.22 5/12/97 (ETHERNET CARD FLASH LOAD **ONLY** )
  Bugs fixed:
  ----------
   1 Printing was prone to hanging up the machine.
   2 :J FORMAT transaction programming command did not work
     for variable length output -- target UV was always
     empty when finished.

   3 Additional fixes for time-of-day driven alarms -- there was a
     possibility of an alarm set-point being skipped during the day.
   4 Printer spooling timeout was increased to accomodate printers
     which suspend accepting new data while form-feeding.
Version  B4.21 4/03/97 (ETHERNET CARD FLASH LOAD **ONLY** )
  Bugs fixed:
  ----------
   1 Print from CFR and transaction program was broken if you
     didn't happen to have called PrtInit() from a CFR.
     Workaround is to do this PrtInit() call in the Function 0/2
     CFR code.
Version  V4.20 3/17/97 (ETHERNET CARD FLASH LOAD **ONLY** )
  Bugs fixed:
  ----------
   1 Various bugs which could cause terminal lack
     of communications response in a heavily-loaded Ethernet
     environment.  Enabled hardware fixes for this fix.
     NOTE: THIS LEVEL REQUIRES UPDATED 7526 PROCESSOR CARD
     HARDWARE.  LOOK FOR A YELLOW WIRE BETWEEN U31 AND U7
     AS AN INDICATION, OR TRY THIS FLASH -- IF TERMINAL LOCKS-UP
     DURING MEMORY POST COUNT, THEN YOU DON'T HAVE THE
     REQUIRED HARDWARE LEVEL.  BACK-OFF TO B4.12 UNTIL YOU
     CAN GET YOUR 7526 PROCESSOR CARD UPGRADED.
Version  B4.12 11/12/96 (ETHERNET CARD FLASH LOAD **ONLY** )
  Bugs fixed:
  ----------
   1 Various bugs which could cause terminal reset, lock-up, or lack
     of communications response in a heavily-loaded Ethernet
     environment.
Version  B4.06 10/7/96 (ETHERNET CARD FLASH LOAD **ONLY** )
  Bugs fixed:
  ----------
   1 Printer port would not print on next power-up if the 7526 was
     turned off while data was still in its out-bound printer queue
  Enhancement:
  -----------
   1 Transaction program printer command now does automatic
     spooling of data to the printer port, allowing you to do SEND to
     Printer commands repeatedly without intervening DELAY statements
     to avoid printer buffer full errors.
Version  B4.05 9/16/96 (ETHERNET CARD FLASH LOAD **ONLY** )
  Bugs fixed:
  ----------
   1 A scanner sensor port used for the input on a Read with Verify
     would be locked out of usage if a remote validation response
     timed out.
   2 Potential fix for occasional loss of communcations to terminal.
     (Sorry, can't be more definite than that.... )
Version  B4.04 9/10/96 (ETHERNET CARD FLASH LOAD **ONLY** )
  Bugs fixed:
  ----------
   1 Interactive mode -- 7526 will now wait up to 5 minutes for
     activity from the server before dropping out of service.  It
     was using Timer A, which cannot be set high enough to match
     the RUTHERE polling frequency of DCC/2r.
   2 Failure to respond to commands -- when DCC/2r is restarted,
     it sets the sequence number on commands back to 1. The 7526
     was failing to always notice this, and was not responding to
     commands which it considered to be duplicates spawned by the
     TCP/IP network.

Version  B4.03 8/13/96 (ETHERNET CARD FLASH LOAD **ONLY** )
  Bugs fixed:
  ----------
   1  The terminal was sending multiple ACKs to command IM (set
      multiple user variables in one command).  This seems to be
      harmless, but was not right....
   2  TimerAlarmAsynch set-points (digital output points driven
      automatically at particular times of day) could fail to
      execute when more than 2-3 hours passed without the 7526
      being set off-line/on-line (e.g. a time synch or download).

  Enhancements:
  -------------
   1  Added display of user variables in idle prompt capability.
      See http://wwprodsoln.bocaraton.ibm.com/dc/uvdisp.htm for
      details.

Version  V4.02 7/26/96 (ETHERNET CARD FLASH LOAD **ONLY** )
  Bugs fixed:
  ----------
   1  With certain file sizes and transaction buffer sizes, the
      storage allocated for transaction program user variables may
      be non-functional, resulting in strange data being read from
      the user variables.
   2  The presentation of the 'Low Power - Stop' message when input
      power to the terminal drops to brown-out levels was sometimes
      causing corruption of memory.  This message is no longer presented
      (the terminal now will simply appear locked up if power drops
      below the threshold but does not then drop low enough to cause
      a hardware reset).

Version  V4.00 (ETHERNET CARD FLASH LOAD **ONLY** )
  Bugs fixed:
  ----------
   NONE
  Enhancements:
  -------------
   1  This is the first code level which is resident in the
      7526 Ethernet-Serial-Parallel card's FLASH memory module.
      It includes the ETHERNET and TCP/IP support.

EPROM FOR BASE 7526
-------------------
Note:  If you are using the 7526 Ethernet-Serial-Parallel card,
you must have version 3.0 or higher.  If you have version 3.0
already and are using the Ethernet card, then there is NO need
to upgrade your EPROM beyond 3.0 -- the flash file on the Ethernet
card is used instead of the EPROM for all but the first stages
of machine boot-up.
Note:  Begining with V3.10, all even-numbered EPROMs require
7526 processor cards with the fixes described under FLASH V4.20
above.  Even-numbered EPROMS are available only factory-installed.
Upgrade EPROMs from 3.11 on will run on any processor card level.

Version  B3.41 06/23/99

  Bugs fixed:
  ----------

   1 Turn off bar code reading during long-executing transaction program
     interpreter calls (such as VRFY with a large validation file).

Version  B3.31 03/25/98  (aka V3.40)

  Bugs fixed:
  ----------

   1 Back-to-back SEND then remote verification transactions could confuse
     the terminal, causing it to ignore the response for the remote validation
     and/or send some data twice.
   2 Terminal may hang as it is being put off-line by the controller.  This
     happens more frequently when the DCT is executing a CFR (doing IdleManager
     calls) when the off-line command A0 is received.
  New feature
  -----------
   1 DCT no longer reprograms the bar code decode coprocessor when changing from
     one fixed length Interleaved 2/5 size on the idle screen to a different fixed
     length read in a transaction program. This can save 1-2 seconds of delay before
     the DCT is ready for use by the worker.

Version  B3.25 11/03/97
  New feature
  -----------
   1 Menu system now includes a 'Lock Adjustments' option which,
     when set to 'YES', prevents the terminal user from adjusting
     the beeper level or the LCD contrast.

Version  B3.23 10/21/97
  Bugs fixed:
  ----------
   1 Transaction was being sent at end of txn program with AUTO set to OFF when
     worker would press Enter more than once on last input.

Version  B3.21 9/15/97
  Bugs fixed:
  ----------
   1 Send data on serial port was broken -- would send endlessly, going
     past end of output string.

Version  B3.19 8/29/97
  Bugs fixed:
  ----------
   1 Fix for E03 error when paused in a ONKEY goto/gosub command AND a
     digital-input or RS-232-input initiated event happens.
   2 Fix for using the F28 (space) key in an ONKEY command

Version  B3.17 6/10/97
  Bugs fixed:
  ----------
   1 Fix for breaking printer function when there is no serial-parallel
     card installed.  This was broken in 3.11-3.15 (not including 3.12).
     Units with serial-parallel card would work just fine -- units without
     won't print nuthin...

Version  B3.15 5/30/97

  Enhancments:
  -----------_
   1 Added TimerGetTicks and TimerResetTicks CFR APIs

Version  B3.13 5/27/97
  Bugs fixed:
  ----------
   1 Fix for various bad symptoms when a power voltage to the terminal fell or rose slowly
     through the Non-maskable Interrupt power failure voltage level.
     (as when the Operational Battery Backup feature is installed and is allowed
     to run all the way out of power).  Symptoms could be:  Loss of files, corrupted data,
     corrupted idle prompt, terminal lock-up upon re-start of the 7526.
   2 Serial port reads could get garbled data


Version  B3.11 5/12/97
  Bugs fixed:
  ----------
   1 Printing was prone to hanging up the machine ONLY WHEN the
     Serial-Parallel adapter was installed.
   2 :J FORMAT transaction programming command did not work
     for variable length output -- target UV was always
     empty when finished.

   3 Additional fixes for time-of-day driven alarms -- there was a
     possibility of an alarm set-point being skipped during the day.
   4 Printer spooling timeout was increased to accomodate printers
     which suspend accepting new data while form-feeding.

Version  V3.06 09/28/96
  Bugs fixed:
  ----------
   1 Printer port would not print on next power-up if the 7526 was
     turned off while data was still in its out-bound printer queue
  Enhancment:
  -----------
   1 Transaction program printer command now does automatic
     spooling of data to the printer port, allowing you to do SEND to
     Printer commands repeatedly without intervening DELAY statements
     to avoid printer buffer full errors.
Version  V3.05 9/16/96
  Bugs fixed:
  ----------
   1 A scanner sensor port used for the input on a Read with Verify
     would be locked out of usage if a remote validation response
     timed out.
Version  B3.04  08/19/96
  Enhancements:
  -------------
   1  Fixed E09 error when running a fast clocking transaction
      after a CMD D transaction program had aborted prior to
      sending a transaction.

Version  B3.03  08/13/96
  Enhancements:
  -------------
   1  Added display of user variables in idle prompt capability.
      See http://wwprodsoln.bocaraton.ibm.com/dc/uvdisp.htm for
      details.

Version  B3.02  07/26/96
  Bugs fixed:
  ----------
   1  The presentation of the 'Low Power - Stop' message when input
      power to the terminal drops to brown-out levels was sometimes
      causing corruption of memory.  This message is no longer presented
      (the terminal now will simply appear locked up if power drops
      below the threshold but does not then drop low enough to cause
      a hardware reset).
   2  TimerAlarmAsynch set-points (digital output points driven
      automatically at particular times of day) could fail to
      execute when more than 2-3 hours passed without the 7526
      being set off-line/on-line (e.g. a time synch or download).

Version  V3.00  05/14/96 (THE LATEST EPROM CODE FACTORY-INSTALLED)
  Bugs fixed:
  ----------
   1  A  Call CFR (CCFR) parameter string which used a
      '+' character would get corrupted by the microcode as
      it scanned for ONKEY labels to do address-fixup.
   2  The processor board DI/DO port now comes up with power
      to pin 20 off until a valid file 0 configuration record
      is received.
   3  Intialized DI point states to prevent false triggering
      after download.
  Enhancements:
  -------------
   1  Support for Ethernet-Serial-Parallel and Serial-Parallel
      optional communications adapters.

Version  V2.50  02/12/96
  Bugs fixed:
  ----------
   1  The subroutine 'stack pointer' was not being reset to
      0 upon starting a transaction program.  Thus, if you cancelled
      (shift-clear) a program while it was in a subroutine the
      stack would not be released.  Cancelling 25 times would cause
      an E08 stack error ultimately.  Fixed in this version.
   2  Timer alarms (both async and direct) now properly calculate
      the day of the week and will execute on the day(s) desired.
Version  V2.40  12/14/95
  Bugs fixed:
  ----------
   1  A ;N (branch based on user variable comparison) command
      which is done after any kind of subroutine call command
      (e.g. Gosub, OnSub ) will accidentally treat the branch
      (goto) to the label as subroutine call.  25 times through
      this loop will cause an E08 stack error.  V2.40 fixes this.
      Workaround:  Put a 'do nothing' Goto command/label set
      right before execution of the ;N.

Version  B2.34  10/09/95
  Bugs fixed:
  -----------
   1  Time interval-initiated events (i.e. TimerSetInterval)
      would run even when the terminal was in Keylock (set-up) mode,
      often overwriting the set-up display.  Interval events now
      will not run when the terminal is in set-up mode.
   2  Transaction programs would encounter an E03 or E06 error
      when a SKIP return code from a CFR would cause an attempt
      to skip over another CCFR statement which had one of various
      ASCII characters below DEC 048 in the free-form parameters
      string.  The SKIP function will now properly handle all
      characters in the parameters EXCEPT a colon (:) or semi-colon
      (;) which are special delimeters in the transaction programs.
      Colon and semi-colon should NOT be used in CCFR parameters.
   3  The microcode now constantly re-enables the time-of-day clock
      in order to keep it from getting stuck in a mode where it
      would not give its 1 second interrupts.  This should prevent
      the idle screen and transaction timestamp clock from getting
      stuck.
   4  Fixed low-power/power-off interrupt code to properly set
      the data segment before trying to show 'Low Power. Stop.'.
      Symptom was having the 'Low Power. Stop' message show up
      on split onto two line on a 7526-150/155/200.
Version  B2.32  09/25/95
  Bugs fixed:
  -----------
   1  If an on-line/off-line command sequence (often as part of a
      time synchronization command) was received while the 7526 was
      in a CFR, the terminal may come back on-line with both the
      idle screen showing AND the CFR running.  Ultimately, the
      7526 will reset (when the CFR did a return).
      NOTE:  The fix involved a change in operation which may
      help those who suffer from having the clock stop on the 7526
      display.

Version  B2.30  08/01/95
  Bugs fixed:
  -----------
   1  A bar code sensor port can get locked out (non-functional)
      when both ports are used simultaneously.

Version  B2.29  03/28/95
  Bugs fixed:
  -----------
   1  Fixed bug introduced in B2.26-B2.28 which made time-of-day clock
      stop IF the processor card in the 7526 was printer-capable
      board (surface mount chips) WITH a Benchmarq brand real time
      clock instead of the older Motorola clock chip. (The clock chip
      is located underneath the beeper on the board ).
Version  B2.28  03/15/95
  Bugs fixed:
  -----------
   1  The debouncing algorithm for both DI-initiated transactions and
      debounced DI counters was not working properly for bouncing
      which lasted over 4-5 milliseconds, resulting in missed DI
      activations.
Version  B2.26  06/27/94
  Bugs fixed:
  -----------
   1  If lower case hex characters are used for the ;A key command,
      the transactions sent to the host contain that same lower case
      letter.
      Workaround:  Change the characters to be upper case.
   2  If an alpha key is pressed as the first character when using
      Read (:R) with numeric only from the keyboard and sensor ports,
      the sensor port is locked out, and the timeout never happens.
      Workaround:  The keyboard still works, enter the badge by hand
                   or press Clear to abort the transaction.
   3  Validation does not work in the second part of a link key.
      Workaround:  Extend the length of the transaction.  Link keys are
                   no longer needed to make long transactions.
   4  The Model 200 acts like a 150/155 if the Space key is pressed
      immediately after entering setup at any time.
      Workaround:  None known.

  Enhancements:
  -------------
   1  Alphabetic keys are now ignored when using numeric only keypad
      entry with sensors under Read (:R).  The sensor stays enabled
      until the first numeric key is pressed.
   2  Added code for confirmation on whether or not the terminal is
      a Model 150/155 or a 200.

Version  B2.25  05/23/94
  Bugs fixed:
  -----------
   1  Alarms in the Timer* CFR APIs don't trigger at midnight.
      Workaround:  Move the timers to be a minute later
   2  The clock stops as shown on the display and in transactions.
      Workaround:  None.  You need to reset the terminal to
                   continue processing either through pressing Clear,
                   or power off/on.

Version  B2.24  04/14/94
  Bugs fixed:
  -----------
   1  Fast-clocking transactions always try to do a remote validation
      after a cold start, but before a validation is performed through
      a key-initiated transaction.
      Workaround:  Perform a key-initiated transaction with validation
                   after a cold start to make everything work correctly.
   2  Cursor positioning via escape characters embedded in Files 2
      through 8 does not work.
      Workaround:  Use :U (cursor position) to place the cursor or use
                   :E (show text) to place the text at the desired
                   location.
        NOTE:  The 7526 requires two escapes to come to the terminal for
               one escape to be placed in the data file.  If only one
               escape character is in the file, it will be discarded.

Version  B2.23  03/07/94
  Bugs fixed:
  -----------
   1  Removed some partial changes that were causing downloading
      problems in B2.22.

Version  B2.22  02/16/94
  Bugs fixed:
  -----------
   1  Fixed a problem of not setting the return code properly for
      TimerClear* functions.
   2  Fixed an incorrect calculation of the length of beeps for good
      and bad indicators.  It would not work properly for anything
      over 1.25 seconds.
   3  Fixed two incorrect calculations in the TimerSet* CFR APIs that
      were causing timers to not work correctly.  The timers are still
      not 100%, but they are getting better.

Version  B2.21  12/21/93
  Bugs fixed:
  -----------
   1  Fixed a problem with getting a watchdog reset when attempting to
      decode a UPC or EAN in reverse direction.

Version  V2.10  10/07/93
  Bugs fixed:
  -----------
     Fixes in all 2.1x beta levels are included in V2.10.  Other than
     the version level, B2.13 is identical to V2.10.
  Enhancements:
  -------------
     Model 150 support, which is a 7526 with 32K of RAM, and a 20-key
     keypad with a two-line display.

Version  B2.13  09/24/93
  Bugs fixed:
  -----------
   1  Fixed problem of not seeing the toggles on the DI points from the
      DidoRead CFR API.
   2  Fixed problem of not using the correct day in the TimerSetAlarm
      and TimerSetAlarmAsynch CFR APIs.
   3  Now kill latch key transactions when setup is entered.  In the
      past, the latch key would take the display from setup.

Version  B2.12  08/31/93
  Bugs fixed:
  -----------
   1  Fixed problem of not giving good beep in diagnostics for successful
      magnetic or bar code scan.
   2  Fixed problem of accepting user variable 0 as a target for :F
      Append to user variable command.
   3  Fixed problem of accepting user variable 0 as a target for ;7
      Append string literal to user variable command.
   4  Fixed problem of the reader not working on a CFR call following a
      DELAY.
      Workaround:  Display a message, and then immediately go into the
                   CFR.  The message content is unimportant, and the
                   CFR can clear it right away.
                   Instead of doing:
                     DELAY
                     CCFR
                     ...
                   Do this...
                     DELAY
                     SHOW
                     CCFR
                     ...
Version  B2.11  08/06/93
  Bugs fixed:
  -----------
   1  Fixed problem of code page 857 characters on the upper half of
      the code page not displaying properly.
   2  The terminal no longer hangs if Enter is pressed rapidly before
      display of the copyright statement.
   3  Model 100 no longer loses the display after doing the memory test
      from the diagnostics.
   4  The printer option no longer shows in the diagnostics menu on the
      original level system boards.

Version  V2.00  06/11/93
  Bugs fixed:
  -----------
     Fixes in all 1.03x beta levels are included in V2.00.
   1  Updated CFR library to allow access to user variables > 255.
   2  Changed the communications handler so that an ACK which comes
      immediately is still recognized.
   3  Fixed problem of user variables being read into too small
      of a buffer.
   4  Fixed race condition on :W that could cause the file 0 pointer
      to go past the end of the transaction.
   5  Added code to prevent reading of user variables before File 0
      has been downloaded.
   6  No longer allow going into setup again via Shift-Keylock if
      already in setup.
   7  No longer leave the good transaction message on the screen after
      heavy transaction input.
   8  Changed the Port A interrupt watcher to run at 50ms instead of
      100ms.
   9  No longer allow writing to user variable 0 via CMD I.
  10  No longer assume Enhanced mode for AliasTransID CFR API.
  11  The terminal now rejects CMD 9D2 if no data is provided.
  12  CMD 9E0 is now rejected if the terminal is not loaded.
  13  Fixed problem of calling a CFR twice in a row locking the
      keyboard.
  14  An error is now returned if a SendTransaction is done before a
      key has been pressed or AliasTransID has been called.
  15  Host command Q now gives an error if a RS is not at the end of
      the user variable number.
  16  Trying to display messages beyond the end of File 8 now give E02.
  17  CMD F now returns the right value after a download.
  18  No longer reset when many transactions are initiated without pause
      in a single transaction program.
  19  No longer give double transactions when setup is entered and exited
      while in the midst of a download.
  20  No longer watchdog reset on the first read after cold start if a
      transaction has not been initiated, and fast-clocking or badge-
      initiated transactions are not defined.
  21  No longer allow loading of files while the terminal is online.
  22  No longer show the "Updating the clock..." message unless all tests
      have passed.
  23  Port B no longer drops off if a lot of transactions are entered
      using both ports simultaneously.
  24  Now allocates memory for user variables on small file 0 download.
  25  Fixed several different problems that were caused by errors in the
      user variable memory allocation.
  26  Fast-clocking is now removed when a new download with it absent is
      used after it was previously active.
  27  Fixed some problems with File 9 that caused the buffer to wrap in
      cases where a lot of transactions were entered quickly.
  28  Now give BUFFER FULL and abort the transaction when the buffer is
      full.
  29  DI counters are no longer cleared on download.
  30  ClearUserVariable was changed to clear the transaction record
      instead of user variable 100.
  31  The BUFFER FULL message no longer leaves before there is enough
      space for the next transaction.
  32  The last port read value is no longer affected by reads that
      occur within a CFR.
  33  Fixed some interaction problems with CMD D and latch key.
  34  Fixed a problem of CMD Q returning too much data when in
      compatibility mode.
  35  Made the timings for asynchronous DO setting to be more accurate.
  36  Now put the result of Read DI in user variable 0.
  37  Offline/Online while within a CFR no longer hangs the keyboard.
  38  Fixed problem of display showing wrong info when SEND followed
      by a SHOW command.

  Enhancements/new features:
  --------------------------
   1  Added :G (Goto), :GS (Goto), :Z (Gosub), :ZS (Gosub), ;R
      (Return), ;N (Conditional execution), and (Label) key commands.
   2  Added GetTerminalAddress CFR API (Miscellaneous API).
   3  Added direction of last read info to SenRead and SenQueryPort APIs.
   4  Changed CMD J9 and CMD 6 to show printer selection and the
      board level.
   5  Added printer support.  Includes CFR APIs, :W support, and
      file 0 record 0.  Also has \x?? support and diagnostics.
   6  Added SKIP/NOSKIP support.
   7  Added remote validation support and CMD V.
   8  Added the Format User Variable command.  :J.
   9  Added optional positioning information for CMD B and CMD C.
  10  Added file number and spinning character to indicate packets
      received.
  11  Now allow the red LED on port A to be used even if the HP
      barcode is present.
  12  The user variables are now all cleared when a new download is
      received.

Version V1.03h  (BETA)  04/03/93
   1  Fixed the problem of not updating the seconds on the time if a
      transaction program was written such that it did not return to the
      idle screen between successive transactions.
      Workaround:  None.

Version V1.03g  (BETA)  03/24/93
   1  Fixed a problem where the magnetic reader on Port A would be
      lost if a read was done before pressing a key, and no definition
      for fast-clocking or badge-initiated transactions exists.
      Workaround:  Press the Clear key (shift-clear on M200) to get the
                   reader working again.

Version V1.03f  (BETA)  03/12/93
   1  Fixed power-down code.  It would, on rare occasions, cause the
      terminal memory to be corrupted, and either cool or cold start.
      Workaround:  None.

Version V1.03e  (BETA)  01/05/93
   1  The first I2of5 read after a warm start, shift-clear, or power off
      then on is always unsuccessful.
      Workaround:  Scan again.  Later reads should work fine.
   2  Fixed out of service bug where power-off/on caused the
      terminal to come on-line.
      This problem still exists in V1.03.  It is not fixed as previously
      reported.

Version V1.03c  (BETA)
   1  Interleaved 2/5: The general purpose READ (:R) command does not
      appear to properly set up the required fixed length of the I2/5
      symbol for the decoding algorithm.
      Workaround:  If you are using the READ command,
      try converting to the FB (fixed badge) command instead.
   2  Interleaved 2/5:  We have found that if
                a) You are using I2/5 WITH CHECK DIGIT,
       and      b) You are using port A
       and      c) A bad check digit is decoded
      then port A will not work again until you cycle power on the 7526.
      Workaround:  Use port B, if not already in use.
      Don't do check digit verification.
   3  Fixed a bug with :5 (set Time Of Day transaction).
      Workaround:  None known.
   4  Fixed bug of hanging when CMD I is sent and the terminal is not
      downloaded.
      Workaround:  Do not try to use the user variables before the
                   terminal is downloaded.
   5  Shift-clear now breaks loops where no task is watching the
      keyboard.
      Workaround:  None known.
   6  Fixed the problem of not giving an E02 when trying to access a
      message number higher than the last one in the file.
      Workaround:  None known.
   7  Disabled the ALT key light while in diagnostics.
      Workaround:  None known.
   8  Fixed a bug of allowing adjustments in a CFR or access to setup
      when either setup or adjustments are selected, and the other is
      turned off.
      Workaround:  Use a password to protect access to setup.  No way
                   to prevent access to the adjustments other than turn
                   off both setup and adjustments from within the CFR.
   9  Fixed bugs in I2of5 decoding that were preventing good read rates
      with the I2of5 barcode symbology.
      Workaround:  None known other than switching to another barcode
                   type.
 Enhancement in 1.03c:
   1  Added a message to show on the display when the power drops enough
      to trigger the power down sequence.  This is a diagnostic message.

Version V1.03b (BETA)
  1   Special characters in numeric keypad input modes (e.g. NK command,
      READ with only numeric keys enabled) cannot be input (e.g. decimal
      point, percent, or any other shifted keys of the numeric area.
      Workaround:  Use the READ command and enable all keys (alphanumeric)
      for input, or use the input CFR in the 7526PANL PACKAGE on CIMTOOLS.
  2   Shows a "Power Fail" message when bulk DC power failure is detected
      (for informational purposes), but 5V power has not yet failed.
      Workaround:  If terminal appears to be 'hung', cycle power on the
      unit and re-try.
  3   The date and time would not re-display after issuing a CMD 2 with
      a DC2 character.
      Workaround:  None known.

Version V1.03   10/23/92
Bugs fixed:
-----------
  1   Fixed bug of enabling the DIs when the clock interrupt was
      handled.
  2   If multiple beeps with a long duration occur in rapid
      succession, the beeper would stick on.
  3   Fixed bug of not giving E02 message for some cases when the
      message was not in File 8.
  4   No longer accept period into compacted file 9.  It was being
      treated as a RS, which was breaking the record count.
  5   Problem now fixed.  See 1.03e beta code.
  6   Fixed bug in sub_pointer that caused 64K boundary problems.
  7   Added code to disable RS-485 transmitter in power-down NMI
      interrupt so that terminal does not interfere with communications
      line when operational battery backup drained to below 8.5V.
      Also turn off the DO ports when in power-failed mode.
  8   Fixed CFR validation bug.  1/256 chance of the wrong
      validation result being returned.
  9   Fixed bug in keyboard device driver of not giving space character
      properly to CFRs.  Also, the shifted keys in a CFR were not
      being mapped into lower case characters.
  10  CMD B and CMD C are now ignored in buffered mode.
  11  Fixed error in calculating when to go into fast-clocking.
  12  Fixed bug in allocating memory for user variables when there
      is memory available that has not been allocated to files.
      Version 1.03 includes fixes as described below for all previous
      releases
Version  V1.02  07/28/92
  Bugs fixed:
  -----------
  1   File 8 now gives an error if it is initialized as a numeric
      file.
  2   Added checking in SenSetDiscrimGroup for I2of5 being even and
      not length of 0.
  3   Fixed problem of wrapping back to the first line of the
      display on Model 200 when writing beyond the end of the
      second line.
  4   Fixed problem of accepting T instead of 2 for CMD E (write
      DO) to toggle the DO point.  T is now illegal.
  5   Added HP barcode defines and fixed bar code type in CFRs.
      (Refers to CFRAPI26.H file on programming support diskette).
  6   Fixed error status not being set for CMD E0 when the port
      is set for DI.
  7   Changed CMD 9B to reject size of 0 for File A and File E.
      Allow File 9 to have a size above 65535.  Changed the file
      size maximum to be 65535 instead of 65500.  Corrected an
      error for CMD 9Bz (broadcast).
  8   Successive SpkBeeps interrupted by a key beep now work.
  9   Files are no longer erased when changing a communication
      parameter.
  10  Fixed several problems in compacted mode for several 9x
      commands.
  11  Fixed compacted mode validation and special cases of
      non-compacted validation.
  12  Password now is erased when the pins are jumpered and a cool or
      warm start occurs.
  13  Fixed problem of password getting set if Clear is pressed
      on the password prompt in setup to abort entering a password,
      then re-enter setup and go past the password prompt with
      ENTER.
  14  Fixed CMD F to return the correct value for memory remaining.
  15  Fixed problem of not being able to validate > 40 bytes
      against files 2-7 via CFR or key command.
  16  Now ignore line 2 on Mod 100 if specified on via File 0
      Record 0.
  17  Time now displays after power off/on if DC2 delimited
      message was on the display.
  18  Fixed characters representing STX and ETX in datascope
      mode.  They were wrong due to changes in the display
      code page.
  19  Closed two windows in CFR exiting that could prevent the
      keyboard or reader from working.
  20  Fixed problem of not re-enabling a laser scanner after power off/on.
  21  Corrected loss of the last character of the transaction
      buffer due to incorrect size calculation.
  22  When the transaction buffer was filled, going into setup
      and then returning via shift-clear was setting the clock
      to all 000s.

  Enhancements/new features:
  --------------------------
  A   Changed default for CMD H from 50ms to 5ms.
  B   Added CMD Q (Query User Variable)
  C   Rewrote the keyboard code to enable adjustments and entering
      setup at all times, except when specifically prohibited.
  D   Added code to cold-start the terminal when a new version
      EPROM is put in the system.
  E   Added code to do more extensive testing of memory on a warm
      or cool start to make sure that memory is not corrupted due
      to power being off.
  F   Added ability to configure the number of user variables via
      bytes 140-142, and the size of them through bytes 143-145.
  G   Note that this can cause an error if the user requests the
      exact amount of memory for file 9, instead of telling it to
      use the rest of memory (size 0).
  H   Added ability to kill a CMD 2 with a DC2 by sending a DC2
      with no data behind it.
  I   Now start the RAM count on a cold start with 000K.
  J   Added ability to set up variable length fast clocking reads.
-----------------------------------------------------------------------
B)  CONFIRMED BUGS:  FIXES NOT YET AVAILABLE
 REPORTING
 SYSTEM
 NUMBER       DESCRIPTION

   1  If setup is entered while in Latch mode, the latch mode will take
      the display.
      Workaround:  None known.
   2  If I2of5 is defined, variable length reads can not be performed
      with the magnetic reader.
      Workaround:  Use fixed length reads.
   3  When using the laser to read bar codes in diagnostics, if the
      terminal has been downloaded, only the bar codes specified in the
      download can be used by the laser.  If the terminal has not been
      downloaded, all bar code types are available.  This is not
      consistent.
      Workaround:  Cold start the terminal if you need to test all types
                   of bar codes.
   4  If file A is downloaded at a size smaller than 161 bytes, no
      error is given.
      Workaround:  None should be needed, since this is an error case
                   that is not flagged.
   5  When performing validations against large files, the terminal
      allows the data that was entered to be cleared and re-entered, or
      to even abort the transaction, but does not affect the state of
      the validation.
      Workaround:  Do not change the data that was entered, or abort the
                   transaction while the validation is in progress.
   6  The beep length for good and bad beeps is not correct for values
      longer than 2.5 seconds.
      Workaround:  Use beeps of less than or equal to 2.5 seconds.
   7  The number of beeps is not always correct for good and bad beeps.
      Workaround:  None known.