hashes 20.9 KB
Newer Older
Neil Turton's avatar
Neil Turton committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
; 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.
;
;******************************************************************************
;
; hdr.hashes
;
; Author: Mark Watson (EESOX)
;
; Description
; ===========
; Hash defines
;
; Change record
; =============
; 09-Mar-95  18:45  cpartington (Cambridge Systems Design)
; * Added a few more standard register definitions and CPU mode definitions.
; * Added flags sony_50_id_bodge, mode_select_dont_use_page_d and cdebug.
;
; 14-Mar-95  10:05  cpartington (Cambridge Systems Design)
; * Added flag check_transfer_before_drq.
;
; 18-Mar-95  12:13  cpartington (Cambridge Systems Design)
; * Added flags reset_on_drive_error and use_readcd_for_mode_1.
; * Removed flag check_transfer_before_drq (code permanently enabled).
;
; 21-Mar-95  13:55  cpartington (Cambridge Systems Design)
; * Removed flag use_readcd_for_mode_1 (code permanently enabled).
;
; 24-Mar-95  09:57  cpartington (Cambridge Systems Design)
; * Added flag mode_select_ignore_page_d_error.
;
; 30-Mar-95  16:56  cpartington (Cambridge Systems Design)
; * Added flags fix_cr571b10e_maybe, fix_slow_when_no_drives,
;   check_mode_sense_length, extra_delay_after_irq.
;
Neil Turton's avatar
Neil Turton committed
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
; 31-Mar-95  12:34  cpartington (Cambridge Systems Design)
; * Added flag fix_speed_select.
;
; 12-Jun-95  11:27  cpartington (Cambridge Systems Design)
; * Added flags long_command_timeout and test_long_timeouts.
;
; 13-Jun-95  16:06  cpartington (Cambridge Systems Design)
; * Added flag bodge_sony_selection.
;
; 16-Jun-95  15:04  cpartington (Cambridge Systems Design)
; * Added flag faster_startup.
;   Added CMOSDRIVEBITS.
;
; 06-Jul-95  10:55  cpartington (Cambridge Systems Design)
; * Added flags bodge_50e_sole_drive and full_drive_detection.
;   Sorted out flags so values dependent on version number.
;
Neil Turton's avatar
Neil Turton committed
65 66 67 68 69 70 71 72 73 74 75 76
;*end of change record*


; sony_50_id_bodge enables code in IDENTIFY to check for the version
; of the SONY CDU50E with incorrect IDENTIFY data and cope with it.
;
        GBLL    sony_50_id_bodge

; mode_select_dont_use_page_d disables the code to send page D when doing
; a mode select - SONY CDU50E 0.3n aborts this command
;
        GBLL    mode_select_dont_use_page_d
Neil Turton's avatar
Neil Turton committed
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140

; mode_select_ignore_page_d_error causes any error returned from sending
; page D during MODE SELECT to be ignored.
        GBLL    mode_select_ignore_page_d_error

; reset_on_drive_error causes the driver to issue an ATAPI reset to a drive
; if it misbehaves. This is part of the spec but, more pragmatically, it
; cures a problem with the Panasonic CR571B where it occasionally fails to
; deassert BSY if the draw is opened during certain operations.
;
        GBLL    reset_on_drive_error

; fix_cr571b10e_maybe inserts extra read of alt_status register after
; reading byte count registers to try to work around Panasonic CR571B 1.0e
; cache problem.
;
        GBLL    fix_cr571b10e_maybe

; fix_slow_when_no_drives stops retries when no drives seem to be connected
;
        GBLL    fix_slow_when_no_drives

; check_mode_sense_length enables MEW's code that requires returned
; mode sense data to be a particular size.
;
        GBLL    check_mode_sense_length

; extra_delay_after_irq adds a delay after BSY is cleared after IRQ
;
        GBLL    extra_delay_after_irq

; fix_speed_select corrects the code to set drive speed
;
        GBLL    fix_speed_select

; long_command_timeout enables a longer timeout for command completion
;
        GBLL    long_command_timeout

