Source Code

These source-code files were obtained by digitally photographing an Artemis 72 program listing from a private collection and then modifying pre-existing Comanche 55 (Apollo 11) source files to incorporate changes. Note that the page images presented online are of reduced quality, and that additional images may be available. Report any conversion errors or legibility problems in page images to info@sandroid.org. Notations on the program listing read, in part:

	GAP: ASSEMBLE REVISION 072 OF AGC PROGRAM ARTEMIS 
	BY NASA 2021114-011 11:40 FEB. 26, 1971

	THIS AGC PROGRAM SHALL ALSO BE REFERRED TO AS
				COLOSSUS 3
	THIS PROGRAM IS INTENDED FOR USE IN THE CM AS SPECIFIED
	IN REPORT R-577.  THIS PROGRAM WAS PREPARED UNDER OSR
	PROJECT 55-23890, SPONSORED BY THE MANNED SPACECRAFT
	CENTER OF THE NATIONAL AERONAUTICS AND SPACE
	ADMINISTRATION THROUGH CONTRACT NAS 9-4065 WITH THE
	CHARLES STARK DRAPER LABORATORY, MASSACHUSETTS INSTITUTE OF
	TECHNOLOGY, CAMBRIDGE, MASS.

042206,000002:                                                                                                 #  Copyright:     Public domain.
042207,000003:                                                                                                 #  Filename:      TVCRESTARTS.agc
042208,000004:                                                                                                 #  Purpose:       Part of the source code for Artemis (i.e., Colossus 3),
042209,000005:                                                                                                 #                 build 072.  This is for the Command Module's (CM)
042210,000006:                                                                                                 #                 Apollo Guidance Computer (AGC), we believe for
042211,000007:                                                                                                 #                 Apollo 15-17.
042212,000008:                                                                                                 #  Assembler:     yaYUL
042213,000009:                                                                                                 #  Contact:       Steve Case <case1780@adelphia.net>
042214,000010:                                                                                                 #  Website:       www.ibiblio.org/apollo/index.html
042215,000011:                                                                                                 #  Page scans:    www.ibiblio.org/apollo/ScansForConversion/Artemis072/
042216,000012:                                                                                                 #  Mod history:   2009-09-13 SMC  Adapted from Comanche055 files.
042217,000013:                                                                                                 #                 2009-09-14 JL   Fix typos. Fix page numbers. Remove change comments. Restore hard tabs.
042218,000014:                                                                                                 #                 2010-02-20 RSB  Un-##'d this header.
042219,000015: 

Page 959

