2

The TX-0 has a class of instructions very similar to the PDP-style microprogrammed, operation instructions. Fill the opcode field with all ones, and then select which microoperations you want to execute by setting the relevant bits in the rest of the instruction word. Of interest to this question are P6H and P7H, or "punch six holes" and "punch seven holes".

So six spaces in the punchtape come from the accumulator, and the last space in the punchtape come from the instruction word. And for extra weirdness, the six spaces that come from the accumulator are not contiguous, but are bits 2, 5, 8, 11, 14 and 17. I happened to notice that these are shifted one to the left of the bits that are read in, so that to copy a tape, ignoring hole 7, would be something like

  • until end of tape
  • read a word
  • rotate left
  • punch six holes

So my question here is basically "what's going on"; wouldn't it make more sense to read the tape into the lowest bits of the accumulator, so that you basically get a more sensible, 6-bit datatype? Or, wouldn't it make sense to read in the same bits that get punched out? And apparently the significance of this seventh hole is that the tape reader ignores any word with the seventh hole punched out. I guess it's useful if you make a mistake, but why would you punch a word, saying "ignore this word"?

1
  • 2
    What do you think, do we need tags for papertape and TX-0?
    – OmarL
    Jan 25 at 8:57
2

The 'every third bit' consideration arises from the mode in which one instruction can read three tape lines. The bits from the tape end up 'interleaved' in the AC. I suppose the single shift between characters requires less electronics (or time?) than a 6-bit shift would do.

See for example the description of 'read in mode' in this memo. Admittedly this is the MIT-modified TX-0 rather than the original configuration, but I would guess it applies to the original.

As far as the necessity to shift the input in the AC in order to copy tape, the instruction set summary explicitly lists the combination required to 'read tape and cycle AC' in one operate instruction, so there is no additional instruction needed.

Somewhere I read that the photoelectric reader ignores tape that does not have the 7th hole punched, so that explains the need for the punch-7-holes instruction. Possibly the reader uses channel 7 for framing the input.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.