On the previous page, it was noted that the TN print train was used to help supply EBCDIC characters to illustrate the possible punched card codes. Print trains are of some interest in themselves:
many of the line printers made by IBM, such as the 1403 and its successor the 2201, used a chain of 240 embossed characters moving repeatedly behind the paper. A hammer struck a ribbon, and the paper behind it, to print the character moving behind the paper at that spot at that time on the paper.
Earlier IBM office equipment, such as the model 407 accounting machine, used a drum printer, with a drum having 48 lines of characters. The IBM 716 printer was derived from the model 407 accounting machine, and designed for use on the IBM 701 computer; it continued to be used with the IBM 704 computer and later machines with the same architecture, up to and including the IBM 7094. The IBM 702 computer, on the other hand, used the IBM 717 printer, also derived from the model 407 accounting machine, but presumably with a modified interface, the IBM 702 being a decimal machine. The IBM 717 printer was also used with the IBM 705 computer. The IBM 7070 computer used a printer that was more modern in external appearance, the IBM 7400 printer, but this printer also was a drum printer with 48 characters in 120 columns, and its print speed, 150 LPM, was the same as that of the IBM 716 and 717 printers as well; it may have been based on the same mechanism as used in the model 407 accounting machine, but with transistors replacing vacuum tubes in its electronics.
Typically, with these drum printers, only 47 different characters were used, and sometimes even only 46.
A chain of 240 characters allowed a set of 48 characters to be repeated five times. It also allowed a set of 60 characters to be repeated four times, or a set of 120 characters to be repeated twice.
The diagram above shows, in the chart on the left, how the set of characters included grows when going from the 48 character set to the 60 character set used on the PN print train to the 120 character set used on the TN print train.
However, it is rather odd that the less than sign is included, while the greater-than sign is not. The next two charts show the EBCDIC characters corresponding to the two 48 character printing sets used with earlier computers; in practice, however, since the lozenge character was not useful, the 48 character arrangement in the first chart likely was actually used in preference to that in the second. It may seem odd that the space character is not included, but since a space can be left on the printer by not printing, and, in fact, a black blob would have been the result when a print hammer fired as a slug with no raised character on it was going past, since the hammer would not then stop at the position where the raised part of characters are found, it is actually quite reasonable that all the available positions could be used for characters other than the space.
And the relationship between those two sets of characters, and the character positions shown in yellow in the first chart, is shown by the final two charts. These are for the earlier BCD interchange code. In that, the punch for ? is 12-0 (rather than 12-2-8, as one might expect), the punch for ! is 11-0 (again, rather than 11-2-8, as one might expect), the punch for the vertical bar with two lines across it, the tape mark, is 0-2-8 (which is as one might expect, but note that EBCDIC uses a different punched card code, 12-11, for the character in this position, and assigns the hexadecimal value X'E0' to 0-2-8), and the lowercase b with a stroke across it, the substitute blank, is 2-8. The first chart shows the standard, commercial version of BCDIC, and the second chart shows the modified version used for FORTRAN programming.
Thus, it is because the print chain consisted of 240 characters, enough to repeat a 48-character set, as previously used on the drum printers in some card processing equipment, five times, that the character set that best approximated the 64-character uppercase-only subset of EBCDIC only had 60 characters, and therefore, had to omit the cent sign and the exclamation point from among those printable characters that could be entered on an IBM 29 keypunch, an omission that no doubt puzzled many of those who learned to program by punching programs on cards for batch processing on an IBM mainframe.
While IBM invented the chain printer, other companies eventually manufactured this type of printer as well. For example, the Potter Instrument Corporation, which made printers and tape drives used by many competing mainframe manufacturers, made the HSP-3502 chain printer, which had a print chain with 192 characters, thus conveniently allowing sets of 48, 64, and 96 characters to be used - thus allowing the use of either the limited 48-character set that IBM had made the standard for business, or 63 or 94 characters as would be appropriate for use with ASCII.
Other print trains were available for special purposes, such as the ALA and the APL print trains shown below:
Note that there are 162 characters defined on the ALA print train. That would allow 78 characters to be repeated twice, and the remaining 84 characters to be repeated only once, to allow faster printing for texts containing only the space and the 78 characters repeated twice, as will be discussed below. The APL print train has only 156 characters defined, and so on that train, 84 characters can be repeated twice.
Also, 48 plus 26 is 74, but 60 plus 26 is 86. An 80-character set that could be repeated three, rather than two, times around a print chain, and offer lower case would be possible, but would represent a bit of a squeeze, in that omitting six of the special characters included with the PN print train would be required.
Omitting >, <, |, and ¬ is obvious enough; but the cent sign and exclamation point, as well as plus and equals, are all desirable in text, so one cannot have a set of fewer than 84 characters, plus the space, without making some serious sacrifices.
One possibility would be to retain the exclamation point, but drop the cent sign, #, @, and % as well as >, <, |, and ¬, to reach 80 characters. This retains only $ and & among the commercial characters on the typewriter.
One theoretical possibility would be to include in a character set repeated on the print train fewer characters than are possible, and placing characters in the remaining spaces that are either not repeated, or repeated less often. Thus, one could repeat a 60-character set three times on a print train, and fill the remaining 60 positions with 60 additional characters, repeated once, so that a single print train could act as a 25% slower version of a PN print train, or a 50% slower version of a TN print train. It is difficult, though, to work out possibilities that would actually save time in printing instead of merely saving the trouble of changing the print train (or the expense of having more than one print train).
However, the diagram below illustrates one case that may be of some usefulness, as well as illustrating a particularly complex case of this principle.
A 60-character set is repeated three times around the train, so as to allow texts consisting entirely of characters from the 60-character set to be printed when one-third of the train has passed by every print position.
Note that the characters in the set repeated three times must be evenly spaced, each instance of a particular character being exactly 80 positions away from each other instance of the same character, for this to work.
A further 30 characters, making up the additional characters required for a 90-character set including lower case, are repeated twice. Since corresponding characters of this set must be at a 120-character spacing, the 60-character set, rather than being contiguous in the entirety of each of its occurrences, is split into two pieces; and, similarly, the extra 30 characters are split into three pieces, so that the train is divided into six similar areas, each consisting of half of the 60-character set followed by a third of the additional 30 characters. This ensures the spaces are available to put the multiple occurrences of each type of character in the necessary locations.
A print train such as this might be useful, because at the price of reducing a character set including lower case from 120 characters to 90 characters, which is still large enough to be very useful, and with no decrease in speed in printing texts including lower case, the speed of printing the more common type of text, including only upper case, is increased, although not to the same level as would be provided by an upper case only print train.
Note that on an actual printer, the occurrence of characters within each group would be scrambled, so as to reduce the likelihood of many hammers firing simultaneously.
The use of this principle is not merely theoretical. In addition to offering a standard print train with the 48-character set repeated five times, IBM offered a "preferred character set" which allowed numeric-only printing to proceed faster. The available characters were those of the 48-character set. In the case of the PCS-HN print train, they were divided as follows:
0123456789.,*- (14 characters) 8 times = 112 positions ABCDEFGHIJKLMNOPQRSTUVWXYZ/+$) (30 characters) 4 times = 120 positions &'=( (4 characters) 2 times = 8 positions
Thus, instead of being able to print ordinary printouts using a 48-character set at the speed which would have resulted from repeating the set five times, only 44 characters were available at the 20% slower speed resulting from only four repetitions, which could have supported a 60-character set, but that speed penalty allowed printouts composed exclusively of numbers to print considerably faster.
Another example of how IBM actually used this principle was the QN print train. This had the same 60 characters as the PN print train, but instead of repeating those 60 characters four times, the print train was divided into five 48-character segments, each one including 45 characters that were repeated five times, and three of the remaining characters, each of which was repeated only once. Thus, in return for a 20% increase in printing speed when printouts were composed of characters from the preferred set of 45 characters, printing was four times slower if other characters from the full set of 60 characters were used. This could very well be a good tradeoff if the printer was usually used for output, and only rarely for program listings.
Also, IBM made print trains that used this basic principle, but which were not strictly symmetrical. Thus, the SN print train included 78 characters that were repeated three times, and six characters that were repeated only once, for faster printing including lower-case than the TN print train, but instead of dividing the six characters that repeated once into three evenly-spaced groups of two characters, they were just together in one block. This was because the print train was composed of segments with three characters on them, and the loss in speed from the unequal spacing of the main group of characters was miniscule.
Given these examples, I can think of a way to take these principles even further:
Here, fourteen characters are repeated six times, so as to allow the fast printing of tables of numbers, if not quite as fast as the eightfold repetition of those characters on the HN print train allows.
By being very frugal with special characters, uppercase letters are again repeated three times, and lowercase letters twice, but eighteen special characers only occur once, slowing printing down considerably when they are used.
That arrangement, though, is very poor for printing FORTRAN listings, so an alternative is shown which allows the characters essential for that purpose to be repeated more often, at the cost of eliminating several additional special characters completely.
Thus, it appears this was too ambitious. If one only repeats the numbers four times, to match the speed of printing with a 60 character set, then one can end up only having two characters that are only repeated once.
Printers which operated by rotating a series of characters horizontally behind or in front of the paper came in several forms. IBM used two closely related types of printer, using what were called a "print train" and a "print chain", and some other companies used a flexible metal band with the characters embossed on it.
As well, some IBM printers operated by moving the raised characters horizontally, but they had those characters on a rigid rod. The IBM 1443 printer was one example of a printer of this type.
Since the print drum used in a drum printer is rigid, this type of printer suggests to me the idea of allowing a wide assortment of characters to be provided on a line printer by using a drum with raised characters as a shuttle rod, but moving that drum to make available different character sets. Such a printer could print documents with normal character sets at normal speeds, but if one is willing to accept a sufficiently severe speed penalty, one could even print Chinese on such a line printer.
The alternative of running the printer as a drum printer, but putting alternating portions of the character set in different columns, and then moving the drum over one position at a time to make different parts of the character set available in different columns would not allow increasing the print speed without changing to a drum with a smaller character set.
One of the earliest types of line printer operated much as some adding machines did; one vertical bar with a complete set of characters existed for each print position; the bars were first placed in position for the desired text, and then the paper, the ribbon, and the desired characters were brought into contact at one time.
The IBM Executive typewriter allowed typed documents to somewhat resemble typeset text by varying the amount of space allocated to different letters. For example, with the Documentary font, a character could be from 2 to 5 units in width, where each unit was 1/32 of an inch. Other fonts, even when still typed at 6 lines to the inch, had a different basic unit; the Mid-Century font, for example, used a unit of 1/36 of an inch. Also, smaller versions of some fonts used a basic unit of 1/45 of an inch.
Using a crude dot-matrix font, the diagram below illustrates a unit system of this type:
While it probably wouldn't have been something customers for high-speed computer printout would have been willing to pay extra for (although they enthusiastically accepted the possibilities later offered by laser printers when they became available, but it was the extra speed the laser printers offered that motivated them to pay for the laser printers) since the letters are moving across the paper in a chain printer, rather than vertically as in a drum printer, theoretically one could have designed a chain printer that printed with proportional spacing. One might have had two identical rows of characters on the print chain, with spacing between them, and wide print hammers in two rows that overlapped like bricks. Thus, as the paper advanced, one row of hammers would be printing characters in certain positions from one line, and another row of hammers would be printing the left-over characters in other positions from the preceding line.
To allow room for the hammers to work, extra spacing might be needed, rather than making the two lines consecutive: one spacing that might work well would be to place the two lines of hammers on centers one half inch apart, as that would work with both 6 lines per inch and 8 lines per inch. Using only a simple unit system, and starting from 10 characters per inch as normal operation, the unit might be 1/30", 1/40", or even 1/60", as used on daisywheel typewriters to allow both pica and elite, and then, as a consequence, proportional spacing (like that of the IBM Mag Card Executive, whose fonts were later used on the Model 50 and 85 typewriters, possibly with modifications for the smaller space available on the 96-character element) and 15 character-per-inch printing. In that case, one could use both a proportional font with that type of unit system at 6 lines per inch, and a smaller proportional font with a five-unit system at 8 lines per inch. Of course, printing would be slowed by the use of a chain with 240 distinct characters.
One way to limit the amount of extra equipment required would be to use a single row of print hammers, but for printing proportionally-spaced characters, put a row of metal tabs in front of them that join two adjacent print hammers, and are to be struck simultaneously by both. The tabs would first be placed so as to join print positions (1, 2), (3, 4), (5, 6), and so on, and then to join positions (2, 3), (4, 5), and so on.
Instead of just choosing a 1/30", 1/40", or 1/60" basic unit, it is possible that a printer could support more than one of those choices. In that case, if one spaces the print hammers by 1/12" instead of 1/10", one could offer a choice of 1/72", 1/84", or 1/96", and use a line-printer mechanism not simply for proportionally-spaced typing (like the IBM Executive typewriter) but instead, presumably after slowing down the mechanism a bit for the highest possible print quality, but actually for composition of type (like an IBM Selectric Composer, which used those unit sizes). Using expensive photographic film, instead of paper (and, of course, carbon film ribbons), there were some very high-speed photocomposition systems available even in the 1970s, using lasers and electronics, of course.
Note that the hammers need to overlap; if they are an even number of standard fixed-pitch characters in width (they would need to be at least twice as wide as one unit less than the width of the widest proportionally-spaced character, which could allow a width of only two characters in some cases), then both rows of the chain could be used for printing conventional fixed-pitch text. This could be put to use in increasing print speeds by repeating half the character set twice as many times on each level of the chain. One could also, then, combine a fixed-pitch 60-character set with two proportionally-spaced 105-character sets, instead of limiting the proportionally-spaced character sets to 90 characters each.
Or, if hammers sent print slugs with the characters on them towards the ribbon and then the paper from the front, an arrangement of overlapping print hammers with every second one looking like a sideways letter H, so that wherever a print slug was, there would be a print hammer capable of hitting it with vertically centered force towards the paper, could be used.
But this design has one potentially serious flaw: in a regular line printer, hammers strike once per line; here, a hammer has to be able to strike at least twice in rapid succession as a character moves past it. But I suppose one could wait for the print train to make a second pass instead when that would otherwise be required.