At 15:35 -0400 on 05/28/2009, Clark Kidd wrote about Punched Card Combinations (WAS Book on Poughkeepsie):

As I remember, there were three "control" rows at the top of the card (12, 11, 0) and then 9 "data" rows (1-9) under those. So each possible column would contain up to 12 rows that could be punched:

Col1  Col2   ...   Col80
12    12           12
11    11           11
 0     0            0
 1     1            1
 2     2            2
 3     3            3
 4     4            4
 5     5            5
 6     6            6
 7     7            7
 8     8            8
 9     9            9

For example, a column representing an "A" would have the first of the control rows punched out (12), and the first of the data rows (1) punched out. Some of the more exotic hex combinations required quite a number of punches. For example, X'FF' was represented as 12-11-0-7-8-9. This is why a keypunch machine would be much louder when you were duplicating an object dec

Actually as your X'FF' example shows, 8 and 9 were ALSO Control Rows/Zones (ie: Punches could occur in any combination) and 1-7 were data rows (one punch maximum in that Zone was allowed). Thus each character was composed of one of 32 combinations of 12-1-0-8-9 punches and one or no punch in rows 1-7. The actual mappings between Internal EBCDIC and Card Image EBCDIC were not always straight forward.

I once had to design a program to read normal EBCDIC as Column Binary (the card had mixed Column Binary and normal EBCDIC columns and there was a need to convert the EBCDIC columns from their punches back into real internal EBCDIC). It involved mapping the 12-11-0-8-9 punches as the first 5 bits of a byte and coding the existence of a 1-7 punch as the binary value in the low 3 bits. This card-image-binary was then run though a TR table to convert it into the real internal EBCDIC. That top and bottom 6 rows started in different bytes (interleaved) so a TR to separate them into 2 contiguous blocks was first needed before doing separate TRs to convert the punches into the bits which was then followed by an OC to create the actual Card Image format. There was also a Sanity Check pass that used TR tables to map the 1-7 punches as the low 7 bits of the byte followed by a TRT (in lieu of the final conversion TR) to spot if there was more than one punch in the 1-7 zone. The coding was simple. It was creating the Card Image to Internal mapping TR Table that was fun.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to