I've written some machine code for my Altair clone to communicate directly with my Teletype ASR-33 and there seems to be a problem with how fast the ASR-33 can accept characters. I'm using a 2SIO port set to 110 baud and before sending each character I check for the serial port's status byte's second-least-significant-bit transitioning from zero to one (indicating ready-to-receive). But I get overruns: the ASR-33 misses out characters, presumably because it can't keep up with the rate that the serial port is sending them. Using the same port and settings, BASIC can print to the ASR-33, so it's not a fault with the Teletype or its RS232-current-loop converter. If I introduce a delay loop so that the user has to press a key on the ASR-33's keyboard before each character is sent to the ASR-33, the overruns disappear.
I thought that a device being 110 baud meant not only that each bit lasts 1/110th of a second, but also that the device could accept bits continuously at that rate. Is this not so? Does anybody now the real maximum receive rate of an ASR-33, or should I just experiment with delay loops (like decrementing a 16-bit counter to zero) to see what works in practice?
Regards
Gabriel Egan