042221,000017: 
042222,000018:                                                                                                 #  NAME....TVCRESTART PACKAGE,  CONSISTING OF REDOTVC, ENABL1, 2, CMDSOUT, PHSCHK2, ETC.
042223,000019:                                                                                                 #  LOG SECTION...TVCRESTARTS                      SUBROUTINE...DAPCSM
042224,000020:                                                                                                 #  MODIFIED BY SCHLUNDT                           21 OCTOBER 1968
042225,000021:                                                                                                 #  MODIFIED BY BEALS TO ELIMINATE CSMMASS UPDATE LOGIC (NOW DONE IN S40.8)
042226,000022:                                                                                                 #  FUNCTIONAL DESCRIPTION....
042227,000023: 
042228,000024:                                                                                                 #       *RESTART-PROOFS THE TVC DAPS, INCLUDING PITCHDAP, YAWDAP,
042229,000025:                                                                                                 #         TVCEXECUTIVE, ROLLDAP, TVCINIT4, TVCDAPON, AND CSM/.M V46 SWTCHOVR.
042230,000026:                                                                                                 #       *TVC RESTARTS DESERVE SPECIAL CONSIDERATION IN SEVERAL AREAS.
042231,000027:                                                                                                 #         RESTART DOWN-TIME IS IMPORTANT BECAUSE OF THE TRANSIENTS INTRODUCED
042232,000028:                                                                                                 #         BY THE THRUST VECTOR RETURN TO THE ACTUATOR MECHANICAL NULLS
042233,000029:                                                                                                 #         FOLLOWING TVC- AND OPTICS-ERROR-COUNTER-DISENABLES (CHANNEL 12).
042234,000030:                                                                                                 #         TVC    USES A MIXTURE OF WAITLIST, T5, T6, AND JOB CALLS. THERE IS
042235,000031:                                                                                                 #         FILTER MEMORY (UP TO 6TH ORDER) TO BE PROTECTED IF WILD TRANSIENTS
042236,000032:                                                                                                 #         ARE TO BE AVOIDED. COUNTERS ARE INVOLVED FOR ONE-SHOT
042237,000033:                                                                                                 #         CORRECTIONS AND GAIN UPDATES. THE GIMBAL TRIM ESTIMATORS AND THE
042238,000034:                                                                                                 #         BODY AXIS ATTITUDE ERROR INTEGRATORS INVOLVE DIGITAL SUMMATION.
042239,000035:                                                                                                 #         DIGITAL DIFFERENTIATORS ARE INVOLVED IN THE BODY AXIS RATE ESTIMA-
042240,000036:                                                                                                 #         TIONS AND IN THE OUTPUTTING OF ACTUATOR COMMANDS. THERE IS AN
042241,000037:                                                                                                 #         OFFSET-TRACKER-FILTER TO PROTECT. ETC., ETC.
042242,000038:                                                                                                 #       *THOSE QUANTITIES WHICH MUST BE PROTECTED ARE STORED IN TEMPORARY
042243,000039:                                                                                                 #         REGISTERS AS THEY ARE COMPUTED, FOR UPDATING THE REAL REGISTERS
042244,000040:                                                                                                 #         DURING COPYCYCLES.
042245,000041:                                                                                                 #       *THE SEVERAL COPYCYCLES ARE EACH PROTECTED BY PHASE POINTS AT THEIR
042246,000042:                                                                                                 #         BEGINNING AND AT THEIR TERMINATION. THE PHASE POINTS ARE SIMPLY
042247,000043:                                                                                                 #         ''INCR'' INSTRUCTIONS, EITHER ''INCR TVCEXPHS'' FOR COPYCYCLES
042248,000044:                                                                                                 #         IN THE TVCEXECUTIVE, OR ''INCR TVCPHASE'' FOR THE PITCH AND YAW
042249,000045:                                                                                                 #         COPYCYCLES. INDEXING ON EACH OF THESE POINTERS THEN PERMITS A
042250,000046:                                                                                                 #         RETURN TO THE APPROPRIATE RESTART POINTS.
042251,000047:                                                                                                 #       *IF A RESTART OCCURS DURING EITHER COPYCYCLE, THAT COPYCYCLE IS
042252,000048:                                                                                                 #         COMPLETED. THEN THE NORMAL TVCINIT4....DAPINIT....PITCHDAP STARTUP
042253,000049:                                                                                                 #         SEQUENCE IS CALLED UPON TO GET THINGS GOING AGAIN.
042254,000050:                                                                                                 #       *TVC-ENABLE AND OPTICS-ERROR-COUNTER ENABLE MUST BE SET ASAP
042255,000051:                                                                                                 #         (ALLOWING FOR PROCEDURAL DELAYS). THEN THE ENGINES ARE COMMANDED
042256,000052:                                                                                                 #         TO THE P,YACTOFF TRIM VALUES. THE DAPS ARE THEN READY TO GO ON THE
042257,000053:                                                                                                 #         AIR, WITH THE REGULAR STARTUP SEQUENCE, EITHER AT MRCLEAN FOR A
042258,000054:                                                                                                 #         COMPLETE INITIALIZATION OR AT TVCINIT4 FOR A PARTIAL INITIALIZATION
042259,000055:                                                                                                 #       *FOR RESTARTS PRIOR TO THE SETTING OF THE T5 BITS AT DOTVCON THE
042260,000056:                                                                                                 #         PRE40.6 SECTION OF S40.6 TAKES CARE OF RE-ESTABLISHING TRIMS.
042261,000057:                                                                                                 #       *IF A RESTART OCCURS DURING THE TVCEXEC....TVCEXFIN SEQUENCE THE
042262,000058:                                                                                                 #         COMPUTATIONS WILL BE COMPLETED, STARTING AT THE APPROPRIATE RESTART
042263,000059:                                                                                                 #         POINT, AFTER THE DAPS ARE READY TO GO ON THE AIR.
042264,000060:                                                                                                 #       *IF A RESTART OCCURS PRIOR TO TVCINIT4 (TVCPHASE = -1) E.G. DURING
042265,000061:                                                                                                 #         THE EARLY DAP INITIALIZATION PHASE, THE DAP STARTUP SEQUENCE IS
042266,000062:                                                                                                 #         ENTERED AT MRCLEAN FOR A FULL INITIALIZATION.
042267,000063:                                                                                                 #       *FOR RESTARTS DURING CSM/LM V46 SWITCH-OVER, TVCPHASE IS SET TO -2.
042268,000064:                                                                                                 #         AND THE RESTART LOGIC GOES BACK TO REDO SWITCH-OVER (AFTER THE
042269,000065:                                                                                                 #         NORMAL DAP RESTART SEQUENCE IS FOLLOWED.)
042270,000066:                                                                                                 #       *RESTARTS ARE NOT CRITICAL TO THE ROLL DAP PERFORMANCES HENCE THE
042271,000067:                                                                                                 #         THE ROLL DAP IS MERELY RESTARTED.

