The ICL 7502 - Terminal Executives (Software)
Software for the 7502 was rather strange when considered in the modern idiom. For a start, things that ran were called TERMINAL EXECUTIVES. This was abbreviated to TE, and shows its roots in the operating software for the 1900 range mainframes which was called EXECUTIVE at the lowest level, and overlain of course with GEORGE. Calling the code which ran on a terminal processor a TERMINAL EXECUTIVE made perfect sense. The other thing that was strange to a modern user was its lack (in general) of programmability by a remote user
It is also necessary to delve into the minutae of ICL serial line communications protocols. These grew from the innate characteristics of 2000 character screens with a delay-line store to clever systems with prioritised device handling over screens, their local hard copy devices, card-readers and remote line-printers.
Serial communication was via synchrounous modem (or a modem-less local link). For people brought up on Ethernet and ADSL, a serial link transmitted characters as a string of bits with synchronising pulses in front (at least) that enabled the remote equipment to lock onto the signal and decode it. Asynchronous protocols transmitted characters in complete isolation, using up to two START BITS and an optional STOP BIT. This meant that a certain amount of line time was locked up for each character which could be released if the equipment was kept in synchronisation for the whole message. A CONTROL CHARACTER called SYN (016H - Synchronous Idle) was used at the start of a message, and could be inserted at any time during the message. Framing characters START OF TEXT and END OF TEXT were used to delimit complete messages. In the extended modes long messages were broken up into shorter segments which could be re-tried if there was a transmission fault, making the process quicker and more robust.
Families of TERMINAL EXECUTIVES were produced which gave a range of potential functions within in each of the line protocols and it should be noted that some facilities could not be provided on a 7181 line (such as a remote line-printer) that were within the capacity of more advanced protocols. When you consider that on a 7181 line the 7502 would be pretending that each of the VDUs it was controlling had sole use of the line. It is also necessary to consider that the functions at the mainframe end advanced over the years, so there was really no point in trying to make a universal communications controller - especially as store was so tight that there was no room for any frills.
TERMINAL EXECUTIVES were named rather cryptically, possibly another hang-over from 1900 practice, although as the NEW RANGE 2900 series mainframes took over the features available became richer and the names longer.
Listing the possibilities available in each TERMINAL EXECUTIVE would soon become boring, so I won't. In the earliest series T2B1-5 the range of functions grew steadily, but so did the store required, from 8Kb for T2B1 to 16Kb for T2B5. The differences were the range of data field validation types that were available, and the availability of direct output to the low-speed serial printers. It is obvious that there are fewer variants for the XBM versions T2C1 and T2C5, basically the smallest and largest function sets. By that time denser store boards were possible, so the desperate shoe-horning of code into the available space was less important. Many rather esoteric possibilities emerged when diskette storage was attached, such as the ability to receive screen formats (T2AS1) from the mainframe and to spool data to diskette offline (T2IP01) and send it to the mainframe some time later (T2AS5). Remote batch facilities including the 7533 card-reader and 7520 or 7521 line printer were implemented in the T2IP01 and T2RB11 TERMINAL EXECUTIVES. The G series were issued to provide these facilities in conjunction with the 2900 New Range mainframes.
The offline APPLICATION PROGRAMMING system T2AD01 is worthy of a longer note.