mirror of
https://github.com/retro-software/B5500-software.git
synced 2026-05-04 23:15:41 +00:00
Commit DCMCP transcription as of 2013-01-29.
This commit is contained in:
@@ -20283,3 +20283,104 @@ FINDIT: 28027800
|
|||||||
SUBROUTINE SHORTHEADER; 28044400
|
SUBROUTINE SHORTHEADER; 28044400
|
||||||
BEGIN 28044600
|
BEGIN 28044600
|
||||||
P(WAITIO(H&@5000[CTF]&20[8:38:10],@40,OU),DEL); 28044800
|
P(WAITIO(H&@5000[CTF]&20[8:38:10],@40,OU),DEL); 28044800
|
||||||
|
WRITENDINGLABEL; 28045000
|
||||||
|
END; 28045200
|
||||||
|
%******************************************************** 28045400
|
||||||
|
SUBROUTINEBACKSPACIT; 28045600
|
||||||
|
BEGIN 28045800
|
||||||
|
WHILE WAITIO(BACKSPACER,MM,OU) ! @40 DO 28046000
|
||||||
|
BEGIN 28046200
|
||||||
|
IF DSED THEN ABORT; 28046400
|
||||||
|
IF STOPSET(P1MIX) THEN STOPM(0); 28046600
|
||||||
|
END; 28046800
|
||||||
|
P(WAITIO([TM],@40,OU),DEL); % WRITE THE TM BACK 28047000
|
||||||
|
END; 28047200
|
||||||
|
%*******************************************************************28047400
|
||||||
|
BOOLEAN SUBROUTINE NOTLOADINGFROMREEL1; 28047600
|
||||||
|
BEGIN %SKIP LAST PORTION OF FILE FROM PREVIOUS REEL 28047800
|
||||||
|
SPACIT; 28048000
|
||||||
|
IF LABELCHECK THEN P(0) ELSE 28048200
|
||||||
|
IF (NFLAG(LAB[2]) EQV "FILE000") = NOT 0 THEN 28048400
|
||||||
|
BEGIN REEL1START:=FALSE; P(1) END ELSE P(0); 28048600
|
||||||
|
NOTLOADINGFROMREEL1:=P; 28048800
|
||||||
|
END; 28049000
|
||||||
|
%******************************************************* 28049200
|
||||||
|
P(Z,RCW,MSCW,STF); RCW:=HCW&P(XCH)[CTC]; 28049400
|
||||||
|
TEMP:=P; FROMCOPY:=(TEMP=0) OR (TEMP=3) OR (TEMP=4) 28049600
|
||||||
|
GO TO SWIT[TEMP]; 28049800
|
||||||
|
CASE0: 28050000
|
||||||
|
CASE3: 28050100
|
||||||
|
TMP:=PRT[P1MIX,3]; 28050200
|
||||||
|
FPBPTR:=FPBPTR+5; 28050400
|
||||||
|
IF FPTPTR GTR 5 THEN 28050600
|
||||||
|
BEGIN TMP:=GETSPACE(FPBPTR+ETRLNG,FPBAREAV,1)+2;% %167-28050800
|
||||||
|
MOVE(FPBPTR,PRT[P1MIX,3],TMP); 28051000
|
||||||
|
FORGETSPACE(PRT[P1MIX,3].[CF]); 28051200
|
||||||
|
NFO[(P1MIX-1)|NDX]:=PRT[P1MIX,3]:= 28051400
|
||||||
|
[M[TMP]]&(FPBPTR+ETRLNG)[8:38:10]; 28051600
|
||||||
|
END; 28051800
|
||||||
|
IF TEMP=3 28052000
|
||||||
|
THEN BEGIN 28052200
|
||||||
|
STREAM(B:=TMP INX FPBPTR); 28052400
|
||||||
|
BEGIN DS:=16LIT"0DIRCTRY0DISK "; DS:=24LIT"0"; END; 28052600
|
||||||
|
STARTIMING(FPBPTR,18); 28052800
|
||||||
|
GO EXIT; 28053000
|
||||||
|
END 28053200
|
||||||
|
ELSE 28053400
|
||||||
|
STREAM(NM1:=NM1:=CCA[CCAIN+1],B:=(TMP INX FPBPTR)); 28053600
|
||||||
|
BEGIN DS:=LIT"0"; SI:=LOC NM1; SI:=SI+1; DS:=7CHR; 28053800
|
||||||
|
DS:=8LIT"0FILE000"; DS:=24LIT"0"; 28054000
|
||||||
|
END; 28054200
|
||||||
|
IREEL:=1; 28054400
|
||||||
|
NM1:=CCA[CCAIN+1]; 28054600
|
||||||
|
NM2:="FILE000"; 28054800
|
||||||
|
REEL1START:=TRUE; CHKLBL:=TRUE; 28055000
|
||||||
|
TRYAGAIN: FINDTHETAPE; 28055200
|
||||||
|
$ SET OMIT = NOT(B6500LOAD) 28055400
|
||||||
|
IF NM2!LAB[2] OR IREEL!1 THEN 28056000
|
||||||
|
IF NOT NOTLOADINGFROMREEL1 THEN 28056200
|
||||||
|
BEGIN STREAM(A:=[TINU[IU]],T:=T:=SPACE(10)); 28056400
|
||||||
|
BEGIN SI:=A;SI:=SI+5;DS:=LIT".";DS:=3CHR; 28056600
|
||||||
|
DS:=20 LIT" NOT A LIBRARY TAPE"; 28056800
|
||||||
|
DS:=LIT"~"; 28057000
|
||||||
|
END; 28057200
|
||||||
|
SPOUT(T); SETNOTINUSE(IU,1); 28057400
|
||||||
|
IREEL:=1; 28057600
|
||||||
|
GO TO TRYAGN; 28057800
|
||||||
|
END; 28058000
|
||||||
|
NM1:=LAB[1]; 28058200
|
||||||
|
SKIPDIR:=TRUE; 28058400
|
||||||
|
X:=[M[T:=SPACE(1024)]]&1023[8:38:10]; 28058600
|
||||||
|
P(WAITIO(( 28058800
|
||||||
|
$ SET OMIT = NOT(B6500LOAD) 28059000
|
||||||
|
X)&@5400[CTF],0,IU),DEL); 28059600
|
||||||
|
$ SET OMIT = NOT(B6500LOAD) 28059800
|
||||||
|
IF DSED THEN ABORT; 28061800
|
||||||
|
X:=[M[GETSPACE(DA:=M[T-1],0,1)+2]]&DA[8:38:10]; % RET XTRA SPACE 28062000
|
||||||
|
MOVE(DA,T,X); % AND MAKE X SAVE 28062200
|
||||||
|
FORGETSPACE(T); 28062400
|
||||||
|
CHKLBL:=FALSE; 28062600
|
||||||
|
TMP:=0; 28062800
|
||||||
|
IF @40=WAITIO(LAP INX @120540000000,@40,IU) THEN 28063000
|
||||||
|
IF B6500 THEN P(WAITIO(LAB INX @120540000000,0,IU),DEL) ELSE 28063200
|
||||||
|
TMP:=ENDOFREEL; 28063400
|
||||||
|
IF NOT TMP THEN% CECK ENDING LABEL IF NOT LAST FILE OR B6500LOAD 28063600
|
||||||
|
IF ((NOT B6500) AND (NFLAG(LAB[1])EQV NM1)!NOT 0 OR 28063800
|
||||||
|
(NFLAG(LAB[2]) EQV "FILE000")!NOT 0) 28064000
|
||||||
|
$ SET OMIT = NOT(B6500LOAD) 28064200
|
||||||
|
THEN BEGIN STREAM(A:=[TINU[IU]],TMP:=TMP:=SPACE(10)); 28065000
|
||||||
|
BEGIN SI := A; SI := SI+5; DS := LIT"."; DS := 3 CHR; 28065200
|
||||||
|
DS := 29 LIT " BAD FILE000 ON LIBRARY TAPE~"; 28065400
|
||||||
|
END; SPOUT (TMP); ABORT; 28065600
|
||||||
|
END; 28065800
|
||||||
|
CHKLBL:=TRUE; 28066000
|
||||||
|
$ SET OMIT = NOT(B6500LOAD) 28066200
|
||||||
|
GO EXIT; 28067000
|
||||||
|
CASE1: 28067200
|
||||||
|
FINDTHETAPE; GO EXIT; 28067400
|
||||||
|
CASE2: % FROM LIBRARYTRANSFER 28067600
|
||||||
|
CASE4: % FROM LIBRARYCOPY 28067800
|
||||||
|
ABORT; 28068000
|
||||||
|
CASE5: 28068200
|
||||||
|
OU:=IU:=-1; DS:=@77777; % INITIALIZE 28068400
|
||||||
|
FPBPTR:=0; 28068600
|
||||||
|
|||||||
Reference in New Issue
Block a user