1
0
mirror of https://github.com/retro-software/B5500-software.git synced 2026-03-02 17:44:40 +00:00

Commit DCMCP transcription as of 2013-01-30.

This commit is contained in:
Paul Kimpel
2013-01-30 16:32:42 +00:00
parent d705f740d8
commit 71faddd306

View File

@@ -20364,7 +20364,7 @@ TRYAGAIN: FINDTHETAPE; 28055200
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 TMP THEN% CHECK 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
@@ -20384,3 +20384,103 @@ CASE4: % FROM LIBRARYCOPY 28067800
CASE5: 28068200
OU:=IU:=-1; DS:=@77777; % INITIALIZE 28068400
FPBPTR:=0; 28068600
CHKLBL:=TRUE; SKIPDIR:=TRUE; 28068800
IOD:=[M[GETSPACE(6,0,1)+2]]&2[8:38:10]; 28069000
WRDSZ:=4 INX IOD; 28069200
AROW:=2 INX IOD; 28069400
AROW[0]:=[M[GETSPACE(902,0,1)+2]]&901[8:38:10]; 28069600
AROW[1]:=AROW[0]&(GETSPACE(902,0,1)+2)[CTC]; 28069800
H:=[M[TYPEDSPACE(42,DISKHEADERAREAV))] & 30[8:38:10];% %167-28070000
IF DESTIN.UNITNUM = 19 THEN %148-28070200
BEGIN 28070400
COMMON:=IF DESTIN.[42:6] NEQ 0 THEN DESTIN OR M ELSE 28070600
IF DESTIN.[40:1] THEN 1 OR M ELSE 28070800
IF DESTIN.[41:1] THEN 2 OR M ELSE 0; 28071000
OU:=18; 28071200
STREAM(B:=PRT[P1MIX],3] INX 0); 28071400
BEGIN DS:=16LIT"0DIRCTRY0DISK "; DS:=24LIT"0"; END; 28071600
STARTIMING(0,OU); 28071800
END 28072000
ELSE 28072200
BEGIN OREEL:=1; 28072400
TM:=0&"}~"[1:37:11]; 28072600
LBL:=[M[TAPELABEL(DESTIN,NM2:-"FILE000",1,1,100)]]&10[8:38:10]; 28072800
IF (OU:=LABELASCRATCH(LBL)) LSS 0 THEN ABORT; 28073000
STREAM(N:=DESTIN,B:=PRT[P1MIX,3] INX 0); 28073200
BEGIN DS:=LIT"0"; SI:=LOC N; SI:=SI+1; DS:=7CHR; 28073400
DS:=8LIT"0FILE000"; DS:=24LIT"0"; 28073600
END; 28073800
STARTIMING(0,OU); 28074000
PRNTABLE[OU]:=(*P(DUP)) & (IOD)[15:33:15]; 28074050
SV:=M[FAINFO]; 28074200
M[FA+FASZ]:=@14; % TO REMIAN COMPATIBLE WITH EARLIER MCPS 28074400
P(WAITIO(FA&(FASZ+I)[8:38:10]&@5000[CTF],@40,OU),DEL); 28074600
M[FAINFO]:=SV; 28074800
WRITENDINGLABEL; 28075000
END; 28075200
GO EXIT; 28075400
CASE6: 28075600
IF Y.[7:1] AND Y.[27:1] THEN % END OF TAPE 28075800
IF Y.[24:1] 28076000
THEN % EOF ON SOURCE 28076200
BEGIN 28076400
IF NOT ENDOFREEL THEN 28076600
BEGIN 28076800
P(WAITIO(@4740000020,@377,IU),DEL); 28077200
TEMP:=-1; % FOR NOTCOPIED MESSAGE AT P1 28077400
IOD[1]:=IOD[0]:=IOMASK; GO P1; 28077600
END; 28077800
IF WAITIO(IOD[W] INX @16040540000000,SM,IU) NEQ 0 28078000
THEN GO P1; 28078200
IF IOD[1-W].[7:1] AND Y.[3:4]=IOD[1-W].[3:4] THEN 28078400
BEGIN 28078600
IF WAITIO(IOD[1-W],SM,IU) NEQ 0 THEN GO P1; 28078800
IOD[1-W]:=(*P(DUP)) OR IOMASK; 28079000
END; 28079200
END 28079400
ELSE 28079600
BEGIN % EOT ON DESTINATION 28079800
IF IOD[1-W].[7:1] AND Y.[3:4]=IOD[1-W].[3:4] THEN 28080000
BEGIN 28080200
SLEEP([IOD[1-W]],IOMASK); 28080400
IF IOD[1-W].[28:1] THEN GO P3; 28080600
IOD[1-W].[27:1]:=0; 28080800
END; 28081000
TAPEPAR:LBL[4]:=(*P(DUP)) OR 1; 28081200
IF LBL[2].[30:18]=0 THEN %FILE000 LAST FILE 28081400
STREAM(A:=J+2,B:=[LBL[2]]); 28081600
BEGIN SI:=LOC A; DI:=DI+5; DS:=3 DEC END; 28081800
P(WAITIO([TM],@40,OU),DEL); 28082000
P(WAITIO(LBL&@5000[CTF],@40,OU),DEL); 28082200
P(WAITIO([TM],@40,OU),DEL); 28082400
STOPTIMING(0,1023); 28082600
SETNOTINUSE(OU,1); 28082800
LBL[4]:=(*P(DUP)) AND NOT(1); 28083000
STREAM(OREEL:=OREEL:=OREEL+1,LBL); 28083200
BEGIN SI:=LOC OREEL; 28083400
DI:=DI+24; DS:=3 DEC; 28083600
END; 28083800
IF (OU:=LABELASCRATCH(LBL)) LSS 0 THEN 28084000
BEGIN COPYING:=FALSE; ABORT; END; 28084100
STARTIMING(0,OU); 28084200
PRNTABLE[OU]:=(*P(DUP)) & (IOD)[15:33:15]; 28084250
DUMPDIR:=TRUE; %DUMP DIRECTORY 28084400
END 28084600
ELSE 28084800
IF Y.[7:1] % TAPE PARITY 28085000
THEN IF Y.[24:1] 28085200
THEN BEGIN % PARITY ON INPUT TAPE 28085400
P1: COMPLEXSLEEP((((IOD[0] AND IOD[1]) AND IOMASK) NEQ 0) 28085600
OR DSED); 28085800
NOTCOPIED)27+((TEMP=10)|12)+((TEMP=(-1))|6)); 28086000
IF DSED THEN ABORT; 28086200
SKIPFILE:=TRUE; 28086400
P2: BLASTQ(IU); 28086600
P(WAITIO(@4740000020,@377,IU),DEL); 28086800
IF J NEQ ((FASZ DIV 2)-1) THEN SPACIT; 28087000
IF OU=18 28087200
THEN P(DIRECTORYSEARCH(MFID,FID,6),DEL) 28087400
ELSE BEGIN 28087600
BACKSPACIT; 28087800
SHORTHEADER; 28088000
END; 28088200