Trailing-Edge
-
PDP-10 Archives
-
decuslib20-01
-
decus/20-0019/wire.txt
There are 2 other files named wire.txt in the archive. Click here to see a list.
NUCLEAR PHYSICS LABORATORY
OXFORD.
MAY 1970
PROGRAM WIRE
------------
PROGRAM WIRE WAS WRITTEN BY RICHARD J. PLANO OF
RUTGERS UNIVERSITY AND SUBMITTED TO 'DECUS' IN 1967 (NO 6-26).
THE FOLLOWING DISCRIPTION IS SUPLEMENTARY TO TO THE
WRITEUP SUPPLIED BY 'DECUS' AND DESCRIBES CHANGES, MADE BY
P.J. HAGAN, WHICH WERE FOUND NECESSARY OR DESIRABLE WHEN THE
PROGRAM WAS USED AT OXFORD. THIS DECRIPTION ASSUMES A
FAMILIARITY WITH THE 'DECUS' WRITEUP.
A. CHANGES FOUND NECESSARY TO ALLOW RUNNING OF THE PROGRAM.
--------------------------------------------------------
1) AUTOMATIC CORE EXPANSION. IN THE ORIGINAL PROGRAM SUFFICIENT CORE
WAS ASSIGNED AT ASSEMBLY TIME FOR THE NUMBER OF ROWS SPECIFIED
BY THE VALUE OF 'NROW' IN THE PARAMETER FILE 'PAR'. IF AT RUN
TIME THE NUMBER OF ROWS SPECIFIED WAS GREATER THAN ABOVE, THEN
MORE CORE WAS ASSIGNED TO THE MAP AREA BEGINNING AT
LOCATION 'MAP' IN FILE 'STOR'. THE MANNER OF EXPANSION WAS SUCH
THAT IF 'STOR' WAS NOT THE LAST FILE LOADED, CODING BEYOND
'STOR' AS ASSIGNED AS MAP STORAGE AND ZEROISED. THIS MEANT
THAT FOR THE PROGRAM TO RUN SUCCESSFULLY A LIBRARY SEARCH HAD TO
BE COMPLETED BEFORE 'STOR' WAS LOADED.
IN THE CURRENT VERSION ALL MAP STORAGE AREA IS ASSIGNED
AT RUN TIME. LOCATION 'MAP' CONTAINS THE ADDRESS OF THE FIRST
LOCATION OF THE MAP STORAGE AREA WHICH IS SET EQUAL TO JOBFF.
IN THE TIME SHARED VERSION OF WIRE, THE CORE REQUIRED
FOR THE DESIGNATED NUMBER OF ROWS IS OBTAINED USING THE CORE UUO.
THE MESSAGE 'INSUFFICIENT CORE ? ' IS TYPED IF CORE IS NOT
AVAILABLE OR IF IN A 10/40 SYSTEM THE USERS CORE CAN NOT BE
EXPANDED. SINCE THE UUO IS A NO-OP IN THE SINGLE USER MONITOR
AND WOULD THUS ALWAYS RESULT IN THE ERROR RETURN, THE CODE
ASSOCIATED WITH THE UUO AND ITS ERROR MESSAGE IS ASSEBLED ONLY IF
THE FEATURE TEST SWITCH 'FTSGL' DEFINED IN 'PAR' IS EQUAL TO ZERO.
2) ERROR CHECKS ON SOURCE FILES. IN THE ORIGINAL PROGRAM, CHECKS
WERE MADE FOR SYNTAX ERRORS IN THE SOURCE FILES AND FOR
ILLEGAL ROWS, MODULE POSITIONS AND PINS. WHEN AN ERROR WAS
ENCOUNTERED A MESSAGE 'ERROR IN SEQUENCE #XXXX' WAS PRINTED ON
THE LPT. HOWEVER DUE TO FAILURE TO SAVE AN AC, THE PROGRAM
WOULD LOOP ON THIS ERROR MESSAGE. THIS FAULT HAS BEEN FIXED.
WHEN THE SUB-PROGRAM 'CONIN' ENCOUNTERED ERRORS
IN SCANNING THE SOURCE FILE 'WIRE.DAT' IT WOULD HALT.
FROM THE PC VALUE THE TYPE OF ERROR COULD BE DETERMINED
(E.G. A POINT IMPLICITLY GROUNDED). HOWEVER NO
INDICATION WAS GIVEN OF THE LINE ON WHICH THE ERROR OCCURRED
MAKING THE IDENTIFICATION OF THE ERROR DIFFICULT. THE PROGRAM
HAS BEEN CHANGED SO THAT IT WILL STILL HALT TO IDENTIFY THE
TYPE OF ERROR, BUT ON CONINUING A 'TROUBLE AT SEQUENCE #' ERROR
MESSAGE WILL BE GIVEN AND SCANNING OF THE SOURCE FILE WILL
CONTINUE.
3) DEFINITIONS OF JOBFF AND JOBSA. THE VALUES OF THESE JOB
DATA AREA LOCATIONS WERE DEFINED IN THE PARAMETER FILE EQUAL
TO VALUES USED IN THE TIME SHARING MONITORS. THIS CAUSED CHAOS
WHEN RUNNING IN THE SINGLE USER MONITOR WHERE THESE VALUES
ARE NOT APPROPRIATE. THESE LOCATIONS HAVE NOW BEEN DEFINED
AS EXTERNALS SO THEIR APPROPRIATE VALUES CAN BE READ DURING
LIBRARY SEARCH OF JOBDAT.REL.
B. CHANGES FOUND DESIRABLE.
-----------------------
1) CHANGES IN INITIAL PROGRAM DIALOGUE.
FOLLOWING THE QUERY
# OF ROW=
THE FOLLOWING HAVE BEEN INSERTED
ROW NAMES=
JOB NAME=
DATE (E.G. 22 AUG 69) =
EACH ADDITIONAL ROW REQUIRES 1K OF CORE. THUS IN THE
ORIGINAL PROGRAM, IF ROWS U,V,W AND X ONLY WERE TO BE
WIRED, 20 ROWS HAD TO BE REQUESTED TO ALLOW THE CORRECT ROW
NAMES TO BE USED IN THE INPUT AND OUTPUT DATA FILES.
IF 'N' ROWS ARE REQUESTED, THE PROGRAM WILL CURRENTLY
ACCEPT THE FIRST 'N' CHARACTERS TYPED IN RESPONSE TO
'ROW NAMES=' AS THE ROW NAMES TO BE USED FOR INPUT
AND OUTPUT. THUS ONLY NK BLOCKS OF STORAGE ARE
EVER NEEDED FOR MAP STORAGE.
THE DATE AND THE FIRST 24 CHARACTERS TYPED AS A JOB
NAME WILL BE PRINTED AT THE TOP OF ALL OUTPUT TO HELP
IN THE LATER IDENTIFICATION .
2) EDIT COMMAND 'C-A21,B11'. THE EDIT MODE COMMAND ABOVE
HAS BEEN ADDED TO ALLOW SHIFTING OF A MODULE, FROM ITS ASSIGNED
POSITION (A21) TO SOME OTHER (B11). ALL CONNECTIONS TO THE SHIFTED
MODULE ARE SHIFED WITH IT. IF A ANOTHER MODULE OCCUPIES
THE POSITION TO WHICH THE FIRST MODULE IS BEING
REASSIGNED, THIS SECOND MODULE WITH ITS CONNECTIONS WILL BE
PLACED IN THE POSITION OF THE FIRST MODULE. OTHERWISE
THE POSITION VACATED BY THE FIRST MODULE WILL BE MADE BLANK.
THERE IS A RESTRICTION ON THE USE OF THIS COMMAND.
SHIFTING OF MODULES MUST PROCEED ANY BUSSING.
--------------------------------------------
3) PLOTTING FEATURES. SOME PLOTTING FEATURES HAVE BEEN ADDED TO
'WIRLST' USING THE ADDITIONAL FILE 'PLOT'. THESE COMMANDS
ASSUME A CALCOMP PLOTTER AND MAY BE INCLUDED IF THE
FEATURE TEST SWITCH 'FTPLT' IN THE PARAMETER FILE IS NON-ZERO.
THESE ROUTINES PLOT OUT TWO HISTOGRAMS PER ROW. THE FIRST
PLOTS OUT THE MEAN WIRE LENGTH ON EACH MODULE, INCLUDING ONLY
THOSE CONNECTIONS WITHIN THE ROW. THE SECOND INCLUDES THE
CONNECTIONS BETWEEN ROWS. IN EACH CASE THE NUMBER OF CONNECTIONS
INCLUDED IN THE MEAN FOR EACH MODULE POSITION IS PRINTED
AND THE MEAN FOR THE WHOLE ROW IS DRAWN.
PLOTTING COMMANDS
-----------------
A) COMMAND MODE.
PLOT WILL PLOT HISTOGRAMS FOR ALL DEFINED ROWS
B) EDIT MODE.
H-A WILL PLOT HISTOGRAMS FOR ROW A
THE FILE 'PLOT' IS A SUB-SET OF THE PLOTTER ROUTINES
WRITTEN BY R. CLEMENTS OF DEC.
THE ROUTINES WERE INTRODUCED TO INVESTIGATE THE
POSSABILITY OF FURTHER WIRING OPTIMISATION USING THE MODULE
SWAPPING FEATURE. THIS INVESTIGATION HAS NOT YET PROVED
PARTICULARLY USEFUL.
4) WIRING ORDER CHANGE. IN THE ORIGINAL PROGRAM A 'DAISY CHAIN'
WIRING SCHEME HAD BEEN USED IN WIRING A RUN. A 'LAYERED'
SCHEME HAS BEEN INTRODUCED WHICH CAN GREATLY REDUCE THE NUMBER
OF OTHER CONNECTIONS WHICH HAVE TO BE REMOVED WHEN ANY ONE
CONNECTION IS CHANGED.
P.J. HAGAN.
------------------------------------------------------------------