7526 DCT Reference


Reference&mdash.General Support

reference&mdash.general support

AliasTransID

This function sets the transaction ID for the current transaction record. This may be used to give a transaction an alternative ID (or alias) to allow the host application to accept it as input to an application which normally gets transactions from another transaction ID.

C Format

     #include   "cfrapi26.h"             // Defined values
 
     USHORT     AliasTransID(newid)
 
     UCHAR      newid                    // New transaction ID (00-FF)
 
     Returns:   E_OK                     // If no error occurred
                E_PARAM                  // Invalid parameter used
                E_BUSY                   // If a transaction in progress

Masm Format

     Input:     ah = 8
                al = newid
 
     Call:      INT 45h
 
     Returns:   ax = 0      If no error occurred
                     1      Invalid parameter used
                     11     If a transaction is in progress
Comments:

Example

int far main (int funct,char far *params)

ClearUserVariable

This function clears the specified user variable or the transaction buffer.

C Format

     #include   "cfrapi26.h"          // Defined values
 
     USHORT     ClearUserVariable (user_variable)
 
     UCHAR      user_variable         // User variable number (0-255)
                                      // Transaction buffer (100)
 
     Returns:   E_OK                  // If no error occurred
                E_PARAM               // If parameter is incorrect
                E_BUSY                // If transaction buffer is busy

Masm Format

     Input:     ah = 10
                al = user_variable
 
     Call:      INT 45h
 
     Returns:   ax = 0      If no error occurred
                     1      If parameter is incorrect
                     11     If transaction buffer is busy

Example

int far main (int funct,char far *params)

ClearUserVariable2

This function clears the specified user variable or the transaction buffer. Up to 999 user variables can be accessed. This function requires V2.00 or higher.

C Format

     #include   "cfrapi26.h"          // Defined values
 
     USHORT     ClearUserVariable2 (user_variable)
 
     USHORT     user_variable         // User variable number (0-998)
                                         // Transaction buffer (100)
 
     Returns:   E_OK                  // If no error occurred
                E_PARAM               // If parameter is incorrect
                E_BUSY                // If transaction buffer is busy

Masm Format

     Input:     ah = 14
                dx = user_variable
 
     Call:      INT 45h
 
     Returns:   ax = 0      If no error occurred
                     1      If parameter is incorrect
                     11     If transaction buffer is busy

Example

int far main (int funct,char far *params)

DataFile

This function returns a pointer to a validation file and the validation file size.

The name of the file may be "2", or "3", or so on, to indicate the file number where the verification data is loaded, or it may be a regular DOS or OS/2* case-sensitive file name. In such case, File e, extended validation support, must be loaded. If File e is downloaded, the name must be in File e to be valid for the DataFile API.

With this API, the CFR can treat the validation file as any type of file. For example, the "validation file" may not have any validation records in it; instead it may have tabular data used for price look-ups or list items in a bill of materials; or it may have plain text delimited with carriage return characters (which the CFR displays and scrolls around).

Record separator (RS-hex 1E) characters delimit records defined by the program which loaded the validation file.

This API does not allow access to the files on the Terminal Controller, it only allows access to the data files on the 7526.

Note:

With the DCC/2 program product running as the terminal controller, a file E must be generated to get the file downloaded to the terminal. To do this, you must:
.

C Format

     #include   "cfrapi26.h"          // For defined values
 
     USHORT     DataFile(name, pointer, file_size)
 
     UCHAR      *name                 // Pointer to name of validation file
     UCHAR      **pointer             // Pointer to pointer, validation file
     ULONG      *file_size            // Pointer to file size
 
     Returns:   E_OK                  // If no error occurred
                E_PARAM               // If parameter values are invalid

Masm Format

      Input:    ah = 1
                dx:cx = name
 
      Call:     INT 45h
 
      Returns:  ax = 0      If no error occurred
                ax = 1      If parameter values are invalid
                dx = High order word of size
                cx = Low order word of size
                es:bx = Pointer returned

Example

int far main (int funct,char far *params)

GetTerminalAddress

This function returns the address of the terminal that the CFR is running in. This function requires V2.00 or higher.

The valid addresses are a&mdash.y and 0&mdash.6.

C Format

     #include   "cfrapi26.h"        // For defined values
 
     USHORT     GetTerminalAddress(myaddress)
 
     UCHAR      *myaddress          // Pointer to the terminal address
 
     Returns:   E_OK                // If no error occurred (only value returned)

Masm Format

      Input:    ah = 11
 
      Call:     INT 45h
 
      Returns:  ax = 0           If no error occurred (only value returned)
                bl = myaddress   The terminal address

Example

int far main (int funct,char far *params)

HitWatchdog

This function pulses the watchdog timer to prevent a terminal reset from occurring and must be called at least once per second.

C Format

     #include   "cfrapi26.h"          // For defined values
 
     USHORT     HitWatchdog()
 
     Returns:   E_OK                  // If no error occurred
                                      //  (only value returned)

Masm Format

      Input:    ah = 0
 
      Call:     INT 45h
 
      Returns:  ax = 0      If no error occurred (only value returned)

Example

int far main (int funct,char far *params)

IdleManager

The IdleManger pulses the watchdog timer and allows other 7526 terminal microcode tasks to run. If a waittime parameter of 0 is used all waiting tasks will run, then the IdleManger will return to the CFR. If a non-zero value is used, IdleManger will not return until the specified time has elapsed. Pending terminal controller communications are processed during the IdleManager call. Alternatively, the HitWatchdog function can be called to refresh the watchdog timer without allowing other tasks to run.

IdleManger must be called frequently to allow the 7526 communications, keypad handling and bar code/magnetics handling tasks to perform their functions. In most cases no more than 5 milliseconds should elapse between IdleManger calls. The waittime parameter provides a convenient and preferable method of programming a delay. This allows other tasks to run while yielding a very precise delay period.

C Format

     #include   "cfrapi26.h"          // For defined values
 
     USHORT     IdleManager(waittime)
 
     USHORT     waittime              // Wait time in 5ms increments
                                      // Maximum = 65535
 
     Returns:   E_OK                  // If no error occurred
                                      //  (only value returned)

Masm Format

      Input:    ah = 9
                cx = waittime       Time to wait in 5ms increments
 
      Call:     INT 45h
 
      Returns:  ax = 0      If no error occurred

Example

int far main (int funct,char far *params)

PntrFile0

This function returns a pointer to file 0.

File 0 contains various configuration parameters and all of the transaction program operation codes. Refer to "File 0&mdash.Terminal Operating Parameters" for details on the file 0 format.

