1
0
mirror of https://github.com/pkimpel/retro-b5500.git synced 2026-02-11 10:55:09 +00:00

Commit DCMCP transcription as of 2013-03-05.

This commit is contained in:
paul
2013-03-05 16:25:44 +00:00
parent 3aa2e67493
commit c8c2c21787

View File

@@ -22063,3 +22063,101 @@ LABEL W3; 37005000
BEGIN IF NOT(GOTL OR GOTB OR GOTC) THEN% 37021000
BEGIN IF (U:=T1,UNTINUM) ! 0 THEN %148-37022000
BEGIN U:=U-1; P(LABELTABLE[U]=0); GO OWT; END; %148-37022100
IF T1 ! 0 THEN %148-37022200
BEGIN FOR U~0 SETP 1 UNTIL 15 DO% 37023000
IF (MULTITABLE[U] EQV T1)=NOT 0 THEN% 37024000
IF LABELTABLE[U]<0 THEN% 37025000
IF RDCTABLE[U].[8:6]=P1MIX THEN% 37026000
IF (T3~PRNTABLE[U])<0 THEN% 37027000
IF T3.[15:15]!0 THEN % DONT USE NONEXISTENT FIB %548-37027500
IF M[M[T3.[15:15]-3] INX 5].[41:1] THEN% 37028000
BEGIN P(1); GO OWT END;% 37029000
END;% 37030000
FOR U~0 STEP ` UNTIL 15 DO% 37031000
IF LABELTABLE[U]=0 THEN BEGIN P(1); GO OWT END;% 37032000
END;% 37033000
P(0);% 37034000
OWT: MAGTAPE~GOTT~P;% 37035000
END MAGTAPE;% 37036000
SUBROUTINE BADFM; %BUILD AND SPOUT BAD FM MESSAGE % 37036100
BEGIN %RHR 37036200
T1~SPACE(10); 37036300
STREAM(A~TINU[U],MX~P1MIX,T1); %RHR 37036400
BEGIN DS~19 LIT "INVALID INPUT UNIT "; %RHR 37036500
SI~LOC MX; DS~2 DEC; DS~2 LIT"FM"; %RHR 37036600
SI~LOC A; SI~SI-5; DS~3 CHR; %RHR 37036800
DS~LIT "~"; DI~DI-8; DS~FILL; %RHR 37036900
END; SPOUT(T1); %RHR 37037000
LABELTABLE[U]~@114; READY~READY AND (U~NOT TWO(U)); 37037100
RRRMECH~RRRMECH AND U; SAVEWORD~SAVEWORD AND U; %RHR 37037200
END BADFM SUBROUTIN; %RHR 37037300
REAL SUBROUTINE BKUPTAPE;% 37038000
BEGIN IF NOT(GOTL OR GOTC) THEN 37039000
FOR U~0 STEP 1 UNTIL 15 DO% 37040000
IF (LABELTABLE[U] EQV T3)=NOT 0 THEN% 37041000
IF (MULTITABLE[U] EQV T2)=NOT 0 THEN% 37042000
BEGIN P(1); GO AROUND END;% 37043000
P(0); 37044000
AROUND: BKUPTAPE~GOTB~P;% 37045000
END BKUPTAPE;% 37046000
$ SET OMIT = NOT(PACKETS) 37046004
FREEF:=TYPE.[1:1]; TYPE:=ABS(TYPE); 37046005
$ POP OMIT 37046006
IF TYPE>1 AND TYPE!4 AND TYPE!6 AND TYPE<15 THEN GO SOMEWHERE; 37046020
ROUND: IF TYPE=1 OR TYPE=4 OR (TYPE>16 AND TYPE<19) THEN 37046040
IF PRINTER THEN BEGIN KIND~1; GO CKFM END; %P 37046060
IF TYPE=0 OR (TYPE>20 AND TYPE) THEN 37046070
IF PUNCH THEN BEGIN KIND~6; GO CKFM END; 37046075
IF TYPE=4 OR TYPE=6 OR TYPE=16 OR TYPE=18 OR 37046080
(TYPE GEQ 20 AND NOT TYPE.[46:1]) THEN 37046090
BEGIN T1~0; T2~IF TYPE GEQ 20 THEN "PUTMCP " ELSE "PBTMCP "; 37046100
T3~@122212342546447; 37046110
IF BKUPTAPE THEN GO THERE; %P 37046120
IF MAGTAPE THEN %P 37046140
CLAIMT: BEGIN MULTITABLE[U]~T2; LABELTABLE[U]~-T3; %P 37046160
RRRMECH~TWO(U) OR RRRMECH; %P 37046170
IF REEL=0 THEN REEL~1; 37046175
RDCTABLE[U]~P(DUP,LOD)&REEL[14:38:10]; %745-37046177
&CDATE[24:31:17]&CYCLE[41:41:7]; %745-37046178
T1~GETSPACE(10,0,0)+4; %P 37046180
STREAM(U:=TINU[U],N:=PRNTABLE[U],[30:18], 37046190
A~REEL,B~DATE,C~CYCLE,D~0,PN~TYPE GEQ 20, 37046192
T~T1-2); 37046194
BEGIN DS~12LIT" NEW PBT ON"; SI~LOC U; SI~SI+5; %P 37046200
PN(D~DI; DI~DI-6; DS~2LIT"UT"; DI~D); 37046205
DS~3 CHR;DS~25LIT"~ LABEL 0PBTMCP 0BACK-UP";%P 37046210
PN(D~DI; DI~DI-14; DS~2LIT"UT"; DI~D); 37046212
SI := LOC A; DS := 3 DEC; 37046215
SI:=SI+3;DS:=5CHR;SI:=SI+7;DI:=DI+1;DS:=CHR;37046217
15(DS:=2 LIT"0");DI:=DI-11;SI:=LOC N; 37046220
DS:=5 DEC; 37046221
END; %P 37046240
P(WAITIO(T1&8[8:38:10]&5[21:45:3],0,U),DEL); %P 37046260
SPOUT(T1-2); 37046270
T1.[1:11]:=@17437; 37046280
P(WAITIO([T1],0,U),DEL); %P 37046300
THERE: LABELTABLE[U].[1:5]~@20; KIND~7; GO EXIT %P 37046320
END; END; %P 37046340
IF (TYPE GEQ 15 AND TYPE LEQ 18) OR TYPE GEQ 22 THEN 37046350
BEGIN 37046360
$ SET OMIT = NOT(PACKETS) 37046369
IF (T1:=PSEUDOMIX[P1MIX])!0 AND TYPE<22 AND NOT FREEF THEN 37046370
BEGIN 37046380
T:=T1-32; 37046390
T2:=PACKETPBD[T1]; 37046400
T3:=CIDTABLE[T1,6].[6:24]; 37046410
IF T2=0 OR T3=0 OR (T2+10)>1000 THEN GO FREEL; 37046420
PACKETPBD[T1]:=T2+10; 37046430
END ELSE 37046440
$ POP OMIT 37046441
BEGIN 37046450
$ SET OMIT = NOT(PACKETS) 37046459
FREEL: 37046460
$ POP OMIT 37046461
T3:=NEXTCDNUM(1); 37046470
T2:=001; 37046480
END; 37046490
KIND:=12; 37046500
STREAM(T3,T2,D:=T1:=U:=SPACE(30)); 37046520
BEGIN 37046530
DS~8 LIT"0@+1.013"; 37046540