Emerson MVME147 manual

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170

Go to page of

A good user manual

The rules should oblige the seller to give the purchaser an operating instrucion of Emerson MVME147, along with an item. The lack of an instruction or false information given to customer shall constitute grounds to apply for a complaint because of nonconformity of goods with the contract. In accordance with the law, a customer can receive an instruction in non-paper form; lately graphic and electronic forms of the manuals, as well as instructional videos have been majorly used. A necessary precondition for this is the unmistakable, legible character of an instruction.

What is an instruction?

The term originates from the Latin word „instructio”, which means organizing. Therefore, in an instruction of Emerson MVME147 one could find a process description. An instruction's purpose is to teach, to ease the start-up and an item's use or performance of certain activities. An instruction is a compilation of information about an item/a service, it is a clue.

Unfortunately, only a few customers devote their time to read an instruction of Emerson MVME147. A good user manual introduces us to a number of additional functionalities of the purchased item, and also helps us to avoid the formation of most of the defects.

What should a perfect user manual contain?

First and foremost, an user manual of Emerson MVME147 should contain:
- informations concerning technical data of Emerson MVME147
- name of the manufacturer and a year of construction of the Emerson MVME147 item
- rules of operation, control and maintenance of the Emerson MVME147 item
- safety signs and mark certificates which confirm compatibility with appropriate standards

Why don't we read the manuals?

Usually it results from the lack of time and certainty about functionalities of purchased items. Unfortunately, networking and start-up of Emerson MVME147 alone are not enough. An instruction contains a number of clues concerning respective functionalities, safety rules, maintenance methods (what means should be used), eventual defects of Emerson MVME147, and methods of problem resolution. Eventually, when one still can't find the answer to his problems, he will be directed to the Emerson service. Lately animated manuals and instructional videos are quite popular among customers. These kinds of user manuals are effective; they assure that a customer will familiarize himself with the whole material, and won't skip complicated, technical information of Emerson MVME147.

Why one should read the manuals?

It is mostly in the manuals where we will find the details concerning construction and possibility of the Emerson MVME147 item, and its use of respective accessory, as well as information concerning all the functions and facilities.

After a successful purchase of an item one should find a moment and get to know with every part of an instruction. Currently the manuals are carefully prearranged and translated, so they could be fully understood by its users. The manuals will serve as an informational aid.

