3

The technique of creating special characters by overstriking i.e. superimposing two characters on top of each other was common on typewriters. This was carried over to printer terminals and was used heavily in a language called APL on the S/360 using a 2741 terminal; see APL demonstration 1975 for an example of this (5:20 and 20:00 into the video).

My question is, how was this handled by the terminal and computer? For example after entering the four characters BS ÷ CR i.e. quad,backspace,divide,carrier return to create the symbol for matrix division , did the terminal interpret this as a special sequence and replace quad,backspace,divide with a character for matrix division before sending it to the computer, or did the terminal send all four characters unmodified and let the computer figure out where to look for overstruck characters?

4

I assume your question is specifically about the 2741 - as otherwise the question would be way too broad (*1).

The 2741 operated in a basic line mode using a simple handshake protocol to switch between sending and receiving (*2). Everything except the handshake characters was a possible input, thus BS as well.

When in user input mode everything typed was sent toward the controller (2701 or equivalent) and collected the characters, in sequence of being entered, until a (C) (*3) is received. At this point a /360 I/O Request is generated and all collected characters are transmitted. Whatever happened in local editing will now be "replayed" to generate the input line and processed.

The same protocol was used in reverse direction. Thus producing a domino (*4) required sending Quad, BS, Division.


BTW: The video is a real neat find. Thanks.


*1 - Effectively all methods one can imagine have been used over the years with various input devices.

*2 - Unlike with like a teletype or most 'standard' printing terminals this secured that the host could not interfere with the print line, while the user was inputing anything. It's a simple handover protocol using two character codes ((C)and (D)).

*3 - (C), noted as letter C in a circle, is effectively EOT (EBCDIC X'37', ASCII X'04' in 2741 line code X'1F').

*4 - Domino is what the matrix division symbol was usually called.

  • The Friden Flexowriter (via paper tape input) used overstrike for Algol 60 input, on English Electric KDF9 systems, in a similar manner. Algol 60 basic symbols (like begin) were underlined to distinguish them from the letters used for program identifiers. Some operators (like not-equals) were formed by overstriking. The principle was essentially the same as described for APL\360. – another-dave Nov 20 '18 at 23:13
  • Interesting, so as I understand it the APL interpreter in this case was responsible for interpreting the backspaces and modifying the input line before it could begin parsing it. – nadder Nov 20 '18 at 23:52
  • @nadder Basicly yes. Keep in mind, computers whre rather simple compared to todays standards. And even considering than a /360 code is rather compact and powerful, the available memory was rather small. In the timeframe the 2741 was up to date (until mid 1970s), machines usually hat like 64..256 KiB - and these were huge installations. Heck, in 1971, IBM even intoduced the model 22 with a MAXIMUM of 32 KiB. So yeah, there wheren't many luxurious OS layers between hardware and application. – Raffzahn Nov 21 '18 at 0:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.