; test_long_timeouts enables longer timeouts for drive accesses
;
        GBLL    test_long_timeouts

; bodge_sony_selection disables the poll for !BSY before selecting drive to
; try to cope with Sony master drive when no slave connected
;
        GBLL    bodge_sony_selection

; faster_startup reduces timeouts and only checks for required number of
; drives to make startup faster.
;
        GBLL    faster_startup

; bodge_50e_sole_drive enables code to attempt to drive the Sony CDU50E when
; it is the only drive on the bus.
;
        GBLL    bodge_50e_sole_drive

; full_drive_detection enables extra drive detection code to attempt to
; drive the Sony CDU50E when it is the only drive on the bus
;
        GBLL    full_drive_detection

sony_50_id_bodge                SETL    {TRUE}
141
mode_select_dont_use_page_d     SETL    {TRUE}
Neil Turton's avatar
Neil Turton committed
142 143 144 145 146 147
mode_select_ignore_page_d_error SETL    {TRUE}
reset_on_drive_error            SETL    {TRUE}
fix_cr571b10e_maybe             SETL    {TRUE}
fix_slow_when_no_drives         SETL    {TRUE}
check_mode_sense_length         SETL    {FALSE}
extra_delay_after_irq           SETL    {TRUE}
148
fix_speed_select                SETL    {TRUE}
Neil Turton's avatar
Neil Turton committed
149 150 151 152 153
long_command_timeout            SETL    {TRUE}
test_long_timeouts              SETL    {FALSE}
bodge_sony_selection            SETL    {TRUE}
faster_startup                  SETL    {TRUE}
bodge_50e_sole_drive            SETL    {TRUE}
Ben Avison's avatar
Ben Avison committed
154
full_drive_detection            SETL    :LNOT: HAL
Neil Turton's avatar
Neil Turton committed
155 156 157 158 159 160

 [ sony_50_id_bodge
        !       0,"Sony CDU50E 0.3n bodge included"
 |
        !       0,"Sony CDU50E 0.3n bodge NOT included"
 ]
Neil Turton's avatar
Neil Turton committed
161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197
 [ mode_select_dont_use_page_d
        !       0,"MODE SELECT will NOT send page D"
 |
        !       0,"MODE SELECT will send page D"
 ]
 [ :LNOT: mode_select_dont_use_page_d
  [ mode_select_ignore_page_d_error
        !       0,"Errors from MODE SELECT page D will be ignored"
  |
        !       0,"Errors from MODE SELECT page D will NOT be ignored"
  ]
 ]
 [ reset_on_drive_error
        !       0,"Drive will be reset on error"
 |
        !       0,"Drive will NOT be reset on error"
 ]
 [ fix_cr571b10e_maybe
        !       0,"Fix for CR571B 1.0e cache enabled"
 |
        !       0,"Fix for CR571B 1.0e cache disabled"
 ]
 [ fix_slow_when_no_drives
        !       0,"Fix for when no drives enabled"
 |
        !       0,"Fix for when no drives disabled"
 ]
 [ check_mode_sense_length
        !       0,"MODE SENSE data must be specific size"
 |
        !       0,"MODE SENSE data can be any size"
 ]
 [ extra_delay_after_irq
        !       0,"Extra delay after IRQ added"
 |
        !       0,"No extra delay after IRQ"
 ]
Neil Turton's avatar
Neil Turton committed
198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232
 [ fix_speed_select
        !       0,"Correct speed selection code assembled"
 |
        !       0,"Incorrect speed selection code assembled"
 ]
 [ long_command_timeout
        !       0,"Longer command timeout enabled"
 |
        !       0,"Longer command timeout disabled"
 ]
 [ test_long_timeouts
        !       0,"Longer test timeouts enabled"
 |
        !       0,"Normal test timeouts enabled"
 ]
 [ bodge_sony_selection
        !       0,"Sony selection bodge enabled"
 |
        !       0,"Sony selection bodge disabled"
 ]
 [ faster_startup
        !       0,"Faster startup enabled"
 |
        !       0,"Faster startup disabled"
 ]
 [ bodge_50e_sole_drive
        !       0,"Bodge for CDU50E sole drive enabled"
 |
        !       0,"Bodge for CDU50E sole drive disabled"
 ]
 [ full_drive_detection
        !       0,"Full drive detection code enabled"
 |
        !       0,"Full drive detection code disabled"
 ]
