mirror of
https://github.com/retro-software/B5500-software.git
synced 2026-03-02 17:44:40 +00:00
1. Commit library tape images, directories, and extracted text files. 2. Commit additional utilities under Unisys-Emode-Tools.
184 lines
14 KiB
Plaintext
184 lines
14 KiB
Plaintext
COPARE 000100AA 00000100
|
|
00000200
|
|
00000300
|
|
**********************************************************************00000400
|
|
PLEASE NOTE THAT THE BURROUGHS CORPORATION ASSUMES 00000500
|
|
NO RESPONSIBILITY FOR THE USE OR MAINTENANCE OF THIS PROGRAM. 00000600
|
|
**********************************************************************00000700
|
|
% 00000800
|
|
THIS PROGRAM COMPARES TWO MULTIFILE TAPES TO SEE IF THEY ARE 00000900
|
|
IDENTICAL. ALL OF THE FILES ON THE MASTER TAPE MUST BE LABEL-EQUATED 00001000
|
|
TO A "T" FILE AND ALL OF THE FILES ON THE TAPE BEING CHECKED MUST 00001100
|
|
BE LABEL-EQUATED TO AN "N" FILE. FOR EXAMPLE: 00001200
|
|
FILE T1=A/B; FILE N1=A/C 00001300
|
|
FILE T2=B/B; FILE N2=B/C 00001400
|
|
ETC. 00001500
|
|
ONE DATA CARD MUST BE INCLUDED AS INPUT. IT SHOULD BE IN FREE-FIELD 00001600
|
|
FORMAT. THE FIRST NUMBER MUST BE THE NUMBER OF FILES ON THE TAPE BEING 00001700
|
|
CHECKED, FOLLOWED BY A COMMA. AND THE SECOND NUMBER MUST BE ONE 00001800
|
|
OR ZERO, FOLLOWED BY A COMMA. IF THE SECOND NUMBER IS A ZERO, 00001900
|
|
COPARE WILL SIMPLY COMPARE THE TAPES TO DETERMINE IF THEY ARE IDENTICAL.00002000
|
|
IF THE SECOND NUMBER IS A ONE, THEN COPARE WILL FIRST DUPLICATE THE 00002100
|
|
MASTER TAPE, AND THEN WILL COMPARE THE MASTER AND THE NEWLY 00002200
|
|
CREATED TAPE TO DETERMINE IF THEY ARE IDENTICAL. 00002300
|
|
% 00002350
|
|
BEGIN 00002400
|
|
FILE IN C (1,12); 00002500
|
|
LABEL RETRY; 00002600
|
|
REAL II; 00002700
|
|
LABEL IRA; 00002800
|
|
FILE IN T1 (2,56); 00002900
|
|
FILE IN T2 (2,56); 00003000
|
|
FILE IN T3 (2,56); 00003100
|
|
FILE IN T4 (2,56); 00003200
|
|
FILE IN T5 (2,56); 00003300
|
|
FILE IN T6 (2,56); 00003400
|
|
FILE IN T7 (2,56); 00003500
|
|
FILE IN T8 (2,56); 00003600
|
|
FILE IN T9 (2,56); 00003700
|
|
FILE IN T10 (2,56); 00003800
|
|
FILE IN T11 (2,56); 00003900
|
|
FILE IN T12 (2,56); 00004000
|
|
FILE IN T13 (2,56); 00004100
|
|
FILE IN T14 (2,56); 00004200
|
|
FILE IN T15 (2,56); 00004300
|
|
FILE OUT N1 (2,56, SAVE 100); 00004400
|
|
FILE OUT N2 (2,56, SAVE 100); 00004500
|
|
FILE OUT N3 (2,56, SAVE 100); 00004600
|
|
FILE OUT N4 (2,56, SAVE 100); 00004700
|
|
FILE OUT N5 (2,56, SAVE 100); 00004800
|
|
FILE OUT N6 (2,56, SAVE 100); 00004900
|
|
FILE OUT N7 (2,56, SAVE 100); 00005000
|
|
FILE OUT N8 (2,56, SAVE 100); 00005100
|
|
FILE OUT N9 (2,56, SAVE 100); 00005200
|
|
FILE OUT N10 (2,56, SAVE 100); 00005300
|
|
FILE OUT N11 (2,56, SAVE 100); 00005400
|
|
FILE OUT N12 (2,56, SAVE 100); 00005500
|
|
FILE OUT N13 (2,56, SAVE 100); 00005600
|
|
FILE OUT N14 (2,56, SAVE 100); 00005700
|
|
FILE OUT N15 (2,56, SAVE 100); 00005800
|
|
SWITCH FILE T ~ C, 00005900
|
|
T1, 00006000
|
|
T2, 00006100
|
|
T3, 00006200
|
|
T4, 00006300
|
|
T5, 00006400
|
|
T6, 00006500
|
|
T7, 00006600
|
|
T8, 00006700
|
|
T9, 00006800
|
|
T10, 00006900
|
|
T11, 00007000
|
|
T12, 00007100
|
|
T13, 00007200
|
|
T14, 00007300
|
|
T15; 00007400
|
|
SWITCH FILE N ~ C, 00007500
|
|
N1, 00007600
|
|
N2, 00007700
|
|
N3, 00007800
|
|
N4, 00007900
|
|
N5, 00008000
|
|
N6, 00008100
|
|
N7, 00008200
|
|
N8, 00008300
|
|
N9, 00008400
|
|
N10, 00008500
|
|
N11, 00008600
|
|
N12, 00008700
|
|
N13, 00008800
|
|
N14, 00008900
|
|
N15; 00009000
|
|
INTEGER I, J, COPY; 00009100
|
|
ARRAY A[0:55]; 00009200
|
|
LABEL L, EOF; 00009300
|
|
PROCEDURE COMPARETAPES; 00009400
|
|
BEGIN 00009500
|
|
FORMAT OA6A2 (A6, A2 / 10 (A6, A2)), 00009600
|
|
IA6A2 (56 (A6, A2)); 00009700
|
|
ARRAY Y[0:111]; 00009800
|
|
LIST X (FOR I ~ 0 STEP 1 UNTIL 111 DO Y[I]); 00009900
|
|
PROCEDURE REPOSITION; 00010000
|
|
BEGIN 00010100
|
|
SPACE (T[II], - 1); 00010200
|
|
CLOSE (T[II], *); 00010300
|
|
SPACE (N[II], - 1); 00010400
|
|
CLOSE (N[II], *); 00010500
|
|
END; 00010600
|
|
FORMAT BAD ("***COPARE/UTILITY: TAPES DID NOT COMPARE ON FILES", 00010700
|
|
I2); 00010800
|
|
FORMAT GOOD ("***COPARE/UTILITY: TAPES COMPARED A-OK"); 00010900
|
|
FILE SPO 11 (1,10); 00011000
|
|
FILE LP 4 (1,15); 00011100
|
|
LABEL EOF, L, BOMBOUT; 00011200
|
|
ARRAY B[0:55]; 00011300
|
|
FORMAT FMT (O); 00011400
|
|
BOOLEAN STREAM PROCEDURE BADCOMPARE (A, B); 00011500
|
|
BEGIN 00011600
|
|
SI ~ A; 00011700
|
|
DI ~ B; 00011800
|
|
8 (IF 56 SC ! DC THEN 00011900
|
|
BEGIN 00012000
|
|
TALLY ~ 1; 00012100
|
|
JUMP OUT; 00012200
|
|
END; 00012300
|
|
); 00012400
|
|
BADCOMPARE ~ TALLY; 00012500
|
|
END; 00012600
|
|
FOR I ~ 1 STEP 1 UNTIL J DO CLOSE (N[I], SAVE); 00012700
|
|
SPACE (N[1], 1); 00012800
|
|
SPACE (N[1], - 1); 00012900
|
|
FOR I ~ 1 STEP 1 UNTIL J DO CLOSE (T[I], SAVE); 00013000
|
|
FOR I ~ 1 STEP 1 UNTIL J DO 00013100
|
|
BEGIN 00013200
|
|
L: READ (T[I], 56, A[ *]) [EOF]; 00013300
|
|
READ (N[I], 56, B[ *]) [EOF]; 00013400
|
|
IF BADCOMPARE (A, B) THEN 00013500
|
|
BEGIN 00013600
|
|
II ~ I; 00013700
|
|
WRITE (SPO, BAD, I); 00013800
|
|
BEGIN 00013900
|
|
READ (A[ *], IA6A2, X); 00014000
|
|
WRITE (LP, OA6A2, X); 00014100
|
|
END; 00014200
|
|
WRITE (LP[DBL]); 00014300
|
|
WRITE (LP[DBL]); 00014400
|
|
BEGIN 00014500
|
|
READ (B[ *], IA6A2, X); 00014600
|
|
WRITE (LP, OA6A2, X); 00014700
|
|
END; 00014800
|
|
CLOSE (LP, RELEASE); 00014900
|
|
REPOSITION; 00015000
|
|
GO TO RETRY; 00015100
|
|
END; 00015200
|
|
GO TO L; 00015300
|
|
EOF: CLOSE (N[I], *); 00015400
|
|
IF I < J THEN 00015500
|
|
BEGIN 00015600
|
|
SPACE (N[I + 1], 1); 00015700
|
|
SPACE (N[I + 1], - 1); 00015800
|
|
END; 00015900
|
|
CLOSE (T[I], *); 00016000
|
|
END; 00016100
|
|
WRITE (SPO, GOOD); 00016200
|
|
BOMBOUT: 00016300
|
|
END COMPARETAPES; 00016400
|
|
READ (C, /, J, COPY); 00016500
|
|
CLOSE (C, RELEASE); 00016600
|
|
II ~ 1; 00016700
|
|
IF COPY = 0 THEN GO TO IRA; 00016800
|
|
RETRY: FOR I ~ II STEP 1 UNTIL J DO 00016900
|
|
BEGIN 00017000
|
|
L: READ (T[I], 56, A[ *]) [EOF]; 00017100
|
|
WRITE (N[I], 56, A[ *]); 00017200
|
|
GO TO L; 00017300
|
|
EOF: IF I < J THEN 00017400
|
|
BEGIN 00017500
|
|
CLOSE (T[I], *); 00017600
|
|
CLOSE (N[I], *); 00017700
|
|
END; 00017800
|
|
END; 00017900
|
|
IRA: COMPARETAPES; 00018000
|
|
END. 00018100
|
|
END;END. LAST CARD ON 0CRDING TAPE 99999999
|