Page 960

042273,000069:                                                                                                 #       *REDOTVC IS REACHED FOLLOWING ANY RESTART WHICH FINDS THE T5 BITS
042274,000070:                                                                                                 #         (BITS 15,14 OF FLAGWRD6) SET FOR TVC. DOTVCON SETS TVCPHASE = -1
042275,000071:                                                                                                 #         AND TVC EXPHS = 0 JUST BEFORE SETTING THESE BITS, JUST BEFORE
042276,000072:                                                                                                 #         MAKING THE T5 CALL TO TVCDAPON. ON A NORMAL SHUTDOWN DOTVCRCS
042277,000073:                                                                                                 #         CALLS RCSDAPON, WHICH RESETS THE T5 BIT FOR RCS
042278,000074:                                                                                                 #  CALLING SEQUENCE....T5, IN PARTICULAR BY ELRSKIP OF FRESH START/RESTART
042279,000075: 
042280,000076:                                                                                                 #  NORMAL EXIT MODES....RESUME, NOQRSM, POSTJUMP (TO TVCINIT4 OR MRCLEAN)
042281,000077: 
042282,000078:                                                                                                 #  ALARM OR ABORT EXIT MODES....NONE
042283,000079: 
042284,000080:                                                                                                 #  SUBROUTINES CALLED....
042285,000081: 
042286,000082:                                                                                                 #       *PCOPY+1, YCOPY+1 (PITCH AND YAW COPYCYCLES)
042287,000083:                                                                                                 #       *ENABLE1,2, CMDSOUT (RE-ESTABLISH ACTUATOR TRIMS)
042288,000084:                                                                                                 #       *MRCLEAN OR TVCINIT4 (TVCDAP INITIALIZATIONS)
042289,000085:                                                                                                 #       *SWITCHOVR +5  (CSM/LM V46 SWITCH-OVER)
042290,000086:                                                                                                 #       *EXRSTRT AND TVCEXECUTIVE PHASE POINTS 1 THRU 6
042291,000087:                                                                                                 #       *WAITLIST, IBNKCALL, POSTJUMP, ISWCALL
042292,000088: 
042293,000089:                                                                                                 #  OTHER INTERFACES....DOTVCON AND RCSDAPON (T5 BITS), ELRSKIP (CALLS IT)
042294,000090:                                                                                                 #  ERASABLE ININTIALIZATION REQUIRED....
042295,000091: 
042296,000092:                                                                                                 #       *T5 BITS (1,0), TVCPHASE (-2,-1,0,1,2,3), TVCEXPHS (1 THRU 6)
042297,000093:                                                                                                 #       *TVC DAP VARIABLES
042298,000094:                                                                                                 #       *OPERATIONS PERFORMED BY REDOTVC ARE BASED ON THE ASSUMPTION THAT
042299,000095:                                                                                                 #         THE TVC DAPS ARE RUNNING NORMALLY
042300,000096: 
042301,000097:                                                                                                 #  OUTPUT....
042302,000098: 
042303,000099:                                                                                                 #       *PITCH AND YAW TVC DAP COPYCYCLES COMPLETED IF INTERRUPTED
042304,000100:                                                                                                 #       *TVCEXECUTIVE COMPLETED IF INTERRUPTED
042305,000101:                                                                                                 #       *CSM/LM V46 SWITCH-OVER REPEATED IF INTERRUPTED
042306,000102:                                                                                                 #       *ACTUATOR TRIMS RE-ESTABLISHED (ACTUATORS BACK ON THE AIR)
042307,000103:                                                                                                 #       *TVC DAP INITIALIZATION AS REQUIRED
042308,000104:                                                                                                 #       *ALL TVC DAP OPERATIONS ON THE AIR
042309,000105: 
042310,000106:                                                                                                 #  DEBRIS....TVC TEMPORARIES IN EBANK6
042311,000107: 