Neil Turton's avatar
Neil Turton committed
233 234


235 236 237 238 239 240 241

; debug flags
        GBLL    debug
debug   SETL    {FALSE}
;debug   SETL    {TRUE}
        GBLL    useDebugMacros
useDebugMacros SETL {TRUE}
Neil Turton's avatar
Neil Turton committed
242
        GBLL    cdebug
243 244
cdebug  SETL    debug
;cdebug  SETL    {FALSE}
Neil Turton's avatar
Neil Turton committed
245
        GBLL    cdebug2
246 247
cdebug2 SETL    debug
;cdebug2 SETL    {FALSE}
Neil Turton's avatar
Neil Turton committed
248 249 250 251 252
        GBLL    cdebug_debugging_all_ops
cdebug_debugging_all_ops        SETL    {FALSE}
 [ cdebug
        !       0,"*** This is a debug version ***"
 ]
253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338
 [ debug
   [ useDebugMacros
XDebugIt_WriteC * &6ba82
        MACRO
        CDebug_Time

        MEND

        MACRO
        CDebug_NewLine
        DLINE  "0","",0
        MEND

        MACRO
        CDebug_StrReg8  $str, $reg, $cc
        DREG  $reg ,"$str", $cc, LongWord
        MEND

        MACRO
        CDebug_StrReg4  $str, $reg, $cc
        DREG  $reg ,"$str", $cc, Word
        MEND

        MACRO
        CDebug_StrReg2  $str, $reg, $cc
        DREG  $reg ,"$str", $cc, Byte
        MEND

        MACRO
        CDebug_WriteS  $str, $reg, $cc
        DLINE  "$str",$cc,0
        MEND
   |
XDebugIt_WriteC * &6ba82
        GBLL    debugCDFSA
debugCDFSA   SETL    {TRUE}

        MACRO
        CDebug_Time

        MEND

        MACRO
        CDebug_NewLine
        Debug "CDFSA", "--"
        MEND

        MACRO
        CDebug_StrReg8  $str, $reg, $cc
        Debug  "CDFSA", "$str", $reg
	[	"$cc"=""
        CDebug_NewLine
        ]
        MEND

        MACRO
        CDebug_StrReg4  $str, $reg, $cc
        Debug  "CDFSA","$str", $reg
	[	"$cc"=""
        CDebug_NewLine
        ]
        MEND

        MACRO
        CDebug_StrReg2  $str, $reg, $cc
        Debug  "CDFSA","$str", $reg
	[	"$cc"=""
        CDebug_NewLine
        ]
        MEND

        MACRO
        CDebug_WriteS  $str, $reg, $cc
        Debug  "CDFSA","$str"
	[	"$cc"=""
        CDebug_NewLine
        ]
        MEND


   ]
 ]




Neil Turton's avatar
Neil Turton committed
339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403

;***************************************************************************
; Define registers etc.for general use
;***************************************************************************

SWIN RN 11

;***************************************************************************
; Debugging options
;***************************************************************************

OUTPUT_ON        * 0       ; =0 then no output, =1 then VDUcatcher or screen
OUTPUT_TO_SCREEN * 0       ; =0 then VDUcatcher, =1 then screen
MINCS            * 0       ; =1 then only use the ReadData command


X_bit                  *             1:SHL:17

;*************** CD driver SWI numbers *******************

XCD_BaseNumber         *        (&41240:OR:X_bit)
                       ^ XCD_BaseNumber
