On 11/14/2019 9:17 AM, a...@alanlee.org wrote:

I think you may be over thinking this.  I suppose a system could send a bit-stream where the data bits + any parity bits != 8 or the parity bit isn't in the trailing MSB position.  However, for simplification lets consider only that case.  A modem will always set the local line coding to 8,N,1.

TCPSER aims to emulate a modem.  I actually implemented the above (assume the line is 8,N,1) when I first wrote the code in 2004 or so, as my goal was to allow home computer BBS systems to run unmodifed using a serial interface to a PC, as I previously noted.  Those machines could, as you note, set the comm channel to 8,N,1, so all was well.

However, I made no provisions if the DTE could not run with 8,N,1.  At VCF-Midwest this year, I tried to put my KSR43 online, only to find it will only do 7 bit ASCII.  Enter FozzTexx's mods.



I suppose you could have 7,N,x however the MSB of the 8-bit word period would be a stop bit and would transfer through the modulated transmission the same way - correctly.
Actually, it won't.  When the 7,E,1 hits the 8,N,1 (effectively) of the Internet, I could not even get past the initial "ASCII or PETSCII screen" :-(

My advise is always set the MCU line coding to 8,N,1 (or preferably 1.5), strip the MSB in command RX, and manually re-add MSB parity stuffing for command responses only based on some algorithm that makes the most sense.
I think you may be underthinking this.  The target is not an MCU, but a piece of classic gear that people do not want to modify (or can't) to handle the internet.  TCPSER stands in for a Hayes modem and allows the device to connect to the Internet (or another classic machine across the world using the Internet as a stand in for telco lines.

Jim

Reply via email to