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:
E_PARAM will be returned if a value greater than 39 is submitted when the terminal is in Interactive mode and in 7525 Compatibility mode.
Example
int far main (int funct,char far *params)
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)
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)
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:.
- High-light the file name in the cluster configuration
- Make at least one reference to the file name in a VRFY or READ command, even if this command is never used for transaction generation.
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)
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)
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)
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)
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)
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)
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)
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)
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:
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.
Example
int far main (int funct,char far *params)
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)
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:
Example
int far main (int funct,char far *params)
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)
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:
Note: An E06 error is generated if the CFR returns other than Continue (0), Skip (1), or Abort (2). :enote.
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:
Lists and briefly describes the indicated key command.
Indicates whether the input in response to the command is displayed on the terminal screen. Note that the table may indicate Yes for the display of input, even if the input is from a magnetic device, and the first byte is the secure header (a hex A). In this case, the input will be shown as a series of asterisks (*) equal to the length of the data.
Indicates the effect, if any, of pressing the Fill key on the keypad. No indicates that the key has no effect. In some input operations, pressing the Fill key before the completion of the input causes the field to be filled with leading zeroes or trailing blanks. (Available on the Model 200 only.)
If the Enter key is pressed before the completion of some keypad input operations, the field automatically fills to its maximum length. The Autofill column shows the commands affected by such action.
The Autofill column shows if pressing the Fill key on the keypad has an effect. In some input operations, the field automatically fills to its maximum length.
Depicts which input operations require the Enter key to indicate that input is complete. The Enter key is required for all keypad input operations and for sensor input using the ;1 and :4 commands (which display input to the screen).
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. | +----------------------------------------------------------------------------+
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:
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. | +----------------------+--------------------+--------------------+--------------------------+
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 | | +---------+---------+------------------------+-------------------------------+
Table 17. highlights the differences between the IBM 7525 and 7526 DCT operations. The following items are included:.
Notes:
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 | +----------------------+--------------------------+--------------------------+