DEC PC05 - Working with paper tapes

Parent Category: Stories Category: Love affair with the DEC paper tape PC05 Written by Administrator

 If you've read so far, talk about paper tape and its general use would waste your time. Here comes some DEC specific info:

The "Standard Absolute Papertape Format"

First, a paper tape is just a stream of bytes ... think of it as the paper version of a disk file. And as disk files have differing data formats, papertapes have too.

If the file is an executable PDP-11 program, the file is most likely in the "Standard Absolute" format. That format is used to fill PDP-11 memory with data.

In that format a tape contains a stream of data records, where each record defines a block of consecutive memory bytes. A single record consists of

  1. a header character
  2. an 16 bit start address in memory
  3. a byte count
  4. a list of data bytes to be deposited into memory
  5. a checksum

The records are processed as they are read in. Memory records may overlap or even overwrite earlier written memory cells. So if a program changes only a bit, not a whole new tape must be punched. Instead only a record defining the changed bytes is appended to the tape. This what is called a "program patch".

Special records are used to define the programs start address, and to set address offsets for machines with a more than 16 address lines.

Public images in "Standard Absolute" format

Many software comes in the "Standard Absolute" format, available on the internet for free. Most of these have been archived and can be downloaded at bitsavers.

1. All PDP-11 MAINDEC diagnostics come in Standard Absolute format

paper tape dec tray

2. also many XXDP *.BIN and *.BIC come in that format, see "Running diagnostics" for more.

3. Then there is the "Papertape BASIC". Here's a nice page about it.

4. Here is a multi part video showing program development with paper tape. Editors, compilers, linkers were all separate paper tape strips.



Placing a tape into the PC05 reader

There are some cave-ats when placing tape into the reader

  • Be sure the dents in the transport wheel match the feed hole of the tape. Else on start the tape may get an extra perforation...
  • Paper tape can be inserted in two directions: just be sure to insert the starting end of your strip, not the tail.
  • After insert, press the FEED switch to transport the tape a few characters. This will clear the "end of tape" condition on some PC05 models.

 

Running a program from paper tape

If you have no operating system running, severals steps are needed to run a program punched onto tape.

1. You need a Boot-ROM with the Paper tape Bootloader in it, or you must toggle in the primary boot loader over console switches. The Boot ROM for the M9312 module has the code "23-760A9", see the listing as attachement.

2. To understand the "Absolute Papertape Format", a special "Absolute Loader" must be loaded and executed first. This is the program which understands the special record structure described above. It is only about 170 bytes big, but this is too much to be placed into the tiny Boot-ROMs.

paper tape dec absolute loader

Put the special start pattern under the read head and execute the Boot-loader. So the Absoluter Loader is loaded and executed by means of the primary Paper tape Boot-ROM.

3. After the Boot-Loader has started the Absolute Loader, the PDP-11 halts. Then you put the executable program into the reader and press CONT on the PDP-11 console (continue execution). Then the program is read in. Operation stops after the last record. If a special "Start Adress" record is found, the program is started at that location.

(I always hear "loader", "loader", "loader", "loader" ... here!)

It is a smart idea to punch the short Absolute Loader directly before each executable program. So you do not need to change the tape after booting the Absolute Loader.

 

The Absolute Format in PDP11GUI

The Internet contains many archived paper tape images (bitsavers/bits/dec/). You can load these files with PDP11GUI, even if you have not punched them on your tape or do not have  a working paper tape reader. Use the "Memory Loader" window.

pdp11gui load absformat

This feature is partly important for QBUS-Systems: they do not have a controller for PC05, but all QBUS 11's have an ODT console which PDP11GUI can control.

 

Reading and Punching with PDP11GUI

PDP11GUI contains also a driver for the PC11 controller for the PC05. Use the "Read/Write images" window. So you can transfer files between the modern world and physical tape.

pdp11gui punching basic

This function transforms your PDP-11/PC05  system into a universal paper tape reader/writer machine: you can handle every tape and every file, not just the ones for DEC PDP-11.

 

Splicing and editing tape

Paper tape can be edited by means of glue and a scissor. For calibration and the XXDP ZPCA diagnostics also tape loops must be made, so the reader can read and verify endlessly the same data pattern.

papertape two loops

 

Splicing tape is a bit difficult:

  • the distance between the feed holes must exactly match.
  • to glue the tape it must overlap itself. This thickens the tape on the splicing point, and this may cause a jam when the tape runs through the readers pressure plate.

There were accessories to help splicing:

papertape splicing strip

With this tool you can also punch additional holes into the tape by hand:

papertape manuell punch

Anecdote: the ASCII character RUBOUT with code 0x7F was used to delete a byte on paper tape. 0x7F (or 0xFF) consists of all "ones", so a byte could be deleted manually by punching all holes in its row.

Tape wear and errors

While paper tape can be archived very well for decades, it is not very reliable while in use. Of all known media (punch card, magnetic tape, hard drives, optical disks) it is worst to handle and has the most wear.

  • the DEC fan-fold tapes tends to rip at the folding lines ... especially if there's a byte with much 1's punched at the bend. Beware of byte 0xff!
  • I found tape to lengthen after a few 100 runs in a diagnostic tape loop. So the distance between feed holes changes and reading got unreliable.
  • Tape runs first through a pressure plate, then over the photo cells. The plate touches the paper, there is paper wear. Dust and sometime paper fibers are generated, they settle on the photo cells.
  • If a reading or punching tape is not running totally freely, the transport dents will damage the feed holes. Since the feed holes are used to identify the position of the data bits, such a tape will be ruined.
  • Since the reader works with light, very bright ambient light will cause read errors too.
    If you show your reader on an exhibition, strictly forbid the use of flash light during operation!

Because of tape wear, better do not use original DEC tapes for daily work. Create a working copy from file images with PDP11GUI or DEC tools as described above. This applies especially to the "Absolute Loader" tape, which is used permanently.

Attachments:
Download this file (23-760A9.lst)23-760A9.lst[PC11 boot rom code for M9312 module]6 kB