From: Leo C Date: Tue, 30 Apr 2019 10:20:27 +0000 (+0200) Subject: XOFF for asci0 X-Git-Tag: hexrel-6.9~5 X-Git-Url: http://cloudbase.mooo.com/gitweb/z180-stamp-cpm3.git/commitdiff_plain/59a12b33798a590eb00f7c80809ee5c3b8970538?hp=6d39b0ffd70a3b610aca031e946496f3c3c916d3 XOFF for asci0 --- diff --git a/cbios/ascii.180 b/cbios/ascii.180 index 7b1ce1f..e75dd87 100644 --- a/cbios/ascii.180 +++ b/cbios/ascii.180 @@ -552,8 +552,9 @@ asci0_inp: call ff_gech ld a,b ;remaining chrs in buffer cp s0.rx_len/4 ; < 32? - jr nc,a0i_1 ; no, just get char - bit CRTS_IFLOW,(ix+oint.fflags) ; yes, enable RTS if needed + jr nc,a0i_2 ; no, just get char + ld b,(ix+oint.fflags) ; yes, enable RTS if needed + bit CRTS_IFLOW,b ; yes, enable RTS if needed jr z,a0i_1 ; no needed di ; needed, enable in0 a,(cntla0) @@ -562,6 +563,15 @@ asci0_inp: ei out0 (cntla0),a a0i_1: + bit IXOFF,b ; XON/XOFF on input? + jr z,a0i_2 ; no + di + set TDC1,(ix+oint.stat) ; + in0 a,(stat0) ; + or M_TIE ; + ei + out0 (stat0),a ; +a0i_2: ld a,c pop ix ret @@ -578,11 +588,10 @@ asci1_inp: jr nz,a1i_2 ; no, just get char bit IXOFF,(ix+oint.fflags) ; XON/XOFF on input? jr z,a1i_2 ; no - di set TDC1,(ix+oint.stat) ; in0 a,(stat1) ; - set TIE,a ; + or M_TIE, ; out0 (stat1),a ; ei a1i_2: