* TESTG
*
ATDE00 MOV  R11,*S+
       LI   R9,'1'*>100
ATDE10 CLR  R6
       LI   R5,22
ATDE11 MOV  @JOYSEF(R6),R0
       JEQ  ATDE80
       MOV  R5,*S+
       MOV  R6,*S+
       MOV  R6,R1
       SLA  R1,1
       MOV  @ATDEET(R1),R5
       LI   R6,TEXTB1
       LI   R3,TEXTB1
       MOV  @ATDEET+2(R1),R4
       BL   @MVTB00
       MOVB R9,@TEXTB1+9
       BL   @ELPT00
       DECT S
       MOV  *S,R6
       DECT S
       MOV  *S,R5
ATDE80 INCT R6
       DEC  R5
       JNE  ATDE11
       BL   @SWPF00
       CI   R9,'2'*>100
       JEQ  ATDE99
       LI   R9,'2'*>100
       JMP  ATDE10
ATDE99 DECT S
       MOV  *S,R11
       RT
ATDET0 TEXT 'JOYSTICK N FAILED TO HIT'
       BYTE 0
ATDET1 TEXT 'TOP-LEFT'
       BYTE 0
ATDET2 TEXT 'TOP-CENTER'
       BYTE 0
ATDET3 TEXT 'TOP-RIGHT'
       BYTE 0
ATDET4 TEXT 'LEFT-CENTER'
       BYTE 0
ATDET5 TEXT 'RIGHT-CENTER'
       BYTE 0
ATDET6 TEXT 'BOTTOM-LEFT'
       BYTE 0
ATDET7 TEXT 'BOTTOM-CENTER'
       BYTE 0
ATDET8 TEXT 'BOTTOM-RIGHT'
       BYTE 0
ATDET9 TEXT 'JOYSTICK N POT FAILED TO'
       BYTE 0
ATDETA TEXT 'HIT FULL COUNTER-CLOCKWISE'
       BYTE 0
ATDETB TEXT 'HIT MIDDLE'
       BYTE 0
ATDETC TEXT 'HIT FULL CLOCKWISE'
       BYTE 0
ATDETD TEXT 'JOYSTICK N BAD RESPONSE TO'
       BYTE 0
ATDETE TEXT 'TRIGGER'
       BYTE 0
ATDETF TEXT 'LEFT BUTTON'
       BYTE 0
ATDETG TEXT 'CENTER BUTTON'
       BYTE 0
ATDETH TEXT 'RIGHT BUTTON'
       BYTE 0
ATDETI TEXT 'TRIGGER & LEFT BUTTON'
       BYTE 0
ATDETJ TEXT 'TRIGGER & CENTER BUTTON'
       BYTE 0
ATDETK TEXT 'TRIGGER & RIGHT BUTTON'
       BYTE 0
ATDETL TEXT 'JOYSTICK N CENTERING'
       BYTE 0
ATDETM TEXT 'FAILURE'
       BYTE 0
ATDETN TEXT 'TOP-RIGHT IN ORDER'
       BYTE 0
ATDETP TEXT 'HIT COUNTER-CLOCKWISE ORDER'
       BYTE 0
ATDETQ TEXT 'NO SWITCHES'
       BYTE 0
ATDEET DATA ATDET0,ATDET1
       DATA ATDET0,ATDET2
       DATA ATDET0,ATDET3
       DATA ATDET0,ATDET4
       DATA ATDET0,ATDET5
       DATA ATDET0,ATDET6
       DATA ATDET0,ATDET7
       DATA ATDET0,ATDET8
       DATA ATDET9,ATDETA
       DATA ATDET9,ATDETB
       DATA ATDET9,ATDETC
       DATA ATDETD,ATDETE
       DATA ATDETD,ATDETF
       DATA ATDETD,ATDETG
       DATA ATDETD,ATDETH
       DATA ATDETD,ATDETI
       DATA ATDETD,ATDETJ
       DATA ATDETD,ATDETK
       DATA ATDETL,ATDETM
       DATA ATDET0,ATDETN
       DATA ATDET9,ATDETP
       DATA ATDETD,ATDETQ
*
RECE00 MOV  R11,*S+
       MOV  @SRCTFL,R0
       JEQ  RECE99
       LI   R3,RECET1
       LI   R4,NULLTX
       BL   @ELPT00
RECE99 DECT S
       MOV  *S,R11
       RT
RECET1 TEXT 'SPEECH RECOGNITION FAILURE'
       BYTE 0
