# Copyright: Public domain. # Filename: FRESH_START_AND_RESTART.agc # Purpose: Part of the source code for Comanche, build 055. It # is part of the source code for the Command Module's # (CM) Apollo Guidance Computer (AGC), Apollo 11. # Assembler: yaYUL # Reference: pp. 181-210 # Contact: Ron Burkey , # Fabrizio Bernardini # Website: http://www.ibiblio.org/apollo. # Mod history: 2009-05-16 FB Transcription Batch 2 Assignment. # 2009-05-20 RSB Removed an extraneous "TC STARTSUB". # 2009-05-21 RSB Changed a "TC BANKCALL" to "TC STOPRATE" # in INITSUB. # # The contents of the "Comanche055" files, in general, are transcribed # from scanned documents. # # Assemble revision 055 of AGC program Comanche by NASA # 2021113-051. April 1, 1969. # # This AGC program shall also be referred to as Colossus 2A # # Prepared by # Massachusetts Institute of Technology # 75 Cambridge Parkway # Cambridge, Massachusetts # # under NASA contract NAS 9-4065. # # Refer directly to the online document mentioned above for further # information. Please report any errors to info@sandroid.org. # Page 181 # PROGRAM DESCRIPTION 8 APRIL, 1967 # SUNDISK REV 120 # FUNCTIONAL DESCRIPTION # # SLAP1 MAN INITIATED FRESH START # 1. EXECUTE STARTSUB # 2. TURN OFF DSKY DISCRETE-LAMPS # 3. CLEAR FAIL REGISTERS, SELF-CHECK ERROR COUNTER AND RESTART # COUNTER # 4. EXECUTE DOFSTART # # DOFSTART MACHINE INITIATED FRESH START # # 1. CLEAR SELF-CHECK REGISTERS, MODE REGISTER AND CDUZ REGISTER # 2. CLEAR PHASE TABLE # 3. INITIALIZE IMU FLAGS # 4. INITIALIZE FLAGWORDS # 5. TRANSFER CONTROL TO IDLE LOOP IN DUMMYJOB # # GOPROG HARDWARE RESTART # # 0. EXECUTE STARTSUB # 1. TRANSFER CONTROL TO DOFSTART IF ANY OF THE FOLLOWING CONDITIONS # EXIST. # A. RESTART OCCURRED DURING EXECUTION OF ERASCHK. # B. BOTH OSCILLATOR FAIL AND AGC WARNING ARE ON. # C. MARK REJECT AND EITHER NAV OR MAIN DSKY ERROR LIGHT RESET # ARE ON. # 2. SCHEDULE A T5RUPT PROGRAM FOR THE DAP # 3. SET FLAGWRD5 BITS FOR INTWAKE ROUTINE # 4. EXTINGUISH ALL DSKY LAMPS, EXCEPT FOR PROGRAM ALARM, GIMBAL LOCK, AND # NO ATT # 5. INITIALIZE IMU FLAGS # 6. IF ENGINE COMMAND IS ON (FLAGWRD5, BIT 7), SET ENGINE ON (CHANNEL # 11, BIT 13). # 7. TRANSFER CONTROL TO GOPROG3 # # ENEMA SOFTWARE RESTART -- INITIATED BY MAJOR MODE CHANGE # # 1. EXECUTE STARTSB2 # 2. KILL PROGRAMS THAT WERE INTEGRATING OR WAITING FOR INTEGRATION # ROUTINE # 3. TRANSFER CONTROL TO GOPROG3 # # GOPROG3 SUBROUTINE COMMON TO GOPROG AND ENEMA # # 1. TEST PHASE TABLES -- IF INCORRECT, DISPLAY ALARM 1107 AND # TRANSFER CONTROL TO DOFSTART # 2. DISPLAY MAJOR MODE # 3. IF ANY GROUPS WERE ACTIVE UPON RESTART, TRANSFER CONTROL TO THE # Page 182 # RESTARTS SUBROUTINE TO RESCHEDULE PENDING TASKS, LONGCALLS, AND # JOBS (P20 IS RESTARTED VIA FINDVAC) # 4. IF NO GROUPS WERE ACTIVE UPON RESTART, DISPLAY ALARM CODE # 1110 (RESTART WITH NO ACTIVE GROUPS) # 5. TRANSFER CONTROL TO IDLE LOOP IN DUMMYJOB # # STARTSUB SUBROUTINE COMMON TO SLAP1 AND GOPROG # # 1. CLEAR OUTBIT CHANNELS 5 AND 6 # 2. INITIALIZE TIME5, TIME4, TIME3 # 3. TRANSFER CONTROL TO STARTSB2 # # STARTSB2 SUBROUTINE COMMON TO STARTSUB AND ENEMA # # 1. INTIALIZE OUTBIT CHANNELS 11,12,13, AND 14 # 2. REPLACE ALL TASKS ON WAITLIST WITH ENDTASK # 3. MAKE ALL EXECUTIVE REGISTERS AVAILABLE # 4. MAKE ALL VAC AREAS AVAILABLE # 5. CLEAR DSKY REGISTERS # 6. ZERO NUMEROUS SWITCHES # 7. INITIALIZE OPTICS FLAGS # 8. INITIALIZE PIPA AND TELEMETRY FAIL FLAGS # 9. INITIALIZE DOWN TELEMETRY # # INPUT/OUTPUT INITIALIZATION # # A. CALLING SEQUENCE # # SLAP1 -- TC POSTJUMP OR VERB 36,ENTER # CADR SLAP1 # # ENEMA -- TC POSTJUMP *** DO NOT CALL ENEMA WITHOUT *** # CADR ENEMA *** CONSULTING P00H PEOPLE *** # # B. OUTPUT # # ERASABLE MEMORY INITIALIZATION # # PROGRAM ANALYSIS # # A. SUBROUTINES CALLED # # MR.KLEAN,WAITLIST,DSPMM,ALARM,RESTARTS,FINDVAC # # B. ALARMS # # 1107 PHASE TABLE ERROR # 1110 RESTART WITH NO ACTIVE GROUPS # Page 183 BANK 10 SETLOC FRANDRES BANK EBANK= LST1 COUNT 05/START SLAP1 INHINT # FRESH START. COMES HERE FROM PINBALL. TC STARTSUB # SUBROUTINE DOES MOST OF THE WORK. STARTSW TCF SKIPSIM # PATCH....TCF STARTSIM...FOR SIMULATION STARTSIM CAF BIT14 TC FINDVAC SIM2CADR OCT 77777 # PATCH 2CADR (AND EBANK DESIGNATION) OF OCT 77777 # SIMULATION START ADDRESS. SKIPSIM CA DSPTAB +11D MASK BITS4&6 AD BIT15 TS DSPTAB +11D # REQUESTED FRESH START. CA ZERO # SAME STORY ON ZEROING FAILREG. TS ERCOUNT TS FAILREG TS FAILREG +1 TS FAILREG +2 TS REDOCTR CS PRIO12 TS DSRUPTSW DOFSTART CAF ZERO # DO A FRESH START. TS ERESTORE # ***** MUST NOT BE REMOVED FROM DOFSTART TS SMODE # ***** MUST NOT BE REMOVED FROM DOFSTART TS UPSVFLAG # UPDATE STATE VECTOR REQUEST FLAGWORD EXTEND WRITE CHAN5 # TURN OFF RCS JETS EXTEND WRITE CHAN6 # TURN OFF RCS JETS EXTEND WRITE DSALMOUT # ZERO CHANNEL 11 EXTEND WRITE CHAN12 # ZERO CHANNEL 12 EXTEND WRITE CHAN13 # ZERO CHANNEL 13 EXTEND WRITE CHAN14 # ZERO CHANNEL 14 TS WTOPTION TS DNLSTCOD # Page 184 TS NVSAVE TS EBANKTEM TS RATEINDX TS TRKMKCNT TS VHFCNT TS EXTVBACT CS DSPTAB +11D MASK BITS4&6 CCS A TC +4 CA BITS4&6 EXTEND # THE IMU WAS IN COARSE ALIGN IN GIMBAL WOR CHAN12 # LOCK, SO PUT IT BACK INTO COARSE ALIGN. TC MR.KLEAN CS ZERO TS MODREG CAF PRIO30 TS RESTREG CAF IM30INIF # FRESH START IMU INITIALIZATION. TS IMODES30 CAF NEGONE TS OPTIND # KILL COARSE OPTICS CAF OPTINITF TS OPTMODES CAF IM33INIT TS IMODES33 EXTEND # LET T5 IDLE. DCA T5IDLER DXCH T5LOC CA SWINIT TS STATE CA FLAGWRD1 MASK NOP01BIT # LEAVE NODOP01 FLAG UNTOUCHED AD SWINIT +1 TS FLAGWRD1 CA SWINIT +2 TS STATE +2 CA FLAGWRD3 # Page 185 MASK BIT13 # REFSMMAT FLAG AD SWINIT +3 TS FLAGWRD3 EXTEND DCA SWINIT +4 DXCH STATE +4 EXTEND DCA SWINIT +6 DXCH STATE +6 CA FLAGWRD8 MASK OCT6200 # CMOONFLG, LMOONFLG, AND SUFFLAG AD SWINIT +8D TS FLAGWRD8 CA SWINIT +9D TS STATE +9D EXTEND DCA SWINIT +10D DXCH STATE +10D ENDRSTRT TC POSTJUMP CADR DUMMYJOB +2 # PICKS UP AT RELINT. (IN A SWITCHED BANK.) MR.KLEAN INHINT EXTEND DCA NEG0 DXCH -PHASE2 P00KLEAN EXTEND DCA NEG0 DXCH -PHASE4 EXTEND DCA NEG0 DXCH -PHASE1 V37KLEAN EXTEND DCA NEG0 DXCH -PHASE3 EXTEND DCA NEG0 DXCH -PHASE5 EXTEND DCA NEG0 DXCH -PHASE6 TC Q OCT6200 OCT 6200 # Page 186 # COMES HERE FROM LOCATION 4000, GOJAM, RESTART ANY PROGRAMS WHICH MAY HAVE BEEN RUNNING AT THE TIME. GOPROG INCR REDOCTR # ADVANCE RESTART COUNTER. LXCH Q EXTEND ROR SUPERBNK DXCH RSBBQ TC BANKCALL # STORE ERASABLES FOR DEBUGGING PURPOSES. CADR VAC5STOR CA BIT15 # TEST OSC FAIL BIT TO SEE IF WE HAVE EXTEND # HAD A POWER TRANSIENT. IF SO, ATTEMPT WAND CHAN33 # A RESTART. IF NOT, CHECK THE PRESENT EXTEND # STATE OF AGC WARNING BIT. BZF BUTTONS CA BIT14 # IF AGC WARNING ON (BIT = 0), DO A EXTEND # FRESH START ON THE ASSUMPTION THAT RAND CHAN33 # WE ARE IN A RESTART LOOP. EXTEND BZF NONAVKEY +1 BUTTONS TC LIGHTSET # MAKE FRESH START CHECKS BEFORE ERESTORE. # ERASCHK TEMPORARILY STORES THE CONTENST OF TWO ERASABLE LOCATIONS, X # AND X+1 INTO SKEEP5 AND SKEEP6. IT ALSO STORES X INTO SKEEP7 AND # ERESTORE. IF ERASCHK IS INTERRUPTED BY A RESTART, C(ERESTORE) SHOULD # EQUAL C(SKEEP7), AND SHOULD BE A + NUMBER LESS THAN 2000 OCT. OTHERWISE # C(ERESTORE) SHOULD EQUAL +0. CAF HI5 MASK ERESTORE EXTEND BZF +2 # IF ERESTORE NOT = +0 OR +N LESS THAN 2K, TCF NONAVKEY +1 # DOUBT E MEMORY AND DO A FRESH START CS ERESTORE EXTEND BZF ELRSKIP -1 AD SKEEP7 EXTEND BZF +2 # = SKEEP7, RESTORE E MEMORY. TCF NONAVKEY +1 # NOT = SKEEP7, DOUBT E MEM, DO FRESH START CA SKEEP4 TS EBANK # EBANK OF E MEMORY THAT WAS UNDER TEST. EXTEND # (NOT DXCH SINCE THIS MIGHT HAPPEN AGAIN) DCA SKEEP5 INDEX SKEEP7 DXCH 0000 # E MEMORY RESTORED CA ZERO TS ERESTORE # Page 187 TC STARTSUB # DO INITIALIZATION AFTER ERASE RESTORE. ELRSKIP CA FLAGWRD6 # RESTART AUTOPILOTS EXTEND MP BIT3 # BITS 15,14 00 T5IDLOC MASK SIX # 01 REDORCS EXTEND # 10 REDOTVC INDEX A # 11 REDOSAT DCA T5IDLER DXCH T5LOC CS INTFLBIT MASK RASFLAG TS RASFLAG CA OPTMODES MASK OPTINITR AD BIT7 TS OPTMODES CAF BIT6 MASK IMODES33 AD IM33INIT TS IMODES33 CA 9,6,4 # LEAVE PROG ALARM, GIMBAL LOCK, NO ATT MASK DSPTAB +11D # LAMPS INTACT ON HARDWARE RESTART AD BIT15 XCH DSPTAB +11D MASK BIT4 # IF NO ATT LAMP WAS ON, LEAVE ISS IN EXTEND # COARSE ALIGN BZF NOCOARSE TC IBNKCALL # IF NO ATT LAMP ON, RETURN ISS TO CADR SETCOARS # COARSE ALIGN. CAF SIX TC WAITLIST EBANK= CDUIND 2CADR CA+ECE NOCOARSE CAF IFAILINH # LEAVE FAILURE INHIBITS INTACT ON MASK IMODES30 # HARDWARE RESTART. RESET ALL AD IM30INIR # FAILURE CODES. TS IMODES30 CS FLAGWRD5 MASK ENGONBIT CCS A TCF GOPROG3 CAF BIT13 EXTEND # Page 188 WOR DSALMOUT # TURN ENGINE ON TCF GOPROG3 ENEMA INHINT TC LIGHTSET # EXIT TO DOFSTART IF ERROR RESET AND TC STARTSB2 # MARK REJECT DEPRESSED SIMULTANEOUSLY CS INTMASK # RESET INTEGRATION BITS MASK RASFLAG TS RASFLAG CS FLAGWRD6 # IS TVC ON MASK OCT60000 EXTEND BZMF GOPROG3 # NO CAF .5SEC # YES, CALL TVCEXEC TASK WHICH WAS KILLED TC WAITLIST # IN STARTSB2 EBANK= BZERO 2CADR TVCEXEC GOPROG3 CAF NUMGRPS # VERIFY PHASE TABLE AGREEMENTS PCLOOP TS MPAC +5 DOUBLE EXTEND INDEX A DCA -PHASE1 # COMPLEMENT INTO A, DIRECT INTO L. EXTEND RXOR LCHAN # RESULT MUST BE -0 FOR AGREEMENT. CCS A TCF PTBAD # RESTART FAILURE. TCF PTBAD TCF PTBAD CCS MPAC +5 # PROCESS ALL RESTART GROUPS. TCF PCLOOP TS MPAC +6 # SET TO +0. TC MMDSPLAY # DISPLAY MAJOR MODE INHINT # RELINT DONE IN MMDSPLAY CAE FLAGWRD6 # IS RCS DAP RUNNING (BITS 15 14 OF MASK OCT60000 # FLAGWORD6 = 01) EXTEND # YES, DO STOPRATE BZMF NXTRST -1 # NO, SKIP TO NXTRST -1 CAF EBANK6 # STOPRATE IS DONE IN EBANK 6 TS EBANK TC STOPRATE # ZERO DELCDUS, WBODYS, AND BIASES THUS # STOPPING AUTOMATIC MANEUVERING CAF EBANK3 TS EBANK # Page 189 CAF NUMGRPS # SEE IF ANY GROUPS RUNNING NXTRST TS MPAC +5 DOUBLE INDEX A CCS PHASE1 TCF PACTIVE # PNZ -- GROUP ACTIVE. TCF PINACT # +0 -- GROUP NOT RUNNING. PACTIVE TS MPAC INCR MPAC # ABS OF PHASE. INCR MPAC +6 # INDICATE GROUP DEMANDS PRESENT. CA RACTCADR TC SWCALL # MUST RETURN TO SWRETURN. PINACT CCS MPAC +5 # PROCESS ALL RESTART GROUPS. TCF NXTRST CCS MPAC +6 # NO, CHECK PHASE ACTIVITY FLAG TCF ENDRSTRT # PHASE ACTIVE CAF BIT15 # IS MODE -0 MASK MODREG EXTEND BZF GOTOP00H # NO TCF ENDRSTRT # YES PTBAD TC ALARM # SET ALARM TO SHOW PHASE TABLE FAILURE. OCT 1107 TCF DOFSTART # IN R21. # ********* ********* ********** # DO NOT USE GOPROG2 OR ENEMA WITHOUT CONSULTING P00H PEOPLE. GOPROG2 EQUALS ENEMA OCT10000 = BIT13 OCT30000 = PRIO30 OCT7777 OCT 7777 RACTCADR CADR RESTARTS LIGHTSET CAF BIT7 # DOFSTART IF MARK REJECT AND EITHER EXTEND # ERROR LIGHT RESET BUTTONS ARE DEPRESSED RAND NAVKEYIN EXTEND BZF NONAVKEY # NO MARK REJECT CAF OCT37 EXTEND RAND NAVKEYIN # NAV DSKY KEYCODES,MARK,MARK REJECT AD -ELR EXTEND BZF NONAVKEY +1 EXTEND # Page 190 READ MNKEYIN # MAIN DSKY KEYCODES AD -ELR EXTEND BZF +2 NONAVKEY TC Q TC STARTSUB TCF DOFSTART STARTSUB CAF LDNPHAS1 # SET POINTER SO NEXT 20MS DOWNRUPT WILL TS DNTMGOTO # CAUSE THE CURRENT DOWNLIST TO BE # INTERRUPTED AND START SENDING FROM THE # BEGINNING OF THE CURRENT DOWNLIST. CAF POSMAX TS TIME3 # 37777 TO TIME3. AD MINUS2 TS TIME4 # 37775 TO TIME4. AD NEGONE TS TIME5 # 37774 TO TIME5. STARTSB2 CAF OCT77603 # TURN OFF UPLINK ACTY, TEMP CAUTION, KR, EXTEND # FLASH, OP. ERROR, LEAVE OTHERS UNCHANGED. WAND DSALMOUT CAF OCT74777 # TURN OFF TEST ALARMS, STANDBY ENABLE. EXTEND WAND CHAN13 CS PRIO25 # CLEAR R21MARK, P21FLAG, AND SKIPVHF BIT. MASK FLAGWRD2 AD SKIPVBIT # NOW SET SKIPVHF FLAG. TS FLAGWRD2 EBANK= LST1 CAF STARTEB TS EBANK # SET FOR E3 CAF NEG1/2 # INITIALIZE WAITLIST DELTA-TS. TS LST1 +7 TS LST1 +6 TS LST1 +5 TS LST1 +4 TS LST1 +3 TS LST1 +2 TS LST1 +1 TS LST1 CS ENDTASK TS LST2 TS LST2 +2 TS LST2 +4 # Page 191 TS LST2 +6 TS LST2 +8D TS LST2 +10D TS LST2 +12D TS LST2 +14D TS LST2 +16D CS ENDTASK +1 TS LST2 +1 TS LST2 +3 TS LST2 +5 TS LST2 +7 TS LST2 +9D TS LST2 +11D TS LST2 +13D TS LST2 +15D TS LST2 +17D CS ZERO # MAKE ALL EXECUTIVE REGISTER SETS TS PRIORITY # AVAILABLE. TS PRIORITY +12D TS PRIORITY +24D TS PRIORITY +36D TS PRIORITY +48D TS PRIORITY +60D TS PRIORITY +72D TS DSRUPTSW TS NEWJOB # SHOWS NO ACTIVE JOBS. CAF VAC1ADRC # MAKE ALL VAC AREAS AVAILABLE. TS VAC1USE AD LTHVACA TS VAC2USE AD LTHVACA TS VAC3USE AD LTHVACA TS VAC4USE AD LTHVACA TS VAC5USE CAF TEN # BLANK DSKY REGISTERS (PROGRAM,VERB,NOUN, # R1,R2,R3) DSPOFF TS MPAC CS BIT12 INDEX MPAC TS DSPTAB CCS MPAC TCF DSPOFF TS DELAYLOC # Page 192 TS DELAYLOC +1 TS DELAYLOC +2 TS DELAYLOC +3 TS R1SAVE TS INLINK TS DSPCNT TS CADRSTOR TS REQRET TS CLPASS TS DSPLOCK TS MONSAVE # KILL MONITOR TS MONSAVE1 TS VERBREG TS NOUNREG TS DSPLIST TS MARKSTAT TS IMUCADR TS OPTCADR TS RADCADR TS ATTCADR TS LGYRO TS FLAGWRD4 # KILL INTERFACE DISPLAYS CAF NOUTCON TS NOUT CAF BIT14 MASK EXTVBACT TS EXTVBACT CAF LESCHK # SELF CHECK GO-TO REGISTER. TS SELFRET CS VD1 TS DSPCOUNT TC Q T5IDLOC CA L # T5RUPT COMES HERE EVERY 163.84 SECS TCF NOQRSM +1 # WHEN NOBODY IS USING IT. EBANK= OGANOW T5IDLER 2CADR T5IDLOC EBANK= OGANOW 2CADR REDORCS EBANK= OGANOW 2CADR REDOTVC EBANK= OGANOW 2CADR REDOSAT # Page 193 IFAILINH OCT 435 LDNPHAS1 GENADR DNPHASE1 LESCHK GENADR SELFCHK VAC1ADRC ADRES VAC1USE LTHVACA DEC 44 INTMASK OCT 20100 OCT77603 OCT 77603 OCT74777 OCT 74777 STARTEB ECADR LST1 NUMGRPS EQUALS FIVE -ELR OCT -22 # -ERROR LIGHT RESET KEY CODE. IM30INIF OCT 37411 # INHIBITS IMU FAIL FOR 5 SEC AND PIP ISSW IM30INIR OCT 37000 IM33INIT = PRIO16 # NO PIP OR TM FAIL SIGNALS. 9,6,4 OCT 450 OPTINITF OCT 130 OPTINITR OCT 430 SWINIT OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 00200 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 # Page 194 # PROGRAM NAME GOTOP00H ASSEMBLY SUNDISK # LOG SECTION FRESH START AND RESTART # # FUNCTIONAL DESCRIPTION # # 1. DISPLAY MAJOR MODE NUMBER 00 IN DSKY REGISTER R1 AND R3. FLASH V50N07 ON DSKY. (M M CHANGE REQUEST) # 2. PERMIT A CURRENT PENDING REQUEST (FLASH ON DSKY) TO BE REPLACED (WITHOUT AN ABORT) BY THE MAJOR MODE # CHANGE REQUEST. # # INPUT/OUTPUT INFORMATION # # A. CALLING SEQUENCE TC GOTOP00H # B. ERASABLE INITIALIZATION NONE # C. OUTPUT FLASH V 50 NOUN 07 ON DSKY # D. DEBRIS L # # PROGRAM ANALYSIS # # A. SUBROUTINES CALLED GOPERF3, LINUS # B. NORMAL EXIT TCF ENDOFJOB # C. ALARM AND ABORT EXITS NONE BLOCK 02 SETLOC FFTAG10 BANK COUNT 02/P00 GOTOP00H TC PHASCHNG # RESTART GOTOP00H OCT 14 TC POSTJUMP CADR GOP00FIX BANK 10 SETLOC VERB37 BANK COUNT 04/P00 GOP00FIX TC INITSUB TC CLEARMRK +2 CAF V37N99 TC BANKCALL CADR GOFLASH TCF -3 # Page 195 TCF -4 TCF -5 V37N99 VN 3799 # Page 196 # PROGRAM NAME V37 ASSEMBLY SUNDISK # # LOG SECTION FRESH START AND RESTART # # FUNCTIONAL DESCRIPTION # # 1. CHECK IF NEW PROGRAM ALLOWED. IF BIT 1 OF FLAGWRD2 (NODOFLAG) IS SET, AN ALARM 1520 IS CALLED. # 2. CHECK FOR VALIDITY OF PROGRAM SELECTED. IF AN INVALID PROGRAM IS SELECTED, THE OPERATOR ERROR LIGHT IS # SET AND CURRENT ACTIVITY, IF ANY, CONTINUE. # 3. SERVICER IS TERMINATED IF IT HAS BEEN RUNNING. # 4. INSTALL IS EXECUTED TO AVOID INTERRUPTING INTEGRATION. # 5. THE ENGINE IS TURNED OFF AND THE DAP IS INITIALIZED FOR COAST. # 6. TRACK, UPDATE, AND TARG1 FLAGS ARE SET TO ZERO. # 7. DISPLAY SYSTEM IS RELEASED. # 8. THE FOLLOWING ARE PERFORMED FOR EACH OF THE THREE CASES. # A. PROGRAM SELECTED IS P00. # 1. RENDEZVOUS FLAG IS RESET. (KILL P20) # 2. STATINT1 IS SCHEDULED BY SETTING RESTART GROUP 2. # 3. MAJOR MODE 00 IS STORED IN THE MODE REGISTER (MODREG). # 4. SUPERBANK 3 IS SELECTED. # 5. NODOFLAG IS RESET. # 6. ALL RESTART GROUPS EXCEPT GROUP2 ARE CLEARED. CONTROL IS TRANSFERRED TO RESTART PROGRAM (GOPROG2) # WHICH CAUSES ALL CURRENT ACTIVITY TO BE DISCONTINUED AND A 9 MINUTE INTEGRATION CYCLE TO BE # INITIATED. # B. PROGRAM SELECTES IS P20. # 1. IF THE CURRENT MAJOR MODE IS THE SAME AS THE SELECTED NEWPROGRAM. THE PROGRAM IS RE-INITIALIZED # VIA V37XEQ, ALL RESTART GROUPS, EXCEPT GROUP 4 ARE CLEARED. # 2. IF THE CURRENT MAJOR MODE IS NOT EQUAL TO THE NEW REQUEST, A CHECK IS MADE TO SEE IF THE REQUEST- # ED MAJOR MODE HAS BEEN RUNNING THE BACKGROUND, # AND IF IT HAS, NO NEW PROGRAM IS SCHEDULED, THE EXISTING # P20 IS RESTARTED TO CONTINUE, AND ITS MAJORE MODE IS SET. # 3. CONTROL IS TRANSFERRED TO GOPROG2. # C. PROGRAM SELECTED IS NEITHER P00 NOR P20 # 1. V37XEQ IS SCHEDULED (AS A JOB) BY SETTING RESTART GROUP 4 # 2. ALL CURRENT ACTIVITY EXCEPT RENDEZVOUS AND TRACKING IS DISCONTINUED BY CLEARING ALL RESTART # GROUPS. GROUP 2 IS CLEARED. IF THE RENDEZVOUS FLAG IS ON P20 IS RESTARTED IN GOPROG2 VIA REDOP20, # TO CONTINUE. # # INPUT/OUTPUT INFORMATION # # A. CALLING SEQUENCE # CONTROL IS DIRECTED TO V37 BY THE VERBFAN ROUTINE. # VERBFAN GOES TO C(VERBTAB+C(VERBREG)). VERB 37 = MMCHANG. # MMCHANG EXECUTES A TC POSTJUMP, CADR V37. # # B. ERASABLE INITIALIZATION NONE # # C. OUTPUT # MAJOR MODE CHANGE # Page 197 # # D. DEBRIS # MMNUMBER, MPAC +1, MINDEX, BASETEMP +C(MINDEX), FLAGWRD0, FLAGWRD1, FLAGWRD2, MODREG, GOLOC -1, # GOLOC, GOLOC +1, GOLOC +2, BASETEMP, -PHASE2, PHASE2, -PHASE4 # # PROGRAM ANALYSIS # # A. SUBROUTINES CALLED # ALARM, RELDSP, PINBRNCH, INTSTALL, ENGINOF2, ALLCOAST, V37KLEAN, GOPROG2, FALTON, FINDVAC, SUPERSW, # DSPMM # # B. NORMAL EXIT TC ENDOFJOB # # C. ALARMS 1520 (MAJOR MODE CHANGE NOT PERMITTED) BLOCK 02 SETLOC FFTAG10 BANK COUNT 02/V37 OCT24 MM 20 OCT31 MM 25 BANK 27 SETLOC VERB37 BANK COUNT 04/V37 V37 TS MMNUMBER # SAVE MAJOR MODE CAF PRIO30 # RESTART AT PINBALL PRIORITY TS RESTREG CA IMODES30 # IS IMU BEING INITIALIZED MASK BIT6 CCS A TCF CANTR00 CAF BIT13 # IS ENGINE ON EXTEND RAND DSALMOUT CCS A TCF R00TOP00 # YES, SET UP FOR P00 CS FLAGWRD6 # NO, IS TVC DAP ON MASK OCT60000 EXTEND BZMF ISITP00 # NO, CONTINUE WITH R00 R00TOP00 INHINT CAF EBANK6 # Page 198 TS EBANK EBANK= DAPDATR1 CAE CSMMASS TS MASSTMP TC IBNKCALL CADR SPSOFF TC IBNKCALL CADR MASSPROP CAF 3.1SEC TC IBNKCALL CADR RCSDAPON +1 TC IBNKCALL CADR TVCZAP # DISABLE TVC CAF ZERO TS MMNUMBER RELINT CAF FIVE TC BANKCALL CADR DELAYJOB CAF ZERO EXTEND WRITE 5 EXTEND WRITE 6 ISITP00 CA MMNUMBER EXTEND BZF ISSERVON # YES, CHECK SERVICER STATUS CS FLAGWRD2 # NO, IS NODO V37 FLAG SET MASK NODOBIT CCS A TCF CHECKTAB # NO CANTR00 TC ALARM OCT 1520 V37BAD TC RELDSP # RELEASES DISPLAY FROM ASTRONAUT TC POSTJUMP # BRING BACK LAST NORMAL DISPLAY IF THERE CADR PINBRNCH # WAS ONE. OY CHECKTAB CA NOV37MM # THE NO. OF MM AGAINMM TS MPAC +1 NDX MPAC +1 CA PREMM1 # OBTAIN WHICH MM THIS IS FOR MASK LOW7 COM AD MMNUMBER CCS A CCS MPAC +1 # IF GR, SEE IF ANY MORE IN LIST # Page 199 TCF AGAINMM # YES, GET NEXT ONE TCF V37NONO # LAST TIME OR PASSED MM CA MPAC +1 TS MINDEX # SAVE INDEX FOR LATER ISSERVON CS FLAGWRD7 # V37 FLAG SET -- I.E., IS SERVICER GOING MASK V37FLBIT CCS A TCF CANV37 # NO INHINT CS AVEGBIT # YES TURN OFF AVERAGE G FLAG AND WAIT MASK FLAGWRD1 # FOR SERVICER TO RETURN TO CANV37 TS FLAGWRD1 TCF ENDOFJOB CANV37 CAF R00AD TS TEMPFLSH TC PHASCHNG OCT 14 ROC TC INTPRET CALL # WAIT FOR INTEGRATION TO FINISH INTSTALL DUMMYAD EXIT CS OCT1400 # CLEAR CAUTION RESET EXTEND # AND TEST CONNECTOR OUTBIT WAND 11 CAF OCT44571 # CLEAR ENABLE OPTICS ERROR COUNTER, STAR EXTEND # TRAKERS ON BIT, TVC ENABLE, ZERO OPTICS, WAND 12 # DISENGAGE OPTICS DAP, SIVB IN J SEQUENCE # START, AND SIVB CUTOFF BIT. CS OCT600 # CLEAR UNUSED BITS EXTEND WAND 13 TC INITSUB TC CLEARMRK TC DOWNFLAG ADRES STIKFLAG # Page 200 TC BANKCALL CADR UPACTOFF # TURN OFF UPLINK ACTIVE LIGHT TC DOWNFLAG ADRES VHFRFLAG TC DOWNFLAG ADRES R21MARK CCS MMNUMBER # IS THIS A P00H REQUEST TCF NOUVEAU # NO, PICK UP NEW PROGRAM COUNT 04/P00 P00H TC RELDSP # RELEASE DISPLAY SYSTEM CAF PRIO5 # SET VARIABLE RESTART REGISTER FOR P00. TS PHSPRDT2 INHINT CS NODOBIT # TURN OFF NODOFLAG. MASK FLAGWRD2 TS FLAGWRD2 CA FIVE # SET 2.5 RESTART FOR STATEINT1 TS L COM DXCH -PHASE2 CS BIT7-8 # RESET IMUSE + KILL P20 BY TURNING OFF MASK FLAGWRD0 TS FLAGWRD0 # RENDFLG CAF DNLADP00 COUNT 04/V37 SEUDOP00 TS DNLSTCOD # SET UP APPROPRIATE DOWNLIST CODE # (OLD ONE WILL BE FINISHED FIRST) CS OCT01120 # TURN OFF TRACK, TARG1, UPDATE FLAGS TS EBANKTEM MASK FLAGWRD1 TS FLAGWRD1 GROUPKIL TC IBNKCALL # KILL GROUPS 3,5,6 CADR V37KLEAN CCS MMNUMBER # IS IT P00H TCF RENDV00 # NO # Page 201 TC IBNKCALL CADR P00KLEAN # REDUNDANT EXCEPT FOR GROUP 4. GOMOD CA MMNUMBER TS MODREG GOGOPROG TC POSTJUMP CADR GOPROG2 RENDV00 CS MMNUMBER # IS NEW PROG = 20 AD OCT24 # 20 EXTEND BZF RENDN00 # YES TCF P00FIZZ RENDN00 CS MMNUMBER AD MODREG EXTEND BZF KILL20 CA FLAGWRD0 # IS RENDEZVOUS FLAG SET MASK RNDVZBIT CCS A TCF STATQUO P00FIZZ CAF RNDVZBIT MASK FLAGWRD0 CCS A TCF REV37 KILL20 EXTEND # NO, KILL GROUPS 1 + 2 DCA NEG0 DXCH -PHASE1 EXTEND DCA NEG0 DXCH -PHASE2 REV37 CAF V37QCAD # SET RESTART POINT TS TEMPFLSH TCF GOGOPROG STATQUO CS FLAGWRD1 # SET TRACKFLAG AND UPDATE FLAG MASK OCT120 ADS FLAGWRD1 EXTEND # KILL GROUP 4 DCA NEG0 DXCH -PHASE4 # Page 202 TCF GOMOD NOUVEAU CAF RNDVZBIT MASK FLAGWRD0 CCS A TCF +3 TC DOWNFLAG # NO, RESET IMUINUSE FLAG ADRES IMUSE # BIT 8 FLAG 0 +3 INDEX MINDEX CAF DNLADMM1 # OBTAIN NEW DOWNLIST ADDRESS INHINT TCF SEUDOP00 V37NONO TC FALTON # COME HERE IF MM REQUESTED DOESN'T EXIST TCF V37BAD OCT00010 EQUALS BIT4 V37XEQ INHINT INDEX MINDEX CAF PREMM1 TS MMTEMP # OBTAIN PRIORITY BITS 15-11 TS CYR # SHIFT RIGHT TO BITS 14-10 CA CYR MASK PRIO37 TS PHSPRDT4 # PRESET GROUP 4 RESTART PRIORITY TS NEWPRIO # STORE PRIO FOR SPVAC CA MMTEMP # OBTAIN EBANK -- BITS 8, 9, 10 OF MMTEMP. EXTEND MP BIT8 MASK LOW3 TS L INDEX MINDEX CAF FCADRMM1 TS BASETEMP MASK HI5 ADS L CA BASETEMP # OBTAIN GENADR PORTION OF 2CADR. MASK LOW10 AD BIT11 TC SPVAC V37XEQC CA MMTEMP # UPON RETURN FROM FINDVAC PLACE THE MASK LOW7 # NEW MM IN MODREG (THE LOW 7 BITS OF TC NEWMODEA # PHSBRDT1) # Page 203 # FOR SUNDISK ONLY TC RELDSP # RELEASE DISPLAY TC ENDOFJOB # AND EXIT INITSUB EXTEND QXCH MPAC +1 CAF EBANK6 # SET E6 FOR DEADBAND CODING TS EBANK # WILL BE RESET IN STARTSB2 INHINT TC STOPRATE CA FLAGWRD9 # RESTORE DEADBAND MASK MAXDBBIT CCS A TCF SETMAXER # MAX DE SELECTED TC BANKCALL # MIN DE SELECTED CADR SETMINDB TCF RAKE SETMAXER TC BANKCALL CADR SETMAXDB RAKE CAF ELEVEN # THIS PART CLEARS FLAGWORD BITS. +1 TS MPAC # LOOP COMES HERE INDEX MPAC CS FLAGTABL INDEX MPAC MASK FLAGWRD0 INDEX MPAC # PUT REVISED FLAGWORD BACK. TS FLAGWRD0 CCS MPAC TCF RAKE +1 # GET THE NEXT FLAGWORD RELINT TC UPFLAG # NOW SET IMPULSW ADRES IMPULSW CA NEGONE TS OPTIND TC MPAC +1 # RETURN FROM INITSUB FLAGTABL OCT 0 OCT 00040 # IDLEFAIL OCT 06000 # P21FLAG, STEERSW OCT 0 OCT 0 OCT 04140 # V59FLAG, ENGONFLG, 3AXISFLG OCT 10000 # STRULLSW OCT 16000 OCT 0 # Page 204 OCT 42000 # SWTOVER, V94FLAG OCT 0 OCT 0 SETLOC VAC5LOC BANK VAC5STOR CA ZERO # INITIALIZE INDEX REGISTERS TS ITEMP1 TS ITEMP2 V5LOOP1 EXTEND # LOOP TO STORE LOCS, BANKSETS, AND PRIOS. INDEX ITEMP1 DCA LOC INDEX ITEMP2 DXCH VAC5 INDEX ITEMP1 CA PRIORITY INDEX ITEMP2 TS VAC5 +2 CS ITEMP2 # HAVE WE STORED THEM ALL? AD EIGHTEEN EXTEND BZF V5OUT1 # YES, GET PHASE INFORMATION. CA TWELVE # NO, INCREMENT INDEXES AND LOOP. ADS ITEMP1 CA THREE ADS ITEMP2 TCF V5LOOP1 EBANK= PHSNAME1 V5OUT1 CA EBANK3 # PHSNAME REGISTERS ARE IN EBANK3. TS EBANK CA ELEVEN # GET PHASE 2CADRS. TC GENTRAN ADRES PHSNAME1 ADRES VAC5 +21D CA ZERO # NOW INITIALIZE INDEXES AGAIN. TS ITEMP1 TS ITEMP2 V5LOOP2 INDEX ITEMP1 # LOOP TO GET PHASE TABLES. CA PHASE1 INDEX ITEMP2 TS VAC5 +33D # Page 205 CS ITEMP2 # DO WE HAVE THEM ALL? AD FIVE EXTEND BZF V5OUT2 # YES, GO FINISH UP. CA TWO # NO, INCREMENT INDEXES AND LOOP. ADS ITEMP1 INCR ITEMP2 TCF V5LOOP2 V5OUT2 CA MPAC +3 TS VAC5 +39D EXTEND DCA NEWLOC DXCH VAC5 +40D CA NEWJOB TS VAC5 +22D CA NEWPRIO TS VAC5 +26D TC SWRETURN EIGHTEEN OCT 22 SETLOC VERB37 BANK NEG7 EQUALS OCT77770 OCT44571 OCT 44571 # CONSTANTS TO CLEAR CHANNEL BITS IN V37 OCT600 OCT 600 EBANK= PACTOFF P00DAPAD 2CADR T5IDLOC MMTEMP EQUALS PHSPRDT3 BASETEMP EQUALS TBASE4 BIT7-8 OCT 300 OCT01120 OCT 01120 V37QCAD CADR V37XEQ +3 R00AD CADR DUMMYAD EBANK= DAPDATR1 RCSADDR4 2CADR RCSATT 3.1SEC OCT 37312 # 2.5 + 0.6 SEC # FOR VERB 37 TWO TABLES ARE MAINTAINED. EACH TABLE HAS AN ENTRY FOR EACH # MAJOR MODE THAT CAN BE STARTED FROM THE KEYBOARD. THE ENTRIES ARE PUT # INTO THE TABLE WITH THE ENTRY FOR THE HIGHEST MAJOR MODE COMING FIRST, # Page 206 # TO THE LOWEST MAJOR MODE WHICH IS THE LAST ENTRY IN EACH TABLE. # # THE FCADRMM TABLE CONTAINS THE FCADR OF THE STARTING JOB OF # THE MAJOR MODE. FOR EXAMPLE, # # FCADRMM1 FCADR P79 # START OF P 79 # FCADR PROG18 # START OF P 18 # FCADR P01 # START OF P 01 FCADRMM1 EQUALS FCADR P79 FCADR P78 FCADR P77 FCADR P76 FCADR P75 FCADR P74 FCADR P73 FCADR P72 FCADR P62 FCADR P61 FCADR P54 FCADR P53 FCADR PROG52 FCADR P51 FCADR P47CSM FCADR P41CSM FCADR P40CSM FCADR P39 FCADR P38 FCADR P37 FCADR P35 FCADR P34 FCADR P33 FCADR P32 FCADR P31 FCADR P30 FCADR P23 FCADR PROG22 FCADR PROG21 FCADR PROG20 FCADR P17 FCADR P06 FCADR GTSCPSS1 # GYROCOMPASS STANDARD LEAD IN. # THE PREMM TABLE CONTAINS THE E-BANK, MAJOR MODE, AND PRIORITY # INFORMATION, IT IS IN THE FOLLOWING FORM, # # PPP PPE EEM MMM MMM # # Page 207 # WHERE THE 7 M BITS CONTAIN THE MAJOR MODE NUMBER # 3 E BITS CONTAIN THE E-BANK NUMBER # 5 P BITS CONTAIN THE PRIORITY AT WHICH THE JOB IS # TO BE STARTED # # FOR EXAMPLE, # # PREMM1 OCT 67213 # PRIORITY 33 # # E-BANK 5 # # MAJOR MODE 11 # OCT 25437 # PRIORITY 12 # # E-BANK 6 # # MAJOR MODE 31 PREMM1 EQUALS OCT 27117 # MM 79 EBANK 4 PRIO 13 OCT 27116 # MM 78 EBANK 4 PRIO 13 (original says PR23 13) OCT 27115 # MM 77 EBANK 4 PRIO 13 OCT 27714 # MM 76 EBANK 4 PRIO 13 OCT 27113 # MM 75 EBANK 4 PRIO 13 OCT 27112 # MM 74 EBANK 4 PRIO 13 OCT 27111 # MM 73 EBANK 4 PRIO 13 OCT 27110 # MM 72 EBANK 4 PRIO 13 OCT 27476 # MM 62 EBANK 6 PRIO 13 OCT 27475 # MM 61 EBANK 6 PRIO 13 OCT 27266 # MM 54 EBANK 5 PRIO 13 OCT 27265 # MM 53 EBANK 5 PRIO 13 OCT 27264 # MM 52 EBANK 5 PRIO 13 OCT 27263 # MM 51 EBANK 5 PRIO 13 OCT 27657 # MM 47 EBANK 7 PRIO 13 OCT 27451 # MM 41 EBANK 6 PRIO 13 OCT 27450 # MM 40 EBANK 6 PRIO 13 OCT 27047 # MM 39 EBANK 4 PRIO 13 OCT 27046 # MM 38 EBANK 4 PRIO 13 OCT 27645 # MM 37 EBANK 7 PRIO 13 OCT 27043 # MM 35 EBANK 4 PRIO 13 OCT 27042 # MM 34 EBANK 4 PRIO 13 OCT 27041 # MM 33 EBANK 4 PRIO 13 OCT 27040 # MM 32 EBANK 4 PRIO 13 OCT 27637 # MM 31 EBANK 7 PRIO 13 OCT 27636 # MM 30 EBANK 7 PRIO 13 OCT 27227 # MM 23 EBANK 5 PRIO 13 OCT 27226 # MM 22 EBANK 5 PRIO 13 OCT 27025 # MM 21 EBANK 4 PRIO 13 OCT 27424 # MM 20 EBANK 6 PRIO 13 OCT 27021 # MM 17 EBANK 6 PRIO 13 OCT 27006 # MM 06 EBANK 4 PRIO 13 OCT 41201 # MM 01 EBANK 5 PRIO 20 # Page 208 # THE FOLLOWING LIST IS FOR THE PURPOSE OF VERIFYING THAT THE EBA EBANK= TIG # EBANK SETTING REQUIRED BY MM 76 EBANK= KT # EBANK SETTING REQUIRED BY MM 75 EBANK= SUBEXIT # EBANK SETTING REQUIRED BY MM 74 EBANK= SUBEXIT # EBANK SETTING REQUIRED BY MM 73 EBANK= SUBEXIT # EBANK SETTING REQUIRED BY MM 72 EBANK= AOG # EBANK SETTING REQUIRED BY MM 62 EBANK= AOG # EBANK SETTING REQUIRED BY MM 61 EBANK= BESTI # EBANK SETTING REQUIRED BY MM 54 EBANK= STARIND # EBANK SETTING REQUIRED BY MM 53 EBANK= BESTI # EBANK SETTING REQUIRED BY MM 52 EBANK= STARIND # EBANK SETTING REQUIRED BY MM 51 EBANK= P40TMP # EBANK SETTING REQUIRED BY MM 47 EBANK= DAPDATR1 # EBANK SETTING REQUIRED BY MM 41 EBANK= KMPAC # EBANK SETTING REQUIRED BY MM 40 EBANK= KT # EBANK SETTING REQUIRED BY MM 35 EBANK= SUBEXIT # EBANK SETTING REQUIRED BY MM 34 EBANK= SUBEXIT # EBANK SETTING REQUIRED BY MM 33 EBANK= SUBEXIT # EBANK SETTING REQUIRED BY MM 32 EBANK= +MGA # EBANK SETTING REQUIRED BY MM 30 EBANK= LANDMARK # EBANK SETTING REQUIRED BY MM 23 EBANK= MARKINDX # EBANK SETTING REQUIRED BY MM 22 EBANK= WHOCARES # EBANK SETTING REQUIRED BY MM 21 EBANK= ESTROKER # EBANK SETTING REQUIRED BY MM 20 EBANK= TIME2SAV # EBANK SETTING REQUIRED BY MM 06 EBANK= QPLACE # EBANK SETTING REQUIRED BY MM 01 # NOTE: THE FOLLOWING CONSTANT IS THE NUMBER OF ENTRIES IN EACH OF # ----- THE ABOVE LISTS-1 (I.E., THE NUMBER OF MAJOR MODES (EXCEPT P00) # THAT CAN BE CALLED FROM THE KEYBOARD MINUS ONE) EPREMM1 EQUALS # END OF PREMM1 TABLE SETLOC PREMM1 # THIS CODING WILL AUTOMATICALLY CHANGE NO.MMS =MINUS EPREMM1 # THE "NOV37MM" CONSTANT AS ENTRIES ARE SETLOC VERB37 # INSERTED(IN) OR DELETED(FROM) THE BANK # "PREMM1" TABLE. NOV37MM ADRES NO.MMS -1 # ITEMS IN "PREMM1" TABLE - 1. *DON'T MOVE* DNLADMM1 EQUALS ADRES RENDEZVU # P79 ADRES RENDEZVU # P78 ADRES RENDEZVU # P77 ADRES RENDEZVU # P76 ADRES RENDEZVU # P75 ADRES RENDEZVU # P74 ADRES RENDEZVU # P73 # Page 209 ADRES RENDEZVU # P72 ADRES ENTRYUPD # P62 ADRES POWERED # P61 ADRES COSTALIN ADRES COSTALIN ADRES COSTALIN # P52 ADRES COSTALIN # P51 ADRES POWERED # P47 ADRES POWERED # P41 ADRES POWERED # P40 ADRES RENDEZVU # P39 ADRES RENDEZVU # P38 ADRES RENDEZVU # P37 ADRES RENDEZVU # P35 ADRES RENDEZVU # P34 ADRES RENDEZVU # P33 ADRES RENDEZVU # P32 ADRES RENDEZVU ADRES RENDEZVU # P30 ADRES RENDEZVU # P23 ADRES P22DNLST # P22 ADRES RENDEZVU # P21 ADRES RENDEZVU # P20 ADRES RENDEZVU # P17 ADRES COSTALIN # P06 ADRES COSTALIN # P01 DNLADP00 = ZERO COSTALIN = 0 ENTRYUPD = 1 RENDEZVU = 2 POWERED = 3 P22DNLST = 4 # ORBITAL INTEGRATION CONSTANTS # THESE CONSTANTS ARE USED IN COMPUTING THE SETTING OF MIDFLAG. RMM 2DEC 2538.09 E3 B-27 # 800 KM ABOVE LUNAR SURFACE RME 2DEC 7178165 B-29 # 800 KM ABOVE EQ. RADIUS BANK 13 SETLOC INTINIT BANK COUNT* $$/INTIN EBANK= RRECTCSM STATEUP SET BOF # EXTRAPOLATE CM STATE VECTOR VINTFLAG # Page 210 ORBWFLAG # ALSO 6X6 W-MATRIX IF VALID +3 # FOR ORBITAL NAVIGATION SET DIM0FLAG CLEAR CALL PRECIFLG INTEGRV BON DLOAD SURFFLAG STATEND TETCSM STCALL TDEC1 INTSTALL CLEAR CALL # EXTRAPOLATE LM STATE VECTOR VINTFLAG SETIFLGS # AND 6X6 W-MATRIX IF VALID BOF SET RENDWFLG # FOR RENDEZVOUS NAVIGATION +2 DIM0FLAG SET CALL PRECIFLG INTEGRV STATEND CLRGO NODOFLAG ENDINT # THIS VINT IS CALLED BY MIDTOAV1 AND 2 THISVINT SET RVQ VINTFLAG