XCD_Version            #        1                      ;  0
XCD_ReadData           #        1                      ;  1
XCD_SeekTo             #        1                      ;  2
XCD_DriveStatus        #        1                      ;  3
XCD_DriveReady         #        1                      ;  4
XCD_GetParameters      #        1                      ;  5
XCD_SetParameters      #        1                      ;  6
XCD_OpenDrawer         #        1                      ;  7
XCD_EjectButton        #        1                      ;  8
XCD_EnquireAddress     #        1                      ;  9
XCD_EnquireDataMode    #        1                      ; 10
XCD_PlayAudio          #        1                      ; 11
XCD_PlayTrack          #        1                      ; 12
XCD_AudioPause         #        1                      ; 13
XCD_EnquireTrack       #        1                      ; 14
XCD_ReadSubChannel     #        1                      ; 15
XCD_CheckDrive         #        1                      ; 16
XCD_DiscChanged        #        1                      ; 17
XCD_StopDisc           #        1                      ; 18
XCD_DiscUsed           #        1                      ; 19
XCD_AudioStatus        #        1                      ; 20
XCD_Inquiry            #        1                      ; 21
XCD_DiscHasChanged     #        1                      ; 22
XCD_Control            #        1                      ; 23
XCD_Supported          #        1                      ; 24
XCD_Prefetch           #        1                      ; 25
XCD_Reset              #        1                      ; 26
XCD_CloseDrawer        #        1                      ; 27
XCD_IsDrawerLocked     #        1                      ; 28
XCD_AudioControl       #        1                      ; 29
XCD_LastError          #        1                      ; 30
XCD_AudioLevel         #        1                      ; 31
XCD_Register           #        1                      ; 32
XCD_Unregister         #        1                      ; 33
XCD_ByteCopy           #        1                      ; 34
XCD_Identify           #        1                      ; 35
XCD_ConvertToLBA       #        1                      ; 36
XCD_ConvertToMSF       #        1                      ; 37
XCD_ReadAudio          #        1                      ; 38
XCD_ReadUserData       #        1                      ; 39
XCD_SeekUserData       #        1                      ; 40
XCD_GetAudioParms      #        1                      ; 41
XCD_SetAudioParms      #        1                      ; 42
Ben Avison's avatar
Ben Avison committed
404
XCD_SCSIUserOp         #        1                      ; 43
Neil Turton's avatar
Neil Turton committed
405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522


;***************************************************************************

ON * 1
OFF * 0

TRUE * 1
FALSE * 0

;------------------------------------------------------------------
; Structure of r7 -> control block
;------------------------------------------------------------------
                      ^ 0
SdeviceIDoffset       #       4
LScardnumberoffset    #       4
LUNoffset             #       4
drivetypeoffset       #       4
control_block_size    #       0

;------------------------------------------------------------------

RESERVED              *       0
CONTROLBYTE           *       0


LBAFormat             *       0
MSFFormat             *       1
PBFormat              *       2

;*********************************************************************************************

mode1datasize         *       2048
;mode2datasize         *       2336
mode2datasize         *       2340

SYNC_SIZE                 *         12


MODE2__HEADER_M           *          0
MODE2__HEADER_S           *          1
MODE2__HEADER_F           *          2
MODE2__HEADER_MODE        *          3
MODE2__HEADER_SIZE        *          4

MODE2__SUB_HEADER_FILE    *          0    ; These fields are repeated at 4,5,6,7
MODE2__SUB_HEADER_CHANNEL *          1    ;
MODE2__SUB_HEADER_SUBMODE *          2    ;
MODE2__SUB_HEADER_CODING  *          3    ;
MODE2__SUB_HEADER_SIZE    *          8

MODE2__TOTALHEADERSIZE    *      MODE2__HEADER_SIZE + MODE2__SUB_HEADER_SIZE

SUBMODE__FORM             *       (1:SHL:5)

USERDATA__MODE2FORM1      *       2048
USERDATA__MODE2FORM2      *       2324


;*********************************************************************************************

MaxNumberOfSeconds    *      59
MinNumberOfSeconds    *       2
MaxNumberOfBlocks     *      74

MaxSCSIcardnumber     *       3
MaxLUN                *       3
MaxSCSIdeviceID       *       6

PhysicalBlockDifference *   2 * ( MaxNumberOfBlocks + 1 ) ; 2 seconds


