!
!       LOCK.BAS        10/23/84        NEW
!
!                       06/18/87        DONATED TO AMUS BY ED SCHRAYER
!
!       PURPOSE :       LOCK WILL DISPLAY UP TO 54 LOCKS WHICH HAVE BEEN
!                       SET USING XLOCK.SBR
!
!       USAGE   :       LOCK SHOULD RESIDE ON DSK0:7,6
!
!                       TYPE "RUN LOCK"
!
!                        >>   OR   <<
!
!                       PLACE 'LOCK.CMD' (LISTED BELOW) ONTO PPN DSK0:2,2
!
!                               --LISTING OF LOCK.CMD TO RESIDE ON DSK0:2,2--
!
!                                               >>>>    :T
!                                               >>>>    RUN LOCK
!                       THEN TYPE "LOCK"
!
!
!                       THE SCREEN WILL BE CLEARED. YOU WILL BE ASKED FOR THE
!                       NUMBER OF CYCLES. THIS IS THE NUMBER OF TIMES THIS
!                       PROGRAM WILL DISPLAY THE ENTIRE SET OF LOCKS ON YOUR
!                       SYSTEM.  NEXT YOU WILL BE ASKED FOR THE NUMBER OF
!                       DELAY UNITS. THIS IS A WAIT PERIOD BETWEEN EACH
!                       CYCLE. EXPERIMENT.
!
!                       THIS PROGRAM IS ENTIRELY SAFE AND CAN NOT HURT OR
!                       DAMAGE ANYTHING ON YOUR SYSTEM.
!
!                       ENTER '0' FOR THE NUMBER OF DISPLAY CYCLES TO EXIT.
!
!                       IF YOU DO USE XLOCK.SBR ON YOUR SYSTEM, THE DISPLAY
!                       WILL SHOW THAT NO LOCKS ARE IN USE.
!
!
       MAP1 MODE,B,2
       MAP1 LOCK1,B,2
       MAP1 LOCK2,B,2
       MAP1 LOCKARRAY
          MAP2 LOCKENTRY(54)
               MAP3 JOB,B,2
               MAP3 L1,B,2
               MAP3 L2,B,2
       ON ERROR GOTO RESPOND
       ?TAB(-1,0)
  GET'NEXT:
       C=6 : B=1 : CNT=0
       COUNTER=0
       ?TAB(1,1);:INPUT"ENTER LOCK DISPLAY CYCLES   : ";COUNTER
       IF COUNTER=0 GOTO RESPOND
       ?TAB(2,1);:INPUT"ENTER DELAY UNITS           : ";PAUSE
       P=PAUSE * 500
       ?TAB(2,40);"(";P;")   ";
       ?TAB(4,1);"CURRENT LOCKS IN USE =";
  LOCKUP:
       C=6 : B=1
       CNT=CNT+1
       IF CNT=COUNTER+1 GOTO GET'NEXT
       ?TAB(1,40);"(";CNT;")    ";
       ?TAB(4,23);TAB(-1,10);
       MODE=3:LOCK1=0:LOCK2=0
       XCALL XLOCK,MODE,LOCK1,LOCKARRAY
       ?TAB(4,23);MODE;
       IF MODE=0 GOTO PAUSE'REST
       FOR A=1 TO MODE
       IF C=24 AND B=1  C=6 : B=28
       IF C=24 AND B=28 C=6 : B=56
       ?TAB(C,B);"(JOB";JOB(A);") ";STR(L1(A))+","+STR(L2(A));" ";
       C=C+1
  MORE:
       NEXT A
  PAUSE'REST:
       FOR J=1 TO P : NEXT J
       GOTO LOCKUP
  RESPOND:
       ?TAB(-1,0);"END OF LOCK"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!