*
SYNE00 MOV  R11,*S+
       MOV  @SSYTFL,R0
       JEQ  SYNE99
       LI   R3,SYNET1
       LI   R4,NULLTX
       BL   @ELPT00
SYNE99 DECT S
       MOV  *S,R11
       RT
SYNET1 TEXT 'SPEECH SYNTHESIS FAILURE'
       BYTE 0
*
ELPT00 MOV  R11,*S+
       MOV  @ERRORP,R0
       CI   R0,18
       JL  ELPT80
       MOV  R3,*S+
       MOV  R4,*S+
       BL   @MORE00
       BL   @$CLRG1
       LI   R0,1
       MOV  R0,@ERRORP
       DECT S
       MOV  *S,R4
       DECT S
       MOV  *S,R3
ELPT80 MOV  @ERRORP,R2
       SLA  R2,5
       AI   R2,2
       LI   R0,'_'*>100
       BL   @$BYTVR
       INC  R2
       BL   @PLIN00
       MOV  R4,R3
       INCT @ERRORP
       MOV  @ERRORP,R2
       SLA  R2,5
       AI   R2,4
       BL   @PLIN00
       INCT @ERRORP
ELPT99 DECT S
       MOV  *S,R11
       RT
*
PLIN00 MOV  R11,*S+
PLIN10 MOVB *R3+,R0
       JEQ  PLIN99
       BL   @$BYTVR
       JMP  PLIN10
PLIN99 DECT S
       MOV  *S,R11
       RT
*
MORE00 MOV  R11,*S+
       LI   R0,28
       LI   R1,MORET1
       LI   R2,706
       BL   @$BLKVR
MORE10 BL   @TIKBDS
       CB   @$KEY,@H20
       JNE  MORE10
MORE11 BL   @TIKBDS
       CB   @$KEY,@HFF
       JNE  MORE11
       DECT S
       MOV  *S,R11
       RT
MORET1 TEXT 'PRESS TI SPACE BAR FOR MORE.'
*
MVTB00 MOV  R11,*S+
MVTB10 MOVB *R5+,*R6+
       JNE  MVTB10
       DECT S
       MOV  *S,R11
       RT
*
FAIL00 MOV  R11,*S+
       LI   R0,>2000
       BL   @$CLRG1
       LI   R0,>1F00
       LI   R2,COLORT
       LI   R3,32
       BL   @$REPVR
       LI   R0,>0F00
       MOVB R0,@$SHAD7
       BL   @$BACK
       LI   R3,FAILT1
       CLR  R4
       BL   @BIG00
       DECT S
       MOV  *S,R11
       RT
FAILT1 TEXT ' ______  ______  ______  __     '
       TEXT ' __      __  __    __    __     '
       TEXT ' ____    ______    __    __     '
       TEXT ' __      __  __    __    __     '
       TEXT ' __      __  __  ______  ______ '
*
PASS00 MOV  R11,*S+
       LI   R0,>2000
       BL   @$CLRG1
       LI   R3,PASST1
       LI   R4,128
       BL   @BIG00
       BL   @NEXT00
       DECT S
       MOV  *S,R11
       RT
PASST1 TEXT ' ______  ______  ______  ______ '
       TEXT ' __  __  __  __  __      __     '
       TEXT ' ______  ______  ______  ______ '
       TEXT ' __      __  __      __      __ '
       TEXT ' __      __  __  ______  ______ '
*
NEXT00 MOV  R11,*S+
       LI   R0,18
       LI   R1,NEXTT1
       LI   R2,679
       BL   @$BLKVR
       LI   R0,18
       LI   R1,NEXTT2
       LI   R2,743
       BL   @$BLKVR
NEXT10 BL   @TIKBDS
       CB   @$KEY,@H20
       JNE  NEXT10
NEXT11 BL   @TIKBDS
       CB   @$KEY,@HFF
       JNE  NEXT11
       DECT S
       MOV  *S,R11
       RT
NEXTT1 TEXT 'PRESS TI SPACE BAR'
NEXTT2 TEXT '   TO CONTINUE.   '
H20    BYTE >20
BIG00  MOV  R11,*S+
       LI   R0,32
       MOV  R3,R1
       MOV  R4,R2
       BL   @$BLKVR
       AI   R4,32
       LI   R5,4
BIG10  LI   R0,64
       MOV  R3,R1
       MOV  R4,R2
       BL   @$BLKVR
       AI   R3,32
       AI   R4,64
       DEC  R5
       JNE  BIG10
       LI   R0,32
       MOV  R3,R1
       MOV  R4,R2
       BL   @$BLKVR
       DECT S
       MOV  *S,R11
       RT
