On Thu, 28 May 2015 23:34:53 -0500, John McKown wrote:
>
>0x15 is _NOT_ a Line Feed character. It is a New Line (NEL) character from
>the 3215 console days. In EBCDIC, 0x25 is the true Line Feed character. On
>the 3215, the NEL
>
>was a single byte which did a carriage return and line feed operation all
>in one. If you sent a 0x15 (LF) to a 3215, the platen (roller) would
>advance one line, but the print head would remain stationary.
>
>As a side note (as I have heard it), the reason that Windows uses CRLF as a
>line ending is because MS-DOS did the same. MS-DOS used CRLF because CPM-80
>used CRLF. And, finally, CPM-80 used CRLF because the common printers at
>the time could not do a carriage return / line feed in a single operation.
>So, Gary Kindall (author of CPM-80) decided to end text files with CRLF so
>that he didn't need to complicate the printer driver to put a LF in when a
>CR was detected. This made good sense in the day that 64K RAM and a 1 Mhz
>8080 was top of the line equipment for the hobbyist.
>
The Teletype 33, running at 10 CPS, could do a CR in less than 0.2 seconds;
a LF in less than 0.1 second, so it made sense to use <CR><LF> so the
combined operation completed before the next printable character was
issued.
Taking its cue from the 3215, VM CP (CP/67?) used NL as a command
separator. When the first C compilers, from ISVs, not IBM, and on VM,
not MVS appeared, they used 0x15 -- UNIX was not a concern. Then
OMVS used 0x15 for compatibility with those compilers.
Using a device-specific hardware command to separate records in a
general file makes as little sense as Assembler H's use of machine
carriage control. A device-neutral convention might have beem
Record Separator, ASCII 0x1e.
CMS Pipelines's A2E/E2A map:
ASCII EBCDIC
NEL 0x85 <--> NL 0x15
LF 0x0a <--> LF 0x25
... as do Linux iconv commands and subroutines, and even OMVS's
"dd" command. This results in painful incompatibilities. The standouts
are OMVS iconv and other utilities.
IBM clearly violates a standard. Footnotes on various reference
manual pages do not excuse such a violation.
-- gil
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN