Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > alt.folklore.computers > #162866

Re: IBM's 96 column punch card (was System/3)?

From Charlie Gibbs <cgibbs@kltpzyxm.invalid>
Newsgroups alt.folklore.computers
Subject Re: IBM's 96 column punch card (was System/3)?
Date 2016-04-22 15:22 +0000
Organization NewsGuy - Unlimited Usenet $23.95
Message-ID <nfdfjs216kd@news3.newsguy.com> (permalink)
References (5 earlier) <c26b52a8-a54a-44e7-ba71-90c2a3d54bdf@googlegroups.com> <nf9iqr02cba@news1.newsguy.com> <1329586485.482962777.917121.peter_flass-yahoo.com@news.eternal-september.org> <nfbgrp$5en$1@dont-email.me> <nfbubi0hpv@news3.newsguy.com>

Show all headers | View raw


On 2016-04-22, Joe Morris <j.c.morris@verizon.net> wrote:

> One way that IBM kept down the cost of the 2501 was that while the 2540/2820 
> read and stored a complete image of the card just read (and the program 
> could read it multiple times (*) before requesting that the next card be 
> read), the 2501 had the ability to store only a single column at a time: 
> when a column was read the 2501 had to be able to send that column (either 
> as an EBCDIC character or as a 12-bit binary field) before the next column 
> arrived at the optical sense station.
>
> Joe
>
> (*) This allowed the program to read a card as a binary image, then 
> programmatically check cc1 for a 7-9 punch (the flag for a binary card) and 
> if the card wasn't binary, then read it again as EBCDIC.  The 2501 didn't 
> have this capability, so if you didn't know whether a card was binary or 
> EBCDIC you had to read it as binary, and if it wasn't binary, 
> programmatically translate the binary data into EBCDIC.  I wrote a program 
> to do this, and would hesitate to even guess at the amount of time I spent 
> trying to optimize the translation logic (this was on a 360/40, in an 
> environment that could not exceed 6 KB for the entire program, so no room 
> for a TR table) to be able to request the next card before the reader gears 
> reached their clutch point.  I was quite happy to see the binary machine (a 
> 7040) leave a few years later. 

That must have been some hairy programming.  I remember looking at all
the inconsistencies in the EBCDIC code table and just shaking my head.

