]> cloudbase.mooo.com Git - z180-stamp-cpm3.git/commitdiff
XOFF for asci0
authorLeo C <erbl259-lmu@yahoo.de>
Tue, 30 Apr 2019 10:20:27 +0000 (12:20 +0200)
committerLeo C <erbl259-lmu@yahoo.de>
Tue, 30 Apr 2019 10:20:27 +0000 (12:20 +0200)
cbios/ascii.180

index 7b1ce1ff8c68116db968f4a786ab008c4fa4520b..e75dd87098d1386de5aff2049fd9ef9f2f7cd357 100644 (file)
@@ -552,8 +552,9 @@ asci0_inp:
        call    ff_gech\r
        ld      a,b                     ;remaining chrs in buffer\r
        cp      s0.rx_len/4             ; < 32?\r
-       jr      nc,a0i_1                        ; no, just get char\r
-       bit     CRTS_IFLOW,(ix+oint.fflags)     ; yes, enable RTS if needed\r
+       jr      nc,a0i_2                        ; no, just get char\r
+       ld      b,(ix+oint.fflags)      ; yes, enable RTS if needed\r
+       bit     CRTS_IFLOW,b            ; yes, enable RTS if needed\r
        jr      z,a0i_1                 ; no needed\r
        di                              ; needed, enable\r
        in0     a,(cntla0)\r
@@ -562,6 +563,15 @@ asci0_inp:
        ei\r
        out0    (cntla0),a\r
 a0i_1:\r
+       bit     IXOFF,b                 ; XON/XOFF on input?\r
+       jr      z,a0i_2                 ; no\r
+       di\r
+       set     TDC1,(ix+oint.stat)     ;\r
+       in0     a,(stat0)               ;\r
+       or      M_TIE                   ;\r
+       ei\r
+       out0    (stat0),a               ;\r
+a0i_2:\r
        ld      a,c\r
        pop     ix\r
        ret\r
@@ -578,11 +588,10 @@ asci1_inp:
        jr      nz,a1i_2                ; no, just get char\r
        bit     IXOFF,(ix+oint.fflags)  ; XON/XOFF on input?\r
        jr      z,a1i_2                 ; no\r
-\r
        di\r
        set     TDC1,(ix+oint.stat)     ;\r
        in0     a,(stat1)               ;\r
-       set     TIE,a                   ;\r
+       or      M_TIE,                  ;\r
        out0    (stat1),a               ;\r
        ei\r
 a1i_2:\r