0 MODE (PRT2,19200,N,8,1,N,)
20 MODE (PRT1,19200,N,8,1,N,)
30 PUSH 2 : CALL 37 : REM RESET BUFFER
40 PUSH 3 : CALL 120 : REM CLEAR SLC MO AND M1 FILES
50 PUSH 12 : CALL 120 : REM CLEAR SLC O AND I FILES
60 STRING 4000,100
70 $(1)="Out01 In04 Aud"
80 PRINT @$(1)
90 REM $(2)="Out01 In04 Aud"
100 SLN1=0 : SLN2=0 : SLN3=0 : SLN4=0 : SLN5=0 : SLN6=0 : SLN7=0
110 SLN8=0 : SLN9=0 : SLN10=0 : SLN11=0 : SLN12=0 : SLN13=0 : SLN14=0
120 PRINT @"1%"
130 T=T+1 : IF T>4 THEN T=1
140 T1=T1+1 : IF T1>4000 THEN T1=1
150 REM PRINT "TFT",TFT,"MF1",MF1,"MQ1",MQ1
160 REM IF T=1 GOTO 200 : REM CHECK SENT FROM PLC
170 REM IF T=2 GOTO 810 : REM SEND BUFFER TO PLC
180 PUSH 1 : CALL 36 : POP POB
190 PRINT "P2 OUT BUFF",POB
200 IF POB<>0 THEN GOTO 250
210 IF POB=0 THEN GOTO 650
220 IF MQ1=1 THEN W=16
230 IF MQ1=5 THEN W=5
240 REM
250 IF MQ1<=1.AND.MQ1>=4 THEN INPS #$(3),16
260 IF MQ1=5 THEN INPS #$(3),7
270 PRINT "ST B",$(3)
280 FOR I=1 TO 16
290 A=ASC($(1),I)
300 B=ASC($(3),I)
310 IF A=B.AND.I=1 THEN SLN1=1
320 IF A<>B.AND.I=1 THEN SLN1=20
330 IF A=B.AND.I=2 THEN SLN2=1
340 IF A<>B.AND.I=2 THEN SLN2=20
350 IF A=B.AND.I=3 THEN SLN3=1
360 IF A<>B.AND.I=3 THEN SLN3=20
370 IF A=B.AND.I=4 THEN SLN4=1
380 IF A<>B.AND.I=4 THEN SLN4=20
390 IF A=B.AND.I=5 THEN SLN5=1
400 IF A<>B.AND.I=5 THEN SLN5=20
410 IF A=B.AND.I=6 THEN SLN6=1
420 IF A<>B.AND.I=6 THEN SLN6=20
430 IF A=B.AND.I=7 THEN SLN7=1
440 IF A<>B.AND.I=7 THEN SLN7=20
450 IF A=B.AND.I=8 THEN SLN8=1
460 IF A<>B.AND.I=8 THEN SLN8=20
470 IF A=B.AND.I=9 THEN SLN9=1
480 IF A<>B.AND.I=9 THEN SLN9=20
490 IF A=B.AND.I=10 THEN SLN10=1
500 IF A<>B.AND.I=10 THEN SLN10=20
510 IF A=B.AND.I=11 THEN SLN11=1
520 IF A<>B.AND.I=11 THEN SLN11=20
530 IF A=B.AND.I=12 THEN SLN12=1
540 IF A<>B.AND.I=12 THEN SLN12=20
550 IF A=B.AND.I=13 THEN SLN13=1
560 IF A<>B.AND.I=13 THEN SLN13=20
570 IF A=B.AND.I=14 THEN SLN14=1
580 IF A<>B.AND.I=14 THEN SLN14=20
590 PRINT "INDEX",I
600 PRINT "LP",I,"A",A,"B",B
610 PRINT SLN1,SLN2,SLN3,SLN4,SLN4,SLN6,SLN7,SLN8,SLN9,SLN10,SLN11,SLN1
620 PRINT SLN13,SLN14
630 NEXT I
640 GOTO 770
650 PUSH 10 : CALL 56 : POP S
660 PUSH 100 : CALL 14 : POP MQ1
670 PUSH 101 : CALL 14 : POP MQ2
680 PUSH 102 : CALL 14 : POP MQ3
690 PUSH 103 : CALL 14 : POP MQ4
700 REM IF MQ2=0 THEN PRINT #"1%"
710 IF MQ2=1 THEN PRINT #"1*1$" : REM HMI NDE AUD 01-01
720 IF MQ2=2 THEN PRINT #"2*1$" : REM HMI NDE AUD 02-01
730 IF MQ2=3 THEN PRINT #"3*1$" : REM HMI NDE AUD 03-01
740 IF MQ2=4 THEN PRINT #"4*1$" : REM HMI NDE AUD 04-01
750 IF MQ2=5 THEN PRINT #"1*0Z" : REM UNMUTE AUD O1
760 GOTO 130
770 TFAD=SLN1+SLN2+SLN3+SLN4+SLN4+SLN6+SLN7+SLN8+SLN9+SLN10+SLN11+SLN12
780 TFT=TFAD+SLN13+SLN14
790 MF1=TFT
800 PUSH 2 : CALL 37 : REM RESET BUFFER
810 MI2=203 : MI3=T1 : MI6=115
820 PUSH MF1 : PUSH 202 : CALL 24 : CALL 54 : POP X
830 PUSH MI2 : PUSH 203 : CALL 24 : CALL 54 : POP X
840 PUSH MI3 : PUSH 204 : CALL 24 : CALL 54 : POP X
850 PUSH MI4 : PUSH 113 : CALL 24 : CALL 54 : POP X
860 PUSH MI5 : PUSH 114 : CALL 24 : CALL 54 : POP X
870 PUSH MI6 : PUSH 115 : CALL 24 : CALL 54 : POP X
880 PUSH 3 : CALL 120 : REM CLEAR SLC MO
890 REM PRINT "TFT",TFT,"MF1",MF1,"MQ1",MQ1
900 GOTO 130