Page 961

042313,000109: 16,2000                                          SETLOC   DAPROLL                               
042314,000110: 16,2000                                          BANK                                           
042315,000111: 16,3222  E6,1635                                 EBANK=   TVCPHASE                              
042316,000112: 16,3222                                          COUNT*   $$/RSRT                               
042317,000113: 
042318,000114: 16,3222           22016        REDOTVC           LXCH     BANKRUPT                              #  TVC RESTART PACKAGE
042319,000115: 16,3223           00006                          EXTEND                                         
042320,000116: 16,3224           22012                          QXCH     QRUPT                                 #  (  ''TCR''  IN  ''FINCOPY''  )
042321,000117: 
042322,000118: 16,3225           11644        EXECPHS           CCS      TVCEXPHS                              #  CHECK TVCEXECUTIVE PHASE
042323,000119: 16,3226           13230                          TCF      +2                                    #         MUST RESTART TVCEXECUTIVE
042324,000120: 16,3227           13233                          TCF      TVCDAPHS                              #         NO NEED TO RESTART TVCEXECUTIVE
042325,000121: 
042326,000122: 16,3230           34322                          CAF      NINE                                  #  9CS DELAY TO FORCE EXRSTRT TO OCCUR
042327,000123: 16,3231           05223                          TC       TWIDDLE                               #         BEFORE PITCHDAP, AFTER CMDSOUT
042328,000124: 16,3232           03325                          ADRES    EXRSTRT                               
042329,000125: 16,3233           47663        TVCDAPHS          CS       OCT37776                              #  CHECK BITS 15 AND 1 OF TVCPHASE TO SEE
042330,000126: 16,3234           71635                          MASK     TVCPHASE                              #         DAP RESTART LOCATION (-1,1,2,3)
042331,000127: 16,3235           10000                          CCS      A                                     
042332,000128: 16,3236           13315                          TCF      FINCOPY                               #         FINISH THE COPYCYCLE FIRST
042333,000129: 16,3237           13244                          TCF      ENABL1                                #         JUST PREPARE THE OUTCOUNTERS AND GO
042334,000130: 
042335,000131: 16,3240           41635                          CS       TVCPHASE                              #  TEST FOR TVCPHASE = -2
042336,000132: 16,3241           74767                          MASK     BIT2                                  #         (THIS INDICATES RESTART OCCURRED
042337,000133: 16,3242           00006                          EXTEND                                         #         DURING CSM/LM V46 SWITCH-OVER)
042338,000134: 16,3243           13321                          BZF      TRIM/CMD                              #  NO, TVCPHASE = -1, RSTRT WAS IN TVCINIT
042339,000135: 
042340,000136: 16,3244           34761        ENABL1            CAF      BIT8                                  #  TVC ENABLE, FOLLOWED BY 40 MS (MIN) WAIT
042341,000137: 16,3245           64756                          AD       BIT11                                 #  SET BIT FOR OPTICS-DAC-ENABLE ALSO
042342,000138: 16,3246           00006                          EXTEND                                         #  (ENABL1 ENTERED FROM TVCDAPHS / FINCOPY)
042343,000139: 16,3247           05012                          WOR      CHAN12                                
042344,000140: 16,3250           33331                          CAF      TVCADDR                               #  WAIT,  CALLING ENABL2  (BBCON THERE)
042345,000141: 16,3251           54112                          TS       T5LOC                                 
042346,000142: 16,3252           33335                          CAF      TVCADDR    +4                         #         60 MS  (TVCEXADR)
042347,000143: 16,3253           54030                          TS       TIME5                                 
042348,000144: 
042349,000145: 16,3254           15323                          TCF      RESUME                                
042350,000146: 
042351,000147: 16,3255           22016        ENABL2            LXCH     BANKRUPT                              #  CONTINUE PREPARATION OF OUTCOUNTERS
042352,000148: 
042353,000149: 16,3256           34767                          CAF      BIT2                                  #  OPTICS ERROR CNTR ENABLE, 4MS MIN WAIT
042354,000150: 16,3257           00006                          EXTEND                                         
042355,000151: 16,3260           05012                          WOR      CHAN12                                
042356,000152: 16,3261           33333                          CAF      TVCADDR    +2                         #  WAIT, CALLING CMDSOUT (BBCON THERE)
042357,000153: 16,3262           54112                          TS       T5LOC                                 
042358,000154: 16,3263           37663                          CAF      OCT37776                              #         20MS
042359,000155: 16,3264           54030                          TS       TIME5                                 

