Source Code
|
These source-code files are part of a reconstructed copy of Luminary 98, a
development version of the Apollo 11 Lunar Module (LM) Apollo Guidance Computer
(AGC) software.
The reconstruction began with source code of Luminary 99 revision 1 previously transcribed from a digitized copy of that program. The code was then updated by undoing changes described in original Luminary memo 85, using asterisks indicating changed lines in the listing as a guide. While no listing of this version is known to exist, nor are the memory-bank checksums available, the reconstruction is believed to be correct because it was an an intermediate step in reconstructing Luminary 97 whose reconstruction was verified by matching memory-bank checksums to those listed in drawing 2021152G. Note that page numbers in the reconstructed code match those on the Luminary 099 revision 001 printout, although the added code would likely have changed page numbers for a real Luminary 98 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. |
035705,000002: ## Copyright: Public domain.
035706,000003: ## Filename: P12.agc
035707,000004: ## Purpose: A section of Luminary revision 98.
035708,000005: ## It is part of the reconstructed source code for the a
035709,000006: ## development version of the flight software for the Lunar
035710,000007: ## Module's (LM) Apollo Guidance Computer (AGC) for Apollo 11.
035711,000008: ## The code has been recreated from a copy of Luminary 99
035712,000009: ## revision 001, using asterisks indicating changed lines in
035713,000010: ## the listing and Luminary Memo #85, which lists changes between
035714,000011: ## Luminary 98 and 99.
035715,000012: ## Reference: pp. 838-842
035716,000013: ## Assembler: yaYUL
035717,000014: ## Contact: Ron Burkey <info@sandroid.org>.
035718,000015: ## Website: www.ibiblio.org/apollo/index.html
035719,000016: ## Mod history: 2019-07-28 MAS Created from Luminary 99.
035720,000017:
|
Page 838 |
035722,000019: 24,3670 BANK 24
035723,000020: 30,2000 SETLOC P12
035724,000021: 30,2000 BANK
035725,000022:
035726,000023: 30,2061 E7,1515 EBANK= DVCNTR
035727,000024: 30,2061 COUNT* $$/P12
035728,000025:
035729,000026: 30,2061 05353 P12LM TC PHASCHNG
035730,000027: 30,2062 04024 OCT 04024
035731,000028:
035732,000029: 30,2063 04616 TC BANKCALL
035733,000030: 30,2064 11254 CADR R02BOTH # CHECK THE STATUS OF THE IMU.
035734,000031:
035735,000032: 30,2065 05504 TC UPFLAG
035736,000033: 30,2066 00141 ADRES MUNFLAG
035737,000034:
035738,000035: 30,2067 05504 TC UPFLAG # INSURE 4-JET TRANSLATION CAPABILITY.
035739,000036: 30,2070 00307 ADRES ACC4-2FL
035740,000037:
035741,000038: 30,2071 05504 TC UPFLAG # PREVENT R10 FROM ISSUING CROSS-POINTER
035742,000039: 30,2072 00015 ADRES R10FLAG # OUTPUTS.
035743,000040:
035744,000041: 30,2073 06011 TC CLRADMOD # INITIALIZE RADMODES FOR R29.
035745,000042:
035746,000043: 30,2074 05516 TC DOWNFLAG # CLEAR RENDEZVOUS FLAG FOR P22
035747,000044: 30,2075 00010 ADRES RNDVZFLG
035748,000045:
035749,000046: 30,2076 36000 CAF THRESH2 # INITIALIZE DVMON
035750,000047: 30,2077 55251 TS DVTHRUSH
035751,000048: 30,2100 34751 CAF FOUR
035752,000049: 30,2101 55515 TS DVCNTR
035753,000050:
035754,000051: 30,2102 34755 CA ZERO
035755,000052: 30,2103 55462 TS TRKMKCNT # SHOW THAT R29 DOWNLINK DATA ISN'T READY.
035756,000053: 30,2104 33035 CAF V06N33A
035757,000054: 30,2105 04616 TC BANKCALL # FLASH TIG
035758,000055: 30,2106 20476 CADR GOFLASH
035759,000056: 30,2107 16001 TCF GOTOPOOH
035760,000057: 30,2110 12112 TCF +2 # PROCEED
035761,000058: 30,2111 12104 TCF -5 # ENTER
035762,000059:
035763,000060: 30,2112 05353 TC PHASCHNG
035764,000061: 30,2113 04024 OCT 04024
035765,000062:
035766,000063: 30,2114 06037 TC INTPRET
035767,000064: 30,2115 77624 CALL # INITIALIZE WM AND /LAND/
035768,000065: 30,2116 46432 GUIDINIT
035769,000066: 30,2117 45014 SET CALL
035770,000067: 30,2120 04464 FLPI
035771,000068: 30,2121 60254 P12INIT
|
Page 839 |
035773,000070: 30,2122 77745 P12LMB DLOAD
035774,000071: 30,2123 25761 (TGO)A # SET TGO TO AN INITIAL NOMINAL VALUE.
035775,000072: 30,2124 17517 STODL TGO
035776,000073: 30,2125 03442 TIG
035777,000074: 30,2126 34041 STCALL TDEC1
035778,000075: 30,2127 27057 LEMPREC # ROTATE THE STATE VECTORS TO THE
035779,000076: 30,2130 64375 VLOAD MXV # IGNITION TIME.
035780,000077: 30,2131 00007 VATT
035781,000078: 30,2132 01734 REFSMMAT
035782,000079: 30,2133 77772 VSL1
035783,000080: 30,2134 27601 STOVL V1S # COMPUTE V1S = VEL(TIG)*2(-7) M/CS.
035784,000081: 30,2135 00001 RATT
035785,000082: 30,2136 52521 MXV VSL6
035786,000083: 30,2137 01734 REFSMMAT
035787,000084: 30,2140 37521 STCALL R # COMPUTE R = POS(TIG)*2(-24) M.
035788,000085: 30,2141 67130 MUNGRAV # COMPUTE GDT1/2(TIG)*2(-7)M/CS.
035789,000086: 30,2142 53575 VLOAD UNIT
035790,000087: 30,2143 03521 R
035791,000088: 30,2144 37537 STCALL UNIT/R/ # COMPUTE UNIT/R/ FOR YCOMP.
035792,000089: 30,2145 57312 YCOMP
035793,000090: 30,2146 57461 SR DCOMP
035794,000091: 30,2147 20606 5D
035795,000092: 30,2150 17643 STODL XRANGE # INITIALIZE XRANGE FOR NOUN 76.
035796,000093: 30,2151 06456 VINJNOM
035797,000094: 30,2152 16277 STODL ZDOTD
035798,000095: 30,2153 06460 RDOTDNOM
035799,000096: 30,2154 02273 STORE RDOTD
035800,000097: 30,2155 77776 EXIT
035801,000098:
035802,000099: 30,2156 05353 TC PHASCHNG
035803,000100: 30,2157 04024 OCT 04024
035804,000101:
035805,000102: 30,2160 33034 NEWLOAD CAF V06N76 # FLASH CROSS-RANGE AND APOLUNE VALUES.
035806,000103: 30,2161 04616 TC BANKCALL
035807,000104: 30,2162 20476 CADR GOFLASH
035808,000105: 30,2163 16001 TCF GOTOPOOH
035809,000106: 30,2164 12166 TCF +2 # PROCEED
035810,000107: 30,2165 12160 TCF NEWLOAD # ENTER NEW DATA.
035811,000108:
035812,000109: 30,2166 32320 CAF P12ADRES
035813,000110: 30,2167 55455 TS WHICH
035814,000111:
035815,000112: 30,2170 05353 TC PHASCHNG
035816,000113: 30,2171 04024 OCT 04024
035817,000114:
035818,000115: 30,2172 06037 TC INTPRET
035819,000116: 30,2173 54345 DLOAD SL
035820,000117: 30,2174 03643 XRANGE
035821,000118: 30,2175 20206 5D
035822,000119: 30,2176 77615 DAD
|
Page 840 |
035824,000121: 30,2177 02335 Y
035825,000122: 30,2200 27633 STOVL YCO
035826,000123: 30,2201 03537 UNIT/R/
035827,000124: 30,2202 53361 VXSC VAD
035828,000125: 30,2203 06454 49FPS
035829,000126: 30,2204 03601 V1S
035830,000127: 30,2205 03527 STORE V # V(TIPOVER) = V(IGN) + 57FPS (UNIT/R/)
035831,000128: 30,2206 72441 DOT SL1
035832,000129: 30,2207 03537 UNIT/R/
035833,000130: 30,2210 27474 STOVL RDOT # RDOT * 2(-7)
035834,000131: 30,2211 03537 UNIT/R/
035835,000132: 30,2212 53435 VXV UNIT
035836,000133: 30,2213 03720 QAXIS
035837,000134: 30,2214 03726 STORE ZAXIS1
035838,000135: 30,2215 77614 SETGO
035839,000136: 30,2216 04421 FLVR
035840,000137: 30,2217 60321 ASCENT
035841,000138: 30,2220 77745 P12RET DLOAD
035842,000139: 30,2221 02361 ATP # ATP(2)*2(18)
035843,000140: 30,2222 65316 DSQ PDDL
035844,000141: 30,2223 02355 ATY # ATY(2)*2(18)
035845,000142: 30,2224 43316 DSQ DAD
035846,000143: 30,2225 75454 BZE SQRT
035847,000144: 30,2226 60232 YAWDUN
035848,000145: 30,2227 55352 SL1 BDDV
035849,000146: 30,2230 02355 ATY
035850,000147: 30,2231 77736 ARCSIN
035851,000148: 30,2232 26363 YAWDUN STOVL YAW
035852,000149: 30,2233 03254 UNFC/2
035853,000150: 30,2234 50256 UNIT DOT
035854,000151: 30,2235 03537 UNIT/R/
035855,000152: 30,2236 65552 SL1 ARCCOS
035856,000153: 30,2237 77676 DCOMP
035857,000154: 30,2240 02365 STORE PITCH
035858,000155: 30,2241 77776 EXIT
035859,000156: 30,2242 05353 TC PHASCHNG
035860,000157: 30,2243 04024 OCT 04024
035861,000158:
035862,000159: 30,2244 05516 TC DOWNFLAG
035863,000160: 30,2245 00213 ADRES FLPI
035864,000161:
035865,000162: 30,2246 00004 INHINT
035866,000163: 30,2247 04674 TC IBNKCALL
035867,000164: 30,2250 40142 CADR PFLITEDB
035868,000165: 30,2251 00003 RELINT
035869,000166:
035870,000167: 30,2252 04635 TC POSTJUMP
035871,000168: 30,2253 74126 CADR BURNBABY
035872,000169:
035873,000170: 30,2254 77745 P12INIT DLOAD # INITIALIZE ENGINE DATA. USED FOR P12 AND
|
Page 841 |
035875,000172: 30,2255 16013 (1/DV)A # P71.
035876,000173: 30,2256 03641 STORE 1/DV3
035877,000174: 30,2257 03637 STORE 1/DV2
035878,000175: 30,2260 17635 STODL 1/DV1
035879,000176: 30,2261 16017 (AT)A
035880,000177: 30,2262 16263 STODL AT
035881,000178: 30,2263 16021 (TBUP)A
035882,000179: 30,2264 16271 STODL TBUP
035883,000180: 30,2265 34013 ATDECAY
035884,000181: 30,2266 54276 DCOMP SL
035885,000182: 30,2267 20214 11D
035886,000183: 30,2270 02267 STORE TTO
035887,000184: 30,2271 57535 SLOAD DCOMP
035888,000185: 30,2272 26001 APSVEX
035889,000186: 30,2273 77702 SR2
035890,000187: 30,2274 02265 STORE VE
035891,000188: 30,2275 43414 BOFF RVQ
035892,000189: 30,2276 04747 FLAP
035893,000190: 30,2277 60300 COMMINIT
035894,000191: 30,2300 43345 COMMINIT DLOAD DAD # INITIALIZE TARGET DATA. USED BY P12, P70
035895,000192: 30,2301 25757 HINJECT # AND P71 IF IT DOES NOT FOLLOW P70.
035896,000193: 30,2302 02333 /LAND/
035897,000194: 30,2303 17631 STODL RCO
035898,000195: 30,2304 06522 HI6ZEROS
035899,000196: 30,2305 03654 STORE TXO
035900,000197: 30,2306 03633 STORE YCO
035901,000198: 30,2307 02273 STORE RDOTD
035902,000199: 30,2310 26275 STOVL YDOTD
035903,000200: 30,2311 01563 VRECTCSM
035904,000201: 30,2312 64235 VXV MXV
035905,000202: 30,2313 01555 RRECTCSM
035906,000203: 30,2314 01734 REFSMMAT
035907,000204: 30,2315 77656 UNIT
035908,000205: 30,2316 03720 STORE QAXIS
035909,000206: 30,2317 77616 RVQ
035910,000207: 30,2320 02022 P12ADRES REMADR P12TABLE
035911,000208:
035912,000209: 23,2000 SETLOC P12A
035913,000210: 23,2000 BANK
035914,000211: 23,2432 COUNT* $$/P12
035915,000212:
035916,000213: 23,2432 40220 GUIDINIT STQ SETPD
035917,000214: 23,2433 01164 TEMPR60
035918,000215: 23,2434 00001 0D
035919,000216: 23,2435 41575 VLOAD PUSH
035920,000217: 23,2436 06514 UNITZ
035921,000218: 23,2437 41434 RTB PUSH
035922,000219: 23,2440 21573 LOADTIME
035923,000220: 23,2441 77624 CALL
035924,000221: 23,2442 55716 RP-TO-R
|
Page 842 |
035926,000223: 23,2443 74321 MXV VXSC
035927,000224: 23,2444 01734 REFSMMAT
035928,000225: 23,2445 16027 MOONRATE
035929,000226: 23,2446 26325 STOVL WM
035930,000227: 23,2447 02023 RLS
035931,000228: 23,2450 52446 ABVAL SL3
035932,000229: 23,2451 36333 STCALL /LAND/
035933,000230: 23,2452 01164 TEMPR60
035934,000231:
035935,000232: 23,2453 00046 07374 49FPS 2DEC .149352 B-6 # EXPECTED RDOT AT TIPOVER
035936,000233: 23,2455 04145 15527 VINJNOM 2DEC 16.7924 B-7 # 5509.5 FPS(APO=30NM WITH RDOT=19.5FPS)
035937,000234: 23,2457 00007 23346 RDOTDNOM 2DEC .059436 B-7 # 19.5 FPS
035938,000235:
035939,000236:
End of include-file P12.agc. Parent file is MAIN.agc