SDSS=6771 SDST=6772 SDSQ=6773 SDLC=6774 SDLD=6775 SDRC=6776 SDRD=6777 CAF=6007 *17 AUTO, 0 OUT, 0 IN, 0 CNTR1, 0 CNTR2, 0 GOOD, 0 HEAD1, 0 HEAD2, 0 BLK, 0 FILPNT, 0 TYPE, 0000 TLS TSF JMP .-1 TCF CLA JMP I TYPE CRLF, 0 TAD [215 JMS TYPE TAD [212 JMS TYPE JMP I CRLF LOOP1, 0 LAS RAL SMA CLA ISZ LOOP1 JMP I LOOP1 M10, -10 BLKTRY, 0 DISBL, 0 DISDA, 0 BLKCN, 0 BLKREV, 0 TAD [3000 TAD UNIT IOT172, SDLC JMS RDQUAD JMS RDQUAD JMP I BLKREV BLKEND, 0 IOT173, SDSS JMP .-1 IOT174, SDRC AND [77 TAD [-22 SZA CLA JMP .-6 JMP I BLKEND BLKSER, 0 IOT175, SDSS JMP .-1 IOT176, SDRD DCA DISDA IOT177, SDRC AND [77 TAD [-26 SZA CLA JMP .-10 JMP I BLKSER PAGE JMP SELECT DATREG, CLA CLL DCA OUT TAD (MESS1 DCA HEAD1 TAD OUT CMA IOT1, SDLD CLA TAD OUT IOT2, SDLD CLA IOT3, SDRD DCA IN LAS SPA CLA JMP DATREG+7 TAD IN CIA TAD OUT SNA CLA JMP DATLUP JMS ERROR1 LAS SPA CLA JMP DATREG+7 DATLUP, ISZ OUT JMP DATREG+4 JMS LOOP1 JMP DATREG /ROUTINE TO CHECK THE LOADING AND READING OF THE COMMAND REGISTER COMREG, CLA CLL DCA OUT TAD (MESS2 DCA HEAD1 TAD OUT AND (6400 IOT4, SDLC CLA IOT5, SDRC AND (7400 DCA IN LAS SPA CLA JMP COMREG+4 TAD OUT AND (6400 CIA TAD IN SNA CLA JMP CLOOP JMS ERROR1 LAS SPA CLA JMP COMREG+4 CLOOP, TAD OUT TAD (400 SNA JMP INITST-2 DCA OUT LAS RAR SNL CLA JMP COMREG+4 RAR TAD OUT SZA CLA JMP COMREG+4 JMS LOOP1 JMP COMREG INITST, CLA CLL TAD (MESS3 DCA HEAD1 TAD (MESS4 DCA HEAD2 TAD (6400 IOT6, SDLC CAF LAS SPA CLA JMP INITST IOT7, SDRC AND (7400 SNA CLA JMP .+5 JMS ERROR2 LAS SPA CLA JMP INITST JMS LOOP1 JMP INITST JMP CHKCLA PAGE CHKCLA, CLA CLL TAD (MESS5 DCA HEAD1 TAD (MESS6 DCA HEAD2 CSDLC, TAD [6777 IOT8, SDLC SNA CLA JMP .+5 LAS SPA CLA JMP CSDLC JMS ERROR2 LAS SPA CLA JMP CSDLC TAD (MESS7 DCA HEAD2 CSDRC, CLA CLL IOT9, SDLC CLA CMA IOT10, SDRC SNA CLA JMP .+5 LAS SPA CLA JMP CSDRC JMS ERROR2 LAS SPA CLA JMP CSDRC TAD (MESS8 DCA HEAD2 CSDLD, CLA CMA IOT11, SDLD SZA CLA JMP .+5 LAS SPA CLA JMP CSDLD JMS ERROR2 LAS SPA CLA JMP CSDLD TAD (MESS9 DCA HEAD2 CSDRD, CLA CLL IOT12, SDLD CLA CMA IOT13, SDRD SNA CLA JMP .+5 LAS SPA CLA JMP CSDRD JMS ERROR2 LAS SPA CLA JMP CSDRD JMS LOOP1 JMP CHKCLA JMP SINGLE / ERROR HANDLER ROUTINE-DATA WORD TYPEOUTS ERROR1, 0 LAS AND (400 SZA CLA JMP ERR1HT JMS CRLF TAD HEAD1 SNA JMP .+7 JMS MESAGE DCA HEAD1 JMS CRLF TAD (FORMT1 JMS MESAGE JMS CRLF TAD OUT AND (6400 JMS OPRINT TAD (240 JMS TYPE TAD IN JMS OPRINT JMS CRLF ERR1HT, LAS AND (200 SNA CLA E1HLT, HLT JMP I ERROR1 FORMT1, TEXT "GOOD BAD" ERROR2, 0 LAS AND (400 SZA CLA JMP ERR2HT JMS CRLF TAD HEAD1 SNA JMP .+4 JMS MESAGE DCA HEAD1 JMS CRLF TAD HEAD2 JMS MESAGE JMS CRLF ERR2HT, LAS AND (200 SNA CLA HLT JMP I ERROR2 PAGE / CHECK SINGLE LINE SKIP INSTRUCTION AND LOGIC SINGLE, CLA CLL TAD (MESS10 DCA HEAD1 TAD (MESS11 DCA HEAD2 SDLC IOT14, SDSS SKP JMS ERROR2 TAD (1000 IOT15, SDLC TAD (MESS12 DCA HEAD2 SINGL0, CLA TAD (-1000 DCA CNTR1 DCA CNTR2 IOT16, SDSS SKP JMP SING1-2 ISZ CNTR2 JMP .-4 ISZ CNTR1 JMP .-6 JMS ERROR2 LAS SPA CLA JMP SINGLE TAD (MESS13 DCA HEAD2 SING1, SDSS JMS ERROR2 LAS SPA CLA JMP SING1 TAD (MESS14 DCA HEAD2 SING2, SDSS JMP .-1 CAF LAS SPA CLA JMP SING2 IOT17, SDSS JMP SING3-4 JMS ERROR2 LAS SPA CLA JMP SING2 TAD (1000 IOT18, SDLC TAD (MESS15 DCA HEAD2 SING3, SDSS JMP .-1 CLA IOT19, SDLD LAS SPA CLA JMP SING3 IOT20, SDSS JMP SING4-2 JMS ERROR2 LAS SPA CLA JMP SING3 TAD (MESS16 DCA HEAD2 SING4, SDSS JMP .-1 CLA IOT21, SDRC LAS SPA CLA JMP SING4 IOT22, SDSS JMP SING5-2 JMS ERROR2 LAS SPA CLA JMP SING4 TAD (MESS17 DCA HEAD2 SING5, SDSS JMP .-1 CLA IOT23, SDRD LAS SPA CLA JMP SING5 IOT24, SDSS JMP SING6-2 JMS ERROR2 LAS SPA CLA JMP SING5 JMP SING6-2 PAGE TAD (MESS18 DCA HEAD2 SING6, SDSS JMP .-1 IOT25, SDST NOP IOT26, SDSQ CLA TAD (1000 IOT27, SDLC IOT28, SDSS SKP JMP SING7 JMS ERROR2 LAS SPA CLA JMP SING6 SING7, SDLC JMS LOOP1 JMP SINGLE QUAD, CLA CLL TAD (MESS19 DCA HEAD1 TAD (MESS20 DCA HEAD2 SDLC IOT29, SDSQ SKP JMS ERROR2 TAD (1000 IOT30, SDLC TAD (MESS21 DCA HEAD2 QUAD0, SDRD IOT31, SDSS JMP .-1 IOT32, SDSQ JMP .+3 JMS ERROR2 JMP Q0LUP IOT33, SDSS SKP JMP .-2 IOT34, SDSQ JMP .+3 JMS ERROR2 JMP Q0LUP IOT35, SDSS JMP .-1 IOT36, SDSQ JMP .+3 JMS ERROR2 JMP Q0LUP TAD (MESS22 DCA HEAD2 IOT37, SDSS SKP JMP .-2 IOT38, SDSQ JMS ERROR2 Q0LUP, LAS SPA CLA JMP QUAD0-4 TAD (MESS23 DCA HEAD2 QUAD1, SDSQ JMS ERROR2 LAS SPA CLA JMP QUAD1 TAD (MESS24 DCA HEAD2 QUAD2, SDSQ JMP .-1 CAF LAS SPA CLA JMP QUAD2 IOT39, SDSQ JMP QUAD3-4 JMS ERROR2 LAS SPA CLA JMP QUAD2 TAD (1000 IOT40, SDLC TAD (MESS25 DCA HEAD2 QUAD3, SDSQ JMP .-1 CLA IOT41, SDLD LAS SPA CLA JMP QUAD3 IOT42, SDSQ JMP QUAD4-2 JMS ERROR2 LAS SPA CLA JMP QUAD3 JMP QUAD4-2 PAGE TAD (MESS26 DCA HEAD2 QUAD4, SDSQ JMP .-1 CLA IOT43, SDRC LAS SPA CLA JMP QUAD4 IOT44, SDSQ JMP QUAD5-2 JMS ERROR2 LAS SPA CLA JMP QUAD4 TAD (MESS27 DCA HEAD2 QUAD5, SDSQ JMP .-1 CLA IOT45, SDRD LAS SPA CLA JMP QUAD5 IOT46, SDSQ JMP QUAD6-2 JMS ERROR2 LAS SPA CLA JMP QUAD5 TAD (MESS28 DCA HEAD2 QUAD6, SDSQ JMP .-1 IOT47, SDST NOP IOT48, SDSS NOP CLA TAD (1000 IOT49, SDLC LAS SPA CLA JMP QUAD6 IOT50, SDSQ SKP JMP QUAD7-2 JMS ERROR2 LAS SPA CLA JMP QUAD6 TAD (MESS29 DCA HEAD2 QUAD7, CLA CLL TAD (-2 DCA CNTR1 IOT51, SDLD IOT52, SDSS JMP .-1 IOT53, SDSS SKP JMP .-1 / BUGBUG: "JMP .-2" MAKES MORE SENSE IOT54, SDSS JMP .-1 ISZ CNTR1 JMP QUAD7+3 LAS SPA CLA JMP QUAD7 IOT55, SDSQ SKP JMS ERROR2 LAS SPA CLA JMP QUAD7 JMS LOOP1 JMP QUAD /CHECK TIMING ERROR SKIP INSTRUCTIONS AND LOGIC TIMING, CLA CLL TAD (MESS30 DCA HEAD1 TAD (MESS31 DCA HEAD2 SDLC TAD (1000 IOT56, SDLC IOT57, SDSS JMP .-1 IOT58, SDST SKP JMS ERROR2 TAD (MESS32 DCA HEAD2 TIME0, SDSQ JMP .-1 CLA DCA CNTR1 ISZ CNTR1 /WAIT A WHILE SO THAT TIMING ERROR JMP .-1 /CAN SET IOT59, SDST SKP JMP TIME1-2 JMS ERROR2 LAS SPA CLA JMP TIME0 TAD (MESS33 DCA HEAD2 TIME1, SDST JMS ERROR2 LAS SPA CLA JMP TIME1 JMP TIME2-2 PAGE TAD (MESS34 DCA HEAD2 TIME2, SDST JMP .-1 CAF LAS SPA CLA JMP TIME2 IOT60, SDST JMP TIME3-4 JMS ERROR2 LAS SPA CLA JMP TIME2 TAD (1000 IOT61, SDLC TAD (MESS35 DCA HEAD2 TIME3, SDST JMP .-1 IOT62, SDRC DCA IN LAS SPA CLA JMP TIME3 TAD IN AND (100 SZA JMP TIME4-4 JMS ERROR2 LAS SPA CLA JMP TIME3 TAD (1000 IOT63, SDLC TAD (MESS36 DCA HEAD2 TIME4, SDST JMP .-1 IOT64, SDLC LAS SPA CLA JMP TIME4 IOT65, SDST JMP TIME5-2 JMS ERROR2 LAS SPA CLA JMP TIME4 TAD (MESS37 DCA HEAD2 TIME5, CLA CLL TAD (3000 IOT66, SDLC IOT67, SDSS JMP .-1 IOT68, SDRC AND (77 TAD (-22 SZA CLA JMP .-6 IOT69, SDRC AND (7000 TAD (400 IOT70, SDLC DCA CNTR1 ISZ CNTR1 /WAIT A WHILE JMP .-1 IOT71, SDST JMS ERROR2 TAD (MESS38 DCA HEAD2 IOT72, SDRC AND (400 SZA CLA JMS ERROR2 LAS SPA CLA JMP TIME5 TAD (MESS39 DCA HEAD2 TIME6, CLA CLL TAD (1000 IOT73, SDLC IOT74, SDSS JMP .-1 TAD (-5 DCA CNTR2 DCA CNTR1 IOT75, SDRC IOT76, SDRD IOT77, SDLD ISZ CNTR1 JMP .-4 ISZ CNTR2 JMP .-6 LAS SPA CLA JMP TIME6+6 IOT78, SDST JMS ERROR2 LAS SPA CLA JMP TIME6 JMS LOOP1 JMP TIMING JMP UTSMRK PAGE UTSMRK, CLA CLL TAD (MESS43 DCA HEAD1 TAD (MESS44 DCA HEAD2 IOT82, SDLC TAD (1000 IOT83, SDLC LAS SPA CLA JMP UTSMRK IOT84, SDRC AND (77 SZA JMS ERROR2 LAS SPA CLA JMP UTSMRK TAD (MESS45 DCA HEAD2 UTSMK1, CLA CLL TAD (1000 IOT85, SDLC IOT86, SDSS JMP .-1 IOT87, SDRC AND (77 SNA CLA JMP .-5 IOT88, SDLC LAS SPA CLA JMP UTSMK1 IOT89, SDRC AND (77 SZA JMS ERROR2 LAS SPA CLA JMP UTSMK1 TAD (MESS46 DCA HEAD2 UTSMK2, CLA CLL TAD (3000 IOT90, SDLC IOT91, SDSS JMP .-1 IOT92, SDRC AND (77 SNA CLA JMP .-5 TAD (1000 IOT93, SDLC LAS SPA CLA JMP UTSMK2 IOT94, SDRC AND (77 SZA JMS ERROR2 LAS SPA CLA JMP UTSMK2 TAD (MESS47 DCA HEAD2 UTSMK3, CLA CLL TAD (1000 IOT95, SDLC IOT96, SDSS JMP .-1 IOT97, SDRC AND (77 SNA CLA JMP .-5 TAD (3000 IOT98, SDLC LAS SPA CLA JMP UTSMK3 IOT99, SDRC AND (77 SZA JMS ERROR2 LAS SPA CLA JMP UTSMK3 JMP UTSMK4-2 PAGE TAD (MESS48 DCA HEAD2 UTSMK4, CLA CLL TAD (1000 IOT100, SDLC IOT101, SDSS JMP .-1 IOT102, SDRC AND (77 SNA CLA JMP .-5 TAD (5000 IOT103, SDLC LAS SPA CLA JMP UTSMK4 IOT104, SDRC AND (77 SZA JMS ERROR2 LAS SPA CLA JMP UTSMK4 LAS RAR SZL CLA JMP UTSMK6 TAD (MESS49 DCA HEAD2 UTSMK5, CLA CLL TAD (5000 IOT105, SDLC IOT106, SDSS JMP .-1 IOT107, SDRC AND (77 SNA CLA JMP IOT106 TAD (1000 IOT108, SDLC LAS SPA CLA JMP UTSMK5 IOT109, SDRC AND (77 SZA JMS ERROR2 LAS SPA CLA JMP UTSMK5 UTSMK6, JMS LOOP1 JMP UTSMRK TAD (4000 IOT110, SDLC LAS RTL SPA CLA JMP DATREG JMP XFER /ROUTINE TO SEARCH AND FIND ALL BLOCK NUMBERS /THE RIGHT HAND REEL MUST HAVE AT LEAST FOUR TURNS OF TAPE ON IT *2100 BLKCH, CLA CLL DCA DISBL TAD [-2702 DCA BLKCN JMS BLKREV JMS BLKEND TAD [1000 TAD UNIT IOT171, SDLC JMS RDQUAD JMS RDQUAD FBLKCT, JMS BLKSER TAD DISDA CIA TAD DISBL SZA CLA JMP BLKERR ISZ DISBL ISZ BLKCN JMP FBLKCT JMS BLKEND TAD [2701 DCA DISBL TAD [-2702 DCA BLKCN JMS BLKREV RBLKCT, JMS BLKSER TAD DISDA CIA TAD DISBL SZA CLA JMP BLKERR CMA TAD DISBL DCA DISBL ISZ BLKCN JMP RBLKCT JMP BLKCH BLKERR, CLA CLL TAD DISBL HLT CLA TAD DISDA HLT JMP BLKCH PAGE /TAPE 2 /ROUTINE TO RUN FROM END ZONE TO END ZONE /AND DISPLAY THE CORRENT BLOCK NUMBER IN THE AC DBLOCK, CLA CLL DCA DISBLK TAD (3000 TAD UNIT IOT111, SDLC CLA CLL DISLUP, SDSS JMP .-1 CLA CLL IOT112, SDRD DCA DISDAT IOT113, SDRC AND (77 TAD (-26 SZA JMP DISEND TAD DISDAT ISZ DISBLK JMP .-1 JMP DISLUP DISEND, TAD (4 SZA CLA JMP DISLUP IOT114, SDRC RTL CML RTR JMP DISLUP-2 DISBLK, 0 UNIT, 0 DISTRK, 0 DISDAT, 0 /ROUTINE TO ROKC DECTAPE UNIT 0 /FOR A DISTANCE DETERMINED BY ACS ROCK, CLA CLL TAD (1000 IOT115, SDLC LAS CMA DCA 1 ISZ 0 JMP .-1 ISZ 1 JMP .-3 NOP TAD (3000 IOT116, SDLC LAS CMA DCA 1 ISZ 0 JMP .-1 ISZ 1 JMP .-3 JMP ROCK+1 MESAGE, 0 DCA MPNTR TAD I MPNTR RTR RTR RTR AND (77 SNA JMP I MESAGE TAD (-40 SPA TAD (100 TAD (240 JMS TYPE TAD I MPNTR AND (77 SNA JMP I MESAGE TAD (-40 SPA TAD (100 TAD (240 JMS TYPE ISZ MPNTR JMP MESAGE+2 MPNTR, 0 OPRINT, 0 DCA ONUMB TAD (-4 DCA OCNT TAD ONUMB RAL OPLOOP, RAL RTL DCA ONUMB TAD ONUMB AND (7 TAD (260 JMS TYPE TAD ONUMB ISZ OCNT JMP OPLOOP CLA JMP I OPRINT ONUMB, 0000 OCNT, 0000 PAGE /ROUTINE TO RUN FROM ENDZONE TO ENDZONE CHECKING THE MARK TRACK IN BLOCKS BLKCHK, CLA CLL TAD (3000 IOT117, SDLC JMS RD6MRK ENDZ, JMS RD1MRK TAD (-22 SZA CLA JMP ENDZ IOT118, SDRC RTL CML RTR IOT119, SDLC JMS RD6MRK JMS RD1MRK TAD (-26 SNA CLA JMP RVGARD JMP .-4 FWDEXP, JMS RD6MRK TAD (-25 SZA HLT BLKMRK, JMS RD6MRK TAD (-26 SNA JMP RVGARD IAC SZA HLT JMP ENDZ RVGARD, JMS RD6MRK TAD (-32 SZA HLT TAD (-4 DCA 0 JMS RD6MRK LOCK, TAD (-10 SZA HLT ISZ 0 JMP .-5 DATA, TAD (-122 DCA 0 JMS RD6MRK TAD (-70 SZA HLT ISZ 0 JMP .-5 PREFIN, TAD (-4 DCA 0 JMS RD6MRK TAD (-73 SZA HLT ISZ 0 JMP .-5 GUARD, JMS RD6MRK TAD (-51 SZA HLT REVBLK, JMS RD6MRK TAD (-45 SZA HLT REVEXP, JMS RD6MRK TAD (-25 SZA HLT JMP FWDEXP /READ 1 SHIFT OF MARK TRACK SUBROUTINE RD1MRK, 0 IOT120, SDSS JMP .-1 IOT121, SDRC AND (77 JMP I RD1MRK /READ 6 SHIFTS OF MARK TRACK SUBROUTINE RD6MRK, 0 TAD (-6 DCA RD1MRK IOT122, SDSS JMP .-1 IOT123, SDRC ISZ RD1MRK JMP .-4 AND (77 JMP I RD6MRK PAGE /CHECK SELECT ERROR STATUS BIT AND ABILITY TO CLEAR "WRITE" /UNIT 1 IS "OFF-LINE" OR NON-EXISTANT /UNIT 0 IS "ON LINE" AND "WRITE LOCKED" SELECT, CLA CLL TAD (MESS50 DCA HEAD1 TAD (MESS51 DCA HEAD2 IOT124, SDLC IOT125, SDST SKP JMS ERROR2 TAD (MESS52 DCA HEAD2 TAD (4000 IOT126, SDLC CLA IOT127, SDRC DCA IN LAS SPA CLA JMP SELECT TAD IN AND (100 SNA CLA JMS ERROR2 LAS SPA CLA JMP SELECT TAD (MESS53 DCA HEAD2 SELCT1, TAD (4400 IOT128, SDLC LAS SPA CLA JMP SELCT1 IOT129, SDRC DCA IN TAD IN AND (400 SZA CLA JMS ERROR2 LAS SPA CLA JMP SELCT1 TAD (MESS63 DCA HEAD2 SELCT2, SDLC LAS SPA CLA JMP SELCT2 IOT130, SDRC DCA IN TAD IN AND (100 SZA CLA JMS ERROR2 LAS SPA CLA JMP SELCT2 JMS LOOP1 JMP SELECT /CHECK WRITE LOCK OUT STATUS BIT AND ABILITY TO CLEAR "WRITE" /UNIT 0 IS "WRITE_LOCKED" WL0, CLA CLL TAD (MESS54 DCA HEAD1 TAD (MESS55 DCA HEAD2 SDLC IOT131, SDRC DCA IN LAS SPA CLA JMP WL0 TAD IN AND (200 SNA CLA JMS ERROR2 LAS SPA CLA JMP WL0 TAD (MESS56 DCA HEAD2 WL1, TAD (400 IOT132, SDLC LAS SPA CLA JMP WL1 IOT133, SDRC DCA IN TAD IN AND (400 SZA CLA JMS ERROR2 LAS SPA CLA JMP WL1 JMS LOOP1 JMP WL0 TAD (OK JMS MESAGE JMS CRLF HLT JMP .-1 OK, TEXT "OK" PAGE /TD8EA READ_WRITE AND SEARCH TEST PROGRAM /COPYRIGHT 1971, DIGITAL EQUIPMENT CORP., MAYNARD, MASS. 01754 BUFF1=7200 BUFF2=7400 /ROUTINE TO CHECK DATA TRANSFERS ON TAPE XFER, CLA CLL DCA IN TAD (FILL0 JMS WREAD TAD (FILL1 JMS WREAD TAD (FILL25 JMS WREAD TAD (FILPAT JMS WREAD TAD (FILINC JMS WREAD TAD (FILDEC JMS WREAD TAD (SPEC1 JMS WREAD TAD (SPEC2 JMS WREAD JMS PASCNT JMP XFER+2 /ROUTINE TO WRITE AND READ BACK AND COMPARE EVERY 100TH BLOCK ON TAPE WREAD, 0 DCA FILPNT DCA SUNIT TAD (-200 JMS I FILPNT CLA DCA BLK TAD (MESS57 DCA HEAD1 WREL1, TAD (MESS58 DCA HEAD2 TAD BLK JMS WRITE BUFF1 -200 TAD (MESS59 DCA HEAD2 TAD BLK JMS READ BUFF2 -201 TAD (-200 JMS COMPAR BUFF1 BUFF2+1 TAD (MESS60 DCA HEAD2 TAD BLK JMS READR BUFF2 -201 TAD BLK TAD (100 DCA BLK TAD BLK TAD (-2701 SPA CLA JMP WREL1 TAD (2701 DCA BLK TAD (MESS61 DCA HEAD1 WREL2, TAD (MESS62 DCA HEAD2 TAD BLK JMS WRITER BUFF1 -200 TAD (MESS60 DCA HEAD2 TAD BLK JMS READR BUFF2 -201 TAD (-200 JMS COMPAR BUFF1 BUFF2+1 TAD (MESS59 DCA HEAD2 TAD BLK JMS READ BUFF2 -201 TAD BLK TAD (-100 DCA BLK TAD BLK SMA CLA JMP WREL2 LAS RAR SZL CLA JMP I WREAD TAD SUNIT TAD (4000 SNA JMP I WREAD DCA SUNIT JMP WREL1-3 PAGE /SUBROUTINE TO COMPARE TWO DATA BUFFERS, INDICATE AN ERROR /CALLING SEQUENCE: / TAD (-N /MINUS (2'S) NUMBER OF WORDS TO COMPARE / JMS COMPAR /CALL SUBROUTINE / GADD /1ST ADDRESS OF GOOD DATA / TADD /1ST ADDRESS OF TEST DATA / /RETURN HERE WHEN DONE COMPAR, 0 DCA CCNTR TAD I COMPAR DCA GPNTR ISZ COMPAR TAD I COMPAR DCA TPNTR ISZ COMPAR TAD (DATMES DCA DATHD COMLUP, TAD I GPNTR CIA TAD I TPNTR SZA CLA JMS DATERR ISZ GPNTR ISZ TPNTR ISZ CCNTR JMP COMLUP JMP I COMPAR CCNTR, 0 GPNTR, 0 TPNTR, 0 FILL0, 0 DCA FILL0C TAD I FILL0 DCA FILL0P ISZ FILL0 DCA I FILL0P ISZ FILL0P ISZ FILL0C JMP .-3 JMP I FILL0 FILL0C, 0 FILL0P, 0 FILL1, 0 DCA FILL1C TAD I FILL1 DCA FILL1P ISZ FILL1 CLA CMA DCA I FILL1P ISZ FILL1P ISZ FILL1C JMP .-4 JMP I FILL1 FILL1C, 0 FILL1P, 0 FILL25, 0 DCA FILL2C TAD I FILL25 DCA FILL2P ISZ FILL25 TAD FILL2K DCA I FILL2P ISZ FILL2P ISZ FILL2C JMP .-4 JMP I FILL25 FILL2C, 0 FILL2K, 2525 FILL2P, 0 FILPAT, 0 DCA FILLC1 TAD I FILPAT DCA FILLP1 ISZ FILPAT FILPL1, TAD FILTP DCA FILLP2 TAD FILTC DCA FILLC2 FILPL2, TAD I FILLP2 DCA I FILLP1 ISZ FILLP1 ISZ FILLC1 SKP JMP I FILPAT ISZ FILLP2 ISZ FILLC2 JMP FILPL2 JMP FILPL1 FILLP1, 0 FILLP2, 0 FILLC1, 0 FILLC2, 0 FILTP, .+1 2225 5522 2555 FILTC, FILTP-FILTC+1 PAGE FILINC, 0 DCA FILICT TAD I FILINC DCA FILIPT ISZ FILINC DCA FILIDT TAD FILIDT DCA I FILIPT ISZ FILIDT NOP ISZ FILIPT ISZ FILICT JMP .-6 JMP I FILINC FILICT, 0 FILIPT, 0 FILIDT, 0 FILDEC, 0 DCA FILDCT TAD I FILDEC DCA FILDPT ISZ FILDEC DCA FILDDT TAD FILDDT DCA I FILDPT CMA TAD FILDDT ISZ FILDPT ISZ FILDCT JMP .-7 CLA JMP I FILDEC FILDCT, 0 FILDPT, 0 FILDDT, 0 SPEC1, 0 DCA SP1CT TAD I SPEC1 DCA SP1PT ISZ SPEC1 TAD SPEC1D DCA I SP1PT ISZ SP1PT ISZ SP1CT JMP .-4 JMP I SPEC1 SP1CT, 0 SP1PT, 0 SPEC1D, 6161 SPEC2, 0 DCA SP2CT TAD I SPEC2 DCA SP2PT ISZ SPEC2 TAD SPEC2D DCA I SP2PT ISZ SP2PT ISZ SP2CT JMP .-4 JMP I SPEC2 SP2CT, 0 SP2PT, 0 SPEC2D, 3434 PASCNT, 0 JMS CRLF TAD (PASS JMS MESAGE ISZ IN NOP TAD IN JMS OPRINT TAD (COMP JMS MESAGE JMS CRLF JMP I PASCNT PASS, TEXT "PASS " COMP, TEXT " COMPLETE" PAGE /REVERSE SEARCH SUBROUTINE RSERCH, 0 DCA RSLOOK TAD M10 DCA BLKTRY TAD (1000 TAD SUNIT RSRCH0, SDLC IOT134, SDRC AND (100 SZA CLA JMP I [SELERR JMS RDQUAD JMS RDQUAD RSRCH1, SDSS SKP IOT135, SDRD IOT136, SDSS JMP .-1 IOT138, SDRC AND (77 TAD (-26 SNA JMP RSRCH2 TAD (4 SZA CLA JMP RSRCH1 IOT13A, SDRC RTL CML RTR ISZ BLKTRY JMP RSRCH0 JMP RSTURN+5 RSRCH2, SDRC RTL IOT137, SDRD CIA TAD RSLOOK SNA JMP RLOCED CIA SNL TAD (4 SZL CLA JMP RSRCH1 RSTURN, SDRC RTL CML RTR ISZ BLKTRY JMP RSRCH0 CLA TAD RSLOOK HLT JMP .-1 RLOCED, SZL CLA JMP RSRCH1 JMP I RSERCH RSLOOK, 0 /WRITE REVERSE SUBROUTINE WRITER, 0 DCA WCNT TAD I WRITER DCA WADDR ISZ WRITER TAD I WRITER DCA WCOUNT TAD WRITER IAC DCA WRITE JMS CSUMRT 25 BUFF1-1 -200 JMS SBCXOR JMS WRTLCK TAD WCNT JMS RSERCH JMP WRITE1 /READ REVERSE SUBROUTINE READR, 0 DCA RCNT TAD I READR DCA RADDR ISZ READR TAD I READR DCA RCOUNT TAD READR IAC DCA READ TAD RCNT JMS RSERCH JMP READ1 WRTLCK, 0 TAD SUNIT IOT151, SDLC IOT15A, SDRC AND (200 SZA CLA JMP I [WROERR JMP I WRTLCK PAGE /DATA ERROR HANDLER DATERR, 0 LAS AND (400 SZA CLA JMP DATHLT-3 TAD DATHD SNA CLA JMP DATNUM JMS HEADTP TAD DATHD JMS MESAGE DCA DATHD JMS CRLF TAD (FORMT1 JMS MESAGE JMS CRLF DATNUM, TAD GPNTR DCA DATPNT TAD I DATPNT JMS OPRINT TAD (240 JMS TYPE TAD TPNTR DCA DATPNT TAD I DATPNT JMS OPRINT JMS CRLF LAS AND (200 SNA CLA DATHLT, HLT JMP I DATERR DATHD, 0 DATPNT, 0 DATMES, TEXT "DATA ERROR" /SUBROUTINE TO TYPE OUT HEADER FOR DATA TESTS HEADTP, 0 JMS CRLF TAD (UMESS JMS MESAGE TAD (240 JMS TYPE IOT139, SDRC SPA CLA IAC TAD (260 JMS TYPE JMS CRLF TAD (BMESS JMS MESAGE TAD (240 JMS TYPE TAD BLK JMS OPRINT JMS CRLF TAD HEAD1 JMS MESAGE JMS CRLF TAD HEAD2 JMS MESAGE JMS CRLF JMP I HEADTP UMESS, TEXT "UNIT" BMESS, TEXT "BLOCK" /CHECKSUM ERROR HANDLER CHKERR, 0 DCA CHKDAT IOT140, SDRC AND (4000 IOT141, SDLC JMS HEADTP TAD (CHKMES JMS MESAGE JMS CRLF LAS AND (200 SZA CLA JMP I CHKERR TAD CHKDAT CHKHLT, HLT CLA JMP I CHKERR CHKDAT, 0 CHKMES, TEXT "CHECKSUM ERROR" PAGE /WRITE LOCK OUT ERROR WROERR, JMS HEADTP IOT142, SDRC AND (4000 IOT143, SDLC TAD (WROMES JMS MESAGE JMS CRLF LAS AND (200 SNA CLA WRDHLT, HLT JMP WREL1+2 WROMES, TEXT "UNIT WRITE LOCKED" /SELECT ERROR HANDLER SELERR, JMS HEADTP TAD (SELMES JMS MESAGE JMS CRLF LAS AND (200 SNA CLA SELHLT, HLT JMP WREL1+2 SELMES, TEXT "SELECT ERROR" /TIMING ERROR HANDLER TYMERR, 0 IOT144, SDRC AND (4000 IOT145, SDLC JMS HEADTP TAD (TYMMES JMS MESAGE JMS CRLF LAS AND (200 SNA CLA TYMHLT, HLT JMP WREAD+3 TYMMES, TEXT "TIMING ERROR" /SUBROUTINE TO CLEAR WRITE AFTER QUAD LINE FLAG CLRWT, 0 IOT168, SDSQ JMP .-1 IOT154, SDST SKP CLA JMS [TYMERR /BUGBUG: No '[' makes sense here?? IOT169, SDRC AND (7000 IOT170, SDLC JMP I CLRWT CSUMRT, 0 TAD I CSUMRT DCA CHKSUM ISZ CSUMRT TAD I CSUMRT DCA AUTO ISZ CSUMRT TAD I CSUMRT DCA XXX ISZ CSUMRT TAD I AUTO JMS SBCXOR ISZ XXX JMP .-3 JMP I CSUMRT XXX, 0 CHKCHK, 0000 JMS CSUMRT 0 BUFF2-1 -203 TAD CHKSUM CMA AND (77 SZA JMS I [CHKERR JMP I CHKCHK PAGE /SEARCH ROUTINE /SUBROUTINE IS ENTERED WITH THE NUMBER OF THE DESIRED BLOCK IN THE AC /PROGRAM WILL EXIT WITH TAPE MOVING IN THE FORWARD DIRECTION /UNIT BIT IS IN SUNIT, BIT 0, BITS 1 TO 11 ARE 0 SEARCH, 0 DCA SLOOK TAD M10 DCA BLKTRY TAD (3000 TAD SUNIT SRCH0, SDLC IOT146, SDRC AND (100 SZA CLA JMP I [SELERR JMS RDQUAD JMS RDQUAD SRCH1, SDSS SKP IOT147, SDRD IOT148, SDSS JMP .-1 IOT149, SDRC AND (77 TAD (-26 SNA JMP SRCH2 TAD (4 SZA CLA JMP SRCH1 IOT14A, SDRC RTL CML RTR ISZ BLKTRY JMP SRCH0 JMP BADBLK SRCH2, SDRC RTL IOT150, SDRD CIA TAD SLOOK SNA JMP LOC8ED CIA SNL TAD (2 SZL CLA JMP SRCH1 IOT15B, SDRC RTL CML RTR ISZ BLKTRY JMP SRCH0 BADBLK, CLA TAD SLOOK HLT JMP .-1 LOC8ED, SNL CLA JMP SRCH1 JMP I SEARCH SLOOK, 0 SUNIT, 0 /WRITE SUBROUTINE WRITE, 0 DCA WCNT TAD I WRITE DCA WADDR ISZ WRITE TAD I WRITE DCA WCOUNT ISZ WRITE JMS CSUMRT 25 BUFF1-1 -200 JMS SBCXOR JMS WRTLCK TAD WCNT JMS SEARCH WRITE1, JMS REVGRD JMS RDQUAD IOT152, SDRC TAD (400 IOT153, SDLC TAD (25 JMS WRQUAD WRITE2, TAD I WADDR ISZ WADDR NOP JMS WRQUAD ISZ WCOUNT JMP WRITE2 JMS WRQUAD TAD CHKSUM CMA AND (77 CLL RTL RTL RTL JMS WRQUAD JMS CLRWT IOT155, SDRC AND (4000 IOT156, SDLC JMP I WRITE WCNT=SLOOK WADDR, 0 WCOUNT, 0 PAGE /READ SUBROUTINE READ, 0 DCA RCNT TAD I READ DCA RADDR ISZ READ TAD I READ DCA RCOUNT ISZ READ TAD RCNT JMS SEARCH READ1, SDSS JMP .-1 IOT16A, SDRC AND (77 TAD (-32 SNA JMP .+5 TAD (10 SZA CLA JMP READ1 JMP IOT162 JMS RDQUAD JMS RDQUAD JMS RDQUAD AND (77 SKP READ2, JMS RDQUAD DCA I RADDR ISZ RADDR NOP ISZ RCOUNT JMP READ2 JMS RDQUAD DCA I RADDR ISZ RADDR JMS RDQUAD AND (7700 DCA I RADDR IOT157, SDST SKP JMS I [TYMERR IOT158, SDRC AND (4000 IOT159, SDLC JMS CHKCHK JMP I READ RCNT, 0 RADDR, 0 RCOUNT, 0 /WAIT FOR REVERSE GUARD SUBROUTINE REVGRD, 0 IOT160, SDSS JMP .-1 IOT161, SDRC AND (77 TAD (-32 SNA JMP I REVGRD TAD (10 SZA CLA JMP REVGRD+1 IOT162, SDRC AND (4000 IOT163, SDLC HLT JMP .-1 /WRITE A "QUAD WORD" (12 BIT WORD) SUBROUTINE WRQUAD, 0 IOT164, SDSQ JMP .-1 IOT165, SDLD M0200A, CLA+400 JMP I WRQUAD /READ A "QUAD WORD" (12 BIT WORD) SUBROUTINE RDQUAD, 0000 IOT166, SDSQ JMP .-1 IOT167, SDRD JMP I RDQUAD /SIXBIT COMPLEMENT XOR SUBROUTINE SBCXOR, 0 CMA DCA SBWORD TAD SBWORD AND CHKSUM CIA CLL RAL TAD SBWORD TAD CHKSUM DCA CHKSUM TAD SBWORD CLL RTR; RTR; RTR DCA SBWORD TAD SBWORD AND CHKSUM CIA CLL RAL TAD SBWORD TAD CHKSUM AND (77 DCA CHKSUM JMP I SBCXOR CHKSUM, 0 SBWORD=. PAGE /MESSAGES MESS1, TEXT "LOAD AND READ DATA REGISTER ERROR" MESS2, TEXT "LOAD AND READ COMMAND REGISTER ERROR" MESS3, TEXT "INITIALIZE TEST" MESS4, TEXT "CAF DID NOT CLEAR COMMAND REGISTER" MESS5, TEXT "CHECK SDLC, SDLD, SDRC, SDRD AND AC CLEAR" MESS6, TEXT "SDLC DID NOT CLEAR AC" MESS7, TEXT "SDRC DID NOT CLEAR AC" MESS8, TEXT "SDLD CLEARED AC" MESS9, TEXT "SDRD DID NOT CLEAR AC" MESS10, TEXT "SINGLE LINE FLAG SKIP INSTRUCTION AND LOGIC" MESS11, TEXT "SINGLE LINE FLAG ALWAYS SET OR SDSS ALWAYS SKIPS" MESS12, TEXT "SINGLE LINE FLAG DOES NOT SET OR SDSS DOES NOT SKIP" MESS13, TEXT "SINGLE LINE FLAG CLEARED BY SDSS" MESS14, TEXT "SINGLE LINE FLAG NOT CLEARED BY CAF" MESS15, TEXT "SINGLE LINE FLAG NOT CLEARED BY SDLD" MESS16, TEXT "SINGLE LINE FLAG NOT CLEARED BY SDRC" MESS17, TEXT "SINGLE LINE FLAG NOT CLEARED BY SDRD" MESS18, TEXT "SINGLE LINE FLAG CLEARED BY SDST, SDSQ, OR SDLC" MESS19, TEXT "QUAD LINE FLAG SKIP INSTRUCTION AND LOGIC" MESS20, TEXT "QUAD LINE FLAG ALWAYS SET OR SDSQ ALWAYS SKIPS" MESS21, TEXT "QUAD LINE FLAG SET TOO SOON" MESS22, TEXT "QUAD LINE FLAG DOES NOT SET OR SDSQ DOES NOT SKIP" MESS23, TEXT "QUAD LINE FLAG CLEARED BY SDSQ" MESS24, TEXT "QUAD LINE FLAG NOT CLEARED BY CAF" MESS25, TEXT "QUAD LINE FLAG NOT CLEARED BY SDLD" MESS26, TEXT "QUAD LINE FLAG NOT CLEARED BY SDRC" MESS27, TEXT "QUAD LINE FLAG NOT CLEARED BY SDRD" MESS28, TEXT "QUAD LINE FLAG CLEARED BY SDST, SDSS, OR SDLC" MESS29, TEXT "QUAD LINE FLAG COUNTER FLIP/FLOP NOT PROPERLY CLEARED" MESS30, TEXT "TIMING ERROR SKIP INSTRUCTION AND LOGIC" MESS31, TEXT "TIMING ERROR ALWAYS SET OR SDST ALWAYS SKIPS" MESS32, TEXT "TIMING ERROR DOES NOT SET IN READ MODE OR SDST DOES NOT SKIP" MESS33, TEXT "TIMING ERROR CLEARED BY SDST" MESS34, TEXT "TIMING ERROR NOT CLEARED BY CAF" MESS35, TEXT "TIMING ERROR STATUS BIT NOT SET IN COMMAND REGISTER" MESS36, TEXT "TIMING ERROR NOT CLEARED BY SDLC" MESS37, TEXT "TIMING ERROR DOES NOT SET IN WRITE MODE" MESS38, TEXT "TIMING ERROR DOES NOT CLEAR WRITE FLIP/FLOP" MESS39, TEXT "TIMING ERROR NOT SET BY SDRC SDRD, OR SDLC" MESS43, TEXT "UP TO SPEED CIRCUITRY CHECK USING 'CLEAR MARK TRACK REGISTER' FEATURE" MESS44, TEXT "MARK TRACK REGISTER NOT CLEARED BY 'GO'" MESS45, TEXT "MARK TRACK REGISTER NOT CLEARED BY 'STOP'" MESS46, TEXT "MARK TRACK REGISTER NOT CLEARED BY 'REV' TO 'FWD'" MESS47, TEXT "MARK TRACK REGISTER NOT CLEARED BY 'FWD' TO 'REV'" MESS48, TEXT "MARK TRACK REGISTER NOT CLEARED BY 'UNIT 0' TO 'UNIT 1'" MESS49, TEXT "MARK TRACK REGISTER NOT CLEARED BY 'UNIT 1' TO 'UNIT 0'" MESS50, TEXT "'SELECT ERROR' TESTS" MESS51, TEXT "TIMING ERROR SET" MESS52, TEXT "NO SELECT ERROR STATUS FROM UNIT 1" MESS53, TEXT "'WRITE' NOT CLEARED BY SELECT ERROR" MESS54, TEXT "'WRITE LOCK OUT' TESTS" MESS55, TEXT "NO WRITE LOCK OUT STATUS FROM UNIT 0" MESS56, TEXT "'WRITE' NOT CLEARED BY WRITE LOCK OUT" MESS57, TEXT "DATA WRITTEN FORWARD" MESS58, TEXT "WRITE DATA FORWARD" MESS59, TEXT "READ DATA FORWARD" MESS60, TEXT "READ DATA BACKWARD" MESS61, TEXT "DATA WRITTEN BACKWARD" MESS62, TEXT "WRITE DATA BACKWARD" MESS63, TEXT "NO UNIT 0 SELECTED" PAGE /ROUTINE TO CHANGE ALL TD8E IOTS IN PROGRAM FOR MULTIPLE UNIT /ROUTINE IS STARTED AT LOCATION "MODIFY" WITH AC6,7 AND 8 INDICATING /DEVICE SELECTION BITS 6, 7, AND 8 OF THE CONTROL TO BE TESTED (4,5,6, OR 7) BUFF1, MODIFY, LAS AND MODMS1 DCA MODCON TAD MODTAB DCA MODPT1 TAD MODSIZ DCA MODCNT MODLUP, TAD I MODPT1 DCA MODPT2 TAD I MODPT2 AND MODMS2 TAD MODCON DCA I MODPT2 ISZ MODPT1 ISZ MODCNT JMP MODLUP HLT MODMS1, 30 MODMS2, 7747 MODCON, 0 MODPT1, 0 MODPT2, 0 MODCNT, 0 MODSIZ, -MODEND+MODTAB MODTAB, .+1 IOT1 IOT2 IOT3 IOT4 IOT5 IOT6 IOT7 IOT8 IOT9 IOT10 IOT11 IOT12 IOT13 IOT14 IOT15 IOT16 SING1 SING2 IOT17 IOT18 SING3 IOT19 IOT20 SING4 IOT21 IOT22 SING5 IOT23 IOT24 SING6 IOT25 IOT26 IOT27 IOT28 IOT29 IOT30 QUAD0 IOT31 IOT32 IOT33 IOT34 IOT35 IOT36 IOT37 IOT38 QUAD1 QUAD2 IOT39 IOT40 QUAD3 IOT41 IOT42 QUAD4 IOT43 IOT44 QUAD5 IOT45 IOT46 QUAD6 IOT47 IOT48 IOT49 IOT50 IOT51 IOT52 IOT53 IOT54 IOT55 IOT56 IOT57 IOT58 TIME0 IOT59 TIME1 TIME2 IOT60 IOT61 TIME3 IOT62 IOT63 TIME4 IOT64 IOT65 IOT66 IOT67 IOT68 IOT69 IOT70 IOT71 IOT72 IOT73 IOT74 IOT75 IOT76 IOT77 IOT78 IOT82 IOT83 IOT84 IOT85 IOT86 IOT87 IOT88 IOT89 IOT90 IOT91 IOT92 IOT93 IOT94 IOT95 IOT96 IOT97 IOT98 IOT99 IOT100 IOT101 IOT102 IOT103 IOT104 IOT105 IOT106 IOT107 IOT108 IOT109 IOT110 IOT111 DISLUP IOT112 IOT113 IOT114 IOT115 IOT116 IOT117 IOT118 IOT119 IOT120 IOT121 IOT122 IOT123 IOT124 IOT125 IOT126 IOT127 IOT128 IOT129 SELCT2 IOT130 IOT131 IOT132 IOT133 RSRCH0 IOT134 RSRCH1 IOT135 IOT136 IOT13A IOT137 IOT138 RSRCH2 RSTURN IOT139 IOT140 IOT141 IOT142 IOT143 IOT144 IOT145 SRCH0 IOT146 SRCH1 IOT147 IOT148 IOT149 IOT14A IOT150 IOT15B SRCH2 IOT151 IOT15A IOT152 IOT153 IOT154 IOT155 IOT156 IOT157 IOT158 IOT159 IOT160 IOT16A READ1 IOT161 IOT162 IOT163 IOT164 IOT165 IOT166 IOT167 IOT168 IOT169 IOT170 IOT171 IOT172 IOT173 IOT174 IOT175 IOT176 MODEND, IOT177 $