Card/Tape Reader
Part of Data Storage
Punched card and paper tape systems — early physical data storage media that encoded binary data as patterns of holes and were the primary input/output medium for early computers.
Why This Matters
Punched cards and paper tape were the dominant input/output media for computers from the 1950s through the 1970s. They represent a fascinating case of purely mechanical digital storage: binary data encoded as presence or absence of physical holes in paper or cardboard. No magnetic fields, no electric charges — just holes.
Understanding these systems matters for several reasons. First, they demonstrate that digital computing does not require electronic memory — any medium that can reliably represent two states can serve as digital storage. Second, they were the bootstrapping medium for early computers: programs were stored on stacks of cards and fed into readers to load the operating system and application software.
Third, in a civilization rebuild scenario where electronic memory fabrication is unavailable, punched tape and card systems offer a viable path to persistent program storage with purely mechanical fabrication requirements.
Punched Cards
The IBM 80-column punched card (Hollerith card) dominated computing from the 1920s through the 1980s. Each card is 7.375 × 3.25 inches, with 80 columns and 12 rows of possible hole positions. Each column represents one character.
The encoding (EBCDIC-based for IBM, with variations for other manufacturers) uses combinations of holes in a column’s 12 positions to represent letters, numbers, and special characters. A digit 0–9 uses a single hole in rows 0–9. Letters use two holes per column (a zone punch in rows 11 or 12, plus a digit punch). Special characters use three holes.
Binary card encoding (as opposed to character encoding) uses each hole position as one bit: 80 columns × 12 rows = 960 bits = 120 bytes per card. This was used for binary program loading.
A deck of 500 cards holds 60 KB — modest but sufficient to store small programs and datasets.
Card Reader Mechanism
An electromechanical card reader reads cards by passing them through a reading station equipped with electrical contacts or light sensors:
Contact reading: small metal brushes contact the card surface. Where a hole exists, the brush passes through and completes a circuit. Where the card is solid, no circuit. Each brush corresponds to one row position, and the card moves one column at a time. This reads all 12 rows of one column simultaneously.
Photoelectric reading: a light source illuminates the card from below; photodetectors above detect light passing through holes. Faster and more reliable than contact reading because there is no physical wear on contacts or cards.
Column-by-column reading: as the card advances, each column’s hole pattern is sensed in sequence. The reader electronics convert the parallel 12-bit pattern for each column into the corresponding character code, which is sent to the computer.
Paper Tape
Paper tape stores data as holes punched across the width of a paper strip. Different standards exist:
- 5-channel (5-bit) tape: used in early Teletype machines (Baudot code)
- 7-channel (6-bit + parity) tape: extended ASCII characters
- 8-channel (8-bit) tape: full byte storage, the standard for most computer paper tape
An 8-channel tape has 8 data holes across its width, plus a smaller sprocket hole (in the center) used to drive the tape mechanism. Each row across the tape stores one byte.
Paper tape is continuous — programs and data are sequences of bytes along the tape’s length, typically at densities of 10–25 characters per centimeter. A 1-meter tape stores 100–250 bytes; a typical program tape might be 3–10 meters long.
Paper Tape Reader Mechanism
A photoelectric tape reader uses:
- A light source (lamp or LED row) below the tape.
- A row of 8 photodetectors (or phototransistors) above the tape, aligned with the 8 data channels.
- A sprocket wheel that engages the sprocket holes to advance the tape precisely one row at a time.
As each row passes the read head, the 8 phototransistors produce HIGH/LOW signals corresponding to the hole/no-hole pattern. These 8 parallel bits form one byte, sent to the computer’s input register.
Read speeds ranged from 50 to 2,000 characters per second for mechanical/electromechanical readers. High-speed optical readers could reach 50,000 characters per second.
Building a Minimal Paper Tape Reader
A functional paper tape reader can be built with:
- 8 phototransistors (or photodiodes) in a row, spaced to match the tape channel spacing
- 8 LEDs or a lamp on the opposite side of the tape
- A 74165 parallel-in serial-out shift register to serialize the 8-bit read value for serial output, or direct 8-bit parallel output to a CPU data bus
- A 555 timer or shaft encoder on the sprocket wheel to generate clock pulses synchronized with tape advance
The sprocket drive can be motorized (for automatic reading) or manual (feeding tape by hand for slow, reliable reading). For bootstrapping a minimal computer, manual advancement one row at a time is perfectly functional.
Bootstrap Loading via Paper Tape
Early computers bootstrapped from paper tape:
- Operator enters a small “bootstrap loader” program directly via toggle switches on the front panel (sets individual bits in the first 16–32 words of memory).
- Bootstrap loader reads the first sector of the tape, which contains a more capable secondary loader.
- Secondary loader reads the rest of the tape into memory.
- Control is transferred to the loaded program (operating system or application).
This bootstrap sequence is the origin of the term “booting” a computer — pulling yourself up by your bootstraps, starting from almost nothing. Modern BIOS/UEFI is the direct descendant of this bootstrap loader concept.
Punching: Writing to Card/Tape
Reading is only half the system. Card punches and tape punches create the physical media:
A tape punch accepts one byte at a time and fires 8 punch pins across the tape under computer control. Each pin either punches a hole or does not. The tape advances one row for each byte. Output rates of 10–150 characters per second were typical.
For a rebuild scenario, a manually operated tape punch (one row per hand-punch cycle using a simple die and anvil) is viable for creating short programs and data tapes.
Punched cards and tape remain functional indefinitely in dry conditions. A card deck stored in a cardboard box in a dry climate is readable 50+ years later. This archival permanence, combined with mechanical simplicity of construction, makes these technologies relevant for long-term data preservation where electronic media may degrade or become unreadable.