Page 962

042361,000157: 16,3265           15325                          TCF      NOQRSM                                
042362,000158: 
042363,000159: 16,3266           22016        CMDSOUT           LXCH     BANKRUPT                              #  CONTNUE PREPARATION OF OUTCOUNTERS
042364,000160: 16,3267           00006                          EXTEND                                         
042365,000161: 16,3270           22012                          QXCH     QRUPT                                 
042366,000162: 
042367,000163: 16,3271           44772                          CS       ZERO                                  #  MOST RECENT ACTUATOR COMMANDS
042368,000164: 16,3272           61623                          AD       PCMD                                  #         (AVOID +0)
042369,000165: 16,3273           54054                          TS       TVCPITCH                              
042370,000166: 16,3274           44772                          CS       ZERO                                  
042371,000167: 16,3275           61624                          AD       YCMD                                  
042372,000168: 16,3276           54053                          TS       TVCYAW                                
042373,000169: 
042374,000170: 16,3277           35050                          CAF      PRIO6                                 #  RELEASE THE COUNTERS (BITS 11,12)
042375,000171: 16,3300           00006                          EXTEND                                         
042376,000172: 16,3301           05014                          WOR      CHAN14                                
042377,000173: 
042378,000174: 16,3302           11635        PHSCHK2           CCS      TVCPHASE                              #  CHECK TVCPHASE AGAIN
042379,000175: 16,3303           13313                          TCF      JUMPTVC4                              
042380,000176: 16,3304           13313                          TCF      JUMPTVC4                              
042381,000177: 16,3305           10000                          CCS      A                                     #  A CONTAINS THE DIMINISHED ABSOLUTE OF
042382,000178: 16,3306           03311                          TC       +3                                    #  TVCPHASE (-2 BECOMES +1. -1 BECOMES +0)
042383,000179: 
042384,000180: 16,3307           04655                          TC       POSTJUMP                              #         REPEAT TVC INITIALIZATION
042385,000181: 16,3310           36166                          CADR     MRCLEAN                               #         (DO NOT RETURN)
042386,000182: 
042387,000183: 16,3311           04714                 +3       TC       IBNKCALL                              #         REPEAT CSM/LM V46 SWITCH-OVER
042388,000184: 16,3312           36351                          CADR     SWICHOVR   +5                         #         (RETURN TO CHECK FOR STROKE TEST)
042389,000185: 
042390,000186: 16,3313           04655        JUMPTVC4          TC       POSTJUMP                              #         IF POSITIVE OR ZERO, RESTART AT
042391,000187: 16,3314           36326                          CADR     TVCINIT4                              #                 TVCINIT4 (ZEROS TVCPHASE, AND
042392,000188:                                                                                                 #                 CALLS TVC DAPS VIA DAPINIT)
042393,000189: 16,3315           51635        FINCOPY           INDEX    TVCPHASE                              #  PICK UP THE APPROPRIATE COPYCYCLE
042394,000190: 16,3316           33331                          CAF      TVCCADR                               
042395,000191: 16,3317           04720                          TCR      ISWCALL                               #  RE-ENTER THE COPYCYCLE, RETURN AT END
042396,000192: 16,3320           13244                          TCF      ENABL1                                #  NOW PREPARE THE OUTCOUNTERS
042397,000193: 
042398,000194: 
042399,000195: 16,3321           00006        TRIM/CMD          EXTEND                                         #  TVCDAPON INITIALIZATION NOT COMPLETED,
042400,000196: 16,3322           31424                          DCA      PACTOFF                               #         EG.  P,YCMD MAY NOT BE SET.  SET...
042401,000197: 16,3323           53624                          DXCH     PCMD                                  
042402,000198: 16,3324           13244                          TCF      ENABL1                                #  NOW PREPARE THE OUTCOUNTERS
042403,000199: 
042404,000200: 
042405,000201: 16,3325           51644        EXRSTRT           INDEX    TVCEXPHS                              #  TVCEXECUTIVE RESTARTS....GO TO
042406,000202: 16,3326           33335                          CAF      TVCEXADR                              #         APPROPRIATE RESTART POINT
042407,000203: 16,3327           50000                          INDEX    A                                     
042408,000204: 16,3330           10000                          TCF      0                                     
042409,000205: 

