I have written a communication programm which works with xon/xoff handshake.
With MSDOS 6.22 all worked fine for several years.
In a windows 98 dosbox the LOC function does not work like expected:
IF a XOFF is received, transmission should stop immediately.
But LOC does not indicate received characters.
At least after 8-30 received characters, LOF jumps from 0 to the received character number.
So it is not possible to react to XOFF/XON.
Interesting is, that LOC works fine, if no data a sent at same time.
During transmitting action, LOC gives no buffer information.
Programm to see the behavior:
OPEN "COM2:1200,E,7,1,CS0,DS0,CD0" AS #1
DO
IF LOC(1) > 0 THEN 'if something in the receive-buffer
BEEP
A$ = (INPUT$(1,#1) 'get character
IF INKEY$<>"" THEN ENDE
END IF
IF INKEY$<>"" THEN END
PRINT #1,"A"; 'without this line, LOC(1) works fine
LOOP
Hardware: Asus P4B, COM-Port on board, COM-Port in BIOS and Windows Hardware
with default values.
Any ideas ? Is there a workaround ? Thanks for help !
------------------
With MSDOS 6.22 all worked fine for several years.
In a windows 98 dosbox the LOC function does not work like expected:
IF a XOFF is received, transmission should stop immediately.
But LOC does not indicate received characters.
At least after 8-30 received characters, LOF jumps from 0 to the received character number.
So it is not possible to react to XOFF/XON.
Interesting is, that LOC works fine, if no data a sent at same time.
During transmitting action, LOC gives no buffer information.
Programm to see the behavior:
OPEN "COM2:1200,E,7,1,CS0,DS0,CD0" AS #1
DO
IF LOC(1) > 0 THEN 'if something in the receive-buffer
BEEP
A$ = (INPUT$(1,#1) 'get character
IF INKEY$<>"" THEN ENDE
END IF
IF INKEY$<>"" THEN END
PRINT #1,"A"; 'without this line, LOC(1) works fine
LOOP
Hardware: Asus P4B, COM-Port on board, COM-Port in BIOS and Windows Hardware
with default values.
Any ideas ? Is there a workaround ? Thanks for help !
------------------
Comment