| Entry | |
|---|---|
| R1 | Reason code + Flags |
| All other registers dependent on reason code | |
| Exit | |
|---|---|
| R0 | 0 if no error, error number and VS otherwise |
| R1 | Preserved |
| All other registers dependent on reason code | |
| N, Z and C flag preserved | |
The purpose of this call is to provide a number of low-level disc operations.
The action performed depends on the reason code value in R1.
| # | Hex # | Action |
|---|---|---|
| 0 | &00 | Verify |
| 1 | &01 | Read sectors |
| 2 | &02 | Write sectors |
| 3 | &03 | Read track/ID |
| 4 | &04 | Write/format track |
| 5 | &05 | Seek |
| 6 | &06 | Restore |
| 7 | &07 | Step in |
| 8 | &08 | Step out |
| 9 | &09 | Read sectors via cache |
| 15 | &0F | Specify Hard disc |
| Bit | Meaning |
|---|---|
| 4 | Given alternative defect list |
| 5 | Given sector list |
| 6 | Ignore escape |
| 7 | Ignore timeout |
| 8 – 31 | Pointer to alternative record (shifted down twice) |
The alternative record is +4, so that its LSB is actually bit 6, but because its must be word-aligned the real LSB is bit 8.