search_before =
{hex F2}{track_no|field_no}{times}{string_len}{string}
search_between =
{hex F3}{track_no|field_no}{times1}{string1_len}{string1}
{times2}{string2_len}{string2}
search_after =
{hex F4}{track_no|field_no}{times1}{offset}{length2}
{length1}{string1}
track_no =
High three bits of the byte, 001*****|010*****|011*****
field_no = Low five bits of the byte, ***00000~***11111
Length Match and String Match: These restrictive rules are used
to define the kinds of cards to be read. They can be used to limit
your reader to only some kinds of cards, or to restrict the trans-
mission of data from other cards. The offset of String Match is
from the start of data for a particular track.
For example, if Track 1 is selected, with the minimum length set
at 10, and the maximum length also set at 10, only cards with 10
characters on Track 1 will be read. Or, if Track 3 is selected,
with the offset set at 10, and the string equaling “symbol,” only
cards with the string “symbol,” offset 10 characters from the
start of Track 3, will be read.
Search Before, Search Between, and Search After: These rules
help define a new flexible field. With Search Before, all the data
in the new generated field comes before the specified string,
after the specified number of times, for the specified track. For
example, a new field can be defined in which the data is from
the start to the second separator ^ in Track 1.
dmvsmd = {field_len}{Hex E1}{field}[{field}...,]{Hex FF} default
is {Hex 00}{Hex FF}
aamvasmd = {field_len}{Hex E2}{field}[{field}...,]{Hex FF}
default is {Hex 00}{Hex FF}
flexsmd = {field_len}{Hex E3}{field}[{field}...,]{Hex FF} default
is {Hex 00}{Hex FF}
field_len is the number of bytes from {Hex Ex} to the {field}
before {Hex FF}.
field is a one byte field identifier. The highest three bits are used to
identify the track_no, and the lowest five bits are used to identify a
unique field_no.
bit7
bit6
bit5
track_no
0 0 0
Added Field
0 0 1
track1
0 1 0
track2
0 1 1
track3
1 x x
Reserved
Data Edit Flexible Field Setting
<STX><S><FBh><Len>< Flexible_Field><ETX><CheckSum>
Where:
<Flexible_Field> is [length_match][string_match][search_before]
[search_between][search_after]…
length_match = {hex F0}{track_no}{minimum length}{maximum
length}
string_match =
{hex F1}{track_no}{offset}{string_len}{string}
21
22