OSWORD &5A

From BeebWiki
Jump to: navigation, search

OSWORD &5A (90 ) - HADFS Sector read/write/access HADFS

This can be called by the user to perform an operation, or called
by HADFS to access an external drive where a supporting routine
should respond.
On entry:
 XY+0..1 must contain &0600
 XY!2    =data address
 XY!6    =sector address with the drive number in the top
   byte (ie XY?9)
 XY?10   =number of sectors to transfer
 XY?11   =call type and returned result code
A supporting routine should only claim the call if the call type
is <&80, and the drive number is the one supported. Call types
to recognise (do NOT call these) are:
 1=write
 2=read
 3=disk size request
 4=format
 5=bye (ie, dismount - do NOT claim)
User call types are:
 &80=read
 &81=write
Result codes are as for OSWORD &7F (127) plus &FE=Drive not
present. If any external support routines leave the call type byte
unchanged, HADFS changes it to &FE, Drive not present. HADFS will
not clash with DVR as long as HADFS is in a higher priority ROM
socket than DVR is.

OSWORD &5A (90 ) - Find node in binary tree DVR

On entry:
 XY+0..1=address of the root of the tree
 XY+2..3=address of a data comparison routine
 XY+4..5=address of the data to find
On exit:
 XY contain the address of the node found
 C is set if the data was not found.

See Also

Jgharston 13:06, 26 May 2009 (UTC)