Table of contents for the manual

  • Page 1

    1 GENERAL INFORMA TION Introduction The MVME147 MPU VMEmodule contains a port to the Small Computer Systems Interface (SCSI) bus. The hardware interface is the WD33C93 SCSI interface controller. To relieve you of having to follow SCS I bus protocol, the SCS I firmware allows you to pass commands to the bus through high le vel command packets. Stand[...]

  • Page 2

    GENERAL INFO RMATION 1-2 1 Interrupt mode is the most processor-efficien t mode of operation. Multitas king is allowed fo r TA RGETs that su pport a rbitration, res e lectio n, and the message-out phase. When using the interrupt mode, you must specify the interrupt level in the packet description (refer to the packet descriptions in Chapter 7) . Th[...]

  • Page 3

    MVME14 7 S CSI Firmware Entry Po ints 1-3 1 6. $FFFE0 79A ( R TE entry ) N ote Within the SCSI firmware, which can stand alone without the debug monitor, t he first six longwords a re the branch table entri es refe renced abov e. The hex offsets pro vided reside withi n the non-volatil e RAM. The following are descriptions of the six entry points. [...]

  • Page 4

    GENERAL INFO RMATION 1-4 1 Interrupt Structure paragraph in Chapter 4) or SCS I bus activity is slowed down. Additional comman ds may be sent to the SCSI firmwar e for a differen t peripheral device. $FFFE078E: FUNNEL COMMAND ENTRY This entry point is used by a pplication s that require multiple interfaces to the SCSI firm ware. Unlike the single u[...]

  • Page 5

    Equipment Supported 1-5 1 any particular con troller, nor does Motorola a ssume responsi bilit y for the operation of equipme nt manufactured by non- Motorola com panies. Refer to Appendix A for information o n how to use this firmware program. CONTROLLE R DEVICE P AR T CODE TYPE MANUF ACTUR ER/MODEL NUMB ER NOT ES 0D Flop py TEAC FD23 5J 2 0E W in[...]

  • Page 6

    GENERAL INFO RMATION 1-6 1 Streaming T anberg 36 60 (853 5) 15 0M b 6 Ta p e Cassette TEAC MT - 2ST/45 S2 2 Ta p e CONTROLLE R DEVICE P AR T CODE TYPE MANUF ACTUR ER/MODEL NUMB ER NOT ES 13 W inches ter Seagate W R EN IV 94171 77 777000 1 ,2 W inchester Sea gate W REN V 9418 1 777777 50 2 W inchester Maxtor 4380 S 2 W inchester Maxtor 8760 S 2 14 W[...]

  • Page 7

    Equipment Supported 1-7 1 Floppy 2,3 18 8mm T ape Exabyt e EXB- 8200 82 0010-0 09 2 Devices Supported Un der Common Command Set W inchester T elevideo 700 0/740 0/3500 1,2 Floppy T elevideo 700 0/740 0/3500 1002 921-1B 1,2 ,3 W inchester Sea gate W REN III 94 16 1 7777 4620 1,2 W inchester Sea gate W REN IIIHH 94 211 1,2 W in c hest er M icropol is[...]

  • Page 8

    GENERAL INFO RMATION 1-8 1 Related Documentation The publications listed in the following table m ay provide additional helpful information. If not shipped with this product, they may be purcha sed from Motorola’ s Literature Distribution Center, 61 6 West 24th Street, Tempe, AZ 85282; te lephone (6 02) 994-65 61. Non-Motorola do cuments may be o[...]

  • Page 9

    Manual Term inology 1-9 1 NOTE: Although not shown in the above list , each Motorol a Computer Group manual publication number is suffixed with characters which repres ent the revision level of the document, such as /D2 ( the seco nd revision of a ma nu al); supp lement bears the sa me number a s the manua l but has a suffix such as /A1 (the f irst[...]

  • Page 10

    GENERAL INFO RMATION 1-10 1 Unless otherwise specified, all addr es s references are in hexa decimal throughout this manual. An asterisk (*) following th e signal name f or signal s which are level signi ficant denotes that the signal is true or valid when the signal is low. An asterisk (*) fol lowing the si gnal name for sign als which a re edge s[...]

  • Page 11

    2 CUST OM SCSI P ACKETS Introduction The SCSI firmware requests "canned" functions from SCSI disk controllers and from SCSI tape con trollers. Some of these fun ctions are disk read and write, disk format, tape read and write, and tape positioning operatio ns. The "canned" function s are only provided fo r the supported SCSI dev[...]

  • Page 12

    CUSTOM SCSI PACKETS 2-2 2 FC B8 74 30 +$00 Contr oller LUN Device L UN +$02 Stat us Byte 0 Stat u s Byte 1 (N o te 1) +$04 Script Poin ter (M SW) +$06 Script Point er (LSW) +$08 Command T able Pointer (MSW) (Note 2) +$0A Command T able Pointer (LS W) (Note 2) + $ 0 C 0000 +$0E Flag = 0 0 0 0 +$10 Scatt e r/Gathe r Count + $ 1 2 0000 +$14 0 0 Func t[...]

  • Page 13

    Initiator Role Cus tom Packet 2-3 2 $0E 00000000 Initia tor r ole (T ARGET enable/sequence bit undefined) $0F 00000000 Reserved $10 xxxxxxxx xxxxxxx x Scatter/g ather en try count. No retry on firmwar e if scatte r/ ga th er DMA is used because c ommand scatt e r/ ga th er table could be modifi ed after the command is complete if disconnect/r esele[...]

  • Page 14

    CUSTOM SCSI PACKETS 2-4 2 This first class is used for command execution and/o r message passing through the MVME147 SCSI firmware while the module is playing the initiator role. According to SCSI definition, an initiator is a SCSI device (usually a host system) which requests an operation to be performed by another SCSI device; a TARGET is a SCSI [...]

  • Page 15

    Initiator Role Cus tom Packet 2-5 2 commonly called a "thread"). Th e script allows the SCSI firmware to follow the TARG ET bus sequences and also a llows the firmware to resume a disconnected thread once a disconnect/ res elect occurs. Be cause the SBC allows "multithreading" of SCSI commands on the SCSI bus, a script is necess[...]

  • Page 16

    CUSTOM SCSI PACKETS 2-6 2 Scripts only specify the information transfer phases. The bus free, arbitration, and selection phases do not need to be specified in a script. The script codes that are understood by the MVME147 SC SI firmwa re are listed in the following table. ( Note that TARGET ro le scripts are described in the Target Sequence Custom P[...]

  • Page 17

    Initiator Role Cus tom Packet 2-7 2 If you suspect data integrity error, you can set up the SCSI script to execute the data phase and then disconnect from the bus (script code 0x2c) o r just return as an intermediate return witho ut disconnect from the bus (script code 0 x28). Firmware executes the data ph ase and then returns the firm ware parity [...]

  • Page 18

    CUSTOM SCSI PACKETS 2-8 2 FC B8 74 30 +$00 Status /Flag By te Retry Count (00) +$02 Link Poi nter ( M SW) +$04 Link Poin ter (L SW) +$06 Comma nd Leng th +$08 SCSI Command Descriptor Block (CDB) +$0A SCSI Command Descriptor Block (CDB) +$0C SCSI Command Descriptor Block (CDB) +$0E SCSI Command Descriptor Block (CDB) +$10 SCSI Command Descriptor Blo[...]

  • Page 19

    Initiator Role Cus tom Packet 2-9 2 Even Byte Odd Byte FC B8 74 30 +$68 T ran sfer Ad dress + $ 6 A 0000 + $ 6 C 0000 + $ 6 E 0000 + $ 7 0 0000 +$72 Comm and Offset +$74 Sense Data Bl ock . . . +$9E Sense Data Bl ock $00 xxxxxxxx Stat us /flag byte 0....... Lnk -- link flag bit disabled 1....... Lnk -- link command table s , support linked comm[...]

  • Page 20

    CUSTOM SCSI PACKETS 2-10 2 status (Note 2 ) ...1.... CSCSI -- does n ot check SCS I statu s (Note 2) ....0... SCSI firmwar e uses SCSI rule s (Note 3) ....1... SASI mode flag -- firmware uses SASI rules (Note 3) .....1.. SG -- sc at ter/ ga ther enable, use da ta points to scatt er/gath er table. Duri ng custom SCS I packet, you h ave t o se t thi [...]

  • Page 21

    Initiator Role Cus tom Packet 2-11 2 ......0. ASYNC -- asynchrono us transfers e nable $01 00000000 Retry count (must be 00) $02 xxxxxxxx xxxxxxx x Li nk pointer (MSW) -- for l i nke d c o mm an ds. V alid only if link flag bit = 1 $04 xxxxxxxx xxxxxxx x Link pointer (LS W) $06 xxxxxxxx xxxxxxx x Command lengt h -- length of the CDB (in byte s) $08[...]

  • Page 22

    CUSTOM SCSI PACKETS 2-12 2 the fir mware stat us ($64) and sent to initiat or . If you determin e to use bit 1-4, such as data parity error , th e firmw are non-z ero status o n bit 1- 4 ha s high er priority . Y ou shou ld load this byte wi th the appropri ate s tatu s and s et up the SCSI scri pt for status phas e before the targe t sequence pack[...]

  • Page 23

    Initiator Role Cus tom Packet 2-13 2 $1E xxxxxxxx xxxxx xxx Me ssage -in le ngth - - bytes expect ed during message-i n (max=2 58 for extended messages) $20 xxxxxxxx xxxxxxx x Message-in poin ter (MSW) -- to RAM buf fer wher e firmwar e stores rec e iv e d messages $22 xxxxxxxx xxxxxxx x Message-in poin ter (LSW) $24 xxxxxxxx xxxxxxx x Message-out [...]

  • Page 24

    CUSTOM SCSI PACKETS 2-14 2 $62 xxxxxxxx xxxxxxx x Sector number in error ( LSW ) $64 xxxxxxxx Initiato r r ole - Status byte from SCSI contr oller (un chang ed) TA R G E T r o l e - firmwar e determined SCSI status $65 xxxxxxxx Reserved $66 xxxxxxxx xxxxxxx x T ransfer a ddress -- for a read or writ e. This is t he addr ess of the nex t byte to be [...]

  • Page 25

    Initiator Role Cus tom Packet 2-15 2 Example: Sending linked commands to a disk controller You intend to implement a read-modify-w rite function for your particular operating sys tem. The benefit of linking com mands on the SCSI bus is a better utilization of bus bandwidth. When two commands are linked, the TARGET does not disconnect between comman[...]

  • Page 26

    CUSTOM SCSI PACKETS 2-16 2 second command. The fo llowing linked command example may be performed on the Arch ive 2150 disk controller ( it supports linked commands). The SCSI firmware does not support linked command with flag. PACKET FOR THE LINKED COMMAND EXAMPLE: PACKET DC.W $0400 CONTROLLER LEVEL=4, DEVICE LUN= 0 D S.W 1 RE TURNED STATUS WORD ([...]

  • Page 27

    Initiator Role Cus tom Packet 2-17 2 ******* ***** ******** ***** ****COM MAN D TA BLE FOR THE FIRST COMMAND* ******* ***** * CT1 D C.B %1100000 0 * X LINK FLAG ON * X PARITY CHECKING ENABLED * X DMA ENABLED * X CUSTOM SEQ. FLAG=> FIRMWARE CHECKS STATUS * X FIRMWARE USES SCSI RULES (RES ELECT, ETC.) * X RESERVED X NO SCATTER/G ATHER OPERATION X [...]

  • Page 28

    CUSTOM SCSI PACKETS 2-18 2 ******* ******** ***** ** ***** **CO MMAN D TABLE FOR THE WRITE COMMAND* ******* ***** * CT2 D C.B %0100000 0 * X LINK FLAG OFF * X PARITY CHECKING ENABLED * X DMA ENABLED * X CUSTOM SEQ. FLAG=> FIRMWARE CHECKS STATUS * X FIRMWARE USES SCSI RULES (RES ELECT, ETC.) * X RESERVED . X NO SCATTER/G ATHER X ASYNC S CSI TRANS[...]

  • Page 29

    TARGET Enable Custom Packet 2-19 2 N ote A linked command with the flag bit set is not supported, and the flag bit is ignored if it is set. T ARGET Enable Custom Packet The TARGET enable custom packet is show n in the following table. Even Byte Odd Byte FC B8 74 30 +$00 Contr oller LUN Device L UN +$02 Stat us Byte 0 Stat u s Byte 1 (N o te 1) [...]

  • Page 30

    CUSTOM SCSI PACKETS 2-20 2 $03 xxxxxxxx Status from SCSI firmwar e (byte 1) (Note 1) $04 xxxxxxxx xxxxxxx x Not used $06 xxxxxxxx xxxxxxx x Not used $08 xxxxxxxx xxxxxxx x Command t able pointer (MSW) (Note 2) $0A xxxxxxxx xxxxxxx x Command t able pointer (L SW) (Note 2) $0C 00000000 0000 0000 Res erved $0E 1....... TA R G E T r o l e .1...... TA R[...]

  • Page 31

    TARGET Enable Custom Packet 2-21 2 This second "class" of custom packets is used to enable TARG ET role service by the MVME147 S CSI firmware. All eight SCSI-defined logical units can be independently serviced through the f irmware. Each logical unit nee ds to be enabled separately. In o ther words, a TARG ET enable packet is sent for eac[...]

  • Page 32

    CUSTOM SCSI PACKETS 2-22 2 WORD $16: The interrupt level must be no-zero because TARGET role support is not used in non-interrupt mode. (If TA RGET role support were done in po lled mode, nothing else would be able to run on the MVME14 7 other than the TARGE T firmware because the microprocessor would poll for a selection as a TARGET.) Th e vector [...]

  • Page 33

    TARGET Sequen ce Custom Packet 2-23 2 +$1A 0 0 Retry C ount $00 00000xxx Contr oller logical uni t numb er $01 00000xxx Device logical uni t numb er $02 xxxxxxxx Status from SCSI firmwar e (byte 0) (Note 1) $03 xxxxxxxx Status from SCSI firmwar e (byte 1) (Note 1) $04 xxxxxxxx xxxxxxx x Script pointer (MSW) $06 xxxxxxxx xxxxxxx x Script pointer (LS[...]

  • Page 34

    CUSTOM SCSI PACKETS 2-24 2 This third "class" of custom packets is used to service received commands an d messages for an enabled M VME147 TARGET logical unit. W hen an initiator selects the MVME147 as a TARGET, the firmware switches to TARGET role, determines which logical unit is desired by the initiator , and returns to the TARGET serv[...]

  • Page 35

    TARGET Sequen ce Custom Packet 2-25 2 WORDS $0 4 and $06: SCRIPT POINTER -- The address of the TARG ET script to be performed to service the initiator request. In TARGET role, the MVME147 co ntrols the SCSI bus. The TARGET script tells the firmwa re which inform ation tran sfer phases to cycle through to service the initiator request that was encod[...]

  • Page 36

    CUSTOM SCSI PACKETS 2-26 2 3. During the m essage-in phase, the COMMAND COMPLETE message is sent to the initi ator . 4. The END OF T ARGET SCRIP T code causes the firmwar e to disconnect fro m the bus and return to yo u (thr ough the vector pr ovided in the T ARGET sequence packet) with a fin al status of $xx18, indicating the T ARGET script wa s c[...]

  • Page 37

    TARGET Sequen ce Custom Packet 2-27 2 (Byte 01): Not used by the TA RGET role firmware. M ust be set to $00. CT words $02 and $04: LINK POINTER. Not used by the TARGET r ole firmware. CT word $06: COMMAND LENGTH. Not used by the TARG ET sequence call. (The CDB received from initiator i s stored in the com mand table that was provided in the TARGE T[...]

  • Page 38

    CUSTOM SCSI PACKETS 2-28 2 CT words $16 and $18: DATA LE NGTH. The number of by tes to transfer during either the data- in or the data-out phase. Not used if DMA is enabled and SG bit is set in statu s/f la g byte in word o. CT words $1A and $1C: DATA POINTER. If a D A TA-IN code is in the TARGET script, the firmware starts tra nsferring data FROM [...]

  • Page 39

    TARGET Sequen ce Custom Packet 2-29 2 STATUS BYTES 2 and 3. Not used by the TARGET role f irmware. Packet word $1A: RETRY COUNT. Not used by the TARGET role firmware.[...]

  • Page 40

    CUSTOM SCSI PACKETS 2-30 2[...]

  • Page 41

    3 P ACKET RETURN ST A TUS Packet Return Status When packets are returned to the user, they contain two status words: on e with an offset of $02 and the other with an offset of $18, as shown in the tables below, respectively. The first table details the status codes co ntained in the word at offset $0 2. Refer to th e Interface Rules for the SCS I F[...]

  • Page 42

    PACKET RETURN STATUS 3-2 3 Bit 15 (FINALSTAT) 1 = Intermediate return. 0 = Fina l sta tus. The script processing completed succ- essfully, OR the s cript processing encountered a f atal error. N ote This does not mea n that the oper ation that the user requeste d on the SCSI was successful. The status is contai ned in the stat us code (bits 7-0.) *[...]

  • Page 43

    Packet Return Status 3-3 3 Bit 2 (EOM) End of media . Bit 3 (F M) Filemark Bit 4 (COM MAND RETRY) 1 = Retries were performed. Bit 5 (COM MAND RE- TRY OV ERFL OW) 1 = Retr y ove rflow. The command was retried "retry count" times. Bits 6 and 7 (reserved) *(L1 *(L2 *(L3 *(L4 *(L5 *(L6 *(L7 Return Status Packet Even Byte Odd Byte [...]

  • Page 44

    PACKET RETURN STATUS 3-4 3 FC B8 74 30 +$00 . . +$60 Bloc k Numbe r in Er ror (MS W) +$62 Block Number in Err or (LSW) +$64 SCSI Con troller St atu s 0 0 +$66 T ran sfer Ad dress +$68 T ran sfer Ad dress + $ 6 A 0000 + $ 6 C 0000 + $ 6 E 0000 + $ 7 0 0000 +$72 Comm and Offset +$74 Sense Data Bl ock . . +$9E Sense Data Bl ock $60 xxxxxxxx xxxxxxx x [...]

  • Page 45

    Packet Return Status 3-5 3 This is the memory addr ess of the next byte to be tran sferred. $68 xxxxxxxx xxxxxxx x T rans fer address -- for a read or writ e. . . . . $72 xxxxxxxx Command error status byte (v alid following a comman d error $0B) $73 xxxxxxxx Offset within packet. $74 xxxxxxxx xxxxxxx x Sense data block . . . . $9E xxxxxxxx xxxxxxx [...]

  • Page 46

    PACKET RETURN STATUS 3-6 3 $09 (T ARGET mode) data rec eived f rom init iator w ith parity error , user mus t inte rpr et th en con tinue with new t_seq. 1,9 Final Return Codes $00 GOOD. Script pr ocessing is OK. 2 $01 Undefined probl em. 2 $02 T ARGET has Received Data without error , and user may inte rpr et th en con tinue with new t_seq. 2 $03 [...]

  • Page 47

    Packet Return Status 3-7 3 T able 3- 2. Packet S tatus Codes (cont’d) CODE MEANING NOTES $0A SCSI b us r eset rec eived (A1 pointi ng to packe t list). (Refe r to the SCSI Bus Reset Packet section in Chap ter 7.) 2 $0B Command error (bad command code, bad timing, or command door was closed when a command was r eceived) = 00. Custom SCSI s equence[...]

  • Page 48

    PACKET RETURN STATUS 3-8 3 T able 3- 3. Packet S tatus Codes (cont’d) CODE MEANING NOTES $1B T ARGET module re jected a n initiat or message and r eturned with this stat us to a pa rticular LUN service routin e. 2 $1C T ARGET mod ule sent a check status with an "ille gal r equest" sense block to some ini t iator because th e parti cular[...]

  • Page 49

    Packet Return Status 3-9 3 T able 3- 4. Packet S tatus Codes (cont’d) CODE MEANING NOTES $26 UNI T A TTENTION. Indi cates that the removable media may have been changed or the T ARGET has been r eset. 2,3 $27 DA T A PR O TECT . Indi cates t ha t a command that reads or write s the medium w as attempted on a b lock that is protected fr om this ope[...]

  • Page 50

    PACKET RETURN STATUS 3-10 3 T able 3- 5. Packet S tatus Codes (cont’d) CODE MEANING NOTES Request-Sense -Data Error-Class 0 through 6 Codes (Controlle r-Dependen t) $40 NO ERROR ST A TUS. 2,5,6 $41 NO INDEX SIGNA L. 2,5 ,6 $42 NO S E EK C O MPLE TE. 2,5 ,6 $43 WRITE F A UL T . 2,5,6 $44 DRIVE NOT READY . 2,5,6 $45 DRIVE NOT SELECTED. 2,5,6 $46 NO[...]

  • Page 51

    Packet Return Status 3-11 3 NO TES : 1. Interme diate return co d es. Bit 15- 1, actu al word=$80 xx, $90 xx, etc. 2. F inal retu rn cod es. 3. S ense ke y sta tus codes f or Req uest-Sen se-Data er ror -- class 7. An off set of $ 20 i s added to all sense key codes. 4. Th e SCSI sta tus sent fr om the contro ller is AN Ded with $1E, shift ed right[...]

  • Page 52

    PACKET RETURN STATUS 3-12 3[...]

  • Page 53

    4 SCSI FIRMW A RE INTERRUPT STRUCTU RE SCSI Firm ware Interru pt Structure The SCSI interface firmwa re was designed for processo r efficiency. Whenever the SCSI bus is in a state that does not need monitoring, the f irmware releases the processor so it may perfor m other function s such as user tasks and lower priority events. In these cases, an i[...]

  • Page 54

    SCSI FI RMWAR E INTE RR UPT S TRUCTU RE 4-2 4 the REACTIVATION entry point of the SCSI firmware. The WAIT FOR INTERRUPT (OPE N) sta tus is usually given when a particula r TARGET is "threaded" to th e MVME147 on the SCSI bus, and is slow in tran sitioning between information tra nsfer phases. A bus phase interrupt brings the processor bac[...]

  • Page 55

    5 WRITING A DRIVER Introduction This chapter covers information essential in writing a driver to support the SCSI interface in interrupt mode. A driver for non-interrupt mode is a trivi al subset of the interrupt mode driver. The approach taken is to describe the major sections of a driver that need to be w ritten. The examples shown have been extr[...]

  • Page 56

    WRITING A DRIVER 5-2 5 Return from the SCSI firmware to th e driver is done through the vector supplied in the packet. The VERSAdos driver uses vector $4E (offset $138), and tape driver uses vector $4D (offset $134). These vectors must be initialized to point to a driver ro utine which handles the return. R efer to the In terfac e Rules fo r t he S[...]

  • Page 57

    Interface Rules for the S CSI Fi rmware 5-3 5 information; it does imply that only one routine handles the exit conditions dictated by bit 13 of the s econd word in the user packet (also known as the status word). Multiple call ers of the SCSI firmware are separate, in dependent drivers that handle SCSI re turns without knowledge of other drivers/c[...]

  • Page 58

    WRITING A DRIVER 5-4 5 Command status processing is the result of a firm ware return to the vector specified in the command packet. If this decoupling exists, the command entry execution can only occur if the processor is not tied up performing SCSI firmware functions or perform ing command status functions. That is, for the processor to execute th[...]

  • Page 59

    Interface Rules for the S CSI Fi rmware 5-5 5 RTE required, or the RTE entry ($FFFE079A) RTE r equired as status code $xx04 abo ve. This intermediate status only happens when the TARGET ro le is enabled. All final status code returns use bits 15 through 13 of the status word in t he packet (second word of the user’ s packet) to t ell you about th[...]

  • Page 60

    WRITING A DRIVER 5-6 5 IF BIT 13 IS SET THEN RETURN TO THE CALLER OF YOUR CODE THROUGH (command 1. AN RTS IF HE CA LLED YOU WITH A BSR/JSR thread) 2. AN RTE IF HE CA LLED YOU WITH A TRAP THAT REQUIRES AN RTE RETURN. ELSE: (bit 13 is cl ear) 1. RESTORE THE REGISTER SET POINTED TO BY A3. (interrupt 2. SOMEHOW PERFORM THE RTE REQUIRED BY THE FIRMWARE.[...]

  • Page 61

    Interface Rules for the S CSI Fi rmware 5-7 5 FUNNEL module queued the request an d returned to you w ith a $A002 intermediate status code. In or der for this packet to r esu me pr ocessing, the firmwar e sets the software interrupt to reenter the interrupt entry point ($FFFE0788) . 3. The R TE condition r eceives third priority because if a n R TE[...]

  • Page 62

    WRITING A DRIVER 5-8 5 error because if a subsequent co mmand is queued in the FUNNEL queue or the wait queue, no busy error is given. In average, a device could have on e packet in FUNNEL queue, four packets in wait queue, and an active command in attach table. INTERFACE RULE SUMMARY FO R SCSI FIRMWARE USER S WITH MULTIPLE CALLERS: A typical syste[...]

  • Page 63

    Interface Rules for the S CSI Fi rmware 5-9 5 9. T ARGET LUN 6 service h andler: Services requests for l ogical unit 6 of the MVME1 47 T ARGET . 10. T ARGET LUN 7 service handler: Ser vices requests for logical unit 7 of the MVME1 47 T ARGET . The summary below is intended to h elp users who have multiple callers to the SCSI firmware. 1. INTE RMED [...]

  • Page 64

    WRITING A DRIVER 5-10 5 xx08 : SIMILAR TO xx08 ABOVE, O NLY THE DATA RECEIVED HAS SOM E PARITY ERRO R OCCURRED. 2. F INAL RE TURNS: SAMPLE RETURN CODE FOR O NE OF MANY CALLERS OF THE S CSI FIRMWARE: N ote It may not be clear to th e casual reader that ad dr ess register A3 i s not modified in thi s return code. If an RTE is to be executed, address [...]

  • Page 65

    Interface Rules for the S CSI Fi rmware 5-11 5 MOVE.W 2(A2),D0 STATUS W ORD TO D0. BTST #15,D0 FINAL/IN TERMEDIATE STATUS? BEQ FINALSTAT IF 0, TH E RETURN IS A FINAL ONE. ************************************** **************************** ************ *THE FOLLOWING CODE CHECKS ALL ALLOWED INTERMEDIATE RETURN CODES. * CMP.B #$02,D0 WAITING FOR AN I[...]

  • Page 66

    WRITING A DRIVER 5-12 5 ************************************** **************************** ************ ** * THE CODE BELOW HANDLES FINAL RETURN CODES. FINALSTAT: BSR POSTSTAT POSTSTAT IS A SUBROUTINE THAT POSTS FINAL STATUS * POSTSTAT RETURNS THE Z BIT=1 IF STAT US IS O.K. ************************************** **************************** ******[...]

  • Page 67

    Interface Rules for the S CSI Fi rmware 5-13 5 * RESTORE REGISTERS FOR SCSI ROUTINE * The driver must restore the registers the SCSI firmware has used. * A3 is pointing to a list of the regi sters to restore. * The following code is for 68010 or newer processor and could be more * efficient if more advanced processor as 68020, 68030 is used. * Entr[...]

  • Page 68

    WRITING A DRIVER 5-14 5 by the driver -- specifically, command queuing. If you choose to fo llow the rules for multiple callers, the firmware queues command packets for you whenever the bus is busy. For example, if a user of the SCS I interface o nly has disk applic ati ons, only a SCSI disk driver for t he particular operating system may need to b[...]

  • Page 69

    6 T ARGET ROLE ROUTINES Introduction According to SCSI definition s, an initiator is an SCSI device that initiates a command on the bus to be executed by the TARGET; a TARGET is an SCSI device that is selected by an initiator and executes what is requested by the initiator. The MVME147 is capable of playing both the ini tiator an d TARGET roles wit[...]

  • Page 70

    TARGET ROLE ROUTINE S 6-2 6 particular device on the SCSI bus. The in dexing is accom plish ed by simply splitting the 64 entries into 8 entries of 8 peripheral devices. Each block of eight devices correspond ed to each SCSI device. Th e MVME147 is one of these SCSI devices. Seven ot her SCSI devices may be added to th e SCSI bus to perform some ap[...]

  • Page 71

    MVME147 SCSI Firmware TARGET Role Structure Req uirements 6-3 6 Command Table pointer Script pointer Interrupt level 7 through 1 Return vector TARGET enable/TARG ET sequence Contro l numb er = M VME147 l evel Peripheral device LUN (0 thr ough 7) Scri pt Below are the TARGET role script codes for SCSI bus phases. $00 DISCONNECT $04 COMMAN D PHAS E $[...]

  • Page 72

    TARGET ROLE ROUTINE S 6-4 6 Data Area Only one direction allowed per com mand. If multiple directions of data transfer are required, linked commands could provide a solution. Message-In Area (user defin ed) For messages to be sent to the in itiator. Message-Out Area (us er defined) 258 byte maximum for extende d message for messages sent by initiat[...]

  • Page 73

    Enabling TARG ET Role 6-5 6 enable (word $0 E = $C000), and with the following data structures reserved for TARG ET role service. a. Com ma n d T ab le ( 384 byte s) N ote During the TARGET role, when the TARGET enable packet is issued to the firmware, neither the custom command packet nor the command table shall be deallocated because firmware use[...]

  • Page 74

    TARGET ROLE ROUTINE S 6-6 6 the user command table. The service of this command is pro vided by you. This service is provided by a custom SCSI sequen ce -- T ARGET sequence, which is described in the next section. IMPLEMENTATION NOTE: The TAR GET LUN is deciphered from the identify message sent immediately after the selection phase. If the LUN iden[...]

  • Page 75

    Servicing the TARGET Requests 6-7 6 service performed by the fir mware is now complete. Finishing some housekeeping, the firmware returns to the user service routine for the selected LUN and gives it a final status code of $ xx17. If initiator is not supporting disconnect, no message-in phase and the TARGET role returns an intermediate status $xx06[...]

  • Page 76

    TARGET ROLE ROUTINE S 6-8 6 The operation code of $0A is for the SEND command. The LUN should match the logical u nit for the MVME14 7 TARGET. The trans fer length tells you how many bytes are going to be excha nged during the data-out phase. The flag a nd link bits are handled by the firm ware and you only have to load a "INTERMEDIATE STA TUS[...]

  • Page 77

    Servicing the TARGET Requests 6-9 6 STEP 3: Data Preparation a. Decode the transfer length fr om the command descriptor block an d load this length into the co mmand table wor ds $16 and $18 -- data length. b. Decode the link bit and store the status to be sent to the initiator during th e status phase into the ST A TUS word (M SB) of the command t[...]

  • Page 78

    TARGET ROLE ROUTINE S 6-10 6 The operation code of $08 is for the R ECEIVE command. The L UN should match the logical unit for the MVME1 47 TARGET. The transfer len gth tells you how many bytes are going to be exchanged during the data-out phase. The flag and link bits should be treated in the sam e manner as for the SE ND command example abo ve. ([...]

  • Page 79

    Servicing the TARGET Requests 6-11 6 c. Decode the link and flag bits and store the proper message to be presented during the message-in phase into th e message-in buff er (pointed to by wor ds $20 an d $22 of t he comm and tabl e). d. Create a T ARGET sequence custom SCSI sequen ce packet as described in the TARGET Sequence Custom Seque nce Packet[...]

  • Page 80

    TARGET ROLE ROUTINE S 6-12 6[...]

  • Page 81

    7 SCSI P ACKETS Introduction Command packets for the SCSI functions are listed in Table 7-1. The command packets are described in detail in the following paragraphs. T able 7-1. SCS I Fun ctio ns SCSI FUNC TION C ODE DESCRI P TION $00 Read ( u s e new read, refer to $70 be l ow) $04 W r ite ( u se new wr ite, refer to $74 bel ow) $08 Attac h (use n[...]

  • Page 82

    SCSI PA CKE TS 7-2 7 Read/W rite Packet For common comman d set refer to Appendix A. DISK. Commands sent to the con troller are: Read ($28), and Write ($2A). For a read o r write function, the maximum number of bytes that ca n be transferred in a single call is 16Mb. If you need more, the comman d must be broken up into several calls. For controlle[...]

  • Page 83

    Read/Write Packet 7-3 7 space-to-end-of-reco rded-media, or write command. To read, the controller must be at BOT or following a space- blocks, space-filemarks, or read command. The command control field gives the user the ability to read forward or reverse (if supported by drive) and the a bility to suppres s ill egal lengt h indication (if suppor[...]

  • Page 84

    SCSI PA CKE TS 7-4 7 $00 00000xxx Contr oller logical uni t numb er $01 00000xxx Device logical uni t numb er $02 xxxxxxxx Status from SCSI firmwar e (byte 0) (Note 1) $03 xxxxxxxx Status from SCSI firmwar e (byte 1) (Note 1) $04 xxxxxxxx xxxxxxx x Memory Add ress (MSW )/scat ter/ gath e r table addr ess if scatt e r/ ga th er count > 0 $06 xxxx[...]

  • Page 85

    Read/Write Packet 7-5 7 in SG ta ble, i f zero , SG is disa bled $12 00000000 0000 0000 Res erved $14 xxxxxxxx Command Control 0....... Cache ON fo r t ype 13 contr oller only 1....... Cache OF F for type 13 contr oll er only .0...... T ape rea d fo rward fo r tape device s that support this .1...... T a pe re a d re ve r se fo r tape device s that[...]

  • Page 86

    SCSI PA CKE TS 7-6 7 Old Packet Supported for Compati bility Even Byte Odd Byte NOTE S: 1. R e fer to Ch ap ter 3. 2. R e fer to th e foll owing s catter /gat her tab le for mat. 3. The inter rupt level of th is firmwar e can be fr om level 0 to 7. It should be kept the sa me thr oughout the firmwar e execution; i .e., when the user ha s chos e[...]

  • Page 87

    Read/Write Packet 7-7 7 + $ 1 2 0000 +$14 Comm an d Control F unctio n Code ( 00 , 04) +$16 Interrupt Level V ector Numb er +$18 Stat us Byte 2 Stat u s Byte 3 (N o te 1) $00 00000xxx Contr oller logical uni t numb er $01 00000xxx Device logical uni t numb er $02 xxxxxxxx Status from SCSI firmwar e (byte 0) (Note 1) $03 xxxxxxxx Status from SCSI fi[...]

  • Page 88

    SCSI PA CKE TS 7-8 7 in SG ta ble, i f zero , SG is disa bled $12 00000000 0000 0000 Res erved $14 xxxxxxxx Command Control 0....... Cache ON fo r t ype 13 contr oller only 1....... Cache OF F for type 13 contr oll er only .0...... T ape rea d fo rward fo r tape device s that support this .1...... T a pe re a d re ve r se fo r tape device s that su[...]

  • Page 89

    Read/Write Packet 7-9 7 DMA Scatter/Gather T able Entry Each scatter/gather table entry has two longwords: first one is DMA memory address, second is control/byte co unt. 310 |functio n code (3 bit s) 1 = link to next entryFor example $5 is 0 = no link, last entryused here (supervisory data space) NOTE S: 1. R e fer to Ch ap ter 3. 2. R e fer to th[...]

  • Page 90

    SCSI PA CKE TS 7-10 7 Attach/Detac h Pack et (all devices) For common comman d set refer to Appendix A. The following SCSI commands are exec uted during an attach : NOTES: Ther e may be any number of scatter/gather en tries. The scatter/gather tabl e must be in local MVME147 RAM (the DMA channel does n ot table w alk offboa rd RAM). T able ad dress[...]

  • Page 91

    Attach/Detach Packet (all devices) 7-11 7 An attach is required bef ore any other commands may be sent to the S CSI firmware (except custom SCSI sequence or Bus Reset). An attach call initializes the SCSI firm ware pointers and internal f lags. A RAM work area is used by SCSI firmware for building internal pointers and also contains the comman d se[...]

  • Page 92

    SCSI PA CKE TS 7-12 7 Some SCSI controllers r eturn a "check" status on the first comman d sent to them after power-up or re set. The SCSI firmware retries the comman d if the controller returns "unit a ttention" request sense information an d if you put a number that was one or greater in to the retry field in the attach pa cke[...]

  • Page 93

    Attach/Detach Packet (all devices) 7-13 7 +$1E +$20 Pointe r RAM Wo r k A r e a (MSW) +$22 Pointer RAM Wo r k A r e a (LSW) +$24 Logi cal Byte s per Block +$26 +$28 Alt Sectors per Zone No. Alt Cyl s to Reser ve $00 00000xxx Contr oller logical uni t number (SCSI addr ess 0-7) $01 00000xxx Device logical uni t number (0-7) $02 xxxxxxxx Status from [...]

  • Page 94

    SCSI PA CKE TS 7-14 7 ........ .......0 FM encod ing, single density ........ .......1 MFM encod ing, double dens ity ........ ......0. Single t rack d ensity (me d ia TP I = ½ dr ive TPI, double step) ........ ......1. Double t rack de nsity (media TPI = dr ive TPI) ........ ........ Rese rved ........ ....0... 250K bit s/sec d ata rate (5¼ inch[...]

  • Page 95

    Attach/Detach Packet (all devices) 7-15 7 $12 xxxxxxxx Contr olle r type (ref er to controlle r ty pe table ) $13 00000000 Drive type (0 = random a ccess dr ive) $14 00000000 Reserved $15 xxxx1x00 SCSI function ($08 = atta ch, $78 = n e w atta ch, $0C = det ach) $16 000000xx Interrupt l evel (7 through 0) (0 = polled mode) $17 xxxxxxxx V ector numb[...]

  • Page 96

    SCSI PA CKE TS 7-16 7 $20 xxxxxxxx xxxxxxx x Address of 384-byte SCSI RAM ar ea (MSW) $22 xxxxxxxx xxxxxxx x Address of 384-byte SCSI RAM ar ea (LSW) This SCSI RAM work area can no t be deallocate d or moved exce p t after a d etach or r eset comm and. The firmwar e uses this area fo r t he SCS I C DB and local pointers and v ariabl es. $24 xxxxxxx[...]

  • Page 97

    Attach/Detach Packet (all devices) 7-17 7 Old Packet Supported for Compati bility Even Byte Odd Byte attributes (byt e offset $10). $29 xxxxxxxx Altern ate cyli nders defines th e number of alte rnate c ylinders per disk th at are to be reser ve d at the en d of the disk for alte rnate s. NOTE: 1. Refe r to Chapt er 3. FC B8 74 30 +$00 Contr ol[...]

  • Page 98

    SCSI PA CKE TS 7-18 7 +$20 RAM W ork Ar ea Addr ess (MSW) +$22 RAM W ork Ar ea Address (L SW) $00 00000xxx Contr oller logical uni t number (SCSI addr ess 0-7) $01 00000xxx Device logical uni t number (0-7) $02 xxxxxxxx Status from SCSI firmwar e (byte 0) (Note 1) $03 xxxxxxxx Status from SCSI firmwar e (byte 1) (Note 1) $04 00000000 Reserved $05 x[...]

  • Page 99

    Attach/Detach Packet (all devices) 7-19 7 ........ ......0. Single track d ensity (me d ia TP I = ½ dr ive TPI, double step) ........ ......1. Double track de nsity (media TPI = dr ive TPI) ........ ........ Rese rved ........ ....0... 250K bits/sec data rate (5¼ inch) ........ ....1... 500K bits/sec data rate (8 in ch) ........ ...0.... Floppy m[...]

  • Page 100

    SCSI PA CKE TS 7-20 7 $13 00000000 Drive type (0 = random a ccess dr ive) $14 00000000 Reserved $15 xxxx1x00 SCSI function ($08 = atta ch, $78 = n e w atta ch, $0C = det ach) $16 000000xx Interrupt l evel (7 through 0) (0 = polled mode) $17 xxxxxxxx V ector number to use upon return $18 xxxxxxxx Status from SCSI firmwar e (byte 2) (Note 1) $19 xxxx[...]

  • Page 101

    Attach/Detach Packet (all devices) 7-21 7 Example for floppy: be de scribe d as ei ther a trac k o r a c yli nder , as speci fied by bit 1 1 of the SC SI drive attributes (byt e offset $10). $1F xxxxxxxx Altern ate cyli nders defines th e number of alte rnate c ylinders per disk th at are to be reser ve d at the en d of the disk for alte rnate s. $[...]

  • Page 102

    SCSI PA CKE TS 7-22 7 New Packet Even Byte Odd Byte 250K B/S Da ta 500K B/S Da ta 250K B/S Data 500K B/S Data Rate Rate Rate Rate S t e p R a t e 0000 Heads 2 2 2 2 Precompen satio n $50 (No te 1) $50 o r $4D 8 in. $28 $50 Cylinder Sectors /T rac k $10 $1 A $9 $0F Attr ibute W ord $02 03 $020B $0281 $ 028B Controller T ype $0 F $0F $0F $0F Driv[...]

  • Page 103

    Attach/Detach Packet (all devices) 7-23 7 +$04 0 0 Number of T racks +$06 0 0 Minimum Read T ran sfer +$08 0 0 Minimum W rite T ransfer +$0A 0 0 Streaming Co unt +$0C Speed Code Density Code + $ 0 E 0000 +$10 SCSI T a pe Attribut es +$12 Control ler T ype Drive T ype +$14 0 0 Func ti on Code (6 C) +$16 Interrupt Level V ector Numb er +$18 Stat us B[...]

  • Page 104

    SCSI PA CKE TS 7-24 7 $07 00000000 Minimum read transfer siz e (not used by all contr ollers $08 00000000 Reserved $09 xxxxxxxx Minimum write transfer siz e (not used by all contr ollers $0A 00000000 Reserved $0B xxxxxxxx Streaming count (not used by a ll contr ollers) $0C 00000000 Speed code ($ 00 = default speed) $00 = us e defa u lt speed $01 = [...]

  • Page 105

    Attach/Detach Packet (all devices) 7-25 7 $05 1/4 " 4/9 QIC- 24 Cartridg e Se rial 80 00 GC $06 1/2" 9 Reel-to-r eel Pa rallel 3200 PE $0E 00000000 Reserved $10 xxxxxxxx xxxxxxx x SCSI tape att ributes ........ .......0 Non-buffer ed writes (Note 3) ........ .......1 Buffer ed writes (Not e 3) ........ ..0..... No rese rve on at tach; no [...]

  • Page 106

    SCSI PA CKE TS 7-26 7 Old Packet Supported for Compati bility (if this i s set to 0, the firmwar e disables corr ec t ion an d turns of f retr ies in the contr oller . Also, the firmwar e does not autom a tic a lly r etry the SCSI co mm and except "unit at te n ti on" and "not diagno stics".) $1C xxxxxxxx xxxxxxx x Physical byte[...]

  • Page 107

    Attach/Detach Packet (all devices) 7-27 7 Even Byte Odd Byte FC B8 74 30 +$00 Contr oller LUN Device L UN +$02 Stat us Byte 0 Stat u s Byte 1 (N o te 1) +$04 0 0 Number of T racks +$06 0 0 Minimum Read T ran sfer +$08 0 0 Minimum W rite T ransfer +$0A 0 0 Streaming Co unt + $ 0 C 0000 + $ 0 E 0000 +$10 SCSI T a pe Attribut es +$12 Control ler T[...]

  • Page 108

    SCSI PA CKE TS 7-28 7 $04 00000000 Reserved $05 00000000 Number of tracks on media (not used by all contr ollers $07 00000000 Minimum read transfer siz e (not used by all contr ollers $08 00000000 Reserved $09 xxxxxxxx Minimum write transfer siz e (not used by all contr ollers $0A 00000000 Reserved $0B xxxxxxxx Streaming count (not used by a ll con[...]

  • Page 109

    Attach/Detach Packet (all devices) 7-29 7 $16 00000xxx Interrupt l evel (7 thr ough 0) (0 = polled mode) $17 xxxxxxxx V ector number to use upon return $18 xxxxxxxx Status from SCSI firmwar e (byte 2) (Note 1) $19 xxxxxxxx Status from SCSI firmwar e (byte 3) (Note 1) $1A xxxxxxxx Reserved $1B xxxxxxxx Retry coun t: numbe r of SCSI commands (if this[...]

  • Page 110

    SCSI PA CKE TS 7-30 7 N ote This work area is used by the SCSI firmware to build the SCSI command and to return ad ditional info rmation. The user does not build this table. Shown below are the return parameters. This RAM wor k area cannot be de allocated or moved except after a deta ch or reset command. The firmware uses this area fo r the SCSI CD[...]

  • Page 111

    Attach/Detach Packet (all devices) 7-31 7 . . +$9E Sense Data Bl ock $00 xxxxxxxx xxxxxxx x Reserved .. .. .. $60 xxxxxxxx xxxxxxx x Block nu mber i n error (MSW) (Note 1) $62 xxxxxxxx xxxxxxx x Block nu mber i n error (LSW) (Note 1) $64 xxxxxxxx Status b yte from SCSI contr o ller (un chang ed) $65 xxxxxxxx Reserved $66 xxxxxxxx xxxxxxx x T ransfe[...]

  • Page 112

    SCSI PA CKE TS 7-32 7 Format Packet For common comman d set operation refer to Appendix A. The command sent to the controller is: format device ( $04). The f ollowing SCSI commands ar e executed: $72 xxxxxxxx Command error status byte (v alid foll ow ing a command e rror $08) - - SCSI comman d in error . $73 xxxxxxxx Offset within packet $74 xxxxxx[...]

  • Page 113

    Assign Alternate Sector Packet (SCSI) 7-33 7 The defect list is optional for this com mand. If the number of defe cts in the defect list is 0, a format device comma nd with no defects is sent to the controller. If the field is no nzero, the d efect list is sent to the controller. The defect list is re-formatted by the SCSI firmware, if necessary, t[...]

  • Page 114

    SCSI PA CKE TS 7-34 7 +$0E Inter le a ve Facto r 0 0 + $ 1 0 0000 + $ 1 2 0000 +$14 Comm an d Control F unctio n Code ( 10 , 14) +$16 Interrupt Level V ector Numb er +$18 Stat us Byte 2 Stat u s Byte 3 (N o te 1) $00 00000xxx Contr oller logical uni t numb er $01 00000xxx Device logical uni t numb er $02 xxxxxxxx Status from SCSI firmwar e (byte 0)[...]

  • Page 115

    Assign Alternate Sector Packet (SCSI) 7-35 7 CL Comp lete List Clear and no defect list is supplied. Use existing grown defect list, no user list is suppli e d. Clear and defect list is supplied. Use existing grow n defect list, add user list to the grow n list. Set and no defect list is supplied. Do not use existing grown defect list, no user list[...]

  • Page 116

    SCSI PA CKE TS 7-36 7 DEFECT LIST TYPE 0 Even Byte Odd Byte $17 xxxxxxxx V ector number to use upon return $18 xxxxxxxx Status from SCSI firmwar e (byte 2) (Note 1) $19 xxxxxxxx Status from SCSI firmwar e (byte 3) (Note 1) NOTE: 1. Refe r to Chapt er 3. FC B8 74 30 +$00 Defect L ist Code = 00 00 (Not e 1) +$02 Reserved (Note 1) +$04 Reserved (N[...]

  • Page 117

    Assign Alternate Sector Packet (SCSI) 7-37 7 DEFECT LIST TYPE 1 Even Byte Odd Byte DEFECT LIST TYPE 2 Even Byte Odd Byte . . 0 0 0 0 (Note 3, 4) 0 0 0 0 (Note 3, 4) 0 0 0 0 (Note 3, 4) 0 0 0 0 (Note 3, 4) FC B8 74 30 Defect List C ode = 0 001 Reserved Reserved Cylinder (MSW) (Note 2 ) Cylinder (L SW) (Note 2) Head Sector W ithin T rack (MSW[...]

  • Page 118

    SCSI PA CKE TS 7-38 7 Head Bytes fr om Index (MSW) (Note 2) Bytes fr om Index (LSW) (Not e 2) $00 00000000 0000 00 00 De fect li st code $02 xxxxxxxx xxxxxxx x Reserved $04 xxxxxxxx xxxxxxx x Reserved $06 xxxxxxxx xxxxxxx x Sector nu mber (MSW) (Note 5) $08 xxxxxxxx xxxxxxx x Sector n umber (LSW) (Note 5) .. .. .. xxxxxxxx xxxx xxxx Sector number ([...]

  • Page 119

    SCSI Bus Reset Packet 7-39 7 SCSI Bus Reset Packet This function activates the RST* (RESET) line on the SCSI bus (h ardware reset). All devices on the bus are reset and any commands that w ere pending are terminated. The SCSI firmware cle ans up internal flags and the status returned to the user is "command complete" ($0 0). All outstandi[...]

  • Page 120

    SCSI PA CKE TS 7-40 7 $00 00000000 Contr oller logical uni t numb er (contr oller r eset only) $01 00000000 Reserved $02 xxxxxxxx Status from SCSI firmwar e (byte 0) (Note 1) $03 xxxxxxxx Status from SCSI firmwar e (byte 1) (Note 1) $04 00000000 0000 0000 Res erved $06 00000000 0000 0000 Res erved $08 00000000 0000 0000 Res erved $0A 00000000 0000 [...]

  • Page 121

    SCSI Controller Re s et Packet 7-41 7 SCSI Controller Reset Packet This function sends a bus device reset message ($0C) to the controller specified in the packet. All outstanding packets are returned with a "reset status" ($0A). This command af fects only the specified con troller. After the co ntroller reset command, the user has to send[...]

  • Page 122

    SCSI PA CKE TS 7-42 7 + $ 1 2 0000 +$14 0 0 Func ti on Code (2 C) +$16 Interrupt Level V ector Numb er +$18 Stat us Byte 2 Stat u s Byte 3 (N o te 1) $00 00000000 Contr oller logical uni t numb er $01 00000000 Device logical uni t numb er $02 xxxxxxxx Status from SCSI firmwar e (byte 0) (Note 1) $03 xxxxxxxx Status from SCSI firmwar e (byte 1) (Not[...]

  • Page 123

    Rewind Packet 7-43 7 Rewind Packet The Rewind command ($01) rewinds the tape to the BOT. If the im mediate response bit is set, status is returned imm ediately, even though the controller is still busy rewin ding . If a new command is sent before the controller is finished, a busy status may be sent to the MVME1 47, but the firmware performs an i n[...]

  • Page 124

    SCSI PA CKE TS 7-44 7 $01 00000000 Device logical uni t numb er $02 xxxxxxxx Status from SCSI firmwar e (byte 0) (Note 1) $03 xxxxxxxx Status from SCSI firmwar e (byte 1) (Note 1) $04 00000000 0000 0000 Res erved $06 00000000 0000 0000 Res erved $08 00000000 0000 0000 Res erved $0A 00000000 0000 0000 Res erved $0C 00000000 0000 0000 Res erved $0E x[...]

  • Page 125

    Read Block Limits Packet 7-45 7 Read Block Limits Packet The read block limits command ($05) returns the maximum and minimum block size written on the tape. The controllers supported by the SCSI firmware only s upport QIC 24 o r QIC 11 type blo cks which equal 5 12 ($200) bytes. The table below shows the read block limits packet. Even Byte Odd By[...]

  • Page 126

    SCSI PA CKE TS 7-46 7 Space (Blocks, Filemarks, End of Recorded Media) Packet The Space command ($11) is used to position the tape. There are four modes: $04 xxxxxxxx xxxxxxxx Return ed maximum block len gth (M SW) $06 xxxxxxxx xxxxxxxx Return ed maximum block len gth (L SW) $08 xxxxxxxx xxxxxxxx Return ed minimum block leng th $0A 00000000 0000 00[...]

  • Page 127

    Space (Blocks, Filemarks, End of Reco rded Media) Packet 7-47 7 where n = number of blocks o r filemarks to Space. Some dri ves su pport sp acin g backwa rds by us ing n egative 2’ s com plem ent number n. Refer to the drive manual. The table below shows the space packet. Even Byte Odd Byte mode $0 2 = Space sequentia l filem arks (if suppor [...]

  • Page 128

    SCSI PA CKE TS 7-48 7 $02 xxxxxxxx Status from SCSI firmwar e (byte 0) (Note 1) $03 xxxxxxxx Status from SCSI firmwar e (byte 1) (Note 1) $04 xxxxxxxx xxxxxxx x Number of blocks /filem arks (MSW) (only 3 bytes us ed) $06 xxxxxxxx xxxxxxx x Number of blocks /filem arks (LSW) (only 3 bytes us ed) $08 00000000 0000 0000 Res erved $0A 00000000 0000 000[...]

  • Page 129

    Write Filemarks Packet 7-49 7 Wr ite Filemarks Packet The write filemarks command ($10 ) writes the specified number of filemarks to the tape. N ote The controller must be in general mode or write mode. Refer to ta pe re ad /write packet fo r more in forma ti on . The table below shows the write filemarks packet. Even Byte Odd Byte $19 xxxxxxxx[...]

  • Page 130

    SCSI PA CKE TS 7-50 7 $00 00000xxx Contr oller logical uni t numb er $01 00000xxx Device logical uni t numb er $02 xxxxxxxx Status from SCSI firmwar e (byte 0) (Note 1) $03 xxxxxxxx Status from SCSI firmwar e (byte 1) (Note 1) $04 xxxxxxxx xxxxxxx x Number of fi lemarks $06 00000000 0000 0000 Res erved $08 00000000 0000 0000 Res erved $0A 00000000 [...]

  • Page 131

    Verify CRC Packet 7-51 7 V erify CRC Packet The verify Cyclic Redundancy Character (CRC) command ($13) instructs the controller to read the s pecified number of blocks and check the CRC of each block. The verify be gins at the current tape position and the tape is left positioned at the end o f the last block verified. No data is transferred to the[...]

  • Page 132

    SCSI PA CKE TS 7-52 7 T ape Mode Select/Sense Packet The tape mode select command ($15) con figures the controller for the specified operational par ameters. The tape mode sense co mmand ($1A) return s the QIC format, controller and drive type, block size, and buffered mode. $02 xxxxxxxx Status from SCSI firmwar e (byte 0) (Note 1) $03 xxxxxxxx Sta[...]

  • Page 133

    Tape Mode Select/Sense Packet 7-53 7 The table below shows the tape mode select/sense packet. Even Byte Odd Byte FC B8 74 30 +$00 Contr oller LUN Device L UN +$02 Stat us Byte 0 Stat u s Byte 1 (N o te 1) +$04 0 0 Number of T racks +$06 0 0 Min. R ead T ra nsfer +$08 0 0 Min. W rite T ransfer +$0A 0 0 Streaming Co unt + $ 0 C 0000 + $ 0 E 0000 [...]

  • Page 134

    SCSI PA CKE TS 7-54 7 $05 xxxxxxxx Number of tracks on media (4 or 9) $06 00000000 Reserved $07 xxxxxxxx Minimum read transfe r size (contr oller reconn ects wh en it can ta ke spe c ified numb er of blocks in t he spec) $08 00000000 Reserved $09 xxxxxxxx Minimum write transfe r size (contr oller reconn ects wh en it can ta ke spe c ified numb er o[...]

  • Page 135

    Inqu iry P ack et 7-55 7 Inquiry Packet The inquiry command ($1 2) returns information fro m the controller that identifies which controller is attached a nd its attributes. The format and the number of bytes returned varies fro m controller to controller (refer to the appropriate controller manual fo r this information). The returned data is put i[...]

  • Page 136

    SCSI PA CKE TS 7-56 7 +$00 Contr oller LUN Device L UN +$02 Stat us Byte 0 Stat u s Byte 1 (N o te 1) +$04 0 0 Inquir y Da ta Len gth +$06 I nquiry Da ta Poin te r (MSW) +$08 Inquiry Data Pointer (LSW) + $ 0 A 0000 + $ 0 C 0000 + $ 0 E 0000 + $ 1 0 0000 + $ 1 2 0000 +$14 0 0 Funct ion Cod e (50) +$16 Interrupt Level V ector Numb er +$18 Stat us Byt[...]

  • Page 137

    Inqu iry P ack et 7-57 7 Even Byte Odd Byte $14 00000000 Reserved $15 01000000 SCSI function ($50 = inquiry) $16 000000xx Interrupt l evel (7 thr ough 0) (0 = polled mode) $17 xxxxxxxx V ector number to use upon return $18 xxxxxxxx Status from SCSI firmwar e (byte 2) (Note 1) $19 xxxxxxxx Status from SCSI firmwar e (byte 3) (Note 1) NOTE: 1. Re[...]

  • Page 138

    SCSI PA CKE TS 7-58 7 +$1A Data Returned Data Returned +$1C Data Returned Data Returned +$1E Data Returned Data Returned $00 xxxxxxxx Device type code (00 = direct acce ss) (01 = sequential access ) (7F = lo gical unit n ot presen t) $01 xxxxxxxx Device type qualif ier 0....... Fixed m edia 1....... Removable media $02 00xxxxxx SCSI vers ion .....x[...]

  • Page 139

    Load/Unload Packet 7-59 7 Load/Unload Packet The load/unload co mmand ($1B) positions the tape for remova l or to BOT. The load mode positions the ta pe at BOT, and the unload m ode positions the tape at End Of Tape (EOT). The retension bit causes the tape to go to BOT, then to EOT, then to BOT for the loa d mode. This is done before the load or un[...]

  • Page 140

    SCSI PA CKE TS 7-60 7 00 0 0 +$14 0 0 Funct ion Cod e (54) +$16 Interrupt Level V ector Numb er +$18 Stat us Byte 2 Stat u s Byte 3 (N o te 1) $00 00000xxx Contr oller logical uni t numb er $01 00000xxx Device logical uni t numb er $02 xxxxxxxx Status from SCSI firmwar e (byte 0) (Note 1) $03 xxxxxxxx Status from SCSI firmwar e (byte 1) (Note 1) $0[...]

  • Page 141

    Recover Buffer Data Packet 7-61 7 Recover Buffer Data Packet The recover buffer d ata comman d ($1 4) is used to re cover th e data remaini ng in the controller’ s buffer following an er ror while writing to tape. Th is command returns the data not yet written to tape. The data is read and put in the address specified. The table below shows the r[...]

  • Page 142

    SCSI PA CKE TS 7-62 7 +$0C Number of Blocks + $ 0 E 0000 + $ 1 0 0000 + $ 1 2 0000 +$14 0 0 Funct ion Cod e (58) +$16 Interrupt Level V ector Numb er +$18 Stat us Byte 2 Stat u s Byte 3 (N o te 1) $00 00000xxx Contr oller logical uni t numb er $01 00000xxx Device logical uni t numb er $02 xxxxxxxx Status from SCSI firmwar e (byte 0) (Note 1) $03 xx[...]

  • Page 143

    Request Sense Data Packet 7-63 7 Request Sense Data Packet The request sense data comman d ($03) returns the s tatus of the controller. The maximum len gth parameter a nd the data po inter are used to return this stat us. The actual format and th e number of bytes returned is controller- specific. Refer to the appropriate controller m anual for inf[...]

  • Page 144

    SCSI PA CKE TS 7-64 7 $00 00000xxx Contr oller logical uni t numb er $01 00000xxx Device logical uni t numb er $02 xxxxxxxx Status from SCSI firmwar e (byte 0) (Note 1) $03 xxxxxxxx Status from SCSI firmwar e (byte 1) (Note 1) $04 00000000 Reserved $05 xxxxxxxx Maximum data length $06 xxxxxxxx xxxxxxx x Returne d data pointer (MSW) $08 xxxxxxxx xxx[...]

  • Page 145

    Check Status Packet 7-65 7 Check Status Packet The check status command ($60) senses a $00 test unit ready comman d to the device. The returned status is in the 4 status bytes (refer to Returned Status Command Table in Chapter 3). The table below shows the check status packet. Even Byte Odd Byte NOTE: 1. Refe r to Chapt er 3. FC B8 74 30 +$00 C[...]

  • Page 146

    SCSI PA CKE TS 7-66 7 Open Packet The open packet is a read o f the first blocks of a device. This command is intended as a "safe" read that won’ t overrun the byte count when the block size of the device is unknown. $02 xxxxxxxx Status from SCSI firmwar e (byte 0) (Note 1) $03 xxxxxxxx Status from SCSI firmwar e (byte 1) (Note 1) $04 0[...]

  • Page 147

    Open Packet 7-67 7 Even Byte Odd Byte This command reads the first blocks of a disk or tape up to the maximum number of bytes or the maximum number of blocks, whichever comes first. If the requested number of blocks and the number of bytes match, the returned statu s is $ 00 (good ). If the requested number of blocks result in a transfer o f mo[...]

  • Page 148

    SCSI PA CKE TS 7-68 7[...]

  • Page 149

    A COMMON COMMAND SET AND DISK OPERA TION The first high level command required to interface wit h a Winchester disk is an ATTACH. An ATTACH initializes the S CSI firmware pointers and intern al flags. A RAM work area is used to build the SCSI co mmand descriptor block, messages sent in the message-out phase, and a place to put incoming messages, an[...]

  • Page 150

    COMMON COMM AND SET AND D ISK OPER ATION A-2 A Test Unit Ready Command CDB The firmware sends a mode sense command for page 3 , current values. The returned block size is compar ed to the block size in the packet; if they are not the same, the firmware sets a internal flag to block all subsequent read or write commands. In th is case, the fi rmware[...]

  • Page 151

    A-3 A If the scatter/gather field at byte offset $10 in th e user packet is not zero, the address at offset $4 i s taken as a scatter/gath er table address. Otherwise the address is the READ/WRITE buffer startin g address. A typical scatter/gather table exam ple would be: Scatter/Gathe r Table Example The READ and WRITE commands build a ten byte co[...]

  • Page 152

    COMMON COMM AND SET AND D ISK OPER ATION A-4 A The information fo r each page below is used with each f ormat parameter listed in the FOR MAT PAR AMETER PAG E. The FO RMAT comm and performs the following to a Winchester disk: Mode sense for FORMAT PARAMETER PAGE 3 curren t values. If no illegal request error Mode sense for page 3 changeable values.[...]

  • Page 153

    A-5 A If it won’ t fit, put the attach packet parameters offset into the error field in the command table (b yte offset $72), an d return a comma nd error status in the user packet. Send mode se lect command. Mode sense for FORMAT PARAMETER PAGE 4 curren t values. If no illegal request error Mode sense for page 4 changeable values. If any of the [...]

  • Page 154

    COMMON COMM AND SET AND D ISK OPER ATION A-6 A The format operation ma y ha ve a defect list, if a defect list is supplied, a new defect list is built below the user s upplied defect list with th e four byte header as required by the SCSI device. Three defect list types are accepted. The new defect list is bui lt a s follo wing: Build 4 byte defect[...]

  • Page 155

    A-7 A Below is the Command Descriptor Block for the Form at command. Format Command CDB User Defect List Type and Defect List Format. BYTE OFFSET V ALUE COMMEN TS 0 04 Command code 1 (N ote 1) LUN is insert ed, FMT data, CMP list, defec t list format 20 0 R e s e r v e d 30 0 R e s e r v e d 4 (N ote 2) Interl eave 5 0 0 Control byt e: no l ink, no[...]

  • Page 156

    COMMON COMM AND SET AND D ISK OPER ATION A-8 A MVME147 SCSI Firmware : Winchester Disk Parameter s. Before form atting a Winchester disk, the M VME147 SCSI firmware sends a mode select command fo r read/write error reco very parameters (page 1) to the controller. Below is the command descriptor block for the mode select command: Mode Select Command[...]

  • Page 157

    A-9 A The remaining 12 bytes that are transferred during the DATA OU T phase for the mode select command are the page 1 parameters. Mode Select Parameter List: Page 1 Parame ters for Winchester drives 3 08 Bloc k de sc rip t o r len gth Block Descript or 00 0 R e s e r v e d 1 0 0 Number of blocks (MS B) 2 0 0 Number of blocks 3 0 0 Number of block[...]

  • Page 158

    COMMON COMM AND SET AND D ISK OPER ATION A-10 A Before form atting a Winchester disk, the M VME147 SCSI firmware sends a mode select command for format parameters (page 3) to the controller. Below is the command descriptor block for the mode select command: Mode Select Command CD B The first twelve bytes that are transferred during the DATA OUT pha[...]

  • Page 159

    A-11 A The remaining 24 bytes that are transferred during the DATA OU T phase for the mode select command are the page 3 parameters. Mode Select Parameter List: Page 3 Parame ters for Winchester drives BYTE OFFSET V ALUE COMMENTS Mode Select Heade r 00 0 R e s e r v e d 1 0 0 Media type 20 0 R e s e r v e d 3 08 Bloc k de sc rip t o r len gth Block[...]

  • Page 160

    COMMON COMM AND SET AND D ISK OPER ATION A-12 A Mode Select Parameter List: Page 3 Parameters for Winchester drives (cont’ d) 8 (Note 4) Altern ate t racks p er vo lume (M SB) 9 (Note 4) Altern ate t racks p er vo lume (L SB) A (Note 5) Sector s per t rack ( MSB) B (Note 5) Sector s per t rack ( LSB) C (Note 6) Bytes per sec tor (MS B) D (Note 6)[...]

  • Page 161

    A-13 A Before form atting a Winchester disk, the M VME147 SCSI firmware sends a mode select command fo r drive geometry parameters (page 4) to the controller. Below is the c ommand descriptor block for the mode select command: Mode Select Command CD B 4. Al ternate tracks per volume i s taken f rom the attach packets a lternate cylin ders to r eser[...]

  • Page 162

    COMMON COMM AND SET AND D ISK OPER ATION A-14 A The first twelve bytes that are transferred during the DATA OUT phase fo r the mode select command make up the mode select header , and the block descriptor which is described below: Mode Select Header and Block Descriptor The remaining 20 bytes that are transferred during the DATA OU T phase for the [...]

  • Page 163

    A-15 A Mode Select Parameter List: Page 4 Parame ters for Winchester drives Mode Select Parameter List: Page 4 Parameters for Winchester drives (cont’ d) BYTE OFFSET V ALUE COMMENTS 0 4 Page code 11 2 P a g e l e n g t h 2 (Note 1) Number of cylinders (MSB) 3 (Note 1) Number of cylinders 4 (Note 1) Number of cylinders (LSB) 5 (Note 2) Number of h[...]

  • Page 164

    COMMON COMM AND SET AND D ISK OPER ATION A-16 A Before accessing a floppy disk o n the OMTI7000, the MVME14 7 SCSI firmware sends a mode select command to the controller. Below is the command descriptor block for the m ode select command: Mode Select Command CD B The first twelve bytes that are transferred during the DATA OUT phase fo r the mode se[...]

  • Page 165

    A-17 A BYTE OFFSET V ALUE COMMENTS Mode Select Heade r 00 0 R e s e r v e d 1 (N ote 1) Media type 20 0 R e s e r v e d 3 08 Bloc k de sc rip t o r len gth Block Descript or 00 0 R e s e r v e d 1 0 0 Number of blocks (MS B) 2 0 0 Number of blocks 3 0 0 Number of blocks (LS B) 40 0 R e s e r v e d 5 0 0 Block len gth (MSB ) 6( N o t e ) B l o c k l[...]

  • Page 166

    COMMON COMM AND SET AND D ISK OPER ATION A-18 A The remaining 32 bytes that are transferred during the DATA OU T phase for the mode select command are th e page 5 hea der a nd pa ramete rs. The header consists of the first two bytes listed below, the pa rameters are the remainin g bytes. Mode Select Parameter List: Page 5 Parame ters 1 2 001 5 ¼ i[...]

  • Page 167

    A-19 A Mode Select Parameter List: Page 5 Par ameters (cont’ d) C (Note 6) Starting cylinder - reduced write current (MSB) D (Not e 6 ) Starting cylinder - reduced write current (LSB) E (Note 7) Drive step rate (MSB) F (Note 7) Drive step rate (LSB) BYTE OFFSET V ALUE COMMENTS 10 00 Drive step pulse width 1 1 01 Head set tle delay (MSB) 12 18 Hea[...]

  • Page 168

    COMMON COMM AND SET AND D ISK OPER ATION A-20 A Pin 2 and Pin 34 Definition for Hig h Density. Pin 2 and Pin 34 Definition for Low Density. 3. Sectors/ track is t a ken fr om the attach packet, byte of fset $0C. 4. The numb er of bytes/ sector is taken from t he bytes per block field in t he attach packet, b yte of fset $1C. 5. The Number o f cyli [...]

  • Page 169

    A-21 A PIN 34 CONTROL PIN 2 CONTR OL BIT 76543210 C O M M E N T S 00011101 P i n 3 4 = d r i v e rea dy , low tr ue Bit 3 = 0) Pin 2 = 1 (lo w den sit y) 10. Th is field is le ft as the default va lue as r eturned fr om the mode sense command.[...]

  • Page 170

    COMMON COMM AND SET AND D ISK OPER ATION A-22 A[...]