In response to my query about non-boot patches, patches that get applied after the sysem is up. Following Keith's response is a copy of the patchit patches on system cpcp.tap. I don't know how this feature worked. Assemble this and run it after boot? **************************************************************************************** From Keith Calkins, 7/22/22 There should also be a PATCHCI file which would be compressed input which these SI updates modify in typical CP-V update style. You can copy that via C PATCHCI(C) to LP(K) (I always like line numbers on my list listings, especially if "updates" are being applied! I see you were able to use ME for TY which I found interesting. I would not have guessed that would work!) There should be 6 words, 3 double words, 1 double word of 64 bits for each COC at that hardwire location. We want to avoid SYSTEM A style COC since that had a non-standard COC (GSP COC) which used RDs for output... instead of I/O writes---it had no MIOP interface. Any luck with the esc Q??? That would verify if it is a COC issue or a LOGON/ON 0/etc issue. Are our COC interrupts working? 60/61 would be for the first COC, but if you are on the second it would be 62/63 and if you are on the second COC and don't have those interrupts enabled/implemented... You can check if they are active by looking at the XPSD target location to see if something has been saved... I'm thinking MEA05 was COC#0 and MEA06 was COC#1 (using the formal 0 indexing instead of informal 1 indexing). Are characters getting in...there is a COC ring buffer where data is supposed to come in one character at a time as halfwords, one byte is the character, the other byte the line number, one separate ring buffer for each COC. I don't remember right off which is the "first" byte of the halfword, character/line number, but that would be documented in the COC manual. I put "first" in quotes since I was rather upset to see simh try to define Sigma instruction format using non-Sigma bit numbering (big vs little Endian)---almost generated some updates to correct that---that is just wrong/confusing to do! *************************************************************************************** PCL HERE CPCP SET 1 A/B CPCO +3RD PUB,- 1.2MB 10/91=> * KEEP LINE NUMBERS (IOCOUNT) ASECT DO1 CPCO LOC X'27D2'+578 MPATCH+578 DO1 CPCP LOC X'28DE'+578 MPACH+578 PATCHLOC EQU $ * ********************************** HANDLERS EQU X'8E00' THESE MUST BE SET BY HAND SPECHK EQU X'8EDC' AS THEY ARE IN UMOV * A SET X'A' SIGMA 9 SINCE 12/85 B SET X'B' SIGMA 9 SINCE 12/84 C SET X'C' SIGMA 9 SINCE 05/86 * SYSTEM SET A "ACADEMIC" *SYSTEM SET B "ADMINISTRATIVE" AND EXTERNAL *SYSTEM SET C MAINTENANCE AND DEVELOPMENT * SEE BELOW NSCOC/COMSYS * POTAPE SET 0 SET TO 1 FOR PO TAPE VERSION AUTOBAUD SET 0 EXCLUDE OBS AUTOBAUD MODEM CODE * INCLUDES NSCOC BUT SETS COC TYPE DO1 POTAPE SYSTEM SET A NSCOC SET 0 INCLUDE GSP COC SUPPORT DO1 SYSTEM=A NSCOC SET 1 DO ONLY IF ON SYSTEM A * COMSYS SET 3 3 FOR SYSTEM AC/AB DO1 SYSTEM=B COMSYS SET 2 2 FOR SYSTEM AB - HIGHER INTERRUPTS PAGE CSECT 0 SYSTEM SIG7 SYSTEM BPM SYSTEM UTS FOR LOAD/STORE STARTPATCH CNAME PROC HERE SET $ ADDRESS CSECT 0 DATA 0 DMASKS CSECT 0 DATA 0 USECT HERE MASKFLG SET 0 MASKCOUNT SET 0 PEND PATCHAT CNAME PROC DELTA SET $-HERE HERE SET $ LAST SET AF DO DELTA MASKCOUNT SET MASKCOUNT+1 USECT ADDRESS DATA LAST(1) USECT DMASKS DO1 NUM(AF)=1 DATA -1 DO NUM(AF)~=1 DATA AF(2) DO1 AF(2)~=-1 MASKFLG SET 1 FIN LAST(1) SET LAST(1)+1 FIN USECT HERE PEND PAGE REF F:BD * REF WRTF,RDF,TIME,T:RCE,JX:CMAP,JBUPVP,CBB5,CLRBBUF REF CPOS,MODE4,MODE2,MODE4INIT,MXFPL,MODE3 REF TTYOUT,SSTD,SSTDLC,SAPL,SAPLLC REF MPATCH,MODE,MODE5,COD:HWL REF SL:BPRIO,SL:RATOR,SL:AIRM,SL:RAMR,SH:RBSUM REF MM,NEWQ,MSG3 REF SL:ETS,SL:EPS REF YFFFF,DISCCU,Y08,Y04,Y02 REF DCTSIZ,DCT1,DCT2,DCT3,DCT4,DCT5,DCT8,DCT9 REF DCT12,DCT16,DCT17,DCT18 REF IOSCU,S:OUIS,S:OUAIS REF M3,M8,M6,MASKS,TABLES REF XF,M7 REF IOQ,IOQ5,IOQ7,IOQ8,IOQ10 REF COCOEL,COCIPL,COCIPC,COCOP,CO:OUTRS REF COC,COCTERM,COCITV,COCOTV,COCBUF,COCOC REF UH:FLG,PLB:USR,SCHED,C:IDLE,S:CLOCK4 REF MX:PPUT,U:MISC,UB:PRIO REF LB:UN,LNOL,EOMTIME REF CH:DRT,DRTHEN,PM,SB:RQ REF S:FPPC,UB:PCT,UX:JIT,SB:SET: REF COD:LPC,CO:RCVON,CO:XDATA REF SAVCBD,SC1900 REF RE:ENT,FILCFU REF RA,SYSVERS REF CSEHAND:,CSE$9:9 REF T:GJOBSTRT,CO:AIL,UB:ACP,HGP REF PFSR: DO1 0 CPCM RAD STUFF REF M:FREE#GRAN,M:SWAPD REF AVRTBLSIZ,ANSFLGS REF PRTCU,PRTOUT REF TB:MAX,TB:SZ,TB:FLGS,OB:BTX,OB:OTX,OB:GTX REF SH:LNM,SB:LTY,STB:TYP,SYMX,SNDDX REF SWAPIN,S:FPPH,JPPH,S:ISUN,UH:AJIT,JAJITVP,FPMC REF CO:RCVDOFF,COCOR,E:CUB,SL:UB,STOB,STOBO,UB:US REF WRTD,COOP,J:BASE,SCDEVTYP XP STUFF REF KBTCU,Y4,POWROFF,ERRLOG REF :BIG REF SB:ROMX,SB:RODF,T:INITJOB,SB:SWP: REF NSPT,GRAN REF DISKAB REF IORT * SYSTEM DEPENDANT * REF NB31TO0,TSTACK,X10,X80,X20 *MAGTAPE EQU X'92C8' ** SYSGEN DEPENDENT TSIO *MAGTAPE EQU X'9400' ** SYSGEN DEPENDENT DPSIO+CRDOCU MAGTAPE EQU X'93AA' ** SYSGEN DEPENDENT DPSIO,-CP *MTAP EQU X'907E' ** SYSGEN DEPENDENT *MTAP EQU X'909E' ** SYSGEN DEPENDENT CRDOCU MTAP EQU X'9048' ** SYSGEN DEPENDENT DPSIO,-CP COMLIST EQU KBTCU+X'97' EXITIS EQU MAGTAPE+X'8B' EXITFOL EQU MAGTAPE+X'83' REF UMOVPTCH PAGE LIST,1 1 START M:OPEN F:BD,(FILE,'MODE4INIT',':SYS'),(IN),; (ERR,BDERR),(ABN,BDERR) M:READ F:BD,(BUF,L00#03),(SIZE,156),; (BTD,0),(WAIT) M:READ F:BD,(BUF,CODHWL),(SIZE,024),; (BTD,0),(WAIT) M:CLOSE F:BD,(SAVE) BDERR M:SYS BCR,8 MONOK M:TYPE (MESS,NOPRIV) M:EXIT NOPRIV TEXTC 'INSUFFICIENT PRIVILEGE' MONOK CI,10 NEWQ BE GOODMON M:PRINT (MESS,BADMON) M:XXX BADMON TEXTC 'PROGRAM LOADED WITH WRONG MONITOR' GOODMON EQU,0 $ LI,3 LASTPTCH CI,3 MX:PPUT+7+:BIG+:BIG+:BIG+:BIG+:BIG+:BIG+:BIG+:BIG BL SIZOK M:PRINT (MESS,TOOMNY) M:XXX TOOMNY TEXTC 'TOO MANY PATCHES FOR AVAILABLE PATCH SPACE' WTOPN DATA X'6D000027' ENABLE M:WAIT 0 SIZOK EQU,0 $ LH,1 X'2B' GET SYSTEM DESIGNATION AND,1 =X'F' => A,B,C CI,1 SYSTEM DO POTAPE=0 BE SYSOK M:PRINT (MESS,WRNGSYS) M:XXX WRNGSYS TEXTC 'PATCHIT RUNNING ON WRONG SYSTEM' FIN SYSOK EQU,0 $ LI,10 -1 LI,11 -1 LI,12 -1 LI,13 -1 LI,14 -1 LI,15 -1 LCI 6 STM,10 X'1A' CAL1,6 #GJOB0 9DIAG CAL1,6 #GJOB1 LMMON LI,1 15 ** SYSGEN DEPENDANT (PAGES TO MAP) LI,2 X'8000' FIRST REAL PAGE TO MAP LI,3 X'18000' WHERE TO PUT IT M:FVP *3 FREE THE PAGE M:CVM *2,*3 PUT IT IN THE MAP HERE AI,2 X'200' AI,3 X'200' GET THE NEXT PAGE BDR,1 $-4 GET ALL SEVEN PAGES LI,5 MASKCOUNT CI,5 BITCOUNT BNE ERROR LI,3 PATCHCOUNT DATA X'6D000037' DISABLE LI,2 2 LB,2 SB:RQ,2 WAIT TIL NO OPEN CLOSE USERS BNE WTOPN LW,2 PATCHES,3 STW,2 PATCH$-1,3 BDR,3 $-2 * LI,5 MASKCOUNT LDNXTP LW,3 DMASKS,5 LW,2 PBITS,5 LW,6 ADDRESS,5 CI,6 X'8000' BL $+2 => NO NOT IN UMOV AI,6 X'10000' YES PATCH UMOV OR SUSPTERM+ STS,2 *6 BDR,5 LDNXTP GO LOAD THE NEXT PATCH * LI,5 LNOL-1 NUMBER OF LINES CHKLN LB,3 LB:UN,5 BNE NXTLN CHECK IF ANYBODY IS HOME LB,3 MODE4INIT,5 BNE NXTLN WAS IT AN AUTOBAUD LINE? LH,3 EOMTIME,5 BNE NXTLN LB,3 MODE2,5 CI,3 X'20' SPACE INSERTION??? BNE NXTLN OR,3 =X'80' SET LOGGING OFF STB,3 MODE2,5 NXTLN AI,5 -1 BGE CHKLN DATA X'6C003002' RESET COC INIT FLAG => INIT IT DO 0 ENABLED 1/17/89 KGC (PERHAPS A LITTLE LATE) DATA X'6C003012' THIS SEEMS APPROPRIATE-KGC 87/05/01 FIN DO POTAPE=1&NSCOC=1 LH,1 X'2B' GET SYSTEM DESIGNATION AND,1 =X'F' => A,B,C CI,1 X'A' SYSTEM A BE $+2 STW,1 COC:TYPE SET TO XEROX COC FOR SYSTEM B,C FIN DO 0 LI,3 X'BAD1' MTW,0 M:FREE#GRAN+1 BG NORAD RADLP LI,3 X'BAD2' DATA X'4E0002F1' TDV,0 X'2F1' STCF 4 BCS,4 NORAD BCR,8 GORAD IF NOT SPINNING IGNORE LI,1 1000 BDR,1 $ B RADLP * * WE'LL ASSUME THAT IT IS UNWRITE-PROTECTED! * DO SYSTEM=A GORAD LI,1 X'520' 1/2 A RAD ELSE GORAD LI,1 X'A40' FULL RAD FIN AWM,1 M:FREE#GRAN+1 ADD IT LI,3 X'BEEF' FIN NORAD EQU,0 $ DATA X'6D000027' ENABLE LI,1 X'C00'*(COMSYS&1)+X'300'*(0~=(COMSYS&2)) * FOR T64,T65 AND/OR T66,T67 DATA X'6D101202' WD,1 .1202 DO 0 CI,3 X'BEEF' BE RADOPEN CI,3 X'BAD1' BE RADAOPEN CI,3 X'BAD2' BE RADNOIO M:XXX ABORT RADOPEN M:TYPE (MESS,#RADOPEN) M:EXIT RADAOPEN M:TYPE (MESS,#RADAOPEN) M:EXIT RADNOIO M:TYPE (MESS,#RADNOIO) M:SNAP 'CC IN R4',(0,0) M:XXX #RADOPEN TEXTC 'SECOND RAD HAS BEEN OPENED' #RADAOPEN TEXTC 'SECOND RAD IS ALREADY OPEN' #RADNOIO TEXTC 'NO IO POSSIBLE TO SECOND RAD' FIN EXIT M:EXIT #GJOB0 DATA X'06000000' TEXTC '9DIAG' #GJOB1 DATA X'06000000' TEXTC 'LMMON' ERROR DATA X'6D000027' ENABLE WE'RE IN TROUBLE ANYWAY M:TYPE (MESS,ERRMESS) M:XXX ERRMESS TEXTC 'ERROR IN PATCHES... ABORTING' PAGE PATCHES EQU $-1 LOC PATCHLOC PATCH$ EQU,0 $ PAGE LIST,0 1 *********************************************************************** * * PATCHES TO COC ROUTINES * * GENERAL COC PATCHES * CRT BS SP BS ON RUBOUT * VARY OUTPUT BUFFERS BASED ON SPEED * HARDWIRE TIMEOUT FEATURE * 7E-40,1B-00 CRASH FIX * *********************************************************************** * COC+X'296' DMBS LC MODE4,2 RUBOUT ON SCREENS BCR,8 COC+X'29A' LI,5 8 BACKSPACE BAL,9 COC+X'617' LI,5 ' ' SPACE BAL,9 COC+X'617' LI,5 8 BACKSPACE MTB,12 CPOS,2 B COC+X'29B' * COC+X'54F' CALCBUF LB,5 MODE4,2 VARY OUTPUT BLOCKED BASED ON SPEED AND,5 M3 GET LINE SPEED AI,5 6 MI,5 14 SW,9 5 REPLACED INSTRUCTION BLZ COC+X'557' B COC+X'551' * COC+X'7BA' HWLOGOFF EQU,0 $ LB,6 LB:UN,7 ALLOW LOGON WITH OUT HARDWIRE BE HWLNRET LB,6 MODE4INIT,7 CHECK IF AUTOBUAD BE HWLNRET ALWAYS TIMEOUT PHONE LINES DO SYSTEM=B LW,6 TIME GET THE HOUR AND MINUTE CW,6 STIME 06:30 AM (WAS 7 'TIL 4/02/87 KGC * WAS 8 'TIL 4/16/86 KGC * MODIFIED FOR BILL CASH,JIM MASSENA BL HWLGGO BEFORE 06:30 SO TIMEOUT -FOR RWC) CW,6 ETIME 17:29 (5:29 PM) * WAS 17:00 'TIL 7/30/86 (KEN R. ONLY ASKED FOR 1/2H) * WAS 18:00 'TIL 4/2/87 SEE ABOVE BL COC+X'7AF' DONT TIMEOUT 06:30-17:29 FIN HWLGGO LB,6 XLNLIST HARDWIRED LINE TIMEOUT FEATURE CB,7 XLNLIST,6 EXCEPTIONAL LINES BE COC+X'7AF' RETURN AS IF HW OR SS2 BDR,6 $-2 CHECK ALL EXCEPTIONS HWLNRET LB,6 LB:UN,7 B COC+X'7BB' DO SYSTEM=B STIME DATA '0630' 06:30 AM ETIME DATA '1729' 17:29 ( 05:29 PM) FIN * ALWAYS PUT SYSTEM LINES AS FIRST 4! * FOR ON 0 LOGGING ON PRIVILEGE DO SYSTEM=A XLNLIST DATA X'090A3506' 8 LINES CSKC,CSCT,CSDH, DATA X'0E460B10' CSRK,CSBB,SCDB,SCAM, DATA X'474D0000' CSPC,CSSS FIN * DO SYSTEM=B XLNLIST DATA X'0A192416' 10 LINES CSKC,CSCT,HP 1, DATA X'28002648' CSXB,CS00,DRBB,COLD, DATA X'45216F00' COCM,CARM,BC 0 FIN * * COC+X'79C' STS1B LB,11 UB:ACP,6 WE WILL NOT REPORT AN E:OFF EVENT BNE STS1B00 IF NO CMD PROCESSOR AND LB,11 UB:PCT,6 PAGE CNT = 1[+:BIG] CI,11 1+:BIG BE COC+X'7A0' THIS SHOULD PREVENT RIDDLED CORE STS1B00 LI,6 X'E' E:OFF AND SC 1B-00'S ETC.... B COC+X'79D' * COC+X'7C8' SETWAIT BNE COC+X'7A0' LB,6 MODE4INIT,7 BNE COC+X'7C9' LI,6 4 STB,6 COCTERM,7 B COC+X'7C9' *T:RCE+X'F' LOGSYS LI,1 4+(SYSTEM=B) 4 SYSTEM LINES COME FIRST!! CB,7 XLNLIST,1 ALLOW SYSTEM LINES ON WHEN ON 0 BE T:RCE+X'12' ONLY SYSTEM LINES BDR,1 $-2 LW,1 S:OUIS (REPLACED INSRUCTION) B T:RCE+X'10' DO 0 CPCM *T:RCE+X'13' SHIFTSWAP EQU,0 $ LW,15 S:OUAIS (REPLACED INSTRUCTION) SLS,15 1 DOUBLE IT SO 0 SWAP GRANULE LESS LIKELY B T:RCE+X'14' RETURN FIN PAGE *********************************************************************** * * DIABLO 1200 BAUD PROTOCOL * DIN1200 * D12BRK * DOUT1200 * D12FC * *********************************************************************** * COC+X'42' * 1200 BAUD DIABLO (ACK/ETX PROTOCOL) INPUT DIN1200 LI,7 COC+X'43' BCR,8 $+2 LI,7 COC+X'1B' LC MODE3,2 BCS,4 XONXOFFINP LC MODE4,2 BCR,4 *7 CI,5 6 IS IT ACK BE $+5 CI,5 X'86' ACK W/ PARITY BE $+3 LC MODE2,2 BCR,8 COC+X'43' NOT AN ACK AND LINE CONNECTED DOOUT LB,7 MODE5,2 AI,7 78 CI,7 156 BLE $+2 LI,7 156 STB,7 MODE5,2 CI,7 78 BNE COC+X'1B' COUNTER UPDATED ALL DONE WITH CHAR LD,4 COD:LPC,3 CONVERT LOGICAL LINE TO PHYSICAL LW,7 2 SW,7 4 PHYS LINE # * NEW CODE TO OUTPUT CORRECT CHARACTER INSTEAD OF NULL AFTER XON OR ACK * THIS CODE DUPLICATES MUCH CODE IN COC (SEE COCOP IN COC LINE 1906) * BUT UNFORTUNATELY WE CANNOT BRANCH TO THOSE ROUTINES BECAUSE * THEY BRANCH TO PLACES APPROPIATE ONLY IF ENTERED FROM A COC OUTPUT * INTERRUPT AND WE ARE HERE SERVICING AN INPUT INTERRUPT LB,11 COCOC,2 OUTPUT COUNT BEZ COC+X'1B' NOTHING TO OUTPUT LH,4 COCOR,2 OUTPUT REMOVAL POINTER BEZ DOOUT20 CHECK FOR LINE DISCONNECT * THAT MAY NOT BE NECESSARY HERE... BUT UNTIL MY PATCH SPACE RUNS LOW * I'LL LEAVE IT IN * ( I JUST GOT AN ACK OR XON... HOW CAN MY LINE BE OFF???) LB,5 COCBUF,4 CHAR TO OUTPUT MTB,-1 COCOC,2 AI,11 -2 BLZ COC+X'3CF' SCREECH 13 BEZ DOOUT40 LAST CHARACTER SO RELEASE BUF AI,4 1 CI,4 X'F' BANZ DOOUT50 AI,4 -1 DOOUT40 BAL,6 COC+X'42A' RELEASE THE BUFFER DOOUT50 STH,4 COCOR,2 LW,6 7 PHYS LINE # SLS,5 8 OR,6 5 MERGE CHAR + LINE IN R6 EXU CO:XDATA,3 TRANSMIT IT CW,11 SL:UB UNBLOCK USER TIME? BNE COC+X'1B' DOOUT54 LB,6 LB:UN,2 USER NUMBER LB,6 UB:US,6 USER STATE AI,6 -STOBO BEZ DOOUT57 AI,6 STOBO-STOB BNEZ COC+X'1B' NOT STOB OR STOBO DOOUT57 LI,6 E:CUB B COC+X'6D' REPORT EVENT DOOUT20 STB,4 COCOC,2 ZERO OUTPUT COUNT LC MODE2,2 BCR,8 COC+X'1B' LINE NOT REPORTED OFF EXU CO:RCVDOFF,3 HANG UP LINE EXU CO:RCVON,3 B DOOUT54 CHECK FOR UNBLOCK XONXOFFINP EQU $ LC MODE2,2 BCS,8 DOOUT LINE-OFF FAKE AN X-ON LI,7 X'7D' AND,7 5 CI,7 X'11' XON OR XOFF BNE COC+X'43' NORMAL INPUT PROCESSING *XON OR XOFF HAS COME IN CI,5 2 BAZ DOOUT IT WAS XON-START OUTPUT XOFF LI,7 1 CB,7 MODE5,2 BGE COC+X'1B' STB,7 MODE5,2 SET FLAG XOFF HAS COME B COC+X'1B' * COC+X'801' * COC+X'38' D12BRK LC MODE4,2 BCR,4 COC+X'11C' LI,7 156 RESET MODE5 COUNT LB,5 MODE5,2 GET PREVIOUS COUNT STB,7 MODE5,2 BNE COC+X'11C' WASNT DOWN TO ZERO LD,5 COD:LPC,3 CONVERT LOGICAL TO PHYSICAL LINE LCW,5 5 AW,5 2 XW,6 5 (ARRG) EXU CO:XDATA,3 RESTART OUTPUT XW,6 5 B COC+X'11C' * COC+X'3AE' * 1200 BAUD DIABLO (ACK/ETX PROTOCOL) OUTPUT DOUT1200 BE COC+X'3F1' REPLACED INSTRUCTION LC MODE3,2 BCS,4 XONXOFFOUT OUR SPECIAL MODE FOR ESC-P LC MODE4,2 BCR,4 COC+X'3AF' NOT SPECIAL MODE MTB,0 MODE5,2 CHECK REM OUTPUT COUNT BLE COC+X'3FB' CLEAR SCANNER AND HOLD FOR NOW MTB,-1 MODE5,2 DECREMENT COUNTER BE XMETX LB,6 MODE5,2 LB,5 COCBUF,4 CI,6 81 ONE BUFFER REMAINING? BGE COC+X'3B0' CI,6 78 BL LBUFF BE XMETX CKESC CI,5 X'1B' BNE COC+X'3B0' AI,6 -3 BGZ $+2 LI,6 0 STB,6 MODE5,2 XMETX LI,5 3 XMIT AN ETX B COC+X'3D7' LBUFF CI,6 3 BGE COC+X'3B0' B CKESC XONXOFFOUT EQU $ LB,5 MODE5,2 CI,5 1 BG COC+X'3AF' FLAG IN MODE5 SAYS NO XOFF-OUTPUT IT LI,5 0 STB,5 MODE5,2 0 MEANS THERE IS OUTPUT WAITING B COC+X'3FB' CLEAR SCANNER AND HOLD TIL XON COMES * COC+X'65C' D12FC LC MODE3,2 BCS,4 XONXOFFFC XON-XOFF MODE IN EFFECT LC MODE4,2 BCR,4 COC+X'688' MTB,0 MODE5,2 READY TO BLOCK? BE D12BF BLOCK-- BUFFER CHARACTER LI,4 -1 CONVERT LOGICAL TO PHYSICAL + COC AI,4 1 CLM,2 COD:LPC,4 BCS,9 $-2 LD,6 COD:LPC,4 LCW,6 6 AW,6 2 MTB,-1 MODE5,2 LB,7 MODE5,2 BE ETXB CI,7 78 BE ETXB CI,5 X'1B' BNE COC+X'688' SEND NORMAL B $+2 BUFFER THE CHAR ETXB AI,6 X'300' LINE # + ETX**8 EXU CO:XDATA,4 D12BF MTB,1 COCOC,2 B COC+X'663' XONXOFFFC EQU $ LB,6 MODE5,2 CI,6 1 BG COC+X'688' NO XOFF SO OUTPUT THE CHARACTER LI,6 0 SO WE KNOW WE TRIED STB,6 MODE5,2 B D12BF BUFFER THE CHARACTER * TERMTYPE LC MODE4INIT,2 CHECK D12 BIT BCS,4 COC+X'3F5' RETURN WITHOUT RESETTING TYPE STB,4 COCTERM,2 RESET TERM TYPE TO 0 (REPLACE INST) B COC+X'3F5' TERMTYPE1 LC MODE4INIT,7 CHECK D12 BIT BCS,4 COC+X'79C' RETURN WITHOUT RESETTING TYPE STB,11 COCTERM,7 RESET TERM TYPE TO 0 (REPLACE INST) B COC+X'79C' PAGE *********************************************************************** * * GSP LIU SUPPORT AND AUTOBAUD * *********************************************************************** * COC+X'7E3' CLR12 LI,4 -1 LOGICAL LINE TO PHYSICAL + COC * GSP 8/3/89 AND 10/19/89, BUT COC TYPE CRASHES "1B-00" RIDDLED CORE * STB,4 MODE5,7 ALLOW STOB ESC P TO OUTPUT AI,4 1 CLM,7 COD:LPC,4 BCS,9 $-2 LD,13 COD:LPC,4 LCW,13 13 AW,13 7 XW,13 6 EXU CO:XDATA,4 XW,13 6 B COC+X'7E7' * COC+X'801' ONINIT LB,6 MODE4INIT,2 GSP LIU LINE INITIALIZATION DO AUTOBAUD BNE MINT2+1 CI,4 COC+X'D2' AUTOBAUD BE COC+X'1B' LB,6 COCTERM,2 CI,6 3 BLE MINT2 LI,6 X'2A' 300 BAUD BAL,4 MINTSP-1 LB,6 MODE2,2 OR,6 X10 STB,6 MODE2,2 B COC+X'7A0' MINT2 LB,6 MODE4,2 FIN STB,6 MODE4,2 MINTSP SLS,6 13 LINE SPEED INFO CI,4 COC+X'D2' CALLED FROM BREAK? BNE $+2 LW,5 3 GET COC # (FROM 3 IF FROM BREAK) MTB,0 TYPE,5 CHECK IF VARIABLE SPEED ALLOWED BE 0,4 VARIABLE SPEED ONLY AS PER TABLE CI,6 X'E000' BAZ $+2 110 BAUD - 2 STOP BITS AI,6 X'200' AW,6 2 NEEDS TO BE PHYSICAL LINE ON COC AND,6 KGCTRASH THIS IS THE QUICKEST WAY (KLUDGE) EXU COC:SPD,5 SET LINE SPEED B 0,4 KGCTRASH DATA X'E23F' SPEED BITS,STOP BIT,LINE # ONLY COC:SPD DATA X'6D603006' SET LINE SPEED COC 0 DATA X'6D603016' SET LINE SPEED COC 1 DATA X'6D603026' SET LINE SPEED COC 2 DO1 SYSTEM=A TYPE DATA X'01010000' VARIABLE SPEED ON COCS 0 AND 1 DO1 SYSTEM=B TYPE DATA X'01000000' VARIABLE SPEED ON COC 0 * COC+X'822' INITSPD EQU,0 $ LD,4 COD:LPC,3 **** KGC 4/5/85 2ND COC **** AW,4 7 **** KGC 4/5/85 2ND COC **** LB,6 MODE4,4 **** KGC 4/5/85 2ND COC **** LW,2 4 **** KGC 4/5/85 2ND COC **** LW,5 3 BAL,4 MINTSP LW,6 7 REPLACED INSTRUCTION B COC+X'823' DO AUTOBAUD ASTS DATA X'067C0C7E' DATA X'66502A00' TERMS DATA X'00030003' DATA X'02030200' MODES DATA X'00282829' DATA X'292A2A00' * COC+X'14F' ASTERS LB,4 ASTS GSP LIU AUTOBAUD CALCULATION CB,5 ASTS,4 BE $+3 BDR,4 $-2 B COC+X'1B' LB,5 TERMS,4 STB,5 COCTERM,2 LB,5 MODES,4 STB,5 MODE4,2 LI,4 X'20' STB,4 MODE2,2 B COC+X'1B' FIN * COC+X'794' TRONIFOFF BCS,1 COC+X'7BA' REPLACE INSTRUCTION BCR,2 COC+X'795' XW,7 10 (ARRG) EXU CO:RCVON,5 TURN RECEIVER ON XW,7 10 STW,2 COCIPL SAVE AS PARITY ERROR B COC+X'795' PAGE *********************************************************************** * * GSP COC SUPPORT * *********************************************************************** * COC DO NSCOC *COC:TYPE DATA,1 X'10',X'10',0,0 COC TYPE (STANDARD OR NONSTANDARD) COC:TYPE DATA,1 X'10',0,0,0 COC TYPE (STANDARD OR NONSTANDARD) COC:RDC DATA X'6C503001' RD,5 X'3001' READ CHAR COC 0 DATA X'6C503011' RD,5 X'3011' READ CHAR COC 1 *COC:RDS DATA X'6C003000' RD,0 X'3000' CHECK SCANNER COC 0 * DATA X'6C003010' RD,0 X'3010' CHECK SCANNER COC 1 COC:RDT DATA X'6C003006' RD,0 X'3006' INITIALIZE COC 0 DATA X'6C003016' RD,0 X'3016' INITIALIZE COC 1 COC:RDU DATA X'6C003004' RD,0 X'3004' STATUS COC 0 DATA X'6C003014' RD,0 X'3014' STATUS COC 1 GSPCOC LC COC:TYPE,3 IS COC STANDARD? BCS,1 GSPCOC1 => NO, MUST BE GSPCOC DATA X'CDF0000F' TIO,D4 *D4 (REPLACEMENT INSTR) B COC+X'1F' RETURN GSPCOC1 EXU COC:RDC,3 RD TO GET CHARACTER BCS,2 COC+X'24' NOT THIS COC LW,7 6 SAS,7 -1 STH,5 *4,7 B COC+X'2A' GSPCOCI LC COC:TYPE,3 IS THIS A STANDARD COC? BCS,1 GSPCOC5 => NO, MUST BE A GSPCOC DATA X'CC000005' SIO,0 *5 (REPLACEMENT INSTR) B COC+X'80D' RETURN FOR STD COC GSPCOC5 LCI 0 EXU COC:RDU,3 RD TO SEE IF THERE B COC+X'80E' RETURN COCWDTO AND,1 MASKS+X'26' XFF00 GET JUST COC BITS CI,1 X'3000' BNE *15 NOT COC LB,1 TABLES+X'146' CSED$PSD AI,1 X'80' SET CC1 STB,1 TABLES+X'146' CSED$PSD B *15 RETURN WITH CC1 SET (REPLACEMENT) GSPCOCT LC COC:TYPE,5 BCS,1 GSPCOCS DATA X'4D0E0000' TIO,0 0,7 (REPLACEMENT) B COC+X'78A' GSPCOCS EXU COC:RDU,5 BCS,8 COC+X'7CC' COC NOT THERE BCR,1 COC+X'78C' OK EXU COC:RDT,5 INITIALIZE IT B COC+X'7CE' GO FINISH INITIALIZATION DRBCSE STW,15 TABLES+X'167' CSED$LINK LI,0 0 REPLACEMENT B CSEHAND:+X'EF' * * COCOP+1 COCERR LW,2 7 SAVE THE LINE # EXU CO:OUTRS,3 READ THE LINE # AGAIN CW,2 7 IS IT THE SAME? BNE COCERR1 => NO, GO RECORD IT AND,7 M6 REPLACEMENT INSTRUCTION B COCOP+2 PROCEED COCERR1 MTW,1 COCIPC STW,2 COCIPL B COCOP+X'61' FIN LIST 0 * MM+X'A4' MMCHK BG MM+X'B3' REPLACE PATCHED INSTRUCTION CI,4 1 FROM M:CVM? BNE MM+X'A5' NO => GIVE IT TO 'EM CI,8 X'30' PRIV B0 OK BGE MM+X'A5' CI,6 X'41' TOPROOT BG NOG CI,8 X'20'+X'10' ALLOW A0(B0) TO READ MONITOR BGE MM+X'A5' * CI,6 3 PAGE 3? -- CO:RING * BE NOG CI,6 7 PAGE 6+ -- COCBUF BL CKPV CI,6 8 PAGE 7+ BLE NOG CI,6 X'16' THIS PATCH? BE NOG CKPV CI,8 X'10'+X'20' PRIV 90(B0) NOT CERTAIN PAGES BGE MM+X'A5' LW,4 MXFPL+1 CW,4 MMDAT BE NOG LC MXFPL+1 BCR,2 NOG LI,4 6336 AH,4 MXFPL+5 BE NOG+1 AI,4 1010782 WHERE? BE NOG+1 NOG LI,6 0 GIVE 'EM PAGE 0 LI,4 1 REPLACE CVM FLG B MM+X'A5' MMDAT DATA 633652691 LIST 1 *CLRBBUF+X'1A' PPCHK EQU,0 $ LI,11 FPMC LI,1 X'4A' STORE,11 JX:CMAP,1 B CBB5+X'F' * IOQ+X'4D4' KIIOP CI,12 X'2000' INTER-OP REQUESTED? BAZ KIIOP1 NO RESUME NORMAL HANDLING LB,8 DCT5,1 OR,8 X20 SET INTEROP BIT STB,8 DCT5,1 KIIOP1 DATA X'6D000027' ENABLE B IOQ+X'4D5' PAGE *********************************************************************** * * SCHED * *********************************************************************** * SCHED+X'233',X'235',X'23C',X'246' BATIO CI,15 X'100' IS IT BATCH? BAZ SCHED+X'216' NO GO TO STIOCC B SCHED+X'215' GIVE BATCH IOC PRIORITY EQUAL TO OL * SCHED+X'182' NOBEX BANZ SCHED+X'44' REPLACE INSTRUCTION LC X'8C48' J:EXTENT BCR,2 SCHED+X'183' NOT IN EXIT CONTROL- ALLOW BREAKS CI,15 X'40' ALLOW DELTA EXITS BAZ SCHED+X'44' IGNORE IF NOT DELTA B SCHED+X'183' DELTA IN CONTROL - ALLOW BREAKS * SCHED+X'481' DSOPNCLS LH,5 UH:FLG,4 CI,5 8 OPEN CLS USER BANZ SCHED+X'478' YES -- DONT OUTSWAP HIM B SCHED+X'482' * SCHED+X'2E4' OPCSUB LW,5 4 SAVE HEAD OPCS1 LH,15 UH:FLG,5 GET HIS FLAGS CI,15 X'100' BATCH? BANZ OPCS2 YES LW,4 5 ONLINE OR GHOST SAVE UN OPCS2 LW,5 U:MISC,5 FOLLOW FLINKS AND,5 M8 BNE OPCS1 LH,15 UH:FLG,4 REPLACE INSTRUCTION B SCHED+X'2E5' * SCHED+X'2BB' RQBLNK STB,4 UB:PRIO,2 LI,2 0 B SCHED+X'2BC' * SCHED+X'480' STOB96 CI,2 X'E' STOB BNE SCHED+X'48E' LOAD,5 UX:JIT,4 SLS,5 11 AI,5 X'B7' POINT TO LINE NO. IN JIT LB,5 0,5 LC MODE3,5 CHECK XON/XOFF KGC 02/19/85 BCS,4 SCHED+X'48E' DONT HOLD XON/XOFF PROTOCOL LB,5 MODE4,5 CI,5 X'40' DONT HOLD D12 BANZ SCHED+X'48E' AND,5 M3 STRIP GARBAGE CI,5 6 4800 BAUD BL SCHED+X'48E' UNDER 4800 DONT HOLD B SCHED+X'478' TRY SOMEONE ELSE PAGE *********************************************************************** * * FILE I/O * EXTRANEOUS EOF REMOVAL * EOD FILE INTEGRETY INSERTION AND CHECKING * *********************************************************************** * WRTF+X'16D' NXTKEY AW,3 14,6 AW,3 IMT,6 REPLACE NOPED INST REMEOF CI,3 12 FIRST KEY ON GRAN? (MIDIS IS 12) BLE WRTF+X'165' YES-- EOF ON PREV GRAN ALREADY GONE LI,0 X'1FFFF' MASK FOR ADDRESS AND,0 1,6 GET CFU ADDRESS CI,0 FILCFU BLE WRTF+X'165' => YES, SKIP REM EOF XFD AI,3 -3 POINT TO EOF ALSO DATA FOR AND LB,0 X'9600',3 GET FLAGS AND,0 XFD REM EOF NOTE: XFD IS INSTRUCTN STB,0 X'9600',3 9600 IS BUFF2 AI,3 3 B WRTF+X'165' * WRTF+X'437' - EODPUT * WRTF+X'469' - EODCK EODDATA DATA X'E0DE0D0' PBEOD DATA 0 PVEOD DATA 0 EODPUT LI,2 X'7FC' AND,2 3 BE SAVCBD SLS,2 -2 LW,1 EODDATA STW,1 X'9400',2 BUFF1 B SAVCBD EODCK LI,4 X'7FC' AND,4 3 BE WRTF+X'41A' SLS,4 -2 LW,4 X'9400',4 BE NOEOD THIS IS UNEXPLAINED *8/3/89 GSP SCSI 12/88 OS WRITES SHORT SECTORS SEE RDF+X'1C7' * REPLACE LW,2 .C WITH LI,2 .800 CW,4 EODDATA BE WRTF+X'41A' LW,1 1,6 LW,1 CFU,6 LW,3 3,1 GET GAVAL BNE EODPRV MTW,1 PBEOD PUBLIC ERROR CNT B WRTF+X'452' EODPRV EQU,0 $ STW,3 PVGAVL STW,1 PVCFU LW,3 4,1 STW,3 PVCCBD LI,3 0 STW,3 3,1 MTW,1 PVEOD PRIVATE PACK FILE ERROR CNT B WRTF+X'452' PCF DATA 0 PGV DATA 0 PCCB DATA 0 NOEOD LW,4 1,6 STW,4 PCF STW,3 PCCB LW,4 4,4 STW,4 PGV B WRTF+X'41A' PVCFU DATA 0 PVGAVL DATA 0 PVCCBD DATA 0 PAGE *********************************************************************** * * MISCELLANEOUS * *********************************************************************** DO 0 CPCM * PFSR:+X'72' NO2RAD LH,5 DCT1,5 REPLACEMENT INSTRUCTION CI,5 X'2F1' IS THIS THE SECOND RAD? BNE PFSR:+X'73' => NO CONTINUE MTW,0 M:FREE#GRAN+1 IS THIS RAD IN USE? BLE PFSR:+X'77' => NO B PFSR:+X'73' YES IT IS FIN * PFSR:+X'76' PFSRHIO HIO,0 *5 GSP 10/30/85 B PFSR:+X'73' PFSRTYP DATA X'20020000' PFSRLOG LW,8 PFSRTYP TYPE AND LENGTH FOR POWERON ERRLOG LI,6 8 POINTER TO MSG AW,6 Y4 FLAG FOR ERRLOG NOT TO CALL IOQ LW,10 POWROFF BAL,5 ERRLOG B PFSR:+X'8D' * PM+X'5A' RESP90 LI,3 13 SH,1 CH:DRT+1,3 AH,1 DRTHEN,3 BE PM+X'72' B PM+X'5B' PAGE INTER-SYSTEM COMMUNICATIONS *********************************************************************** * * INTER-SYSTEM COMMUNICATIONS * *********************************************************************** DO COMSYS~=0 TRAP64 EQU UMOVPTCH+0 TRAP65 EQU UMOVPTCH+1 TRAP66 EQU UMOVPTCH+2 TRAP67 EQU UMOVPTCH+3 BOUND 8 DO COMSYS&1 T64PSD DATA 0,0,TRAP64,7**24 TRAP INHIBITED T65PSD DATA 0,0,TRAP65,7**24 TRAP INHIBITED FIN DO (COMSYS&2)~=0 T66PSD DATA 0,0,TRAP66,7**24 TRAP INHIBITED T67PSD DATA 0,0,TRAP67,7**24 TRAP INHIBITED FIN FIN INTARM LI,5 X'C00'*(COMSYS&1)+X'300'*(0~=(COMSYS&2)) * FOR T64,T65 AND/OR T66,T67 STW,5 CO:AIL B COC+X'807' RETURN ********************************************************************** * * BINARY WRITE TO XP * ********************************************************************** * WRTD+.3A B WRTLP (LW,1 Y08) WRTLP LB,1 *5,1 GET TB:FLGS FROM SCB CI,1 8 BINARY ALLOWED FLAG BAZ WRTLPX LI,1 X'20000' CW,1 0,6 MODE (BINARY) BIT IN DCB BAZ WRTLPX NOT BINARY AND,8 RCCN4MSK CLEAR 4 BIT IN RCC (BYTE 0 SR1) OR,8 Y02 WRTLPX LW,1 Y08 REPLACE INSTRUCTION B WRTD+X'3B' RCCN4MSK DATA X'FBFFFFFF' XPINTCH CW,8 Y04 BANZ WRTD+X'6F' * NO VFC OR PAGE COUNT IF BINARY B *4 XPNOCMP LW,4 *J:BASE CI,4 X'2000' BIN MODE IN DCB BAZ NOTBIN LW,4 SCDEVTYP,5 BIN ALLOWED IN CBP (FROM TB:FLGS) CI,4 X'800' BAZ NOTBIN LW,3 J:BASE+3 B COOP+X'94' NOTBIN CI,3 1 REPLACE PATCHED INSTRUCTION B COOP+X'C6' * RDF+X'871' JOURNAL EQU,0 $ KGC 08/11/86 0 REC JOURNALS (COLDBOOT) * BGE RDF+X'859' (REPLACED INST WAS BGE SEQ00) MTW,0 5,1 CHECK IF TDA IS ZERO BNE RDF+X'859' DON'T TOUCH UNLESS IT WAS MTW,0 X'9400' CHECK BLINK BNE TESTEND IT MIGHT BE REAL!!! LW,12 X'9402' BUFF1+2 CW,12 NEMPTYFL IS IT AN NORMAL EMPTY FILE? BE RDF+X'859' (ASSUMING FIT, ETC) LC X'9454' GET THAT PESKY CONTROL WORD BCR,4 RDF+X'859' NOT INITIAL * B RDF+X'875' IT MIGHT BE REAL!!! TESTEND MTW,0 X'9401' CHECK FLINK BNE RDF+X'875' MIGHT GET 7502 ERROR-BUT WHO CARES LI,12 X'FFFF' AND,12 X'9402' EXTRACT LAST CONTROL WORD CW,3 12 BL RDF+X'875' GOOD B RDF+X'859' DONE - EOF! NEMPTYFL DATA X'00000054' MAGIC POINTER PAST CONSEC FIT GSPRDFSRD LI,1 X'1FFFF' RDF LINE 303 (GETCFU) AND,1 1,6 RDF LINE 304 CFU,DCB CI,1 FILCFU RDF LINE 308/1642 * THIS TEST MAY BE OPTION, BUT WHO KNOWS (11/10/89) BLE RDF+X'440' RDF LINE 309/1643 BAL,0 RDF+X'7A' ESTABBUF B RDF+X'440' ERROR RETURN LI,14 X'3E0' RDF LINE 1584 BUF2MSK AND,14 9,6 RDF LINE 1585 BE RDF+X'440' RDF LINE 1586 B RDF+X'404' RDF LINE 1587 RETURN * * A READ AHEAD PROBLEM FOUND! * RAPATCH EQU,0 $ BE RA+X'66' (REPLACED INSTRUCTION) LW,3 0 SWITCH TO DESIRED VOL # B RA+X'62' LASTPTCH EQU,0 $ LOC $$ PATCHCOUNT EQU $-PATCHES-1 PAGE STARTPATCH PBITS EQU $-1 PAGE TEXT 'AUCC' 0 TEXT 'HPPR' 1 TEXT 'FMII' 2 TEXT 'V100' 3 TEXT 'T920' 4 * TEXT 'DTMS' 5 DTMS TEXT 'AUCC' 5 DATA 0 6 FOR CLT DATA 0 7 DATA 0 8 DATA 0 9 DATA 0 A DATA 0 B DATA 0 C DATA 0 D DATA 0 E DATA 0 F PATCHAT X'70' CI,0 X'C0' WAS X'A0' (GHOST INIT) PATCHAT T:INITJOB+2 *********************************************************************** * * BINARY WRITE TO XP * *********************************************************************** B WRTLP PATCHAT WRTD+X'3A' BAL,4 XPINTCH PATCHAT WRTD+X'54' B XPNOCMP PATCHAT COOP+X'C5' LI,1 X'49' (SPACE) WAS LI,1 X'4A' (JDE) PATCHAT WRTD+X'A2' 12/16/87 KGC (FROM GSP) DO SYSTEM=B DATA X'02000000' PATCHAT MM+X'54' FIN *********************************************************************** * * COC * *********************************************************************** AI,8 2 => 2 PRE-HEADING LINES PATCHAT COC+X'6FD' WAS AI,8 5 (6 LINES) * AI,8 -3 => 2 POST-HEADING LINES PATCHAT COC+X'732' WAS AI,8 -6 (5 LINES) * B HWLOGOFF HARDWIRED LINE LOGOFF FEATURE BNE COC+X'7D6' REPLACED IFS IN REVERSE ORDER DATA X'6C000000' RD,0 0 LW,8 8 BCS,5 COC+X'7AF' SS2 OR HARDWIRED LINE PATCHAT COC+X'7BA' DO NSCOC B COCERR ELSE AND,7 M6 REPLACEMENT INSTRUCTION FIN PATCHAT COCOP+1 * DO NSCOC B GSPCOC ELSE DATA X'CDF0000F' TIO,15 *15 FIN PATCHAT COC+X'1E' * DO NSCOC B GSPCOCI ELSE DATA X'CC000005' SIO,0 *5 FIN PATCHAT COC+X'80C' * DO NSCOC B GSPCOCT ELSE DATA X'4D0E0000' TIO,0 0,7 FIN PATCHAT COC+X'789' * DO NSCOC B COCWDTO ELSE B *15 FIN PATCHAT CSE$9:9+13 * WAS CSE$9:7+9 UNDER CPCF (SIGMA 7) WITH DO AROUND PATCHAT * ONLY. THUS CPCG (SIGMA 9 SMALL?) WAS BAD. * PROBABLY DROPPED ENTIRELY AFTER CPCI 9/16/85 * THUS BOTH THIS AND THE NEXT PATCH WERE RUINED IF * CPCF WAS NOT SELECTED. * FIXED KGC 2/23/89. * DO NSCOC B DRBCSE ELSE LI,0 0 FIN PATCHAT CSEHAND:+X'EE' * DO NSCOC NOP 1 ELSE STW,15 TABLES+X'167' FIN PATCHAT CSEHAND:+X'112' * B STS1B PATCHAT COC+X'79C' B INTARM PATCHAT COC+X'806' B PPCHK CLEAR UP 6B-00 PROBLEM PATCHAT CLRBBUF+X'1A' CLEAR UP 6B-00 PROBLEM B LOGSYS PATCHAT T:RCE+X'F' ALLOW SYSTEM LINES WHEN ON 0 DO 0 CPCM B SHIFTSWAP INCREASE SWAP SPACE FOR NO USERS PATCHAT T:RCE+X'13' FIN NOP 2 DISABLE ESC-P MODE PATCHAT COC+X'112' B COC+X'25C' PATCHAT COC+X'257' B *15 PATCHAT COC+X'35D' NOP 3 ALLOW XON/XOFF ECHO ON ESC E PATCHAT COC+X'35A' GSP 12/17/84 NOP 4 PATCHAT COC+X'619' NOP 5 PATCHAT COC+X'6A0' END DISABLE ESC-P MODE PATCHES *********************************************************************** * * INTER-SYSTEM COMMUNICATIONS * *********************************************************************** DO COMSYS&1 DATA X'0F800000'+T64PSD DATA X'0F800000'+T65PSD ELSE DATA X'33000000' MTW,0 0 (DUMMY INTERRUPT) DATA X'33000000' MTW,0 0 (DUMMY INTERRUPT) FIN PATCHAT X'64' * DO (COMSYS&2)~=0 DATA X'0F800000'+T66PSD DATA X'0F800000'+T67PSD ELSE DATA X'33000000' MTW,0 0 (DUMMY INTERRUPT) DATA X'33000000' MTW,0 0 (DUMMY INTERRUPT) FIN PATCHAT X'66' *********************************************************************** * BAL,11 IORT+X'36B' REMOVE CP MIN REC PATCH * PATCHAT WRTD+X'15A' SC 1900--SEE S/W LOG 91/01/28 DO CPCO DATA X'00800000' CHANGE 9TA80 TO 9TAF0 TO 9TA80 PATCHAT DCT1+2,X'FFFF0000' *** SYSGEN DEPT DATA 'TA80' CHANGE 9TA80 TO 9TAF0 TO 9TA80 PATCHAT DCT16+9 *** SYSGEN DEPT DO SYSTEM=A DATA X'00000081' CHANGE 9TA81 TO 9TAF1 TO 9TA81 PATCHAT DCT1+2,X'FFFF' *** SYSGEN DEPT DATA 'TA81' CHANGE 9TA81 TO 9TAF1 TO 9TA81 PATCHAT DCT16+11 *** SYSGEN DEPT FIN FIN * DATA X'5B000000' LISTING,OUT,BIN,COMP,VFC * PATCHAT TB:FLGS+5,X'FF000000' HP DO 0 CPCM DATA X'C000' SET INPUT ON PP PATCHAT DCT3,X'DF00' DCT INDEX = 2, BUT LEAVE PART BIT DATA X'38' SET INPUT ON PP PATCHAT TB:FLGS,X'FF' OH:NM INDEX = 3 FIN DO SYSTEM=B|SYSTEM=A DATA X'030000' CHANGE TIMEOUT FOR BELO-BOX DISK PATCHAT DISKAB+01,X'FF0000' DATA X'030000' PATCHAT DISKAB+02,X'FF0000' DATA X'030000' PATCHAT DISKAB+03,X'FF0000' DATA X'030000' PATCHAT DISKAB+04,X'FF0000' DATA X'030000' PATCHAT DISKAB+05,X'FF0000' DATA X'030000' PATCHAT DISKAB+06,X'FF0000' DATA X'030000' PATCHAT DISKAB+07,X'FF0000' DATA X'030000' PATCHAT DISKAB+08,X'FF0000' DATA X'030000' PATCHAT DISKAB+09,X'FF0000' DATA X'030000' PATCHAT DISKAB+10,X'FF0000' DATA X'030000' PATCHAT DISKAB+11,X'FF0000' FIN DO 0 CPCM PPHAND SET UMOVPTCH+12 DATA PPHAND PATCHAT DCT8+2 *** SYSGEN DEPENDANT DATA PRTCU PATCHAT DCT9+2 *** SYSGEN DEPENDANT FIN *********************************************************************** * * HANDLERS * *********************************************************************** CI,2 AVRTBLSIZ DISC NOT ANS BL HANDLERS+X'FFC' **SYSGEN** DEPENDANT PATCHAT HANDLERS+X'13D' LC ANSFLGS,2 REPLACED INSTRUCTION BCR,8 HANDLERS+X'13F' DITTO LI,2 1 FIX ANS ON 1ST TAPE B HANDLERS+X'141' PATCHAT HANDLERS+X'FFC' **SYSGEN** DEPENDANT * DO SYSTEM=0 GSP BCS,9 IOQ+X'419' ELIMINATES SC 19-00 FOR NON MPOOL ELSE BCS,9 SC1900 FIN PATCHAT IOQ+X'416' COMMAND CHAIN LIST (IE GSP VOC) * GSP TAPE ERROR HANDLER PATCH DATA X'5C000000' NEW VALUE, OLD VALUE = X'83000000' PATCHAT MAGTAPE+X'A7',X'FF000000' DATA X'83000000' NEW VALUE, OLD VALUE = X'5C000000' PATCHAT MAGTAPE+X'A9',X'FF000000' DATA X'01' NEW VALUE, OLD VALUE = X'19' PATCHAT MAGTAPE+X'CC',X'FF' DATA X'01' NEW VALUE, OLD VALUE = X'1F' PATCHAT MAGTAPE+X'D2',X'FF' LB,8 IOQ10,3 WAS CI,7 10 SW,7 8 BLE MTAP+X'22' AI,7 10 (MAXERASE) LI,7 10 PATCHAT MTAP+X'1F' *********************************************************************** * * MISCELLANEOUS * *********************************************************************** DO 0 CPCM DATA X'2F1' FIX M:SWAPD+1 PATCHAT M:SWAPD+1 FROM 2F0 DATA X'2F1' PUT THE SECOND RAD BACK AT 2F1 PATCHAT DCT1+3,X'FFFF' ***** SYSGEN DEPENDANT ***** DATA 'CCF1' PATCHAT DCT16+15 ***** SYSGEN DEPENDENT ***** DATA X'0003' PUT CR BACK WHERE IT BELONGS PATCHAT DCT1+1,X'FFFF' ***** SYSGEN DEPENDENT ***** DATA 'RA03' PATCHAT DCT16+7 ***** SYSGEN DEPENDENT ***** FIN BCS,12 PFSRHIO HIO IF RAD WONT COME READY PATCHAT PFSR:+X'76' B PFSRLOG LOG POWER FAILSAFES PATCHAT PFSR:+X'8C' B RAPATCH PRIVATE VOLUME READ-AHEAD PATCHAT RA+X'61' DO 0 CPCM B NO2RAD GO CHECK FOR SECOND RAD ON SYSTEM PATCHAT PFSR:+X'72' FIN *********************************************************************** * * SCHEDULING * *********************************************************************** B NOBEX PATCHAT SCHED+X'182' BE BATIO PATCHAT SCHED+X'233' B BATIO PATCHAT SCHED+X'23C' B BATIO PATCHAT SCHED+X'246' BE BATIO PATCHAT SCHED+X'235' DATA X'29090A1A' PATCHAT COC+X'872' *********************************************************************** * * FILE I/O * *********************************************************************** BAL,0 EODPUT PATCHAT WRTF+X'437' B EODCK PATCHAT WRTF+X'469' DATA X'20581287' PATCHAT SB:SET:+4 BG STOB96 PATCHAT SCHED+X'480' CI,3 8 SET MAX GHOST I/O IN PROG PATCHAT IOQ+X'1F' B RESP90 PATCHAT PM+X'5A' B REMEOF STH,3 *6,2 PATCHAT WRTF+X'164' BE WRTF+X'16E' PATCHAT WRTF+X'169' BGE NXTKEY PATCHAT WRTF+X'16D' AI,0 0 SPEED UP HOT CODE PATCHAT RDF+X'36A' B JOURNAL EMPTY JOURNAL FILES (COLDBOOTS) PATCHAT RDF+X'871' * GSP 10/17/89 CASE OF OLD TDA, ETC--CLUSTERED READ/WRITES BE GSPRDFSRD SPEED UP SHARED KEYED READ/WRITE PATCHAT RDF+X'403' RDF LINE 1586 PAGE *********************************************************************** * * SCHED * *********************************************************************** * 8/3/89 WAS CI,7 2 - GSP SEE SB:SWP: CI,7 3 DONT SWAP STI IF NO INSWAP BL SCHED+X'472' PATCHAT SCHED+X'46C' *8/3/89 DATA X'00121316' SW,SQA,STI DATA X'0C0E1418' SC10,STOB,SQR,SQFI PATCHAT SB:SWP: KICK OUT SQA (WAS LAST) B RQBLNK PATCHAT SCHED+X'2BB' B OPCSUB PATCHAT SCHED+X'2E4' B DSOPNCLS PATCHAT SCHED+X'481' BE D12FC PATCHAT COC+X'65C' B KIIOP PATCHAT IOQ+X'4D4' AI,2 -4 OPEN CLOSE BOOST OF 4 PATCHAT SCHED+X'1C6' PATCHAT SCHED+X'396' DATA 0 PATCHAT SL:EPS DATA 0 PATCHAT SL:ETS STW,2 COCOEL PATCHAT COC+X'3FA' SAVE OUTPUT INT ERR LINE B TRONIFOFF PATCHAT COC+X'794' LI,7 D12BRK PATCHAT COC+X'38' DO AUTOBAUD BE ASTERS PATCHAT COC+X'14F' FIN B SETWAIT PATCHAT COC+X'7C8' BCR,1 COC+X'7D4' PATCHAT COC+X'7B0' TIME OUT HW LINES IN LOGON DATA X'F2482B7F' INCLUDE ATTN INT AS ERROR PATCHAT HANDLERS+X'1D5' DATA X'1800' VECTOR TO DOSENSE BRANCH AFTER REST PATCHAT HANDLERS+X'1D8',X'FF00' DATA X'B3000000' DATA X'04800000' NEW RESTORE CDW PATCHAT HANDLERS+X'1CA' RESTORE CDW PAGE *********************************************************************** * * MISCELLANEOUS * *********************************************************************** B MMCHK PATCHAT MM+X'A4' * DATA 5 READ AHEAD DOES NOT WORK RIGHT YET PATCHAT SL:AIRM GEN PUTS 0 HERE DATA 8 ON MULTIVOLUME PRIVATE PACK PATCHAT SL:RAMR AND 13 HERE * DATA 200 SH:RBSUM BTCO * PATCHAT SH:RBSUM,X'FFFF' CODHWL DATA X'FFFFFFFF',X'FFFFFFFF' DATA 0,0 WILL BE READ IN FROM FILE DATA 0,0 THAT THIRD COC PATCHAT COD:HWL B DIN1200 PATCHAT COC+X'42' B DOUT1200 PATCHAT COC+X'3AE' LI,6 158 STB,6 MODE5,2 B ONINIT PATCHAT COC+X'801' B INITSPD PATCHAT COC+X'822' B CALCBUF PATCHAT COC+X'54F' L00#03 DATA X'87878787',X'87878787' L08#0F DATA X'87878787',X'87878787' L10#17 DATA X'8282022A',X'87878787' L18#1F DATA X'84444444',X'87878787' L20#27 DATA X'02020206',X'87878787' L28#2F DATA X'2A2A2A2A',X'2A2A2A2A' L30#37 DATA X'2A2A2A2A',X'2A2A2A2A' L38#3F DATA X'2A2A2A2A',X'2A2A2A2A' * 2ND COC L40#47 DATA X'87878787',X'87878787' L48#4F DATA X'87878787',X'87878787' L50#57 DATA X'87878787',X'87878787' L58#5F DATA X'87878787',X'87878787' L60#67 DATA X'87878787',X'87878787' L68#6F DATA X'87878787',X'87878787' L70#77 DATA X'87878787',X'87878787' L78#7F DATA X'87878787',X'87878787' * 3RD COC L80#87 DATA X'87878787',X'87878787' L88#8F DATA X'87878787',X'87878787' L90#97 DATA X'87878787',X'87878787' PATCHAT MODE4INIT MTB,1 CPOS,2 SLIGHT PROBLEM WITH BS EDIT MODE B COC+X'295' BS EDIT MODE => BS <=> DELETE PATCHAT COC+X'27D' B COC+X'521' APL MATRIX INVERT 87/05/21 PATCHAT COC+X'51D' GO RO MURUB IF MUBS/ESC O BE DMBS PATCHAT COC+X'296' DATA X'0C000000' PATCHAT TTYOUT+44,X'FF000000' DATA X'31' PATCHAT TTYOUT-2,X'FF' CI,4 1 BGE COC+X'9D' CI,5 X'7D' BL COC+X'9D' NOP 6 NOP 7 PATCHAT COC+X'96' B TERMTYPE RETAIN SAME TERM TYPE IF D12 PATCHAT COC+X'3F4' B TERMTYPE1 RETAIN SAME TERM TYPE IF D12 PATCHAT COC+X'79B' LB,4 MODE4,7 AND,4 XF STB,4 MODE4,7 B CLR12 PATCHAT COC+X'7E3' DATA SSTDLC PATCHAT COCITV+1,X'FFFF' DATA SSTD PATCHAT COCOTV+1,X'FFFF' DATA SAPLLC PATCHAT COCITV,X'FFFF' DATA SAPL PATCHAT COCOTV,X'FFFF' BITCOUNT EQU $-PBITS-1 END START