Page 963

042411,000207: 
042412,000208:                                                                                                 #  TVC RESTART TABLES.... ORDER IS REQUIRED.   HI-ORDER WORDS ONLY, OF 2CADRS, SINCE BBCON IS ALREADY THERE.
042413,000209: 
042414,000210: 16,3331  16,3331               TVCADDR           =        TVCCADR                               #  TABLE OF CADRS, UNUSED LOCS FOR GENADRS
042415,000211: 16,3331           03255        TVCCADR           GENADR   ENABL2                                #  (FOR T5 CALL, UNUSED TABLE LOC)
042416,000212: 16,3332           41005                 +1       CADR     PCOPY      +1                         #  PITCH COPYCYCLE
042417,000213: 16,3333           03266                 +2       GENADR   CMDSOUT                               #  (FOR T5 CALL, UNUSED TABLE LOC)
042418,000214: 16,3334           41171                 +3       CADR     YCOPY      +1                         #  YAW COPYCYCLE
042419,000215: 16,3335           37772        TVCEXADR          OCT      37772                                 #  (UNUSED TABLE LOC, FILL WITH 60MS, T5)
042420,000216: 16,3336           03123                 +1       GENADR   TEMPSET                               #  TVCEXECUTIVE RESTART POINTS (ORDERED)
042421,000217: 16,3337           03126                 +2       GENADR   CORSETUP                              
042422,000218: 16,3340           03204                 +3       GENADR   CORCOPY    +1                         
042423,000219: 16,3341           03215                 +4       GENADR   CNTRCOPY                              

End of include-file TVCRESTARTS.agc.  Parent file is MAIN.agc