                                                   Rev. 0 / 1985-07-08
CASE Generate Status Message
  CASE Message Identifier
    WHEN flag return message expected
      copy message identifier from mailbox A to mail buffer
    OTHERWISE
      load message identifier for unsolicited message
  END Message Identifier
  load message length = 4 into mail buffer
  load status message command code into mail buffer
  WHEN check sum error or timeout or addressed slave not operational
    copy bits 0, 2, and 7 from status register to mail buffer
    get slave addr from output buffer WHEN check sum error or timeout
    get slave addr from mailbox A WHEN NOT check sum error or timeout
    load slave address into mail buffer
    reset bits 0, 2, and 7 in status register
    load 3FH into mail buffer (= no version code accessible)
  WHEN slave status received (code for status message present in
       1st byte of input buffer)
    copy slave program version code from input buffer to mail buffer
    copy slave address from output buffer to mail buffer
    copy slave status byte from input buffer to mail buffer
  OTHERWISE
    load master unit address into mail buffer
    load master program version register into mail buffer
    load status register into mail buffer
    reset status register
END Generate Status Message



STATUS REGISTER (generated by master):

+---+
! 7 ! timeout at serial transmission
!---!
! 6 ! 0 (spare)
!---!
! 5 ! 0 (spare)
!---!
! 4 ! master program check sum error
!---!
! 3 ! master RAM error
!---!
! 2 ! addressed slave not operational
!---!
! 1 ! invalid command
!---!
! 0 ! check sum error at serial transmission
+---+

STATUS MESSAGE TO CPU (as it is built up in mail buffer
                       and later copied to mailbox B):

+------------+---------+-----------+---------+----------+----------+
!  Message   ! Message !    Unit   ! Command ! Program  !   Unit   !
!identifier  ! length  !  address  !  code   ! version  !  status  !
!(00 for un- !   (4)   !(slave:    !  (26H)  !(master or!(see SLAN !
!solicited   !         !as copied  !         !slave prog!spec. 4.2)!
!message,    !         !from output!         !vers, 3FH !          !
!otherwise as!         !buffer,    !         !when slave!          !
!copied from !         !master:78H)!         !stat can't!          !
!input msg)  !         !           !         !be read)  !          !
+------------+---------+-----------+---------+----------+----------+
