Emerson MVME147 User Manual

Page of 170
Interface Rules for the SCSI Firmware
5-3
5
information; it does imply that only one routine handles the exit conditions 
dictated by bit 13 of the second word in the user packet (also known as the 
status word).  
Multiple callers
 of the SCSI firmware are separate, independent drivers that 
handle SCSI returns without knowledge of other drivers/callers. This 
definition implies that more than one routine handles the exit conditions 
dictated by bit 13 of the first returned status word.  
Interface Rules for Multiple Callers
You send a command by loading the address of your packet in address register 
A2 and jumping to the FUNNEL command entry ($FFFE078E).  The system 
must be in supervisory mode and the interrupt mask must the equal specified 
in the packet.  
A command may be sent to the FUNNEL command entry almost any time, 
except as noted below.  
A command may not be sent to the FUNNEL command entry point after the 
following returned intermediate status codes have been received (all 
intermediate status codes have bit 15 set): 
1.
($xx04)  Message received.  
2.
($xx06)  Command received (TARGET role) 
The above intermediate status codes are returned when a TARGET is threaded 
and on the SCSI bus.  These cases require entry to the RTE entry to complete 
the firmware-specified actions.  Refer to Rule 2 below.  
You may send a command to the FUNNEL command entry on all final status 
returns except: 
Final status with bit 13 clear, indicating that an RTE is to be executed.  (In this 
case, a new command may be sent by entering the firmware at the SCSI_RTE 
entry, $FFFE079A.  Register A3 must remain intact.) 
IMPLEMENTATION NOTE:  Your interface driver or interface server usually 
has the command entry processing and command status processing 
decoupled.  In other words, commands are sent to the SCSI firmware as a 
result of a subroutine call or as a result of a TRAP call to your driver or server.   
Rule 1:
COMMANDS ARE SENT TO FUNNEL 
COMMAND ENTRY.