Note 1.) The hex file contains images for both the new and old KP-12 controller boards. The old board's image is located in the first 64K of the hexfile and the new board's image is in the second 64k. This allows the same hex file to be used to update both old and new boards through code download. However, if a chip programmer is used for a new board, you must use an address offset of 64k. Note 2.) In addition to the standard KP-12 firmware, the zip file contains several custom versions. The "V" version is a vertical version that allows the keypanel to be mounted vertically. The "S" version is a sigle key version. The user cannot activate more than one talk key at a time. The "P" version has custom page assignment logic. Normally the matrix will not allow the user to change to a page that is in use already (eg for an expansion panel). This version will first tell the matrix to release the selected page before making the new page assignment. The "T" version has special talk key operation. Pressing down on a lever key operates as PTT. Pressing up operates as latching only. There are no listen keys. The "L" version has key assignment operations disabled. The LISTS and KEY ASGN menu items are not available and the CWW cannot be copied to a key. The "C" version supports the Cyrillic character set. 05/01/13 Ver. 1A.0.28 Added checks on the sizes read from the eeprom to help detect if the eeprom has become corrupted. 07/19/10 Ver. 1A.0.27 Added a watchdog tickle when writing to the digital pots. 10/08/10 Ver. 1A.0.26 Removed unneeded display refreshes when listen keys are used. 02/05/10 Ver. 1A.0.25 Implemented support for the SST39SF010A flash to replace the existing AMD part. 11/18/09 Ver. 1A.0.24L Implemented the "L" custom version that disables key assignment operations. The standard and other custom versions were not affected and were not updated. 11/10/09 Ver. 1A.0.24 Modified to allow press and hold to talk on keys which are in the on-pending state. 07/21/08 Ver. 1A.0.23 Change to fix longer dialing sequences. 02/14/08 Ver. 1A.0.22 Fixed a problem with CWW calls from trunked addresses. 01/23/07 Ver. 1A.0.21 Implements the modified TIF behavior to more closely match the KP-32 implementation. 08/29/06 Ver. 1A.0.20 Implemented the headset state message to allow switching between the headset and speaker outputs from the matrix. Implmented the LED state message to allow controlling the state of talk and listen LED's from the matrix. Any state requested by the matrix that the keypanel does not support (due to hardware or KLAD module limits) will display a solid green on state. These currently include: Talk red wink. Talk green wink. Listen red on. Listen red flash slow. Listen red flash fast. Listen yellow on. Listen green wink. Listen red wink. Implemented the keypanel type message to allow AZEdit to identify the panel as a KP-12 with any expanion panels attached. Implemented the "V" custom version that assumes the keypanel is mounted vertically. The characters are rotated 90 degrees and are read from the top down. 06/09/06 Ver. 1A.0.19 Implemented new tone control for new version of the board. Fixed bug introduced earlier to correctly display listen keys in lower case. 03/23/06 Ver. 1A.0.18 Removed periodic updates to the display. May have caused key responses to get slow after the panel had ran for a period of time. 03/14/06 Ver. 1A.0.17 Do not clear key latched status when communications with the matrix is lost. Skip first power up opportunity to be more stable with Cronus. 02/01/06 Ver. 1A.0.16 Periodically refreshes the display to avoid garbled characters. 12/19/05 Ver. 1A.0.14 Removed ability to select a key with no assignment as an exclusive key, set active talk keys as on pending when the footswitch is deactivated, fixed group key behavior that was broken in the previous version. 11/22/05 Ver. 1A.0.13 Implemented the exclusive key operation. 08/31/05 Ver. 1A.0.12 Modified volume adjustment logic to use the newer volume commands. 07/31/05 Ver. 1A.0.11 Fixed incorrect on-pending indication on page change and keypanel test. 06/18/05 Ver. 1A.0.10 Changed the in-use call indication to also flash the display. 05/03/05 Ver. 1A.0.9 Changed the incoming call indication from red to green. Modified to flash display when incoming call occurs with talk key active. 12/23/04 Ver. 1A.0.8 Fixed scroll list initialization problem introduced in previous version. Could cause and endless loop (and hence a watchdog reset) when some scroll lists were deleted. 12/1/04 Ver. 1A.0.7 Implemented footswitch operation. Modified the scroll list sorting algorithm to make it more efficient on large frames. 4/1/04 Ver. 1A.0.6 Added a periodic refresh of the audio chips to bring them out of an overdrive condition. 9/22/03 Ver. 1A.0.5 Fixed a bug which was causing higher db values to not show up when changing a listen keys level. 7/28/03 Ver. 1A.0.4 Updated Changed the default sidetone level to 10 vice 8. 7/28/03 Ver. 1A.0.4 This version implements modifications to the sidetone operation. Menu items were added to set the sidetone mode to either SWITCHED or ALWAYS ON (default) mode. The default sidetone level was changed to -20db (from muted). Some code optimizations where done to make room for the sidetone modifications. 4/21/03 Ver. 1A.0.3 Fixed key gain adjustment from the main panel. 2/13/03 Ver. 1A.0.2 Fixed port number rollover problem. In some situations a 8 bit varialbe was being used to represent a port number. On bus expanded frames this would cause a problem for ports greater than 256.