* TESTE
*
RECINI MOV  R11,*S+
       LI   R0,>100
       MOVB R1,@$PARAM
       BL   @$SETGM
       LIMI 2
RECIN1 MOVB @$WORLD,R0
       COC  @MBXMSK,R0
       JEQ  RECIN2
RECIEE SETO R0
       SETO @FATLEF
       SETO @ERRORF
       SETO @LINKEF
       JMP  RECIN9
RECIN2 MOVB @$RSTA2,R1
       ANDI R4,>4000
       CB   R1,@DONE1
       JL   RECIN1
       BL   @$SETLK
       LIMI 2
RECIN3 MOVB @$WORLD,R0
       COC  @MBXMSK,R0
       JNE  RECIEE
RECIN4 MOVB @$RSTA2,R1
       ANDI R1,>2000
       CB   R1,@DONE2
       JL   RECIN3
       BL   @$CLRTK
       LI   R1,>700
       MOVB R1,@$PARAM
       BL   @$ALLCT
       LIMI 2
RECIN5 MOVB @$WORLD,R0
       COC  @MBXMSK,R0
       JNE  RECIEE
RECIN6 MOVB @$RSTA2,R1
       ANDI R1,>1000
       CB   R1,@DONE3
       JL   RECIN5
RECIN9 DECT S
       MOV  *S,R11
       RT
*
RCLS00 MOV  R11,*S+
       CLR  @SPKTMR
       BL   @$LSTEN
       LIMI 2
RCLS01 MOV  @$QUADR,R1
       CI   R1,QSTART
       JNE  RCLS01
       MOV  @$QUBIT,R1
       JNE  RCLS01
       LIMI 0
       CLR  @PHROM
       MOV  @PHROM,R0
       LI   R2,4
       BL   @LOADLP
       MOVB @H10,@>9400
       BL   @READIT
       CB   @SPDATA,@HAA
       JNE  RCLS98
RCLS05 BL   @READIT
       MOVB @SPDATA,R0
       COC  @H8000,R0
       JEQ  RCLS05
       LI   R1,RWRDS
       MOV  @WORDN,R3
       SLA  R3,1
       A    R3,R1
       MOV  *R1,R0
       MOV  R0,@PHROM
       LI   R2,4
       BL   @LOADLP
       MOVB @H50,@>9400
RCLS08 BL   @READIT
       MOVB @SPDATA,R0
       COC  @H8000,R0
       JEQ  RCLS08
       LIMI 2
RCLS10 MOVB @$WORLD,R0
       COC  @MBXMSK,R0
       JEQ  RCLS15
       SETO R0
       SETO @FATLEF
       SETO @ERRORF
       SETO @LINKEF
RCLS12 B    @RCLS99
RCLS15 C    @SPKTMR,@HF0
       JHE  RCLS98
       MOVB @$RSTA2,R1
       ANDI R1,>0100
       CB   R1,@DONE7
       JL   RCLS10
       MOVB @$RSTAT,R1
       ANDI R1,>4000
       CB   R1,@DONE1
       JL   RCLS99
RCLS98 SETO R3
       SETO @SRCTFL
       SETO @ERRORF
RCLS99 DECT S
       MOV  *S,R11
       RT
*
SSYTQQ MOV  R11,*S+
       MOV  @FATLEF,R0
       JNE  SSYT24
       BL   @$CLRG1
       LI   R0,11
       LI   R1,SSYTT1
       LI   R2,108
       BL   @$BLKVR
SSYT01 BL   @$RNDOM
       LI   R1,>2492
       MOV  R1,R2
       CLR  R3
SSYT02 C    R0,R1
       JLE  SSYT03
       INC  R3
       A    R2,R1
       JMP  SSYT02
SSYT03 LI   R1,SWRDS
       LI   R4,SWRDT
       SLA  R3,1
       A    R3,R4
       A    R3,R1
       MOV  *R1,@$SYNAD
       MOV  *R4,R1
       LI   R0,5
       LI   R2,174
       BL   @$BLKVR
       LI   R0,8
       LI   R1,SSYTT9
       LI   R2,332
       BL   @$BLKVR
       LI   R0,19
       LI   R1,SSYTTA
       LI   R2,392
       BL   @$BLKVR
       LI   R0,7
       LI   R1,SSYTTB
       LI   R2,525
       BL   @$BLKVR
       LI   R0,23
       LI   R1,SSYTTC
       LI   R2,581
       BL   @$BLKVR
       CLR  @SPKTMR
       CLR  R1
       MOVB @ZERO$,@$WRDPH
       BL   @$BFSTG
       LIMI 2
SSYT04 MOVB @$WORLD,R0
       COC  @MBXMSK,R0
       JEQ  SSYT05
       SETO R0
       SETO @FATLEF
       SETO @ERRORF
       SETO @LINKEF
SSYT24 JMP  SSYT99
SSYT05 C    @SPKTMR,@HF0
       JHE  SSYT98
       MOVB @$RSTAT,R1
       ANDI R1,>200
       JNE  SSYT04
SSYT06 MOVB @$RSTAT,R1
       ANDI R1,>100
       JNE  SSYT04
SSYT10 BL   @TIKBDS
       CB   @$KEY,@HFF
       JEQ  SSYT10
       CLR  R3
       MOVB @$KEY,R3
SSYT11 BL   @TIKBDS
       CB   @$KEY,@HFF
       JNE  SSYT11
       SWPB R3
       CI   R3,32
       JNE  SSYT98
       CLR  @SSYTFL
       JMP  SSYT99
SSYT98 SETO R0
       SETO @SSYTFL
       SETO @ERRORF
SSYT99 DECT S
       MOV  *S,R11
       RT
SSYTT1 TEXT 'LISTEN FOR:'
SSYTT2 TEXT ' TWO '
SSYTT3 TEXT 'THREE'
SSYTT4 TEXT 'FOUR '
SSYTT5 TEXT 'FIVE '
SSYTT6 TEXT ' SIX '
SSYTT7 TEXT 'SEVEN'
SSYTT8 TEXT 'EIGHT'
SSYTT9 TEXT 'IF GOOD,'
SSYTTA TEXT 'PRESS TI SPACE BAR.'
SSYTTB TEXT 'IF BAD,'
SSYTTC TEXT 'PRESS ANY OTHER TI KEY.'
*
PRTW00 MOV  R11,*S+
       CLR  R0
       CLR  R1
       CLR  R6
       MOV  R3,R9
NEXT   INCT R2
       INC  R6
       SRL  R9,12
       LI   R5,ASCII
       AI   R5,>20
       SLA  R9,8
LOOK   DECT R5
       CB   R9,*R5
       JEQ  FOUND
       JLE  LOOK
       SETO R1
       JMP  END
FOUND  INC  R5
       MOVB *R5,R0
       BL   @$BYTVR
       CI   R6,4
       JEQ  GOOD
       MOV  R3,R9
       SLA  R9,4
       CI   R6,1
       JEQ  NEXT
       SLA  R9,4
       CI   R6,2
       JEQ  NEXT
       SLA  R9,4
       JMP  NEXT
GOOD   LI   R1,1
END    BL   @TIKBDS
       CB   @$KEY,@HFF
       JEQ  END
END2   BL   @TIKBDS
       CB   @$KEY,@HFF
       JNE  END2
       DECT S
       MOV  *S,R11
       RT
*
ASCII  DATA >0030,>0131,>0232,>0333,>0434
       DATA >0535,>0636,>0737,>0838,>0939
       DATA >0A41,>0B42,>0C43,>0D44,>0E45,>0F46
