MAGNETIC TAPE

The system consists of tape units connected to the PDP-3 through a tape control (TC). This tape is read or written in IBM 729I format. Two hundred characters, each having 6 bits plus a parity bit, are written on each inch of tape and the tape moves at 75 inches/sec. The tape control has the job of connecting a specific unit to the PDP-3 and is a switch.

It also has the function of controlling the format of information that is read or written on tape. In-out cla.s.s commands instruct TC to the type of information transfer and select the tape unit. Another IOT command synchronizes the transfer of information through the TC to the computer.

The IOT order to select the unit and function is decoded as follows: 1) Three bits specify the function of TC. 2) The remaining 6 bits select the unit.

_IOT Motion Commands for Magnetic Tape Units_

_IOT Code_ _Abbreviation_ _Function_

73....nn 60 mrb Read a binary record.

73....nn 61 mra Read an alphanumeric (BCD) record.

73....nn 62 mbb Backs.p.a.ce a binary record.

73....nn 63 mba Backs.p.a.ce an alphanumeric record.

73....nn 64 mwb Write a binary record.

73....nn 65 mwa Write an alphanumeric record.

73....nn 66 mlp Move tape to lead point (rewind).

Where the octal digits, nn, specify the unit number.

The motion commands have the deferred bit, thus, the program halts. If the TC is free, the command will be transferred to the tape control for action and the program restarts immediately. If the tape control is currently busy with an instruction, i.e., it hasn"t finished a previous command, the motion command is held up until TC is free to execute the new command.

The transfer of information from the computer to the TC is accomplished with the pause and skip command, MPS or IOT 70. This command has the deferred bit and halts a program until the TC can handle the transfer.

On completion, the transfer occurs and the program restarts. This is used exclusively to synchronize the flow of information between a tape unit and the computer. This command normally skips the following instruction. If a flag is set in the TC, indicating incorrect information flow, the skip does not take place.

The TC contains a 36 bit buffer which holds a complete word while information is read or written. When an MPS order is given and the unit is reading, the TC buffer is read into the IO. The MPS order given during writing causes the IO to be transferred to the TC buffer.

Various conditions occurring in the TC cause the no-skip condition, when an MPS is given. Tape control flags are examined by the command, examine and clear flags, MEC or IOT 71. When MEC is given, the flags are put into the IO for program interrogation, and the flags cleared. The flags are: parity, end of tape, an end of record flag, and reading-writing check.

The parity flag is set if the parity condition is not met while the tape is being read (during MWA, MWB, MRA, or MRB).

The end of tape flag is set when the tape comes to the end of tape, moving in either direction.

Three conditions set the read-write check flag: 1) If TC is inactive, i.e., no unit or function selected, and an MPS instruction is given. The MPS becomes a no-operation, no-halt instruction. 2) When reading information and not emptying the TC buffer, by giving an MPS before more information arrives from tape. 3) A unit becomes unavailable during a normal sequence.

The end of record flag is set during reading or backs.p.a.cing when the tape comes to an end of record gap.

_Writing a Record of Information_

Information is written on the tape by giving a MWB or MWA command. This sets a write binary or a write alphanumeric into the TC and selects the unit. A motion select command is executed immediately if the TC is free, otherwise, the command waits until it can be executed. Normal programming can continue after the MWA or MWB is given for approximately 5 milliseconds. At this time, an MPS order is given and the program pauses until information can be written. When the MPS is restarted, information is transferred to the TC buffer from the IO. If no flags have been set, the following instruction is skipped.

Three-quarter inches of blank tape is written by giving either the MWA or MWB order. An end of file is written as follows: 1) Four MWA commands write three inches of blank tape. 2) Then end of file character is written by giving the MPS order.

Information is read and checked for correct parity while writing.

If too many program steps are given between the motion select command, MWA or MWB and the first MPS, the unit will deselect (or disconnect).

The MPS is then a no-operation command.

_Writing Program_

As an example, a program to write k words in binary format from storage beginning in register A, using tape unit number 04, is shown. The following program is written in standard FRAP language. The program begins in register enterwrite.

enterwrite mec ,clear flags initially mwb 400 ,73000000464 lir x/-k+1 ,initialize index register x b lio x/a+k-1 ,begin loop mps ,wait for TC then write C(Z) jmp c ,error spx x/1 ,add 1 to index register x jmp b ,return of loop jmp done ,record written

c mec ,tape error ril 1 spi jmp rwcstop ,read-write error or tape fault ril 1 spi jmp b+3 ,tape end hlt ,tape parity

done ,resume programming

_Reading Information_

Information is read by giving the MRA or MRB order. Almost 10 ms. is available after a read order is given before information actually enters the TC buffer.

To read a record of unknown length, the read order is first given. The MPS order halts the program until six characters are a.s.sembled in the TC information buffer. The next instruction after the MPS, a jump instruction, transfers control from the loop when any flag is set. The next instruction deposits the IO. The record length is determined by not skipping after the MPS order on the setting of the end of record flag.

The read-write check flag or the end of record flag is then interrogated to see that the tape is actually at the end of record. If a tape is not at the end of record, then the tape is either at the end of the reel, or a parity check has occurred.

_Reading Program_

Program to read j binary words into storage beginning in register d, using tape unit 10, j is unknown. The program begins in register enteread.

enteread mec ,clear flags initially mrb 1000 ,730000001060 dzm x ,put zero in memory location x e mps jmp outcheck dio x/d ,store in location modified by x snx x/+1 ,add 1 to C(x) jmp e

outcheck mec ,examine flags spi ,end of record?

jmp recordend ,yes hlt ,error

recordend snx x/+1 ,to find value of j " ,resume programming C(IA) = j "

_Forward s.p.a.cing_

Forward s.p.a.cing is done by giving an MRB or MRA order. This moves the tape forward with the read-write head positioned at the end of the following record. If n read orders are given, the tape is s.p.a.ced forward n records. By giving the MEC order, parity flags are examined to see that information on tape has been read correctly.

_Backs.p.a.cing_

By giving an MBA or MBB order the tape is moved backwards a record with the read-write heads positioned in the previous end of record gap. The end of record flag is set when the tape has moved backwards a record.

_Rewinding_

Rewinding is accomplished by giving the rewind order, move tape to load point, MLP. The rewind order starts a unit rewinding and does not tie up the TC. If a motion command is given which calls for a unit that is rewinding, the command is executed, but the action will not take place until the unit is available.

_Unit Availability_

A unit is unavailable to the program under the following conditions:

1. Unit is rewinding.

2. Tape is improperly loaded.

3. Cover door open.

© 2024 www.topnovel.cc