RS232 and flow control
Posted: Sun Nov 27, 2016 1:44 pm
I am playing with RS232 in preparation for my WiModem's arrival.
If I am correct in my reading of the VIC20 PRG, if I have a 'x-line handshake" interface (using CTS and DSR RS232 lines) then I should have proper incoming flow control. Characters are received and handled by the NMI handler and put in the 256 byte Rx buffer at the top of RAM. When the buffer is full the RS232 CSR should be cleared (or set, I forget ... Commodore has this inverted anyhow) and the other end should stop sending characters. Is this correct?
If this is correct, then I don't have to worry about dropping characters if I let the buffer fill up while doing something CPU intensive (parsing XML tags.)
When I try this in VICE with the user port serial emulation and executing and external netcat process, characters get dropped. However I suspect that the VICE only implements a '3-line' RS232 interfae without CTS/DSR. Anyone know if I am correct?
If I am correct in my reading of the VIC20 PRG, if I have a 'x-line handshake" interface (using CTS and DSR RS232 lines) then I should have proper incoming flow control. Characters are received and handled by the NMI handler and put in the 256 byte Rx buffer at the top of RAM. When the buffer is full the RS232 CSR should be cleared (or set, I forget ... Commodore has this inverted anyhow) and the other end should stop sending characters. Is this correct?
If this is correct, then I don't have to worry about dropping characters if I let the buffer fill up while doing something CPU intensive (parsing XML tags.)
When I try this in VICE with the user port serial emulation and executing and external netcat process, characters get dropped. However I suspect that the VICE only implements a '3-line' RS232 interfae without CTS/DSR. Anyone know if I am correct?