|2Dh||FL$FREC||find a record number|
|Input||D = record number to be found|
|Output||A = length of record found
B = record type found
X = pack address of the record found (low bytes)
UTW_S0 = pack address of the record found (high byte)
Returns information about the D'th record of the current record type on the current datapack.
If the record exists, the three byte pack address of the start of the record is returned - the first byte of UTW_S0 being the most significant byte of the address, and X being the least significant word of the address.
If there are less than D records on the datapack, error "END OF FILE" is returned.
To find the tenth record of type $90
LDAB #$90 OS FL$RECT BCS ERROR LDD #10 OS FL$FREC BCC FOUND CMPB #238 ;end of file BNE ERROR NOT_FOUND: ... FOUND: STAA LENGTH LDAA UTW_S0 STAA PACK_ADDRESS STX PACK_ADDRESS+1 ...
|Errors||194 - battery too low
200 - read pack err
238 - end of file (no match occurred)
240 - unknown pack
241 - pack not blank
243 - bad device name
245 - write pack err
246 - no pack