 *
**      $VER: CD-ROM.i 0.17 (28.7.97)
**      ACDPlay Release 1.49 beta
**
**      Definitions and prototypes for the CD-ROM module for ACDPlay
**
**      (C) Copyright 1997 Martin Kresse and Marc Altmann
**                  All Rights Reserved
*


DATA_LEN        equ 804
SENSE_LEN       equ 252

*--------------------------------------------------

 STRUCTURE CDTOCEntry,0
    UBYTE       reserved1
    UBYTE       CtlAdr
    UBYTE       Track
    UBYTE       reserved2
    LONG        Address
 LABEL CDTOCEntry_SIZEOF

 BITDEF QCONTROL,PREEMPHASIS,  0
 BITDEF QCONTROL,COPYSTATUS,   1
 BITDEF QCONTROL,DATA,         2
 BITDEF QCONTROL,FOURCHANNEL,  3

*--------------------------------------------------

 STRUCTURE CDxTOC,0
    UBYTE           FirstTrack
    UBYTE           LastTrack
    UBYTE           TrackNum
    UBYTE           FirstAudioTrack
    ULONG           FirstAudioAddress
    STRUCT          Entry,101*CDTOCEntry_SIZEOF
    STRUCT          CDID,20
 LABEL CDxTOC_SIZEOF

*--------------------------------------------------

AUDIOPAGE_SIZEOF    EQU $e

*--------------------------------------------------

 STRUCTURE CDxRequest,0
    UBYTE       cdx_CurrentTrack
    UBYTE       cdx_CurrentIndex
    LONG        cdx_CurrentAbsAddr
    LONG        cdx_CurrentRelAddr
    LONG        cdx_RelRemainBlocks
    LONG        cdx_AbsRemainBlocks
    ULONG       cdx_TrackLength
    UBYTE       cdx_AudioStatus
    UBYTE       cdx_Active
    UBYTE       cdx_Volume0
    UBYTE       cdx_Volume1
    UBYTE       cdx_Volume2
    UBYTE       cdx_Volume3
    UBYTE       cdx_DeviceType
    UBYTE       cdx_Unit
    UBYTE       cdx_LUN
    UBYTE       cdx_reserved1
    APTR        cdx_DeviceName
    UBYTE       cdx_Flags
    UBYTE       cdx_SenseKey
    UBYTE       cdx_AddSenseCode
    UBYTE       cdx_AddSenseCodeQual
    APTR        cdx_TOCData
    APTR        cdx_ValidAudioPage
    APTR        cdx_SCSIData
    APTR        cdx_SCSISense
    APTR        cdx_IOPort
    APTR        cdx_IORequest
    APTR        cdx_CDPlayIOPort
    APTR        cdx_CDPlayIORequest
    APTR        cdx_SysBase
    APTR        cdx_MemStart
    APTR        cdx_SCSIDataStart
    APTR        cdx_Cmd
    APTR        cdx_Info
    APTR        cdx_QCode
    APTR        cdx_Vendor
    STRUCT      cdx_VendorID,9
    STRUCT      cdx_Product,17
    STRUCT      cdx_Revision,5
    STRUCT      cdx_Specific,21
 LABEL cdx_SIZEOF

AUDIO_STAT_NOT_VALID   EQU  $0
AUDIO_STAT_NO_DISK     EQU  $10
AUDIO_STAT_PLAYING     EQU  $11
AUDIO_STAT_PAUSED      EQU  $12
AUDIO_STAT_COMPLETED   EQU  $13
AUDIO_STAT_STOPPED     EQU  $14
AUDIO_STAT_NONE        EQU  $15

 BITDEF SPECIAL,LOCKED,4        ; ob die Schublade verschlossen ist
 BITDEF SPECIAL,JUSTCLOSED,5    ; für automatisches Open/Close
 BITDEF SPECIAL,ATAPI,6         ; "cd.device" wird benutzt
 BITDEF SPECIAL,NEC,7           ; spezielles Play-Handling für NEC-LWs


DEVTYPE_DIR_ACCESS  EQU    $00    ; Direct-access device (e.g., magnetic disk)
DEVTYPE_SEQ_ACCESS  EQU    $01    ; Sequential-access device (e.g., magnetic tape)
DEVTYPE_PRINTER     EQU    $02    ; Printer device
DEVTYPE_PROCESSOR   EQU    $03    ; Processor device
DEVTYPE_WRITE_ONCE  EQU    $04    ; Write-once read-multiple device (e.g., some optical disks)
DEVTYPE_CDROM       EQU    $05    ; CD-ROM device
DEVTYPE_SCANNER     EQU    $06    ; Scanner device
DEVTYPE_OPTICAL     EQU    $07    ; Optical memory device (e.g., some optical disks)
DEVTYPE_CHANGER     EQU    $08    ; Medium Changer device (e.g., jukeboxes)
DEVTYPE_COMM        EQU    $09    ; Communications device
DEVTYPE_GFX_1       EQU    $0A    ; Defined by ASC IT8
DEVTYPE_GFX_2       EQU    $0B    ; (Graphics Pre-Press Devices)
DEVTYPE_RESERVED1   EQU    $0C    ; Reserved
DEVTYPE_RESERVED2   EQU    $0D
DEVTYPE_RESERVED3   EQU    $0E
DEVTYPE_UNKNOWN     EQU    $1F    ; Unknown or no device type

*---------------------------------------------------

JUMPMODE_SEEK_ABS   EQU 0
JUMPMODE_SEEK_REL   EQU 1
JUMPMODE_PLAY_ABS   EQU 2
JUMPMODE_PLAY_REL   EQU 3

*---------------------------------------------------

FASTMODE_OFF        EQU 0
FASTMODE_FORWARD    EQU 1
FASTMODE_BACKWARD   EQU 2

*---------------------------------------------------

GET_VOLUME          EQU 0
SET_VOLUME          EQU 1

