From 59a12b33798a590eb00f7c80809ee5c3b8970538 Mon Sep 17 00:00:00 2001 From: Leo C Date: Tue, 30 Apr 2019 12:20:27 +0200 Subject: [PATCH] XOFF for asci0 --- cbios/ascii.180 | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) 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: -- 2.39.2