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 lists...@listserv.ua.edu with the message: INFO IBM-MAIN