mirror of
https://github.com/pkimpel/retro-b5500.git
synced 2026-02-12 03:07:30 +00:00
Commit DCMCP transcription as of 2013-01-28.
This commit is contained in:
@@ -20182,3 +20182,104 @@ BEGIN 28000200
|
||||
GO INITIATE; 28018600
|
||||
END; 28018800
|
||||
%*********************************************************** 28019000
|
||||
BOOLEAN SUBROUTINE LABELCHECK; 28019200
|
||||
BEGIN 28019400
|
||||
TRYNEXT: 28019600
|
||||
P(WAITIO(LAB INX @120540000000,0,IU),DEL); 28019800
|
||||
$ SET OMIT = NOT(B6500LOAD) 28020000
|
||||
IF @40!WAITIO(SPACER,@40,IU) THEN 28021800
|
||||
P(WAITIO(@4740000050,0,IU),DEL); 28022000
|
||||
IF DSED THEN ABORT; 28022200
|
||||
IF (NOT B6500 AND ((NFLAG(LAB[0]).[6:42] EQV "LABEL ")!NOT 0 28022400
|
||||
OR (NFLAG(LAB[2]).[6:24] EQV "FILE")!NOT 0)) 28022600
|
||||
$ SET OMIT = NOT(B6500LOAD) 28022800
|
||||
THEN BEGIN 28023600
|
||||
STREAM(A:=[TINU[IU]],T:=T:=SPACE(10)); 28023800
|
||||
BEGIN SI:=A;SI:=SI+5;DS:=LIT".";DS:=3 CHR; 28024000
|
||||
DS:=21 LIT" NOT A LIBRARY TAPE~"; 28024200
|
||||
END; 28024400
|
||||
SPOUT(T); T:=1; 28024600
|
||||
END ELSE T:=0; 28024800
|
||||
IF T=0 AND NOT B6500 THEN 28025000
|
||||
IF NFLAG(LAB[2]).[30:18]=0 AND SKIPDIR THEN 28025200
|
||||
BEGIN 28025400
|
||||
SPACITSW:=1; CHKLBL:=FALSE; 28025600
|
||||
GO TO BACK; %BRANCH INTO SPACIT. 28025800
|
||||
BAC: 28026000
|
||||
SPACITSW:=0; CHKLBL:=TRUE; 28026200
|
||||
GO TO TRYNEXT; 28026400
|
||||
END; 28026600
|
||||
LABELCHECK:=T; 28026800
|
||||
END; 28027000
|
||||
%*********************************************************** 28027200
|
||||
SUBROUTINE FINDTHETAPE; 28027400
|
||||
BEGIN 28027600
|
||||
FINDIT: 28027800
|
||||
IF (IU:=FINDINPUT(NM1,NM2,IREEL,-0,0,0,0,0,1,FPBPTR)) < 0 28028000
|
||||
THEN ABORT: 28028100
|
||||
NM1.UNITNUM:=0; %148-28028110
|
||||
IREEL:=RDCTABLE[IU].[14:10]; %FORCE REEL CONTINUITY IF IL-ED. 28028200
|
||||
RRRMECH:=TWO(IU) OR RRRMECH; 28028400
|
||||
B6500:=PRNTABLE[IU].[2:1]; 28028600
|
||||
$ SET OMIT = NOT(B6500LOAD) 28028800
|
||||
IF CHKLBL THEN IF LABELCHECK THEN 28029400
|
||||
BEGIN 28029600
|
||||
SETNOTINUSE(IU,1); 28029800
|
||||
GO FINDIT; 28030000
|
||||
END; 28030200
|
||||
% STARTIMING(FPBPTR,IU); DONE IN FINDINPUT 28030400
|
||||
% M[PRT[P1MIX,3] INX (5|IREEL+3)].[23:1] := 1; 28030600
|
||||
RDCTABLE[IU].[8:6]:=P1MIX; 28030800
|
||||
STREAM (S:=PRNTABLE[IU].[18:30],T:=[T]); 28031000
|
||||
BEGIN SI:=LOC S; DS:=8DEC; DI:=DI-7; DS:=6FILL; END; 28031200
|
||||
$ SET OMIT = PACKETS 28031400
|
||||
FILEMESSAGE(" IN "&TINU[IU][6:30:18],T, 28032000
|
||||
NM1,NM2,IREEL,0,0,OPNMESS); 28032200
|
||||
END; % OF FINDTHETAPE 28032400
|
||||
%*********************************************************** 28032600
|
||||
BOOLEAN PROCEDURE ENDOFREEL; 28032800
|
||||
BEGIN 28033000
|
||||
BLASTQ(IU); 28033200
|
||||
IF P(WAITIO(LAB INX @120540000000,@2000040,IU),DUP)=@20 THEN 28033400
|
||||
BEGIN % PAR OR ENDING LABEL:TEST FOR LAST FILE ON TAPE(EOF) 28033600
|
||||
LAB[4]:=(*P(DUP))&(WAITIO(SPACER,@40,IU)=@40)[47:47:1]; 28033800
|
||||
P(WAITIO(5&@3400[CTF],@377,IU),DEL); 28034000
|
||||
END; 28034200
|
||||
$ SET OMIT = NOT(B6500LOAD) 28034400
|
||||
NT1:=P; 28036000
|
||||
IF DSED THEN ABORT; 28036200
|
||||
IF ((NOT B6500) AND NFLAG(LAB[4]) AND NT1!@40) 28036400
|
||||
$ SET OMIT = NOT(B6500LOAD) 28036600
|
||||
THEN BEGIN 28037200
|
||||
STOPTIMING(FPBPTR,1023);% 28037400
|
||||
SETNOTINUSE(IU,0); 28037600
|
||||
IREEL:=IREEL+1; 28037800
|
||||
$ SET OMIT = NOT(B6500LOAD); 28038000
|
||||
NM2:=LAB[2]; 28039200
|
||||
NM1:=LAB[1]; 28039400
|
||||
FINDTHETAPE; 28039600
|
||||
ENDOFREEL:=TRUE; 28039800
|
||||
END ELSE ENDOFREEL:=FALSE; 28040000
|
||||
END; % OF SUBROUTINE ENDOFREEL 28040200
|
||||
%*******************************************************************28040400
|
||||
SUBROUTINE WRITENDINGLABEL; 28040600
|
||||
BEGIN 28040800
|
||||
P(WAITIO([TM],@40,OU),DEL); 28041000
|
||||
P(WAITIO(LBL&@5000[CTF],@40,OU),DEL); 28041400
|
||||
IF DSED THEN ABORT; 28041600
|
||||
END; % OF WRITE ENDING LABEL 28041800
|
||||
%*********************************************************** 28042000
|
||||
SUBROUTINE SPACIT;% 28042200
|
||||
BEGIN 28042400
|
||||
BACK: WHILE WAITIO(SPACER,MN,IU)!@40 DO 28042600
|
||||
BEGIN 28042800
|
||||
IF DSED THEN ABORT; 28043000
|
||||
IF STOPSET(P1MIX) THEN STOPM(0); 28043200
|
||||
END; 28043400
|
||||
IF ENDOFREEL AND NOT SPACITSW THEN GO BACK; 28043600
|
||||
IF SPACITSW THEN GO TO BAC; %BRNACH TO LABELCHECK ELSE EXIT 28043800
|
||||
END; 28044000
|
||||
%*******************************************************************28044200
|
||||
SUBROUTINE SHORTHEADER; 28044400
|
||||
BEGIN 28044600
|
||||
P(WAITIO(H&@5000[CTF]&20[8:38:10],@40,OU),DEL); 28044800
|
||||
|
||||
Reference in New Issue
Block a user