;******************* SCSI error numbers  ***************************

SCSIErrorNumber       *   &00020100

                      ^   SCSIErrorNumber

NoRoom                # 1     ; 0
UnknownSCSISWI        # 1     ; 1
UnknownReason         # 1     ; 2
FailedBusReset        # 1     ; 3
InvalidHostId         # 1     ; 4
InvalidDeviceId       # 1     ; 5
gap                   # 3     ; 6 - 8
DeviceNotIdle         # 1     ; 9
TimeoutSelection      # 1     ; 10
TimeoutOther          # 1     ; 11
CommandQueueError     # 1     ; 12
CommandQueFull        # 1     ; 13
ReservationError      # 1     ; 14
InvalidParameters     # 1     ; 15
ParameterError        # 1     ; 16
NotFromIRQ            # 1     ; 17
OperationAborted      # 1     ; 18
UnexpectedDisconnect  # 1     ; 19

;***************** SCSI sense numbers ( TargetError )**********************

SCSISenseNumber       *     &201C0
                      ^     SCSISenseNumber

NoSense               # 1   ; 0
RecoveredError        # 1   ; 1
NotReady              # 1   ; 2
MediumError           # 1   ; 3
HardwareError         # 1   ; 4
IllegalRequest        # 1   ; 5
UnitAttention         # 1   ; 6
DataProtect           # 1   ; 7
BlankCheck            # 1   ; 8
VendorUnique          # 1   ; 9
CopyAborted           # 1   ; 10
AbortedCommand        # 1   ; 11
Equal                 # 1   ; 12
VolumeOverflow        # 1   ; 13
Miscompare            # 1   ; 14
ReservedSenseKey      # 1   ; 15
Ben Avison's avatar
Ben Avison committed
523
SenseUnknown          # 1   ; 16
Neil Turton's avatar
Neil Turton committed
524 525 526 527 528 529 530 531 532 533 534

;***************** SCSI status byte numbers *******************************

SCSIStatusNumber      *     &20180
                      ^     SCSIStatusNumber

CheckCondition        # 1
Busy                  # 1
Unknown               # 1


Ben Avison's avatar
Ben Avison committed
535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552
;******************* Other error numbers  **************************

BadAddress            * &FC
ADFSDriverInUse       * &108A0
ADFSBadDrive          * &108AC


;******************* Disc error numbers  ***************************

WinIDEErrABRT         * &02
WinIDEErrWFT          * &07
WinIDEErrCmdNotRdy    * &08
WinIDEErrCmdBusy      * &21
WinIDEErrBusy         * &22
WinIDEErrTimeout      * &23
WinIDEErrPacket       * &25


Neil Turton's avatar
Neil Turton committed
553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589
;******************* Retry count for all operations *********************

DefaultInternalRetryCount *  1600



;***************************** Values for SCSI_Op ************************

OK                    *  1
BUSY                  *  2
NOTREADY              *  4
UNAVAILABLE           *  8

ParameterBlockOffset  *  6

NODATA                *  0
READDATA              *  1
WRITEDATA             *  2

;----------------------------------------------------------------------------------------------
; CD_Supported values
;
; Meaning of number returned by CD_Supported
;  Bits    Description: ( if set )
;  ----    -----------------------
;  0 - 2   Level to which CD_AudioControl is supported ( 0 to 7 )
;          0 = no support at all
;          1 = supported to level 0
;          7 = supported to level 6
;    3     CD_Prefetch supported
;    4     CD_CloseDrawer supported
;    5     CD_AudioLevel supported
;  6 - 13  Number of different speeds supported by the drive - 1.
;          ie/ Standard drives support 1 speed, so will return 0.
;          The Sony 561 supports 2 speeds, so will return 1.
;   14     CD_ReadAudio supported
;   15     CD_Get/SetAudioParms supported
Ben Avison's avatar
Ben Avison committed
590 591
;   16     CD_SCSIUserOp supported
;  17 - 31  RESERVED ( 0 )
Neil Turton's avatar
Neil Turton committed
592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614
;----------------------------------------------------------------------------------------------

