From mboxrd@z Thu Jan 1 00:00:00 1970 To: 9fans@cse.psu.edu From: "Douglas A. Gwyn" Message-ID: <3C50BA6D.2347AB92@null.net> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit References: <20020122182852.0CEC719981@mail.cse.psu.edu>, <3C4DE321.D4726662@null.net>, <87n0z5neel.fsf@becket.becket.net> Subject: Re: [9fans] Getting started in Plan9 - help Date: Fri, 25 Jan 2002 10:00:54 +0000 Topicbox-Message-UUID: 44f15f06-eaca-11e9-9e20-41e7f4b1d025 "Thomas Bushnell, BSG" wrote: > The ASCII BS charactec is specifically to help the "backup and > overstrike" operation. Actually it's just the backspace part of that composite operation, which is what we said. > That is, DEL is *overstruck* on a character to delete it. Note the > nice way this works on paper tape: DEL is all-ones, so that means a > paper tape reader should ignore all-ones. It's also supposed to > ignore NUL (all-zeros); some hardware could not be relied upon to deal > so accurately with spacing, and false reads of all-zeros would happen. That's a bit revisionist; no paper tape punch that I know of ever automatically reversed tape motion upon receipt of a BS character. The overstrike-DEL-to-delete was done *manually* when preparing tapes off line. The ignore-NUL mode was normally used only for the *initial* mode of each tape ("file"), i.e. to skip leader, with embedded NUL characters often used in binary encodings. Another cute thing: The ASR-33 didn't immediately stop the reader when an XOFF was read, and it didn't even stop reliably after the *next* character had already passed, unless that character was a DEL. (Apparently when all 8 sensing fingers activated there was a big enough dump of mechanical energy to ensure reliable stopping.) Therefore, Honeywell's source tape convention was LF, text, CR, XOFF, DEL (usually called RUBOUT rather than DEL). The funny split of the LF and CR actions allowed the assembler to input a line from the reader with echo-print on the paper, then starting from the new (beginning-of-line) position it would print the object code, at some point sending a TAPE-ON (DC2) to enable the punch unit and then the binary record, which used all nonprinting, nonmotion characters (including BEL, ding ding) then TAPE-OFF (DC4). At which point XON (DC1) would be sent to enable the reader which would input the next text line (starting with that echoed LF to clear the just-completed line on the paper). A nifty way to use the ASR-33 for a complete one-pass assembly process with object code and full output listing. You can investigate this using one of the Honeywell Series-16 (+ ASR-33) simulators (Sapere's or Supnick's) and the DAP assembler (available at Sapere's site).