* QUEUE
*
* xmit/recv queue handler
$TXRQU MOV  R11,*S+
       BL   @IRQ
       MOV  @$WTIMR,@$WTIMR
       JEQ  EXITY
       BL   @TXQUE
       BL   @$CLRQU
       B    @DEQUE2
TXREX
* Interrupt MBX
IRQ
IRQX   LI   R12,6
       SBZ  16
       SBO  15
       SBO  17
       SBZ  15
       SBO  16
       MOV  @THRFF,@$WTIMR
IRQ0   DEC  @$WTIMR
       JEQ  IRQ2
       TB   3
       JEQ  IRQ0
       SBO  15
       MOV  @THRFF,@$WTIMR
IRQ1   DEC  @$WTIMR
       JEQ  IRQ2
       TB   3
       JNE  IRQ1
       SOCB @DONE6,@$WORLD
       JMP  IRQ3
IRQ2   SOCB @DONE5,@$RSTA3
       SZCB @DONE6,@$WORLD
*      CLR  @$CDIRQ     { DEBUG }
IRQ3   SBZ  16
IRQ4   RT
* xmit queue
TXQUE  MOV  R11,*S+
       MOVB @$RSTAT,R0
       ANDI R0,>200
       JEQ  SNDVDP
       MOVB @$RSTAT,R0
       ANDI R0,>400
       JNE  SNDVDP
       MOVB @$RSTA3,R0
       ANDI R0,>100
       JEQ  SNDBFC
       INCT @$LSTPT
       BL   @STWRDI
       MOV  @$SYNAD,@$SYNAD
       JEQ  SNDVDP
       BL   @$STDEC
SNDBFC LI   R2,>10
       BL   @ENQCMD
SNDVDP LI   R2,QSTART
TXQ0   C    R2,@$QUADR
       JEQ  TXQ1
       LI   R9,16
       BL   @$BLFVQ
       BL   @TXD
       INCT R2
       JMP  TXQ0
TXQ1   MOV  @$QUBIT,R9
       JEQ  TXQNXT
       BL   @$BLFVQ
       BL   @TXD
TXQNXT MOVB @$RSTAT,R0
       ANDI R0,>200
       JEQ  TXQEND
       MOVB @$RSTAT,R0
       ANDI R0,>400
       JNE  TXQEND
       MOV  @$SYNAD,R1
       JEQ  LSTEND
       MOV  R1,@$SYOLD
       BL   @WDFGR
       MOVB @$SYLEN,R7
       SRL  R7,8
       BL   @TXD$
       INC  @$SYNAD
       DEC  R7
       JEQ  TXQOFF
       SLA  R2,8
       BL   @TXD$
       INC  @$SYNAD
       DEC  R7
       JEQ  TXQOFF
NXBYTE MOV  @$SYNAD,R0
       MOVB *R0,R0
       BL   @TXD$$
       INC  @$SYNAD
       DEC  R7
       JNE  NXBYTE
TXQOFF MOV  @$GRADR,R3
       BL   @$RTGRA
       SB   @$ONE,@$SYSTG
       CB   @$SYSTG,@ZERO$
       JH   TXQEND
LSTEND MOV  @$GRADR,R3
       BL   @$RTGRA
       SOCB @$ONE,@$RSTA3
       MOVB @$WRDPH,@$WRDPH
       JNE  TXQEND
       SZCB @DONE6,@$RSTAT
TXQEND LI   R9,1
       LI   R0,>8000
       BL   @TXD
EXITZ  DECT S
       MOV  *S,R11
       RT
* xmit
TXD$   MOV  R2,R0
TXD$$  LI   R9,8
TXD
TXDX   LI   R12,6
TXD0   SLA  R0,1
       JOC  OUT1
       SBO  15
       SBO  16
       JMP  TXW1
OUT1   SBZ  15
       SBO  16
TXW1   TB   3
       JEQ  TXW1
TXW2   TB   3
       JNE  TXW2
       DEC  R9
       JNE  TXD0
       SBO  15
       SBZ  16
       SBO  17
TXD2   RT
* yet more equ's
$NBYTE EQU  >8365
$XADDR EQU  >8366