NOAUDIOCONTROLSUPPORT     *  0
AUDIOCONTROLSUPPORT1      *  2_1
AUDIOCONTROLSUPPORT2      *  2_10
AUDIOCONTROLSUPPORT3      *  2_11
AUDIOCONTROLSUPPORT4      *  2_100
AUDIOCONTROLSUPPORT5      *  2_101
AUDIOCONTROLSUPPORT6      *  2_110
AUDIOCONTROLSUPPORT7      *  2_111

SUPPORT__PREFETCH         *  2_1000

SUPPORT__CLOSE_DRAWER     *  2_10000

SUPPORT__AUDIO_LEVEL      *  2_100000

SUPPORT__SPEED_MULTIPLIER *  2_1000000

SUPPORT__READ_AUDIO       *  1:SHL:14

SUPPORT__AUDIO_PARMS      *  1:SHL:15

Ben Avison's avatar
Ben Avison committed
615
ATAPI_VERSIONBITS * (SUPPORT__SPEED_MULTIPLIER * 255) + SUPPORT__READ_AUDIO + SUPPORT__CLOSE_DRAWER + SUPPORT__AUDIO_PARMS
Neil Turton's avatar
Neil Turton committed
616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668

;****************
; Audio status returns
;****************

PLAYINGAUDIO  * 0
PAUSED        * 1
MUTED         * 2
PLAYCOMPLETED * 3
PLAYERROR     * 4
NOPLAY        * 5

;****************
; AudioControl hashes ( level 0 )
;****************

STEREO        * 3
MUTEDSTEREO   * 0
LEFTALL       * 2
RIGHTALL      * 1

STEREOLISTLENGTH * 14

;****************

;----------------------------------------------------------------------------------------------
; Layout of the register block
;----------------------------------------------------------------------------------------------
             ^ 0
REG_INFO_WORD       #  4
REG_COUNT           #  4
REG_TYPES           #  4
REGISTER_BLOCK_SIZE #  0

;----------------------------------------------------------------------------------------------
; The information word when registering
;----------------------------------------------------------------------------------------------
CD_COMMANDS                 * 32
USE_SCSI_READ               * 1<<6
USE_SCSI_SEEK               * 1<<7
USE_SCSI_INQUIRY            * 1<<8
USE_SCSI_CAPACITY           * 1<<9
USE_SCSI_READY              * 1<<10
USE_SCSI_STOPOPEN           * 1<<11
USE_SCSI_CHECK              * 1<<12
USE_SCSI_STATUS             * 1<<13
USE_SCSI_CONTROL            * 1<<14
USE_SCSI_PREFETCH           * 1<<15
USE_SCSI_RESET              * 1<<16
USE_PROPRIETARY_RUD         * 1<<17   ; = 1 if support own method of reading data
USE_COMPLEX_RUD             * 1<<18   ; = 1 if want SCSI scatter list method of reading data
USE_PROPRIETARY_SUD         * 1<<19   ; = 1 if support own method of seeking to data
USE_COMPLEX_SUD             * 1<<20   ; = 1 if want SCSI scatter list method of seeking to data
Ben Avison's avatar
Ben Avison committed
669
USE_SCSI_OP                 * 1<<21
Neil Turton's avatar
Neil Turton committed
670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692


INFORMATION_WORD    * CD_COMMANDS + USE_PROPRIETARY_RUD


DRIVE_TYPES         * 1
;----------------------------------------------------------------------------------------------



BUFFER_SIZE            *            2352 + 20      ; see EnquireDataMode


;----------------------------------------------------------------------------------------------
; Get and Set AudioParms reason codes
;----------------------------------------------------------------------------------------------

GAP__VOLUME_LEVELS          *         0

SAP__VOLUME_LEVELS          *         0

;----------------------------------------------------------------------------------------------

Neil Turton's avatar
Neil Turton committed
693 694 695
 [ faster_startup
CMOSDRIVEBITS   *       2_00011111
 ]
Neil Turton's avatar
Neil Turton committed
696 697

 END