This procedure is called whenever it seems reasonable to try and send the next character to the terminal. It often achieves nothing useful.
See the comment on line 8499. This code is not relevant here;
If the controller is not ready (i.e. bit 7 of the transmitter stalus register is not set) or the necessary delay following the preious character has not yet elapsed, do nothing;
Remove a character from the output queue. If “c” is positive, the queue was not empty (as expected) ...
If “c” is less than “0177” it is a character to be transmitted ...
After setting the parity bit from the corresponding element of the array “partab”, write “c” to the transmitter data buffer register to initiate the hardware operation;
Otherwise (“c” 0177) the character was inserted in the output queue to signal a delay. Call “timeout” (3845) to make an entry in the “callout” list. The result of this will be to initiate an execution of “ttrstrt” (8486) after “c & 0177” clock ticks . It will be seen that “ttrstrt” calls “ttstart” again, and that the manipulation of the “TIMEOUT” flag (8524, 8491) will ensure that if another execution of “ttstart” is initiated in the interim, on behalf of the same terminal, it will (8518) return without doing anything.