Goto (a)

b:
NewPacket (0)
SetLed (26, 26, 10, 0)
SetLed (26, 26, 10, 1)
Buzzer (52, 0, 1)
MessageC (1, "Alarm")
MessageC (2, "Cancelled")
MessageB (3, blank, 1)
MessageB (4, blank, 1)
HideBroadcastsFor (4)
AllowInactive (0)
SendPacket ()
Exit ()

a:
Timeout (10000, b)
ClearRegisters ()
NewPacket (0)
MessageC (1, "Authorize")
MessageC (2, "Alarm")
MessageC (3, "Enter Supervisor")
MessageC (4, "Card, PIN or Finger")
HideBroadcastsFor (11)
SendPacket ()
WaitForCard ()

if (cnew <> 0)
   if (lcn = 0)
      Goto (b)
   end

   if (cie = 0)
      Goto (b)
   end

   if (cisu = 0)
      Goto (b)
   end

   if (exdate <> 0)
      CopyRegister (ax, clock)
      if (exdate < ax)
         Goto (b)
      end
   end
end

NewPacket (0)
MessageC (1, "Supervisor")
MessageB (2, empname, 1)
MessageB (3, blank, 1)
MessageB (4, blank, 1)
HideBroadcastsFor (3)
SendPacket ()
SetReg (clty, 70)
Clock ()
Wait (1000)

ClearRegisters ()
NewPacket (0)
SetRelay (1000,1000,30,1)
MessageC (1, "Alarm")
MessageB (2, blank, 1)
MessageB (3, blank, 1)
MessageC (4, "* to cancel")
HideBroadcastsFor (60)
SendPacket ()
SetReg (inm, 5)
Input (0, 0, 2)
if (ckey = 42)
   ClearRegisters ()
   NewPacket (0)
   SetRelay (1, 1, 1, 1)
   HideBroadcastsFor (1)
   SendPacket ()
   Goto (b)
end

Exit ()