;***COPYRIGHT 1969, DIGITAL EQUIPMENT CORP., MAYNARD, MASS.*** ;THIS SUB-PROGRAM ASSEMBLED WITH SYSTEM PAREMETER FILE - S.MAC(V414) XLIST IFDEF LISTSN, < IFN LISTSN, > ; S - SYSTEM PARAMETER DEFINITIONS FOR PDP-6 AND PDP-10 TIME SHARING MONITORS ; TH/TH/TNM/RCC 04 JUN 69 ;THIS IS ASSEMBLED IN FRONT OF EACH SUBPROGRAM IN MONITOR DEFINE XP(A,B) ;SYSTEM PARAMETER ;ACCUMULATOR ASSIGNMENTS ;* MEANS LOADED BY UUO HANDLER ON ALL UUOS XP IOS,0 ;*IO DEVICE STATUS WORD(SEE BELOW FOR BITS) XP TAC,1 ;TEMPORARY(SOMETIMES PRESERVED ACCROSS SUB.) XP TAC1,2 ;TEMPORARY(SOMETIMES PRESERVED ACCROSS SUB.) XP PDP,3 ;*PUSH DOWN POINTER(SEPARATE LIST FOR EACH PI ; CHANNEL AND EACH USER JOB XP ITEM,4 ;BUFFER ITEM COUNT, OR JOB NUMBER XP DAT,5 ;TTY OUTPUT BUFFER POINTER FOR COMMANDS,ERROR ; MESSAG ;OR TEMPORARY XP JBUF,DAT ;ADDRESS OF 3 WORD BUFFER HEADER IN USER AREA XP DEVDAT,6 ;*LH=UUOS DONE SO FAR FOR THIS DEVICE(SEE BELOW) ; RH=ADDRESS OF DEVICE DATA BLOCK XP PROG,7 ;*LH=HIGHEST REL. LOC. IN USER AREA ; RH=ABSOLUTE ADDRESS OF USER AREA XP JDAT,PROG ;*RH=ADDRESS OF JOB DATA AREA ; LH=HIGHEST REL. LOC. IN USER AREA XP TEM,10 ;TEMPORARY USED ONLY SCNSER IO ROUTINE ;ONLY 0 THRU 10 SAVED FOR INTERRUPT SERVICE XP DSER,11 ;*ADDRESS OF DEVICE SERVICE ROUT. DISPATCH TABLE XP BUFPNT,12 ;CONTENTS OF FIRST WORD OF 3 WORD USER BUFFER HEADER XP UCHN,BUFPNT ;*USER IO CHANNEL NO. XP BUFWRD,13 ;CONTENTS OF 2ND WORD OF USER BUFFER XP UUO,14 ;*CURRENT UUO IN PROGRESS ; PROG IN INDEX FIELD FOR RELOCATION XP AC1,15 ;TEMPORARY ACS(MORE TEMPORARY THAN TAC,TAC1) XP AC2,16 XP AC3,17 ;REDEFINE SO THAT ONLY THE ABOVE ACS WILL OCCUR IN DDT PRINTOUTS DEFINE XP(A,B)< A==B INTERNAL A > ;DEFINE REST OF SYMBOLS SO THAT THEY WILL NOT BE PRINTED BY EXEC DDT ON OUTPUT ; DEVICE DATA BLOCK NAMES XP DEVNAM,0 ;NAME IN SIXBIT ASCII ; C(LH)=DEVICE MNEMONIC ; C(RH)=DEVICE NUMBER, LEFT JUSTIFIED XP DEVCHR,1 ;CHARACTERISTIC ; BITS 0-5=JOB NUMBER(BYTE POINTER=PJOBN) ; ZERO VALUE IMPLIES NOT ASSIGNED XP HUNGCT,100 ;BITS 6-11=HUNG DEVICE COUNT. SET WHEN ; DEVICE BECOMES ACTIVE. DECREMENTED EVERY SECOND. XP HUNGST,1 ;BITS 12-17=HUNG DEVICE COUNT ; SETTING. 0 MEANS DEVICE CAN NEVER BE HUNG. ; BITS 18-23=DEVICE NUMBER,BINARY(BYTE POINTER=PUNIT) ; BITS 24-35=BUFFER SIZE XP DEVIOS,2 ;STATUS WORD. SEE BELOW XP DEVSER,3 ;C(LH)=NEXT DEVICE DATA BLOCK ; C(RH)=DEVICE SERVICE DISPATCH TABLE ; DEVICE SERVICE DISPATCH TABLE ASSIGNMENTS XP DINI,-2 ;DEVICE INITILIZATION XP DHNG,-1 ;DEVICE IS HUNG XP DRL,0 ;RELEASE XP DCL,1 ;CLOSE XP DCLO,DCL ;CLOSE OUTPUT ;IMMEDIATE ADDRESS PART OF CLOSE UUO XP CLSOUT,1 ;INHIBIT CLOSING OUTPUT XP CLSIN,2 ;INHIBIT CLOSING INPUT XP DOU,2 ;OUTPUT XP DIN,3 ;INPUT. SHORT DISPATCH TABLE XP DEN,4 ;ENTER XP DLK,5 ;LOOKUP XP DDO,6 ;DUMP MODE OUTPUT XP DDI,7 ;DUMP MODE INPUT XP DSO,10 ;SETO XP DSI,11 ;SETI XP DGF,12 ;GETF UUO XP DRN,13 ;RENAME XP DCLI,14 ;CLOSE INPUT XP DCLR,15 ;CALL D,[SIXBIT /UTPCLR/] XP DMT,16 ;MTAPE ; END OF LONG DISPATCH TABLE XP DEVMOD,4 ;BITS 6-11=LEFT HALF OF IMAGE MODE BYTE POINTER ; BIT 35-J=1 IF MODE J IS LEGAL FOR THIS DEVICE ; BIT 18 DEVICE ASSIGNED BY CONSOLE COMMAND ; BIT 19 DEVICE ASSIGNED BY PROGRAM (INIT) ;RIGHT HALF OF DEVICE CHARACTERISTICS WORD(DEVCHR UUO) XP ASSCON,400000 ;ASSIGNED BY CONSOLE COMMAND ASSIGN XP ASSPRG,200000 ;ASSIGNED BY PROGRAM(INIT UUO) ;LEFT HALF DEVICE CHARACTERISTICS(DEVCHR UUO) XP DVOUT,1 ;OUTPUT DEVICE XP DVIN,2 ;INPUT DEVICE XP DVDIR,4 ;HAS A DIRECTORY XP DVTTY,10 ;IS A TTY XP DVMTA,20 ;IS A MAG TAPE(REWIND) XP DVAVAL,40 ;1 IF DEVICE IS AVAILABLE TO THIS JOB ; SET BY DEVCHR UUO XP DVDTA,100 ;IT IS A DECTAPE XP DVPTR,200 ;IS A PAPER TAPE READER XP DVPTP,400 ;IS A PAPER TAPE PUNCH XP DVLNG,1000 ;DEVICE HAS LONG DISPATCH TABLE ; (OTHER UUOS BESIDES INPUT,OUTPUT,CLOSE,RELEASE) XP DVDIS,2000 ;IS A DISPLAY XP TTYBIU,4000 ;TTY DDB IN USE (AS IO DEV. EVEN IF ; NOT AS USER CONSOLE) XP TTYUSE,10000 ;TTY DDB IN USE FLAG XP TTYATC,20000 ;TTY ATTACHED TO JOB IF 1 XP DVLPT,40000 ;IS A LPT (CARRIAGE CONTROL IN FORTRAN) XP DVCDR,100000 ;IS A CARD READER(TRAILING SPACES FOR MACRO) XP DVDSK,200000 ;IS A DISK XP DVDIRIN,400000 ;DECTAPE DIRECTORY IN CORE IF 1(MUST BE SIGN BIT) XP DEVLOG,5 ;LOGICAL NAME FOR JOB DEVICE XP DEVBUF,6 ;C(LH)=REL. ADR. OF 3 WORD OUTPUT BUFFER HEADER ; C(RH)=REL. ADR. OF 3 WORD INPUT BUFFER HEADER XP DEVIAD,7 ;C(LH)=PROG IN INDEX FIELD ;BITS 1 AND 2 USED TO KEEP COUNT OF NO. OF USER CHANNELS ; INITED ON THIS DEVICE(DECTAPE ONLY) ; IADPTR-COMMON BYTE POINTER TO 2 BIT COUNT XP DEVADR,DEVIAD ; C(RH)=REL. INPUT BUFFER ADD. SERVICE ROUT. IS FILLING XP DEVOAD,10 ;C(LH)=PROG IN INDEX FIELD XP DEVPTR,DEVOAD ; C(RH)=REL. OUTPUT BUFFER ADR. SERVICE ROU. IS EMPTYING XP DEVCTR,11 ;FOR LONG DISPATCH TABLE DEVICES ONLY: XP DEVFIL,11 ;FILE NAME IN SIXBIT XP DEVEXT,12 ;LH=EXTENSION, RH=UNUSED XP DEVPPN,13 ;PROJECT PROGRAMMER NO. (DISK ONLY) ; OTHER DEVICES NEED NOT HAVE THIS LOCATION IN THEM. ; I/O STATUS WORD ASSIGNMENTS ;DATA MODES: BITS 32-35(BYTE POINTER=PIOMOD) XP A,0 ;ASCII XP AL,1 ;ASCII LINE XP I,10 ;IMAGE XP IB,13 ;IMAGE BINARY XP B,14 ;BINARY XP SD,15 ;SCOPE DUMP MODE XP DR,16 ;DUMP BY RECORDS XP D,17 ;DUMP ACROSS RECORDS ; STATUS BITS ;RIGHT HALF (USER) XP IOWC,20 ;DON'T COMPUTE WORD COUNT XP IOCON,40 ;CONTINUOUS (CONT=0) XP IONRCK,100 ;READ WITH NO. REREAD CHECK ;BITS 27,28 DENSITY OF MAG TAPE ; 00=INSTALATION STANDARD ; 01=200 BPI ; 10=556 BPI ; 11=800 BPI XP IOPAR,1000 ;WRITE EVEN PARITY (BCD) IF 1 ON MAG TAPE XP IOTEND,2000 ;END OF MAG TAPE XP IOBOT,4000 ;BEGINNING OF MAG TAPE XP IOACT,10000 ;DEVICE ACTIVE XP IODEND,20000 ;DATA END ENCOUNTERED XP IOBKTL,40000 ;BLOCK TOO LARGE XP IODTER,100000 ;DATA ERROR XP IODERR,200000 ;DEVICE ERROR XP IOIMPM,400000 ;IMPROPER MODE DETECTED BY ; INPUT SERVICE ROUTINE ; LEFT HALF (SYSTEM) XP IOW,1 ;I/O WAIT XP IOBEG,2 ;VIRGIN DEVICE XP IOFST,4 ;NEXT ITEM WILL BE THE FIRST ITEM OF A BUFFER XP IO,20 ;OUT=1, IN=0 XP IOEND,40 ;SERVICE ROUTINE HAS TRANSMITTED LAST DATA ;REST OF BITS IN LH ARE DEVICE DEPENDENT EXCEPT BIT 14(XP 10) WHICK IS KEPT AS A SPARE ;COMMAND DECODER USE OF AC IOS: ;RH=DISPATCH ADDRESS - SAVJOB,GETJOB,RUNJOB ;LH: XP NSRBIT,400000 ;HIGH SEG TO BE FLAGGED NON-SHARABLE(SAVE VS SSAVE COMMAND) ; DO NOT CONFUSE WITH SIGN BIT OF JBTSTS ; WHICH SAYS SEG IS SHARABLE ;HARDWARE BITS: XP UWP,1 ;POSITION IN LH OF DATAO APR TO TURN USER-MODE WRITE PROTECT ON XP USRMOD,10000 ;LH PC WORD, MACHINE WAS IN USER MODE WHEN PC STORED XP UIOMOD,4000 ;LY PC WORD, MACHINE WAS IN USER IO MODE WHEN PC STORED NXM=10000 ;NON EX MEMORY POV=200000 ;PUSH DOWN OVERFLOW ILM=20000 ;ILLEGAL MEMORY ; IE ALL INSTRUCTIONS WERE LEGAL ;LEFT HALF USRJDA (JOB DEVICE ASSIGNMENTS) UUO'S FOR THIS CHANNEL SINCE LAST INIT XP INITB,400000 ;INIT-SAVEGET DEPENDS ON THIS BEING SIGN BIT XP IBUFB,200000 ;INIT WITH INPUT BUFFER SPECIFIED XP OBUFB,100000 ;INIT WITH OUTPUT BUFFER SPECIFIED XP LOOKB,40000 ;LOOKUP XP ENTRB,20000 ;ENTER XP INPB,10000 ;INPUT XP OUTPB,4000 ;OUTPUT XP ICLOSB,2000 ;INPUT CLOSE XP OCLOSB,1000 ;OUTPUT CLOSE XP INBFB,400 ;INBUF XP OUTBFB,200 ;OUTBUF XP SYSDEV,100 ;THIS DEVICE IS SYSTEM TAPE ; PROJ.PROG. NO 1,1 ON DSK XP RENMB,40 ;RENAME UUO XP DSKRLB,20 ;TO DISTINGUISH RELEASE FROM RESET UUO IN DSKSER. ; RELEASE CLEARS THEM ALL ;MTAPE UUO BITS XP SLICE,40 ;SET SLICE LEVEL IF A 1 ACCORDING TO SLEVEL XP SLEVEL,20 ;VALUE OF SLICE LEVEL IF SLICE A 1 ;ERROR CODES RETURNED TO USERS ON LOOKUP AND ENTER AND RENAME FAILURES(DISK ONLY) ;IN 2ND WORD OF 4 WROD ARGUMENT BLOCK(RH) ;THE SAME ERROR CODES ARE RETURNED ON RUN AND GETSEG UUOS FOR ALL DEVICES XP FNFERR,0 ;FILE NOT FOUND OR 0 FILE NAME XP IPPERR,1 ;INCORRECT PROJECT,PROGRAMMER NO. XP PRTERR,2 ;PROTECTION FAILURE(OR DIRECTORY FULL ON DTA) XP FBMERR,3 ;FILE BEING MODIFIED XP AEFERR,4 ;ALREADY EXISTING FILE(RENAME ONLY) XP NLEERR,5 ;NEITHER LOOKUP NOR ENTER(RENAME ONLY) XP TRNERR,6 ;TRANSMISSION ERROR(RUN,GETSEG UUO ONLY) XP NSFERR,7 ;NOT A SAVE FILE(RUN,GETSEG UUO ONLY) XP NECERR,10 ;NOT ENOUGH CORE(RUN,GETSEG UUO ONLY) XP DNAERR,11 ;DEVICE NOT AVAILABLE(RUN,GETSEG UUO ONLY) XP NSDERR,12 ;NO SUCH DEVICE(RUN,GETSEG UUO ONLY) XP ILUERR,13 ;ILLEGAL UUO (GETSEG ONLY) NOT TWO RELOC REG. CAPABILITY ; JOB BUFFER AREA HEADER XP JBFADR,0 ;BIT 0=1 IF THIS BUFFER RING HAS NEVER BEEN ; REFERENCED FROM THE USER'S PROGRAM BY ; AN INPUT OR OUTPUT COMMAND. ; BITS 1-17=UNUSED ; BITS 18-35=CURRENT BUFFER ADDRESS XP JBFPTR,1 ;BYTE POINTER TO NEXT BYTE -1 XP JBFCTR,2 ;POSITIVE ITEM COUNT ; JOB BUFFER HEADER XP IOUSE,400000 ;1 IF BUFFER IS FULL (OR BEING EMPTIED) ; 0 IF BUFFER IS EMPTY (OR BEING FILLED) ; BITS 1-17=BUFFER SIZE ; BITS 18-35=NEXT BUFFER ADDRESS ;JOB STATUS WORD(JBTSTS TABLE), ONE WORD FOR EACH JOB(SOME BITS ALSO APPEAR IN HIGH SEG STATUS WORD) XP RUN,400000 ;USER WANTS JOB TO RUN(MUST BE SIGN BIT) XP SNA,400000 ;HIGH SEG NUMBER ASSIGNED (ANALOGOUS TO JNA EXCEPT ; MUST BE SIGN BIT) XP CMWB,200000 ;JOB TYPED A COMMAND WHICH NEEDS CORE ; WHICH IS ON DISK. SET BY COMMAND DECODER ; CLEARED WHEN JOB IN CORE AGAIN. XP SHRSEG,200000 ;HIGH SEG IS SHARABLE (ALTHOUGH NAME MAY BE 0 ; IG IT HAS BEEN SUPERSEDED) ; THIS BIT ALSO APPEARS IN SAME PLACE IN LH OF ; OF JBTSGN FOR EACH USER TO INDICATE USER IS USING A SHARABLE ; HIGH SEG (ALSO APPEARS IN LH OF AC ITEM WHEN ; RH IS SEG NUMBER FOR A PARTICULAR JOB XP JACCT,100000 ;PRIVILEGED SYSTEM CUSP IS BEING RUN WHICH CANNOT ; BE STOPPED (E.G., LOGIN ; OR LOGOUT). PROTECT IT FROM CURIOUS EYES. ; DISABLE CONTROL C, MADE IT ACT LIKE ALT-MODE XP JNA,40000 ;THIS JOB NUMBER IS ASSIGNED(JOB INITIALIZED) XP JERR,20000 ;A MONITOR DETECTED ERROR HAS OCCURRED ; JOB CAN NOT CONTINUE XP NSWP,10000 ;JOB OR HIGH SEG IS NOT TO BE SWAPPED(REALTIME OR DISPLAY) ; (CAN BE SHUFFLED OR NOT ACCORDING TO NSHF) ; HIGH SEG CANNOT BE SWAPPED DURING SAVE XP SHF,4000 ;MONITOR IS WAITING FOR DEVICES FOR THIS ; JOB TO STOP AFTER CURRENT BUFFERFULL ; SO JOB CAN BE SHUFFLED IN CORE OR SWAPPED OUT ; IF JOB ONLY HAS LOW SEG XP SWP,2000 ;0 IF JOB IN CORE, 1 IF SWAPPED OUT OR ON WAY ; IN OR OUT ; SAME FOR LOW AND HIGH SEGMENTS XP NSHF,1000 ;JOB IS NOT SHUFFLABLE ; OR HIGH SEGMENT HAS ACTIVE SAVE IO XP CLKR,400 ;JOB HAS A CLOCK REQUEST IN. ; NEEDED SO ONLY ONE REQUEST PER JOB XP STOPIO,SWP+CMWB+SHF ;FORCE JOB TO STOP TO EXECUTE ; SWAP, COMMAND OR ; SHUFFLE ;BITS 10-14 USED TO INDICATE JOB IN WAIT FOR A SHARABLE DEVICE ;0 MEANS JOB NOT WAITING FOR SHARABLE DEVICE ;SEE SCHEDULER(CLKCSS) FOR DEFINITION OF WAIT CODES XP JWSIZ,5 ;SIZE OF WAIT CODE XP JWPOS,^D14 ;RIGHT MOST BIT POS. OF WAIT CODE XP WTMASK,370 ;MASK FOR CLEARING WAIT CODES ;BITS 15-17 ARE NO LONGER SET BY LOGIN, THEY ARE MONITOR STATUS BITS XP JLOG,4 ;JOB SUCCESSFULLY LOGGED IN XP JRQ,2 ;JOB HAS CHANGED STATE AND MUST BE REQUEUED AT CLOCK ; LEVEL BEFORE RESCHEDULING CAN TAKE PLACE XP JXPN,1 ;JOB MUST BE SWAPPED OUT BECAUSE IT IS EXPANDING SIZE ; OF CORE AND THERE WASN'T ROOM IN CORE ;BITS 9-17 ARE USED FOR ACCESS PRIVILEGERS BITS FOR SHARABLE HIGH SEGMENTS ; SAME FORMAT AS ACCESS BITS FOR DISK XP HSASIZ,^D9 ;SIZE OF HIGH SEG ACCESS BITS XP HSAPOS,^D17 ;RIGHT MOST POSITION OF HIGH SEG ACCESS BITS XP HSAMSK,777 ;MASK TO CLEAR ACCESS PRIVILEGES ;MASKS USED TO TEST STATUS CONDITIONS: XP RUNABLE,RUN+JNA ;STATUS BIT PATTERN FOR JOB TO BE RUNABLE XP RUNMSK,JLOG+CLKR+NSHF+JACCT+NSWP ;BITS WHICH DO NOT MATTER FOR RUNABILITY ;BITS IN JBTSWP TABLE XP FRGSEG,400000 ;LH - 1 IF LOW OR HIGH SEG IS FRAGMENTED ON SWP DEV XP SWPCLR,400000 ;RH - 1 IF JOB DATA AREA SHOULD BE CLEARED AFTER ; IN. SET ON 140 RESTART SO NO DEVICES ASSIGNED ;VIRTUAL ADDRESSING SPACE DESCRIPTOR WORD (JBTSGN) ONE WORD FOR EACH JOB ;THIS WORD APPEARS IN AC ITEM ;LH BITS XP SPYSEG,400000 ;THE HIGH SEB IS PHYSICAL CORE (SEE SPYUUO) ; MUST BE SIGN BIT SO TEST FOR JOB HAVING A ; REAL HIGH SEG IS SKIPG JBTSGN(ITEM) XP SHRSEG,SHRSEG ;THE HIGH SEG THIS JOB IS USING IS SHARABLE ; THIS BIT ALSO APPEARS IN JBTSTS FOR HIGH SEGS XP UWPOFF,100000 ;IF 1, USER-MODE WRITE PROTECT IS OFF FOR THIS JOB XP MEDDLE,40000 ;IF 1, USER HAS MEDDLED WITH SHARABLE PROGRAM SUCH ; THAT PROGRAM CANNOT TRUST ITSELF ; TO TURN UWP OFF OR CHANGE HIGH SEG CORE ASSIGNMENT ; MEDDLING MEANS: ; 1. START N, OR D COMMAND ; 2. RUN UUO WITH GREATER THAN 1 STARTING ; INCREMENT ; 3. GETSEG UUO ; 4. HIGH SEG IS PHYSICAL CORE (SPY UUO) XP CORCNT,20000 ;#1, THE HIGH SEG IN CORE COUNT FOR THIS JOB ; HAS BEEN INCREMENTED, IF 0 IT HAS NOT ; SET AND CLEARED BY INCCNT AND DECCNT ROUTINES ;RH IS HIGH SEG NUMBER (NUMBER GREATER THAN JOB MAX AND LESS THAN OR EQUAL TO JBTMAX) ; OR IF SPYSEG IS SET, RH IS HIGHEST PHYSICAL ADR USER MAY SPY INTO ;JOB PRIVILEGE BITS - JBTPRV TABLE ;SET BY LOGIN FROM ACCT.SYS FILE AS MODIFIED BY CUSTOMER ;RH RESERVED FOR SPECIAL CUSTOMER DEFINED PRIVILEGES(PLEASE START AT BIT 35) ;LH RESERVED FOR DIGITAL STANDARD PRIVILEGES ;BITS IN LEFT HALF XP PVSPYM,1 ;JOB ALLOWED TO SPY AT MONITOR USING PEEK/SPY UUOS XP PVSPYA,2 ;JOB ALLOWED TO SPY AT ALL OF CORE USING PEEK/SPY UUOS XP PVTRPS,4 ;JOB ALLOWED TO USE TRPSET UUO ; SYSTEM MACROS ;MACRO TO PREVENT SCHEDULING, USED AT UUO LEVEL WHEN A ;REENTRANT ROUTINE IS CHANGING COMMON DATA NOT YET ;ASSIGNED TO A PARTICULAR JOB DEFINE NOSCHED <> ;MACRO TO ALLOW SCHEDULING ONCE MORE DEFINE SCHEDULE <> ;MACRO TO PREVENT CORE SHUFFLING, USED AT UUO LEVEL WHEN ;A ROUTINE SETS UP AN ABSOLUTE USER ADDRESS IN AN AC ;OTHER THAN PDP,PROG, OR JDAT. THE MAIN EXAMPLE IS A BLT ;FROM EXEC TO USER OR USER TO EXEC. DEFINE NOSHUFF <> ;MACRO TO ALLOW SHUFFLING ONCE MORE DEFINE SHUFFLE <> ;MACRO TO TURN OFF ALL PI CHANNELS EXCEPT DATA CONTROL ONCE DEFINE DISABLE(A) ;MACRO TO TURN THEN BACK ON DEFINE ENABLE(A) ;MACRO TO START A DEVICE FROM UUO LEVEL ;TAC:=XWD DEVINT FLAGS,CONO ARGUMENTS DEFINE STARTDV(A) ;LIST OF INDEPENDENT MONITOR COMMAND FEATURES ;THESE FEATURES CAN BE ELIMINATED FROM A SYSTEM BY ;SETTING THE APPROPRIATE FTXXXX SYMBOL BELOW TO 0 ;AND REASSEMBLING THOSE ROUTINES IN WHICH CODE FOR THE ;FEATURE APPEARS. THE ROUTINES AFFECTED BY EACH FEATURE ;ARE LISTED BELOW. TO GUARANTEE THAT NO ROUTINES ARE ;MISSED, FTXXXX IS DEFINED TO BE AN INTERNAL IN THOSE ROUTINES ;IN WHICH IT IS USED IN CONDITIONAL ASSEMBLY. THUS THE ;RELOCATING LOADER WILL DETECT MULTIPLY DEFINED GLOBALS ;IF NOT ALL ROUTINES AFFECTED HAVE BEEN REASSEMBLED. FTTIME=-1 ;TIME ACC ; APPEARS IN APRSER,STUFF FTATTACH=-1 ;ATTACH AND DETACH TTY TO JOB COMMANDS ; APPEARS IN APRSER,SCNSER FTTALK=-1 ;TALK TO TTYS COM. ; APPEARS IN APRSER,SCNSER FTEXAMINE=-1 ;EXAMINE AND DEPOSIT COMMANDS ; APPEARS IN APRSER FTREASSIGN=-1 ;REASSIGN COMMAND ; APPEARS IN APRSER FTTRPSET=-1 ;USER IO - TRPSET,TRPJEN UUOS AND OPCODE 100(PDP-10S ONLY) ; APPEARS IN APRSER,STUFF,CLKCSS ; THESE UUOS ARE SOON TO BE REPLACED BY SOME KNAVE-PROOF REAL TIME UUOS FTSLEEP=-1 ;SLEEP UUO ; APPEARS IN APRSER,STUFF FTFINISH=-1 ;FINISH COMMAND ; APPEARS IN APRSER FTCHECK=0 ;MONITOR CHECKSUMMING ; APPEARS IN ALL FILES EXCEPT CHAN, NULL FTMONP=0 ;MONITOR WRITE PROTECTED BETWEEN 1000 AND 20000 ; APPEARS IN ALL FILES EXCEPT CHAN, NULL FTRCHK=-1 ;ASSEMBLE WITH REDUNDANT CHECKING FOR INTERNAL MONITOR ERRORS. ; HALT IF AN ERROR IS DETECTED ; CONTINUE WILL LOOP(IF NON-RECOVERABLE ERROR) OR TRY TO RECOVER ; OPERATOR SHOULD MAKE NOTE OF MEMORY ADDRESS REG(LOC+1 OF HALT) ; APPEARS IN DSKINT,..... FTHALT=0 ;MONITOR HALTS WHEN IT DETECTS AN ERROR IN ITSELF INSTEAD OF PRINTING A MESSAGE ; WHEN IT DETECTS AN ERROR. USED FOR DEBUGGING SO A DUMP CAN BE TAKEN ; APPEARS IN ERRCON, CONTINUE SWITCH WILL CAUSE USUAL ; ERROR MESSAGE TO BE PRINTED, AC DAT HAS JSP DAT,ERROR IN IT ON HALT FTTRACK=0 ;MONITOR LEAVES USEFUL INFORMATION IN LOCATIONS ; IN COMMON, NOT NEEDED EXCEPT FOR LEAVING TRACKS ; TO DEBUG CRASHES WITH. FTTTYSER=-1 ;SCNSRF INSTEAD OF SCNSRH ; APPEARS IN APRSER FT2REL=-1 ;SUBROUTINE CALLS TO SEGCON FOR TWO RELOCATION REGISTER CAPABILITY ; -1 FOR PDP-6 AND PDP-10. SEGCON IS EITHER A DUMMY SET ; OF SUBROUTINE OR THE REAL THING DEPENDING ON THE MACHINE. ; THOSE CUSTOMERS WITHOUT 2 REG MACHINES WHO WANT TO ELIMINATE THE 20 OR SO LOCS OF ; SUBROUTINE CALLS TO SEGCON, CAN DO SO BY REASSEMBLIN THE MONITOR ; WITH FT2REL=0. HOWEVER THE COMPANY WILL DISTRIBUTE MONITORS ; WITH FT2REL=-1 ALWAYS(PDP-6 AND PDP-10) ; APPEARS IN FIRST,ONCE,APRSR,SCHED FTKCT=-1 ;ACCUMULATE CORE*RUNNING TIME FOR CHARGING FOR EACH USER FTPRV=-1 ;PRIVILEGE BITS FOR EACH USER FTGETTABL=-1 ;GETTAB UUO - RETURN CONTENTS OF MONITOR JOBTABLES FTRA10=0 ;NO RA-10 DISK CONTROLLER (BRYANT DISK) ;TEMPORARILY USED IN DSKSER ;DEFINE THE QUEUES, QUANTUM RUNNING TIME IN JIFFIES, AND PRIORITY ;PRIORITY GOES BACKWARD FROM LOW TO HIGH DEFINE QUEUES < X RN,7 ;STRAIGHT RUN (LOWEST PRIORITY)(Q=0) X WS,6 ;IO WAIT SATISFIED X TS,6 ;TTY IO WAIT SATISFIED X ST,6 ;SYSTEM TAPE WAIT IFN FTDISK,< X AU,4 ;ALTER DISK UFD QUEUE X MQ,4 ;MONITOR DISK QUEUE X DA,4 ;DISK STORAGE ALLOCATION WAIT > X DT,4 ;DECTAPE CONTROL WAIT (UP TO 8 DRIVES) X DC,4 ;DATA CONTROL (DC) WAIT - MAGTAPE AND DECTAPE X MT,4 ;MAGTAPE CONTROL WAIT (UP TO 8 UNITS) > ;JOB STATUS CODES WHICH HAVE NO CORRESPONDING QUEUES ;JOBS ARE UNRUNABLE WHEN IN THESE STATES DEFINE CODES < X IOW, ;IO WAIT X TIOW, ;TTY IO WAIT X SLP, ;JOB SLEEPING X NUL, ;JOB NUMBER NOT ASSIGNED X STOP, ;STOP (CONTROL C) > XP STTYBF,20 ;SIZE OF TTY BUFFER XP STTYB1,STTYBF+1 ;LENGTH+1 ASUPPRESS ;ELIMINATE ALL SYMBOLS NOT REFERENCED LATER ; FROM THE SYMBOL TABLE LISTING LIST