/PARAMETERS - UWM VERSION 25 / /COPYRIGHT 1971 DIGITAL EQUIPMENT CORPORATION / MAYNARD, MASSACHUSETTS / /EXTENSIVELY MODIFIED AND CORRECTED BY / RICHARD BARTLEIN, 1974, 1976 / UNIVERSITY OF WISCONSIN - MILWAUKEE / VERNUM= 31 /SYSTEM VERSION NUMBER / IFZERO DC08A IFNZRO DC08A < IFNZRO PHONES IFZERO PHONES > NULINE= DC08A+PT08+KL8 /NUMBER OF TERMINALS LESS CONSOLE QUANT= -6 /NUMBER OF SYSTEM TICKS PER TIME SLICE PLT= 0 STOMIN= 5 /MINIMUM # FREE STORAGE BLOCKS FOR NEW JOB SWDEX= 5 /DISC TRACK OF FIRST SWAP AREA TICSPS= 24 /NUMBER OF SYSTEM TICKS PER SECOND IFZERO RK8E < IFZERO RF08-40 < DSKSIZ= RS08^10 > IFZERO RF08 < DSKSIZ= RS08^100 /# OF 4K DISC TRACKS >> IFNZRO RK8E < DSKSIZ= 400 /# OF 4K DISC TRACKS > CLOCKR= TICSPS%2+1750%TICSPS /MILLISECONDS PER SYSTEM TICK INCLK2= 0645 /1,728,000 TICKS PER DAY INCLK1= 600^TICSPS / (LOW 12 BITS OF 86,400 SECS/DAY * TICKS/SEC) TICMIN= 74^TICSPS /SYSTEM TICKS PER MINUTE INIDEX= 10 /INIT DISC EXTENSION TS8DEX= 30 /FIELD 0 DISC EXTENSION*2^3 ERPDEX= 0 /ERP DISC EXTENSION*4 ERPWC= 0 /ERP WORD COUNT FIPDEX= 4 /FIP DISC EXTENSION*4 FIPWC= 0 /FIP WORD COUNT SIDEX= ERPDEX /SI DISC EXTENSION*4 SIWC= ERPWC /SI WORD COUNT LIBACT= 2 /LIBRARY ACCOUNT # BRKINI= 4000 /INITIAL USER BREAK MASK WRDSEG= 400 /#WORDS PER DISC SEGMENT /IOT DEFINITIONS IFZERO D680-2 < TTINCR= 6401 /INCREMENT LINE REGISTER TTI= 6402 /TELETYPE INPUT COMMAND TTO= 6404 /TELETYPE OUTPUT COMMAND TTCL= 6411 /CLEAR LINE REGISTER TTSL= 6412 /SET LINE REGISTER, CLEAR AC TTRL= 6414 /READ LINE REGISTER T8SKP= 6421 /SKIP ON CLOCK FLAG T8OFF= 6422 /TURN CLOCK OFF TT8ON= 6424 /TURN CLOCK ON TTRINC= 6461 /INCREMENT THE R REG. TT8CLR= 6473 /CLEAR AND LOAD THE R REG. > /EXTENDED MEMORY CDF= 6201 /CHANGE TO DATA FIELD 0 CIF= 6202 /CHANGE TO INSTRUCTION FIELD 0 CDI= 6203 /CHANGE DATA & INSTRUCTION FIELDS CINT= 6204 /CLEAR USER IOT RDF= 6214 /READ DATA FIELD RIF= 6224 /READ INSTRUCTION FIELD RIB= 6234 /READ INTERRUPT BUFFER RMF= 6244 /RESTORE MEMORY FIELD SINT= 6254 /SKIP ON USER IOT CUF= 6264 /USER FLAG OFF SUF= 6274 /USER FLAG ON /EAE IFZERO EAE-20 < MUY= 7405 /MULTIPLY DVI= 7407 /DIVIDE NMI= 7411 /NORMALIZE SHL= 7413 /SHIFT ARITHMETIC LEFT ASR= 7415 /ARITHMETIC SHIFT RIGHT LSR= 7417 /LOGICAL SHIFT RIGHT MQL= 7421 /LOAD MQ SCL= 7403 /STEP COUNTER LOAD FROM MEMORY SCA= 7441 /STEP COUNTER TO AC MQA= 7501 /MQ TO AC IFZERO CPU-2 < DPSZ= 7451 /SKIP IF AC=MQ=0 (MODE B ONLY) SAM= 7453 /SUBTRACT AC FROM MQ SKB= 7671 /SKIP IF MODE B (MESSES UP AC AND MQ) SWBA= 7447 /CHANGE MODE TO A SWAB= 7431 /CHANGE MODE TO B (ALSO DOES MQL) ACS= 7403 /AC(7:11) TO SC; AC CLEARED >> IFZERO CPU-2 < SRQ= 6003 /SKIP ON INTERRUPT REQUEST GTF= 6004 /LINK TO AC0, GT FLAG TO AC1 RTF= 6005 /AC0 TO LINK, AC1 TO GT FLAG SGT= 6006 /SKIP ON GT FLAG CAF= 6007 /CLEAR ALL FLAGS SPL= 6102 /SKIP ON POWER LOW > IFZERO CPU-4 < SPL= 6102 /SKIP ON POWER LOW CAL= 6133 /CLEAR POWER LOW FLAG > /LINE PRINTER IOTS LSF= 6661 /SKIP ON CHAR FLAG SET LCF= 6662 /CLEAR CHAR FLAG LSRP= 6663 /SKIP ON NOT READY OR ON ERROR LLC= 6664 /TRANSMIT CHAR TO PRINTER LIE= 6665 /AC11 TO INTERRUPT ENABLE (LS08/LS8E) LSP= 6665 /SET PROGRAM INTERRUPT (LP08/LE8) LPC= 6666 /TRANSMIT CHAR & CLEAR FLAG LCP= 6667 /CLEAR PROGRAM INTERRUPT /CTY TPC= 6044 /LOAD TELEPRINTER AND PRINT /DISC (DF32) DCMA= 6601 /CLEAR DMAR= 6603 /READ DMAW= 6605 /WRITE DCEA= 6611 /CLEAR DISC EXTENDED ADDRESS DEAL= 6615 /LOAD EXTENDED ADDRESS DFSE= 6621 /SKIP ON ERROR DFSC= 6622 /SKIP ON COMPLETION DEAC= 6616 /READ EXTENDED ADDRESS /DISC (RF08) DIML= 6615 DIMA= 6616 DXAL= 6643 /RK05 DISC IOTS IFZERO PHONES IFNZRO PHONES DSKP= RKDV+1 /SKIP IF DONE OR ERROR DCLR= RKDV+2 /CLEAR THE CONTROLLER DLAG= RKDV+3 /LOAD DISC ADDRESS & GO DLCA= RKDV+4 /LOAD CURRENT CORE ADDRESS DRST= RKDV+5 /READ THE STATUS DLDC= RKDV+6 /LOAD THE COMMAND REGISTER DMAINT= RKDV+7 /MAINTENANCE ONLY / /TC08 DECTAPE CONTROLLER IOTS DTRA= 6761 /READ A-REGISTER DTCA= 6762 /CLEAR A-REGISTER DTXA= 6764 /XOR INTO A-REGISTER DTSF= 6771 /SKIP ON DECTAPE FLAG DTRB= 6772 /READ STATUS-REGISTER (B) DTLB= 6774 /LOAD STATUS-REGISTER (B) /CARD READER IOTS RCSF= 6631 /SKIP ON DATA READY RCRA= 6632 /READ ALPHANUMERIC RCRB= 6634 /READ BINARY RCNO= 6635 /READ CONDITIONS OUT TO CARD READER (8/E ONLY) RCRC= 6636 /READ COMPRESSED (8/E ONLY) RCNI= 6637 /READ CONDITION IN FROM CARD READER (8/E ONLY) RCSD= 6671 /SKIP ON CARD DONE FLAG RCSE= 6672 /SELECT CARD READER AND SKIP IF READY RCRD= 6674 /CLEAR CARD DONE FLAG RCSI= 6675 /SKIP IF INTERRUPT BEING GENERATED (8/E ONLY) RCTF= 6677 /CLEAR TRANSITION FLAGS (8/E ONLY) IFZERO CPU < /KW8I REAL TIME CLOCK CECI= 6137 /CLEAR AND ENABLE CLOCK AND INTERRUPT CSCF= 6133 /SKIP AND CLEAR FLAG IF FLAG > IFZERO CPU-1 < CECI= 6315 /CLOCK ENABLE CSCF= 6301 /SKIP ON CLOCK FLAG CCF= 6302 /CLEAR CLOCK FLAG, CLEAR ENABLE AND CLEAR BUFFER CLB= 6304 /LOAD BUFFER FROM AC > IFZERO CPU-2 < CECI= 6131 /CLOCK ENABLE CSCF= 6133 /SKIP AND CLEAR FLAG IF FLAG > IFZERO CPU-3 < CLAB= 6133 CLLR= 6132 CLEN= 6134 CLSA= 6135 CLSK= 6131 MTPF= 6113 MINT= 6115 MTON= 6117 MKTF= 6123 MINS= 6125 MTRS= 6127 MKSF= 6111 MKCC= 6112 MKRS= 6114 MKRB= 6116 MTSF= 6121 MTCF= 6122 MTPC= 6124 MTLS= 6126 > IFZERO CPU-4 < CLLE= 6135 /AC11 TO CLOCK INTERRUPT ENABLE CLCL= 6136 /CLEAR CLOCK FLAG CLSK= 6137 /SKIP ON CLOCK FLAG > IFNZRO DC08A < /689AG SRF= 6701 /SKIP IF RING FLAG SCF= 6711 /SKIP IF CARRIER FLAG DFCRF= 6742 /CLEAR RING FLAG CTG= 6721 /CLEAR GROUP COUNTER RRS= 6702 /READ RING STATUS ITG= 6731 /INCREMENT GROUP COUNTER STR= 6722 /SET TERMINAL READY EDF= 6704 /ENABLE DATAPHONE FEATURES DDF= 6714 /DISABLE DATAPHONE FEATURES CTR= 6724 /CLEAR TERMINAL FLAG CCF= 6741 /CLEAR CARRIER FLAG RCS= 6712 /READ CARRIER STATUS > /FIP IOTS (AS USED INTERNALLY) ASD= 0040 /ASSIGN DEVICE REL= 0042 /RELEASE DEVICE REN= 0200 /RENAME FILE OPEN= 6601 /OPEN FILE CLOS= 0202 /CLOSE RFILE= 6603 /READ FILE PROT= 0204 /PROTECT WFILE= 6605 /WRITE FILE XOPEN= 6606 /OPEN FILE WITH EXCLUSIVE USE CPASS= 0207 /CHANGE A USER'S PASSWORD CRF= 0210 /CREATE EXT= 0211 /EXTEND RED= 0212 /REDUCE FINF= 6613 /FILE INFORMATION LIN= 0214 /LOGIN LOUT= 0215 /LOGOUT BCLR= 0220 /CLEAR MFD BILLING INFORMATION /DEVICE DATA BLOCK DDBSTS= 0 /WORD 1. STATUS AND UNIT NUMBER DXON= 2000 /XOFF SENT FLAG - SEND 'XON' WHEN NEEDED DSI= 1000 /DESTINATION IS S.I. FLAG DFULL= 400 /INDICATES BUFFER IS FULL DUPL= 200 /CONSOLE IN DUPLEX MODE SICOM= 100 /COMMAND WAITING CTRLC= 40 /USER TYPED CTRL/C DECHO= 20 /CAUSE 'SI' TO ECHO INPUT BUFFER DHALF= 10 /KEYBOARD IS HALF-DUPLEX (HARDWARE) DFORC= 4 /KEYBOARD WAS JUST FORCED CTRLB= 2 /COMMAND PRECEDED BY EXPLICIT CTRL/B /OUTPUT SIDE: CTRLS= 4000 /CTRL-S ENTERED (OUTPUT FROZEN) DXOFF= 3000 /JAM 'XOFF' INTO OUTPUT DBELL= 1000 /JAM 'BELL' INTO OUTPUT DTALK= 1 /LOCK KEYBOARD AGAINST TALKS /OUTPUT REGISTER: / 4000 - BUFFER CHECKING REQUESTED / 2000 - DEVICE INTERRUPT EXPECTED / 1000 - 5-SECOND TIMEOUT FLAG / 400-2 - NEXT BUFFERED CHARACTER / 0001 - BUFFERED CHARACTER WAITING DDBJN= 1 /WORD 2. JOB NUMBER IN 7-11; DEVICE NUMBER IN 0-6 DDBBRK= 2 /BREAK MASK SIBRKM= 204 /SI BREAK MASK DDBTIM= 3 /TIME THAT DEVICE WAS ASSIGNED DDBINP= 4 /BUFFER FILL POINTER DDBINC= 5 /BUFFER FILL COUNT DDBOUC= 6 /BUFFER EMPTY COUNT DDBOUP= 7 /BUFFER EMPTY POINTER /FILE CONTROL BLOCK - POINTED TO BY JOBFX, X=0,1,2,3 FILWPT= 0 /POINTER TO FILE RETRIEVAL WINDOW FILSCT= 1 /SEGMENT NUMBER OF FIRST WINDOW ENTRY FILPRO= 2 /FILE READ-ONLY (BIT 9), FILE PRIVILEGED (BIT 11) FILPAR= 3 /POINTER TO RFILE OR WFILE PARAMETER BLOCK FILDA= 4 /DISC ADDRESS OF RFILE OR WFILE FILWC= 6 /-WORD COUNT OF RFILE OR WFILE FILRES= 7 /POINTER TO FILPIF IN USER AREA /FILE RETRIEVAL WINDOW /WORD 0: UFD LINK TO NEXT GROUP OF 7 SEGMENT POINTERS /WORDS 1-7: SEVEN SEGMENT ADDRESSES /RFILE OR WFILE PARAMETER BLOCK - POINTED AT BY FILPAR FILPFN= 0 /FUNCTION: 0603 OR 0605 FILPDX= 1 /DISC EXTENSION FILPIF= 2 /INTERNAL FILE # (BITS 10-11) AND FIELD # (BITS 7-9) FILPWC= 3 /-WORD COUNT FOR THIS TRANSFER FILPCA= 4 /CORE ADDRESS FOR THIS TRANSFER FILPDA= 5 /DISC ADDRESS FILPRA= 6 /EXEC RETURN ADDRESS FOR THIS TRANSFER FILPCT= 7 /POINTER TO FILE CONTROL BLOCK /JOB DATA AREA JOBSTS= 0 /STATUS /STR0 JSRUN= 4000 /RUN BIT JSEREN= 2000 /USER ERROR ENABLE JCOMBD= 1000 /LAST TIME THE JOB RAN AS COMPUTE BOUND JSPRIV= 400 /LIBRARY PROGRAM (HAS PRIVILEGES) JSHLT= 200 /PROGRAM EXECUTED 'HLT' JSIOT= 100 /NON-RESIDENT IOT JSIOTC= 40 /COPY IOT RESULT TO USER JSRSEN= 20 /PROGRAMMATIC CTRL/C ENABLE JSINER= 10 /INHIBIT SI ERROR UNTIL NEXT COMMAND JSACC= 200 JSBAT= 100 /BATCH-MODE /BITS 9-11 ARE SYSTEM ERROR CODE UUOERF= 1 /IOT ERROR SWPRER= 2 /SWAP READ ERROR SWPWER= 3 /SWAP WRITE ERROR DSKERR= 5 /DISC ERROR HUNGDV= 6 /HUNG DEVICE /STR1 JSTIME= 4000 /TIME IS UP JSF0= 2000 /FILE 0 NOT BUSY JSF1= 1000 /FILE 1 IS NOT BUSY JSF2= 400 /FILE 2 IS NOT BUSY JSF3= 200 /FILE 3 IS NOT BUSY JSDEL= 100 /DELIMITER SEEN JSLPT= 40 /LPT BUFFER IN USE BUT NOT FULL JSTEL= 20 /OUTPUT BUFFER NOT FULL JSPTR= 10 /CHARACTER IN READER BUFFER JSPTP= 4 /PUNCH BUFFER IS NOT FULL JSERR= 2 /SYSTEM ERROR DETECTED JSWAIT= 1 /JOB NOT IN WAIT STATE JOBSTB= 2 /DEVICE STATUS REGISTER (RK05, DECTAPE, & CARD READER) JOBWMK= JOBSTB+1 /WAIT MASK JOBDWT= JOBWMK+1 /JOB DEVICE-WAIT JOBSRA= JOBDWT+1 /JOB RESTART ADDRESS JOBERR= JOBSRA+1 /JOB ERROR RESTART ADDRESS JOBLNK= JOBERR+1 /IOT LINKAGE JOBSWR= JOBLNK+1 /SWITCH REGISTER JOBREG= JOBSWR+1 /PC, AC, & LINK (W/MODE, GT, & SC) JOBEAE= JOBREG+3 /MQ REGISTER JOBACT= JOBEAE+1 /USER'S ACCOUNT # JOBRTM= JOBACT+1 /LOW ORDER RUN TIME JOBRTH= JOBRTM+1 /HIGH ORDER RUN TIME JOBF0= JOBRTH+1 /POINTER TO FILE 0 CONTROL JOBF1= JOBF0+1 /POINTER TO FILE 1 CONTROL JOBF2= JOBF1+1 /POINTER TO FILE 2 CONTROL JOBF3= JOBF2+1 /POINTER TO FILE 3 CONTROL JOBSCH= JOBF3+1 /SCHEDULING CONTROL-WORD /CORE TABLE CONTROL FLAGS FSWP= 4000 /SWAP REQUEST LOCK= 2000 /LOCK IN CORE NOTRUN= 1000 /HAS NOT BEEN SCHEDULED TO RUN FIP= 400 /FILE PHANTOM (NOTE: FIP HAS BEEN ASSUMED EQUAL TO WRDSEG) SI= 200 /SYSTEM COMMAND INTERPRETER PHANTOM NOHOLD= 140 /DISC COMPLETION PRIORITY (SKIPPED EVERY 4 TRANSFERS) CJOB= 37 /MASK FOR JOB NUMBER /FIP TABLE DEFINITIONS SATSIZ= 530 ENTABL= 5600 UTABLE= JOBMAX^10+ENTABL RTABLE= JOBMAX^4+UTABLE /*** CHANGE TO ^10 LATER *** /TS8 TABLE DEFINITIONS CORTBL= 7001 L2QTB= CORTBL+7 /TS8II TABLE DEFINITIONS IFNZRO CDVIN /ROOM FOR HSR, ?, AND CDR IFZERO CDVIN IFZERO DC08A IFNZRO DC08A /DC08A & 689AG CODE OUTREG= 200 /ACTIVE OUTPUT REGISTERS SKPTBL= OUTREG+NULINE+CONTTY+CDVOUT+2 /START OF IOT SKIP TABLE SKPTP= SKPTBL+NULINE+NULINE+CONTTY+CONTTY+CDVIN+CDVGAP+1 RINGIN= SKPTP+CDVOUT+3 /INPUT RING BUFFER ENDBUF= OUTREG+200 /END OF KEYBOARD INPUT BUFFER INPUTS= ENDBUF-RINGIN%2 /NUMBER OF POSSIBLE RING-BUFFER ENTRIES DATFLD= CDF 10 /DATA FIELD SELECT DATA1= 2400+DCSIZE /START OF DATA AREA (ALMOST) DEVTBL= DATA1+200 /ACTUAL START OF DATA AREA DEVTBE= DEVTBL+NULINE+NULINE+2 JOBTBL= DEVTBE+35 CLKTBL= JOBTBL+JOBMAX+1 TTYTBL= CLKTBL+JOBMAX+1 PRGTBL= TTYTBL+JOBMAX+1 DSUTBL= PRGTBL+JOBMAX+JOBMAX+JOBMAX-7 OUTDIF= -OUTREG^2+DEVTBL /FOR LINKING BETWEEN OUTREG & DEVTBL IFZERO EAE-20 IFZERO EAE IFNZRO CPU-2 > /// END OF SELF-DEFINING PARAMETERS -- START OF MONITOR LINKAGES /// /A VERY FEW SELDOM CHANGED POINTERS AUTOST= 4201 /AUTOMATIC SYSTEM RESTART ENTRANCE TO 'INIT' FIPBLK= 7720 /THE I/O TRANSFER BLOCK FOR 'FIP' /FREQUENTLY CHANGED POINTERS IN TS8 & TS8II; THESE ARE UPDATED /BY THE 'LINK.TE' TECO MACRO. IN THE SOURCE, THEY ARE FLAGGED /FOR THE MACRO TO FIND BY '/*'.