Digital PDFs
Documents
Guest
Register
Log In
DIGITAL-8-7-S
December 1965
41 pages
Original
3.4MB
view
download
Document:
digital-8-7-s-d
Order Number:
DIGITAL-8-7-S
Revision:
Pages:
41
Original Filename:
https://svn.so-much-stuff.com/svn/trunk/pdp8/src/dec/digital-8-7-s/digital-8-7-s-d.pdf
OCR Text
45.5.0 munnwn J<F.@.O .FZN—ZQIJON ZO..—.<fl.0lfl—OU . .Om(z>(_2 m##mm3ro<mm<2 U_o_._,>_. 303$ nmomm>z§zm Imuulm _<_>zc>r omoq>1m 0.9—4)? ”DC-ngmz... Com—003531.07.— . :><Z>WU. z>mm>01cmm44m Copyright 1965 by Digital Equipment Corporation PREFACE The PDP-8 comes to the user complete with an Although in many cases PDP-8 programs originated extensive selection of system programs and rou- as tines making the full data processing capability gram documentation is issued in a new, recursive of the new computer immediately available to format introduced with the PDP-8. PDP-5 programs, all utility and functional pro- each user, eliminating many commonly experienced initial programming delays. Programs written by users of either the PDP-5 or the PDP-8 and submitted to the users' library The programs described in these abstracts come (DECUS from two sources, past programming effort on Society) are immediately available to PDP-8 the PDP-5 computer, and present and contin- users - Digital Equipment Corporation Users' . uing programming effort on the PDP-8. Thus the PDP-8 programming system takes advantage Consequently, users of either computer can take of the many man-years of program development immediate advantage of the continuing program and field testing by PDP-5 users. developments for the other. CONTENTS? ‘ Chapter Eggs 1 INTRODUCTION 2 DECTAPE SUBROUTINES l-l ........................................................ Description 2-l ................................................. 2-1 ........................................................ ‘ Necessary Conventions ’ - Format.................. Search Subroutine . ......... ....... Description Definitions 2-4 ...................................... 2-5 ....................................... 2-6 . . . . . . . . . . . . . . . . . . . . . . . ..' ....... ................................................. 2-6 3"] ........... 3—l ......................................................... 3"l « .............................................. Named File . .............. Library ..................... 3-l ................................ 3"l ............... Library System (or Skeleton System) ......................... . . .............................. 3-l .............................. . ..................... 3"l ................................ . ..................... 3-l . ..................... 3"l ............................................................. 3-2 System Exit Directory System Loader Usage 2-2 2-4 Brief Description of DECtape Instructions PDP-8 LIBRARY SYSTEM . ................. - .............................. Errors......................i . .l ..................................... ..... Read and Write Subroutines 3 ............................ ............................ ......................................................... 3-2 Escape ......................................................... 3-2 Update ......................................................... 3-3 ......................................................... 3—4 lndex Delete I Getsys ...................................... 3-4 ...................................................... 3-5 ........................... 3-5 ................... Directory Size Error Halts Storage Map ....................................................... 3-6 Appendix l DECTAPE TRANSPORT AND CONTROL ..................... Al-l 1 CHAPTER INTRODUCTION PDP-8 DECtape software provides the programmer completed. with the following three major operational allow concurrent operation of several materials: l. Subroutines which the programmer may easily input- output devices along with the DECtape. These programs occupy two memory pages = (4008 25610 words). incorporate into a program for data storage, The program may thus effectively The Library System was developed with several logging, data acqui- sition, data buffering (queueing), etc. design criteria in mind. First and perhaps fore— most, the system should leave the state of the 2. A library calling system for storing computer unchanged when it exits. named programs on DECtape and a means should be capable of calling programs by name of calling them with a minimal from the keyboard and allow for expansion of size loader. 3. Second, it the program file stored on the tape . Finally, it should conform to existing system conventions, Programs for preformatting tapes namely, that all of memory except for the last controlled by the content of the switch memory page register to write the timing and mark (76008 77778), be available to the programmer. channels, to write block formats, to — This convention was established . so exercise the tape and check for errors, that the Binary Loader (paper tape), and/or future versions of this loader could reside in and to provide ease of maintenance. memory at all times. Subroutine development has resulted in a series of The PDP-8 DECtape Library System is loaded by subroutines which will read or write any number a of DECtape blocks, read any number of 129—word 7600 ' blocks as l28 words (or one memory page), or the search for any block (used by read and write or to position the tape). These programs are assembled with the user's program and are called by a iump to subroutine instruction. 1710 instruction bootstrap routine that starts at . list This loader calls a larger program into memory page, whose function is to pre— serve on the tape, the contents of memory from 60008 75778, and then load the INDEX program - and the directory into those some locations. The program interrupt Since the information in this area of memory has is used to detect the setting of the DECtape (DT) been preserved, it can be restored when opera— flag thus allowing the main program to proceed tions have been completed. while the DECtape operation is being completed. The minimum system tape contains the following programs: A program flag is set when the operation has been 1-] INDEX UPDATE Typing this causes the names of all programs currently on file to be typed out. Allows the user to add a new program to the files. UPDATE queries the operator about the program's name, its starting address, and its location in core memory. GETSYS DELETE tape and used to load the obiect program. specified DECtape unit. Causes a named file to be deleted from the tape this time the library program UPDATE is called, the operator defines a new program file (con- sisting of the FORTRAN Operating System and the object program), and adds it to the library As a result, the entire operating program and the object program are now available on the DECtape library tape. . The last group of programs, Starting with the skeleton library tape, the user can build up a complete file of his active pro- grams and continuously update it. uses One of the of the library tape may be illustrated as fol lows: a collection of short routines controlled by the contents of the the recording of timing and mark channels and permits block formats to be recorded for any Patterns may be written in these blocks and then read and checked. The programmer may call the FORTRAN compiler from the library tape and with it compile the program, obtain- ing the obiect program. The FORTRAN Oper- switch register, is called DECTOG. It provides for block length. A program is written in PDP-8 FORTRAN that is to be used repeatedly. At ' tape. Generates a skeleton Library Tape on a ating System may then be called from the library areas of tape may be periods of time. Specified l'rocked" for specified A given reel of tape may thus be thoroughly checked before it is used for data storage. These programs may also be used for maintenance and checkout purposes. CHAPTER DECTAPE SUBROUTINES The data break facility in DECtape data transfers DESCRIPTION allows information to be transferred in segments DECtape subroutines allow the programmer to equal in size to the block capacity of the tape read, write, or search DECtape using prewritten and tested subroutines. 2 currently being used. The routines include 129 (201 three basic subroutines: A search subroutine which finds a . octal) 12-bit words per block (i .e., in certified tapes), but can be of any length as 1 This capacity is usually the user cares to create as long as the number requested block on the tape and can of 12—bit words per block is a multiple of 3. exit with the tape moving in either direction or stopped. can or A mark track error detection circuit requires This subroutine that an identifying mark be read every six lines be used directly by the programmer on automatically by the read and write subroutines the tape. This 6-line mark track section re- quires that data be recorded in 12-line segments . (12 being the lowest common multiple of 6-line 2. A read forward subroutine which marks and 4-line data words) which correspond searches for the block requested and to 3 reads data into core memory beginning tion results in an inability to construct a block at an indicated core page. a A write forward subroutine which beginning The read and write designed to work with pages 129 words in length memory as loca- if they were only 128 words in length, thus allowing the programmer to deal with tape blocks tion. which are effectively equal in size to a core page. The routines included will not read or write in the reverse direction. block 129 words in length, exceeding the size subroutines included in this program have been writes onto that block and subsequent at an indicated core The closest approach is the creation of of a core page by one word. searches for the block requested and blocks the contents oflcore This ”multiple of 3" restric- whose capacity is the same as a core memory location, from that block and from subsequent blocks. 3. 12-bit words. There are, therefore, two entries to the read subroutine and two entries to the write sub— Instructions can be ex- routine. ecuted in the main program simultaneously with One entry deals with tape blocks re- gardless of their size and the other entry deals search, read, and write functions. The accum- with 129-word blocks as if they were 128-word ulator and link bit is preserved by the programmer blocks (see the individual subroutines for details and not by the DECtape subroutines. of entry). 2-1 The subroutines are supplied as symbolic tapes error flag and DT flag, respectively. The occupying 400 octal words of core storage (2 suc- flag is checked by the MMSC instruction. If cessive pages). this IOT instruction skips because of the error The tapes contain no specific error origin and are not terminated by a dollar sign. flag being set, a iump indirect to a register The user positions the subroutine tape within his containing the address MERR should be executed. program and supplied origin information as desires he The DT flag is checked by the MMSF instruction. If this IOT instruction skips because of the DT . flag being set, the instruction JMP I MCOM NECESSARY CONVENTIONS The DECtape subroutines use the program inter- must be executed. A register must be created (on the current page) and tagged with MCOM. rupt facility as well as the data break facility Access by the DECtape subroutines to the dismiss and have a user-created interrupt service routine routine is accomplished by the execution of and dismiss routine. DISM. The interrupt service routine is the section of a program to which control is transferred at the moment an interrupt occurs. It is responsible for preserving the states of the AC and link, de- termining the cause of the interrupt, and trans- ferring control to a subprogram which will process the interrupting condition. The dismiss routine is responsible for restoration of the states of the AC and link, reactivation of the prOQram interrupt system, and transfer of control back to the interrupted program. Due to the critical timing of certain DECtape functions, it is necessary that the user construct the interrupt service routine in such a way that a subroutine handling a low priority interrupt (user assigned, non—DECtape) may itself be interru pted The user must define DISM as an effec- tive jump to the dismiss routine. If the dismiss routine is on page 0, this parameter assignment takes the form DISM = JMP Z ?, where ? is the address of the dismiss routine. If the dismiss routine is not on page 0, the parameter assign— ment takes the form DISM = JMP I Z R where R is the address of a page 0 address containing the address of the dismiss routine. The mnemonic AUTO must be defined in the user's program as a page 0 auto-index register (i.e., AUTO=10). The programming example below illustrates the DECtape subroutine programming conventions in the construction of the user's interrupt routines. The tags INTR, INT, SCAT, SRET, SAC, LINK, SAU, LK, READ, and ERCM in this example were chosen at random. as an intercom to the dismiss routine is optional; The use of register 5 . The high-priority interrupt conditions which the service routine should check are the DECtape any page 0 nonauto-index register will do. If the interrupt service routine and dismiss routine are located on page 0, the two references to them need not be indirect (i .e., DISM Z SCAT). = requires communication with the ASR 33Key- JMP board via the program interrupt. This example assumes that the user *2 JMPI INTR *5 . +I , SCAT . DISM = AUTO = *1000 INTR, JMP I z 5 10 /INTERRUPT SERVICE ROUTINE KSF JMP INT /SAVE THE AC DCA SAV RAL /SAVE THE LINK /CLEAR KEYBOARD FLAG DCA LK KCC TAD z I . JMP READ /RESTART INTERRUPT SYSTEM /SAVE RETURN /SERV|CE KEYBOARD DCA SAC /SAVE AC ION DCA SRET INT, ' RAL DCA LINK MMSC /SAVE THE LINK /SK|P ON DECTAPE ERROR FLAG SKP SCAT, JMP I ERCM MMSF SKP' /GO TO MERR IN DECTAPE SUBROUTINES /SKIP ON DECTAPE DT FLAG JMP I MCOM /GO TO DECTAPE SUBROUTINES CLA CLL /INTERRUPT DISMISS ROUTINE TAD LINK RAR TAD SAC ION JMP I z I /RESTORE LINK /RESTORE AC /RESTART INTERRUPT SYSTEM /RETURN TO INTERRUPTED PROGRAM SAC, o LINK, o SRET, o MCOM, o /MODIFIED BY DECTAPE SUBROUTINES ERCM, MERR /ERROR ROUTINE ADDRESS IN DECTAPE SUBROUTINES SAv, o LK, 2-3 READ, /KEYBOARD INTERRUPT HANDLER KRB CLA CLL TAD LK /RESTORE LINK /RESTORE AC /RETURN TO INTERRUPTED PROGRAM RAR TAD SAV JMP I SRET FORMAT Search Subroutine . The search subroutine is used for positioning of tape only. The reading and writing subroutines will use the search subroutine to find the correct Instructions block automatically. The user may independ- ently access the search subroutine for his own purposes. Comments TAD B Where B equals the number of the block being sought. JMSIX Where X is the address of a register containing LVSF, LVSR, or LVST. If LVSF is used, the tape will be moving in search forward mode when searching is completed (the instructions CLA and MMLM will stop the tape). lf LVSR is used, the tape will be moving in search reverse mode when the search is completed. If LVST is used, the tape will be stopped when searching is completed. Where E equals the address of the return location should any error occur. The interrupt will be off and the tape will be stopped. The AC will contain a code indicating the type of error. Where C indicates the address of the location to return to after searching has been completed. If the main program is to be continued during searching, this should be coded as a DlSM instruction. The interrupt will be off when control is transferred to this address. ZZOO Where ZZ indicates the number of the unit to be selected (1 RETURN The program will return to this line when searching starts. This allows multiprocessing. During additional program breaks, the search routine will return via the DlSM instruction. The programmer can determine when searching has been completed by using any of the following sequences since DONE is reset to 0 after each block mark is read and to -l (7777) when the correct block has been found. - 108). 1.BZ|X JMP? /CM)=DONE /NOTDONE 2. TAD I x /C(X) = DONE ' SZA /DONE JMP? /CM)=DONE /ORSMA /NOTDONE liADIX SNA JMP? (If no multiprocessing is necessary this line should be coded as a JMP to itself.) Read and Write Subroutines ' Instructions JMSI? Comments Where C (?) equals MRDS (generalized read), Rl28 (specialized read), MWRS (generalized write), or W128 (specialized write). MRDS and MWRS are subroutines which will read from or write onto blockskwithout respect to their size. Rl28 and W128 are subroutines which deal with l29-word blocks as if they were 128-word blocks. Where S is the address of the first core location to be read into or written from. Where E equals the address of the location to be returned to in the event The tape will be stopped and the interrupt will be turned off. of an error. zzoo Where ZZ equals the number of the unit to be selected. Where N equals the number of consecutive blocks to be read from or written into. Where B equals the number of the initial block to be written into or read From RETURN . The program will return to this line when searching starts to allow multiDuring additional program breaks and when reading or writing has been completed, the return will be via DlSM instruction, thus this line should never be a iump to itself. The interrupt will be on after completion. Multiprogramming takes place during the read and write functions as well as during the search functions. processing. ERRORS Should any errors occur after the subroutines are at entered, a return will be made to the main program the following numbers in the accumulator. Contents of Accumulator the location indicated by the error return, with Meaning 000l Illegal format. Requested an illegal block. 0002 The block requested cannot be found.* 0003 The DECtape error flag was raised during searching for other than an end-of—tape condition.* 0004 The DECtape error flag was raised during reading .** 0005 The DECtape error flag was raised during writing.** BRIEF DESCRIPTION OF DECTAPE INSTRUCTIONS The only and should not be taken as a detailed de— following description is designed as an aid to scription of the DECtape system. understanding the DECtape routines Mnemonic Instructions Code MMLS 675i MMLM 6752 Comments DECtape select. Clears the DECtape flag. Selects the unit designated by a 2-5 of the AC and institutes a 70-msec delay. The DECtape flag is set at the end of this delay. DECtape load motion. Clears the DECtape flag. Loads the motion register from AC bits 7 and 8 (bit 7 a I equals GO, equals REVERSE, bit 8 a 0 equals FORWARD). Institutes a 70-msec delay and sets the DECtape at the end of the delay. bit 7 a 0 equals STOP, bit 8 a l 6754 MMLF Loads the function register from the contents of AC bits 9-I I and then clears the AC. no action in regard to the in bits 9 through Institutes no delay and undertakes DECtape flag. The octal number II is coded as follows: *The number of the block mark being searched for can be found at BLKN. be found at TEMN The block mark iust read can . **The number of the block being read when the error occurred can be found at TEMN. 2-6 0=Move l Search = 2 = Read data MMMF 6756 3 = Read all bits 4 = Write data 5 = Write all bits 6 = . Write mark and timing DECtape load function and motion. A microprogrammed in— struction encompassing MMLM and MMLF. Sets function and motion registers from AC bits 7-“, i.e., 22 = 32 = Read data reverse 24 2 Write data forward 34 MMMM 6757 Read data forward Write data reverse 2l = 3] = Search forward Search reverse etc. DECtape load select, motion, and function. Amicroprogram of instructions MMLF, MMC C 6762 MMLM, and MMLS. DECtape clear memory address counter. Clears the memory address counter. MMLC 6764 DECtape load memory address counter. Contents of the' accumulator are transferred into the memory address counter and then the AC is cleared. MMML 6766 Clears and loads the memory address counter. of MMCC and MMLC. MMSF 676i Skip on DECtape flag a . A microprogram If the DECtape flag has been set to l, the contents of the PC are incremented by one and the next instruction is skipped. Does not clear flag. In search mode: lf flag is set: A block mark number has just been read and transferred to core address contained in MAC. Contents of MAC remain unchanged. In read data mode: A block of data has iust been transferred to core memory via data break. The control is still in read data mode and the tape is moving. MAC contains the address of next sequential core register following the last one read into. The next block on tape will be read into core beginning MAC if no action is taken. at current address in 2-7 In write data made: A block of data has just been written on The control is still in tape from core memory via data break write data made and the tape is moving. MAC contains the . address of the next-sequential core address following the last written from. The next block on tape will be written onto. from core beginning at current address in MAC if no action is one taken. MMSC 6771 Skip on error flag. If the error flag has been set to a l, the contents of the PC are incremented and the next instruction is skipped. Encountering an end zone will set the error flag. expect In this case, to see an MT flag set 70-msec after the end zone is This is a signal to institute turn-around action (if desired) and be assured of opening the "eyes" of the control in time to read the black mark number of the last block encountered prior to the end zone (useful procedure when "bouncing" off the end zone to read or write the end block). encountered. MMCF 6772 Clears the DECtape DT and error flags. MMRS 6774 The condition of the status levels is transferred into bits 0 through 7 of the accumulator. The accumulator bit assignments are: 0 = 1 = 2 = 3 = 4 5 = = 6 = 7 = DT flag Error flag END (selected tape at end point) Timing error Reverse tape direction GO Parity or mark track error Select error /RDP-8 DECTAPE SUBROUTINES /"DISM“ MUST BE SEARCH - DEFINED AS AN EFFECTIVE JUMP THE TO DISMIS ROUTINE ‘ /‘ VIA PAGE ZERO /"AUTO" MUST /”MCOM" MUST V BE DEFINED As BE THE SOME AUTO ADDRESS INSTR. / BY A JMP / WHEN THE INDEX REGISTER REGISTER INDIRECTLY REFERENCED ROUTINE FINDS THE DT FLAG SET THE TAG OF wHEN THE INTERRUPT INTERRUPT ROUTINE FINDS THE ERROR / EFFECTIVE JUMP TO "MERR" MUST BE EXECUTED IEXAMPLE: / FLAG SET. AN MMSC / SKP / JMP /. I ERCO /RESPONSE TO DECTAPE ERROR MCOM /RESPONSE TO DECTAPE MT FLAG MMSF / SKP / JMP / I FLAG 0.... / ..... / .....I /MCOM: 0 /ERCO: MERR /SCAT: TAD / RAR / TAD / ION / JMP /UISM=JMP I /RESTORE LINK /RESTURE C(AC) I Z Z l /RETURN TO MAIN PROG a / SCAT /AUTO=10 /5EARCH ROUTINE FORMAT: / TAD B / JMS I /WHERE X /WHERE / /LVSR / E / /WHERE CONTAINING LVSF: LVST E=ERROR /WHERE ZZOO / MULTIPHOGRAM /SEAHCH 0R RETURN ADDRESS C=COMPLETION RETURN ADDRESS /WHERE ZZ=UVIT NUMBER (OCTAL) C / LUSH: B=BLOCK NUMBER X 15 A REGISTER AND LEAVE TAPE RETURN MOVING ' IN SEARCH REVERSE MODE 0 DCA BLKN TAD LVSR /SEAKCH LVST: DCA LVSF JMP LVSF+3 AND LEAVE TAPE 0 BOA bLKN TAD LVST DCA LVSF ' CMA DCA LUST JMP LVSF+2 STOPPED IN SEARCH FORWARD MODE /SEARCH LVSF: TAPE MOVING AND LEAVE IN SEARCH FORWARD MODE O DCA IAC BLKN DCA BACO CMA TAD DCA BACO FOCO 10F PCF TCF RRB DCF PLCF KCC MMCF TAD DCA 0N9 I MIN3 IDATA TAD 0N1 /TEMN DCA TAD DONE CN2 xsl DCA DIRC TAD BLKN /MCOM MMML SNA JMP FERR+1 IFORMAT ERROR CIA DCA BLKN TAD 0N3 DRC x7770 TAD I LVSF DCA LVSR /PICK UP ERROR LVSF /PICK UP COMPLETION UP UNIT NUMBER /PICK UP MULTI /SET UP FOR DCA ISZ /CHANCE OF COUNTER RETURN ADDRESS LVSF TAD I DCA BACK Isz LVSF TAD I DCA UNIT Isz LVSF LVSF TAD LVSF DCA DIRECTION z 1 /PICK 2-10 RETURN ADDRESS PROGRAM RETURN DISMIS INITIAL ADDRESS TURN: ISZ DRC SKP JMP FERR /BLOCK TAD CN6 DIRC /-21 TAD SNA OLA JMP MREV TAD CN7 DOA DIRC TAD SPAC DCA SCH2 TAD HLKN TAD DCA FOCO TAD UNIT TAD DIRC BE CANNOT FOUND /21 CLA /SPA DISB MMMM JMS I /WAIT MING U1 SM DATA, MMCF TAD TENN TAD DISB SZA JMP /BLOCK FOUND SCH2 TAD TEMN TAD SZA BLKN JMP TURN CLA BLOCK /OBJECT FOUVD CMA DCA DONE ISZ LVST JMP I BACK MMLM SCHB) /LEAVE /STOP I MING BACK JMS JMP I SPA CLA TAPE MOVING TAPE /WAIT /OR OLA SMA (WHEN IN REVERSE DIS M MREV: JMP TURN IREVERSE TAD 0N2 /31 DCA DIRC TAD DIKC THE TAPE DIRECTION - MMMF JMS I TAD SMAC DCA SCHB MINO TAD BLKN TAD bACO DCA DISb /WAIT ISMA'CLA DISM EKGO: /FORMAT FEKK: JMP I AND NOT LVSR FOUND /GO TO USER'S ERROR ERROR IAC IAC JMP I MIN2 /OOPS 2-H , ROUTINE DIRECTION) ICONSTANTS CNl: TEMN CN2: CNS: 0N6: 0N7: CN9: SMAC: 31 7770 7757 /-21 21 DATA SMA CLA SPAC: SPA CLA / IN TERCOMM UN 1 CATION S REGI STERS MING: WAIT MINZ: OOPS 'MIN3: MCOM /VARIABLES BLKN: BACO: FUCO: DIRC: DRC: BACK: UNIT} DISB: DONE: TENN: *LVSR+200 OOOOO /PDP-8 DECTAPE IFORMAT: / JMS / SUBROUTINES I Y / E / 2200 / N S=STARTING IWHERE E=ERROR /WHERE ADDRESS B=INITIAL BLOCK BLOCKS NUMBER RETURN ROUTINE SZA CN13 CLA JMP MENZ TAD CIA I TAD CN2O CLA SNA OOPS: RETURN MMRS AND » IIOOO MINS /MCOM TAD ERCN TAD DCA CN22 /DROR /3 HOOP MMRS DCA MRSA TAD HOOP MMLM MENZ: /WRITE STATUS /STOP TAPE WAIT JMP I JMS WAIT I MIN6 ITURN MIN? (TO SUBROUTINE W128: /SAVE JMS JMP IEHGJ WRITE ON 129 WORD BLOCKS) O CLA TAD W128 DCA MRDS TAD CN23 JMP MWRS+5 /MRD2 _ /GENERAL MWRS: WRITE R128: CORE ADDRESS ZZ=UNIT NUMBER (OCTAL) /WHERE N=NUMBER OF CONSECUTIVE HANDLING MERR: CONTAINING MRDS: Y=REGISTER /WHERE MULTI-PROGRAM lERROR WRITE /WHERE B / AND READ /WHERE 5 / - ~ SUBROUTINE O CLA TAD MWRS DCA MRDS TAD CNIB DCA CHKI+2 TAD CNIO DCA PASS+2 JMP MRDI lREAD SUBROUTINE R 128: 0 (TO /PASS /TAD PASS+3 READ 128 (6754) WORDS CLA TAD R128 DCA MRDS TAD CN23 JMP MRDS+3 IMRD2 2-13 FROM A 129 WORD BLOCK) MWRS GVBE/ ENILHOHHHS ‘SGHW 0 V13 0L) 0V1 BIND V30 8+IMHO 0V1 BINQ V30 8+SSVd ANV GU38 HLSNZW M3018 SSVd/ €+HOHG GVl/ (8LL9) dMS ‘IGBW 3V1 3V1 V30 N383 I $08M 0Vl V30 EHEH 0Vl 808W dNP MHO ‘8GHN 0V1 BHEH 0V1 SING V30 8818 0Vl I 8818 EAVS/ 09/ SNILHVLS GNIJ 3800 SSEHGGV X0018 008/ EAVS/ Hl681 3800 080M (GVHH HO V30 SHMN ‘SSVd 0V1 EHEH WWNW €+HOHGl 0V1 ‘8) ‘V) (ElIHM SNIGVBH HO SNILIHM €+SSVd WWW J V30 HOHG/ O8N3 I SNIW WOON/ V30 I 0Vl VNIW BNOG/ WSIG ‘HOHG 3SWN dVS SNHQLEH/ EHHH HELJV BHOLSHH/ H1681 3800 V13 dWP 883W J3WW 0Vl 8+IMH3 V13 0Vl €8N3 VZS 813 8-LNX3 0Vl SHMW MP d V30 I 0Vl 8818 8818 M H W '1 0V1 8818 0Vl SING V30 88IH 0V1 I 8818 V30 SHMW ZSI dOOH N310 ‘LNXE NWNN SW? lIVM VN3 dWP 8-8080 008/ GHOM ENOG ENILDOH/ lOVHlXZ SlNEWflBHV Oi ‘YHO V00 Z OLHV 0V1 I 2 010V I+IMHO V00 I GVl V00 an GNV 3l0lIlSNI M0018 HOHVES Oan XEGNI 038 XDId/ d“ 80883 BNILHOH SSEHGGV NOILOEWEQ MOId/ d0 LINN Oan MOId/ d0 HEBWHN .010V JSAW/ MOId/ an WVIlINI OLHV 8+IXHO 0V1 I V10 ‘IMHO Z 138/ 2 V00 dOOH GVL I 2 SWP I BNIW I Z JO SMOOWS M0018 HEBHHN 0 0 O dWP / ENILHOH ‘lIVM 01 WVBBOHd-ILWHW/ OLHV 8V370 1w SVWJ HELJV UVOW 0 JSWN dWP I... doww dWP I lIVM SEWEVIHVA/ ‘N083 ‘EHEH ‘AOOH ‘VSHN OO SLNVLSNO0/ ‘QINO GVl €+SSVH ‘81N0 0V1 €+HOHG ‘SIND ‘SINO 0001 ‘81N0 ‘08N0 008 SSVd 8080 ‘88N0 8 '88N0 ZGHW N011VOIM1WW00831NI/ ‘VNIW BNOG ‘SNIN NOON ‘9NIW N801 ‘LNIW 0083 ‘BNIw JSAW 383191938 003+HHEN=I= Sl‘Z SGNVWW00 HlIM NIVW WVEQOHd CHAPTER PDP—8 3 LIBRARY SYSTEM DESCRIPTION Library System (or Skeleton System) The Library System was developed with several A collection of five programs stored on DECtape. design criteria in mind. These programs provide for the loading of named First and perhaps fore- files into core memory, for the definition ofnew most, the system should leave the state of the it named files, for the deletion of named files, should be capable of calling programs by name and for the creation of a new Library System from the keyboard and allowing for expansion The Library System is loaded by the System of the program file stored on the tape. Loader. computer unchanged when it exits. Second, Finally, it should conform to existing system conventions; . Library namely, that all of memory except for the last memory page — the programmer. so The sum of user-defined named files and the (76008 77778) be available to Library System This convention was established . System Exit that the Binary Loader (paper tape) and/or future versions of this loader could reside in When the Library System has loaded a named memory at all times. file into care memory, it restores all of memory that it occupied and it restores the System Loader With these ideas in mind, the PDP-8 DECtape Library System a l7 IO . Binary Loader to their normal locations. This is called System Exit. Directory This loader calls a larger program into last8memory serve on - developed. and the It is loaded by instruction bootstrap routine that starts at 7600 the was This is part of the Library System. page whose function is to pre- tape the contents of memory from the names of files on the library tape and all in— (>0008 formation that is required by the Library System 75778, and then load the INDEX program and the directory into those some locations. Since the information in this area of memory has been to load a named file, to add new named files to the library. have been completed. Library System. Named File This is a binary entity defined by the user. tiguous named file, or The Library System may then load a named file or perform some other operation. It The System Loader is initially loaded the LOAD ADDRESS key, the starting address, and one memory pages which need not be con- or more a This is a short "bootstrap" program that loads the DEFINITIONS a to delete System Loader preserved, it can be restored when operations consists of a name, It contains ' the swrtch register. upon system exit. . 3- 1 :with _ DEPOSIT key, and It is automatically restored The System Loader is as follows: *7600 7600/ 7601/ 7602/ 7603/ 7604/ 7605/ 7606/ 7607/ 7610/ 7611/ TAD REVC 1223 - 6757 MMLM MMLF MMLS 4216 JMS WAIT JMS WAIT 4216 TAD FRCN MMLM MMLF 1224 6756 4216 6766 JMS WAIT TAD ADRN MMML 4216 JMS WAIT 1225 /THE SYSTEM GENERATES /COD|NG HERE ON RETURN ' WAIT, 0 7617/ 7620/ 7621/ 7622/ 7623/ 7624/ 7625/ 6761 MMSF 5217 JMP .-1 MMCF JMP I WAIT 6772 5616 REVC, 1030 FRCN, 0022 ADRN, 7600 1030 0022 7600 the name, USAGE 1. The Library System tape always contains five permanent names which comprise The System Loader (assumed to be the actual system. in core memory) is started at address 76008 3. DEX, ESCAPE, UPDATE, DELETE, and GETSYS. Their functions are as follows: The Library System automatically Index It is waiting for the operator to type a name INDEX causes the names of all files on the library .. (up to six characters) on the ASR 33 Teletype. . These names are IN- . loads itself into core memory. now question mark will be typed and the line is ignored. The library tape is placed on Unit 8 with the WRITE switch UP. 2. a tape to be typed out on the console teleprinter. This name must be termin- ated by a carriage return. The Library Escape System searches the directory for this name. If it is found, the file of that name is loaded into core memory, the ESCAPE causes the Library System to exit: that is, it restores all of core memory that it has used and restores the System Loader and the BIN system exits, and control transfers to the starting address of the file. Loader to their normal locations. If the name then halts at location typed by the operator is not found or if , the operator has not correctly BIN Loader. terminated 3—2 The computer 77008, the HLT in the ' DATE program to ignore anything previously Update typed on the line and UPDATE will retype the UPDATE is the name of a permanent system program. question. It allows the user to add files to the li- Page Locations When it is called, it types questions brary tape. for the operator to answer. It assumes that the file to be added to the library tape memory before the system was was loaded. The Library System loads files by memory pages in core and UPDATE is now requesting this information. The Information is provided to UPDATE in either of PDP—8 Library System stores files in blocks of two forms: 02008 12—bit words, i.e., on one memory page. <xxxx> which means the single page which the octal address xxxx falls or <xxxx, UPDATE requires information concerning the lo- xxxx> which cations of these blocks in memory, the starting address through (inclusively) the page on which address of the file, and the name to be given the second address falls. to It will type: the file. UPDATE accepts in— Spaces, tabs, carriage returns, and line feeds are ignored outside of location ele— Name of Program: types a name lowing limits, 1-2354, 4600-7577, 2400-2577, UPDATE would be told: <0, 2200> <2400> A rubout causes anything typed to be ignored, and UPDATE retypes the line. For example, if a program had the fol— ments. that contains, at most, six characters terminated by a carriage return. are the page on which the first formation of this type until a semicolon (;) is received. The operator means <4600, 7577>. All characters legal except@,T, tab, form feed, and line feed. NOTE: When this line has been answered by the operator, UPDATE will type: alent. as: SA (Octal) The numbers must be in se- quence and any numbers lying within the same page are considered equiv- It could have been presented <177, 2377> <2577> <4777, 7-400>, etc. : The operator types an octal address delimited by a carriage return. If the operator has made a typing error, UPDATE This is the location to which control transfers when this file is loaded. If the file being updated does not have a proper start- will retype the entire question. the entire line to be ignored. ing address (for example, the floating-point package), When the new file has been added to the library, the operator may specify that the starting address is 7600 control transfers to the file-loading program with the starting address the directory in memory. 8' Loader, or he may specify that ._ of the System the starting address is Loader. A rubout causes 77008, the HLT in the BIN If UPDATE finds that a file has A rubout typed here will cause the UP- already been de— fined with this name, it will type an error mes- 3—3 sage and return to the file-loading program from unit, it expects the WRITE switch to be in the which UPDATE may be recalled. UP position, and that the tape has been prerecorded to the following specifications: 201 12-bit words per block Delete DELETE is the name of a permanent system pro— It removes any user-defined file from gram. the library tape. program. It will not delete a system When DELETE is called, it types: NAME OF FILE TO BE DELETED: types a name (up to six by a carriage return. The operator block numbers 0000. 27008 8 blocks including (This is done with DEC- TOG.) When the. new Library System has been created, control transfers to the file-loading pragram with the directory in memory. A sample of system usage is as follows: characters) terminated 1. A rubout causes anything Load FORTRAN Compiler with Binary Loader. typed to be ignored and the entire line is re- typed. When the name of the file to be deleted 2. has been entered, DELETE tries to find it in the directory. program, case, message is typed. In either control returns to the file-loading program with the directory in memory. C(SR)=76008. (System Loader in core, Library System on unit 8, WRITE switch UP) If it is not found or if it is a system an error Set 3. Press LOAD ADDRESS. 4. Press START. 5. (Everything underlined is typed by If the name is found, DELETE will go through a series of operations to removeit from the directory and the library tape. Thus, all space is recovered. the Library System.) When the deletion has been completed, control transfers to the file—loading program with the directory in memory USER TYPES THIS, SYSTEM WILL TYPE: INDEX) . ESCAPE UPDATE Getsys DELETE GETSYS is the last of the permanent system pro- GETSYS grams. new It creates, on a specified tape unit, a Library System tape consisting of the loaders and the system programs. When GETSYS'is called, it will type: SKELETON TAPE WILL BE ODTLO THIS ISODT EDIT33 TAPE EDITOR _P_A|_._l_| PAL ASSEMBLER UPDATE CREATED ON UNIT#. ) USER TYPES THIS PROGRAM NAME : It now expects a single digit from I to 7 termin- SA (OCTAL) : ated by a carriage return. PAGE LOCATIONS: On that DECtape 1200-1760 A FRTRAN) ) 200 <0, 7400>; Thus, there is space for almost 50 INDEX) locations. ESCAPE names UPDATE whether or not the directory is full 'and if so, it DELETE will type a message. GETSYS blocks of DECtape, which is more than adequate ODTLO considering the limitations on the directory size. EDlT33 The amount of time required to load a file from _P_AI__I_I_ tape into core memory is a function of the file in the directory. UPDATE will determife ._ FRTRAN ,_ DELETE) § NAME OF FILE TO BE DELETED: ODL a NAME OF FILE TO BE DELETED: ODTLO) location of the tape. There are 26408 usable If the file is near the be- ginning, loading time will be about 8 seconds. . UPDATE time requires 30 to 45 seconds. DELETE time varies too much to make an estimate pos- lNDEX) sible; it may take as long as several minutes. ESCAPE GETSYS requires approximately 30 seconds. UPDATE ‘ DELETE ERROR HALTS -————GETSYS The system has one DECtape error halt at loca- EDIT33 tion w 76708. The accumulator will contain the contents of the status register m Handbook, page 90). ESCAPE) at Computer halts at location 77478. DIRECTORY SIZE The directory contains 348 IO usable locations, with each entry requiring a minimum of seven this point. (see PDP—8 Users' No recovery is possible Any attempt to restart may result in the destruction of the library tape. m0<m0._.m An_<<< of. >65: Emtxm m_ “6350th 3 330:8 v_oo_m oZ COIUCD; . 0.0533 wk Annulooon m>om flap—coo mo Ou—NMV'LO‘ONO A 310000 kn m>om flcoEoo mo unmouoomo m>om £52.00 ”*0 mnmoloowo w>om flcflcoo we uncoloooo 028 mEoEou m0 023 flcmEoo .._o NNFKIOOON 023 £52.30 we unmNIoovn numnuoomn .6300.— .25 Em 5—900.— N_ EotxmlEBmm x3395 x3325 _m 5 >552 nunoloooo _v NNFNIOOON _o mc%oo._|m:u_ 5050.5 mam—uofllozn. 8030i mc_voo._|m:u_ thmoi _n $4.95 mn—oloooo 0N m._.<on_3 unwelcome FN m._.<n_n_3 unmoloovo mm m._.<on_3 Annelooco mm m:.<n_n_3 RNFNIOOON VN m._.<n_n_3 nnmnuoomn mm m:.<n_n_3 numnuoovn «N whim—Q unnoloooo km m._.m_._m_n_ “NFNIooon on Emdo mnmnnoomn 5 whim—o numnuoovn mm mEO m> nn_oloooo mm WED m> unmoloomo Em m>m$0 mnmoloovo mm m._.m_0 m> mnmoloooo on mEO m> nn—NIooon mm m>mE0 mnmnloomn m>m._.m0 nnmnnoovn _ _ 2 unwelcome nnmoloovo nnmnloomn mummioovn APPENDIX DECTAPE TRANSPORT SPECIAL FEATURES CONTROL — lnsures transfer reliability, reduces problem of skew in bidirectional operation. Each tape track is redundantly paired with a second, nonadiacent track. Use Its simplicity of mechan- of phase (rather than amplitude) recording greatly ical design, coupled with an ingenious tape for— mat and AND Redundant, Phase Recording DECtape represents a significant new concept in magnetic tape systems. 1 reduces drop-outs due to variations in amplitude . unusual method of recording, bring to industry a fast, convenient, reliable, low cost Prerecorded Timing and Mark Tracks Simplify Relieve the programming. programmer of the — in-out data storage facility and updating device. responsibility of furnishing timing or counting Special features include: instructions and permit block and word address- ability. Fixed-Position Addressing - Permits selective updating of tape information as in magnetic disk or Pretested Subroutines Units as small as a drum storage devices. single computer word may be stored or recorded on tape without disturbing adjacent information Data blocks are numbered and completely addressable. Inter-record gaps are eliminated thereby increasing tape storage capacity. - Are available for infor- mation storage and retrieval, maintenance, and diagnostic tests. . DE CTAPE F OR MAT DECtape utilizes a lO-track recording head to Automatic Word Transfers - read and write five duplexed channels. Use the PDP—8 data break facility to allow concurrent information of these track pairs are available for data; the processing and data acquisition during block two remaining pairs are used for transfers. information Simple Transport Mechanism - Three Reduces mainte- . timing and mark Duplication of each track by non- adiacent read/write heads wired in series elim- requirements, improves reliability. DECtape's simple drive system requires no capstans, no pressure pad, and no mechanical buffering; nance inates most drop-outs due to noise and dust and minimizes the effect of skew (see Figure therefore tape and head wear is minimal. T). Key to the system is DECtape's mark channel Pocket-Size Reels Handy to carry, easy to load. Each 3-172 inch reel holds up to 3 million bits, the equivalent of 4000 feet of paper tape, assuming 6-bit words are used - which is used to raise flags, create data breaks, detect block mark numbers and block ends, and . protect control portions of the tape. Bidirectional Operation access to stored Saves time, provides information; reading, writing, - In addition, the mark channel provides DECtape with auto- easy and searching may be conducted in either direc— matic bidirectional tion blocks, and end of tape sensing (Figure 2). ' . Ai-i compatibility, variable length written on any of DEC's Information is stored on tape in block form (Figure 3). Block length is flexible and deter- mined by information on the mark channel. 12-, 18-, or 36-bit Data words contain stored informa— computers. tion and occupy four lines on tape (12 bits). A To complete reel of tape, 849,036 lines, can be maintain compatibility with the mark channel divided into any number of blocks up to 4096. format, data words are recorded in lZ-line seg- Usually, a uniform block length is established ments 6-line marks and 4-line data words) which cor- the entire length of a reel of tape by a over respond to three 12-bit data words. program which writes mark and timing information at specific locations. to write variable-length (12 being the lowest common multiple of However, the ability blocks is useful for cer- Block numbers normally occur in sequence from There is one block numbered 0 and one tain data formats, for example, where small I to N. blocks containing index or tag information need block N + l to be alternated with large blocks of data. Each Programs are entered with a state- . the first block number to be used and the ment of block contains two types of words which are as- total number of blocks to be read or written. sembled by the Type 552 Control. These are The maximum number of blocks is determined by data and control words (Figure 4). Since DEC- the following equation in which tape has no inter-record gaps, the data portions number of blocks, and of adiacent blocks are separated by control per block. words. number of words (NW must be divisible by 3). . NB They provide compatibility between DECtape MARK = decimal Control words occupy six lines* and are used to record address and checking information TIMING NW = NB TRACK =£Nl§% - 2 I TRACKI I I I o o 0 I o o I I I o o o | I I o I I O I 0 l | o I o I I I I I o I o I I INFORMATION TRACK INFORMATION TRACK 2 0 I 0 I 0 I I 0 o o o I I I o I I I o INFORMATION TRACK I o I 0 I o I I o I I o I o I I o o I II . I o . o . I o I o I I I I I o I o . II . o . II . . o o o o I I I o I I I o I o I o I o I II . I 0 0 O | ' I O 0 0 | o o I I I o o o I I I 3 —_ 12:35:33.3)...” :zzzzzrzrznmw :"szzitrnrzfimw MARK TRACK IA (Sam: as MT I) TIMING TRACK IA (Some as TT I) Figure AI-i Track Allocation Showing Redundantly Paired Tracks *As used on the PDP-8, only the last four lines of each control word are used. M- Fermi! macho" of lava (“MIMI I‘ ONE amcx as” Ia-an —‘ wono LOCAYIONS I | I | | I | I29“, -N Exzmsmu amcx nuns mono LOCATIONS | I |EXPAND amen REVERSE PEnuIrs Iz-aIT mu IconE MARK GUARD E M -6 E REVERSE REVERSE anCx REVERSE PRE‘ LOCK suu FINAL FINAL -C L II mu mu Mn on: FINAL mm. ,-P D D D D D D P F T T I I T I T T T D. D: D. T D: 0: DIzs DIII l"In DIn DI” amcx mEcx REVERSE LOCK sumo sun PRE~ nan -F I or : REVERSE C COOEI -M 6 -L Exnnnl MARK N E E PERMITS -G EXPANSION or amen Nuuun SIGNIEIES START OF BLOCK AND ALLOWS COMPUTER PROGRAM TO BLOCK NUMBER AS REVERSE DIRECTION IDENTIEV BLOCKS SAME PROVIDES WRITE PROTECTION IN REVERSE DIRECTION FUNCTION AS REVERSE LOCK AND SYMMETRY PROTECTS TAPE IN EVENT OF MARK CHANNEL ERRORS NOT USED IN FOR-5 CONFIGURATIONS OUT RROVIDED TO ALLOW COMPATIBILITY WITN OTHER CONFUYERS PROVIDES AUTOMATIC ERROR DETECTION AND END OF BLOCK DETECTION WHEN READING PROVIDES SVMNETRICAL ERROR PROTECTION IN IDENTIFIES BOTN DIRECTIONS SAME AS FINAL FINAL DAYA WORD AND REQUESTS IN REVERSE DIRECTION NOT (FIRST DATA WORD) SAME AS PRE-FINAL IN REVERSE PROVIDED TO ALLOW TARE COMPATIBILITV WITN OTNER SYSTEMS USED BUT DIRECTION (SECOND DATA WORD) ADDITIONAL SUCCESSIVE DATA WORDS NOTE- END MARKS OF THE WHICH IDENTIFY TAPE, ARE THE Coda Ounchonl III'I‘ apply only PNVSICAL ENDS SHOWN "M aIIoEIIoII "lemma m DECIape Mark Channel Format Figure AI-2 (4 THE ONLY MARKS NOT DATA WORDS ONE COMPLETE REEL 260 FT - 4096 BLOCKS | mxlwummxmmmxmmmmmmmmxmx-mm at A ONE -—————--—-—-—- END ZONE BLOCK. 86 IB-BIT WORD LOCATIONS ——-—.I TIMINGTRACK MARKTRACK § , u u u lulu u mNTROL WORDS Lino | 2 (inc ‘ Lino 4 Lino 5 In In In u u Emu ,.\ \ comm. woaus I29") DATA woao LOCATIONS _..‘ $5 Control and Data Word Assignments Figure AI-3 Linc Niki” lulu ssisshgssss'fisfi-s 1535335 ‘\ ( DATA WORDS Lin- Lino Linn Linc LIM Linn 6 I 2 3 4 5 Linn 6 Lin- Lino z | LInn Linc LInc Una Linn Linn Linc 3 4 I 2 3 4 I I 1' MARK UM 2 Lino Lino 4 TRACK MARK TRACK ‘ I'M“! TRACK WI 6 II": III I! -| 01’ I INFORMATION ' . III TRACKS TIMING EEEEESEEH E E E E E I SNEE 'ESI-‘ES 5 H E 5 3 IE‘EESEEEE Iii; is g 53333533: Nightlight5335 s‘Hsg ATION \ \ \ Z \‘ § § \ I 2 comm man "I 0| a| 1| I I I TRACKS 3 6 Iinu (I8 bils) —. ‘— 6 linls Figure AI-4 u _ 0I I '-| | II CI 9' 1] I II mono v| 4 I can m I'II 3| 6 "MI 0| II . s| I I (I8 bin) ‘ IN; TRACK - Iinos ((2 bin) I 4 I. TRACK lon‘ 6 II»: u In | I 3| 1 l arm '| wono V. °I DATA 'II.' 0| II II II I I II | I lines (I2 bin) 4 I I Iinu (l2 hm) Basic Tape Unifs--Dafa and Control Words AI-3 “52”“.2: NOT snow” Write Register FUNCTIONAL UNITS The basic functional elements of the 522 Control A 3-bit register which is alternately loaded from I and the 555 Transport are shown in the block dia- the R/WB and complemented to write the phase— gram as they interface with the PDP~8. coded information on tape. Themain functional elements of the system follow: Select Register Data Buffer (DB) This 4-bit register is loaded under program control to specify the tape drive selected for oper- This 12-bit register serves as a storage buffer for data to be transferred between ation from the control unit. DECtape" and the computer memory buffer register. A single Type 522 DECtape Control can select the drives of four During a read loperation, information sensed from the tape is Type 555 Dual DECtape Transports (eight tape transferred into the DB from the read/write buf- drives). fer and is transferred to the computer during a During a write operation, the data break cycle. Motion Register DB receives information from the computer and This 2-bit register contains a go/stop flip-flop transfers it to the read/write buffer for disas- sembly and recording on tape. and a forward/reverse flip-flop which control In this manner, the motion of the selected tape drive. the DB synchronizes data transfers by allowing The register is set under program control. transfers between itself and the read/write buffer as a function of the tape timing. Longitudinal Parity Buffer (LPB) This 6-bit register performs a parity check of Read/Write Buffer (R/WB) the information in the three information chanThis l2-bit register is composed of three 4-bit shift registers. nels. During reading, one bit from of binary zeros in each half of a 12-bit data each information channel is read into a separate segment of the R/WB and shifted as a right or word and forms a parity bit to be recorded in left the checksum control word at the end of the function of the direction of tape movement. data block. When four tape positions have been read, the content of the tions into the LPB and then complementing During writ- a bit of the LPB if the corresponding bit of the R/WB ing, the content of each segment of the R/WB contains a 0. is shifted serially to the write register (one bit After reading a block'of data, the LPB holds a number which indicates the from each of the three segments of the R/WB is parity of bits 0 and 6, l and 7, etc. transferred into the write register at a time to provide the data to be written at one line) for recording on tape This is effected by setting the in- formation read from two consecutive tape posi- R/WB is set into the DB as an assembled 12-bit computer word. The check essentially reads the number . Al—4 Al in the LPB at this time indicates odd parity and a 0 in- dicates even parity. Device Selector (DS) This information is com- The device selector is a gating circuit which pared with the data stored in the checksum produces the lOT pulses necessary to initiate control word during reading and is used to generate the checksum ~ during writing. operation of the DECtape system and strobe in- If the data formation into the computer. read is not equal to the checksum, the parity or mark channel error flip-flop is set to l . DE Ctape Flag (DT) This flip—flop serves as an indicator of DECtape system operation to the computer and is con— Memory Address Counter (MAC) This 12-bit register specifies an address in com- nected to the computer program ity. The function of the DT flag is determined puter core memory to be used for each word transfer. by the control mode in operation at the time, During program initialization, the as starting address of a transfer is set into MAC from the computer accumulator. During the transfer, fol lows: T. the address contained in MAC is transferred into read to indicate the beginning of a new The contents of MAC is incremented block and to allow programmed determin- by one at the conclusion of each word transfer so In the search mode, the DT flag rises each time a block mark (block number) is the computer memory address register for each data word. ation of the block number which that transfers occur between successive ad- dresses of computer core memory and tape, interrupt facil- ' just passed the read/write head. re— gardless of tape direction. 2. In the read data or write modes, the DT flag rises at the end of each block to indicate the end of a data block. Under these conditions, the computer Window (W) program can sense for this flag to de- This 9-bit register serves as a control signal generator for the DECtape system. termine when the transfer is complete. The mark channel data is stored in the W and control signals are 3.”ln the read all bits or write all bits generated as a function of the mode of operation modes, the DT flag rises to indicate in progress and the contents of the W. completion of each 12-bit word trans- For ex- ample, in the search mode when the W detects a fer. in these modes, this flag block mark, control signals are generated to raise the sence Since block marks are not observed can be used by the computer program to count the DECtape (DT) flag to indicate the pre— number of words transferred as a means of a block number in the DB and signals of determining tape location. the start of data block to the computer. Ai-5 DATA IN TRANSFER MEMORY BUFFER REGISTER REflD /WRITE BUFFER 4 ‘4’ DATA BUFFER u 2, WRITE REGISTER RE A0 REGISTER 4 (4) DEVICE SELECTOR IOP PULSES .01- 9 ULSES (9) ‘3) 2-5 AC “C I sELEcT REGISTER 4 7-3 ”no" REGISTER 2 ACCUMULATOR 9‘” IlghTIléSs ‘2 I l 05°00“ SELECT CODE FUNCTION REGISTER 3 (12) I LONGITUDINAL PARIT Y Bu F E R V l INST SKIP FACILITY l: MARK MOTION CONTROL TRACK ”ODE DECOOER (MOVE,SEARCH,READ DATA, READ ALL BITS.WRITE DATA. wRITE ALL aITs.wRITE MARK °°NTR°L . MEMORY 28325:: "ml INCREMENT MAC ———l 12 LERROR J - FLAG L REOUEST INTERRUPT REOUEST PROGRAM INTERRUPT l BE] TIMING TRACK TRANSFER ”mm" DREAR 6 ‘ . ADDRESS ACCEPTED DATA 3““ um SELECT STOP/Go AND FWD/ REV AND TIMING) TRANSFER ADDRESS 12 ‘0 [ _ (I2) 283%: ] . _ REGISTER 5 TO ACCUMULATOR AND To VARIOUS ELEMENTS OF THE 552 CONTROL STATUS REGISTER; (DT FLAG. ERROR FLAG.END. TIMING ERROR REVERSE TAPE DIRECTION GO.PARITY OR MARK TRACK ERROR SELECT ERROR) 0.7 Ac ‘ TIMING AND MARK (‘ 2) ‘0 HEADS READ VOLTAGE l________ ”es-e GEngATOR 3 READ AMPLIFIERS ' A 12 wRITE CURRENT WRITE AMPLIFIERS 5 READ/WRITE I 4 _.. (4) 3 DATA FLAG I l l DECTAPE FLAG I ml l [V W l SKIP GATES 'T TYPE ‘- PDP-sxe *7: TYPE :52 DECTAPE CONTROL x sss 03%;: ——5 TRANSPORT Figure Al-5 DECtape System Block Diagram and PDP-8 Interface legitimate signal used to indicate Error Flag the end of a normal operation This flag is raised by four error conditions. When (such as rewind) if it is anticipated by the program. If the the flag rises, it Initiates a program interrupt to transport is not selected when the tape enters the end zone, this signal is not given, tape allow the computer interru'pt subroutine to determine the condition of the 552 Control by means of a read status command. motion is not stopped automatic- The four error con- ally, and the tape can run off the end of the reel. ditions indicated are: End The tape of the selected transport is in the end zone and tape Timing Error motion is stopped automatically. Under these conditions, end is an error if it is not expected by The program was not able to keep pace with the tape transfer rate or a new motion or select command was issued before the previous command was completely the program in process or is a executed. Ai-6 Parity or Mark Track Error Indicates that during the course mately 33-1/3 microseconds. of the previous block transfer a writing occurs in the two redundant mark and data parity error was detected or one or more picked up or bits have been dropped out timing channels from . DE CTAPE CONTROL 552 either the timing track or the mark track. SelectError Simultaneous The Type 552 DECtape Control operates up to DECtape Transports (8 drives). Signifies that a tape transport four Type 555 Dual unit select error has occurred Binary information is transferred between the such that more than one trans- port in the system have been as- tape and the computer in l2-bit computer words signed the same select code or that no transport has been assigned the programmed select code. approximately every 133-1/3 microseconds. ln writing, the control disassembles l2-bit computer .words so that they are written at four successive Therefore, a select error indicates an error by lines on tape. Transfers between the computer the operator, and the control always occur in parallel for a a timing erroriis a program error, and a parity or mark track error indicates an 12—bit word. equipment malfunction. (high-speed channel) facility of the computer. Under certain condi- Data transfers use the data break tions, the end may also be an indication of As the start and end of each block are detected equipment malfunction by the mark track detection circuits, the con- . Data trol raises a DECtape (DT) flag which causes a Flag computer program interrupt. The program inter- This flag is raised each time the DECtape system rupt is used by the computer program to determine is ready to transfer a 12—bit word with the com- the block number. puter. When it determines that the forthcoming block is the one selected for a data When raised, the flag produces a com- puter data break. transfer, it selects the read or Write control mode. Each time a word is assembled or DECtape is ready to receive a word from DECTAPE DUAL TRANSPORT 555 raises a data flag. The Type 555 Dual DECtape Transport consists of two the control This flag is connected to the computer data break facility to signify a break logically independent tape drives capable request. of handling 3.5-inch reels of 0.75-inch magnetic tape. the computer, Therefore, when each 12-bit computer word is assembled, the data flag causes a data Bits are recorded at a density of 350i55 break and initiates a transfer. By using the mark bits per track inch at a speed of over 80 inches channel decoding circuits and data break facility per second on the 260-foot length reel. in this manner, Each line on the tape is read or written in approxi- computation in the main com- puter program can continue during tape operations. Al—7 TABLE AI-I Octal Mnemonic DECTAPE INSTRUCTION LIST Operation Mnemonic Octal MMLC 6764 Operation g I MMLS Load unit select register 6751 tents ofAC 0-H and then 2—5 and clear DECtape clear the AC (DT) flag. automatically set approx— imately 70 msec after DT flag is MMML 6766 6752 677I Skip if error flag is a I the contents of AC 7-8 MMCF 6772 Clear error flag and DT flag. and clear DT flag. MMRS 6774 DT the contents of AC 9-] I, then clear the AC. The octal code of these three bits establishes the following DECtape control modes: = I = 2 = 3 = Move Search ACO = ACl = AC2 = AC3 AC4 = = Write data AC5 = 5 = Write all AC6 = bits 6 = End (Selected tape point) Timing error Reverse tape direction = Read all DT flag Error flag at end 4 Read data Read status bits into the The bit assignments are: Load function register from 0 . contents of AC 0-7. after this IOT. 6754 Clear and load MAC from the contents of AC 0-H and MMSC Load motion register from flag is automatically set approximately 70 msec MMLF (I '5 transfer). then clear the AC. this IOT. MMLM Load MAC from the con- from the contents of AC Go Parity or mark channel error Write mark AC7 = Select error and timing bits 676I MMSF MMCC ' Skip if DT flag is a I. Clear memory address 6762 counter (MAC). CONTROL MODES a block mark causes both the data flag and the The seven modes of operation loaded into the DECtape (DT) flag to rise. The data flag causes function register during the MMLF command are a used as follows: ber in core memory at the address held in MAC. Move The DT flag initiates a program interrupt Initiates movement of the selected transport tape in either direction. computer data break to deposit the block num- cause Mark channel errors are to the program to iump to a subroutine which is responsible for checking the block numbers by inhibited in this mode. using either the block number stored during this Search operation or by counting the number of times the DT flag rises. As the tape is moved in either direction, sensing AI-8 Read Data Write Mark and Timing A block of data is read in either direction, the This mode is used to write on the timing and mark data flag rises to cause a data break each time channels to establish or change block length. a 12-bit word is to be transferred, and the DT flag is raised to initiate a program interrupt at the end of the data block. PROGRAMMED OPERATION The program is re- sponsible for controlling tape motion at the end Prerecording of a reel of DECtape, prior to its use of a block transfer and must stop motion or change for data storage, is accomplished in two passes. the contents of the function register when the During the first pass, the timing and mark chan- DT flag rises. nels are placed on the tape. The transport continues reading until taken out of the read data mode. pass, forward and reverse black mark numbers, the standard data pattern, and the automatic parity Read All Bits checks are written. In this mode of operation, the three information the write timing and mark channel control mode This mode is similar to the and a manual switch in the control which permits read data made except that the DT flag rises each time the data flag rises. writing on the timing and mark channels, activates The read all bits a mode is used to read an unusual tape format which is not compatible with the read data made. clock which produces the timing channel record- ing pattern, and enables flags for program control. The Unless both this control mode and switch are used DT flag does not cause an interrupt when‘in this mode These functions are performed by the DECTOG program. Prerecording utilizes channels are continuously read and transferred to the computer. During the second simultaneously, it is physically. impossible to write . on the mark or timing channels. A red indicator lights on all transports associated With the control Write Data when the manual switch is in the ON position. A block of data is written on tape in either di- Under these conditions only, the write register rection, the data flag is raised to effect each and write amplifier used to write on information transfer, and the DT flag is raised at the end of channel 1 (bits 0, 3, 6, and 9) is used to write the block as in the read data mode. on the mark channel. Write All Bits Two PDP-8 IOT microinstructions initiate opera- “This special mode of operation is used to write information at all positions, tion of the DECtape system: disregarding blocks loads the select register, motion register, and (such as in writing block numbers). The mode function register by means of instruction 6757 is similar to the read all bits mode for writing. (combining MMLS, MMLM, and MMLF) and the The DT flag does not cause an interrupt in this mode the first, MMMM, second command, MMML (6766, combining . MMCC and MMLC), loads the MAC with the core Al-9 memory address to be used to store the block ready to transfer a 12-bit word. Therefore, the number during searching. After initiating oper- main computer program continues running but is ation of the DECtape system, the program should interrupted approximately every l33-l/3 micro- always check for errors immediately by means seconds during a data break for the transfer of a of the MMSC instruction. word. This instruction should Transfers occur between'DECtape and also be used at the conclusion of each transfer. successive core memory locations, A program should always start the DECtape sys- at the address tem in ber the search mode to locate the block num- selected for a commencing previously set into MAC. The number of words transferred is determined by the size of the selected tape block. transfer, then when the block At the number has been located, the transfer is accom- conclusion of the block transfer, the DT flag is plished by loading the function register with the raised and a program interrupt occurs. read data or write data made. terrupt subroutine checks the DECtape error flag The in- to determine the validity of the transfer and In searching, each block number is read by the either initiates a search for the next information transport and is transferred to the control. to The be transferred or returns to the main program. control raises the DT flag upon receipt of each block number and stores the number in the com- During all normal writing transfers, a checksum puter core memory at the address contained in (the 6-bit exclusive OR of—fhe words in the data The computer program then samples the block) is computed automatically by the control DT flag and either counts the number of blocks and is automatically recorded as one of the con- passed or reads the block number from core mem— trol words immediately following the data portion ory and compares it with the number it is seeking. of the block. The results of the data obtained in this way are reading to determine that the data playback and used to further control the search operation. recognition takes place without error. MAC. This same checksum is used during Upon determining that the forthcoming block is the one selected for adata transfer, the program Any one of the eight tape drives may be selected loads the function register with either the read for use by the program. data or write data mode. drive, the program can stop the drive currently Entering another mode discontinues the search mode. After using a particular being used and select a new drive, or can select The starting ad- dress to be used for the first core memory address another drive while permitting the original se— of the transfer is then set into the MAC by the lection to continue running. computer. larly useful feature when rapid searching is This is a particu- desired, since several transports may be used When the start of the data position of the block simultaneously. is detected, the data flag is raised to initiate a ever, for although the earlier drive continues data break each time the DECtape system is to run, Al—lO‘ no Caution must be exercised how- tape end detection or other sensing takes place. Automatic end sensing that Stops Transfer Rate tape motion occurs in allmodes‘, but only in every 33-l/3 psec Whenever either the motion or select code is 2. changed,the program must wait until the DT flag is set to l before giving another motion or selection command. a or . A l2-bit word is read and assembled disassembled and written in I33—I/3 - psec . In other words, to prevent timing error, all operations of the currently 3. selected drive must be completed before issuing a new One tape line is ready or written I. the selected tape drive. In reverse direction, the transfer rate varies by 20% as the effective reel select code. diameter changes SPECIFICATIONS 4. . Transfers require 4.5% of PDP-5 cycles after the initial 200-msec start Functional Specifications time . Capacity 5. I. 260 feet of 0.75 inch, I .0 Mylar cycles after the initial 200-msec start I tape per 3.5 inch reel. time 2. 350 :I: 55 lines per inch 3. 849,036 usable lines per tape. 4. 60 lines 5. 4096 is the maximum number of . . Addressing 'per control zone. I . Mark and timing channels allow searching for a particular block. addressable blocks per reel. 2. 6. Transfers require l .2% of PDP-8 The number of words in a block must Start time is <300 msec, stop time is <l50 msec, turn—around time is <300 be divisible by 3. msec 7. N :212,112 -—-—-— B 3. _ NW+I5 . Start and stop distances are ap— proximately 8 inches NB decimal number of blocks NW number of words per block . = 4. = 8. When a command to reverse direction is issued at a given tape location, the Capacity for I90, 000 I2-bitwords system is up to speed when that same location passes the head after turn around. in blocks of l29 words. AI-II . Physical Specifications 2. ' 555 Transport 1 . Power Requirements — l l5v, 60 cycles, The Type 728 Power Supply is in- 4 amp. cluded with the Type 552 Control. Rack—Mounted Size - 10-1/2 inches high; 19 inches wide. 2. Table Model Size — Cabinet H-H/i'é inches high; 20 inches wide; 15-1/4 inches deep. A maximum of one Type 552 Control and three Type 555 Transports can be installed in a stan- 3. Rack-Mounted Weight 4. Table Model Weight --80 lbs. — 65 lbs. dard DEC computer cabinet. Specifications for this configuration including appropriate power control and power supplies are: 5. Power Requirements -115v, 60 cycles at 1.5 amp idle, and 3.2 amp maximum. l. Size — 69-l/8 inches high; 22—1/4 inches wide; 27-l/16 inches deep. Min552 Control l. Size imum clearances for door openings are — 8-3/4 inches at the front; l4-7/8 inches 21 inches high and 19 inches at the wide for a control which operates four Type 555 Dual Transports. (Requires back. 555 lbs. 2. Weight three standard 50-terminal interface 3. Power Requirements connectors .) source - three module mounting panels plus Al-12 — 115v, 60 cycle capable of delivering 20 amp. Eflfifllfifl EQ U I P M E N T CORPORATION MAYNARD. MAS SAC H U S ETTS 5608 Printed in U.S.A. _ 10 - 5/66
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies