* IRQRTN
*
IRQRTN LWPI IRQWS
       MOV  @MAINWS+20,S
       INCT S
       MOV  @OLDRND,R0
       AI   R0,>1532
       MOV  R0,@$RAND
       BL   @$RNDOM
       MOV  R0,@OLDRND
       INC  @SPKTMR
       CLR  @$TIMEO
       MOV  @STARTF,R0
       JNE  IRQRT1
       MOVB @$WORLD,R0
       COC  @MBXMSK,R0
       JNE  IRQRT2
IRQRT1 BL   @$TXRQU
       MOVB @$WORLD,R0
       COC  @MBXMSK,R0
       JNE  IRQRT2
       CLR  @STARTF
IRQRT2 LWPI $GPLWS
       RT
* more equates
$GRADR EQU  >834E
$WRDPH EQU  >8365
$LSTPT EQU  >8366
$WTIMR EQU  >8368
$KYBR2 EQU  >836A
$PARAM EQU  >836B
$SYLEN EQU  >836C
$SYSTG EQU  >836D
$SYOLD EQU  >836E
$QUADR EQU  >83A0
$QUBIT EQU  >83A2
$QWORD EQU  >83A4
$RSTAT EQU  >83A6
$RSTA2 EQU  >83A7
$RSTA3 EQU  >83A8
$TSLOT EQU  >83A9
$MWORD EQU  >83AA
$MCERT EQU  >83AB
$KYBRD EQU  >83AC
$JYMSK EQU  >83AD
$JYCNT EQU  >83AE
$JOYCT EQU  >83AF
$JOY1Y EQU  >83B0
$JOY1X EQU  >83B1
$JOY1Z EQU  >83B2
$JOY1B EQU  >83B3
$JOY2Y EQU  >83B4
$JOY2X EQU  >83B5
$JOY2Z EQU  >83B6
$JOY2B EQU  >83B7
$SYNAD EQU  >83B8
QSTART EQU  >3B80
*
* Init MBX for training
INTXPD MOV  R11,*S+
       LIMI 0
INTX1  BL   @$CLRQU
       MOV  @ZERO$,@$RSTAT
       MOVB @FF,@$RSTA3
       LI   R2,IRQRTN
       MOV  R2,@$CDIRQ
       BL   @$MBXID
       LIMI 2
MBWAIT MOVB @$RSTA3,R1
       ANDI R1,>400
       JEQ  MBWAIT
       LIMI 0
       LI   R2,IRQRTN
       MOV  R2,@$CDIRQ
       LI   R1,1
       JMP  $KEYI2
*
* clear queue
$CLRQU MOV  R11,*S+
       CLR  @$QUBIT
       LI   R2,QSTART
       MOV  R2,@$QUADR
       CLR  @$QWORD
       BL   @$BLKVQ
       JMP  EXITS
