; Copyright 1996 Acorn Computers Ltd
;
; Licensed under the Apache License, Version 2.0 (the "License");
; you may not use this file except in compliance with the License.
; You may obtain a copy of the License at
;
;     http://www.apache.org/licenses/LICENSE-2.0
;
; Unless required by applicable law or agreed to in writing, software
; distributed under the License is distributed on an "AS IS" BASIS,
; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
; See the License for the specific language governing permissions and
; limitations under the License.
;
        SUBT    Exported ADFS constants

OldOpt  SETA   {OPT}
        OPT    OptNoList+OptNoP1List

; ***********************************
; ***    C h a n g e   L i s t    ***
; ***********************************
;
; Date       Name  Description
; ----       ----  -----------
; 15-Mar-91  CDP   Reorganised to use AddSWI macro.
;                  Added SWIs VetFormat, FlpProcessDCB, ControllerType,
;                  PowerControl, SetIDEController and IDEUserOp
; 29-Mar-92  OSS   Added SWI MiscOp (has existed for ages)
; 17-May-94  AMcC  Changed to using the preferred SWI base and name symbols
; 12-Oct-94  AMcC  Added SWI ECCSAndRetries
; 25-Oct-94  SBP   Added SWI SectorDiscOp, LockIDE, FreeSpace64

SWIClass        SETS    ADFSSWI_Name

        ^       ADFSSWI_Base

                AddSWI  DiscOp
                AddSWI  HDC
                AddSWI  Drives
                AddSWI  FreeSpace
                AddSWI  Retries
                AddSWI  DescribeDisc
                AddSWI  VetFormat
                AddSWI  FlpProcessDCB
                AddSWI  ControllerType
                AddSWI  PowerControl
                AddSWI  SetIDEController
                AddSWI  IDEUserOp
                AddSWI  MiscOp             ; &4024C
                AddSWI  SectorDiscOp       ; &4024D
                AddSWI  NOP2               ; &4024E
                AddSWI  NOP3               ; &4024F
                AddSWI  ECCSAndRetries     ; &40250
                AddSWI  LockIDE            ; &40251
                AddSWI  FreeSpace64        ; &40252
                AddSWI  IDEDeviceInfo      ; &40253
                AddSWI  DiscOp64           ; &40254
                AddSWI  ATAPIOp            ; &40255

ADFSSWICheckValue       *       @

; ADFS_IDEDeviceInfo reason codes
                                ^ 0
ADFSIDEDeviceInfo_ByLegacyID    # 1
ADFSIDEDeviceInfo_ByID          # 1
ADFSIDEDeviceInfo_ByDrive       # 1

; ADFS_IDEDeviceInfo flags

ADFSIDEDeviceInfo_DeviceIDShift * 0
ADFSIDEDeviceInfo_DeviceIDMask  * &F:SHL:ADFSIDEDeviceInfo_DeviceIDShift
ADFSIDEDeviceInfo_CPIDShift     * 4
ADFSIDEDeviceInfo_CPIDMask      * &FF:SHL:ADFSIDEDeviceInfo_CPIDShift

; ADFS_IDEDeviceInfo device types
                                ^ 0
ADFSIDEDeviceInfo_None          # 1
ADFSIDEDeviceInfo_NonPacket     # 1
ADFSIDEDeviceInfo_Packet        # 1

; ADFS_ATAPIOp flags

ADFSATAPIOp_Reset               * 1:SHL:0
ADFSATAPIOp_DeviceIDShift       * 12
ADFSATAPIOp_DeviceIDMask        * &F:SHL:ADFSATAPIOp_DeviceIDShift
ADFSATAPIOp_CPIDShift           * 16
ADFSATAPIOp_CPIDMask            * &FF:SHL:ADFSATAPIOp_CPIDShift
ADFSATAPIOp_TransShift          * 24
ADFSATAPIOp_TransNone           * 0:SHL:ADFSATAPIOp_TransShift
ADFSATAPIOp_TransRead           * 1:SHL:ADFSATAPIOp_TransShift
ADFSATAPIOp_TransWrite          * 2:SHL:ADFSATAPIOp_TransShift
ADFSATAPIOp_TransMask           * 3:SHL:ADFSATAPIOp_TransShift
ADFSATAPIOp_DMA                 * 1:SHL:26
ADFSATAPIOp_DMADIR              * 1:SHL:27

        OPT OldOpt
        END
