mirror of
https://github.com/antoinevignau/source.git
synced 2025-01-22 14:30:24 +00:00
1 line
89 KiB
Plaintext
1 line
89 KiB
Plaintext
|
;*******************************************************
;
; SCSI Driver 'Command Table'.
;
; Written by Matt Gulick. Started May 20,1988
;
; Copyright Apple Computer, Inc. 1988,89
;
;*******************************************************
;*******************************************************
;
; This file contains the Command Tables that actually
; drives the SCSI Driver when talking to a target
; device. By changing these tables, the SCSI Driver
; will be able to talk to almost any class of SCSI
; Device. There are actually two tables in this file.
; The first table is a list of a two word group for
; each command supported.
;
; The first word is the actual SCSI Command Number
; followed by the low word of that commands table
; address. We use the only the low word because the
; second table is in the same bank as the indexing
; table.
;
; The second table is the actual command translation
; data. The first word is a set of flags that
; indicate some of the translation and verification
; that needs to take place.
;
; Bit 15 = Data is being sent to the device
; 14 = Data is to be received by us
; 13 = This is a Status Command
; 12 = This is a Control Command
; 11 = Data I/O Command
; 10 = Device I/O Command
; 9 = Command Includes Block Number
; 8 = Must be first device if linked
; 7 = Internal Driver Command Only
; 6 = Must issue a DISK_SW with this call
; 5 = Results in device offline
; 4 = Reserved
; 3 = Command Data needs no translation
; 2 = Reserved
; 1 = Block request count goes into command
; 0 = Byte request count goes into command
;
; The second word is a time out tick count to be used by
; the SCSI Manager to determine when to abandone any SCSI
; Device transaction due to lack of response by the
; target. Each tick = 250 ms.
;
; Any additional words are only used if Bit 3 above is
; zero. The translation bytes conatin two offsets. A
; Source and a Destination offset. This is used by the
; driver to take information fron the caller's command
; (Source) and .OR. them in to their proper location in
; the SCSI Command Packet (Destination).
;
; MSBit LSBit
; %0000 0000 0000 0000
;
; R S R D
; e o e e
; s u s s
; e r e t
; r c r i
; v e v t
; e e i
; d d n
; a
; t
; i
; o
; n
;
; A NULL Word at any location in the command entry
; will terminate translation for that command.
;
;*******************************************************
;*******************************************************
;
; Revision History:
;
;*******************************************************
; May 20, 1988 File started.
; Feb 28, 1989 Added Tape Drive Tables
STRING PASCAL
BLANKS OFF
PAGESIZE 70
PRINT NOGEN
PRINT NOMDIR
MACHINE M65816
PRINT OFF
INCLUDE 'scsihd.equates'
INCLUDE 'M16.MEMORY'
INCLUDE 'M16.UTIL'
PRINT ON
EJECT
;*******************************************************
;
; List of Commands Supported:
;
;*******************************************************
EXPORT cmd_t_tbl
cmd_t_tbl PROC
;-------------------------------------------------------------------------------
IF scsi_dtype = direct_acc THEN
;
;
;
;
dc.w $0028 ; Command $28 'READ (EXTENDED)'
dc.w scsi_cmd28 ; Mandatory
;
dc.w $002A ; Command $2A 'WRITE (EXTENDED)'
dc.w scsi_cmd2A ; Mandatory
;
dc.w $0008 ; Command $08 'READ'
dc.w scsi_cmd08 ; Mandatory
;
dc.w $000A ; Command $0A 'WRITE'
dc.w scsi_cmd0A ; Mandatory
;
dc.w $0000 ; Command $00 'TEST UNIT READY'
dc.w scsi_cmd00 ; Mandatory
;
dc.w $0003 ; Command $03 'REQUEST SENSE'
dc.w scsi_cmd03 ; Mandatory
;
dc.w $0025 ; Command $25 'READ CAPACITY'
dc.w scsi_cmd25 ; Mandatory
;
dc.w $0012 ; Command $12 'INQUIRY'
dc.w scsi_cmd12 ; Mandatory
;
dc
|