* TESTD
*
PIAMQQ MOV  R11,*S+
       MOV  @FATLEF,R0
       JEQ  PIAM11
       B    @PIAM99
PIAM11 BL   @$CLRG1
       LI   R0,15
       LI   R1,PIAMT1
       LI   R2,8
       BL   @$BLKVR
       LI   R3,PIAMT2
       LI   R4,70
       LI   R5,8
PIAM10 LI   R0,19
       MOV  R3,R1
       MOV  R4,R2
       BL   @$BLKVR
       AI   R3,19
       AI   R4,64
       DEC  R5
       JNE  PIAM10
       LI   R0,15
       LI   R1,PIAMT1
       LI   R2,584
       BL   @$BLKVR
       LI   R0,21
       LI   R1,PIAMT3
       LI   R2,677
       BL   @$BLKVR
       LI   R0,20
       LI   R1,PIAMT4
       LI   R2,741
       BL   @$BLKVR
       LI   R1,128
PIAM1A SETO @KBFLGS-2(R1)
       DECT R1
       JH   PIAM1A
PIAM20 LIMI 2
       LIMI 0
       MOVB @$WORLD,R0
       COC  @MBXMSK,R0
       JEQ  PIAM21
       SETO R0
       SETO @FATLEF
       SETO @ERRORF
       SETO @LINKEF
       LI   R1,128
PIAM22 CLR  @KBFLGS-2(R1)
       DECT R1
       JH   PIAM22
       B    @PIAM99
PIAM21 BL   @TIKBDS
       CB   @$KEY,@HFF
       JEQ  PIAM23
PIAM25 BL   @TIKBDS
       CB   @$KEY,@HFF
       JNE  PIAM25
       LI   R1,126
       MOV  @KBFLGS,R0
PIAM24 SOC  @KBFLGS(R1),R0
       DECT R1
       JH   PIAM24
       SOC  R0,@ERRORF
       B    @PIAM99
PIAM23 MOVB @$KYBRD,R3
       JEQ  PIAM20
       ANDI R3,>3F00
       SRL  R3,7
       CLR  @KBFLGS(R3)
       MOV  R3,R2
       SLA  R2,2
       ANDI R2,>FFC0
       ANDI R3,>000F
       A    R3,R2
       AI   R2,72
       LI   R0,'O'*>100
       BL   @$BYTVR
       B    @PIAM20
PIAM99 DECT S
       MOV  *S,R11
       RT
*
PIAMT1 TEXT 'A B C D E F G H'
PIAMT2 TEXT '1 _ _ _ _ _ _ _ _ 1'
       TEXT '2 _ _ _ _ _ _ _ _ 2'
       TEXT '3 _ _ _ _ _ _ _ _ 3'
       TEXT '4 _ _ _ _ _ _ _ _ 4'
       TEXT '5 _ _ _ _ _ _ _ _ 5'
       TEXT '6 _ _ _ _ _ _ _ _ 6'
       TEXT '7 _ _ _ _ _ _ _ _ 7'
       TEXT '8 _ _ _ _ _ _ _ _ 8'
PIAMT3 TEXT 'PRESS ALL MBX KEYS,  '
PIAMT4 TEXT 'PRESS TI KEY AT END.'
*
READIT EQU  >8390
SPDATA EQU  >839E
SRCTQQ MOV  R11,*S+
       MOV  @FATLEF,R0
       JNE  SRCT12
       BL   @$CLRG1
       LI   R0,16
       LI   R1,SRCTT1
       LI   R2,297
       BL   @$BLKVR
       LI   R0,11
       LI   R1,SRCTT2
       LI   R2,363
       BL   @$BLKVR
       BL   @RECINI
       MOV  @FATLEF,R0
       JNE  SRCT12
       MOVB @$RSTAT,R1
       ANDI R1,>8000
       CB   R1,@DONE0
       JHE  SRCT13
       LIMI 0
       LI   R1,READIT
       LI   R2,CODE
       LI   R3,CLEN
SRCT02 MOV  *R2+,*R1+
       DECT R3
       JH   SRCT02
       LI   R1,2
       MOV  R1,@CNTER
SRCT03 CLR  @WORDN
SRCTOP BL   @RCLS00
       MOV  @SRCTFL,R1
       JNE  SRCT98
       SWPB @WORDN
       MOVB @WORDN,@$PARAM
       SWPB @WORDN
       BL   @$TRAIN
       LIMI 2
SRCT29 MOVB @$WORLD,R0
       COC  @MBXMSK,R0
       JEQ  SRCT30
       SETO R0
       SETO @FATLEF
       SETO @ERRORF
       SETO @LINKEF
SRCT12 JMP  SRCT99
SRCT13 JMP  SRCT98
SRCT30 MOVB @$RSTA3,R1
       ANDI R1,>4000
       CB   R1,@DONE1
       JL   SRCT29
       MOVB @$RSTAT,R1
       ANDI R1,>1000
       CB   R1,@DONE3
       JHE  SRCT98
       INC  @WORDN
       MOV  @WORDN,R3
       CI   R3,5
       JHE  SRCT32
       B    @SRCTOP
SRCT32 DEC  @CNTER
       JEQ  MTCHWD
       B    @SRCT03
MTCHWD CLR  R3
       MOV  R3,@WORDN
MTCTOP BL   @RCLS00
       MOV  @SRCTFL,R1
       JNE  SRCT98
       CLR  R1
       BL   @$MATCH
       LIMI 2
SRCT34 MOVB @$WORLD,R0
       COC  @MBXMSK,R0
       JEQ  SRCT35
       SETO R0
       SETO @FATLEF
       SETO @ERRORF
       SETO @LINKEF
       JMP  SRCT99
SRCT35 MOVB @$RSTA3,R1
       ANDI R1,>2000
       CB   R1,@DONE2
       JL   SRCT34
       MOVB @$RSTAT,R1
       ANDI R1,>0800
       CB   R1,@DONE4
       JHE  SRCT98
       MOV  @WORDN,R3
       SWPB R3
       CB   @$MWORD,R3
       JNE  SRCT98
       INC  @WORDN
       MOV  @WORDN,R3
       CI   R3,5
       JHE  SRCT97
       B    @MTCTOP
SRCT97 CLR  @SRCTFL
       JMP  SRCT99
SRCT98 BL   @$ABRTL
       LIMI 2
SRCTWW MOVB @$RSTA3,R3
       ANDI R3,>8000
       JEQ  SRCTWW
       SETO R3
       SETO @SRCTFL
       SETO @ERRORF
SRCT99 LIMI 2
       DECT S
       MOV  *S,R11
       RT
SRCTT1 TEXT 'RECOGNITION TEST'
SRCTT2 TEXT 'IN PROGRESS'
*
CODE   MOVB @>9000,@SPDATA
       NOP
       NOP
       NOP
       RT
CLEN   EQU  $-CODE
*
LOADLP MOV  R11,*S+
LOADL1 SRC  R0,4
       MOV  R0,R1
       SRC  R1,4
       ANDI R1,>0F00
       ORI  R1,>4000
       MOVB R1,@>9400
       DEC  R2
       JNE  LOADL1
       LI   R1,>4000
       MOVB R1,@>9400
       BL   @READIT
       DECT S
       MOV  *S,R11
       RT
