IDENT DUMPTPE TITLE D U M P T P E ORG 0 BSSZ 2 DATA 0LDUMPTPE,0LCLASS DATA 2 MAP ENTRIES DATA 20 COMPILED MAP SIZE VFD 60/ENDWORD VFD 60/DUMP ENTRY POINT DATA 50 VFD 60/DUMP SIZE OF LOCAL DATA DATA 0,0 DATA 0,0 FILE/CM VFD 60/DUMP DATA 0 READ WRITE DATA 0LDUMPTPE,0LS VFD 60/DUMP,60/DUMP VFD 60/ENDWORD-DUMP DATA 1 VFD 60/-1 END OF MAP SPECIFIERS DATA 0LOPERCL,0LOPERATE DATA 0 END OF C LIST SPECIFIERS C.BEAD EQU 1 C.READ EQU 3 C.WRITE EQU 4 C.SENDE EQU 5 C.HANG EQU 6 C.OPER EQU 14 C.INX EQU 17 C.OUTX EQU 18 C.TAPE EQU 19 C.AREA EQU 20 C.DIRECT EQU 21 DADR BSSZ 1 RETURN VFD 1/1,29/=XEC:RTRN,30/C.OPER READ VFD 60/C.READ RCAP VFD 60/C.AREA READA DATA 0 FILE ADDRESS READCM DATA 0 CM ADDRESS COUNTA DATA 0 WORD COUNT MOVECAP VFD 1/1,29/=XEC:CIN,30/C.OPER VFD 60/C.AREA FROMC DATA 0 TOC DATA 0 SENDV VFD 60/C.SENDE VFD 60/C.OUTX EVENTW DATA 0 EVENT TO BE SENT GETV VFD 60/C.HANG VFD 60/C.INX FADR BSSZ 1 WRITE VFD 60/C.WRITE VFD 60/C.TAPE DATA 1 TO BUFFER ADDRESS 1 WFILEA DATA 0 CM ADDRESS WFILEC DATA 0 WORD COUNT WCNT VFD 60/C.WRITE VFD 60/C.TAPE DATA 0 COUNT TO BUFFER ADDRESS 0 VFD 60/TAPECNT DATA 1 ONE WORD AREA BSSZ 4 DIRECTORY ENTRY AREA CMBUFF BSSZ 512 CM BUFFER FOR TAPE FILE BF BSSZ 2 DIRAREA BSSZ 4 DIRECTOREY AREA DIRPTR DATA 0 DIRECT BSSZ 200 ERROR DATA 0 ERROR DISCOVERED FLAG GETBCDN DATA 0 JP GETBCDNG BCDIZE DATA 0 JP BCDIZEG READ2 VFD 60/C.READ,60/C.DIRECT FILEADR2 DATA 0 VFD 60/WORD1,60/2 WORD1 BSSZ 2 ERRBIT DATA 0 ERROR RECOVERY BIT COPY DATA 0 JP COPYG FIRSTF DATA 0 SDEVIC DATA 0 CFILEA DATA 0 WRITEV VFD 12/0,12/1,12/513,12/0,12/102B WORDC DATA 0 FILEADR DATA 0 TAPECNT DATA 0 BYTE COUNT FOR FIRST WORD OF BUFFER MVECAP VFD 1/1,29/=XEC:CIN,30/C.OPER VFD 60/C.AREA CAP DATA 0 VFD 60/C.AREA XJ MACRO WHERE,CNT + VFD 12/0130B,18/WHERE - VFD 30/CNT ENDM FILEMARK MACRO SENDV 15B SENDV 5 CLEAR PARITY BIT ENDM REPLACE MACRO SB6 1 SB1 AREA SB7 0 XJ CALLBEAD ENDM GET MACRO A,B REG IF -REG,A SA1 A. SA2 B. REG ENDIF SB6 0 SB1 AREA SB7 C.AREA XJ CALLBEAD ENDM MOVE MACRO FROM,TO SX6 FROM SX7 C.TO SA6 FROMC SA7 TOC XJ MOVECAP ENDM SENDV MACRO EVENT LOCAL TRY TRY BSS 0 SA5 ERRBIT IF -REG,EVENT SX6 EVENT ELSE BX6 EVENT ENDIF BX6 X6+X5 SA6 EVENTW XJ SENDV XJ GETV MX6 1 BX5 X6*X7 SA4 ERRBIT BX6 X4-X5 FLIP ERROR RECOVERY BIT SA6 A4 LX7 47 GET EXTERNAL REJECT BIT NG X7,TRY TRY AGAIN LX7 60-47 LX5 1 SX6 X5 SA6 ERROR SET ERROR FLAG ENDM READ MACRO FROM,COUNT,TO,F IF REG,FROM BX6 FROM ELSE SX6 FROM ENDIF SX7 COUNT SA6 READA SA7 COUNTA SX6 TO SA6 READCM XJ READ,F ENDM WRITET MACRO FROM,CNT LOCAL X,Y,Z SX6 FROM SA6 WFILEA SX7 CNT SA7 WFILEC XJ WRITE SX6 X7 LX6 2 IX6 X6+X7 + NZ X6,*+1 SX6 4 SA6 TAPECNT XJ WCNT WRITE COUNT INTO ECS BUFFET Y SA1 WRITEV SENDV X1 PL X7,X SENSE OK WIRTE AX7 24 SX0 2400B BX0 X0*X7 ZR X0,CRASH SENSE UNKNOWN ERROR SENDV 12B BACKSPACE SENDV 16B SKIP BADSPOT PL X7,Z SENSE SKIP BAD SPOT WAS OK JP CRASH Z SB1 TBSK SB6 5 XJ CALLBEAD SENSE MESSAGE, WRITE AGAIN JP Y X BSS 0 ENDM OPEN MACRO X XJ OPEN,1000003B EQ -1 - VFD 30/*+1,60/0,30/1,30/C.AREA ENDM CLOSE MACRO XJ CLOSE ENDM X4SAVE BSSZ 1 X5SAVE BSSZ 1 DUMP BX6 X4 BX7 X5 SA6 X4SAVE SA7 X5SAVE GET DUMPTPE,S REPLACE OPEN XJ READSELF CLOSE GET SELF,OPER GET MASTER CLIST MOVE 2,AREA MOVE CAP FOR SDVC FILE READ 1,1,SDEVIC READ SDEVICE CAP ADDRESS REPLACE GET SELF,OPER REPLACE SA1 SDEVIC MOVE X1,TAPE BUFFER CAP MOVE X1+1,OUTX OUT EVENT CHANNEL MOVE X1+2,INX INEVENT CHANNEL * * REWIND TAPE, GET PROPER ERROR RECOVERY BIT * TRYREW SENDV 10B NG X7,REWOK IR X7,REWOK MX6 1 SA6 ERRBIT SWITCH ERROR RECOVERY BIT JP TRYREW TRY IT AGAIN REWOK SENDV 3 SELECT 556 BPI SENDV 1 SELECT BINARY AX7 24 MX0 60-12 BX7 -X0*X7 SX6 2 BX6 X6*X7 NZ X6,REWOK SNESE STILL ACTIVE SX6 1 BX6 X6*X7 ZR X6,REWOK SENSE TAPE STILL BUSY SX5 2001B CLEAR PARITY AND BUSY BITS BX7 -X5*X7 SX7 X7-1124B NZ X7,PRECRASH IF NOT .. * END OF OPERATE * LOAD POINT * WRITE ENABLE * 556BPI * GET REQUESTED DIRECTORY * SA1 X4SAVE SA2 X5SAVE SB6 0 SB1 DIRAREA SB7 C.DIRECT XJ CALLBEAD GET THE FILE DIRECTORY XJ SPOPEN,1000003B EQ -1 - VFD 30/*+1,60/0,30/1,30/C.DIRECT SX6 B0 SA6 FILEADR2 GETMODE RJ GETBCDN GET BCD NAME OF FILE OR X3,STATUSD GET X1,X2 REPLACE SA1 AREA SA2 AREA+1 SA3 DIRPTR BX6 X1 LX7 X2 SA6 X3+DIRECT SA7 A6+1 SX6 X3+2 SA6 A3 JP GETMODE STATUSD SA1 DIRPTR SX1 X1+1 WRITET DIRECT,X1 FILEMARK SX6 0 SA6 FILEADR2 DUMPL RJ GETBCDN OR X3,ALLDONE SB6 0 SB7 C.AREA SB1 AREA XJ CALLBEAD OPEN * * DUMP OUT FILES AND OBJECTS LOOP * RJ COPY COPY THE FILE TO TAPE REPLACE RETURN THE DIRECTORY ENTRY CLOSE JP DUMPL ALLDONE FILEMARK FILEMARK SENDV 11B REWIND / UNLOAD THE TAPE SB6 5 SB1 ALLOK XJ CALLBEAD DELDNE SB1 DIRAREA SB6 1 RETURN THE DIRCTORY XJ CALLBEAD XJ SPCLOSE XJ RETURN ASCII XTEXT ALLOK ASCII (TAPE SUCCESSFULLY MADE) UNSUC ASCII (TAPE DUMP ABORTED .. TAPE DRIVE ERROR) CRASH SB1 UNSUC SB6 5 XJ CALLBEAD XJ RETURN COPYG SX6 B0 SA6 CFILEA COPYGL SA1 CFILEA SA2 AREA+3 SX6 512 IX6 X1+X6 MX0 30 BX2 -X0*X2 IX3 X2-X6 NG X3,LASTREAD SA6 A1 READ X1,512,CMBUFF WRITET CMBUFF,512 JP COPYGL LASTREAD IX6 X2-X1 SA6 WORDC SX2 X6 READ X1,X2,CMBUFF SA1 WORDC WRITET CMBUFF,X1 FILEMARK ENDFILE THE TAPE JP COPY RETURN PRECRASH SB1 PREMSG SB6 5 XJ CALLBEAD XJ RETURN PREMSG ASCII (TAPE NOT READIED PROPERLY) DIRERR SB1 DMSG SB6 5 XJ CALLBEAD XJ RETURN DMSG ASCII (ERROR IN DIRECTORY FILE) TBSK ASCII (TAPE BADSPOT SKIPPED) GETBCDNG XJ READ2 SA3 WORD1 OR X3,GETBCDN SA1 FILEADR2 SX6 X1+2 SA6 A1 RJ BCDIZE BX1 X6 SA3 WORD1+1 OR X3,DIRERR SENSE ERROR IN DIRECTORY RJ BCDIZE BX2 X6 SX3 B0 JP GETBCDN BCDIZEG MX0 53 LX3 4 SB7 60 SX6 B0 BCDIZEL LX3 7 BX4 -X0*X3 + ZR X4,*+1 . ZERO CHAR ON BLANK - SA4 X4+TTYCDC ID X4,ENDBCD LX6 6 BX6 X6+X4 SB7 B7-6 NZ B7,BCDIZEL JP DIRERR SENSE DIRECTORY ERROR ENDBCD LX6 X6,B7 JP BCDIZE READSELF VFD 60/C.READ VFD 60/C.AREA VFD 60/0,60/0 VFD 60/X4SAVE WORD COUNT CALLBEAD VFD 60/C.BEAD OPEN VFD 1/1,29/=XDF:OPRO,30/C.OPER,60/C.AREA SPOPEN VFD 1/1,29/=XDF:OPRO,30/C.OPER,60/C.DIRECT CLOSE VFD 1/1,29/=XDF:CLO,30/C.OPER,60/C.AREA SPCLOSE VFD 1/1,29/=XDF:CLO,30/C.OPER,60/C.DIRECT DUMPTPE. DATA 0LDUMPTPE S. DATA 0LS SELF. DATA 0LMASTER OPER. DATA 0LOPERATE ENDWORD BSS 0 END