1
0
mirror of https://github.com/retro-software/B5500-software.git synced 2026-03-03 01:47:56 +00:00

Commit DCMCP transcription as of 2012-11-22; Processor IIO and miscellaneous improvements.

This commit is contained in:
Paul Kimpel
2012-11-23 03:39:59 +00:00
parent 2bd6a5e467
commit 1eeda8d514

View File

@@ -16244,3 +16244,112 @@ PROCEDURE SELECTRUN(F); VALUE F; REAL F; 20140800
20149300
TYPE := STARTING; 20149400
20149500
START: 20149600
20149700
P1MIX := 0; 20149800
IF F NEQ 0 THEN % SHEET ENTRY PASSED AS A PARAMETER 20149900
BEGIN 20150000
S := IOQUE & F[CTC]; % SHEET ENTRY 20150100
HDR := F.[FF]; % CORE ADDRESS OF OBJECT FILE HEADER 20150200
END 20150300
ELSE 20150400
BEGIN 20150500
IF TYPE=STARTING AND NOT SHEETLOCKED THEN 20150600
BEGIN 20150700
SLEEP([TOGLE].SHEETMASK); 20150800
LOCKTOG(SHEETMASK); 20150900
SHEETLOCKED := 1; 20151000
END; 20151100
P([SVALUE], STS); 20151200
SELECTRUN1; 20151300
IF TYPE LSS 0 THEN 20151400
GO TO SW[TYPE:=ABS(TYPE)]; 20151500
END; 20151600
20151700
CONTINUE: 20151800
20151900
P1MIX := 0; 20152000
IF (MCPJOB := S[2].SSYSJOBF) THEN 20152100
IF (MCPJOB = PRNPBTCODE AND AUTOPRINT) OR 20152200
(MCPJOB = LDCNTRLCODE AND CDONLY) THEN 20152300
MCPJOB.[1:1] := 1; 20152800
20152900
% NOTE: A NEGATIVE SIGN FOR MCPJOB IMPLIES THAT THIS JOB 20153000
% SHOULD BE STARTED REGARDLESS OF THE AVAILABILITY OF 20153100
% SYSTEM CORE. 20153200
20153300
IF INTSIZE=0 THEN % NO INTRINSICS FILE 20153400
IF NOT(MCPJOB) THEN % NOT "SYSTEM" PROGRAM 20153500
BEGIN 20153600
STREAM(NT3:=NT3:=SPACE(4)); 20153700
DS:=24 LIT"##NO INTRINSICS FILE...~"; 20153800
SPOUT(NT3); 20153900
SLEEP([INTSIZE],@1777); 20154000
END; 20154100
20154200
WHILE(NT2:=XCLOCK+P(RTR)) GEQ WITCHINGHOUR DO MIDNIGHT; 20157700
20157800
% ***** * ***** * * **** *** ***** * * 20157900
% * * * * * * * * * * * * * 20158000
% * * * ***** * * * * ***** *** 20158100
% * * * * * * * * * * * * 20158200
% ***** ***** * * * **** *** ***** * * 20158300
20158400
IF NOT MCPJOB THEN % NOT "LIBMAIN","LDCNTRL","PRNPBT" 20158500
IF OLAYDISK=0 THEN % NO OLAY DISK OBTAINED YET 20158600
IF(OLAYDISK:=PETUERDISK(500 OR M,1))=0 THEN % NO OLAY DISK 20159100
BEGIN 20159200
L:=1; 20159500
GO TO PASS; 20159900
END; % IF NOT OLAY DISK 20160000
20160200
COMMENT JOB WILL BE RUN ONLY IF: 20160300
1) AN XS OR ES MESSAGE HAS BEEN ENERED FOR THIS JOB, (IN WHICH 20160400
CASE SHEETDIDDLER TURNED ON S[2].[1:1] AND CALLED SELECTION),20160500
OR 2) THE SUM OF THIS JOBS CORE REQUIREMENTS (S[20]) PLUS THE SUM 20160600
OF THE CORE REQUIREMENTS OF ALL OTHER JOBS ACTUALLY RUNNING 20160700
(CORE.[FF]) IS LESS THAN THE TOTAL AMOUNT OF CORE AVAILABLE 20160800
FOR USER PROGRAMS (THE INITIAL SPACE AVAILABLE (CORE.[CF]) 20160900
TIMES THE MULTIPROCESSING FACTOR (CORE.[4:14]), 20161000
OR 3) "LDCNTRL/DISK" IS BEING TESTED AND THE "CDONLY" OPTION IS SET 20161100
OR 20161200
"PRNPBT/DISK" IS BEING TESTED AND THE "AUTOPRNT" OPTION IS SET20161300
20161400
IF THE JOB BEING TESTED IS A "SYSTEM" JOB (LIBMAIN,LDCNTRL, 20161500
PRNPBT) AND THE ABOVE CONDITIONS ARE NOT SATISFIED, THE 20161600
THE APPARENT AMOUNT OF AVAILABLE CORE (AS SHOWN IN THE "CORE" 20161700
WORD) IS TESTED USING A FACTOR OF 1.1 TIMES THE ACTUAL FACTOR 20161800
IN ORDER TO ATTEMPT TO FORCE THESE JOBS IN. 20161900
END OF COMMENT; 20162000
20162100
IF S[2].[8:10]=5 THEN % "RUN" JOB GETS SPECIAL HANDLING 20162300
$ SET OMIT = NOT(DATACOM AND RJE ) 20162400
BEGIN 20162700
TYPE := RUNING; 20162800
P([SVALUE],STS); 20162900
SELECTRUN1; 20163000
IF TYPE LSS 0 THEN 20163100
GO TO SW[TYPE:=ABS(TYPE)]; 20163200
END; % IF A "RUN" REQUEST 20163300
T:=S[20]; % USED UNTIL 20178900 20163600
IF (EST:=CORE.[CF]|CORE.[4:14]/100)<T THEN % ESTIMATE > TOTAL. 20163700
IF EST>0 THEN T:=EST; % SET IT TO TOTAL. 20163800
L:=0; %125-20163900
IF NOMEM NEQ 0 THEN GO TO PASS; 20164000
IF (S[2] LSS 0) OR (MCPJOB.[1:1]) THEN GO TO JARSPACE; 20164200
% MCPJOB.[1:1]=1 MEANS RUN IT REGARDLESS OF CORE AVAILABILITY 20164300
% S[2].[1:2] ::: [0=NORMAL, 1=NOT USED, 2=XS-ED, 3=ES-ED] 20164400
IF (LEVEL GTR PASSLEVEL) THEN GO TO PASS; %140-20164700
$ SET OMIT = NOT(BREAKOUT) %140-20164750
$ SET OMIT = NOT(WORKSET) 20165110
IF (WKSETSTOPJOBS NEQ 0) OR WKSETNOSELECT THEN GO TO PASS; 20165120
$ POP OMIT % WORKSET 20165130
IF CORE.[FF]+T > (IF MCPJOB THEN EST|1.1 ELSE EST) THEN GO PASS;20165300
% AN ATTEMPT IS MADE TO RUN MCPJOBS EVEN WHEN CORE IS FULL BY 20165400
% TESTING THEM AGAINST A VALUE 10% HIGHER. 20165500
20166800
% *** ***** ***** ***** ***** ***** ***** ***** 20166900
% * * * * * * * * * * * * 20167000
% * ***** ***** ***** ***** ***** * ***** 20167100
% * * * * * * * * * * * * 20167200
% ***** * * * * ***** * * * ***** ***** 20167300