Source Code
|
These source-code files are part of a reconstructed copy of Comanche 051, the
original release of the Apollo 11 Command Module (CM) Apollo Guidance Computer
(AGC) software.
The reconstruction began with source code of Comanche 055 previously transcribed from a digitized copy of that program. The code was then updated by undoing changes related to the R-2 lunar potential model, using hints from program comments and change-indicating asterisks in the Comanche 055 listing as a guide. The reconstruction was verified by matching memory-bank checksums to those listed in drawing 2021153D. Note that page numbers in the reconstructed code match those on the Comanche 055 printout, although the added code would likely have changed page numbers for a real Comanche 051 listing. Comments from the original source code are prefixed with a single '#' symbol, whereas comments added later are prefixed by "##" or "###". Report any errors noted by creating an issue report at the Virtual AGC project's GitHub repository. |
021729,000002: ## Copyright: Public domain.
021730,000003: ## Filename: P76.agc
021731,000004: ## Purpose: A section of Comanche revision 051.
021732,000005: ## It is part of the reconstructed source code for the
021733,000006: ## original release of the flight software for the Command
021734,000007: ## Module's (CM) Apollo Guidance Computer (AGC) for Apollo 11.
021735,000008: ## The code has been recreated from a copy of Comanche 055. It
021736,000009: ## has been adapted such that the resulting bugger words
021737,000010: ## exactly match those specified for Comanche 51 in NASA drawing
021738,000011: ## 2021153D, which gives relatively high confidence that the
021739,000012: ## reconstruction is correct.
021740,000013: ## Reference: pp. 511-513
021741,000014: ## Assembler: yaYUL
021742,000015: ## Contact: Ron Burkey <info@sandroid.org>.
021743,000016: ## Website: www.ibiblio.org/apollo/index.html
021744,000017: ## Mod history: 2019-07-30 MAS Created from Comanche 55.
021745,000018:
|
Page 511 |
021747,000020: # 1) PROGRAM NAME - TARGET DELTA V PROGRAM (P76).
021748,000021: # 2) FUNCTIONAL DESCRIPTION - UPON ENTRY BY ASTRONAUT ACTION, P76 FLASHES DSKY REQUESTS TO THE ASTRONAUT
021749,000022: # TO PROVIDE VIA DSKY (1) THE DELTA V TO BE APPLIED TO THE OTHER VEHICLE STATE VECTOR AND (2) THE
021750,000023: # TIME (TIG) AT WHICH THE OTHER VEHICLE VELOCITY WAS CHANGED BY EXECUTION OF A THRUSTING MANEUVER. THE
021751,000024: # OTHER VEHICLE STATE VECTOR IS INTEGRATED TO TIG AND UPDATED BY THE ADDITION OF DELTA V (DELTA V HAVING
021752,000025: # BEEN TRANSFORMED FROM LV TO REF COSYS). USING INTEGRVS, THE PROGRAM THEN INTEGRATES THE OTHER
021753,000026: # VEHICLE STATE VECTOR TO THE STATE VECTOR OF THIS VEHICLE, THUS INSURING THAT THE W-MATRIX AND BOTH VEHICLE
021754,000027: # STATES CORRESPOND TO THE SAME TIME.
021755,000028: # 3) ERASABLE INITIALIZATION REQUIRED - NONE.
021756,000029: # 4) CALLING SEQUENCES AND EXIT MODES - CALLED BY ASTRONAUT REQUEST THRU DSKY V 37 E 76E.
021757,000030: # EXITS BY TCF ENDOFJOB.
021758,000031: # 5) OUTPUT - OTHER VEHICLE STATE VECTOR INTEGRATED TO TIG AND INCREMENTED BY DELTA V IN REF COSYS.
021759,000032: # THE PUSHLIST CONTAINS THE MATRIX BY WHICH THE INPUT DELTA V MUST BE POST-MULTIPLIED TO CONVERT FROM LV
021760,000033: # TO REF COSYS.
021761,000034: # 6) DEBRIS - OTHER VEHICLE STATE VECTOR.
021762,000035: # 7) SUBROUTINES CALLED - BANKCALL, GOXDSPF, CSMPREC (OR LEMPREC), ATOPCSM (OR ATOPLEM), INTSTALL, INTWAKE, PHASCHNG
021763,000036: # INTPRET, INTEGRVS, AND MINIRECT.
021764,000037: # 8) FLAG USE - MOONFLAG, CMOONFLAG, INTYPFLG, RASFLAG, AND MARKCTR.
021765,000038:
021766,000039: 30,2000 BANK 30
021767,000040: 13,2000 SETLOC P76LOC
021768,000041: 13,2000 BANK
021769,000042:
021770,000043: 13,2071 COUNT* $$/P76
021771,000044:
021772,000045: 13,2071 E7,1412 EBANK= TIG
021773,000046:
021774,000047: 13,2071 05546 P76 TC UPFLAG
021775,000048: 13,2072 00031 ADRES TRACKFLG
021776,000049:
021777,000050: 13,2073 32220 CAF V06N84 # FLASH LAST DELTA V,
021778,000051: 13,2074 04662 TC BANKCALL # AND WAIT FOR KEYBOARD ACTION.
021779,000052: 13,2075 20720 CADR GOFLASH
021780,000053: 13,2076 12212 TCF ENDP76
021781,000054: 13,2077 02101 TC +2 # PROCEED
021782,000055: 13,2100 02073 TC -5 # STORE DATA AND REPEAT FLASHING
021783,000056: 13,2101 32221 CAF V06N84 +1 # FLASH VERB 06 NOUN 33, DISPLAY LAST TIG,
021784,000057: 13,2102 04662 TC BANKCALL # AND WAIT FOR KEYBOARD ACTION.
021785,000058: 13,2103 20720 CADR GOFLASH
021786,000059: 13,2104 12212 TCF ENDP76
021787,000060: 13,2105 02107 TC +2
021788,000061: 13,2106 02101 TC -5
021789,000062: 13,2107 06006 TC INTPRET # RETURN TO INTERPRETIVE CODE
021790,000063: 13,2110 77745 DLOAD # SET D(MPAC)=TIG IN CSEC B28
021791,000064: 13,2111 03413 TIG
021792,000065: 13,2112 34041 STCALL TDEC1 # SET TDEC1=TIG FOR ORBITAL INTEGRATION
021793,000066: 13,2113 27105 OTHPREC
021794,000067: 13,2114 53575 COMPMAT VLOAD UNIT
021795,000068: 13,2115 00001 RATT
|
Page 512 |
021797,000070: 13,2116 77676 VCOMP # U(-R)
021798,000071: 13,2117 00031 STORE 24D # U(-R) TO 24D
021799,000072: 13,2120 53435 VXV UNIT # U(-R) X V = U(V X R)
021800,000073: 13,2121 00007 VATT
021801,000074: 13,2122 00023 STORE 18D
021802,000075: 13,2123 53435 VXV UNIT # U(V X R) X U(-R) = U((R X V) X R)
021803,000076: 13,2124 00031 24D
021804,000077: 13,2125 24015 STOVL 12D
021805,000078: 13,2126 03540 DELVOV
021806,000079: 13,2127 76505 VXM VSL1 # V(MPAC)=DELTA V IN REFCOSYS
021807,000080: 13,2130 00015 12D
021808,000081: 13,2131 77655 VAD
021809,000082: 13,2132 00007 VATT
021810,000083: 13,2133 00007 STORE 6 # V(PD6)=VATT + DELTA V
021811,000084: 13,2134 77624 CALL # PREVENT WOULD-BE USER OF ORBITAL
021812,000085: 13,2135 27442 INTSTALL # INTEG FROM INTERFERING WITH UPDATING
021813,000086: 13,2136 77624 CALL
021814,000087: 13,2137 26222 P76SUB1
021815,000088: 13,2140 53775 VLOAD VSR*
021816,000089: 13,2141 00007 6
021817,000090: 13,2142 57176 0,2
021818,000091: 13,2143 25543 STOVL VCV
021819,000092: 13,2144 00001 RATT
021820,000093: 13,2145 77657 VSR*
021821,000094: 13,2146 57176 0,2
021822,000095: 13,2147 15535 STODL RCV
021823,000096: 13,2150 03413 TIG
021824,000097: 13,2151 01517 STORE TET
021825,000098: 13,2152 71214 CLEAR DLOAD
021826,000099: 13,2153 01673 INTYPFLG
021827,000100: 13,2154 01571 TETTHIS
021828,000101: 13,2155 34041 INTOTHIS STCALL TDEC1
021829,000102: 13,2156 27135 INTEGRVS
021830,000103: 13,2157 77624 CALL
021831,000104: 13,2160 27442 INTSTALL
021832,000105: 13,2161 77624 CALL
021833,000106: 13,2162 26222 P76SUB1 # SET/CLEAR MOONFLAG
021834,000107: 13,2163 77775 VLOAD
021835,000108: 13,2164 00017 RATT1
021836,000109: 13,2165 01503 STORE RRECT
021837,000110: 13,2166 15535 STODL RCV
021838,000111: 13,2167 00015 TAT
021839,000112: 13,2170 25517 STOVL TET
021840,000113: 13,2171 00025 VATT1
021841,000114: 13,2172 77624 CALL
021842,000115: 13,2173 23435 MINIRECT
021843,000116: 13,2174 77776 EXIT
021844,000117: 13,2175 05412 TC PHASCHNG
021845,000118: 13,2176 04024 OCT 04024
|
Page 513 |
021847,000120: 13,2177 05546 TC UPFLAG
021848,000121: 13,2200 00236 ADRES REINTFLG
021849,000122:
021850,000123: 13,2201 06006 TC INTPRET
021851,000124: 13,2202 77624 CALL
021852,000125: 13,2203 26760 ATOPOTH
021853,000126: 13,2204 77531 SSP EXIT
021854,000127: 13,2205 00053 QPRET
021855,000128: 13,2206 26211 OUT
021856,000129: 13,2207 04662 TC BANKCALL # PERMIT USE OF ORBITAL INTEGRATION
021857,000130: 13,2210 27477 CADR INTWAKE1
021858,000131: 13,2211 77776 OUT EXIT
021859,000132: 13,2212 35021 ENDP76 CAF ZERO
021860,000133: 13,2213 55126 TS MARKCTR # CLEAR RR TRACKING MARK COUNTER
021861,000134: 13,2214 55125 TS VHFCNT
021862,000135:
021863,000136: 13,2215 37716 CAF NEGONE
021864,000137: 13,2216 55734 TS MRKBUF2 # INVALIDATE MARK BUFFER
021865,000138:
021866,000139: 13,2217 14106 TCF GOTOPOOH
021867,000140:
021868,000141: 13,2220 01524 V06N84 NV 0684
021869,000142: 13,2221 01441 NV 0633
021870,000143: 13,2222 67214 P76SUB1 CLEAR SLOAD
021871,000144: 13,2223 00263 MOONFLAG
021872,000145: 13,2224 00050 X2
021873,000146: 13,2225 43030 BHIZ SET # X2=0...CLEAR MOONFLAG
021874,000147: 13,2226 26230 +2 # =2.....SET MOONFLAG
021875,000148: 13,2227 00063 MOONFLAG
021876,000149: 13,2230 77616 RVQ
021877,000150:
End of include-file P76.agc. Parent file is MAIN.agc