The following table and notes give the principal punched card alpha-numeric codes in use in this country. These are followed by definitions and discussion of some punched card terms. Lastly there are illustrations of punched cards showing the punchings in each code in more graphic form.
See Section 3.1 below for the key to the table.
Each column of the table gives the standard interpretation in the code specified of the punchings listed in the left-hand column. In some of the codes a punching can represent both a letter and a number, in which case both are given. Where the situation is more complicated a reference to these notes is given in brackets.
The left-hand column of the table indicates the column punchings. The - is put in for clarity; as examples -7 means that a hole in the 7-position only is punched, and 10 3 means that holes in the 10-position and in the 3-position are punched.
The positions in a column are named, from top to bottom:
10 11 0 1 2 3 4 5 6 7 8 9
following I.C.T. practice. The letter Oh is written O with a dot in the middle and the number zero is written 0. I and 1 represent the letter and number respectively.
The first table is arranged to show how far the different codes correspond. (Note in particular that the decimal digits 0 to 9 are the same in all codes). The second page lists series of punchings only used by one code (although some punchings do occur more than once on these ).
In the case of Bull the special punchings are due to the fact that instead of using the 10, 11 and 0 positions for punching zones they use the 7, 8 and 9 positions for this purpose.
In the case of IBM and the Hollerith 5-zone code the special punchings are due to an extension of the range of permitted punchings to provide a number of special characters, as shown. The two companies use different means of extending their codes to include special characters, and no agreement on these has yet been reached for the British Standard code.
The codes have been referred to by their correct names at the head of the table, with the exceptions that Powers 32-ch should, read Powers-Samas 32-character, and that Powers 39-ch should read Powers-Samas 39-character Disciplined. IBM have only had one punched card code, though older IBM equipment may not be able to deal with the special characters.
No attempt is made in this memorandum to describe comprehensively the uses made by the different companies of curtate splitting, or of using one or more holes in a column for special purposes (called overpunching, see 4.4). This practice has been employed more by Power-Samas than by the other companies, but all companies have made use of it.
It may be asked to what extent the eight codes listed above cover the field. Bull have no other alpha-numeric code that they consider standard. The Remington-Rand code for 45-column, cards employs 6 holes per character, 2 characters per column, but is rarely used in this country; see 3.11.
A certain amount of flexibility is permitted in the standard codes by the spare punchings discussed in 3.10 below.
Codes catering for different alphabets have not been considered, although we are always liable to have to cope with them when using punched cards on our Computers.
There are various other codes, very rare, and not used on any machinery manufactured today. One of these for instance is used on Power Samas 11-row, 21-column cards. Another is used on 12-row Powers-Samas cards and uses a Powers-Samas code for the alphabet and a Remington Rand code for the digits, requiring only half a column for each digit. A third is called the Powers-Samas 23-character alphabetical code and represents the letters of the alphabet only. (The number of punchings reduced to 23 by having common punchings for three pairs of letters. This code is as follows:-
10 - XZ 11 - A 0 - B 1 - C 2 - D 3 - E 4 - F 5 - G 6 - H 7 - I 8 - J 9 - K 10 11 L 10 0 M 10 1 N 10 2 OQ 10 3 P 10 4 R 10 5 S 10 6 T 10 7 UV 10 8 W 10 9 Y
In the Bull code zero can be represented either by 0- or by 10~. The latter, which is called "Mechanical Zero", is used when zero suppression on printing may be required: the Bull tabulators can be set up so that non-significant zeros are not printed provided they have been punched as 10-.
The alphabet in the Hollerith old 4-zone code appears in a jumbled sequence in the table. But if the punchings were listed in the sequence
10 1 A 11 1 B 0 1 C 10 2 D 11 2 E 0 2 F
then the alphabet would appear in the normal sequence. As with many of the peculiarities of card usage, it is thought this may be connected with patents.
The special characters in the IBM code are rather variable, though the set of permissible punchings is not. As shown in the table, there are two standard allocations of special characters, one for commercial use and one for scientific use.
The permissible punchings consist of -, 10, 11 or 0 in the upper curtate, one of the digits 2 to 7 together with 8.
The most common of the special punchings are the first eight listed, which all contain either a 3 or a 4. The 407 tabulator can print these.
Note that the special characters give characters corresponding to 10- and 11- (and 0- represents zero) so that strictly speaking these punchings are not then available for representing pennies or months. But use of the special characters does not imply that particular columns cannot be treated differently.
The capacity to print the 5th-zone special characters is being built into the I.C.T. 915 tabulator.
A B.S.I. Standard code for alpha-numeric work has been adopted, British Standard 3174: 1959. This document gives in effect 6 different codes, and for any column one or more of these codes may be chosen to apply (they are not entirely mutually exclusive). These codes apply to 80-column cards of the standard size 7" × 3¼". Six Series are defined, which are as follows:-
Note: Zero, if punched, is represented by a hole in the 0 position only. Clearly Zero cannot be represented in this way in Series 3 or Series 5. This B.S.I. standard code does not attempt to provide a standard for special characters which it would be premature to attempt to do but it does provide a standard for the digits 0 to 9 and all letters of the alphabet and Space which agrees with the IBM code and the Hollerith new 4-Zone code.
In the 4-zone codes and the new codes in which the punchings 10-, 11-, 0- are spare, these punchings can represent special characters. This applies to columns being used for alpha-numeric data. In the Powers 39-character code the same remark applies to the punching 09 although this is comparatively rarely used (but for instance the card-operated Samastronic has switches on it so that 10, 11-, 0- and 09 can each represent one out of a choice of about ten special characters). In the Hollerith 3-zone, the Powers 32-character, and the Bull alpha-numerics codes there are no spare punchings.
Returning to the 4-zone codes and new codes, in all of them if zero is required to be represented by something other then a blank column it will be represented by 0-. Otherwise, each computer user or punched card installation operator has freedom to choose what special characters he wishes for each column position. But his freedom is limited by the need to have special type on tabulators wherever special characters are used. His choice will also effect the preparation of cards, and programmes for processing the cards in a computer. In the new codes the introduction of a number of special characters into the code eases the shortage of punchings available for representing special characters.
When a card column is being used for punching pennies or months, the punchings 10-, 11- and O- are used, in some permutation, to represent 10, 11, 0 or 10, 11, 12. Actually, when a column is being used for this purpose it is not being punched according to an alphanumeric code. Nevertheless, the preferred ways of representing pence and months are given below for some codes. But these rules are likely to be broken, more so than with the standard alphanumeric codes. It will be realised that on I.C.T. machinery in the field the convention in use is probably that used by the company that installed it at the time of installation.
Pence Hollerith Bull Hollerith Powers 39 IBM Hollerith /months 3-zone old 4-zone new 4-zone 0d 0- 0- 0- 0- 0- 0- 10d 11- 11- 11- 10- 11- 10- 11d 10- 10- 10- 11- 10- 11- Oct(10) 11- 0- or 0- 11- 10- 11- 10- Nov(11) 10- 11- or 8 3 10- 11- 10- 11- Dec(12) 0- 10- or 7 2 0- 11- 0- 0-
Remington-Rand have a code which is not used in this country, but is standard in the communist countries (which is thought to have happened because a Remington-Rand factory for manufacturing punched card equipment was taken over in Czechoslovakia after the war).
Their method of use of cards is very different from those mentioned so far. They use 45-column cards (the same size as normal 80-column cards, with large round holes), but obtain 90 characters to a card by splitting the card into two halves, top and bottom, so that each character position contains only 6 punching positions. The character positions in the top half of the card are numbered 1 to 45, and the character positions in the bottom half are number 46 to 90, numbering from left to right in both halves. Within each character position the punching positions are named as shown:
0 0 1/2 1 3/4 abbreviated below to 3 5/6 5 7/8 7 9 9
The standard code includes all punchings with not more than 3 holes punched, in. a character. For those characters we know, it is as follows:
Character Punching 0 0 1 1 2 1 9 3 3 4 3 9 5 5 6 5 9 7 7 8 7 9 9 9 A 1 5 9 B 1 5 C D 0 3 5 E 0 3 F 1 7 9 G 5 7 H 3 7 I 3 5 J 1 3 5 K L 0 9 M 0 5 N 0 5 9 0 P Q R 1 7 S 1 5 7 T 3 7 9 U 0 5 7 V W 0 3 7 X Y Z . 0 1
Some of the terms used are defined or discussed in this section.
The rows in a card are given the same numbering from top to bottom as the positions (also called hole positions or punching positions) in each column. It would be odd were this not so.
At least five numberings have "been in. use. The numbering bein adopted by I.C.T. as standard has been used in this memorandum and is recommended for Ferranti work. The following table shows some other numberings.
Ferranti I.C.T Bull Powers IBM Hollerith BSI (Official) 10 12 A A 12 Y 24 11 11 B B 11 or X X 22 0 0 C C 0 0 20 1 1 1 D 1 1 18 2 2 2 E 2 2 16 3 3 3 F 3 3 14 4 4 4 G 4 4 12 5 5 5 H 5 5 10 6 6 6 I 6 6 8 7 7 7 J 7 7 6 8 8 8 K 8 8 4 9 9 9 Z 9 9 2
BSI row numbers 1 to 23 (odd) are used for inter stage working.
An alpha-numeric code is a code which specifies a punching of a card column to represent each letter of the alphabet and the digits 0 to 9. It may specify punchings to represent other characters, and it may leave punchings free to have the characters they represent chosen by each user, and it may have a letter and a digit both represented by the same punching.
A card column is often considered as being made up of two parts, because of a difference of treatment of the two parts, These ports are called the upper curtate (the upper part) and the lower curtate (the lower part). These terms have been used primarily by Powers-Samas, and in applying it to other companies' codes there is no long established conventional usage. In particular with the Bull code it is not clear whether the 7, 8 and 9 positions should be called lower curtate or upper curtate, or indeed whether the terms should be applied at all.
There are at present in this country only two ways in use of splitting a column into upper and lower curtate (excluding Bull from consideration). In one the division is between the top two positions and the bottom ten, as in the Powers-Samas 32-character and Hollerith 3~zone codes. This is called a 2 + 10 curtate split. In the other the division is between the top three positions and the bottom nine, as in the Powers-Samas 39-character, Hollerith 4-zone and I.B.M. codes. This is called a 3 + 9 curtate split.
I.B.M., Hollerith and Bull think of their codes as being made up of a number of zones. The zone a particular punching belongs to is determined by the punching of the upper curtate (excluding Bull).
A 2 + 10 curtate split gives rise to 3-zone alpha-numeric codes, (the zone being determined by the punching of the upper curtate, and the possibilities allowed being -, 10, 11).
A 3 + 9 curtate split gives rise to 4-zone alpha-numeric codes (similarly the four zones are given by the four upper curtate punchings -, 10, 11, 0).
It will be seen from the table that with a few exceptions (notably the special characters in the new codes) the alpha-numeric codes are constructed out of column punchings in which not more than one position is punched in either curtate.
When a column is used to hold a decimal digit, the upper two positions (or three if zero is not punched) are not really needed. Sometimes these spare positions are used to hold other data. In IBM and Hollerith practice usually only the 11 position is used for this purpose. It is used particularly to indicate the sign of a number, and 10/-. Ihese two companies refer to the practice as control punching or making use of a control hole. In Powers-Samas practice in addition to similar use of a spare hole position, it is common to use the top three positions to hold a digit 0, 1, 2, or $ corresponding to punchings -, 10, 11, 0. This latter practice is termed overpunching. But overpunching is also used more loosely to refer to any of the practices mentioned above.
The punching of 10d., 11d. or months 10, 11, 12 in the top positions of a column is not called overpunching or control punching, on the grounds that in these cases the column is being used as a whole; not split into two parts to hold two pieces of data which are independent in the mind of the user.
Sometimes three adjacent upper curtates (of three positions each) are used to hold a decimal digit. The practice is termed block overpunching or boxing.
A set of columns used to hold, say, a number, or a name and address, is usually referred to as a field. The term is a flexible one, and may be used to refer to any set of columns being considered at the time as a whole. However, the term is not used to refer to a set of columns which hold more than either one label or one number. Its use is not restricted to card columns, but applies also to series of characters in the computer or on tape.
There is an important distinction between fixed-format field working and floating field working. The floating field is used more in paper-tape work and is characterised by such properties as identifying fields by a symbol preceding them; terminating fields by a terminating character so that the number of characters punched on paper tape can be no more than necessary; leaving out optional fields when not required. The advantages are flexibility and perhaps brevity, and the disadvantages are that it is difficult to find data by visual inspection of the tape, that identifying characters and terminating characters are required, and that it does not possess certain useful checking features of fixed-format working.
Fields may be given names, such as Date, Part Number, Price, FI. Care has to be taken to distinguish between reference to a field and to its contents (as in computers one refers to a register as N and its contents as n). In the course of a data-processing operation one will have the Price stored in several places - for instance, on a card, in an input buffer, in working position, in an output buffer, and on a card again. Each of these places is a different field, and it must be possible to refer to each one unambiguously, for instance by the use of suffices - Price 1, Price 2, etc. In practice, for brevity's sake, people are apt to refer to both the field and its contents as Price. It would be useful to have some concise way of distinguishing between the two uses, although perhaps it does not matter provided everyone realises, what is happening.
Powers-Samas double the amount of data they can get out their 65 and 80 column cards by use of interstage working, in which holes are punched and read half a row below standard position. They are able to do this because of their small holes. Code conventions of every sort are just the same with interstage working as with normal working.
The following names given to a number of special characters (taken from an I.B.M. technical publication) may be useful, though not particularly relevant.
Character Name → Right arrow (replaces) { Left brace ∧ And } Right brace ↑ Up arrow (start superscript) ∨ Or (inclusive) ⊻ Exclusive or ↓ Down arrow (end superscript) ∥ Double lines [ Left bracket ] Right bracket ← Left arrow (is replaced by) ¬ Not \ Left slant (reverse divide_ ◊ Lozenge (diamond) Frequently put before totals in IBM practice | Absolute value (vertical line) # Number sign. Frequently put before numbers in IBM practice ~ Tilde (hyphen) ( Left parenthesis ) Right parenthesis / Right slant (divide; solidus) ' Apostrophe (single quote) " Ditto (double quote) & Ampersand