Univac worked around this by having their readers and punches run natively
in what they called "compressed code" (plus image mode if you really needed
column binary, but again you had to choose one or the other before reading).  
Compressed code copied row 9 directly to the high-order bit in memory;
the low-order 4 bits came from rows 8, 0, 11, and 12 (high to low).
The remaining three bits were determined by whichever of rows 1 through 7
were punched, as follows:

    Row   Bit pattern
    ---   -----------
   (none)  x000xxxx
     1     x011xxxx
     2     x101xxxx
     3     x001xxxx
     4     x010xxxx
     5     x100xxxx
     6     x111xxxx
     7     x110xxxx
           |   |||`-- row 12
           |   ||`--- row 11
           |   |`---- row 0
           |   `----- row 8
           `--------- row 9

I have no idea why the codes were chosen in this seemingly arbitrary
order, rather than just having row 1 be 001, row 2 002, etc.

Since no valid 8-bit code has more than one punch in rows 1 through 7,
this encoding worked well with a minimum of hardware.  To further save
on hardware, no validity checking was done; if there was more than one
of rows 1 through 7 punched, the corresponding codes were ORed together.
These codes had a one-to-one correspondence with EBCDIC; one TRanslate
instruction would convert it.

Object code decks were punched directly in this code, eliminating the
need for the loader to contain a translation table.  You could spot
fields that were initialized to blanks (X'40') by the run of columns
containing only a punch in row 5.

-- 
/~\  cgibbs@kltpzyxm.invalid (Charlie Gibbs)
\ /  I'm really at ac.dekanfrus if you read it the right way.
 X   Top-posted messages will probably be ignored.  See RFC1855.
/ \  HTML will DEFINITELY be ignored.  Join the ASCII ribbon campaign!

Back to alt.folklore.computers | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: IBM's 96 column punch card (was System/3)? Quadibloc <jsavard@ecn.ab.ca> - 2016-04-15 07:16 -0700
  Re: IBM's 96 column punch card (was System/3)? Morten Reistad <first@last.name.invalid> - 2016-04-15 17:16 +0200
    Re: IBM's 96 column punch card (was System/3)? "Rod Speed" <rod.speed.aaa@gmail.com> - 2016-04-21 19:55 +1000
      Re: IBM's 96 column punch card (was System/3)? Stephen Wolstenholme <steve@easynn.com> - 2016-04-21 11:10 +0100
        Re: IBM's 96 column punch card (was System/3)? "J. Clarke" <j.clarke.873638@gmail.com> - 2016-04-21 22:17 -0400
  Re: IBM's 96 column punch card (was System/3)? hancock4@bbs.cpcn.com - 2016-04-15 14:03 -0700
  Re: IBM's 96 column punch card (was System/3)? Walter Bushell <proto@panix.com> - 2016-04-17 10:36 -0400
    Re: IBM's 96 column punch card (was System/3)? Stephen Wolstenholme <steve@easynn.com> - 2016-04-17 15:46 +0100
      Re: IBM's 96 column punch card (was System/3)? Dave Pitts <dpitts@cozx.com> - 2016-04-17 09:52 -0600
    Re: IBM's 96 column punch card (was System/3)? Gerard Schildberger <gerard46@rrt.net> - 2016-04-17 17:18 -0700
      Re: IBM's 96 column punch card (was System/3)? Walter Bushell <proto@panix.com> - 2016-04-22 11:01 -0400
        Re: IBM's 96 column punch card (was System/3)? Ahem A Rivet's Shot <steveo@eircom.net> - 2016-04-26 08:22 +0100
        Re: IBM's 96 column punch card (was System/3)? Ahem A Rivet's Shot <steveo@eircom.net> - 2016-04-26 08:20 +0100
    Re: IBM's 96 column punch card (was System/3)? hancock4@bbs.cpcn.com - 2016-04-19 11:44 -0700
      Re: IBM's 96 column punch card (was System/3)? Charlie Gibbs <cgibbs@kltpzyxm.invalid> - 2016-04-20 01:36 +0000
        Re: IBM's 96 column punch card (was System/3)? hancock4@bbs.cpcn.com - 2016-04-20 16:58 -0700
          Re: IBM's 96 column punch card (was System/3)? Charlie Gibbs <cgibbs@kltpzyxm.invalid> - 2016-04-21 03:52 +0000
            Re: IBM's 96 column punch card (was System/3)? hancock4@bbs.cpcn.com - 2016-04-21 12:37 -0700
            Re: IBM's 96 column punch card (was System/3)? Peter Flass <peter_flass@yahoo.com> - 2016-04-21 16:25 -0400
              Re: IBM's 96 column punch card (was System/3)? Dan Espen <despen@verizon.net> - 2016-04-21 17:35 -0400
                Re: IBM's 96 column punch card (was System/3)? Charlie Gibbs <cgibbs@kltpzyxm.invalid> - 2016-04-21 21:51 +0000
                Re: IBM's 96 column punch card (was System/3)? Dan Espen <despen@verizon.net> - 2016-04-21 20:58 -0400
                Re: IBM's 96 column punch card (was System/3)? Peter Flass <peter_flass@yahoo.com> - 2016-04-22 11:34 -0400
                Re: IBM's 96 column punch card (was System/3)? hancock4@bbs.cpcn.com - 2016-04-22 12:53 -0700
                Re: IBM's 96 column punch card (was System/3)? hancock4@bbs.cpcn.com - 2016-04-22 12:45 -0700
                Re: IBM's 96 column punch card (was System/3)? Peter Flass <peter_flass@yahoo.com> - 2016-04-22 11:34 -0400
                Re: IBM's 96 column punch card (was System/3)? hancock4@bbs.cpcn.com - 2016-04-22 12:55 -0700
                Re: IBM's 96 column punch card (was System/3)? Charlie Gibbs <cgibbs@kltpzyxm.invalid> - 2016-04-22 22:18 +0000
                Re: IBM's 96 column punch card (was System/3)? hancock4@bbs.cpcn.com - 2016-04-22 12:38 -0700
                Re: IBM's 96 column punch card (was System/3)? "Joe Morris" <j.c.morris@verizon.net> - 2016-04-21 21:21 -0400
                Re: IBM's 96 column punch card (was System/3)? Dan Espen <despen@verizon.net> - 2016-04-21 22:21 -0400
                Re: IBM's 96 column punch card (was System/3)? Anne & Lynn Wheeler <lynn@garlic.com> - 2016-04-21 21:53 -0700
                Re: IBM's 96 column punch card (was System/3)? Charlie Gibbs <cgibbs@kltpzyxm.invalid> - 2016-04-22 15:22 +0000
                Re: IBM's 96 column punch card (was System/3)? scott@slp53.sl.home (Scott Lurndal) - 2016-04-22 17:55 +0000
                Re: IBM's 96 column punch card (was System/3)? hancock4@bbs.cpcn.com - 2016-04-22 12:31 -0700
                Re: IBM's 96 column punch card (was System/3)? Dan Espen <despen@verizon.net> - 2016-04-23 10:43 -0400
                Re: IBM's 96 column punch card (was System/3)? hancock4@bbs.cpcn.com - 2016-04-23 12:48 -0700
                Re: IBM's 96 column punch card (was System/3)? Peter Flass <peter_flass@yahoo.com> - 2016-04-23 16:21 -0400
                Re: IBM's 96 column punch card (was System/3)? Dan Espen <despen@verizon.net> - 2016-04-23 18:12 -0400
                Re: IBM's 96 column punch card (was System/3)? JimP <solosam90@gmail.com> - 2016-04-23 20:44 -0500
                Re: IBM's 96 column punch card (was System/3)? Huge <Huge@nowhere.much.invalid> - 2016-04-24 09:09 +0000
                Re: IBM's 96 column punch card (was System/3)? Charlie Gibbs <cgibbs@kltpzyxm.invalid> - 2016-04-25 15:08 +0000
                Re: IBM's 96 column punch card (was System/3)? hancock4@bbs.cpcn.com - 2016-04-25 13:39 -0700
                Re: IBM's 96 column punch card (was System/3)? Dan Espen <despen@verizon.net> - 2016-04-23 18:07 -0400
                Re: IBM's 96 column punch card (was System/3)? hancock4@bbs.cpcn.com - 2016-04-25 13:48 -0700
                Re: IBM's 96 column punch card (was System/3)? Dan Espen <despen@verizon.net> - 2016-04-25 17:33 -0400
                Re: IBM's 96 column punch card (was System/3)? "Joe Morris" <j.c.morris@verizon.net> - 2016-04-25 19:47 -0400
                Re: IBM's 96 column punch card (was System/3)? Dan Espen <despen@verizon.net> - 2016-04-25 22:56 -0400
                Re: IBM's 96 column punch card (was System/3)? Jon Elson <jmelson@wustl.edu> - 2016-04-26 17:51 -0500
              Re: IBM's 96 column punch card (was System/3)? Charlie Gibbs <cgibbs@kltpzyxm.invalid> - 2016-04-21 21:40 +0000
              Re: IBM's 96 column punch card (was System/3)? Walter Bushell <proto@panix.com> - 2016-04-21 22:31 -0400
                Re: IBM's 96 column punch card (was System/3)? Charlie Gibbs <cgibbs@kltpzyxm.invalid> - 2016-04-22 15:22 +0000
              Re: IBM's 96 column punch card (was System/3)? Stephen Wolstenholme <steve@easynn.com> - 2016-04-22 07:15 +0100
                Re: IBM's 96 column punch card (was System/3)? scott@slp53.sl.home (Scott Lurndal) - 2016-04-22 14:44 +0000
              Re: IBM's 96 column punch card (was System/3)? hancock4@bbs.cpcn.com - 2016-04-22 12:16 -0700
                Re: IBM's 96 column punch card (was System/3)? Peter Flass <peter_flass@yahoo.com> - 2016-04-22 17:10 -0400
              Re: IBM's 96 column punch card (was System/3)? Gene Wirchenko <genew@telus.net> - 2016-04-22 22:38 -0700
                Re: IBM's 96 column punch card (was System/3)? Charlie Gibbs <cgibbs@kltpzyxm.invalid> - 2016-04-23 16:28 +0000
          Re: IBM's 96 column punch card (was System/3)? Peter Flass <peter_flass@yahoo.com> - 2016-04-21 12:35 -0400
            Re: IBM's 96 column punch card (was System/3)? hancock4@bbs.cpcn.com - 2016-04-21 12:41 -0700
              Re: IBM's 96 column punch card (was System/3)? Peter Flass <peter_flass@yahoo.com> - 2016-04-21 16:25 -0400
                Re: IBM's 96 column punch card (was System/3)? hancock4@bbs.cpcn.com - 2016-04-22 12:18 -0700

csiph-web