1
0
mirror of https://github.com/retro-software/B5500-software.git synced 2026-01-18 00:41:58 +00:00

Commit DCMCP transcription as of 2012-09-14.

This commit is contained in:
Paul Kimpel 2012-09-14 13:50:10 +00:00
parent d6e6c05eac
commit b152b4d8ad

View File

@ -11382,3 +11382,104 @@ PROCEDURE ZIPPER(A,B,C);VALUE A,B,C; REAL A,B,C; FORWARD; 14342100
END; 14358389
END; 14358390
END; IF VECTOR[2].[5:1] THEN SOFTI ~ SOFTI-1; 14358391
IF (TSKA~PRT[P1MIX,TSX]).PBIT THEN 14358392
BEGIN IF TSKA[6]=1 THEN TSKA[7]:=1; 14358393
IF (I:=TSKA[5]) NEQ 0 THEN BEGIN I:=[PRT[P1MIX,I]] INX 0; 14358394
DELINKIT;WHILE(I:=M[I].[8:10]) NEQ 0 DO 14358395
BEGIN I:=[PRT[P1MIX,I]]INX 0;DELINKIT END END; 14358397
IF (I~TSKA[8].[CF])!0 THEN % SOFTWARE INTERRUPTS DECLARED 14358398
BEGIN IF NOT TSKA[8].[4:1] THEN 14358400
SLEEP([TSKA[8]],@200000000000000); 14358450
TSKA[8].[4:1] ~ 0; 14358460
DO % DETACH SOFTWARE INTERRUPTS 14358550
BEGIN IF (ABSEVT~PRT[P1MIX,I].[FF])!0 THEN 14358580
BEGIN WHILE NOT M[ABSEVT].[5:1] DO 14358582
ABSEVT ~ M[ABSEVT].[FF]; 14358584
IF M[ABSEVT]}0 THEN 14358586
SLEEP([M[ABSEVT]],@2000000000000000);14358588
M[ABSEVT] ~ P(LOD,DUP,SSP); 14358590
T ~ (K~PRT[P1MIX,I]).[FF]; 14358595
A ~ [PRT[P1MIX,I]] INX 0; 14358597
WHILE M[T].[FF]!A DO T ~ M[T].[FF]; 14358598
M[T].[FF] ~ K.[FF]; 14358600
M[ABSEVT] ~ P(DUP,LOD,SSN); 14358605
END; 14358610
I ~ PRT[P1MIX,I].[CF]; 14358615
END UNTIL I=0; 14358620
TSKA[8].[4:1] ~ 1; 14358625
END; 14358630
TSKA[3]:=-1; 14358640
END; 14358650
END; 14358700
JAR9 := VECTOR[9]; 14358710
CHAIN ~ 0&VECTOR[9][FTC]&VECTOR[1][1:1:1]; VECTOR[9].[FF] ~ 0; 14358800
$ SET OMIT = NOT(BREAKOUT) 14358999
IF VECTOR[2]<0 THEN % COBOL 14360100
IF VECTOR[1]>0 THEN % NOT DS-ED 14360200
WHILE PRT[P1MIX,16]>0 DO ASR;%CLEAN OUT AIT 14360300
IF VECTOR[1]>0 THEN % NOT DS-ED 14360310
FOR MOMMIX:=6 STEP 5 UNTIL 11 DO 14360320
BEGIN Q:=NFLAG(PRT[P1MIX,MOMMIX]); % AIT OR OAT ENTRY 14360330
IF Q.[2:1] THEN % PRESENT, GRAB ADDRESS FROM LINK 14360340
Q := Q & M[Q INX NOT 0];[FTC]; 14360350
IF Q.[33:3]=7 THEN % AUXILIARY MEMORY IN THE ACT 14360360
DISKRTN(Q.[CF], Q.[8:10]); 14360370
IF VECTOR[2]<0 THEN MOMMIX:=11; % COBOL HAS NOT OAT 14360380
END; 14360390
SLEEP([OLAYMASK],MOMMIX~TWO(P1MIX)); 14360400
OLAYMASK ~ NOT MOMMIX AND OLAYMASK; 14360500
MOTHER ~ DALOC[P1MIX,0].[CF]; 14360600
NEXTMOM := -1; S := DALOCROW[P1MIX]; 14360700
WHILE (NEXTMOM := NEXTMOM+2)<MOTHER DO 14360800
FORGETUSERDISK(S[NEXTMOM],-500); 14360900
SLEEP([TOGLE],STOREMASK); 14361000
MOTHER ~ (MOMMIX ~ (NEXTMOM ~% 14361100
PRT[P1MIX,4].[18:12]).[36:6])=P1MIX;% 14361200
NEXTMOM ~ NEXTMOM AND @77;% 14361300
$ SET OMIT = NOT(AUXMEM) 14361309
$ SET OMIT = NOT(DEBUGGING AND AUXMEM) 14361512
WHILE(T~M[I]).[CF] ! 0 DO% 14362000
BEGIN% 14363000
IF T > 0 THEN % IN USE AREA %167-14364100
IF T.AREAMIXF = P1MIX THEN % IN USE BY THIS MIX 14364200
IF MOTHER AND (P(T.AREATYPEF,DUP) = CODEAREAV 14364300
OR P(XCH) = SEGDICTAREAV) THEN % GIVE CODE 14364400
M[I].AREAMIXF := NEXTMOM % TO NEW MOM %167-14364500
ELSE %167-14364600
FORGETSPACE(I INX 2); %167-14364700
I := T.AREAFWDLINKF; %167-14364800
END;% 14367000
INTABLEROW[P1MIX] ~ 0;% 14367100
$ SET OMIT = NOT(BREAKOUT) 14367199
$ SET OMIT = NOT(BREAKOUT) 14367999
IF NEXTMOM!0 THEN BEGIN% 14370010
IF MOTHER THEN% 14370020
IF PRT[NEXTMOM,4].[24:6]=@77 THEN% 14370030
NFO[(NEXTMOM-1)|NDX+1] ~% 14370035
PRT[NEXTMOM,4] ~ (*P(DUP))&0[18:18:15]% 14370040
ELSE BEGIN MOTHER ~ NEXTMOM;% 14370050
DO UNTIL (MOTHER ~ (PRT[MOTHER,4] ~% 14370060
NFO[(MOTHER-1)|NXD+1] ~% 14370065
(*P(DUP))&NEXTMOM[18:42:6]).[24:6])=@77;% 14370070
END% 14370080
ELSE BEGIN% 14370090
IF (PRT[MOMMIX,4].[24:6]=P1MIX) AND% 14370100
NEXTMOM=@77 THEN NFO[(MOMMIX-1)|NDX+1] ~% 14370110
PRT[MOMMIX,4] ~ (*P(DUP))&0[18:18:15]% 14370115
ELSE BEGIN% 14370120
DO BEGIN MOTHER ~ MOMMIX; 14370130
MOMMIX ~ PRT[MOMMIX,4].[24:6];% 14370140
END UNTIL MOMMIX=P1MIX;% 14370150
NFO[(MOTHER-1)|NDX+1] ~% 14370155
PRT[MOTHER,4] ~% 14370160
(*P(DUP))&NEXTMOM[24:42:6];% 14370165
END END;% 14370170
NFO[(P1MIX-1)|NDX+1] ~% 14370180
PRT[P1MIX,4] ~ (*P(DUP))&0[18:18:15];% 14370190
END;% 14370200
$ SET OMIT = NOT(AUXMEM) 14370299
IF VECTOR[2].[8:10]! 0 THEN% 14371000
$ SET OMIT = STATISTICS 14371999
FORGETSPACE(DIRECTORYSEARCH(ABS(VECTOR[0]),IF VECTOR[0]<0 14372000
THEN "DISK " ELSE ABS(VECTOR[1]),13)); 14373000
$ POP OMIT 14373001