Source Code
|
This is a reconstructed version of Luminary 130, the initial AGC program released
in November 1969 for the Apollo 13 LM. Three more releases
followed before the flown revision was finally manufactured in February 1970.
This reconstruction was created from a previous transcription of the original listing of Luminary 131, combined with Luminary memo #129 which describes the small difference between the Luminary 130 and 131. The reconstructed source code was verified by matching memory-bank checksums to those listed for Luminary 130 in drawing 2021152G. In this source code, program comments from the original (Luminary 131) code are prefixed with '#', while those added later by the Virtual AGC project are prefixed with '##'. |
030163,000002: ## Copyright: Public domain.
030164,000003: ## Filename: P76.agc
030165,000004: ## Purpose: A section of the reconstructed source code for Luminary 130.
030166,000005: ## This was the original program released for the Apollo 13 LM,
030167,000006: ## although several more revisions would follow. It has been
030168,000007: ## reconstructed from a listing of Luminary 131, from which it
030169,000008: ## differs on only two lines in P70-P71. The difference is
030170,000009: ## described in detail in Luminary memo #129, which was used
030171,000010: ## to perform the reconstruction. This file is intended to be a
030172,000011: ## faithful reconstruction, except that the code format has been
030173,000012: ## changed to conform to the requirements of the yaYUL assembler
030174,000013: ## rather than the original YUL assembler.
030175,000014: ## Reference: pp. 711-713
030176,000015: ## Contact: Ron Burkey <info@sandroid.org>.
030177,000016: ## Website: www.ibiblio.org/apollo
030178,000017: ## Mod history: 05/24/03 RSB. Began transcribing.
030179,000018: ## 2017-01-06 RSB Page numbers now agree with those on the
030180,000019: ## original harcopy, as opposed to the PDF page
030181,000020: ## numbers in 1701.pdf.
030182,000021: ## 2017-02-24 RSB Proofed comment text using octopus/ProoferComments.
030183,000022: ## 2018-09-04 MAS Copied from Luminary 131 for Luminary 130.
030184,000023:
|
Page 711 |
030186,000025: # 1) PROGRAM NAME - TARGET DELTA V PROGRAM (P76).
030187,000026: # 2) FUNCTIONAL DESCRIPTION - UPON ENTRY BY ASTRONAUT ACTION, P76 FLASHES DSKY REQUESTS TO THE ASTRONAUT
030188,000027: # TO PROVIDE VIA DSKY (1) THE DELTA V TO BE APPLIED TO THE OTHER VEHICLE STATE VECTOR AND (2) THE
030189,000028: # TIME (TIG) AT WHICH THE OTHER VEHICLE VELOCITY WAS CHANGED BY EXECUTION OF A THRUSTING MANEUVER. THE
030190,000029: # OTHER VEHICLE STATE VECTOR IS INTEGRATED TO TIG AND UPDATED BY THE ADDITION OF DELTA V (DELTA V HAVING
030191,000030: # BEEN TRANSFORMED FROM LV TO REF COSYS). USING INTEGRVS, THE PROGRAM THEN INTEGRATES THE OTHER
030192,000031: # VEHICLE STATE VECTOR TO THE STATE VECTOR OF THIS VEHICLE, THUS INSURING THAT THE W-MATRIX AND BOTH VEHICLE
030193,000032: # STATES CORRESPOND TO THE SAME TIME.
030194,000033: # 3) ERASABLE INITIALIZATION REQUIRED - NONE.
030195,000034: # 4) CALLING SEQUENCES AND EXIT MODES - CALLED BY ASTRONAUT REQUEST THRU DSKY V 37 E 76E.
030196,000035: # EXITS BY TCF ENDOFJOB.
030197,000036: # 5) OUTPUT - OTHER VEHICLE STATE VECTOR INTEGRATED TO TIG AND INCREMENTED BY DELTA V IN REF COSYS.
030198,000037: # THE PUSHLIST CONTAINS THE MATRIX BY WHICH THE INPUT DELTA V MUST BE POST-MULTIPLIED TO CONVERT FROM LV
030199,000038: # TO REF COSYS.
030200,000039: # 6) DEBRIS - OTHER VEHICLE STATE VECTOR.
030201,000040: # 7) SUBROUTINES CALLED - BANKCALL, GOXDSPF, CSMPREC (OR LEMPREC), ATOPCSM (OR ATOPLEM), INTSTALL, INTWAKE, PHASCHNG
030202,000041: # INTPRET, INTEGRVS, AND MINIRECT.
030203,000042: # 8) FLAG USE - MOONFLAG, CMOONFLAG, INTYPFLG, RASFLAG, AND MARKCTR.
030204,000043:
030205,000044: 30,2061 BANK 30
030206,000045: 13,2000 SETLOC P76LOC
030207,000046: 13,2000 BANK
030208,000047:
030209,000048: 13,2207 COUNT* $$/P76
030210,000049:
030211,000050: 13,2207 E7,1441 EBANK= TIG
030212,000051:
030213,000052: 13,2207 05504 P76 TC UPFLAG
030214,000053: 13,2210 00031 ADRES TRACKFLG
030215,000054:
030216,000055: 13,2211 06042 TC INTPRET
030217,000056: 13,2212 77775 VLOAD
030218,000057: 13,2213 03434 DELVLVC
030219,000058: 13,2214 02223 STORE DELVOV
030220,000059: 13,2215 77776 EXIT
030221,000060:
030222,000061: 13,2216 32335 CAF V06N84 +1 # FLASH VERB 06 NOUN 33, DISPLAY LAST TIG,
030223,000062: 13,2217 04616 TC BANKCALL # AND WAIT FOR KEYBOARD ACTION.
030224,000063: 13,2220 20477 CADR GOFLASH
030225,000064: 13,2221 12331 TCF ENDP76
030226,000065: 13,2222 02224 TC +2 # PROCEED
030227,000066: 13,2223 02216 TC -5 # STORE DATA AND REPEAT FLASHING
030228,000067: 13,2224 32334 CAF V06N84 # FLASH LAST DELTA V,
030229,000068: 13,2225 04616 TC BANKCALL # AND WAIT FOR KEYBOARD ACTION.
030230,000069: 13,2226 20477 CADR GOFLASH
030231,000070: 13,2227 12331 TCF ENDP76
030232,000071: 13,2230 02232 TC +2
030233,000072: 13,2231 02224 TC -5
030234,000073: 13,2232 06042 TC INTPRET # RETURN TO INTERPRETIVE CODE
|
Page 712 |
030236,000075: 13,2233 43145 DLOAD SET
030237,000076: 13,2234 03442 TIG
030238,000077: 13,2235 01076 NODOFLAG
030239,000078: 13,2236 34041 STCALL TDEC1 # SET TDEC1=TIG FOR ORBITAL INTEGRATION
030240,000079: 13,2237 27042 OTHPREC
030241,000080: 13,2240 53575 COMPMAT VLOAD UNIT
030242,000081: 13,2241 00001 RATT
030243,000082: 13,2242 77676 VCOMP # U(-R)
030244,000083: 13,2243 00031 STORE 24D # U(-R) TO 24D
030245,000084: 13,2244 53435 VXV UNIT # U(-R) X V = U(V X R)
030246,000085: 13,2245 00007 VATT
030247,000086: 13,2246 00023 STORE 18D
030248,000087: 13,2247 53435 VXV UNIT # U(V X R) X U(-R) = U((R X V) X R)
030249,000088: 13,2250 00031 24D
030250,000089: 13,2251 24015 STOVL 12D
030251,000090: 13,2252 02223 DELVOV
030252,000091: 13,2253 76505 VXM VSL1 # V(MPAC)=DELTA V IN REFCOSYS
030253,000092: 13,2254 00015 12D
030254,000093: 13,2255 77655 VAD
030255,000094: 13,2256 00007 VATT
030256,000095: 13,2257 00007 STORE 6 # V(PD6)=VATT + DELTA V
030257,000096: 13,2260 77624 CALL # PREVENT WOULD-BE USER OF ORBITAL
030258,000097: 13,2261 27410 INTSTALL # INTEG FROM INTERFERING WITH UPDATING
030259,000098: 13,2262 77624 CALL
030260,000099: 13,2263 26336 P76SUB1
030261,000100: 13,2264 53775 VLOAD VSR*
030262,000101: 13,2265 00007 6
030263,000102: 13,2266 57176 0,2
030264,000103: 13,2267 25543 STOVL VCV
030265,000104: 13,2270 00001 RATT
030266,000105: 13,2271 77657 VSR*
030267,000106: 13,2272 57176 0,2
030268,000107: 13,2273 15535 STODL RCV
030269,000108: 13,2274 03442 TIG
030270,000109: 13,2275 01517 STORE TET
030271,000110: 13,2276 71214 CLEAR DLOAD
030272,000111: 13,2277 01673 INTYPFLG
030273,000112: 13,2300 01643 TETTHIS
030274,000113: 13,2301 34041 INTOTHIS STCALL TDEC1
030275,000114: 13,2302 27106 INTEGRVS
030276,000115: 13,2303 77624 CALL
030277,000116: 13,2304 27410 INTSTALL
030278,000117: 13,2305 77775 VLOAD
030279,000118: 13,2306 00017 RATT1
030280,000119: 13,2307 01503 STORE RRECT
030281,000120: 13,2310 15535 STODL RCV
030282,000121: 13,2311 00015 TAT
030283,000122: 13,2312 25517 STOVL TET
030284,000123: 13,2313 00025 VATT1
030285,000124: 13,2314 77624 CALL
|
Page 713 |
030287,000126: 13,2315 27705 MINIRECT
030288,000127: 13,2316 77776 EXIT
030289,000128: 13,2317 05353 TC PHASCHNG
030290,000129: 13,2320 04024 OCT 04024
030291,000130:
030292,000131: 13,2321 06042 TC INTPRET
030293,000132: 13,2322 45014 SET CALL
030294,000133: 13,2323 05070 REINTFLG
030295,000134: 13,2324 26660 ATOPOTH
030296,000135: 13,2325 77624 CALL
030297,000136: 13,2326 27417 INTWAKE0
030298,000137: 13,2327 77414 OUT CLEAR EXIT # ALLOW V37. NO NEED TO CLEAR NODOFLAG AT
030299,000138: 13,2330 01276 NODOFLAG # ENDP76 SINCE FLAG NOT SET WHEN DISPLAY
030300,000139: # RESPONSES TRANSFER THERE FROM P76+.
030301,000140: 13,2331 34755 ENDP76 CAF ZERO
030302,000141: 13,2332 55462 TS MARKCTR # CLEAR RR TRACKING MARK COUNTER
030303,000142: 13,2333 16001 TCF GOTOPOOH
030304,000143:
030305,000144: 13,2334 01524 V06N84 NV 0684
030306,000145: 13,2335 01441 NV 0633
030307,000146: 13,2336 43174 P76SUB1 AXT,2 SET
030308,000147: 13,2337 00002 2
030309,000148: 13,2340 00063 MOONFLAG # SET MEANS MOON IS SPHERE OF INFLUENCE.
030310,000149: 13,2341 77014 BON AXT,2
030311,000150: 13,2342 04303 CMOONFLG # SET MEANS PERM CM STATE IN LUNAR SPHERE.
030312,000151: 13,2343 00052 QPRET
030313,000152: 13,2344 00000 0
030314,000153: 13,2345 43414 CLEAR RVQ
030315,000154: 13,2346 00263 MOONFLAG
030316,000155:
030317,000156:
030318,000157:
End of include-file P76.agc. Parent file is MAIN.agc