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. ------------------------------------------------------------------