This devhlp is used to read from a file opened with DevHlp_OpenFile, in contrast to a normal read, a start position can be specified.
- ES:DI = point to a SYIReadFileAt structure
- DL = 082h
- CY=0, AX = 0: read okay
- CY=1, AX = ERROR_BAD_LENGTH: packet is invalid
- CY=1, AX = <>0: other filesystem related errors
; assembler structure SYIReadFile struc length dw 12 ; length of structure (must be 12) buffer dd ? ; 16:16 address of a read buffer size dd ? ; number of bytes to read startpos dd ? ; starting position of read relative to ; start of file SYIReadFile ends
Valid at INIT time only. Although the size argument of the data structure implies, I’d recommend to better not read more than 32K at a time. Note that the buffer itself is segmented, so DMA overrun and other effects might apply, depending on the quality of the miniIFS in use.
IMHO, the length of structure should be 14, not 12.