This function provides a method for a CFR to look up setup parameters in the 7526 DCT file 0. It returns a pointer to the start of the contiguous file, and the writer must use this pointer along with an appropriate offset to access the parameters.

File 0 is stored in the7526 DCT as a non-compacted alphanumeric file regardless of how the file was initialized. This must be considered when calculating File 0 offsets.

C Format

     #include   "cfrapi26.h"          // For defined values
 
     USHORT     PntrFile0(file0)
 
     UCHAR      **file0               // Pointer to pointer, file 0
 
     Returns:   E_OK                  // If no error occurred
                                      //  (only value returned)

Masm Format

      Input:    ah = 2
 
      Call:     INT 45h
 
      Returns:  ax = 0      If no error occurred (only value returned)
                es:bx = Pointer to file 0

Example

int far main (int funct,char far *params)

ReadUserVariable

This function returns the contents of a specified user variable into a buffer supplied by the caller.

C Format

     #include   "cfrapi26.h"           // For defined values
 
     USHORT     ReadUserVariable(user_variable, data)
 
     UCHAR      user_variable         // User variable number
     UCHAR      *data                 // Pointer to data being stored
 
     Returns:   E_OK                  // If no error occurred
                E_PARAM               // If parameter values are invalid

Masm Format

      Input:    ah = 3
                al = user_variable
                es:bx = pointer to data
 
      Call:     INT 45h
 
      Returns:  ax = 0      If no error occurred
                     1      If parameter values are invalid
 
Comments:

Example

int far main (int funct,char far *params)

ReadUserVariable2

This function returns the contents of a specified user variable into a buffer supplied by the caller. Up to 999 user variables can be accessed. This function requires V2.00 or higher.

C Format

     #include   "cfrapi26.h"             // For defined values
 
     USHORT     ReadUserVariable2(user_variable, data)
 
     USHORT     user_variable            // User variable number
     UCHAR      *data                    // Pointer to data being stored
 
     Returns:   E_OK                     // If no error occurred
                E_PARAM                  // If parameter values are invalid

Masm Format

      Input:    ah = 12
                dx = user_variable
                es:bx = pointer to data
 
      Call:     INT 45h
 
      Returns:  ax = 0      If no error occurred
                     1      If parameter values are invalid
 
Comments:

Example

int far main (int funct,char far *params)

SendTransaction

This function sends a transaction from a CFR. The transaction consists of the data in the transaction buffer, prefixed by the transaction ID and followed by the date/time stamp and sequence number.

C Format

     #include   "cfrapi26.h"           // For defined values
 
     USHORT     SendTransaction()
 
     Returns:   E_OK                  // If no error occurred
                E_SPACE               // If transaction buffer full
                E_BUSY                // If transaction in progress
                E_PARAM               // Control characters found in
                                      // transaction buffer or key ID not set

Masm Format

      Input:    ah = 4
 
      Call:     INT 45h
 
      Returns:  ax =  0     If no error occurred
                      1     If control characters in transaction buffer
                               or key ID not set
                      6     If transaction buffer full
                     11     If transaction in progress
Comments:

Example

int far main (int funct,char far *params)

Validation

This function performs presence validation of a data string against a verification file loaded in the 7526 or at the Terminal Controller through remote validation.

The name of the file may be in the range of "2", through "7", to indicate the file number where the verification data is loaded, or it may be a regular DOS or OS/2 case sensitive file name. In such case, File e, Extended Validation Support, must be loaded. If File e is downloaded, the name must be in File e to be valid for the Validation API. Unless the names used i "2" through "7".

This function provides a convenient way to perform validation against local validation files. It must be provided with the file name (a null-terminated string), and a pointer to the data string to be validated.

C Format

     #include   "cfrapi26.h"          // For defined values
 
     USHORT     Validation(name, data)
 
     UCHAR      *name                    // Pointer to file name
     UCHAR      *data                    // Pointer to data to validate
 
     Returns:   E_OK                     // If no error occurred (data found)
                E_PARAM                  // If the file name is not valid
                E_DATA_NOT_FOUND         // If data not found
                E_HOST_DOWN              // Host is not available

Masm Format

      Input:    ah = 5
                dx:cx = name
                es:bx = pointer to data
 
      Call:     INT 45h
 
      Returns:  ax = 0      If no error occurred (data found)
                     1      If the file name is not valid
                     10     If data not found in validation file
                     12     Host is not available

