Emerson MVME147 Computer Hardware User Manual


 
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 the message-in buffer (pointed to by
words $20 and $22 of the command table).
d. Create a TARGET sequence custom SCSI sequence packet as described in
the TARGET Sequence Custom Sequence Packet section in Chapter 2. This
packet should contain a pointer to the script described above and to the
command table that was created or used. (You may wish to use the same
command table that was provided for the TARGET enable call to the SCSI
firmware.)
STEP 4: Call the SCSI firmware
Point address register A2 to the packet created in Step 3d
above and jump into the SCSI firmware through the FUNNEL
command entry.
After the proper service script and command table have been prepared by the
user, a second custom SCSI sequence -- TARGET sequence packet must be
issued to the firmware. This packet is intended to service the command that
was just received. A script is passed to the firmware to be executed
immediately following the reselection of the disconnected initiator. The
firmware automatically performs the message-in phase with the identify
message to reestablish the disconnected thread. This information transfer
phase (message-in) should NOT be in the script.
The phases are performed as instructed by the script until a "$1C=FINISHED"
is encountered. This is the signal for the firmware to either disconnect from
the bus or to begin service of the next part of a linked command. The link
information is passed to the firmware through the control byte of the CDB. If
the link bit is set, the firmware makes the transition to the command phase,
stores the received command and command count into the command table,
makes the transition to the message-in phase, and issues a disconnect message
followed by a SCSI bus disconnect. Some housekeeping later, the firmware
returns to the user service routine with a final status of $xx19, stating that a
command has been received following the completion of the earlier command
serviced in a link. The service process then repeats.
If the serviced command has not been linked and a disconnect has been
performed instead, the firmware cleans up some details and returns to the user
service routine with a $xx18 final status.
A custom SCSI sequence -- TARGET sequence is shown in the TARGET
Sequence Custom Packet section in Chapter 2.