10 OSWORD The operating system's OSWORD entry point is used to provide some functions which are of general use. On entry to OSWORD, the accumulator contains a value which determines the operation to be performed. X and Y contain the address of a parameter block which is used to pass parameters to and from OSWORD (X low byte, Y high byte) The parameter block may reside in either the I/O or second processor memory. The OSWORD codes recognised by HDFS are listed in the following sections. 10.1 A=&7B Move a block of memory This call has the same effect as the *MOVE command. A block of memory is transferred from one memory location to another. The source and destination addresses can be in I/O or second processor memory. The format of the parameter block is: 00 01 02 03 Source address of data 04 05 06 07 End address of data 08 09 0A 0B Destination address 10.2 A=&7C Multiple track 8271 command This call applies an 8271 disc controller command to a range of sectors on the disc. The 8271 command used determines whether data is read from or written to the disc. The command code used should be one of the 8271 multiple sector commands; appendix D lists the 8271 commands. The parameter block format is: 00 Drive number 01 02 03 04 Source or destination data address 05 06 Start sector 07 08 Number of sectors to transfer 09 8271 command If the drive number is &FF, the current drive will be used. 10.3 A=&7D Read cycle number The disc cycle number or key can be read with this call. The disc cycle number is a number which is used to distinguish discs with similar catalogues. It is normally the number of times the catalogue on the disc has been written, but on HDFS root directories, it is a one-byte checksum of the directory. The format of the result block is: 00 Cycle number 10.4 A=&7E Read directory size The size of the current directory (in bytes) can be read with this call. The format of the result block is: 00 01 02 03 Directory size 10.5 A=&7F Single track 8271 command This call executes a single 8271 disc controller command, and returns the result code. The number of parameters required depends on the 8271 command used. The 8271 command used determines whether data is read from or written to the disc; appendix D lists the 8271 commands. The result code is written into the next location after the parameters. The format of the parameter block is: 00 Drive number 01 02 03 04 Source or destination data address 05 Number of parameters to 8271 command, n 06 8271 command 07 . . . 07+n 8271 command parameters 08+n Space for result code If the drive number is &FF, the current drive will be used.