Source Code
![]() |
These source-code files were obtained by digitally photographing
an Artemis 72 (Apollo 15-17 Command Module) program listing from a private
collection and then
modifying pre-existing Comanche 55 (Apollo 11) source files to
incorporate changes. Photography was by Ron Burkey, and transcription
was performed by a team of volunteers. 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, 1971Note that the date is the date of the printout, not the date of the program revision. |
022542,000002: ## Copyright: Public domain.
022543,000003: ## Filename: P76.agc
022544,000004: ## Purpose: Part of the source code for Artemis (i.e., Colossus 3),
022545,000005: ## build 072. This is for the Command Module's (CM)
022546,000006: ## Apollo Guidance Computer (AGC), for
022547,000007: ## Apollo 15-17.
022548,000008: ## Assembler: yaYUL
022549,000009: ## Contact: Hartmuth Gutsche <hgutsche@xplornet.com>
022550,000010: ## Website: www.ibiblio.org/apollo/index.html
022551,000011: ## Page Scans: www.ibiblio.org/apollo/ScansForConversion/Artemis072/
022552,000012: ## Mod history: 2009-09-20 HG Adapted from corresponding Comanche 055 file.
022553,000013: ## 2009-09-21 JL Fixed minor typos.
022554,000014: ## 2010-01-31 JL Fixed build errors.
022555,000015: ## 2010-02-20 RSB Un-##'d this header.
022556,000016: ## 2017-02-08 RSB Proofed comment text by using octopus/ProoferComments.
022557,000017: ## 2017-03-17 RSB Comment-text fixes identified by 4-way diff'ing
022558,000018: ## of Colossus 237 & 249, Comanche 55, and Artemis 72.
022559,000019:
![]() |
Page 513 |
022561,000021: # 1) PROGRAM NAME - TARGET DELTA V PROGRAM (P76).
022562,000022: # 2) FUNCTIONAL DESCRIPTION - UPON ENTRY BY ASTRONAUT ACTION, P76 FLASHES DSKY REQUESTS TO THE ASTRONAUT
022563,000023: # TO PROVIDE VIA DSKY (1) THE DELTA V TO BE APPLIED TO THE OTHER VEHICLE STATE VECTOR AND (2) THE
022564,000024: # TIME (TIG) AT WHICH THE OTHER VEHICLE VELOCITY WAS CHANGED BY EXECUTION OF A THRUSTING MANEUVER. THE
022565,000025: # OTHER VEHICLE STATE VECTOR IS INTEGRATED TO TIG AND UPDATED BY THE ADDITION OF DELTA V (DELTA V HAVING
022566,000026: # BEEN TRANSFORMED FROM LV TO REF COSYS). USING INTEGRVS, THE PROGRAM THEN INTEGRATES THE OTHER
022567,000027: # VEHICLE STATE VECTOR TO THE STATE VECTOR OF THIS VEHICLE, THUS INSURING THAT THE W-MATRIX AND BOTH VEHICLE
022568,000028: # STATES CORRESPOND TO THE SAME TIME.
022569,000029: # 3) ERASABLE INITIALIZATION REQUIRED - NONE.
022570,000030: # 4) CALLING SEQUENCES AND EXIT MODES - CALLED BY ASTRONAUT REQUEST THRU DSKY V 37 E 76 E.
022571,000031: # EXITS BY TCF ENDOFJOB.
022572,000032: # 5) OUTPUT - OTHER VEHICLE STATE VECTOR INTEGRATED TO TIG AND INCREMENTED BY DELTA V IN REF COSYS.
022573,000033: # THE PUSHLIST CONTAINS THE MATRIX BY WHICH THE INPUT DELTA V MUST BE POST-MULTIPLIED TO CONVERT FROM LV
022574,000034: # TO REF COSYS.
022575,000035: # 6) DEBRIS - OTHER VEHICLE STATE VECTOR.
022576,000036: # 7) SUBROUTINES CALLED - BANKCALL,GOXDSPF,CSMPREC (OR LEMPREC),ATOPCSM (OR ATOPLEM),INTSTALL,INTWAKE, PHASCHNG
022577,000037: # INTPRET, INTEGRVS, AND MINIRECT.
022578,000038: # 8) FLAG USE - MOONFLAG,CMOONFLAG,INTYPFLG,RASFLAG, AND MARKCTR.
022579,000039:
022580,000040: 13,2000 SETLOC P76LOC
022581,000041: 13,2000 BANK
022582,000042:
022583,000043: 13,2071 COUNT* $$/P7677
022584,000044: 13,2071 E7,1412 EBANK= TIG
022585,000045:
022586,000046: 13,2071 31214 P76ER77 CA MODREG
022587,000047: 13,2072 74770 MASK BIT1
022588,000048: 13,2073 55545 TS OPTFLAG # OPTFLAG = 0 LM (P76)
022589,000049: 13,2074 00006 EXTEND # = 1 CSM (P77)
022590,000050: 13,2075 31450 DCA NOMTIG
022591,000051: 13,2076 53413 DXCH TIG
022592,000052:
022593,000053: 13,2077 35026 CAF V06N33
022594,000054: 13,2100 04636 TC BANKCALL # AND WAIT FOR KEYBOARD ACTION
022595,000055: 13,2101 20743 CADR GOFLASH
022596,000056: 13,2102 12234 TCF ENDP76
022597,000057: 13,2103 02105 TC +2 # PROCEED
022598,000058: 13,2104 02077 TC -5 # STORE DATA AND REPEAT FLASHING
022599,000059: 13,2105 05402 TC PHASCHNG
022600,000060: 13,2106 04024 OCT 04024
022601,000061: 13,2107 51545 INDEX OPTFLAG
022602,000062: 13,2110 32237 CAF V06N84 # FLASH V06 N84 OR N81
022603,000063: 13,2111 04636 TC BANKCALL # AND WAIT FOR KEYBOARD ACTION.
022604,000064: 13,2112 20743 CADR GOFLASH
022605,000065: 13,2113 12234 TCF ENDP76
022606,000066: 13,2114 02116 TC +2
022607,000067: 13,2115 02107 TC -6 # STORE DATA AND REPEAT FLASHING
022608,000068: 13,2116 06006 TC INTPRET # RETURN TO INTERPRETIVE CODE
022609,000069: 13,2117 43145 DLOAD SET # SET D(MPAC)=TIG IN CSEC B28
![]() |
Page 514 |
022611,000071: 13,2120 03413 TIG
022612,000072: 13,2121 01076 NODOFLAG # DISALLOW V37
022613,000073: 13,2122 00041 STORE TDEC1
022614,000074: 13,2123 77711 CCALL
022615,000075: 13,2124 03546 OPTFLAG
022616,000076: 13,2125 26241 INTADR
022617,000077: 13,2126 53575 COMPMAT VLOAD UNIT
022618,000078: 13,2127 00001 RATT
022619,000079: 13,2130 77676 VCOMP # U(-R)
022620,000080: 13,2131 00031 STORE 24D # U(-R) TO 24D
022621,000081: 13,2132 53435 VXV UNIT # U(-R)XV = U(VXR)
022622,000082: 13,2133 00007 VATT
022623,000083: 13,2134 00023 STORE 18D
022624,000084: 13,2135 53435 VXV UNIT # U(VXR)XU(-R) = U((RXV)XR)
022625,000085: 13,2136 00031 24D
022626,000086: 13,2137 00015 STORE 12D
022627,000087: 13,2140 46135 SLOAD BHIZ
022628,000088: 13,2141 03546 OPTFLAG
022629,000089: 13,2142 26146 +4
022630,000090: 13,2143 52175 VLOAD GOTO
022631,000091: 13,2144 03405 DELVLVC # FROM CSM
022632,000092: 13,2145 26150 DVTRANS
022633,000093: 13,2146 77775 VLOAD
022634,000094: 13,2147 03540 DELVOV # FROM LM
022635,000095: 13,2150 76505 DVTRANS VXM VSL1 # V(MPAC)=DELTA-V IN REFCOSYS
022636,000096: 13,2151 00015 12D
022637,000097: 13,2152 77655 VAD
022638,000098: 13,2153 00007 VATT
022639,000099: 13,2154 00007 STORE 6 # V(PD6)=VATT + DELTA V
022640,000100: 13,2155 77624 CALL # PREVENT WOULD-BE USER OF ORBITAL
022641,000101: 13,2156 27516 INTSTALL # INTEG FROM INTERFERING WITH UPDATING
022642,000102: 13,2157 77624 CALL
022643,000103: 13,2160 26245 P76SUB1
022644,000104: 13,2161 53775 VLOAD VSR*
022645,000105: 13,2162 00007 6
022646,000106: 13,2163 57176 0,2
022647,000107: 13,2164 25543 STOVL VCV
022648,000108: 13,2165 00001 RATT
022649,000109: 13,2166 77657 VSR*
022650,000110: 13,2167 57176 0,2
022651,000111: 13,2170 15535 STODL RCV
022652,000112: 13,2171 03413 TIG
022653,000113: 13,2172 01517 STORE TET
022654,000114: 13,2173 71214 CLEAR DLOAD
022655,000115: 13,2174 01673 INTYPFLG
022656,000116: 13,2175 01571 TETTHIS
022657,000117: 13,2176 34041 INTOTHIS STCALL TDEC1
022658,000118: 13,2177 27211 INTEGRVS
022659,000119: 13,2200 77624 CALL
022660,000120: 13,2201 27516 INTSTALL
![]() |
Page 515 |
022662,000122: 13,2202 77624 CALL
022663,000123: 13,2203 26245 P76SUB1 # SET/CLEAR MOONFLAG
022664,000124: 13,2204 77775 VLOAD
022665,000125: 13,2205 00017 RATT1
022666,000126: 13,2206 01503 STORE RRECT
022667,000127: 13,2207 15535 STODL RCV
022668,000128: 13,2210 00015 TAT
022669,000129: 13,2211 25517 STOVL TET
022670,000130: 13,2212 00025 VATT1
022671,000131: 13,2213 77624 CALL
022672,000132: 13,2214 23434 MINIRECT
022673,000133: 13,2215 77776 EXIT
022674,000134: 13,2216 05402 TC PHASCHNG
022675,000135: 13,2217 04024 OCT 04024
022676,000136:
022677,000137: 13,2220 06006 TC INTPRET
022678,000138: 13,2221 62214 SET CCALL
022679,000139: 13,2222 05062 REINTFLG
022680,000140: 13,2223 03546 OPTFLAG
022681,000141: 13,2224 26243 UPDATADR
022682,000142: 13,2225 77624 CALL
022683,000143: 13,2226 27525 INTWAKE0 # PERMIT USE OF ORBITAL INTEGRATION
022684,000144: 13,2227 77414 OUT CLEAR EXIT # ALLOW V37, NO NEED TO CLEAR NODOFLAG AT
022685,000145: 13,2230 01276 NODOFLAG # ENDP76 SINCE FLAG NOT SET WHEN DISPLAY
022686,000146: # RESPONSES TRANSFER THERE FROM P76+.
022687,000147: 13,2231 37702 CAF NEGONE
022688,000148: 13,2232 55722 TS MRKBUF1
022689,000149: 13,2233 14105 TCF MNKGOPOO
022690,000150:
022691,000151: 13,2234 37702 ENDP76 CAF NEGONE
022692,000152: 13,2235 55722 TS MRKBUF1 # INVALIDATE MARK BUFFER
022693,000153:
022694,000154: 13,2236 14103 TCF GOTOPOOH
022695,000155:
022696,000156: 13,2237 01524 V06N84 NV 0684
022697,000157: 13,2240 01521 NV 0681 # MUST BE EQUAL TO V06N84 + 1
022698,000158: 13,2241 27161 INTADR CADR OTHPREC
022699,000159: 13,2242 27145 CADR THISPREC # MUST BE EQUAL TO INTADR + 1
022700,000160: 13,2243 27034 UPDATADR CADR ATOPOTH
022701,000161: 13,2244 26761 CADR ATOPTHIS # MUST BE EQUAL TO UPDATADR + 1
022702,000162: 13,2245 67214 P76SUB1 CLEAR SLOAD
022703,000163: 13,2246 00263 MOONFLAG
022704,000164: 13,2247 00050 X2
022705,000165: 13,2250 43030 BHIZ SET # X2=0...CLEAR MOONFLAG
022706,000166: 13,2251 26253 +2 # =2.....SET MOONFLAG
022707,000167: 13,2252 00063 MOONFLAG
022708,000168: 13,2253 77616 RVQ
End of include-file P76.agc. Parent file is MAIN.agc