ietf
[Top] [All Lists]

Re: CRLF (was: Re: A modest proposal)

2013-01-23 17:05:50
Then what am I mis-remembering? ;-) Was it that Multics didn't use CRLF and only NL? I remember this as quite a point of discussion when we were defining Telnet and FTP.

On Wed, 23 Jan 2013, John Day wrote:

 >
 > IIR, Multics from several years earlier.  I'd have to dig
 > through old manuals to remember what CTSS did, but that system
 > (and the IBM Model 1050 and 2741 devices often used as terminals
 > with it) were somewhat pre-ASCII (and long before ECMA-48/ ANSI
 > X3.64 and the VT100 and friends)  and, IIR, sent and received
 > shift and rotate codes rather than what we would normally
 > consider character codes today.  The character codes were just
 > input to device drivers that dealt with device characteristics

 Multics was based on EBCDIC which had a New Line (NL) character but no CR or
 LF.  The ARPANET went with the ASCII standard.  But I never forgave the ANSI
 committee for taking left arrow out of the character set (as a replacement
 operator).

EBCDIC has NL (new line), LF and CR characters (hex 0x15, 0x25 and 0x0d
respectively). EBCDIC was an 8 bit code easy to translate in hardware
logic from punch card codes to the 8 bit code. Earlier IBM systems
used BCD (sometimes called BCDIC) which was a 6 bit code which did
not have CR or LF but had a subset of the EBCDIC style mapping from
punched cards to computer code. IBM systems all implemented a
record based file organization rather than the character stream
of UNIX. So the BCD generation systems had a record mark charcter
(and word mark) in the pre-S/360 days with BCD and file system
level record tracking in S/360.

IBM terminal devices (e.g., 2740, 2741, 1050, etc.) of the pre VDT era
used a different character coding on the wire (not BCD). Might have
been inspired by tilt/rotate, I don't know and never worried about more
than getting the translate table right. Hardware communications
controllers and later programmable controllers recoginzed the NL
character and signaled end of line/record to the host computer.

IBM lineprinters of the era were record/line oriented devices which
printed about 132 characters per line and advanced to new like, page,
etc. based on device specific commands and not data interpretation.
ANSI line controls or IBM internal codes could be used in the first
character of the line to pre/post space 0 or more lines for each
print record.

VDTs with long lines might have been inspired by line printers or
just the idea that long lines were better. No experience there,
but I'm pretty certain there were no 132 column punch cards in
common use which would have influnced comody VDT designers. 80
and I believe 96 in S/3 days.

Dave Morris