Ah I remember Star Trek. We played it back in 1978? Using ASR33's connected to a PDP10 mainframe. It was the main university computer, but if you joined the "computer club" you could buy CPU time by the second, I think a couple of bucks bought you enough to play star trek an hour a day for a month or equivalent "real work".
@stargazer: The asr33 was usually operated half duplex so it was usually one CR typed by you and a CR and LF sent by the computer. I do recall needing to use null padding though, So you would send <CR> <LF> <NUL> from your program to avoid the typing_something_on_return problem.
And you could ring the bell by entering <ctrl G> so you would put these on the paper tape for amusement.
In 1980 I had an ASR33 at home (in the shed) , it was hooked up to a card cage scavenged from a 6502 based space invaders video game, the circuitry for the coin mechanism switch and coil were modified minimally to make a 20mA serial circuit for the ASR33. I copied an EEPROM from an AIM65 development board with minor changes. The video memory and program memory were the same, so you could see your program and data as little dots on the screen. All of the program and data were entered using the ASR33, and programs were "saved" on paper tape. I recall I wrote a version of Conway's Life on it , and you needed to be careful not to overwrite program data. I did some of my preliminary research work for my Masters on it, even with severe restrictions (like all variable were two characters, beginning with a letter) , you could easily do monte-carlo studies on a dozen or so complex equations, you would just start it off, and come back an hour later.
I found the ASR33's were pretty reliable, but needed to be well oiled.
@Wilton.Helm: "... is why we have CR and LF in text files on MS to this day. Contrast that with Linux (and default C behavior) where only the LF mattered, and we've been fighting conflicting standards for many years."
Wikipedia's Newline article has more information, including which systems used CR, LF or CRLF for a new line. IBM mainframe EBCDIC code had a Newline (NL) in addition to CR and LF, but then, that's not ASCII. In addition to Windows, some DEC systems and "... and most other early non-Unix and non-IBM OSes ..." used CRLF.
Also remember that on a TTY, the computer always sent CRCRLF (2CRs) to make sure the type head had enought time to return to the left before starting again. An LF somewhere in the middle of the line would roll the platen up one line without moving the type head and resume printing from that position. I think I mentioned it before, but there was a Star Trek game n BASIC that would go to the end of the line and do a Line Feed and then as it returned it would print a character in the middle of the blank line (I think it was the "A"), then start spacing over and printing the rest of the letters "S T R T R E K", spacing over the "A" that was already on the line. A programmer showing off his knowledge of the hardware!
The CR without a LF was also used during logons, where the computer would do a CR without an LF while printing several lines of garbage, overprinting each other so no one could see what was typed.
"You have to understand how a starship works." Captain Kirk, "Star Trek: The Wrath Of Khan"
Just for curiosity, I googled ASR-33 and pulled up a photo. The line feed key is just left of the Return key. Neither is large or special shaped, like we are used to on keyboards today (or even typewrites of the past). Just one more round key to press. It wasn't easy typing on those things. The touch left a bit to be desired.
Often when connected to a computer, when the computer saw a CR it responded with CR and LF, so pressing LF was not necessary. I did work on one OS (the HP OS that we ran Fortran and Assembly on) that expected just a LF and returned CR and LF.
The ASR-33 (and the original ASCII definition, which it followed) is why we have CR and LF in text files on MS to this day. Contrast that with Linux (and default C behavior) where only the LF mattered, and we've been fighting conflicting standards for many years.
@ Wilton.Helm though that CR on an ASR33 is not supposed to roll the paper, only move the carrier to the left margin
IIRC the Model 19 (5 level Baudot) also had separate charcters for carriage return and paper roll. The carriage was a massive affair with type bars, and the shift between letters/numbers caused the entire carriage to bump up and down. A paper tape with repeating shift/unshift codes was the basis for a rather naughty joke...
You are correct. I was thinking decimal 13 and wrote hex 13. 0x0D is indeed CR. The point still is, though that CR on an ASR33 is not supposed to roll the paper, only move the carrier to the left margin
No there should not be a line feed when you manually hit return. The ASR uses 0x13 to move the carriage left, nothing else. It uses 0x0A to roll the paper up, nothing else. I have forgotten if there is a LF key on the keyboard, but if there isn't , CTRL-J does it. Like David I spend a lot of hours on an ASR-33 connected to a HP 2000 E basic interpreter on an HP 2100 A mini.
@Mr. Contractor: "I remember a manual paper tape reader that me and Don Harrison hard wired it into an original IMSAI computer as we were tired with the teletype's 110 baud slow rate. We were amazed when we manally loaded the program and then started pulling the tape through the reader and the data appeared on the screen. The data was read by photocells under the tape and since the feedhole was smaller it was used to clock the data into the computer."
An IMSAI! When you say manual, you mean it wasn't from an ASR, right? I remember a BYTE Magazine article about making a tape reader with photocells, includine one to read the feed hole and use it for clocking in the data. Kind of a combined start- and stop-bit!
Speaking of the slow data rate of the TTY, I remember one December when I worked at the Social Security Administration. At that time a lot of our traffice went out over a GSA TTY network that was also shared with other agencies (our online system with cluster controllers was only a year old then). Someone had sent out a "MERRY CHRISTMAS AND HAPPY NEW YEAR!" message via paper tape, complete with ASCII art, that must have taken six or eight feet of paper to print out. They sent it with the All Points Routing Indicator in the header, sending it not just to all SSA stations (of which there were very many), but to ALL stations on the network. It took hours and hours for GSA to chase down and kill the traffic on the various relay points. I don't know what happened to the hapless operator who did that!
Let's do the math! At a conservative exstimate of 75 characters per line (72 characters per line (the usual for most TTYs) + 2 CR + 1 LF) × 6 lines per inch × 12 inches per foot × 6 feet (conservative) = 32,400 characters. At 10 characters per second (110 bps / 11 bits per character) and 60 seconds per minutes, that's 54 minutes! Eight feet would be another 18 minutes. That's one LMF message, to say nothing of the cost to send it!