
                  PROTOCOL LEFT BY ISPY ON NETWORK
                  ---------------------------------


The term ISERVER packets will be used here. This means an occam
protocol of INT16::[]BYTE.


  1) From network to HOST.
  
     Each node knows the link down which it was booted. Messages 
     of ISERVER protocol arriving on any link are passed back to
     the boot link.  The router handles packets of any size,
     however the special length of 45332 is used internally.

     
  2) From HOST to network.
  
     The system works with the concept of a default path. This 
     sets a path to a particular node in the network. This node 
     is referred to as the Target. ISERVER packets are routed
     directly to the target. Either they arrive at the 
     Target as ISERVER packets, or they are stripped of the 
     length, and only the []BYTE gets to the Target. This mode is 
     used to boot transputers.  

     The modes and default path are set by an 'escape' from the 
     ISERVER protocol. When the packet length is 65535, it marks 
     an 'escape'.  The normal []BYTE does not follow an INT16 
     length of 65535. Instead, a control sequence follows:


     SETTING THE DEFAULT PATH
     
     The following sequence sets the default path:-

          $FF(BYTE), $FF(BYTE), 0(BYTE), INT16::[]BYTE
          <-      escape    ->  < set >  < path >

     []BYTE at the end is a succession of link numbers (from 0 
     through 3) which describe the path. The first byte is the 
     link out of the root transputer, byte 1 is the link out of 
     that transputer, and so on. THIS MESSAGE DOES NOT REACH THE 
     TARGET NODE, It stops one before.  

     At this point, any ISERVER packet gets to the target node as 
     an ordinary ISERVER packet, that is INT16::[]BYTE.  

     
     SETTING RAW MODE
     
     The following sequence will tell the node just before the 
     Target node to strip the INT16 length from the packet before 
     passing it to the Target :-

          $FF(BYTE), $FF(BYTE), 2(BYTE)
          <-      escape    ->  < boot >

          
     HALTING A NODE
     
     The following sequence will tell the Taget node to prepare 
     to boot. The Target node (running ISPY code) will reset all 
     Links except the boot link, and then execute OPR $1FF, the 
     start instruction. The Transputer is now in a state similar 
     the that just after reset, and will accept a bootstrap FROM 
     ANY LINK.  


          $FF(BYTE), $FF(BYTE), $FF(BYTE)
          <-      escape    ->  < halt >

