X-Git-Url: http://git.sky-visions.com/cgi-bin/gitweb.cgi/retro-software/dec/tops10/v4.5.git/blobdiff_plain/d693caac75dd25e668e43e85c29205bfc8dea06e..cac5183c0f5a53b1874c2685f1b2d84e990ddd7d:/src/onceb.mac diff --git a/src/onceb.mac b/src/onceb.mac index 0ad5215..ff9c5bf 100644 --- a/src/onceb.mac +++ b/src/onceb.mac @@ -41,7 +41,7 @@ LINKSR: 0 ;CALLED WITH JSR FROM SYSINI MOVSI T,JOBPFI ;SET LH OF XJBPFI WITH JOBPFI MOVEM T,XJBPFI ;LOADER DORES NOT HANDLE GLOBALS IN LH IFN FT2REL,< - JSP TSTREG ;GO TEST IF TWO RELOC REGISTERS EXIST + JSR TSTREG ;GO TEST IF TWO RELOC REGISTERS EXIST > ;HIGHEST LOC. IN JOB AREA PROTECTED FROM IO ;MOVE SYMBOL TABLE UP IN MEMORY @@ -58,6 +58,7 @@ IFN FT2REL,< CONSO APR,NXM ;NON-EXISTENT? SOJG TAC, .-3 ;NO,KEEP LOOKING AS LONG AS NOT TOP OF MEMORY SUBI DAT,700 ;MAKE ROOM FOR TENDUMP AT TOP OF CORE + JSR MOVSTP ;MOVE DDT SYMBOL TABLE POINTER TO LOWER CORE ; (DDTSYM=36) WHERE EXEC DDT EXPECTS IT. ; IF NOT ALREADY MOVED THERE. RETURN POINTER IN UUO HLRE TAC1,UUO ;-LENGTH OF S. T. @@ -71,7 +72,7 @@ IFN FT2REL,< HRL TAC,TAC1 ;XWD LENGTH,LENGTH+FIRST ADDRESS SUBI DAT,1(TAC) ;NEW LAST+1-OLD LAST+1 HRRM DAT,STO1 ;DIST, TO MOVE - MOVE TAC1,UUO ;L-N,FIRST ADD. + MOVE TAC1,UUO ;-N,FIRST ADD. ADDI TAC1,1(DAT) ;FROM NEW S.T. POINTER MOVEM TAC1,DDTSYM ;STORE IN LOWER CORE MOVE TAC1,-1(TAC) @@ -93,17 +94,16 @@ INTLOP: HLRZ DAT,INTTAB(TAC) ;GET NEXT PI NUMBER ANDI DAT,7 ;MASIC OUT NUMBER OF DDB'S LSH DAT,1 ;SHIFT LEFT ONE SO MATCH PI LOCATIONS JUMPE DAT,NOPICH ;DOES THIS DEVICE HAVE A PI CHANNEL (PTY)? - MOVE DAT,ITEM ;YES, PICK UP JSR CH'N FROM LOWER CORE + MOVE ITEM,40(DAT) ;YES, PICK UP JSR CH'N FROM LOWER CORE INTLP1: MOVE DAT,ITEM ;SAVE IT IN DAT (EITHER A JRST DEV'NT OR ; JEN @CH'N MOVE ITEM,1(DAT) ;PICK UP INSTR. FOLLOWING INTERRUPT CONSO - - TLNN ITEM,00740 ;IS IT A JEN? + TLNN ITEM,000740 ;IS IT A JEN? JRST INTLP1 ;NO, KEEP LOOKING MOVE TAC1,INTTAB(TAC) ;YES, LAST DEVICE SO FAR, GET DEV'NT HRLI TAC1,(JRST) ;MAKE JRST INSTR. MOVEM TAC1,1(DAT) ;CHANGE JEN @CH'N TO JRST DEV'NT - MOVEM ITEM,1(TAC) ;MAKE DEV'NT+1 BE JEN @CH'N + MOVEM ITEM,1(TAC1) ;MAKE DEV'NT+1 BE JEN @CH'N NOPICH: AOBJN TAC,.+1 ;PICKUP EVERY OTHER WORD? AOBJN TAC,INTLOP ;ANY MOVE INTERRUPT SERVICE ROUTINES? ALRCHN: @@ -112,7 +112,6 @@ IFN FTDISK,< ;INITIALIZE DISK EXTERN NULPDL,DSKINI - MOVEI PDP,NULPDL PUSHJ PDP,DSKINI ;INITIALIZE THE DISK ; AFTER SETTING UP CHANNEL LOC @@ -180,7 +179,7 @@ TSTAPR: 0 ;PLACE TO SIDE JSR PC CONO APR,ILM ;CLEAR APR FLAGS AGAIN MOVEI TAC,AND2RG ;=0 IF SOFTWARE CANNOT HANDLE 2 SEG(NULSEG LOADED) ANDM TAC,TWOREG ;=-1 IF IT CAN(SEGCON LOADED) - ;TWOSEG SET TO AND OF SOFTWARE AND HARDWARE CAPABILITES + ;TWOSEG SET TO AND OF SOFTWARE AND HARDWARE CAPABILITIES MOVNI TAC,SEGN ;SET LH OF POINTER TO FIRST SEG IN JBTXX TABLES HRLI TAC,JOBN ;SET RH OF POINTER TO FIRST HIGH SEG ;THIS MUST BE DONE HERE BECAUSE SEGPTR APPEARS IN FIRST @@ -202,14 +201,14 @@ TSTAPR: 0 ;PLACE TO SIDE JSR PC ; 2. JUNK JUNK(NON-NEG) S.T.PTR ; 3. S.T.PTR S.T.PTR JUNK -;CALL: JSP MOVSTR +;CALL: JSP MOVSTP ; RETURN WITH AC UUO SET TO SYMBOL TABLE POINTER ;CALLED FROM MANDATORY ONCE ONLY CODE AND 141 START CODE(WHICHEVER OCCURS FIRST) - INTERN MOVSTR + INTERN MOVSTP EXTERN T30SYM,JOBSYM,DDTSYM,DDTX,SYSDDT -MOVSTR: 0 ;JSR HERE FROM MANDATORY ONCE ONLY CODE AND +MOVSTP: 0 ;JSR HERE FROM MANDATORY ONCE ONLY CODE AND ; FIRST JUMP TO EXEC DDT IF BEFORE MONITOR STARTED MOVJMP: JRST .+1 ;PATCHED TO SETUUO AFTER FIRST EXECUTION MOVE UUO,T30SYM ;ASSUME LOADED BY REGULAR 10/30 @@ -228,19 +227,20 @@ REGT30: MOVEM UUO,DDTSYM ;STORE THE SYMBOL TABLE POINTER FOR EXEC DDT SETUUO: MOVE UUO,DDTSYM ;RETURN THE CORRECT(MAYBEUPDATED IF ; EXEC DDT PATCHES MADE BEFORE MONITOR SAVED OR ; STARTED) SYMBOL TABLE POINTER - JRST @MOVSTR ;RETURN + JRST @MOVSTP ;RETURN ;HERE IF EXEC DDT IS STARTED UP BEFORE MONITOR(TO MAKE A PATCH FOR EXAMPLE) INTERN PATSYM EXTERN DDTX -PATSYM: JSR MOVSTR ;MOVE DDT SYMBOL TABLE POINTER SO EXEC DDT WILL +PATSYM: JSR MOVSTP ;MOVE DDT SYMBOL TABLE POINTER SO EXEC DDT WILL ; FIND IT AND PATCH 141 TO GO DIRECTLY TO EXEC DDT JRST DDTX ;AND GO DIRECTLY TO EXEC DDT ;ONCE ONLY CODE - OPERATOR SETUP DIALOGUE + IFN FTRC10, < ENTRY RCXWNZ ;THIS SYMBOL IS SOLELY TO PERMIT THE SYSTEM RCXWNZ: ; BUILDER TO RETRIEVE THE CORRECT BINARY FILE. @@ -256,7 +256,6 @@ INTERN FTTTYSER IFE FTTTYSER,< DEFINE SETTYO DEFINE TYPE - DEFINE NEXTC > IFN FTTTYSER,< DEFINE SETTYO @@ -349,7 +348,6 @@ TIMLOP: SETZM TIME JRST TIMLOP ;ILLEGAL CHARACTER MOVE TAC,TAC1 IDIVI TAC,^D100 ;TAC=HRS.TAC1=MINS - SKIPL TAC ;HRS NEGATIVE? CAILE TAC,^D23 ;OR .G. 23? JRST TIMLOP ;OUT OF BOUNDS @@ -360,6 +358,7 @@ TIMLOP: SETZM TIME IMULI TAC,JIFMIN ;JIFFIES SINCE MIDNIGHT MOVEM TAC,TIME ;TIME=JIFFIES SINCE MIDNIGHT + JUMPGE ITEM,QUICK ;SKIP NEXT PART OF DIALOGUE UNLESS THE LAST ITEM ; TYPED IN (NAMELY TIME OF DAT) WAS TERMINATED BY ; AN "ALT MODE". (ACCUMULATOR "ITEM" IS SET UP @@ -378,7 +377,7 @@ IFN FT2REL,< MOVEI TAC,2 PUSHJ PDP,RADX10 ;NO. SECOND REG EXISTS. PUSHJ PDP,INLMES - ASCIZ /RELOC. REG. + ASCIZ / RELOC. REG. / PUSHJ PDP,OPOUT > @@ -396,7 +395,7 @@ CONFLP: SKIPN AC1,INTTB1(PROG) ;INT LOC HAVE DEV DATA BLOCK? ASCIZ / / HLLZ TAC1,DEVNAM(AC1) ;DEVICE NAME PUSHJ PDP,PRNAME ;PRINT IT - SOJLE UUO,SINGLE ;IS THIS JUST A SIGNLE DEVICE? + SOJLE UUO,SINGLE ;IS THIS JUST A SINGLE DEVICE? PUSHJ PDP,INLMES ;NO, APPEND 'S TO DEVICE NAME ASCIZ /'S/ SINGLE: PUSHJ PDP,CRLF ;PRINT CR LF @@ -478,9 +477,10 @@ ONCE2: MOVEI TAC,SYSDM EXTERNAL CNTDB -ONCE3: PUSHJ PDP,SYSSIZ ;SAVE CURRENT VALUE - JSP TAC,CNTDB ;UPDATE SYSSIZ BY SPACE USED +ONCE3: PUSH PDP,SYSSIZ ;SAVE CURRENT VALUE + JSP TAC,CNTDB ;UPDATE SYSSIZ BY SPACE USED ; FOR DEVICE DATA BLOCKS FOR DSK,DTA,MTA,TTY,PTY) + ;PRINT OCTAL SIZE OF MONITOR MOVEI TAC,EXECIS @@ -516,19 +516,23 @@ IFN FTTTYSER, ; IF NOT PATCHED, LEAVE COMMON'S VALUE ONCE5A: + INTERNAL FTDISK IFN FTDISK,< PUSHJ PDP,REF ;GO THROUGH THE REFRESH DIALOG. > + QUICK: ;THIS IS THE SHORT-CUT EXIT TO BY-PASS MOST OF THE DIALOGUE + INTERNAL FTCHECK IFN FTCHECK,< PUSHJ PDP,OK ;CHECKSUM MONITOR AND SAVE THE ANSWER. > + JRST @ONCE ;***EXIT FROM THE "ONCE-ONLY CODE"*** IFN FTDISK,< EXTERNAL OCTIN,MFDBLK,SATXWD,NUMBLK,SYSPP,REFLAG @@ -549,7 +553,6 @@ REF2: ;YES MOVEI TAC,REF4M ;TYPE LOGICAL DISK ADDRESS OF MFD RETR, INFO PUSHJ PDP,ICONM PUSHJ PDP,OPOUT - PUSHJ PDP,GETLIN JRST REF2 IFN FTTTYSER, @@ -591,10 +594,12 @@ REF3A: PUSHJ PDP,REFRES ;REFRESH. JRST REF5 ;ERROR + MOVEI TAC,REF6M ;REFRESHING SUCCESSFULLY COMPLETED ! PUSHJ PDP,ICONM PUSHJ PDP,OPOUT ;TYPE "REFRESHED !" + MOVE TAC,SYSPP MOVEM TAC,REFLAG ;TO PERMIT AUTOMATIC LOG-IN UNDER ; PROJ-PROG NUMBER [1,1] EVEN @@ -602,7 +607,6 @@ REF3A: PUSHJ PDP,ICONM ; ON THE NEWLY REFRESHED DISK. PUSHJ PDP,OPOUT POPJ PDP, - IFE FTRC10, < REF4: POP PDP,TAC1 MOVEI TAC,REF5M @@ -623,8 +627,9 @@ REF5: PUSH PDP,TAC ;ERROR. ON COMMING HERE, TAC HAS LOGICAL BLOCK REF1M: ASCIZ /DO YOU WANT TO REFRESH THE DISK ? (Y OR CR) + / -REF2M: ASCIZ /ARE YOU SURE(Y OR CR)? +REF2M: ASCIZ /ARE YOU SURE(Y OR CR)? / REF3M: ASCIZ /DO YOU WANT TO CHANGE THE LOCATION OF THE MFD(Y OR CR)? / @@ -687,11 +692,11 @@ IFE FTTTYSER,< MOVE TAC,LINEP ;RESET BYTE POINTER> DELETE: IFN FTTTYSER,< PUSHJ PDP,DCPUTR JRST DELET1> IFE FTTTYSER,< - JUMPE ITEM,DELET1 ;AT BEGINNING OF LINE?> + JUMPE ITEM,DELET1 ;AT BEGINNING OF LINE? ADD TAC,[XWD 070000,0] ;NO, BACK UP BYTE POINTER TLNE TAC,400000 ;FINISHED THIS WORD YET? ADD TAC,[XWD 347777,-1] ;YES, BACK UP ADDRESS> - MOVEI CHREC,134 + MOVEI CHREC,134 ;OUTPUT BACK SLASH PUSHJ PDP,TYO SOJA ITEM,GET1 @@ -799,7 +804,7 @@ LINBUF: BLOCK 30 ;MESSAGES -TSEXEC: ASCIZ /MONITOR JUST LOADED +TSEXEC: ASCIZ / MONITOR JUST LOADED / TODATE: ASCIZ / TYPE TODAY'S DATE AS MM-DD-YY @@ -812,7 +817,7 @@ IOCONF: ASCIZ / IO CONFIGURATION / OPRM: ASCIZ / -TYPE NAME OF OPR CONSOLE. +TYPE NAME OF OPR CONSOLE / SYSM: ASCIZ / DO YOU WANT SYSMAK (TYPE Y IF YES, CR IF NO)? @@ -829,6 +834,7 @@ DESMES: ASCIZ /TYPE DESIRED MAX,(DEC), CR IF OK AS IS / CRLFMS: ASCIZ / / + ;INITIALIZE SAT SEARCH ENTRIES ;THIS "DFWUNS" ROUTINE IS CALLED BY MANDATORY ONCE ONLY CODE(LINKSR) @@ -848,15 +854,15 @@ EXTERNAL WLBIT,NUMBIT,DSKCNT DFWUNS: IFN FTRC10, < PUSHJ PDP,WRITLK ;FORCE THE WRITE-LOCK SWITCH SETTINGS TO BE ZERO. - PUSHJ PDP,RDSTAT ;READ VITAL DISK STATISTICS BLOCK, STORE PARAMETERS PUSHJ PDP,CAPCTY ;DETERMINE CURRENT SYSTEM CAPACITY (HOW MANY DISKS). CAMN TAC,LBHIGH ;HAS CAPACITY CHANGED SINCE LAST REFRESH ? JRST DFWNZ1 ;NO, EVERYTHING APPPEARS TO BE OKAY. - SETTYO ;YES, PRINT WARNING MESSAGE... + SETTYO ;YES, PRINT WARNING MESSAGE... PUSHJ PDP,INLMES ASCIZ /DISK CAPACITY HAS CHANGED SINCE LAST REFRESHING. EITHER RESTORE PREVIOUS DISK CONFIGURATION OR REFRESH. + / PUSHJ PDP,OPOUT ;START TTY PUSHJ PDP,REF ;GO THROUGH THE REFRESH DIALOGUE @@ -906,22 +912,24 @@ IFE FTRC10, < CAIL DAT,NUMBIT ;BLOCK FULL? JRST SETS8 PUSHJ PDP,DFGETF ;NO. GET A FREE BLOCK - PUSHJ PDP,SETS7 ;WRITE PUSHJ PDP,SETFRE ;FREE THE BLOCK > + SETS5B: MOVEI TAC1,SENTSZ ;PREPARE TO BUMP SATPTR POP PDP,TAC AOBJN TAC,SETS1 ;DO ALL SAT BLOCKS + IFE FTRC10, < JRST SAT05 ;RETURN > + IFN FTRC10, < HRRZ TAC,SATPTR -SETS5X: CAIL TAC,SATTOP +SETS5X: CAIL TAC,SATTOP JRST SAT05 ;EXIT FROM DFWUNS BACK TO DSKINI IN DSKSER........ ADDI TAC,SENTSZ MOVEI TAC1,411000 ;ON THE NEW PDP-10 DISK SYSTEM SET THE SAT ENTRY @@ -931,6 +939,7 @@ SETS5X: CAIL TAC,SATTOP SETS6: POP PDP,TAC ;ERROR, TRY AGAIN JRST SETS2 + IFE FTRC10, < ;WRITE-LOCK DETERMINATION ON THE OLD PDP-6 (DATA PRODUCTS) DISK -- @@ -959,6 +968,7 @@ SETS8: MOVEI TAC,SETS9 ;BLOCK FULL, READ FIRST ONE HRRM TAC,DSKBUF(DEVDAT) JRST SETS5B + SETS9: BLOCK 204 > ;CLOSE THE IFE FTRC10 @@ -1088,7 +1098,6 @@ REFR2: MOVE TAC1,[XWD -200,NULBLK] ;SAT BLOCKS AOS TAC ;SAT RETREIVAL INFORMATION ADD TAC,MFDBLK SETZB IOS,DEVIOS(DEVDAT) - MOVE TAC1,[XWD -200,SATRET] MOVEM TAC1,DSKBUF(DEVDAT) PUSHJ PDP,MQOUT @@ -1144,6 +1153,8 @@ NULBLK: ZEROES 5400/44-1 ;NULL SAT BLOCK XWD 001777,-1 ONES 200+NULBLK-. + + > ;END OF THE REFRESHER FOR THE OLD PDP-6 DISK. IFN FTRC10, < @@ -1220,6 +1231,7 @@ RESETB=1B32 ;RESET THE DONE FLAG (CORRESPONDING CONI BIT) TO CLEAR INTERRUPT ;BITS 26 - 27 DISK SELECTED BY BITS 18-19 OF LAST CONO ;BITS 28 - 35 CURRENT SECTOR POSITION OF SELECTED DISK (FOR LATENCY OPTIMIZATION!) + ;DATAO FORMAT FOR THE MODEL RC-10 DISK SYNCHRONIZER -- ;BITS 00 - 17 DISK ADDRESS ELECTION @@ -1229,7 +1241,7 @@ RESETB=1B32 ;RESET THE DONE FLAG (CORRESPONDING CONI BIT) TO CLEAR INTERRUPT ;BITS 18 - 23 INITIAL PARITY REGISTER SETTING 9ZERO EXCEPT FOR DIAGNOSTIC PROGRAMS) DDSKPE=1B24 ;DISABLE DISK PARITY ERROR STOP DCHNPE=1B25 ;DISABLE CHANNEL DATA PARITY ERROR STOP -WRBIT=1B16 ;SET MEANS WRITE ON DISK, RESET MEANS READ FROM DISK +WRBIT=1B26 ;SET MEANS WRITE ON DISK, RESET MEANS READ FROM DISK ;BITS 27 - 34 ;CORRESPONDING BITS OF INITIAL CHANNEL CONTROL ADDRESS, HENCE, ; THIS ADDRESS MUST BE EVEN AND IN THE FIRST 1K OF CORE MEMORY! ;BIT 35 ;WRITE EVEN PARITY DATA INTO MEMORY (DIAGNOSTICS ONLY!) @@ -1250,7 +1262,7 @@ IFN FTSWAP,< CAIG TAC1,STATBK ;SWAPPING AREA MUST NOT OVERLAY THE JRST RFRSHE ; VITAL STATISTICS BLOCK. > - IDIVI TAC1,NUMBLK + IDIVI TAC,NUMBLK MOVN TAC1,TAC ;SET SATXWD TO SHOW ONLY THE NUMBER OF HRLM TAC1,SATXWD ; SAT BLOCKS ACTUALLY IN EXISTENCE. HRRZ TAC1,MFDBLK @@ -1269,13 +1281,13 @@ RFRSHE: MOVEI TAC,RFSHME POP PDP,TAC ; DIALOGUE TO AK THE PARAMETER SPECIFICATION JRST REF6 ; QUESTIONS AGAIN. -RFSHME: ASCIZ /PARAMETER SPECIFICATION ERROR. TRY AGAIN. +RFSHME: ASCIZ /PARAMETER SPECIFICATION ERROR. TRY AGAIN. + / - RFRSH1: PUSHJ PDP,WRSTAT ;WRITE OUT THE VITAL STATISTICS BLOCK ON THE DISK. JRST REFERR ; AN ERROR ON THIS WRITE IS BAD TROUBLE !! - + ;NEXT WRITE THE MFD (MASTER FILE DIRECTORY) ONTO THE DISK PUSHJ PDP,WNZCLR ;CLEAR THE OUTPUT BUFFER @@ -1294,7 +1306,6 @@ RFRSH1: PUSHJ PDP,WRSTAT ;WRITE OUT THE VITAL STATISTICS BLOCK ON THE DISK. HRRZS TAC ADDI TAC,1 ;COMPUTE LOGICAL BLOCK NUMBER OF THE MFD. PUSHJ PDP,WNZWR ;WRITE THE MFD OUT ONTO THE DISK. - JRST REFERR ;ERROR MOVE TAC,[XWD -200,WNZBUF] @@ -1380,8 +1391,7 @@ REFST5: PUSH PDP,TAC REFST6: POP PDP,TAC ;LOOP THROUGH THE WHOLE SET OF SPECIAL BLOCKS AOBJN TAC,REFST5 ; WHICH MUST BE MARKED UNAVAILABLE. -REFST7: MOVE TAC,[XWD -200,WNZBUF] - +REFST7: MOVE TAC,[XWD -200,WNZBUF] PUSHJ PDP,CHKSUM ;COMPUTE CHECKSUM MOVE TAC,SATPTR HRRZM TAC1,1(TAC) ;STORE IT TEMPORARILY IN THE SATENT TABLE. @@ -1445,6 +1455,7 @@ REFSRL: HRRZ AC1,TAC1 ;GET LOGICAL BLOCK NUMBER OF SAT BLOCK. ;ROUTINE TO WRITE THE FIXED BLOCK OF VITAL STATISTICS ONTO THE DISK. + WRSTAT: PUSHJ PDP,WNZCLR ;CLEAR THE OUTPUT BUFFER MOVE TAC,[XWD -WRSTSZ,0] WRSTA1: MOVE TAC1,@WRSTA9(TAC) ;STORE KEY QUANTITIES IN THE OUTPUT BUFFER @@ -1485,11 +1496,13 @@ IFE FTSWAP,< XWD 0,LOWSWP ;LOWSWP DOES DOUBLE DUMMY DUTY IN ; NON-SWAPPING SYSTEM > + WRSTSZ=.-WRSTA9 ;ROUTINE TO READ IN THE FIXED BLOCK OF "VITAL STATISTICS" FROM ; THE DISK AND DISTRUBUTE THEM TO THE APPROPRIATE CORE LOCATIONS. + RDSTAT: MOVEI TAC,STATBK PUSHJ PDP,WNZRD ;READ IN THE VITAL STATISTICS BLOCK. JRST RDSTA2 ;ERROR @@ -1513,6 +1526,7 @@ RDSTA2: MOVEI TAC,RDSTM1 JRST RDSTAT ;NOW TRY AGAIN. RDSTM1: ASCIZ /VITAL DISK STATISTICS LOST, SUGGEST REFRESHING! + / ;ROUTINE TO DETERMINE THE CURRENT SYSTEM'S DISK CAPACITY. I.E., THE NUMBER OF @@ -1527,7 +1541,7 @@ CAPCTY: MOVEI TAC,NUMSAT MOVEM TAC,LBHIGH ;TEMPORARILY CHANGE THIS VALYUE SO THAT THE VALIDITY ; CHECK IN "DSKINT" WILL NOT FAIL SPURIOUSLY. - MOVEI TAC,3 + MOVEI TAC,0 CPCT1: PUSH PDP,TAC PUSHJ PDP,WNZRD ;ATTEMPT TO READ FIRST BLOK OF EACH SUCCESSIVE DISK., JRST CPCT3 ;ERROR @@ -1540,7 +1554,7 @@ CPCT2: SUBI TAC,1 POP PDP,LBHIGH ;RESTORE PREVIOUSLY EXISTING VALUE OF THE HIGHEST ; LEGAL LOGICAL DISK BLOCK NUMBER. POPJ PDP, ;***SUBROUTINE EXIT***....... -i + CPCT3: POP PDP,TAC CONSZ DSK,NRDY ;NON-EXISTENT DISK? @@ -1553,6 +1567,7 @@ CPCT3: POP PDP,TAC POP PDP,LBHIGH JRST CAPCTY ;TRY AGAIN CPCTM1: ASCIZ /DISK READ ERROR DURING CAPACITY SEARCH INITIALIZATION + / ;ROUTINE TO ASSURE THAT THE STATUS OF THE WRITE-LOCK SWITCHES ON THE @@ -1573,7 +1588,6 @@ WRITLK: CONI DSK,TAC MOVE TAC,[252525252525] MOVEM TAC,WNZBUF MOVE TAC,[XWD WNZBUF,WNZBUF+1] - BLT TAC,WNZBUF+177 MOVEI TAC,0 PUSHJ PDP,WNZWR ;WRITE PATTERN IN BLOCK 0. @@ -1592,10 +1606,12 @@ WRLK9: PUSHJ PDP,ICONM ;PRINT ERROR MESSAGE JRST WRITLK ;GO TRY AGAIN WRLKM1: ASCIZ /DISK BLOCK 0 WRITE ERROR DURING WRITE-LOCK CHECK. + / WRLKM2: ASCIZ /"MAINTENANCE SEGMENT" SWITCH MUST BE OFF. AND -DIS WRITE PROTECTION SWITCHES MUST BE SET TO 0000 AND "LESS THAN", +DISK WRITE PROTECTION SWITCHES MUST BE SET TO 0000 AND "LESS THAN", FIX THEM ! ! + / ;DISK READING ROUTINE FOR USE ONLY DURING ONCE-ONLY CODE. @@ -1706,10 +1722,10 @@ MDTMOT: PUSH PDP,TAC POPJ PDP, ;SUBROUTINE EXIT............ + ;ERROR EXIT FROM "REFRESH" WHEN A BAD WRITE ON THE DISK OCCURS DURING REFREHSING. REFER1: POP PDP,TAC ;CORRECT PDP IF EXTRA PUSH HAD OCCURRED. - REFERR: MOVE TAC,LBSAVE ;GET BLOCK NUMBER FOR THE ERROR MESSAGE AT REF4. POPJ PDP, ;THIS NO-SKIP RETURN RE-ENTERS THE REFRESH DIALOGUE.