home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2003 April (Special)
/
Chip-Special_2003-04_Vypalujeme-cd-i-dvd.bin
/
soft
/
aspi
/
aspi_471a2.exe
/
include
/
scsidefs.inc
< prev
next >
Wrap
Text File
|
1998-07-07
|
14KB
|
316 lines
;****************************************************************************
;
; Name: SCSIDEFS.INC
;
; Description: SCSI definitions (Assembly Language)
;
;****************************************************************************
;****************************************************************************
; %%% TARGET STATUS VALUES %%%
;****************************************************************************
STATUS_GOOD equ 00h ;Status Good
STATUS_CHKCOND equ 02h ;Check Condition
STATUS_CONDMET equ 04h ;Condition Met
STATUS_BUSY equ 08h ;Busy
STATUS_INTERM equ 10h ;Intermediate
STATUS_INTCDMET equ 14h ;Intermediate-condition met
STATUS_RESCONF equ 18h ;Reservation conflict
STATUS_COMTERM equ 22h ;Command Terminated
STATUS_QFULL equ 28h ;Queue full
;****************************************************************************
; %%% SCSI MISCELLANEOUS EQUATES %%%
;****************************************************************************
MAXLUN equ 7 ;Maximum Logical Unit Id
MAXTARG equ 7 ;Maximum Target Id
MAX_SCSI_LUNS equ 64 ;Maximum Number of SCSI LUNs
MAX_NUM_HA equ 8 ;Maximum Number of SCSI HA's
;/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
;
; %%% SCSI COMMAND OPCODES %%%
;
;\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
;****************************************************************************
; %%% Commands for all Device Types %%%
;****************************************************************************
SCSI_CHANGE_DEF equ 040h ;Change Definition (Optional)
SCSI_COMPARE equ 039h ;Compare (O)
SCSI_COPY equ 018h ;Copy (O)
SCSI_COP_VERIFY equ 03Ah ;Copy and Verify (O)
SCSI_INQUIRY equ 012h ;Inquiry (MANDATORY)
SCSI_LOG_SELECT equ 04Ch ;Log Select (O)
SCSI_LOG_SENSE equ 04Dh ;Log Sense (O)
SCSI_MODE_SEL6 equ 015h ;Mode Select 6-byte (Device Specific)
SCSI_MODE_SEL10 equ 055h ;Mode Select 10-byte (Device Specific)
SCSI_MODE_SEN6 equ 01Ah ;Mode Sense 6-byte (Device Specific)
SCSI_MODE_SEN10 equ 05Ah ;Mode Sense 10-byte (Device Specific)
SCSI_READ_BUFF equ 03Ch ;Read Buffer (O)
SCSI_REQ_SENSE equ 003h ;Request Sense (MANDATORY)
SCSI_SEND_DIAG equ 01Dh ;Send Diagnostic (O)
SCSI_TST_U_RDY equ 000h ;Test Unit Ready (MANDATORY)
SCSI_WRITE_BUFF equ 03Bh ;Write Buffer (O)
;****************************************************************************
; %%% Commands Unique to Direct Access Devices %%%
;****************************************************************************
SCSI_COMPARE equ 039h ;Compare (O)
SCSI_FORMAT equ 004h ;Format Unit (MANDATORY)
SCSI_LCK_UN_CAC equ 036h ;Lock Unlock Cache (O)
SCSI_PREFETCH equ 034h ;Prefetch (O)
SCSI_MED_REMOVL equ 01Eh ;Prevent/Allow medium Removal (O)
SCSI_READ6 equ 008h ;Read 6-byte (MANDATORY)
SCSI_READ10 equ 028h ;Read 10-byte (MANDATORY)
SCSI_RD_CAPAC equ 025h ;Read Capacity (MANDATORY)
SCSI_RD_DEFECT equ 037h ;Read Defect Data (O)
SCSI_READ_LONG equ 03Eh ;Read Long (O)
SCSI_REASS_BLK equ 007h :Reassign Blocks (O)
SCSI_RCV_DIAG equ 01Ch ;Receive Diagnostic Results (O)
SCSI_RELEASE equ 017h ;Release Unit (MANDATORY)
SCSI_REZERO equ 001h ;Rezero Unit (O)
SCSI_SRCH_DAT_E equ 031h ;Search Data Equal (O)
SCSI_SRCH_DAT_H equ 030h ;Search Data High (O)
SCSI_SRCH_DAT_L equ 032h ;Search Data Low (O)
SCSI_SEEK6 equ 00Bh ;Seek 6-Byte (O)
SCSI_SEEK10 equ 02Bh ;Seek 10-Byte (O)
SCSI_SEND_DIAG equ 01Dh ;Send Diagnostics (MANDATORY)
SCSI_SET_LIMIT equ 033h ;Set Limits (O)
SCSI_START_STP equ 01Bh ;Start/Stop Unit (O)
SCSI_SYNC_CACHE equ 035h ;Synchronize Cache (O)
SCSI_VERIFY equ 02Fh ;Verify (O)
SCSI_WRITE6 equ 00Ah ;Write 6-Byte (MANDATORY)
SCSI_WRITE10 equ 02Ah ;Write 10-Byte (MANDATORY)
SCSI_WRT_VERIFY equ 02Eh ;Write and Verify (O)
SCSI_WRITE_LONG equ 03Fh ;Write Long (O)
SCSI_WRITE_SAME equ 041h ;Write Same (O)
;****************************************************************************
; %%% Commands Unique to Sequential Access Devices %%%
;****************************************************************************
SCSI_ERASE equ 019h ;Erase (MANDATORY)
SCSI_LOAD_UN equ 01Bh ;Load/Unload (O)
SCSI_LOCATE equ 02Bh ;Locate (O)
SCSI_RD_BLK_LIM equ 005h ;Read Block Limits (MANDATORY)
SCSI_READ_POS equ 034h ;Read Position (O)
SCSI_READ_REV equ 00Fh ;Read Reverse (O)
SCSI_REC_BF_DAT equ 014h ;Recover Buffer Data (O)
SCSI_RESERVE equ 016h ;Reserve Unit (MANDATORY)
SCSI_REWIND equ 001h ;Rewind (MANDATORY)
SCSI_SPACE equ 011h ;Space (MANDATORY)
SCSI_VERIFY_T equ 013h ;Verify (Tape) (O)
SCSI_WRT_FILE equ 010h ;Write Filemarks (MANDATORY)
;****************************************************************************
; %%% Commands Unique to Printer Devices %%%
;****************************************************************************
SCSI_PRINT equ 00Ah ;Print (MANDATORY)
SCSI_SLEW_PNT equ 00Bh ;Slew and Print (O)
SCSI_STOP_PNT equ 01Bh ;Stop Print (O)
SCSI_SYNC_BUFF equ 010h ;Synchronize Buffer (O)
;****************************************************************************
; %%% Commands Unique to Processor Devices %%%
;****************************************************************************
SCSI_RECEIVE equ 008h ;Receive (O)
SCSI_SEND equ 00Ah ;Send (O)
;****************************************************************************
; %%% Commands Unique to Write-Once Devices %%%
;****************************************************************************
SCSI_MEDIUM_SCN equ 038h ;Medium Scan (O)
SCSI_SRCHDATE10 equ 031h ;Search Data Equal 10-Byte (O)
SCSI_SRCHDATE12 equ 0B1h ;Search Data Equal 12-Byte (O)
SCSI_SRCHDATH10 equ 030h ;Search Data High 10-Byte (O)
SCSI_SRCHDATH12 equ 0B0h ;Search Data High 12-Byte (O)
SCSI_SRCHDATL10 equ 032h ;Search Data Low 10-Byte (O)
SCSI_SRCHDATL12 equ 0B2h ;Search Data Low 12-Byte (O)
SCSI_SET_LIM_10 equ 033h ;Set Limits 10-Byte (O)
SCSI_SET_LIM_12 equ 0B3h ;Set Limits 10-Byte (O)
SCSI_VERIFY10 equ 02Fh ;Verify 10-Byte (O)
SCSI_VERIFY12 equ 0AFh ;Verify 12-Byte (O)
SCSI_WRITE12 equ 0AAh ;Write 12-Byte (O)
SCSI_WRT_VER10 equ 02Eh ;Write and Verify 10-Byte (O)
SCSI_WRT_VER12 equ 0AEh ;Write and Verify 12-Byte (O)
;****************************************************************************
; %%% Commands Unique to CD-ROM Devices %%%
;****************************************************************************
SCSI_PLAYAUD_10 equ 045h ;Play Audio 10-Byte (O)
SCSI_PLAYAUD_12 equ 0A5h ;Play Audio 12-Byte 12-Byte (O)
SCSI_PLAYAUDMSF equ 047h ;Play Audio MSF (O)
SCSI_PLAYA_TKIN equ 048h ;Play Audio Track/Index (O)
SCSI_PLYTKREL10 equ 049h ;Play Track Relative 10-Byte (O)
SCSI_PLYTKREL12 equ 0A9h ;Play Track Relative 12-Byte (O)
SCSI_READCDCAP equ 025h ;Read CD-ROM Capacity (MANDATORY)
SCSI_READHEADER equ 044h ;Read Header (O)
SCSI_SUBCHANNEL equ 042h ;Read Subchannel (O)
SCSI_READ_TOC equ 043h ;Read TOC (O)
;****************************************************************************
; %%% Commands Unique to Scanner Devices %%%
;****************************************************************************
SCSI_GETDBSTAT equ 034h ;Get Data Buffer Status (O)
SCSI_GETWINDOW equ 025h ;Get Window (O)
SCSI_OBJECTPOS equ 031h ;Object Postion (O)
SCSI_SCAN equ 01Bh ;Scan (O)
SCSI_SETWINDOW equ 024h ;Set Window (MANDATORY)
;****************************************************************************
; %%% Commands Unique to Optical Memory Devices %%%
;****************************************************************************
SCSI_UpdateBlk equ 3Dh ;Update Block (O)
;****************************************************************************
; %%% Commands Unique to Medium Changer Devices %%%
;****************************************************************************
SCSI_EXCHMEDIUM equ 0A6h ;Exchange Medium (O)
SCSI_INITELSTAT equ 007h ;Initialize Element Status (O)
SCSI_POSTOELEM equ 02Bh ;Position to Element (O)
SCSI_REQ_VE_ADD equ 0B5h ;Request Volume Element Address (O)
SCSI_SENDVOLTAG equ 0B6h ;Send Volume Tag (O)
;****************************************************************************
; %%% Commands Unique to Communication Devices %%%
;****************************************************************************
SCSI_GET_MSG_6 equ 008h ;Get Message 6-Byte (MANDATORY)
SCSI_GET_MSG_10 equ 028h ;Get Message 10-Byte (O)
SCSI_GET_MSG_12 equ 0A8h ;Get Message 12-Byte (O)
SCSI_SND_MSG_6 equ 00Ah ;Send Message 6-Byte (MANDATORY)
SCSI_SND_MSG_10 equ 02Ah ;Send Message 10-Byte (O)
SCSI_SND_MSG_12 equ 0AAh ;Send Message 12-Byte (O)
;/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
;
; %%% END OF SCSI COMMAND OPCODES %%%
;
;/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
;****************************************************************************
; %%% Request Sense Data Format %%%
;****************************************************************************
SENSE_DATA_FMT struc
ErrorCode db ? ;Error Code (70H or 71H)
SegmentNum db ? ;Number of current segment descriptor
SenseKey db ? ;Sense Key(See bit definitions too)
InfoByte0 db ? ;Information MSB
InfoByte1 db ? ;Information MID
InfoByte2 db ? ;Information MID
InfoByte3 db ? ;Information LSB
AddSenLen db ? ;Additional Sense Length
ComSpecInf0 db ? ;Command Specific Information MSB
ComSpecInf1 db ? ;Command Specific Information MID
ComSpecInf2 db ? ;Command Specific Information MID
ComSpecInf3 db ? ;Command Specific Information LSB
AddSenseCode db ? ;Additional Sense Code
AddSenQual db ? ;Additional Sense Code Qualifier
FieldRepUCode db ? ;Field Replaceable Unit Code
SenKeySpec15 db ? ;Sense Key Specific 15th byte
SenKeySpec16 db ? ;Sense Key Specific 16th byte
SenKeySpec17 db ? ;Sense Key Specific 17th byte
AddSenseBytes db ? ;Additional Sense Bytes
SENSE_DATA_FMT ends
;****************************************************************************
; %%% REQUEST SENSE ERROR CODE %%%
;****************************************************************************
SERROR_CURRENT equ 070H ;Current Errors
SERROR_DEFERED equ 071H ;Deferred Errors
;****************************************************************************
; %%% REQUEST SENSE BIT DEFINITIONS %%%
;****************************************************************************
SENSE_VALID equ 080H ;Byte 0 Bit 7
SENSE_FILEMRK equ 080H ;Byte 2 Bit 7
SENSE_EOM equ 040H ;Byte 2 Bit 6
SENSE_ILI equ 020H ;Byte 2 Bit 5
;****************************************************************************
; %%% REQUEST SENSE SENSE KEY DEFINITIONS %%%
;****************************************************************************
KEY_NOSENSE equ 00H ;No Sense
KEY_RECERROR equ 01H ;Recovered Error
KEY_NOTREADY equ 02H ;Not Ready
KEY_MEDIUMERR equ 03H ;Medium Error
KEY_HARDERROR equ 04H ;Hardware Error
KEY_ILLGLREQ equ 05H ;Illegal Request
KEY_UNITATT equ 06H ;Unit Attention
KEY_DATAPROT equ 07H ;Data Protect
KEY_BLANKCHK equ 08H ;Blank Check
KEY_VENDSPEC equ 09H ;Vendor Specific
KEY_COPYABORT equ 0AH ;Copy Abort
KEY_EQUAL equ 0CH ;Equal (Search)
KEY_VOLOVRFLW equ 0DH ;Volume Overflow
KEY_MISCOMP equ 0EH ;Miscompare (Search)
KEY_RESERVED equ 0FH ;Reserved
;****************************************************************************
; %%% Inquiry Data Format %%%
;****************************************************************************
INQRY_DATA_FMT struc
PerQualTyp db ? ;Peripheral Qualifier and Device Type
db ? ;Reserved except for bit 7 (RMB)
Versions db ? ;ISO, ECMA and ANSI versions
db ? ;
AddLengh db ? ;Additional Length
Reserved1 db ? ;Reserved
Reserved2 db ? ;Reserved
Flags db ? ;RelAdr, WBus32, WBus16, Sync, ....
VendorId db 8 dup (?) ;Command Specific Information LSB
ProdId db 16 dup (?) ;Additional Sense Code
ProdRev db 4 dup (?) ;Additional Sense Code Qualifier
INQRY_DATA_FMT ends
;****************************************************************************
; %%% PERIPHERAL DEVICE TYPE DEFINITIONS %%%
;****************************************************************************
DTYPE_DASD equ 00H ;Disk Device
DTYPE_SEQD equ 01H ;Tape Device
DTYPE_PRNT equ 02H ;Printer
DTYPE_PROC equ 03H ;Processor
DTYPE_WORM equ 04H ;Write-once read-multiple
DTYPE_CROM equ 05H ;CD-ROM device
DTYPE_CDROM equ 05H ;CD-ROM device
DTYPE_SCAN equ 06H ;Scanner device
DTYPE_OPTI equ 07H ;Optical memory device
DTYPE_JUKE equ 08H ;Medium Changer device
DTYPE_COMM equ 09H ;Communications device
DTYPE_RESL equ 0AH ;Reserved (low)
DTYPE_RESH equ 1EH ;Reserved (high)
DTYPE_UNKNOWN equ 1FH ;Unknown or no device type
;****************************************************************************
; %%% ANSI APPROVED VERSION DEFINITIONS %%%
;****************************************************************************
ANSI_MAYBE equ 00H ;Device may or may not be ANSI approved stand
ANSI_SCSI1 equ 01H ;Device complies to ANSI X3.131-1986 (SCSI-1)
ANSI_SCSI2 equ 02H ;Device complies to SCSI-2
ANSI_RESLO equ 03H ;Reserved (low)
ANSI_RESHI equ 07H ;Reserved (high)
;****************************************************************************
; %%% 6-Byte Data Transfer Command Format %%%
;****************************************************************************
DATA_XFER_6 struc
_OpCode db ? ;Opcode of SCSI Command
_LUNumber db ? ;Logical Unit Number & LBA MSB
_LBAMiddl db ? ;Logical Block Address Middle Byte
_LBALeast db ? ;Logical Block Address Least Byte
_Length db ? ;Transfer Length
_Control db ? ;Control Byte
DATA_XFER_6 ends
;****************************************************************************
; %%% 10-Byte Data Transfer Command Format %%%
;****************************************************************************
_LBA_3rd equ _OpCode+3 ;Logical Block Address 3rd Byte
_LBA_2nd equ _OpCode+4 ;Logical Block Address 2nd Byte
_LBA_1st equ _OpCode+5 ;Logical Block Address 1st Byte
_LBA_0th equ _OpCode+6 ;Logical Block Address 0th Byte
_Length_Hi equ _OpCode+7 ;Transfer Length High
_Length_Lo equ _OpCode+8 ;Transfer Length Low
_Control10 equ _OpCode+9 ;Control Byte