Notes:

  1. The Validation function performs the complete search of the validation file with no provision for allowing other tasks on the 7526 to execute. If large files which are not identified as being "sorted" are used, this may lead to several second delays at the terminal. During this validation process, for example, the 7526 cannot respond to polls or commands coming in over the host communications port. If the validation takes too long, the host system may assume that the 7526 has been disconnected (this is dependent on the time-out settings of the host program).

    If the files are sorted in ascending order, then the 7526 can use its binary search routine. This routine is fast, so the delay is negligible.

    With large validation files, you may need to use the DataFile function to get a pointer to the file's location in memory, and then create a search routine that periodically calls IdleManager to allow other tasks to run. Refer to the "CFR26LIB" sample library code on the support diskette for examples of various search routines for validation files.

  2. To help understand how validation is performed, use the following algorithm. l.

    Example

    int far main (int funct,char far *params)
    
    • {
      • UCHAR *name; // File name
      • UCHAR *data; // Pointer to data to validate
      • ·
      • // Search file 4 for presence of "John Smith"
      • name = "File4";
      • data = "John Smith";
      • if (Validation (name, data) == E_OK)
        • // Data found
        • ·
      • else
        • // Handle error or data not found
        • ·
    • }

    WriteToTrans

    This function appends data to the current transaction.

    This function allows a CFR to append a data string to the current transaction buffer. The buffer is sent to the terminal controller when the transaction program ends normally (if automatic transaction build is set on) or if explicitly sent by the CFR or transaction program.

    C Format

         #include   "cfrapi26.h"          // For defined values
     
         USHORT     WriteToTrans(data)
     
         UCHAR     *data                  // Data to append
     
         Returns:   E_OK                  // If no error occurred
                    E_SPACE               // If max transaction size
                                                         exceeded
                    E_BUSY                // If transaction in progress
    

    Masm Format

          Input:    ah = 6
                    es:bx = Pointer to data
     
          Call:     INT 45h
     
          Returns:  ax = 0      If no error occurred
                         6      If max transaction size exceeded
                         11     If transaction is in progress
    

    Example

    int far main (int funct,char far *params)
    
    • {
      • UCHAR *data; // Data to append
      • ·
      • // Append data to current transaction
      • if (WriteToTrans (data) == E_OK)
        • // Data appended
        • ·
      • else
        • // Handle error
        • ·
    • }

    WriteUserVariable

    This function appends data to a user variable; this data must be null-terminated.

    If the current length of the user variable plus the length of the string to append exceeds the size specified in bytes 143-145, the function is not performed, and an error code is returned.

    C Format

         #include   "cfrapi26.h"         // For defined values
     
         USHORT     WriteUserVariable(user_variable, data)
     
         UCHAR      user_variable        // User variable number
         UCHAR      *data                // Data to be appended
     
         Returns:   E_OK                 // If no error occurred
                    E_PARAM              // If parameter values invalid
                    E_SPACE              // If max user variable size
                                         //           exceeded
    

    Masm Format

          Input:    ah = 7
                    al = User_variable
                    es:bx = pointer to data
     
          Call:     INT 45h
     
          Returns:  ax = 0      If no error occurred
                         1      If parameter values invalid
                         6      If max user variable size exceeded
    
    Comments:

    • This function can only access up to 255 user variables. If more need to be accessed, see the WriteUserVariable2 function.

    Example

    int far main (int funct,char far *params)
    
    • {
      • UCHAR user_variable; // User variable number
      • UCHAR *data; // Data to be appended
      • ·
      • // Append data to user variable 1
      • user_variable = 1;
      • data = "Hello World";
      • if (WriteUserVariable (user_variable, data) == E_OK)
        • // Data appended
        • ·
      • else
        • // Handle error
        • ·
    • }

    WriteUserVariable2

    This function appends data to a user variable; this data must be null-terminated. Up to 999 user variables can be accessed, as specified in File 0 Record 00, byte 140-142. This function requires V2.00 or higher.

    If the current length of the user variable plus the length of the string to append exceeds the size specified in bytes 143-145, the function is not performed, and an error code is returned.

    C Format

         #include   "cfrapi26.h"            // For defined values
     
         USHORT     WriteUserVariable2 (user_variable, data)
     
         USHORT     user_variable           // User variable number (0-998)
         UCHAR      *data                   // Data to be appended
     
         Returns:   E_OK                    // If no error occurred
                    E_PARAM                 // If parameter values invalid
                    E_SPACE                 // If max user variable size
                                            //        exceeded
    

    Masm Format

          Input:    ah = 13
                    dx = User_variable
                    es:bx = pointer to data
     
          Call:     INT 45h
     
          Returns:  ax = 0      If no error occurred
                         1      If parameter values invalid
                         6      If max user variable size exceeded
    

    Example

    int far main (int funct,char far *params)
    
    • {
      • USHORT user_variable; // User variable number
      • UCHAR *data; // Data to be appended
      • ·
      • // Append data to user variable 1
      • user_variable = 1;
      • data = "Hello World";
      • if (WriteUserVariable2 (user_variable, data) == E_OK)
        • // Data appended
        • ·
      • else
        • // Handle error
        • ·
    • }

    Appendix A. Terminal Detected Errors

    The DCT displays error messages when error conditions are detected. These error messages are displayed for the time defined by the timer B download parameter in File 0, record 00 and are not stored or sent to the terminal controller. The error messages that may be displayed are:

    E01
    There was an invalid attempt to use a file that has not been initialized, such as attempting to load an uninitalized file.
    E02
    There was an invalid attempt to use a prompt record which does not exist in the specified file.
    E03
    A function key parameter table format error was detected or the terminal
    configuration is incorrect for the action being performed.
    E04
    Invalid prompt format:

    • Optional cursor positioning value greater than the display size, or

    • More than one DC2 in the prompt string, or

    • Optional cursor positioning value set up as a non-numeric value.
    E05
    Transaction created contains more than the number of characters specified in File 0, Record 0, Offset 42-45, or 128 characters if offset 42-45 was not downloaded.
    E06
    A CFR is not loaded or failed during execution as determined by the startup code. A CFR may fail in the startup code for one of the following reasons:

    • Stack overflow

      • Increase stack size when linking CFR

    • Floating point not loaded

      • Ensure proper floating point library was linked

    • Stack too big

      • The specified stack could not fit in a 64Kb segment

    Note: An E06 error is generated if the CFR returns other than Continue (0), Skip (1), or Abort (2). :enote.

    E07
    The transaction contains control characters. The 7526 DCT does not allow a transaction to contain characters with a value less than 20h.
    E08
    Incorrect pairing of Gosub (:GS) or Onkey-Gosub (:ZS) with Return (;R). The number of Gosubs and Returns must match, and there can not be more than 25 Gosub calls nested at any one time.
    E09
    An unresolved label was encountered during transaction program execution.

    Appendix B. Command and Special Key Relationships

    This appendix contains information pertaining to the relationships between various commands and special keys.

    Table 14. shows key commands, whether input data is displayed on the DCT, and the meanings of certain special keys when the indicated key command is in effect.

    Note:

    The key commands listed in this table are described in "File 0&mdash.Records 01-64 (Transaction Program Commands)".

    The columns of Table 14. have the following meanings:

    Table 14. Command and Special Key Relationships

    
    +==============+==========+====+===============+====+========+===============+
    | Key Command  | Input Data    | Fill Key      | Autofill    | Enter Key     |
    |              | Displayed     |               |             |               |
    +==============+==========+====+===============+====+========+===============+
    | :1           | No            | No            | No          | Not used      |
    +--------------+----------+----+---------------+----+--------+---------------+
    | :2           | Yes           | Leading       | Leading     | Required      |
    |              |               | zeroes        | zeroes      |               |
    +--------------+----------+----+---------------+----+--------+---------------+
    | :3           | Yes           | Trailing      | Trailing    | Required      |
    |              |               | blanks        | blanks      |               |
    +--------------+----------+----+---------------+----+--------+---------------+
    | :4           |               |               |             |               |
    |              | Keypad&mdash. | Keypad&mdash. | Keypad&mdas | Keypad&mdash. |
    |              | yes           | trailing      | h.no        | required      |
    |              | Sensor&mdash. | blanks        | Sensor&mdas | Sensor&mdash. |
    |              | yes           | Sensor&mdash. | h.no        | required      |
    |              |               | no            |             |               |
    +--------------+----------+----+---------------+----+--------+---------------+
    | ;1           | Optional;     | No            | Trailing    | Optional;     |
    |              | depends on    |               | blanks      | depends on    |
    |              | command       |               |             | command       |
    |              | format (see d |               |             | format (see d |
    |              | parameter in  |               |             | parameter in  |
    |              | key command   |               |             | key command   |
    |              | ";1&mdash     |               |             | ";1&mdash     |
    |              | .Read         |               |             | .Read         |
    |              | Variable      |               |             | Variable      |
    |              | Length        |               |             | Length        |
    |              | Badge."       |               |             | Badge."       |
    +--------------+----------+----+---------------+----+--------+---------------+
    | :R           |               |               |             |               |
    |              | Echo = on     | Variable&mdas | Variable&md | KA&mdash.requ |
    |              |               | h.no          | ash.no      | ired          |
    |              | KA&mdash.yes  |               |             | KN&mdash.requ |
    |              | KN&mdash.yes  | KA&mdash.trai | KA&mdash.no | ired          |
    |              | Sensor&mdash. | ling blanks   | KN&mdash.le | Sensor&mdash. |
    |              | yes           | KN&mdash.no   | ading zeros | not used      |
    |              |               | Sensor&mdash. | Sensor&mdas |               |
    |              | Echo = off    | no            | h.no        |               |
    |              |               |               |             |               |
    |              | KA&mdash.no   |               | Fixed       |               |
    |              | KN&mdash.no   |               |             |               |
    |              | Sensor&mdash. |               | KA&mdash.tr |               |
    |              | no            |               | ailing      |               |
    |              |               |               | blanks      |               |
    |              |               |               | KN&mdash.le |               |
    |              |               |               | ading       |               |
    |              |               |               | zeroes      |               |
    |              |               |               | Sensor&mdas |               |
    |              |               |               | h.no        |               |
    +--------------+---------------+---------------+-------------+---------------+
    | KA = Alphabetic keypad; KN = Numeric keypad.                               |
    +----------------------------------------------------------------------------+
    


    Appendix C. Terminal States and Terminal Controller Command Processing

    This appendix describes how terminal states impact the processing of various terminal controller commands.

    There are three terminal states:

    The terminal's state affects how the terminal responds to commands issued by the terminal controller. Table 15. describes the terminal's response for each of the three states. See Chapter 6. "Communications Control Commands" for descriptions of the commands listed in this table.

    Notes:

    1. Idle means the terminal is operating but not processing a transaction; the terminal may be receiving commands and sending replies, but is waiting for the operator to initiate a transaction.

    2. In Service means the terminal's operating state in which the terminal accepts commands from the operator or the terminal controller.

    3. Out of Service means the terminal's operating state in which operator interaction is not accepted, but the terminal can communicate with the terminal controller.

    4. Transaction in progress means data is being collected or transmitted between the terminal and the terminal controller.

    Table 15. Terminal Controller Command/Terminal State Cross-Reference

    
    +==============+=======+=======+============+==+=============+===+==========================+
    | Terminal Controller  | In Service         | Out of Service     | Transaction in           |
    | Command              |                    |                    | Progress/In Service      |
    +==============+=======+=======+============+==+=============+===+==========================+
    | 00 = Reset terminal  | Reset terminal and | Reset terminal but | Transaction aborted;     |
    | (warm reset)         | make the terminal  | stay Out of        | reset the terminal and   |
    |                      | operational        | Service            | make terminal            |
    |                      |                    |                    | operational (download    |
    |                      |                    |                    | not required)            |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | 01 = Reset terminal  | Reset terminal and | Reset terminal and | Transaction aborted;     |
    | (cool reset)         | make terminal      | make terminal      | reset terminal and make  |
    |                      | operational after  | operational after  | terminal operational     |
    |                      | download (terminal | download (terminal | after download (terminal |
    |                      | files required)    | files required)    | files required)          |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | 1 = Transmit         | Transmit status to | Transmit status to | Transmit status to       |
    | terminal status to   | terminal           | terminal           | terminal controller      |
    | terminal controller  | controller         | controller         |                          |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | 2 = Write to         | ACK; write to      | ACK; unable to     | ACK; unable to execute,  |
    | terminal display     | terminal display   | execute, check     | check status with CMD 1  |
    |                      |                    | status with CMD 1  |                          |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | 3 = Transmit ROM     | Transmit ROM       | Transmit ROM       | Transmit ROM microcode   |
    | microcode version    | microcode version  | microcode version  | version and revision     |
    | and revision to      | and revision       | and revision       |                          |
    | terminal controller  |                    |                    |                          |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | 4 = Set terminal     | ACK; unable to     | ACK; set terminal  | ACK; unable to           |
    | time and date (from  | execute&mdash.chec | date and time      | execute&mdash.check      |
    | terminal controller) | k status with CMD  |                    | status with CMD 1        |
    |                      | 1                  |                    |                          |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | 5 = Activate         | ACK; activate      | ACK; activate      | ACK; unable to           |
    | terminal audible     | audible tone       | audible tone       | execute&mdash.check      |
    | tone                 |                    |                    | status with CMD 1        |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | 6 = Transmit         | Transmit terminal  | Transmit terminal  | Transmit terminal        |
    | terminal features to | features to        | features to        | features to terminal     |
    | terminal controller  | terminal           | terminal           | controller               |
    |                      | controller         | controller         |                          |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | 7 = Transmit         | Transmit terminal  | Transmit terminal  | Transmit terminal TOD to |
    | terminal TOD to      | TOD to terminal    | TOD to terminal    | terminal controller      |
    | terminal controller  | controller         | controller         |                          |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | 8 = Specify current  | ACK; unable to     | ACK; specify       | ACK; unable to           |
    | polled buffer or     | execute&mdash.chec | current polled     | execute&mdash.check      |
    | file                 | k status with CMD  | buffer or file     | status with CMD 1        |
    |                      | 1                  |                    |                          |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | 9A = Send file       | Send file status   | Send file status   | Send file status to      |
    | status to terminal   | to terminal        | to terminal        | terminal controller      |
    | controller           | controller         | controller         |                          |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | 9B = Initialize      | ACK; unable to     | ACK; Initialize    | ACK; unable to           |
    | specified text file  | execute&mdash.chec | specified text     | execute&mdash.check      |
    |                      | k status with CMD  | file               | status with CMD 1        |
    |                      | 1                  |                    |                          |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | 9C = Load text file  | ACK; unable to     | ACK; Load text     | ACK; unable to           |
    |                      | execute&mdash.chec | file               | execute&mdash.check      |
    |                      | k status with CMD  |                    | status with CMD 1        |
    |                      | 1                  |                    |                          |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | 9D = Delete Text     | ACK; delete text   | ACK; Delete the    | ACK; delete text records |
    | Records              | records            | text records       |                          |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | 9E = Erase           | ACK; erase         | ACK; Erase         | ACK; erase validation    |
    | Validation Files     | validation files   | Validation Files   | files                    |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | 9F = Transmit file   | Send requested     | Send requested     | Send requested data to   |
    | contents             | data to terminal   | data to terminal   | terminal controller.     |
    |                      | controller         | controller         |                          |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | A = Set terminal In  | ACK; ignore        | ACK; set in        | ACK; ignore              |
    | service              |                    | service            |                          |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | A = Set terminal out | ACK; set out of    | ACK; ignore        | ACK; transaction aborted |
    | of service           | service            |                    | and terminal set out of  |
    |                      |                    |                    | service                  |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | B = Positive         | ACK; command       | ACK; unable to     | ACK; unable to           |
    | response from        | executed           | execute&mdash.chec | execute&mdash.check      |
    | terminal controller  |                    | k status with CMD  | status with CMD 1 if no  |
    |                      |                    | 1                  | response is expected.    |
    |                      |                    |                    | Otherwise, ACK; notify   |
    |                      |                    |                    | transaction of positive  |
    |                      |                    |                    | response.                |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | C = Negative         | ACK; command       | ACK; unable to     | ACK; unable to           |
    | response from        | executed           | execute&mdash.chec | execute&mdash.check      |
    | terminal controller  |                    | k status with CMD  | status with CMD 1 if no  |
    |                      |                    | 1                  | response is expected.    |
    |                      |                    |                    | Otherwise, ACK; notify   |
    |                      |                    |                    | transaction of negative  |
    |                      |                    |                    | response.                |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | D = Initiate data    | ACK; execute       | ACK; unable to     | ACK; unable to           |
    | collection from      | transaction        | execute&mdash.chec | execute&mdash.check      |
    | terminal controller  | program            | k status with CMD  | status with CMD 1        |
    |                      |                    | 1                  |                          |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | E = Write DO point   | ACK; write DO      | ACK; write DO      | ACK; write DO point      |
    |                      | point              | point              |                          |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | F = Storage query    | Send storage       | Send storage       | Send storage information |
    |                      | information to     | information to     | to terminal controller   |
    |                      | terminal           | terminal           |                          |
    |                      | controller         | controller         |                          |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | G = Execute          | ACK; execute       | ACK; unable to     | ACK; unable to           |
    | transaction program  | transaction        | execute&mdash.chec | execute&mdash.check      |
    | in simulated mode    | program            | k status with CMD  | status with CMD 1        |
    |                      |                    | 1                  |                          |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | H = Vary             | ACK; set           | ACK; set           | ACK; set turn-around     |
    | communications turn  | turn-around time   | turn-around time   | time                     |
    | around time          |                    |                    |                          |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | J9 = Configuration   | Transmit hardware  | Transmit hardware  | Transmit hardware and    |
    | Query                | and firmware       | and firmware       | firmware status to the   |
    |                      | status to the      | status to the      | terminal controller      |
    |                      | terminal           | terminal           |                          |
    |                      | controller         | controller         |                          |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | I = Set user         | ACK; set variable  | ACK; set variable  | ACK; set variable        |
    | variable             |                    |                    |                          |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | MA = CFR status      | Send status        | Send status        | Send status              |
    | request              |                    |                    |                          |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | MB = Allocate CFR    | ACK; unable to     | ACK; allocate      | ACK; unable to           |
    | space                | execute&mdash.chec | space              | execute&mdash.check      |
    |                      | k status with CMD  |                    | status with CMD 1        |
    |                      | 1                  |                    |                          |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | MC = Send next CFR   | ACK; unable to     | ACK; store block   | ACK; unable to           |
    | block to terminal    | execute&mdash.chec |                    | execute&mdash.check      |
    |                      | k status with CMD  |                    | status with CMD 1        |
    |                      | 1                  |                    |                          |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | MD = Start CFR       | ACK; unable to     | ACK; start CFR     | ACK; unable to           |
    |                      | execute&mdash.chec |                    | execute&mdash.check      |
    |                      | k status with CMD  |                    | status with CMD 1        |
    |                      | 1                  |                    |                          |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | P = Set Mode         | ACK; set mode      | ACK; set mode      | ACK; set mode            |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | Q = Read user        | ACK; read variable | ACK; read variable | ACK; read variable       |
    | variable             |                    |                    |                          |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | R = Read terminal    | Transmit data to   | Transmit data to   | Transmit data to the     |
    | memory               | the terminal       | the terminal       | terminal controller      |
    |                      | controller         | controller         |                          |
    +--------------+-------+-------+------------+--+-------------+---+--------------------------+
    | V = Positive or      | ACK; unable to     | ACK; unable to     | ACK; if no response      |
    | Negative Response to | execute&mdash.chec | execute&mdash.chec | expected, unable to      |
    | Remote Validation    | k status with CMD  | k status with CMD  | execute&mdash.check      |
    |                      | 1                  | 1                  | status with CMD 1.       |
    |                      |                    |                    | Otherwise ACK and notify |
    |                      |                    |                    | transaction of the       |
    |                      |                    |                    | response.                |
    +----------------------+--------------------+--------------------+--------------------------+
    


    Appendix D. File 0 Record 00 Defaults

    The following table lists default values of File 0, Record 00. Bytes 0-22 must be downloaded, so the defaults shown are for example only. Bytes 24-203 will have the values shown as the defaults unless changed by user download&mdash.this is required for enhanced mode operation.

    Note:

    Additional values for the parameters in File 00, record 00, are given in Table 5. .

    Table 16. File 0 Record 00 Defaults

    
    +=========+====+====+==========+=============+=+=============+===============+
    | Offset  | Length  |     Parameter Function |    Default Value(s)           |
    |  from   |   in    |                        |                               |
    |  Start  |  Bytes  |                        |                               |
    +=========+====+====+==========+=============+=+=============+===============+
    |    0    |    1    | Numeric keypad format  | 1 = Telephone                 |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |    1    |    1    | Badge reader type      | 4 = Magnetic and 3 of 9       |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |    2    |    1    | Transaction buffering  | 0 = Buffered Mode             |
    |         |         | desired or not         |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |    3    |    1    | Format of time display | 0 = 12 hour (HH&mdash.MM)     |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |    4    |    1    | Idle display format    | 1 = Time and date             |
    |         |         | (prompt message from   |                               |
    |         |         | File 8 left-justified) |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |    5    |    1    | Hourly time            | 0 = No                        |
    |         |         | transaction            |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |    6    |    1    | time stamp for         | 3 = YYMMDDHHMMSS              |
    |         |         | transaction records    |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |    7    |    1    | Error logging mode for | 0 = None                      |
    |         |         | application errors     |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |    8    |    1    | Number of beeps, good  | X = 1                         |
    |         |         | transaction            |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |    9    |    1    | Duration of beep for a | X = 4                         |
    |         |         | good transaction       |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |   10    |    1    | Number of beeps, bad   | X = 2                         |
    |         |         | transaction            |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |   11    |    1    | Duration of beep for a | X = 4                         |
    |         |         | bad transaction        |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |   12    |    1    | File number for        | 0 = No validation wanted      |
    |         |         | validation of fast     |                               |
    |         |         | clocking badges        |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |   13    |    1    | Type, fast clock file  | 0 = Data not in file          |
    |         |         | validation             |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |  14/15  |    2    | Fast clock badge       | XX = 07                       |
    |         |         | length                 |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |  16/17  |    2    | Timer A duration       | XX = 50 (25 seconds)          |
    |         |         | (terminal controller   |                               |
    |         |         | communications         |                               |
    |         |         | timeout)               |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |   18    |    1    | Timer B duration (time | X = 2 (1 second)              |
    |         |         | certain status and     |                               |
    |         |         | error messages remain  |                               |
    |         |         | on the display)        |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |  19/20  |    2    | Timer C duration       | XX = 20 (10 seconds)          |
    |         |         | (maximum time between  |                               |
    |         |         | operator actions when  |                               |
    |         |         | in a transaction       |                               |
    |         |         | sequence)              |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |   21    |    1    | Add sequence numbers   | 1 = Yes                       |
    |         |         | 00-99 to transaction   |                               |
    |         |         | record                 |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |   22    |    1    | Accept reprogramming   | 0 = Disable support (not used |
    |         |         | badge                  | in 7526)                      |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |   23    |    1    | Auto operate the good  | 1 = Automatic operation       |
    |         |         | read LED on panel on   |                               |
    |         |         | badge input at sensor  |                               |
    |         |         | ports                  |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |   24    |    1    | Reserved               | 0 = Disable support           |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |  25-39  |   15    | Bar code decoding for  | F = Code 39                   |
    |         |         | sensor port A          |                               |
    |         |         | Defaults to F (Code    |                               |
    |         |         | 39)                    |                               |
    |         |         | i.e.bbbbbFbbbbbbbbb    |                               |
    |         |         | (positional parse)     |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |  40-41  |    2    | Reserved               | 0 = Disable support           |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |  42-45  |    4    | Size of communications | 0128                          |
    |         |         | buffer                 |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |  46-49  |    4    | Reserved               | 0 = Disable support           |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |   50    |    1    | Time display separator | 0 = colon (:)                 |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |   51    |    1    | Date display separator | 0 = slash (/)                 |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |   52    |    1    | Numeric input field    | 0 = period (.)                |
    |         |         | delimiter              |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |   53    |    1    | Determines idle screen | 1 = MMDDYY                    |
    |         |         | display format         |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    | 54-106  |   53    | Reserved               | 0 = Disable support           |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |   107   |    1    | Badge initiated        | 0 = Fixed                     |
    |         |         | transaction length     |                               |
    |         |         | type                   |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    | 108-109 |    2    | Badge initiated        | 00 = Use fast clocking length |
    |         |         | transaction length     | since offset 107 is fixed     |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |   110   |    1    | Set I/O type for the   | 2 = 8 bit output              |
    |         |         | printer port-DI/DO     |                               |
    |         |         | port                   |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    | 111-118 |    8    | Trigger event on DI/DO | 1 = Low to high transition    |
    |         |         | Port                   |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    | 119-125 |    7    | Reserved               | 0 = Disable support           |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    | 126-128 |    3    | Second line of idle    | 000 = No second line prompt   |
    |         |         | prompt                 |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    | 129-134 |    6    | Reserved               | 0 = Disable support           |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    | 135-136 |    2    | Minimum length for     | XX = 00                       |
    |         |         | USD-1, I 2/5 if chosen |                               |
    |         |         | in bytes 25-39. This   |                               |
    |         |         | is in increments of 2. |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    | 137-138 |    2    | Maximum length for     | XX = 00                       |
    |         |         | USD-1, I 2/5 if chosen |                               |
    |         |         | in bytes 25-39. This   |                               |
    |         |         | is in increments of 2. |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |   139   |    1    | Encoded byte for       | X = 0                         |
    |         |         | optional check digit,  |                               |
    |         |         | and return check digit |                               |
    |         |         | for USD-1, I 2/5       |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    | 140-142 |    3    | Number of user         | 000 = 4 user variables        |
    |         |         | variables              |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    | 143-145 |    3    | Size of the user       | 000 = 256 bytes               |
    |         |         | variables              |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    | 146-149 |    4    | Reserved               | Reserved                      |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    | 150-151 |    2    | Minimum length for     | XX = 00                       |
    |         |         | USD-3, Code 39 if      |                               |
    |         |         | chosen in bytes 25-39. |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    | 152-153 |    2    | Maximum length for     | XX = 00                       |
    |         |         | USD-3, Code 39 if      |                               |
    |         |         | chosen in bytes 25-39. |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |   154   |    1    | Encoded byte for       | X = 0                         |
    |         |         | optional check digit,  |                               |
    |         |         | and return check digit |                               |
    |         |         | for USD-3, Code 39.    |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    | 155-156 |    2    | Minimum length for     | XX = 00                       |
    |         |         | Ext. Code 39 if chosen |                               |
    |         |         | in bytes 25-39.        |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    | 157-158 |    2    | Maximum length for     | XX = 00                       |
    |         |         | Ext. Code 39 if chosen |                               |
    |         |         | in bytes 25-39.        |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |   159   |    1    | Encoded byte for       | X = 0                         |
    |         |         | optional check digit,  |                               |
    |         |         | and return check digit |                               |
    |         |         | for Ext. Code 39.      |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    | 160-164 |    5    | Reserved               | 0 = Disable support           |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    | 165-166 |    2    | Minimum length for     | XX = 00                       |
    |         |         | USD-4, Codabar if      |                               |
    |         |         | chosen in bytes 25-39. |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    | 167-168 |    2    | Maximum length for     | XX = 00                       |
    |         |         | USD-4, Codabar if      |                               |
    |         |         | chosen in bytes 25-39. |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |   169   |    1    | Encoded byte for       | X = 0                         |
    |         |         | transmit check digit,  |                               |
    |         |         | for USD-4, Codabar     |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    | 170-173 |    4    | Reserved               | 0 = Disable support           |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |   174   |    1    | Encoded byte for I 2/5 | X = 0                         |
    |         |         | supplement, and        |                               |
    |         |         | expanded UPC-A, UPC-E. |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    | 175-178 |    4    | Reserved               | 0 = Disable support           |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |   179   |    1    | Encoded byte for I 2/5 | X = 0                         |
    |         |         | supplement, and EAN-8, |                               |
    |         |         | EAN-13.                |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    | 180-181 |    2    | Minimum length for     | XX = 00                       |
    |         |         | USD-8, Code 11 if      |                               |
    |         |         | chosen in bytes 25-39. |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    | 182-183 |    2    | Maximum length for     | XX = 00                       |
    |         |         | USD-8, Code 11 if      |                               |
    |         |         | chosen in bytes 25-39. |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |   184   |    1    | Encoded byte for       | X = 0                         |
    |         |         | USD-8, Code 11         |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    | 185-189 |    5    | Reserved               | 0 = Disable support           |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    | 190-191 |    2    | Minimum length for MSI | XX = 00                       |
    |         |         | Code if chosen in      |                               |
    |         |         | bytes 25-39.           |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    | 192-193 |    2    | Maximum length for MSI | XX = 00                       |
    |         |         | Code if chosen in      |                               |
    |         |         | bytes 25-39.           |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |   194   |    1    | Reserved               | 0 = Disable support           |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    | 195-196 |    2    | Minimum length for     | XX = 00                       |
    |         |         | USD-6, Code 128 if     |                               |
    |         |         | chosen in bytes 25-39. |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    | 197-198 |    2    | Maximum length for     | XX = 00                       |
    |         |         | USD-6, Code 128 if     |                               |
    |         |         | chosen in bytes 25-39. |                               |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    | 199-202 |    4    | Reserved               | 0 = Disable support           |
    +---------+----+----+----------+-------------+-+-------------+---------------+
    |   203   |    1    | Switch for             | 0 = Compatibility mode        |
    |         |         | compatibility or       |                               |
    |         |         | enhanced mode          |                               |
    +---------+---------+------------------------+-------------------------------+
    


    Appendix E. Comparisons Between IBM 7525 and 7526 DCT Operations

    Table 17. highlights the differences between the IBM 7525 and 7526 DCT operations. The following items are included:.

    Notes:

    1. Key commands are described in "File 0&mdash.Records 01-64 (Transaction Program Commands)".

    2. Communications control commands are described under Chapter 6. "Communications Control Commands".

    3. Power-up requirements are given in Chapter 7. "Power-Up and Download Specifications".

    4. RAM files are described in Chapter 8. "RAM Files".

    Table 17. Comparisons Between IBM 7525 DCT and IBM 7526 DCT Operations

    
    +==============+=======+=======+===============+==+==========+===============+
    |         Item         |    7525 DCT Operation    |    7526 DCT Operation    |
    +==============+=======+=======+===============+==+==========+===============+
    |          :0          | Display message numbers  | Display message numbers  |
    |                      |          00-99           |         000-999          |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          :1          |  Fixed badge read with   |       Same as 7525       |
    |                      |        validation        |                          |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          :2          |   Can accept data from   |       Same as 7525       |
    |                      |   alphanumeric keypad    |                          |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          :3          |   Can accept data from   |       Same as 7525       |
    |                      |   alphanumeric keypad    |                          |
    |                      | Autofills with zeroes on |                          |
    |                      |           left           |                          |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          :4          |   Can accept data from   |       Same as 7525       |
    |                      |  alphanumeric keypad or  |                          |
    |                      |       badge input        |                          |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          :5          | Set clock date and time  |       Same as 7525       |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          :6          | Message is displayed on  |  Allows positioning via  |
    |                      |    line 1 at column 1    |          :T, :U          |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          :7          |   Toggle DO point zero   |       Same as 7525       |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          :8          |  Second key can only be  |       Same as 7525       |
    |                      |   another function key   |                          |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          :9          |  Must be used to define  |       Same as 7525       |
    |                      | all unused key positions |                          |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          ;0          |         Hot key          |       Same as 7525       |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          ;1          |   Read variable length   |       Same as 7525       |
    |                      |          badges          |                          |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          ;2          |    Latching function     |       Same as 7525       |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          ;5          |   Read display buffer    |       Same as 7525       |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          ;6          |     Do not transmit      |       Same as 7525       |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          ;7          |      Not supported       |   Append data to user    |
    |                      |                          |         variable         |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          ;A          |      Not supported       |   Alias transaction ID   |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          ;C          |      Not supported       |  Activate selected LED   |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          ;M          |      Not supported       |        Call a CFR        |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          ;N          |      Not supported       |    Test user variable    |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          ;R          |      Not supported       | Return from transaction  |
    |                      |                          |    program subroutine    |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          :A          |      Not supported       |  Automatic transaction   |
    |                      |                          |          state           |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          :D          |      Not supported       |     Delay execution      |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          :E          |      Not supported       |  Display message at row  |
    |                      |                          |      xx, column yy       |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          :F          |      Not supported       |       Append data        |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          :G          |      Not supported       |           Goto           |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |         :GS          |      Not supported       |          Gosub           |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          :H          |      Not supported       |   Clear user variable    |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          :K          |      Not supported       |   Verify user variable   |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          :L          |      Not supported       |      Program label       |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          :J          |      Not supported       |   Format user variable   |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          :M          |      Not supported       |   Read value of DI/DO    |
    |                      |                          |          point           |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          :N          |      Not supported       |  Wait for DI to change   |
    |                      |                          |          state           |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          :P          |      Not supported       |      Write DO point      |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          :R          |      Not supported       |      Read data with      |
    |                      |                          |       verification       |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          :T          |      Not supported       |      Clear display       |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          :U          |      Not supported       |   Set cursor position    |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          :W          |      Not supported       |  Write data from source  |
    |                      |                          |        to target         |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |          :Z          |      Not supported       |        Onkey Goto        |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |         :ZS          |      Not supported       |       Onkey Gosub        |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD 0         |   Terminal operational   | Same as 7525 Options for |
    |                      |     after 5 seconds      |    Warm or Cool start    |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD 1         |    Send DCT status to    | Same as 7525 Status for  |
    |                      |        Controller        |     files a, c and e     |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD 2         |   Write to DCT display   |  Same as 7525 7526 DCT   |
    |                      |                          | Model 100 displays first |
    |                      |                          |      16 characters       |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD 3         |    Send ROM Microcode    |  Same as 7525 Enhanced   |
    |                      | Version and Revision to  | Mode (returns additional |
    |                      |        Controller        |       information)       |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD 4         |  Set DCT Time and Date   |       Same as 7525       |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD 5         |   Activate DCT audible   |       Same as 7525       |
    |                      |           tone           |                          |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD 6         | Send DCT features status |  Same as 7525 Enhanced   |
    |                      | to Controller Four ASCII |   Mode allows for 1x16   |
    |                      |   characters returned    | display, additional RAM  |
    |                      |                          |        and DI/DO         |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD 7         |  Send DCT Date and Time  |       Same as 7525       |
    |                      |      to Controller       |                          |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD 8         |  Specify current polled  |       Same as 7525       |
    |                      |      buffer or file      |                          |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD 9A        |   Send file status to    |  Same as 7525 Enhanced   |
    |                      |        Controller        |   Mode allows 6 digits   |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD 9B        |   Initialize specified   |  Same as 7525 Enhanced   |
    |                      |        text file         | Mode allows 6 digits and |
    |                      |                          |  supports file size of   |
    |                      |                          |  65535Kb,except File 9   |
    |                      |                          |    which allows more     |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD 9C        |      Load text file      |  Same as 7525 Supports   |
    |                      |                          |      file a, e and       |
    |                      |                          | incorporates a 255 byte  |
    |                      |                          |          buffer          |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD 9D        |   Delete text records    | Same as 7525 but larger  |
    |                      |                          |          buffer          |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD 9E        |     Erase text files     |  Same as 7525 If f = 0,  |
    |                      |                          |     delete files 2-7     |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD 9F        | Send Data file contents  |  Same as 7525 Supports   |
    |                      |      to Controller       |    255 byte block and    |
    |                      |                          |    0000-9999 records     |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD A         | Set DCT (In Service) or  |       Same as 7525       |
    |                      |     (Out of Service)     |                          |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD B         |  Positive response from  | Same as 7525 Allows 2 or |
    |                      |        Controller        | 4 digit record location  |
    |                      |                          |  and cursor positioning  |
    |                      |                          |       information        |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD C         |  Negative response from  | Same as 7525 Allows 2 or |
    |                      |        Controller        | 4 digit record location  |
    |                      |                          |  and cursor positioning  |
    |                      |                          |       information        |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD D         | Initiate data collection |   Same as 7525 Allows    |
    |                      |     from Controller      |     multiple packets     |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD E         |    Trigger DO point 0    |   Trigger selected DO    |
    |                      |      (undocumented)      |          points          |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD F         |      Not supported       |  Storage Query Enhanced  |
    |                      |                          |   Mode sends 12 bytes,   |
    |                      |                          |   only first 6 defined   |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD G         |      Not supported       |   Execute Transaction    |
    |                      |                          | Program, Simulated Mode  |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD H         |   Vary communications    |       Same as 7525       |
    |                      |     turn-around time     |                          |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD I         |      Not supported       |    Set user variable     |
    |                      |                          |        (000-999)         |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD J9        |      Not supported       |   Configuration Query    |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD MA        |      Not supported       |    Request CFR Status    |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD MB        |      Not supported       |  Allocate Space for CFR  |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD MC        |      Not supported       |      Load CFR Image      |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD MD        |      Not supported       |        Start CFR         |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD P         |      Not supported       |   Set compatibility or   |
    |                      |                          |  enhanced terminal mode  |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD Q         |      Not supported       |    Read user variable    |
    |                      |                          |        (000-999)         |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD R         |      Not supported       |   Read terminal memory   |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |        CMD V         |      Not supported       |    Verify using files    |
    |                      |                          | A&mdash.Z and a&mdash.z  |
    |                      |                          |     on the terminal      |
    |                      |                          |        controller        |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |   DC1 to terminal    |  Download RAM files to   |       Same as 7525       |
    |  controller on poll  |           DCT            |                          |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |   Alphabetic data    |      A-Z, space ( )      |       Same as 7525       |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |     Numeric data     |   0-9, ampersand (&),    |       Same as 7525       |
    |                      |  asterisk (*), decimal   |                          |
    |                      |  (.), dollar sign ($),   |                          |
    |                      |  minus (&minus.) number  |                          |
    |                      |   sign (#), plus (+),    |                          |
    |                      | percent (%), slash (/),  |                          |
    |                      |        space ( )         |                          |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |  Power-up: Download  |    Refer to Chapter 6    |  Same as 7525 with a, c  |
    |    file sequence     |                          |          and e           |
    +--------------+-------+-------+---------------+--+----------+---------------+
    | RAM File Downloading | RAM files are downloaded |   All files are ASCII    |
    |                      |     in ASCII formats     | except for files a and c |
    |                      |                          |     which are binary     |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |       RAM File       |  Cannot reinitialize a   | Individual files can be  |
    |    Initialization    |  single file&mdash.must  |   reinitialized if the   |
    |                      |  initialize all files.   |  file size is equal or   |
    |                      |  File 9 must always be   |     smaller than the     |
    |                      |       initialized        |      previous file.      |
    |                      |                          |       If File 0 is       |
    |                      |                          |  initialized, all other  |
    |                      |                          |      files must be       |
    |                      |                          |       initialized.       |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |      RAM Files       |      10 files (0-9)      | Same as 7525 In addition |
    |                      |                          |  allows file a (keypad   |
    |                      |                          |  remap), file c. (CFR)   |
    |                      |                          |  and file e (Validation  |
    |                      |                          |    file name mapping)    |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |     RAM File 0 =     |   Record 0 contains 23   |  Record 0 contains 204   |
    |  Terminal operating  | bytes, 1-29 transaction  | bytes, 1-65 transaction  |
    |      parameters      |         records          |         records.         |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |  RAM File 1 = Fast   |   Fast clocking times    |       Same as 7525       |
    |       clocking       |                          |                          |
    +--------------+-------+-------+---------------+--+----------+---------------+
    | RAM Files 2-7 = User |  User validation files   |   Same as 7525 Maximum   |
    |     verification     |                          | file size = 65535 bytes  |
    |                      |                          |           each           |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |     RAM File 8 =     |       100 messages       |      1000 messages.      |
    |       Messages       |                          |                          |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |     RAM File 9 =     |   Maximum of 128 bytes   | Maximum size depends on  |
    |  Transaction queue   | with a two-byte function | bytes 42-45 in Record 0  |
    |                      |   ID in decimal format   |   Enhanced mode has a    |
    |                      |                          |  three-byte function ID  |
    +--------------+-------+-------+---------------+--+----------+---------------+
    | RAM File a = keypad  |      Not supported       | Keypad remap file (only  |
    |        remap         |                          |      on Model 200)       |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |   RAM File c = CFR   |      Not supported       | Custom Function Routine  |
    |                      |                          |     executable image     |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |     RAM File e =     |      Not supported       |  Allows multi-character  |
    | Extended validation  |                          | (extended) file names of |
    |       support        |                          |     validation files     |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |   Terminal address   |           a-p            |  a-y, 0-6 A total of 32  |
    |                      |                          |        addresses         |
    +--------------+-------+-------+---------------+--+----------+---------------+
    |    User variables    |      Not supported       | Up to 999 user variables |
    +----------------------+--------------------------+--------------------------+