FileCore
FileCore has been updated to provide access to larger discs and to avoid limitations of the earlier interfaces.
FileCore_DiscOp64 (&4054C)
On entry
R1 = flags:
bits 0-3 - reason code (see FileCore_DiscOp)
bits 4-7 - options (see FileCore_DiscOp)
bits 8-31 - reserved, must be 0
R2 = pointer to disc address buffer :
+0 = drive and flags:
bits 0-7 - drive number (only drives 0-7 supported)
bits 8-31 - reserved, must be 0
+4 = disc byte address (low 32 bits)
+8 = disc byte address (high 32 bits)
R3 = pointer to buffer to use
R4 = length of buffer
R5 = pointer to alternative disc record, or 0 if unused
R6 = cache handle, if relevant to the reason code
R8 = pointer to FileCore instance private word
On exit
R1, R2 preserved
R2 block updated to next disc byte address
R3 = pointer to end of used buffer
R4 = number of bytes not transferred
This SWI is an extended form of FileCore_DiscOp which avoids limited 26bit interfaces. It is implemented internally within FileCore using the existing calls, thus the limitations are identical to those of the FileCore_DiscOp and FileCore_SectorOp calls. Future versions of the module may remove these limitations.
FileCore_Features (&4054D)
On entry
None
On exit
R0 = feature flags :
bit 0 - FileCore modules should use new error scheme
bits 1-31 - reserved
This SWI is used to read the feature set of the FileCore module. If it returns an error, the feature flags should be assumed to be 0. At present FileCore does not support the extended error scheme and bit 0 will be clear. The scheme will be documented in a future release.
|