NavCom LAND-PAK Rev.N User Manual
Page 95

Technical Reference Manual Rev. N
Blk = All;
Blu = IOP w/Internal Radio
;
Red = IOP & LBM
;
Grn = Engine only
93
0x01 – Directory (of files specified by name)
Obtaining a directory of files on the file system generally involves multiple requests. To
initiate a directory request, the user should send a directory request specifying a file name
mask and setting page number equal to zero. The IOP will respond with a message
containing up to 18 directory entries matching the specified file name mask. If there are
additional matching entries, bit 2 of W5 will be set to zero, indicating “this is not the final
page.” In this case, the user should send another request identical to the previous request
except with the page number incremented by 1. The IOP will then respond with the next 18
matching entries. This process continues until an IOP response is received with B2=1 in
W5. At that time, the user has received directory entries for all matching files.
In order to preserve word alignment, the length of each file name, including null terminators,
should be even. If necessary, an extra null terminator (‘\0’ character) should be appended
to support this requirement. For example, a file name TEST.TXT consists of eight
characters plus a null terminator, for a total of nine. An extra null terminator should be
added in this case to bring the total number of bytes to ten. The same convention will be
used for the file names in the response message.
Request
Record
Usage
Command - Yes
Response – No
Input: DOS file directory request;
Output: see table below
Ref
Message Field Description
Data Type Units
Range
Scale
Byte
Count
STX
02
(hex)
U08
1
PRA1 99 (hex)
U08
1
PRA2 66 (hex)
U08
1
ID
7e(hex)
U08
1
Length 0xXXXX
U16
2
W1
Sub ID 0x01
U08
1
W2
0x00 (request)
U08
1
W3
Page Number
U16
2
W4
File name or mask (Null
Terminated String)
Supports DOS 8.3 filenames.
Supports wild card characters
‘*’ and ‘?’
‘?’ – Single character wild card
‘*’ – String wild card
U08[]
1[]
CKSM Checksum
U08
1
ETX
03
(hex)
U08
1