From e6cdcf9f28fd4956d9c22090b705d9d8396b5cde Mon Sep 17 00:00:00 2001 From: Richard Cornwell Date: Thu, 22 Nov 2018 23:25:13 -0500 Subject: [PATCH 1/1] cleaned up typos --- src/cmb50n.ccl | 15 +++---- src/comcon.mac | 79 ++++++++++++++++++----------------- src/common.mac | 24 +++++----- src/con40.ccl | 2 +- src/con50n.ccl | 29 ++++++------- src/config.mac | Bin 3840 -> 3841 bytes src/disser.mac | 7 ++- src/dtasrn.mac | 6 +- src/ft40n.mac | 6 +- src/lptser.mac | 2 +- src/mongen.mac | 11 +++-- src/schedb.mac | 2 +- src/scnsrf.mac | 8 ++-- src/segcon.mac | 126 ++++++++++++++++---------------------------------------- src/sysini.mac | 53 ++++++++++++------------ src/tendmp.doc | Bin 674 -> 673 bytes src/uuocon.mac | 1 - 17 files changed, 158 insertions(+), 213 deletions(-) diff --git a/src/cmb50n.ccl b/src/cmb50n.ccl index 954ebfd..63d5727 100644 --- a/src/cmb50n.ccl +++ b/src/cmb50n.ccl @@ -1,8 +1,7 @@ -A.RLX_CDRSR6.REL,CDRSRX.REL,CLKCSS.REL,CLOCK1.REL,COMCON.REL,CORE1.REL -B.RLX_DCSINT.REL,DIS340.REL,DIST30.REL,DLSINT.REL,DPDINT.REL,DSKINT.REL -C.RLX_DSKSER.REL,DTASRN.REL,DTCSRN.REL,ERRCON.REL,JOBDAT.REL,LPTSER.REL -D.RLX_MTASRX.REL,MTCSR6.REL,NULSEG.REL,PLTSER.REL,PTPSER.REL -E.RLX_PTRSER.REL,PTYSRF.REL,PTYSRH.REL,SCHEDB.REL,SCNSRF.REL,UUOCON.REL -F.RLX_PATCH.REL,SYSINI.REL,SYSMAK.REL,EDDT.REL,ONCEB.REL -SYS50.REL/B_A.RLX,B.RLX,C.RLX,D.RLX,E.RLX,F.RLX -DSK:/D_*.RLX +A.RLX_CDRSR6.REL,CDRSRX.REL,CLKCSS.REL,CLOCK1.REL,COMCON.REL,CORE1.REL +B.RLX_DLSINT.REL,DCSINT.REL,DIS340.REL,DIST30.REL,DTASRN.REL,DTCSRN.REL +C.RLX_ERRCON.REL,JOBDAT.REL,LPTSER.REL,MTASRX.REL,MTCSR6.REL,PLTSER.REL +D.RLX_PTPSER.REL,PTRSER.REL,PTYSRF.REL,PTYSRH.REL,SCNSRF.REL,SEGCON.REL +E.RLX_SYSINI.REL,UUOCON.REL,PATCH.REL,SYSMAK.REL,EDDT.REL,ONCEB.REL +SYS50N.REL/B_A.RLX,B.RLX,C.RLX,D.RLX,E.RLX +DSK:/D_*.RLX diff --git a/src/comcon.mac b/src/comcon.mac index 883f015..2397feb 100644 --- a/src/comcon.mac +++ b/src/comcon.mac @@ -285,7 +285,7 @@ INCORE=4000!NOTRAN ;COMMAND MUST BE DELAYED IF JOB HAS LOGICAL CORE ; WHICH IS ON DISK OR ON ITS WAY IN OR OUT. ; JOB WILL BE SWAPPED IN (SEE DLYCOM) ; AND IS NOT SITTING QUIETLY IN CORE(IE NO SWAPPING TRANSFER) -PLSXPN=4 ;CORE MUST BE EXPANED IF STILL COMPRESSED BY SAVE NOT GOING +PLSXPN==4 ;CORE MUST BE EXPANED IF STILL COMPRESSED BY SAVE NOT GOING ; TO COMPLETION(CONTROL C OR DEVICE OK?) ; MUST BE USED IN CONJUNCTION WITH COMMANDS WHICH ; NEED CORE AND NEED IT IN CORE @@ -653,7 +653,7 @@ IFN FTSWAP,< > PUSHJ PDP,RADX10 ;PRINT NO. OF 1K BLOCKS AVAILABLE IFE FTSWAP,< - JSP TAC,CONMAS + JSP TAC,CONMES ASCIZ /K CORE / > @@ -711,7 +711,7 @@ INTERNAL FTLOGIN IFN FTLOGIN,< EXTERNAL HELPPP HELP1: MOVE TAC,HELPPP - TLN T,JLOG + TLNN T,JLOG JRST ALOGIN POPJ PDP, > @@ -994,7 +994,7 @@ REASSI: LDB UUO,PUUOAC REASS: PUSHJ PDP,CTEXT1 ;GET DEVICE NAME - JUMPE TAC,NOTENF ;NULL NAME? + JUMPE TAC1,NOTENF ;NULL NAME? MOVE UUO,TAC1 ;SAVE IT IN UUO PUSHJ PDP,DECIN1 ;GET NEW JOB NUMBER JRST NOTENF ;NONE SPECIFIED, DOESN'T RETURN IF ERROR @@ -1392,7 +1392,7 @@ ECOM: SKIPGE JOBEXM(JDAT) ;WAS PREVIOUS D OR E COMMAND. A D COMMAND? AOS JOBEXM(JDAT) ;NO, IT WAS AN E. INCREMENT IN CASE HE TYPES NO ARG HRROS JOBEXM(JDAT) ;YES, FLAG THAT E HAPPENED LAST(LH=-1) PUSHJ PDP,OCTIN ;GET OCTAL LOCATION - SKIPA TAC,JOBEXM(JDAT) ;NONE SPECIFIED, USE LAST LOC OF D OR NEXT OF E + SKIPA TAC1,JOBEXM(JDAT) ;NONE SPECIFIED, USE LAST LOC OF D OR NEXT OF E JRST COMERA ;ILLEGAL CHARACTER PUSHJ PDP,DEAT ;CHECK FOR AC REFERENCE AND STORE JOBEXM HRRZ UUO,TAC1 ;IGNORE LH @@ -1411,7 +1411,7 @@ ECOM: SKIPGE JOBEXM(JDAT) ;WAS PREVIOUS D OR E COMMAND. A D COMMAND? HRRZ TAC,(PDP) ;PRINT RIGHT HALF PUSHJ PDP,OCTPNT PUSHJ PDP,INLMES ;PRINT FINAL TAB - ASCIZ / / + ASCIZ / / JRST TPOPJ ;POP PDP,TAC,POPJ PDP, ;"DEPOSIT LH RH LOC" - DEPOSITS XWD LH,RH IN LOCATION LOC @@ -1573,7 +1573,7 @@ LOP06: ADDI T1,SENTSZ ;BUMP POINTER ASCIZ /. BLKS/ > - HRLZ T,DEVLST ;GET DDB POINTER + HLRZ T,DEVLST ;GET DDB POINTER MOVEI AC2,0 ;SET DEVICE NAME 0 FOR FIRST COMPARE LOP01: MOVE T1,DEVMOD(T) ;DEVICE CHARACTERISTICS TRNN T1,ASSCON!ASSPRG ;DEVICE ASSIGNED BY CONSOLE OR PROGRAM? @@ -1877,7 +1877,7 @@ IFE FTTTYSER,< IDPB TEM,DAT POPJ PDP, > -PRSPC: MOVEI TAC,[ASCIZ / /] +PRSPC: MOVEI TAC,[ASCIZ / /] JRST CONMES @@ -2283,8 +2283,8 @@ IFN FTLOGIN,< PUSHJ PDP,DECIN1 ;AMOUNT OF CORE (OPTIONAL THIRD ARG.) JRST SGSET1 ;DOES NOT RETURN IF ERROR. RETURN HERE IF NO ARG. JRST COMERA ;ILLEGAL CHARACTER - LSH TAC,12 ;CONVERT TO HIGHEST REL. LOC. - SUBI TAC,1 + LSH TAC1,12 ;CONVERT TO HIGHEST REL. LOC. + SUBI TAC1,1 SGSET1: MOVEM TAC1,SGANEW(PROG) ;STORE FOR RUN AND SAVE HRRZ TAC1,IOS ;SCHEDULE MONITOR JOB ; GUARRANTEE LH OF PC WORD IS 0, SINCE IT WILL @@ -2574,7 +2574,7 @@ IFN FTDISK,< MOVE TAC1,DEVMOD(DEVDAT) ;RETURN DEVICE CHARACTERISTICS(IF DISK SYS) TLNE TAC1,DVDSK ;IS THIS DEVICE A DISK? - MOVS TAC1,SGAPPN(PROG) ;YES. MAKE SURE FORTH WORD IS PROJ,PROG NO. + MOVS TAC,SGAPPN(PROG) ;YES. MAKE SURE FORTH WORD IS PROJ,PROG NO. > MOVSM TAC,SGALEN(PROG) ;NO. MAKE SURE FORTH WORD IS IOWD FOR DECTAPE ; SINCE DECTAPE USES RH TO COMPUTE LENGTH IN K @@ -2647,7 +2647,7 @@ IFN FT2REL,< MOVEM TAC,JOB41(JDAT) ;SAVED BY SAVE LOWFIN: HRRZ TAC,JOBCOR(JDAT) ;CORE ARG FROM PREVIOUS SAVE(THIS MONITOR ; ALWAYS STORES SOMETHING) - SKIP TAC ;IS THIS AN OLD FORMAT FILE WITH NO CORE ARG TO SAVE? + SKIPN TAC ;IS THIS AN OLD FORMAT FILE WITH NO CORE ARG TO SAVE? MOVE TAC,USRREL ;YES, USE ASSIGNMENT MADE WEN LOW FILE READ IN PUSHJ PDP,CKSARG ;RETURN ONLY IF USER'S SUPLLIED ARG IS 0 OR NOT ; SMALLER THAN SAVE CORE ARG. RETURN LARGER @@ -2660,21 +2660,22 @@ LOWFIN: HRRZ TAC,JOBCOR(JDAT) ;CORE ARG FROM PREVIOUS SAVE(THIS MONITOR ;ROUTINE TO RELEASE DEVICE AND FIND TTY INTERN SGREL +EXTERN TTYFUW -SGREL: SKIPN DEVDAT,USRJDA ;HAS CHANNEL BEEN RELEASED ALREADY? - JRST SGREL2 ;YES, FIND TTY AND WAIT FOR OUTPUT TO FINISH - PUSH PDP,T4 ;NO, - MOVE TAC1,DEVMOD(DEVDAT) - TLNE TAC1,DVMTA ;MAGTAPE? - TLNN DEVDAT,INPB ;YES, WAS AN INPUT DONE? - JRST SGREL1 ;NO - CLOSE 0,CLSOUT ;YES, CLOSE MTA INPUT - STATO 0,IOTEND+IODEND ;AT END OF APTE? - MTAPE 0,16 ;NO SKIP TO EOF -SGREL1: RELEASE 0, ;NO RELEASE DEVICE - POP PDP,T4 +SGREL: SKIPN DEVDAT,USRJDA ;HAS CHANNEL BEEN RELEASED ALREADY? + JRST TTYFUW ;YES, FIND TTY AND WAIT FOR OUTPUT TO FINISH + PUSH PDP,IOS ;NO, + MOVE TAC,DEVMOD(DEVDAT) + TLNE TAC,DVMTA ;MAGTAPE? + TLNN DEVDAT,INPB ;YES, WAS AN INPUT DONE? + JRST SGREL1 ;NO + CLOSE 0,CLSOUT ;YES, CLOSE MTA INPUT + STATO 0,IOTEND+IODEND ;AT END OF APTE? + MTAPE 0,6 ;NO SKIP TO EOF +SGREL1: RELEAS ;NO RELEASE DEVICE + POP PDP,IOS SGREL2: - JRST TTYFNU ;FIND TTY FOR CURRENT USER + JRST TTYFUW ;FIND TTY FOR CURRENT USER ;ROUTINE TO EXECUTE DUMP MODE COMMAND LIST SETUP IN SGALEN(R) ;AND CHECK FOR ERRORS. USED ONLY TO READ LOW FILE. @@ -2684,20 +2685,20 @@ SGREL2: ;SGDOA CALLED FROM SAVE, IT HAS ALREADY SET LH OF USRHCU=-2 ;TO INDICATE CORE IS COMPRESSED - EXTERN USRHCU,USRJDA,JOBSA,JOBDDT,JOBSDD,JOBSD1,JOBSAV,JOBCOR - EXTERN JOBSV,JOBSV3,JOBSVD,JOBSDP + EXTERN USRHCU,USRJDA,JOBSA,JOBDDT,JOBSDD,JOBSD1,JOBSAV,JOBCOR + EXTERN JOBSV,JOBSV3,JOBSVD,JOBSDP -SGDO: HRROS USRHCU ;SET LH OF USRCHU-1 AS A FLAG TO INDICATE SAVE GET +SGDO: HRROS USRHCU ;SET LH OF USRCHU-1 AS A FLAG TO INDICATE SAVE GET ; LOW FILE IO IN PROGRESS, SO MONITOR WILL ; NOT STORE HIGH SEG PROTECTION IN JOBHRL WHICH ; HAS IOWD FOR ZERO COMPRESSION -SGDOA: XCT @(PDP) ;EXECUTE INPUT OR OUTPUT UUO - MOVE ITEM,JOB ;READ INTO PROTECTED PART OF JOB DATA AREA - PUSHJ PDP,EXPAND ;EXPAND CORE IMAGE - JRST ADRERR ;ADDRESS CHECK, PRINT MESSAGE AND STOP JOB - MOVE TAC1,JOBDDT(PROG) ;COPY DDT STARTING ADR - MOVEM TAC1,USRDDT ;INTO MONITOR PROTECTED AREA(IN CASE THIS IS GET) - SETZM USRHCU ;FLAG THAT SAVE-GET IO FINISHED AND CORE EXPANDED +SGDOA: XCT @(PDP) ;EXECUTE INPUT OR OUTPUT UUO + MOVE ITEM,JOB ;READ INTO PROTECTED PART OF JOB DATA AREA + PUSHJ PDP,EXPAND ;EXPAND CORE IMAGE + JRST ADRERR ;ADDRESS CHECK, PRINT MESSAGE AND STOP JOB + MOVE TAC,JOBDDT(PROG) ;COPY DDT STARTING ADR + MOVEM TAC,USRDDT ;INTO MONITOR PROTECTED AREA(IN CASE THIS IS GET) + SETZM USRHCU ;FLAG THAT SAVE-GET IO FINISHED AND CORE EXPANDED AOS (PDP) ;SKIP OVER UUO IN CALLING SEQUENCE ;ROUTINE TO CHECK FOR IO ERRORS(CALLED FROM SEGCON) @@ -2707,8 +2708,8 @@ SGDOA: XCT @(PDP) ;EXECUTE INPUT OR OUTPUT UUO INTERN SGIOCK -SGIOCK: MOVE T4,DEVIOS(DEVDAT) ;IO STATUS WORD FOR THIS DEVICE - TRNN T4,IOBKTL!IODTER!IODERR!IOIMPM ;ANY ERRORS ON SAVE-GET DEVICE? +SGIOCK: MOVE IOS,DEVIOS(DEVDAT) ;IO STATUS WORD FOR THIS DEVICE + TRNN IOS,IOBKTL!IODTER!IODERR!IOIMPM ;ANY ERRORS ON SAVE-GET DEVICE? POPJ PDP, ;NO, GIVE OK RETURN MOVEI TAC,TRNERR ;YES, ERROR CODE IN CASE THIS IS RUN UUO ; (TRANSMISSION ERROR) @@ -2758,7 +2759,7 @@ EXPZ: MOVSI TAC,-2 HLLM TAC,JOBSV(PROG) ;COME HERE TO DO THE ACTUAL EXPANSION OF A FILE EXPND1: MOVE TAC,[XWD PROG,JOBSV] ;IT WAS READ INTO JOBSV - MOVE TAC,@TAC ;FIRST IOWD + MOVE TAC1,@TAC ;FIRST IOWD EXPLP1: HRRZ AC1,TAC1 ;ADDRESS OF IOWD CAIGE AC1,JOBSAV ;LEGAL? AOJA AC1,TOOLOW ;NO. DELETE DATA WHICH IS TO LOW @@ -2827,7 +2828,7 @@ NXIOWD: SUB TAC,AC2 ;POINT TAC TO NEXT IOWD HRRZ AC1,@TAC ;GET ADDRESS CAIGE AC1,JOBSD1 ;LEGAL? AOJA AC1,TOOLOW ;NO, AT LEAST PART OF THE DATA IS LOW -IOWBLT: MOVSI TAC,@TAC ;YES, KEEP THE ENTIRE IOWD DATA +IOWBLT: MOVSI TAC1,@TAC ;YES, KEEP THE ENTIRE IOWD DATA HRRI TAC1,JOBSV(PROG) ;TAC1 IS A BLT POINTER SUBI TAC,JOBSV ;RH OF TAC IS AMOUNT BEING DELETED SUBI AC3,(TAC) ;AC3 POINTS TO TOP OF DATA READ IN-(N) diff --git a/src/common.mac b/src/common.mac index 0a25637..e7ad159 100644 --- a/src/common.mac +++ b/src/common.mac @@ -928,18 +928,18 @@ XJBPFI: XWD .,0 ;LH FILLED IN WITH EXTERNAL JOBPFI (SEE JOBDAT) ;MONTH TABLE FOR DAYTIME COMMAND PRINTING PMONTB: POINT 6,MONTAB(TAC),5 ;POINTER TO NUMBER OF DAYS INMONTH -MONTAB: EXP ^D30B5+"JAN - EXP ^D27B5+"FEB - EXP ^D30B5+"MAR - EXP ^D29B5+"APR - EXP ^D30B5+"MAY - EXP ^D29B5+"JUN - EXP ^D30B5+"JUL - EXP ^D30B5+"AUG - EXP ^D29B5+"SEP - EXP ^D30B5+"OCT - EXP ^D29B5+"NOV - EXP ^D30B5+"DEC +MONTAB: EXP ^D30B5+"JAN" + EXP ^D27B5+"FEB" + EXP ^D30B5+"MAR" + EXP ^D29B5+"APR" + EXP ^D30B5+"MAY" + EXP ^D29B5+"JUN" + EXP ^D30B5+"JUL" + EXP ^D30B5+"AUG" + EXP ^D29B5+"SEP" + EXP ^D30B5+"OCT" + EXP ^D29B5+"NOV" + EXP ^D30B5+"DEC" MIDNIT: EXP ^D60*^D60*^D24*JIFSEC ;NO OF JIFFIES TILL MIDNIGHT ;STOP PROCEDURE WHEN SHUTTING DOWN SYSTEM ;BECAUSE OF CATOSTROPHIC FAILURE OR ANY OTHER REASON diff --git a/src/con40.ccl b/src/con40.ccl index 31ef141..c4ea406 100644 --- a/src/con40.ccl +++ b/src/con40.ccl @@ -21,7 +21,7 @@ LPTSER,LPTSER/C_S,LPTSER MTCSR6,MTCSR6/C_S,MTCSR6 MTASRX,MTASRX/C_S,MTASRX NULSEG,NULSEG/C_S,FT40N,NULSEG -SEGCON,NULSEG/C_S,FT40N,SEGCON +SEGCON,SEGCON/C_S,FT40N,SEGCON PLTSER,PLTSER/C_S,PLTSER PTRSER,PTRSER/C_S,PTRSER PTPSER,PTPSER/C_S,PTPSER diff --git a/src/con50n.ccl b/src/con50n.ccl index cbb8581..12cc637 100644 --- a/src/con50n.ccl +++ b/src/con50n.ccl @@ -1,36 +1,35 @@ CDRSR6,CDRSR6/C_S,CDRSR6 CDRSRX,CDRSRX/C_S,CDRSRX -CLOCK1,CLOCK1/C_S,FT50SB,CLOCK1 -CLKCSS,CLKCSS/C_S,FT50SB,CLKCSS -COMCON,COMCON/C_S,FT50SB,COMCON -COMMON,COMMON/C_S,CON50N,COMMON -CORE1,CORE1/C_S,FT50SB,CORE1 +CLKCSS,CLKCSS/C_S,FT50N,CLKCSS +CLOCK1,CLOCK1/C_S,FT50N,CLOCK1 +COMCON,COMCON/C_S,FT50N,COMCON +COMMON,COMMON/C_S,CONTNY,COMMON +CORE1,CORE1/C_S,FT50N,CORE1 DIS340,DIS340/C_S,DISSER DIST30,DIST30/C_S,DIST30,DISSER DCSINT,DCSINT/C_S,DCSINT DLSINT,DLSINT/C_S,DLSINT DPDINT,DPDINT/C_S,DPDINT DSKINT,DSKINT/C_S,DSKINT -DSKSER,DSKSER/C_S,FT50SB,DSKSER -DTCSRN,DTCSRN/C_S,FT50SB,DTCSRN -DTASRN,DTASRN/C_S,FT50SB,DTASRN +DSKSER,DSKSER/C_S,FT50N,DSKSER +DTCSRN,DTCSRN/C_S,FT50N,DTCSRN +DTASRN,DTASRN/C_S,FT50N,DTASRN EDDT,EDDT/C_EDDT ERRCON,ERRCON/C_S,ERRCON JOBDAT,JOBDAT/C_JOBDAT LPTSER,LPTSER/C_S,LPTSER MTCSR6,MTCSR6/C_S,MTCSR6 MTASRX,MTASRX/C_S,MTASRX -NULSEG,NULSEG/C_S,FT50SB,NULSEG -SEGCON,SEGCON/C_S,FT50SB,SEGCON +NULSEG,NULSEG/C_S,FT50N,NULSEG +SEGCON,SEGCON/C_S,FT50N,SEGCON PLTSER,PLTSER/C_S,PLTSER PTRSER,PTRSER/C_S,PTRSER PTPSER,PTPSER/C_S,PTPSER PTYSRF,PTYSRF/C_S,PTYSRF PTYSRH,PTYSRH/C_S,PTYSRH PATCH,PATCH/C_PATCH -SYSINI,SYSINI/C_S,FT50SB,SYSINI +SYSINI,SYSINI/C_S,FT50N,SYSINI SYSMAK,SYSMAK/C_S,SYSMAK -ONCEB,ONCEB/C_S,FT50SB,ONCEB -SCNSRF,SCNSRF/C_S,FT50SB,SCNSRF -SCHEDB,SCHEDB/C_S,FT50SB,SCHEDB -UUOCON,UUOCON/C_S,FT50SB,UUOCON +ONCEB,ONCEB/C_S,FT50N,ONCEB +SCNSRF,SCNSRF/C_S,FT50N,SCNSRF +UUOCON,UUOCON/C_S,FT50N,UUOCON diff --git a/src/config.mac b/src/config.mac index 73311b2ae85c7a554bcdb8d87173398a944702a8..e541c4f83d271a5c44c4b80a51332cae822a48c5 100644 GIT binary patch delta 29 kcmZpWYn0od#LR2K%M}rz;N|b+r(1Hxn-x0Bo@a#{d8T delta 27 icmZpaYmnQZ#LQ=8!OIm9py1{2IFN T30,< -DISBSY=2000 -PENON=1000 +> +IFN T30,< +DISBSY=20000 +PENON=10000 > EXTERN JOBPFI diff --git a/src/dtasrn.mac b/src/dtasrn.mac index 1386af8..37a077f 100644 --- a/src/dtasrn.mac +++ b/src/dtasrn.mac @@ -319,7 +319,7 @@ ENTRA: SUBI UUO,2 ;NO. POINT TO NAME ;IS A SAVE FILE (UGETF DONE) MOVEI BLK,DIRBLK ;NO. GET 1ST BLOCK CLOSE TO TLO IOS,RVERSE ;DIRECTORY. GOING IN REVERSE - POPJ PDP,USLSTA + PUSHJ PDP,USLSTA CAILE BLK,TOPBLK ;BLOCK LEGAL? POPJ PDP, ;NO. ERROR RETURN ENTRC: MOVEM BLK,FSTBLK(DEVDAT) ;SAVE AS 1ST BLOCK @@ -680,7 +680,7 @@ TOUSR1: MOVEM UUO,USPNTR ;SAVE IT MOVEM UUO,SVPNTR ADDI TAC,(PROG) ;RELOCATE ADDRESS OF 1ST IOWD MOVEM TAC,PNTR ;AND SAVE IT - MOVE TAC,[JSP DMPADV] ;SET UP LOC FOR WHEN + MOVE TAC,[JSR DMPADV] ;SET UP LOC FOR WHEN MOVEM TAC,DTALC2 ;IOWD IS EXHAUSTED HRRZM PROG,ADRPRG ;SAVE JUST ADDRESS OF PROG TLO IOS,NOBUF ;INDICATE DIRECTLY TO USER @@ -1021,7 +1021,7 @@ ALMREQ: XWD .+1,1 ;HERE WHEN SWAPPER DOES GET THE JOB BACK INTO CORE SWPBAK: MOVE IOS,DEVIOS(DEVDAT) - SETM MONB2 ;CLEAR JOB NO, FROM MON BUFFER + SETZM MONB2 ;CLEAR JOB NO, FROM MON BUFFER TLNN IOS,IOFST ;WAS JOB SWAPPED OUT WHEN DATA FINISHED? POPJ PDP, ;NO. TRANSFER COMPLETED MOVE TAC,JBTSTS(ITEM) ;YES, WAS IO ABORTED? diff --git a/src/ft40n.mac b/src/ft40n.mac index 1f5c9bf..8f8174b 100644 --- a/src/ft40n.mac +++ b/src/ft40n.mac @@ -22,11 +22,11 @@ FTCCL=0 ;CONCISE COMMAND LANGUAGE COMMANDS FTRC10=0 ;NEW PDP-10 DISK(MODEL RC-10) INSTEAD OF DATA PRODUCTS DISK -FTKCT=0 ;ACCUMULATE CORE*RUNNING TIME FOR CHARGING FOR EACH USER +FTKCT=0 ;ACCUMULATE CORE*RUNNING TIME FOR CHARGING FOR EACH USER -FTPRV=0 ;PRIVILEGE BITS FOR EACH USER +FTPRV=0 ;PRIVILEGE BITS FOR EACH USER -FTGETTAB=0 ;GETTAB UUO - RETURN CONTENTS OF MONITOR JOBTABLES +FTGETTAB=1 ;GETTAB UUO - RETURN CONTENTS OF MONITOR JOBTABLES ;LAST PAGE SHOULD BE WRITTEN WITH 'HP' TECO COMMAND SO FORM-FEED IS ;NOT APPENDED AFTER LIST CAUSING EXTRA BLANK PAGE IN MONITOR LISTING diff --git a/src/lptser.mac b/src/lptser.mac index 58a0ae2..95304f0 100644 --- a/src/lptser.mac +++ b/src/lptser.mac @@ -194,7 +194,7 @@ LPTER1: MOVEM TAC,LPTSV2(DEVDAT) ;SAVE TAC IN DDB MOVEI TAC,LPTLOV ;GET LINE OVERFLOW ERROR MASK XCT LPTCSO(DEVDAT) ;SKIP IF LINE OVERFLOW FLAG IS ON JRST LPTER2 ; GO CHECK IF PREVIOUS ERROR OCCURRED - MOVN TAC,[EXP 100001] ;DECREMENT BLK0 POINTER + MOVN TAC,[EXP 1000001] ;DECREMENT BLK0 POINTER ADDM TAC,LPTPTR(DEVDAT) MOVE TAC,[EXP 15B6+12B13] ;PRINT CRLF XCT LPTDTO(DEVDAT) diff --git a/src/mongen.mac b/src/mongen.mac index f0db53d..94996dc 100644 --- a/src/mongen.mac +++ b/src/mongen.mac @@ -175,13 +175,14 @@ ENTERR: PUSHJ P,OUTTTY PUSHJ P,ASKYN ;FIND OUT IF 10/40 WITH DISK ASCIIZ <;DISK?> JUMPE N,SYSOUT ;DISK SYSTEM? -SYS1: AOS SYS50N - AOS DSKN +SYS1: AOS DSKN AOS LOGINN SYSOUT: MOVE N,SYS40N ;DEFINE 10/40 SYSTEM SYMBOL PUSHJ P,OUTXP ASCIIZ - MOVEI N,SYS50N + MOVEI N,0 ;ASSUME 10/40 + SKIPN SYS40N ;10/40 SYSTEM? + MOVEI N,1 ;NO, MUST BE 10/50,SET TO 1 PUSHJ P,OUTXP ASCIIZ MOVE N,DSKN @@ -356,7 +357,7 @@ DEVOUT: PUSHJ P,OUTSTR ;SUBSTUTITE ANSWER FOR * ASCIIZ > SUBTTL SET-UP TTY CONFIGURATION - PUSHJ P,ASKYN +DLSASK: PUSHJ P,ASKYN ASCIIZ <;DATA LINE SCANNER(DC10)?[N = WILL ASK FOR 680 OR 630]> MOVEM N,DLSN JUMPN N,DLSOUT @@ -1129,4 +1130,4 @@ FCRLF: MOVEI CH,15 END MONGEN - \ No newline at end of file + diff --git a/src/schedb.mac b/src/schedb.mac index d23cdcb..ced81c1 100644 --- a/src/schedb.mac +++ b/src/schedb.mac @@ -514,7 +514,7 @@ QBITS: QUEUES CODES IFN FTCHECK+FTMONP,< DEFINE X(A,B),< -EXTERNAL A'RFQ +EXTERNAL A'REQ > QUEUES EXTERNAL REQTAB diff --git a/src/scnsrf.mac b/src/scnsrf.mac index 76fda9d..fc3ef80 100644 --- a/src/scnsrf.mac +++ b/src/scnsrf.mac @@ -1008,7 +1008,7 @@ GETLIN: SKIPGE TAC,@UUO ;DOES USER WANT ONE LINE CHAR. WD.? JUMPE TAC,GETLN1 ;IF NONE, NO LINES. SKIPLE TISYNC(DEVDAT) ;ANY TYPE-IN? TLO LINE,LINRDY ;YES. FLAG. -GETLN1: MOVE LINE,@UUO ;GIVE IT TO USER +GETLN1: MOVEM LINE,@UUO ;GIVE IT TO USER POPJ PDP, ;ROUTINE TO SET LINE CHARACTERISTICS THAT ARE SETABLE @@ -1283,7 +1283,7 @@ TTYKIL: MOVSI IOS,TTYIOW+IOW+TTYDTC+SYNC+DDTM+USRB TLZ LINE,LGLSET ;INITIALIZE OTHER MODES HLLM LINE,LINTAB(LINE) SETZB TAC,DEVLOG(DEVDAT) ;CLEAR LOGICAL NAME - MOVE TAC,[XWD TTYUSR+TTYATC,ASSCON+ASSPRG] + MOVE TAC,[XWD TTYUSE+TTYATC,ASSCON+ASSPRG] ANDCAM TAC,DEVMOD(DEVDAT) ;CLEAR ATTACH,USE, AND ASSIGN BITS TTYKL1: LDB LINE,PUNIT ;LINE NO. SETZM TTYTAB(LINE) ;CLEAR TRANSLATOR TABLE @@ -1957,7 +1957,7 @@ TYP: TYPL: TLNE LINE,PTYLIN POPJ PDP, ;YES PUSHJ PDP,PEVEN8 ;GENERATE CORRECT PARITY - TLNE LINE,CTYLIN ;NO,CONSOLE TTY? + TLNN LINE,CTYLIN ;NO,CONSOLE TTY? JRST SCNTYP ;TYPE CHAR. CTYP: DATAO TTY,CHREC DPB CHREC,PLASTC @@ -2014,7 +2014,7 @@ DDBSRC: HRRZ TAC,LINE ;NUMBER OF LINE ONLY POPJ PDP, ;YES. MOVSI IOS,MLTTYL ;NO. OF TTY DDBS MOVEI DEVDAT,TTYLST ;ADDRESS OF FIRST TTY DDB - SKIPA TAC,[XWD TTYUSE+TTYATC,ASSPRG+ASSCON] + SKIPA TAC,[XWD TTYUSE+TTYATC,ASSCON+ASSPRG] HLRZ DEVDAT,DEVSER(DEVDAT) ;CHAIN THRU DDBS TDNE TAC,DEVMOD(DEVDAT) ;USE,ATTACH OR ASSIGN BITS ON? AOBJN IOS,.-2 ;YES. DONE? diff --git a/src/segcon.mac b/src/segcon.mac index 5bbd1b2..67692c7 100644 --- a/src/segcon.mac +++ b/src/segcon.mac @@ -1,7 +1,6 @@ -FTHALT==-1 -TITLE SEGCON - HIGH SEGMENT CONTROL FOR REENTRANT USER PROGRAMMING V435 +TITLE SEGCON - HIGH SEGMENT CONTROL FOR REENTRANT USER PROGRAMMING V427 SUBTTL T. HASTINGS/TW/TNM/TH/AF/CHW/TW/RCC TS 22 DEC 69 -XP VSEGCN,434 +XP VSEGCN,427 ;PUT VERSION NUMBER IN GLOB LISTING AND LOADER MAP ;ALL OF THE CODE DEALING WITH THE SECOND RELOCATION REGISTER HAS BEEN ISOLATED @@ -345,7 +344,7 @@ ASG1: MOVE TAC,DEVNAM(DEVDAT) ;GET DEVICE NAME(PHYSICAL) ASG3: AOBJN ITEM,ASG1 ;NO, KEEP LOOKING, FINISHED? JUMPG ITEM,IPOPJ ;RETURN IF FINISHED AND RESTORE JOB NUMBER TLZ ITEM,-1 ;CLEAR OUT LH BITS OF HIGH SEG NO. - PUSHJ PDP,CLRNAM ;NOT FINISHED, CLEAR SEG NAME + PUSHJ PDP,CLRNM1 ;NOT FINISHED, CLEAR SEG NAME ;AND RETURN DISK SPACE IF NOT IN USE JRST ASG3 ;CONTINUE SCAN, RESTORE TAC TO DEVICE NAME @@ -410,8 +409,8 @@ ANYSV0: SKIPE PROG,JBTADR(ITEM) ;IS JOB IN CORE (R=R)? SKIPL JOBHCU(PROG) ;YES, IS A SSVE OR GET FOR EITHER SEG IN PROGRESS? ANYSV1: SOJG ITEM,ANYSV0 ;NO, KEEP LOOKING, FINISHED? JUMPLE ITEM,ANYSV2 ;YES, FIND A SAVE OR GET IN PROGRESS - HRRZ TAC,JBTSGN(ITEM) ;NO, GET ITS HIGH NUMBER, IF ANY - CAIE TAC,@(PDP) ;IS IT SAME AS HIGH SEG IN QUESTION? + HRRZ AC1,JBTSGN(ITEM) ;NO, GET ITS HIGH NUMBER, IF ANY + CAIE AC1,@(PDP) ;IS IT SAME AS HIGH SEG IN QUESTION? ; (INDIRECT AND INDEX BITS ALWAYS 0) JRST ANYSV1 ;NO, KEEP LOOKING PUSHJ PDP,ANYDEV ;YES, DOES THIS JOB HAVE @@ -539,7 +538,7 @@ KILLOP: HRRZ TAC1,JBTSGN(TAC) ;GET HIGH SEG NUMBER FOR NEXT USER(IF ANY) ; ON A GET IF WE LEFT IT ON SWAPPING SPACE? PUSHJ PDP,ZERSWP ;NO, NO NAME, SO DELETE DISK SPACE(IF ANY) > - MOVSI TAC,SNA ;FLAG HIGH SEG AS UNASSIGNED(OR DORMANT + MOVSI TAC,SNA!NSHF!NSWP! ;FLAG HIGH SEG AS UNASSIGNED(OR DORMANT ; IF STILL IN ; CORE OR DISK). TURN OFF NO SWAP AND NO SHUFFLE ; IN CASE ON BY ACCIDENT(SAVE NOT GO TO COMPLETION) @@ -595,7 +594,6 @@ IFN FTSWAP,< ; RETURN ITEM,PROG PRESERVED ;CALLED FROM CLRNAM AND FRECOR - INTERN FTHALT EXTERN CORTAL,JBTADR KDORCR: PUSH PDP,PROG ;SAVE R(EITHER HIGH OR LOW RELOC) @@ -874,7 +872,7 @@ CURHGH: MOVE TAC,JOB ;CURRENT JOB NUMBER ; (EVEN THOUGH THIS CALL TO CURHGH MAY BE FOR SOME ; OTHER JOB) SONCE HIGH SEG MAY BE IN NEW PLACE IN CORE POP PDP,ITEM ;RESTORE HIGH SEG NUMBER AND RELOC FOR HIGH SEG IN CORE - POPJ PDP, ;RETURN + JRST RPOG ;RETURN ;ROUTINE TO SEE IF SUM OF BOTH SEGMENTS WILL FIT INTO MAXIMUM SIZE ;OF PHYSICAL CORE TOGETHER ;CALL: MOVE TAC,REQUESTED LENGTH-1 OF SEG BEING ASSIGNED(LOW OR HIGH) @@ -905,8 +903,8 @@ SUMSEG: JUMPE TAC,CPOPJ1 ;ASKING FOR 0 CORE(IF YES, COULD BE MOVEI TAC1,0 ;ASSUME NO HIGH SEG NUMBER JUMPLE ITEM,SUM1 ;IS THERE NO HIGH SEG OR IS THIS A SPY SEG? PUSHJ PDP,SEGSIZ ;TAC1=SIZE(IN J) OF HIGH OR LOW SEG - ASH TAC1,12 ;CONVERT TO NUMBER OF WORDS(SEG NOT BEING ALLOCATED) -SUM1: ADD TAC1,TAC ;ADD REQUEST(ORED 1777) TO LENGTH-1(OR 0) OF SEG NOT + LSH TAC1,12 ;CONVERT TO NUMBER OF WORDS(SEG NOT BEING ALLOCATED) +SUM1: ADDI TAC1,(TAC) ;ADD REQUEST(ORED 1777) TO LENGTH-1(OR 0) OF SEG NOT ; BEING CHANGED CAMGE TAC1,CORMAX ;WILL TOTAL SIZE-1 BE LESS THAN MAX SIZE AOS -1(PDP) ;YES, OK RETURN @@ -952,17 +950,15 @@ FREC1: SKIPE JBTADR(ITEM) ;DOES THIS HIGH SEG HAVE CORE? JUMPL ITEM,FREC2 ;YES, DID WE FIND A DORMANT OR IDLE SEG WITH CORE? -IFE FTSWAP,< - POP PDP,ITEM ;RESTORE JOB OR SEG. # - JRST TPOPJ ;RESTORE CORE REQUEST AND RETURN -> +;IFE FTSWAP,< +; POP PDP,ITEM ;RESTORE JOB OR SEG. # +; JRST TPOPJ ;RESTORE CORE REQUEST AND RETURN +;> -IFN FTSWAP,< JSP DAT,OERROR ;NO, ERROR-CORTAB AND CORTAL DO NOT AGREE ; PRINT ON OPERATOR'S CONSOLE, DO NOT BLAME ; ANY PARTICULAR JOB -> FREC2: TLZ ITEM,-1 ;CLEAR OUT LH OF SEG NUMBER IFN FTSWAP,< @@ -1059,7 +1055,7 @@ SETEX1: TLZ IOS,NSRBIT ;TRY SHARABLE SEG FIRST(.SHR) THEN .HGH INTERN SETEXT -SETEXT: HRLZM TAC1,SGALOW(PROG) ;SAVE EXTENSION USER TYPED FOR LOW SEG +SETEXT: HLLZM TAC1,SGALOW(PROG) ;SAVE EXTENSION USER TYPED FOR LOW SEG MOVE TAC1,[SIXBIT /SHRHGH/] ;ASSUME SSAVE COMMAND(OR GET) TLNE IOS,NSRBIT ;WAS IT? MOVSS TAC1 ;NO, EXCHANGE ROLES OF EXTENSIONS, MUST @@ -1098,7 +1094,7 @@ SAVHGH: PUSHJ PDP,SGOPEN ;TRY TO ASSIGN DEVICE(INIT IN SAVMOD) ; BY CORE OR REMAP BY USER R)? SKIPE USRDDT ;YES, IS USER USING DDT? HRLM TAC1,JOBHRL(JDAT) ;YES, SET FIRST FREE TO BE FIRST WORD BEYOND END(REL) - HLRZ TAC,JOBHRL(JDAT) ;GET CORRECT FIRST REL FREE LOC IN HIGH SEG + HLLZ TAC,JOBHRL(JDAT) ;GET CORRECT FIRST REL FREE LOC IN HIGH SEG MOVNM TAC,SGALEN(PROG) ;SET LH=-NO. OF WORDS TO WRITE. RH=0 HLLOS SGALEN(PROG) ;SET RH=-1 IN CASE DECTAPE(USES RH TO COMPUT ; LENGTH=FIRST REL LOC-1 @@ -1267,9 +1263,7 @@ GETHGH: SKIPE TWOREG ;IS THIS A 2 RELOC REG. MACHINE? SETZM JOBDDT(JDAT) ;ALSO CLEAR DDT STARTING ADDRESS SETZM USRDDT ;IN MONITOR PROTECTED AREA AS WELL AS JOBDAT ; IN CASE RETURN TO USER WITHOUT RESCHEDULING - PUSHJ PDP,ADJCOR ;COMPUTE AMOUNT OF CORE FOR BOTH LO & HI SEGS - ; FROM USER'S CORE ARG.(IF ANY) - ; RETURNS WITH HI SEG # IN TAC + MOVE TAC,JBTSGN(ITEM) HRRO TAC,JBTADR(TAC) ;ABSOLUTE ADDRESS OF HIGH SEG(LH=-1 FOR ; POPS SO NO PDL UNDERFLOW) ADDI TAC,JOBPOP ;ADD POP OFFSET @@ -1330,7 +1324,7 @@ SAVLOW: MTAPE 3 ;WRITE A NULL HIGH SEGMENT IF MTA ; RETURN 1 - HIGH SEG OR FILE NOT FOUND ; RETURN 2 - HIGH SEG FOUND AND IN LOG ADR. SPACE(IN FACT ALSO IN CORE) - EXTERN NROOM1,DEVPHY,PJOBN,JOB,SGADAT,JOBPD1 + EXTERN NROOM1,DEVPHY,PJOBN,JOB,SGADAT,sganew,JOBPD1 GETSEG: IFN FTDISK,< @@ -1398,6 +1392,8 @@ IFN FTHALT,< MOVSI TAC1,SNA ;MAKE SURE THIS HIGH SEG IS FLAGGED AS IN USE ; IE SEG IN SOME USER'S LOG. ADR. SPACE IORB TAC1,JBTSTS(ITEM) ;MAY HAVE BEEN JUST ASSIGNED OR DORMANT + PUSHJ PDP,INCCNT + JRST SETRL1 IFN FTSWAP,< MOVE DAT,JBTSTS(TAC) ;JOB STATUS WORD TLNN DAT,JXPN ;JOB WAITING TO EXPAND LOW OR HIGH SEG? @@ -1405,25 +1401,9 @@ IFN FTSWAP,< ; OR WAITING TO EXPAND? JRST SETRL0 ;YES, WAIT TILL HIGH SEG IN CORE TOO > -SHARE3: PUSHJ PDP,INCCNT ;NO, INCREMENT HIGH SEG IN-CORE COUNT FOR THIS - ; JOB(TAC) IF NOT ALREADY INCREMENTED, RETURN - ; WITH J = HIGH SEG NO. -IFN FTHALT,< - PUSHJ PDP,CHKTAL ;CHECK CORTAL WIT CORTAB, HALT IF DIFF. -> - JRST SETRL1 ;SET HARD. AND SOFT. RELOC. AND SKIP RETURN - -SHRNRM: HRRZ TAC1,JOBPD1(JDAT) ;GET RETURN PC IN CASE THIS IS RUN UUO - CAMLE TAC1,USRREL ;IS IT IN THE HIGH SEG WHICH IS NOW GONE ? - HRRZS JOBPD1(JDAT) ;YES, TURN OFF USER MODE FLAG, SO ERROR - ; WILL NOT LOOK FOR HALT AFTER UUO - MOVE TAC,TAC1 ;SETUP NO. OF K NEEDED FOR MESSAGE - JRST NROOM1 ;GO PRINT MONITOR MESSAGE AND STOP JOB - ; OR ERROR RETURN TO LOW SEGMENT - ; (UNLESS UUO HAS A HALT FOLLOWING IT) STONAM: MOVE DAT,JOB ;CURRENT JOB NUMBER MOVSI ITEM,SHRSEG ;FLAG THIS USER AS USING A SHARABLE HIGH SEG - IORB ITEM,JBTSGN(DSER) ;AND SETUP HIGH SEG NUMBER + IORB ITEM,JBTSGN(DAT) ;AND SETUP HIGH SEG NUMBER MOVEM TAC,JBTDIR(ITEM) ;STORE DIRECTORY(OR PHY DEV NAM)> MOVEM TAC1,JBTNAM(ITEM) ;STORE HIGH SEG FILENAME MOVSI TAC,SHRSEG ;ALSO FLAG HIGH SEG ASSIGNED @@ -1442,31 +1422,16 @@ SETRL2: PUSHJ PDP,WSCHED ;WAIT TILL IT IS SWAPPED IN(CALL SCHEDULER) SETRL1: AOS (PDP) ;SKIP RETURN(GETSEG,UCORHI,UREMAP) JRST SETREL ;SET HARDWARE AND SOFTWARE RELOC INFO ; FOR CURENT JOB AND RESTORE R AND J - -;ROUTINE TO ADJUST USER'S CORE ARG. IN GET,R,RUN OR SAVE COMMANDS SO THAT -; THE ARG. SUPPLIED IS THE TOTAL OF BOTH THE LO & HI SEGS. IF THERE IS NO -; HI SEG THEN ARG. IS THE LO SEG SIZE AS IN NON-REENTRANT SYSTEMS. -; IF THERE ARE BOTH LO & HI SEGS AND THE ARG. IS LESS THAN THE HI SEG + 1K -; MANDATORY LO SEG SIZE THEN THE CORE ALLOCATION IS UNCHANGED. - -;CALL MOVE PROG,ADR. OF JOB DATA AREA -; MOVE ITEM,JOB NO. -; PUSHJ PDP,ADJCOR -; ALWAYS RETURN WITH TAC=HI SEG #,TAC1 & U DESTROYED - -INTERN ADJCOR -EXTERN SGANEW - -ADJCOR: SKIPN TAC,JBTSGN(ITEM) ;IS THERE A HI SEG ? - POPJ PDP, ;EVIDENTLY NOT - HLRZ TAC1,JBTADR(TAC) ;GET ITS SIZE - SKIPE DAT,SGANEW(JDAT) ;WAS AN ARG. TYPED OF 0 OR NOT AT ALL ? - SUBI DAT,1(TAC1) ;NO - COMPUTE LO SEG SIZE - SKIPLE DAT ;MUST BE 1K OR GREATER! - MOVEM DAT,SGANEW(PROG) ;STORE IT - POPJ PDP, ;RETURN - ; TO LOW SEG RELOC AND JOB NUMBER -;TRY TO READ IN NON-SHARABLE FILE WITH EXTENSION .HGH + ; TO LOW SEG RELOC AND JOB NUMBER +; skipn dat,jbtsgn(item) +; popj pdp, +; hlrz tac1,jbtadr(dat) +; skipe dat,SGAnew(prog) +; subi dat,1(tac1) +; skiple dat +; movem dat,SGAnew(tac1) +; popj pdp, + ;TRY TO READ IN NON-SHARABLE FILE WITH EXTENSION .HGH TRYHGH: MOVSI TAC,(SIXBIT /HGH/) ;TRY LOOKUP WITH EXTENSION .HGH PUSHJ PDP,SGH1 ;SET EXT AND E+3 OF LOOKUP BLOCK @@ -1594,32 +1559,13 @@ DELET: PUSHJ PDP,SGH1 ;SETUP EXTENSION, AND E+3 IN DIRECTORY BLOCK J=ITEM ;CONTAINS JOB OR HIGH SEG NUMBER(SAME AC AS SWAP USES) IFN FTSWAP,< - INTERN FININ EXTERN JOBMAX,JBTSGN,SWPIN,JBTSTS,CPOPJ1,ZERSWP - EXTERN IMGOUT,JBTSWP,FXSAT - -FININ: CAILE J,JOBMAX ;WAS A LOW SEG JUST SWAPPED IN? - JRST FINHGH ;NO, HIGH SEG JUST SWAPPED IN, GO FINISH - MOVEM J,SWPIN ;YES, SAVE JOB NUMBER(FOR FINHGH AND RETURN) - SKIPG J,JBTSGN(J) ;DOES JOB HAVE A REAL HIGH SEG? - JRST BOTHIN ;NO, GIVE NOTHING TO DO RETURN(MAYBE SPYSEG) - SKIPN JBTADR(J) ;YES, IS HIGH SEG ALREADY IN CORE? - ;(NOT POSSIBLE TO BE IN MIDDLE OF SWAPPING) - POPJ PDP, ;NO, GIVE "SWAP-IN-HIGH-SEG" RETURN, - ; AC J SET TO HIGH SEG NO. - PUSHJ PDP,CHKIDL ;YES, CHECK IF THIS HIGH SEG IS IDLE(IF YES, - ; DECREASE CORTAL=FREE+DORMANT+IDLE CORE - ; BY SIZE IN J OF HIGH SEG SINCE IT WILL - ; NO LONGER BE IDLE(IN CORE COUNT NON-ZERO) - - MOVE TAC,SWPIN ;RESTORE JOB NUMBER - PUSHJ PDP,INCCNT ;INCREMENT HIGH SEG IN CORE COUNT - ; FOR THIS JOB -IFN FTHALT,< - PUSHJ PDP,CHKTAL ;CHECK CORTAL WITH CORTAB, HALT IF DIFFER -> -FINHGH: MOVSI TAC,SWP ;CLEAR SWAPPED OUT OR ON WAY FLAG FOR HIGH SEG + +FINHGH: MOVE J,SEGPTR + MOVSI TAC,SWP ;CLEAR SWAPPED OUT OR ON WAY FLAG FOR HIGH SEG ANDCAM TAC,JBTSTS(J) ;AND CLEAR SUPPRESS IN-CORE COUNT INCREMENT FLAG + AOBJN J,SEGINI+2 + POPJ PDP, TLNE J,UWPOFF ;IS USER MODE WRITE PROTECT(UWP) OFF ; FOR THIS USER? @@ -2073,7 +2019,7 @@ IFN FTDISK,< SRCSEG: MOVE ITEM,SEGPTR ;POINTER TO JUST HIGH SEGMENTS IN JOB TABLES FNDLOP: CAMN TAC1,JBTNAM(ITEM) ;DO FILE NAMES MATCH? - CAME TAC,PRJPRG(ITEM) ;YES, DO DIRECTORY NAMES MATCH? + CAME TAC,JBTDIR(ITEM) ;YES, DO DIRECTORY NAMES MATCH? AOBJN ITEM,FNDLOP ;NO, KEEP LOOKING,FINISHED? JUMPGE ITEM,CPOPJ ;YES, FINISHED?(IF YES, GIVE NOT FOUND RETURN) HRLI ITEM,SHRSEG ;YES, THIS MUST BE A MATCH(FLAG SEG AS SHARABLE) diff --git a/src/sysini.mac b/src/sysini.mac index a8ee847..3fdfbf0 100644 --- a/src/sysini.mac +++ b/src/sysini.mac @@ -1,6 +1,6 @@ -TITLE SYSINI - SYSTEM INITIALIZATION AND RESTART -SUBTTL TH/GH TS 11 NOV 68 V006 -XP VSYSII,006 +TITLE SYSINI - SYSTEM INITIALIZATION AND RESTART - V405 +SUBTTL TH/RCC/TL/AF TS 19 DEC 69 +XP VSYSII,405 ;PUT VERSION NUMBER IN GLOB LISTING AND LOADER STORAGE MAP EXTERNAL APRCHN,ERROR @@ -18,11 +18,14 @@ SYSINI: CONO APR,200000 ;IO RESET JSR1: JSR ONCE ;DO ONCE ONLY CODE ONCE JSR2: JSR LINKSR ;LINK IO SERVICE ROUTINES MOVS TAC,.+1 - SETZM SYSBEG + SETZB AC1,SYSBEG MOVSM TAC,JSR1 ;CLEAR SYSTEM DATA STORAGE MOVSM TAC,JSR2 HRRI TAC,SYSBG1 ;CLEAR SYSTEM DATA STORAGE BLT TAC,SYSEND + MOVE TAC,[XWD 62,63] ;CLEAR SYSTEM PDL'S, ETC., ABOVE + SETZM 62 ; TRAP LOCATIONS + BLT TAC,137 ; AND UP TO BASE OF COMMON MOVSI TAC, DVDIRIN+TTYATC+TTYUSE HRRI TAC,ASSCON+ASSPRG HLRZ DEVDAT,DEVLST ;SCAN ALL DEVICES @@ -45,14 +48,9 @@ XP CRSH17,CRSHAC+17 ; IF NOT CONTIGUOUS, BANKS ABOVE FIRST NON-EXISTENT ONE ARE IGNORED EXTERN USRLIM MOVEI TAC,CORBLK ;NO. OF BIT BYTES IN CORTAB -CORLIM: MOVEI AC1,USRLIM ;LIMIT OF NO. OF K AVAIL. TO ASINGLE USER - ; RH PATCHED BY ONCE ONLY CODE - MOVE JDAT,COREP ;1 BIT BYTE POINTER TO FIRST K-1 CONO APR,NXM ;CLEAR NON EX MEM ONCE -IFN FTSWAP,< MOVEI UUO,2000 ;CORE SIZE INCREMENT TO UPDATE CORMAX -> SYS2: IBP JDAT ;MOVE BYTE POINTER UP BY 1K HLLO DAT,(TAC1) ;REFERENCE MEMORY, SET RH OF DAT TO 1 CAML TAC1,SYSSIZ ;STILL IN MONITOR(FIRST LOC NOT USED BY MON)? @@ -60,13 +58,12 @@ SYS2: IBP JDAT ;MOVE BYTE POINTER UP BY 1K JRST SYS3 ;YES, GO STORE 1 BIT IN CORTAB INDICATING ; 1K NOT AVAILABLE MOVEM JDAT,CORLST ;NO, SET LAST AVAILABLE BLOCK EVEN HIGHER - CAML AC1,CORTAL ;MAX RESTRICTED BY ONCE ONLY CODE? - JRST SYS4 ;400 MEANS OPERATOR DIDN'T SPECIFY ANY -IFN FTSWAP,< +CORLIM: CAIGE AC1,USRLIM ;USRLIM=MAX. CORE AVAILABLE TO A SINGLE + ; USER AS DEFINED BY BUILD AND MODIFIED BY ONCE + ; REACHED MAX YET FOR SIGIN USER? EXTERN CORMAX ADDM UUO,CORMAX ;INCREASE MAX SIZE CORE AVAIL. TO A USER -> -SYS4: AOSA CORTAL ;INCREMENT NO. OF FREE 1K BLOCKS +SYS4: AOSA AC1,CORTAL ;INCREMENT NO. OF FREE 1K BLOCKS ; AND LEAVE 0 BIT IN CORTAB TO FLAG IT AS FREE SYS3: DPB DAT,JDAT ;YES, FLAG THIS 1K AS NOT AVAILABLE(1 BIT IN CORATB) ADDI TAC1,2000 ;INCREMENT MEMORY REF @@ -78,9 +75,6 @@ IFN FTDISK,< MOVEI PDP,SYSPDL ;RECLAIM MONITOR CORE (SIZE OF MONITOR INCREASED PUSHJ PDP,ACCINI ;AT ONCE ONLY TIME) USED BY DISK DEVICE DATA BLOCKS ; (IF THIS IS RESTART) - MOVE TAC,CORTAL ;THESE 3 INSTR. TEMPORARY UNTIL ACCINI - LSH TAC,12 ;IS REWRITTEN - MOVEM TAC, CORMAX ;AND MOST OF ITS WORK PUT IN ONCE ONLY TIME > MOVEI 1,IOGO HRRM 1,SYSDSP ;FALL INTO IOGO @@ -88,28 +82,33 @@ IFN FTDISK,< INTERNAL IOGO,FT2REL EXTERNAL DEVLST, MJOBN, JBTADR,JBTSTS,CLKINI,NXTINI - EXTERNAL SYSPDL,JOBMAX,CLRJOB,APRRST,JOBADR + EXTERNAL SYSPDL,JOBMAX,CLRJOB,APRRST,JOBADR,CRSHWD,IADPTR IOGO: CONO APR,APRRST ;APR RESET (IO RESET) - CONO PI,611577 ;CLEAR PI SYSTEM (AND MEM PARITY AND POWER FAIL) - HLRZ TAC, DEVLST ;CHAIN OF DEVICE DATA BLOKS + CONO PI,211577 ;CLEAR PI SYSTEM (AND MEM PARITY AND POWER FAIL) + SETZM CRSHWD + HLRZ DEVDAT, DEVLST ;CHAIN OF DEVICE DATA BLOKS IOG0: MOVEI TAC1,ASSPRG ;CLEAR ASSIGNED BY PROGRAM BIT - ANDCAB TAC1,DEVMOD(TAC) + ANDCAB TAC1,DEVMOD(DEVDAT) HRLOI ITEM,77 ;DO NOT CLEAR HUNG DEVICE COUNT SETTING TRNE TAC1,ASSCON ;ASSIGNED BY CONSOLE? TLO ITEM,770000 ;YES, DO NOT CLEAR JOB NO. - ANDM ITEM,DEVCHR(TAC) ;CLEAR HUNG DEVICE COUNT. - SETZM DEVIOS(TAC) ;CLEAR IO STATUS WORD - SETZM DEVBUF(TAC) ;CLEAR BUFFER ADDRESSES - HLRZ TAC, DEVSER(TAC) - JUMPN TAC, IOG0 + ANDM ITEM,DEVCHR(DEVDAT) ;CLEAR HUNG DEVICE COUNT. + SETZM DEVIOS(DEVDAT) ;CLEAR IO STATUS WORD + SETZB DAT,DEVBUF(DEVDAT) ;CLEAR BUFFER ADDRESSES + TLNE TAC1,DVDTA ;IS THIS A DECTAPE? + DPB DAT,IADPTR ;YES, SET NO. OF USER CHANNELS INITED + ; ON THIS DEVICE TO 0 + HLRZ DEVDAT, DEVSER(DEVDAT) + JUMPN DEVDAT, IOG0 MOVEI PDP,SYSPDL ;REUSABLE SPACE(SEE IOINI1) PUSHJ PDP,NXTINI ;ALWAYS INITILIZE SCHEDULER FIST ;SO DEVICES MAY RESET QUEUES IF DESIRED HLRZ AC3,DEVLST ;ADDR OF FIRST DDB SETZM SAVITM -IOG01: MOVE AC3,DEVSER(AC3) +IOG01: MOVE DEVDAT,AC3 + MOVE AC3,DEVSER(AC3) HRRZ TAC,AC3 CAIE TAC,@SAVITM ;SAME DEVICE PUSHJ PDP,DINI(AC3) ;NO. INITIALIZE IT. diff --git a/src/tendmp.doc b/src/tendmp.doc index 02c5efd38e0abad799776df1ab87220d125d07f1..ac734d3a9a5a67272defbe840bbe5c73fff14183 100644 GIT binary patch delta 11 ScmZ3)x{!54J=5d{CM5tE$^*6l delta 13 UcmZ3;x`=f{Jrg6t