CognitiveTPG A760 User Manual
Page 119

A760 User Guide: Programming Supplement
Chapter 4: Programming commands
119
Revision F January 2010
Loading the exception table
The exception table begins at word 20 in NVRAM. Each
entry takes five words. There is room for eight exceptions
with a sumcheck written in the last word. An application
can load local exceptions into the printer using the write
NVRAM command:
0x1B 0x73 n1 n2 k
which writes the two byte word n1:n2 to word k in
NVRAM.
Exception table entry format
Each exception table entry consists of five words. The first
two words contain the first eight characters of the transit
number by packing the low order nibble of the numeric
transit number characters. For Canadian checks, eliminate
the dash and store the eight numerics.
The next three words are used as six individual bytes to
tell the firmware how to interpret the MICR characters that
fall to the right of the rightmost transit symbol. Each of the
six bytes is positional and consists of two parts: character
type and number.
The three high order bits of each byte mark the character
type. The characters can be marked in three ways: check
serial # character, account # character, or “skip this
character or symbol.”
The five low order bits of each byte contain the number of
characters of that type to extract. Most exceptions will not
need to use all six bytes; in that case clear the unused bytes
to zero.
Bits within byte
7 6
5 4
3 2 1 0
Check serial #
0 0
1 n
n n
n
n
character string
Account #
0 1
0 n
n n
n
n
character string
Character string
1 0
0 n
n n
n
n
to ignore
Example 1
t123456780t12349876543210o
1234 is the check serial #
9876543210 is the account #
To load the second table entry, which starts at word 25, the
transit number 123456780 would be stored in the first two
words of its table entry using this string of commands:
0x1B 0x73 0x12 0x34 25
0x1B 0x73 0x56 0x78 26
After the right transit symbol are immediately the four
characters of the check serial #, followed immediately by
the ten characters of the account number. These would be
bitwise encoded as:
0 0 1 0 0 1 0 0 (check #, four characters)
and
0 1 0 0 1 0 1 0 (account #, 10 characters)
then stored in the other three words of the table entry
using:
0x1B 0x73 0x24 0x4A 27
0x1B 0x73 0x00 0x00 28
0x1B 0x73 0x00 0x00 29
Example 2
t22137–632t001 6042202o927540
2754 is the check serial #
6042202 is the account #
To load the third table entry, which starts at word 30, the
transit number 2137–632 would be stored in the first two
words of its table entry using this string of commands:
0x1B 0x73 0x22 0x13 30
0x1B 0x73 0x76 0x32 31
After the right transit symbol are four characters to skip,
a seven digit account number, two characters to skip, and
finally a four digit check serial #. The final character to
skip need not be encoded. These would be bitwise encoded
as:
1 0 0 0 0 1 0 0 (skip four characters)
0 1 0 0 0 1 1 1 (account #, seven characters)
1 0 0 0 0 0 1 0 (skip two characters)
0 0 1 0 0 1 0 0 (check #, four characters)
then stored in the other three words of the table entry
using:
0x1B 0x73 0x84 0x47 32
0x1B 0x73 0x82 0x24 33
0x1B 0x73 0x00 0x00 34.