1
0
mirror of https://github.com/retro-software/B5500-software.git synced 2026-03-02 17:44:40 +00:00
Files
Paul Kimpel 2c72f7fd1d Commit CUBE Library version 13 of February 1972.
1. Commit library tape images, directories, and extracted text files.
2. Commit additional utilities under Unisys-Emode-Tools.
2018-05-27 11:24:23 -07:00

78 lines
6.1 KiB
Plaintext

BEGIN 00000100
COMMENT PROGRAM - TAPEDUMP, 00000200
CUBE LIBRARY NUMBER IS K400001. 00000300
THIS VERSION DATED 6/20/67; 00000400
FILE LP 4 (2,15); 00000500
ARRAY F[0:1022]; FILE FF(1,1023); 00000600
INTEGER COUNT,I; 00000700
LABEL TOPP,EOF,PAR; 00000800
ARRAY LINE[0:14]; 00000900
FORMAT BAD(2(60("*")),/"IRRECOVERABLE PARITY ERROR. " 00001000
"HERE COMES THE BAD RECORD",/2(60("*"))); 00001100
FORMAT GOOD("THERE ARE",I6," WORDS IN THIS RECORD"); 00001200
STREAM PROCEDURE BLANK(LINE); 00001300
BEGIN DI~LINE; 15(DS~8 LIT " "); END; 00001400
STREAM PROCEDURE FILLF(F); 00001500
BEGIN 00001600
DI~F; 20(51(DS~ 8 LIT""")); 3(DS~8 LIT """); 00001700
END OF FILLF; 00001800
INTEGER STREAM PROCEDURE COUNTDOWN(F); 00001900
BEGIN 00002000
LOCAL ONE,TEMP1,FAREND,QUOTES; 00002100
LABEL TOP,DOWN; 00002200
DI~LOC COUNTDOWN; DS~4 LIT "0"; 00002300
DI~LOC ONE; DS~4 LIT "0001"; 00002400
DI~LOC FAREND; DS~4 LIT "1023"; 00002500
DI~LOC QUOTES; DS~8 LIT """; 00002600
DI~LOC QUOTES; SI~F; 00002700
TOP: IF 8 SC=DC THEN GO TO DOWN; 00002800
TEMP1~SI; SI~ LOC ONE; DI~ LOC COUNTDOWN; DS~ 4 ADD; 00002900
DI~DI-4; SI~ LOC FAREND; IF 4 SC=DC THEN GO TO DOWN; 00003000
SI~TEMP1; DI~LOC QUOTES; 00003100
GO TO TOP; 00003200
DOWN:SI~ LOC COUNTDOWN; DI~ LOC TEMP1; DS~ 4 OCT; 00003300
SI~ LOC TEMP1; DI~ LOC COUNTDOWN; DS~ 1 WDS; 00003400
END OF COUNTDOWN; 00003500
PROCEDURE PRINTIT; 00003600
BEGIN 00003700
PROCEDURE RUBITOUT(N); VALUE N; INTEGER N; 00003800
BEGIN 00003900
STREAM PROCEDURE BLANCIT(L,A,B,A1,B1 ); VALUE A,B,A1,B1; 00004000
BEGIN 00004100
DI~L; B(DI~DI+63; DI~DI+1); DI~DI+A; 00004200
B1(8(DS~ 8 LIT " ")); 00004300
A1(DS~ 1 LIT " "); 00004400
END; 00004500
INTEGER J; 00004600
J~120-20|N; COMMENT START HERE; 00004700
N~N|20; COMMENT BLANK OUT THIS MANY; 00004800
BLANCIT(LINE,J,J DIV 64,N,N DIV 64); 00004900
END OF RUBITOUT; 00005000
STREAM PROCEDURE WOPITOUT(F,L); 00005100
BEGIN 00005200
SI~F; DI~L; 00005300
00005400
6(8(DS~3 RESET;3(IF SB THEN DS~1 SET ELSE DS~1 RESET;SKIP SB));00005500
DS~ 1 LIT " "; 00005600
8(DS~3 RESET;3(IF SB THEN DS~1 SET ELSE DS~1 RESET;SKIP SB)); 00005700
DS~3 LIT " ";); 00005800
END; 00005900
BLANK (LINE);WRITE (LP,15,LINE[*]); 00006000
WRITE(LP,GOOD,COUNT); 00006100
WRITE (LP,15,LINE[*]); 00006200
FOR I~0 STEP 6 UNTIL COUNT-1 DO 00006300
BEGIN 00006400
BLANK(LINE); WOPITOUT(F[I],LINE); 00006500
IF I+6>COUNT THEN RUBITOUT(6-COUNT+I); 00006600
WRITE (LP,15,LINE[*]); 00006700
END; 00006800
END OF PRINTIT; 00006900
TOPP: FILLF(F); 00007000
READ(FF,1023,F[*])[EOF:PAR]; 00007100
COUNT~COUNTDOWN(F); 00007200
PRINTIT; 00007300
GO TO TOPP; 00007400
PAR: WRITE(LP,BAD); GO TO TOPP; 00007500
EOF: 00007600
END. 00007700