Source Code
These source-code files are part of a reconstructed copy of Luminary 69/2,
the flown, final release of the Apollo 10 Lunar Module (LM) Apollo Guidance Computer (AGC) software.
The reconstruction is based on the source code of Luminary 69 — i.e., the initial, unflown version, "revision 0" — of which a contemporary listing was available. The code was then updated by incorporating the differences between Luminary 69 and Luminary 69/2, known from other contemporary documentation. The only such difference is the implementation in Luminary 69/2 of the "R-2 Lunar Potential Model", the source code for which was taken from program Luminary 99/1 (Apollo 11 LM), of which a contemporary listing was also available. Finally, the now-reconstructed Luminary 69/2 was then validated by assembling it to executable form and verifying that its memory banks had the correct checksums, known from still other contemporary documentation. Note that page numbers in the reconstructed code match those in the original Luminary 69 program listing, or in the ORBITAL INTEGRATION log section, in Luminary 99/1. Page numbers would certainly differ somewhat in a contemporary Luminary 69/2 listing. Moreover, annotations that were not present in the contemporary source code have been added to the reconstructed code to justify each change in Luminary 69/2 relative to Luminary 69. Here's a guide to the Apollo documentation referenced in those annotations:
|
052726,000002: ## Copyright: Public domain.
052727,000003: ## Filename: ORBITAL_INTEGRATION.agc
052728,000004: ## Purpose: A section of LUM69 revision 2.
052729,000005: ## It is part of the reconstructed source code for the flown
052730,000006: ## version of the flight software for the Lunar Module's (LM)
052731,000007: ## Apollo Guidance Computer (AGC) for Apollo 10. The code has
052732,000008: ## been recreated from a copy of Luminary revsion 069, using
052733,000009: ## changes present in Luminary 099 which were described in
052734,000010: ## Luminary memos 75 and 78. The code has been adapted such
052735,000011: ## that the resulting bugger words exactly match those specified
052736,000012: ## for LUM69 revision 2 in NASA drawing 2021152B, which gives
052737,000013: ## relatively high confidence that the reconstruction is correct.
052738,000014: ## Reference: pp. 1223-1243
052739,000015: ## Assembler: yaYUL
052740,000016: ## Contact: Ron Burkey <info@sandroid.org>.
052741,000017: ## Website: www.ibiblio.org/apollo/index.html
052742,000018: ## Mod history: 2019-07-27 MAS Created from Luminary 69.
052743,000019: ## 2019-07-27 MAS Backported R-2 lunar potential model code from
052744,000020: ## Luminary 099, and positioned it such that the
052745,000021: ## resulting banksums are correct.
052746,000022: ## 2020-12-14 RSB Tweaked the annotation relevant to the
052747,000023: ## change mentioned above to conform to the
052748,000024: ## style and extent of similar justifying
052749,000025: ## annotations previously added to
052750,000026: ## Comanche 44 and 51. For explanatory purposes,
052751,000027: ## however, I found it easier in this file to
052752,000028: ## dispense with Mike's approach of using Luminary 69
052753,000029: ## as a baseline, and instead to use Luminary 99/1 as
052754,000030: ## a baseline. There is no difference in the
052755,000031: ## reconstructed code itself, of course, but the
052756,000032: ## ##-style page-number comments all change over
052757,000033: ## to Luminary 99/1 numbering rather than
052758,000034: ## Luminary 69 numbering. Given that it is already
052759,000035: ## known that the page numbers between Luminary 69
052760,000036: ## and Luminary 69/2 shouldn't agree, that seems
052761,000037: ## like a minor price to pay.
052762,000038:
Page 1227 |
052764,000040:
Reconstruction: As described by
LUMINARY Memo #75", the entire purpose for creating Luminary 69/2
was to add the R-2 Lunar Potential Model to Luminary 69. Manually
comparing Luminary 69 to Luminary 99/1 (which also incorporates the
R-2 model) quickly makes it clear that most of the R-2 implementation
occurs in the ORBITAL INTEGRATION log section, and that the changes
within the ORBITAL INTEGRATION log section are extensive.
In point of fact, there is much less difference between ORBITAL INTEGRATION in Luminary 69/2 and Luminary 99/1 than there is between Luminary 69/2 and Luminary 69. Therefore, to simplify our justifying annotations, in this single log section we use Luminary 99/1 as a baseline rather than Luminary 69. We add explanatory annotations only at the differences between the Luminary 69/2 code and the Luminary 99/1 code. Page numbers follow Luminary 99/1 rather than Luminary 69. Incidentally, that is not the approach originally taken when this log section was reconstructed. Then, Luminary 69 was still used as a baseline. So reconstruction is possible using either baseline — but the Luminary 99/1 baseline is simply easier to explain on a change-by-change basis. |
052786,000062:
052787,000063: # DELETE
052788,000064: 13,3721 BANK 13
052789,000065: 11,2000 SETLOC ORBITAL
052790,000066: 11,2000 BANK
052791,000067: 11,2311 COUNT* $$/ORBIT
052792,000068:
052793,000069: # DELETE
052794,000070: 11,2311 40354 KEPPREP LXA,2 SETPD
052795,000071: 11,2312 02030 PBODY
052796,000072: 11,2313 00001 0
052797,000073: 11,2314 75543 DLOAD* SQRT # SQRT(MU) (+18 OR +15) 0D PL 2D
052798,000074: 11,2315 51770 MUEARTH,2
052799,000075: 11,2316 53515 PDVL UNIT # PL 8D
052800,000076: 11,2317 01535 RCV
052801,000077: 11,2320 60325 PDDL NORM # NORM R (+29 OR +27 - N1) 2D PL 4D
052802,000078: 11,2321 00045 36D
052803,000079: 11,2322 00047 X1
052804,000080: 11,2323 77715 PDVL
052805,000081: 11,2324 65241 DOT PDDL # F*SQRT(MU) (+7 OR +5) 4D PL 6D
052806,000082: 11,2325 01543 VCV
052807,000083: 11,2326 02074 TAU. # (+28)
052808,000084: 11,2327 60225 DSU NORM
052809,000085: 11,2330 01551 TC
052810,000086: 11,2331 00051 S1
052811,000087: 11,2332 77742 SR1
052812,000088: 11,2333 65271 DDV PDDL
052813,000089: 11,2334 00003 2D
052814,000090: 11,2335 41405 DMP PUSH # FS (+6 +N1-N2) 6D PL 8D
052815,000091: 11,2336 00005 4D
052816,000092: 11,2337 65316 DSQ PDDL # (FS)SQ (+12 +2(N1-N2)) 8D PL 10D
052817,000093: 11,2340 00005 4D
052818,000094: 11,2341 64716 DSQ PDDL* # SSQ/MU (-2 OR +2(N1-N2)) 10D PL 12D
052819,000095: 11,2342 51770 MUEARTH,2
052820,000096: 11,2343 40442 SR3 SR4
052821,000097: 11,2344 47515 PDVL VSQ # PREALIGN MU (+43 OR +37) 12D PL 14D
052822,000098: 11,2345 01543 VCV
052823,000099: 11,2346 44205 DMP BDSU # PL 12D
052824,000100: 11,2347 00045 36D
052825,000101: 11,2350 41271 DDV DMP # PL 10D
052826,000102: 11,2351 00003 2D # -(1/R-ALPHA) (+12 +3N1-2N2)
052827,000103: 11,2352 53605 DMP SL*
052828,000104: 11,2353 23720 DP2/3
052829,000105: 11,2354 20176 0 -3,1 # 10L(1/R-ALPHA) (+13 +2(N1-N2))
052830,000106: 11,2355 43260 XSU,1 DAD # 2(FS)SQ - ETCETRA PL 8D
052831,000107: 11,2356 00050 S1 # X1 = N2-N1
052832,000108: 11,2357 45257 SL* DSU # -FS+2(FS)SQ ETC (+6 +N1-N2) PL 6D
052833,000109: 11,2360 20211 8D,1
052834,000110: 11,2361 41205 DMP DMP
052835,000111: 11,2362 00001 0D
052836,000112: 11,2363 00005 4D
052837,000113: 11,2364 53657 SL* SL*
Page 1228 |
052839,000115: 11,2365 20211 8D,1
052840,000116: 11,2366 20201 0,1 # S(-FS(1-2FS)-1/6...) (+17 OR +16)
052841,000117: 11,2367 65215 DAD PDDL # PL 6D
052842,000118: 11,2370 01553 XKEP
052843,000119: 11,2371 53605 DMP SL* # S(+17 OR +16)
052844,000120: 11,2372 00001 0D
052845,000121: 11,2373 20202 1,1
052846,000122: 11,2374 43204 BOVB DAD
052847,000123: 11,2375 57725 TCDANZIG
052848,000124: 11,2376 77626 STADR
052849,000125: 11,2377 75647 STORE XKEPNEW
052850,000126: 11,2400 74020 STQ AXC,1
052851,000127: 11,2401 02112 KEPRTN
052852,000128: 11,2402 00012 DEC 10 B-14
052853,000129: 11,2403 74014 BON AXC,1
052854,000130: 11,2404 00303 MOONFLAG
052855,000131: 11,2405 24000 KEPLERN
052856,000132: 11,2406 00002 DEC 2 B-14
052857,000133: 11,2407 77650 GOTO
052858,000134: 11,2410 24000 KEPLERN
052859,000135:
Page 1229 |
052861,000137: 11,2411 66350 FBR3 LXA,1 SSP
052862,000138: 11,2412 01500 DIFEQCNT
052863,000139: 11,2413 00051 S1
052864,000140: 11,2414 77762 DEC -13 B-14
052865,000141: 11,2415 54345 DLOAD SR
052866,000142: 11,2416 02076 DT/2
052867,000143: 11,2417 20612 9D
052868,000144: 11,2420 61500 TIX,1 ROUND
052869,000145: 11,2421 22422 +1
052870,000146: 11,2422 43206 PUSH DAD
052871,000147: 11,2423 01551 TC
052872,000148: 11,2424 16074 STODL TAU.
052873,000149: 11,2425 77615 DAD
052874,000150: 11,2426 01517 TET
052875,000151: 11,2427 35517 STCALL TET
052876,000152: 11,2430 22311 KEPPREP
052877,000153:
Page 1230 |
052879,000155: # AGC ROUTINE TO COMPUTE ACCELERATION COMPONENTS.
052880,000156:
052881,000157: 11,2431 73150 ACCOMP LXA,1 LXA,2
052882,000158: 11,2432 02030 PBODY
052883,000159: 11,2433 02030 PBODY
052884,000160: 11,2434 77775 VLOAD
052885,000161: 11,2435 22275 ZEROVEC
052886,000162: 11,2436 26062 STOVL FV
052887,000163: 11,2437 02032 ALPHAV
052888,000164: 11,2440 53257 VSL* VAD
052889,000165: 11,2441 57605 0 -7,2
052890,000166: 11,2442 01535 RCV
052891,000167: 11,2443 02040 STORE BETAV
052892,000168: 11,2444 65014 BOF XCHX,2
052893,000169: 11,2445 01756 DIM0FLAG
052894,000170: 11,2446 22453 +5
052895,000171: 11,2447 01500 DIFEQCNT
052896,000172: 11,2450 12132 STORE VECTAB,2
052897,000173: 11,2451 77724 XCHX,2
052898,000174: 11,2452 01500 DIFEQCNT
052899,000175: 11,2453 53575 VLOAD UNIT
052900,000176: 11,2454 02032 ALPHAV
052901,000177: 11,2455 16032 STODL ALPHAV
052902,000178: 11,2456 00045 36D
052903,000179: 11,2457 02070 STORE ALPHAM
052904,000180: 11,2460 77624 CALL
052905,000181: 11,2461 22563 GAMCOMP
052906,000182: 11,2462 66175 VLOAD SXA,1
052907,000183: 11,2463 02040 BETAV
052908,000184: 11,2464 00051 S2
052909,000185: 11,2465 16032 STODL ALPHAV
052910,000186: 11,2466 02072 BETAM
052911,000187: 11,2467 02070 STORE ALPHAM
052912,000188: 11,2470 71214 BOF DLOAD
052913,000189: 11,2471 00342 MIDFLAG
052914,000190: 11,2472 22726 OBLATE
052915,000191: 11,2473 01517 TET
052916,000192: 11,2474 77624 CALL
052917,000193: 11,2475 33663 LSPOS
052918,000194: 11,2476 72174 AXT,2 LXA,1
052919,000195: 11,2477 00002 2
052920,000196: 11,2500 00051 S2
052921,000197: 11,2501 77614 BOF
052922,000198: 11,2502 00343 MOONFLAG
052923,000199: 11,2503 22506 +3
052924,000200: 11,2504 77076 VCOMP AXT,2
052925,000201: 11,2505 00000 0
052926,000202: 11,2506 02040 STORE BETAV
052927,000203: 11,2507 26105 STOVL RPQV
Page 1231 |
052929,000205: 11,2510 00003 2D
052930,000206: 11,2511 02122 STORE RPSV
052931,000207: 11,2512 45335 SLOAD DSU
052932,000208: 11,2513 01012 MODREG
052933,000209: 11,2514 23722 OCT27
052934,000210: 11,2515 43030 BHIZ BOF
052935,000211: 11,2516 22521 +3
052936,000212: 11,2517 01756 DIM0FLAG
052937,000213: 11,2520 22535 GETRPSV
052938,000214: 11,2521 74375 VLOAD VXSC
052939,000215: 11,2522 02032 ALPHAV
052940,000216: 11,2523 02070 ALPHAM
052941,000217: 11,2524 52257 VSR* VSU
052942,000218: 11,2525 57175 1,2
052943,000219: 11,2526 02040 BETAV
052944,000220: 11,2527 77724 XCHX,2
052945,000221: 11,2530 01500 DIFEQCNT
052946,000222: 11,2531 12140 STORE VECTAB +6,2
052947,000223: 11,2532 02114 STORE RQVV
052948,000224: 11,2533 77724 XCHX,2
052949,000225: 11,2534 01500 DIFEQCNT
052950,000226: 11,2535 62175 GETRPSV VLOAD INCR,1
052951,000227: 11,2536 02105 RPQV
052952,000228: 11,2537 00004 4
052953,000229: 11,2540 43014 CLEAR BOF
052954,000230: 11,2541 04260 RPQFLAG
052955,000231: 11,2542 00343 MOONFLAG
052956,000232: 11,2543 22550 +5
052957,000233: 11,2544 53261 VSR VAD
052958,000234: 11,2545 20612 9D
052959,000235: 11,2546 02122 RPSV
052960,000236: 11,2547 02122 STORE RPSV
052961,000237: 11,2550 77624 CALL
052962,000238: 11,2551 22563 GAMCOMP
052963,000239: 11,2552 62174 AXT,2 INCR,1
052964,000240: 11,2553 00004 4
052965,000241: 11,2554 00004 4
052966,000242: 11,2555 77775 VLOAD
052967,000243: 11,2556 02122 RPSV
052968,000244: 11,2557 36040 STCALL BETAV
052969,000245: 11,2560 22563 GAMCOMP
052970,000246: 11,2561 77650 GOTO
052971,000247: 11,2562 22726 OBLATE
052972,000248: 11,2563 74575 GAMCOMP VLOAD VSR1
052973,000249: 11,2564 02040 BETAV
052974,000250: 11,2565 40236 VSQ SETPD
052975,000251: 11,2566 00001 0
052976,000252: 11,2567 61501 NORM ROUND
052977,000253: 11,2570 00040 31D
052978,000254: 11,2571 60325 PDDL NORM # NORMED B SQUARED TO PD LIST
Page 1232 |
052980,000256: 11,2572 02070 ALPHAM # NORMALIZE (LESS ONE) LENGTH OF ALPHA
052981,000257: 11,2573 00041 32D # SAVING NORM SCALE FACTOR IN X1
052982,000258: 11,2574 63342 SR1 PDVL
052983,000259: 11,2575 02040 BETAV # C(PDL+2) = ALMOST NORMED ALPHA
052984,000260: 11,2576 77656 UNIT
052985,000261: 11,2577 16040 STODL BETAV
052986,000262: 11,2600 00045 36D
052987,000263: 11,2601 02072 STORE BETAM
052988,000264: 11,2602 55301 NORM BDDV # FORM NORMALIZED QUOTIENT ALPHAM/BETAM
052989,000265: 11,2603 00042 33D
052990,000266: 11,2604 41562 SR1R PUSH # C(PDL+2) = ALMOST NORMALIZED RHO.
052991,000267: 11,2605 77743 DLOAD*
052992,000268: 11,2606 27734 ASCALE,1
052993,000269: 11,2607 00051 STORE S1
052994,000270: 11,2610 57124 XCHX,2 XAD,2
052995,000271: 11,2611 00050 S1
052996,000272: 11,2612 00040 32D
052997,000273: 11,2613 71264 XSU,2 DLOAD
052998,000274: 11,2614 00041 33D
052999,000275: 11,2615 00003 2D
053000,000276: 11,2616 65057 SR* XCHX,2
053001,000277: 11,2617 57177 0 -1,2
053002,000278: 11,2620 00050 S1
053003,000279: 11,2621 74406 PUSH SR1R # RHO/4 TO 4D
053004,000280: 11,2622 50315 PDVL DOT
053005,000281: 11,2623 02032 ALPHAV
053006,000282: 11,2624 02040 BETAV
053007,000283: 11,2625 44372 SL1R BDSU # (RHO/4) - 2(ALPHAV/2.BETAV/2)
053008,000284: 11,2626 57206 PUSH DMPR # TO PDL+6
053009,000285: 11,2627 00005 4
053010,000286: 11,2630 77752 SL1
053011,000287: 11,2631 43206 PUSH DAD
053012,000288: 11,2632 23702 DQUARTER
053013,000289: 11,2633 75406 PUSH SQRT
053014,000290: 11,2634 41475 DMPR PUSH
053015,000291: 11,2635 00013 10D
053016,000292: 11,2636 43352 SL1 DAD
053017,000293: 11,2637 23702 DQUARTER
053018,000294: 11,2640 43325 PDDL DAD # (1/4)+2((Q+1)/4) TO PD+14D
053019,000295: 11,2641 00013 10D
053020,000296: 11,2642 22273 HALFDP
053021,000297: 11,2643 72475 DMPR SL1
053022,000298: 11,2644 00011 8D
053023,000299: 11,2645 56215 DAD DDV
053024,000300: 11,2646 23674 THREE/8
053025,000301: 11,2647 00017 14D
053026,000302: 11,2650 74275 DMPR VXSC
053027,000303: 11,2651 00007 6
053028,000304: 11,2652 02040 BETAV # -
053029,000305: 11,2653 64515 PDVL VSR3 # (G/2)(C(PD+4))B/2 TO PD+16D
Page 1233 |
053031,000307: 11,2654 02032 ALPHAV
053032,000308: 11,2655 41455 VAD PUSH # A12 + C(PD+16D) TO PD+16D
053033,000309: 11,2656 41345 DLOAD DMP
053034,000310: 11,2657 00001 0
053035,000311: 11,2660 00015 12D
053036,000312: 11,2661 61501 NORM ROUND
053037,000313: 11,2662 00037 30D
053038,000314: 11,2663 40665 BDDV DMP*
053039,000315: 11,2664 00003 2
053040,000316: 11,2665 51770 MUEARTH,2
053041,000317: 11,2666 74276 DCOMP VXSC
053042,000318: 11,2667 57124 XCHX,2 XAD,2
053043,000319: 11,2670 00050 S1
053044,000320: 11,2671 00051 S2
053045,000321: 11,2672 55064 XSU,2 XSU,2
053046,000322: 11,2673 00036 30D
053047,000323: 11,2674 00037 31D
053048,000324: 11,2675 77600 BOV # CLEAR OVIND
053049,000325: 11,2676 22677 +1
053050,000326: 11,2677 65057 VSR* XCHX,2
053051,000327: 11,2700 57177 0 -1,2
053052,000328: 11,2701 00050 S1
053053,000329: 11,2702 77655 VAD
053054,000330: 11,2703 02062 FV
053055,000331: 11,2704 02062 STORE FV
053056,000332: 11,2705 43400 BOV RVQ # RETURN IF NO OVERFLOW
053057,000333: 11,2706 22707 +1
Reconstruction: At this point in Luminary 99/1, we would find the code sequenceGOBAQUE VLOAD ABVAL DELTAV BZE INT-ABRT DLOAD SRThat's replaced in Luminary 69/2 by the single instruction following this annotation. This particular change is due to a change in Luminary 99/1 that's unrelated to the R-2 model. Instead, this change is due to LUMINARY Memo #67, "LUMINARY Revisions 70-79", and in particular to a change incorporated in Luminary 79. The memo describes this change as "PCR 720 was implemented. (Abort coasting integration when in infinite acceleration overflow loop). This change added the new POODOO code 430". In particular, the code checks to see if |TDELTAV|=0, and then jumps to INT-ABRT (see next annotation), and thus to POODOO if so. |
053075,000351: 11,2707 54345 GOBAQUE DLOAD SR
053076,000352: 11,2710 02100 H
053077,000353: 11,2711 20612 9D
053078,000354: 11,2712 44206 PUSH BDSU
053079,000355: 11,2713 01551 TC
053080,000356: 11,2714 16074 STODL TAU.
053081,000357: 11,2715 01517 TET
053082,000358: 11,2716 45425 DSU STADR
053083,000359: 11,2717 42260 STCALL TET
053084,000360: 11,2720 22311 KEPPREP
053085,000361: 11,2721 77624 CALL
053086,000362: 11,2722 23345 RECTIFY
053087,000363: 11,2723 77614 SETGO
053088,000364: 11,2724 04020 RPQFLAG
053089,000365: 11,2725 27255 TESTLOOP
053090,000366:
Reconstruction: At this point in Luminary 99/1, we would find the code sequenceINT-ABRT EXIT TC POODOO OCT 00430This code provides the end of the code sequence described in the preceding annotation above, and as such is simply omitted in Luminary 69/2. |
053099,000375:
Page 1234 |
053101,000377: # THE OBLATE ROUTINE COMPUTES THE ACCELERATION DUE TO OBLATENESS. IT USES THE UNIT OF THE VEHICLE
053102,000378: # POSITION VECTOR FOUND IN ALPHAV AND THE DISTANCE TO THE CENTER IN ALPHAM. THIS IS ADDED TO THE SUM OF THE
053103,000379: # DISTURBING ACCELERATIONS IN FV AND THE PROPER DIFEQ STAGE IS CALLED VIA X1.
053104,000380:
053105,000381: 11,2726 71354 OBLATE LXA,2 DLOAD
053106,000382: 11,2727 02030 PBODY
053107,000383: 11,2730 02070 ALPHAM
053108,000384: 11,2731 44601 SETPD DSU*
053109,000385: 11,2732 00001 0
053110,000386: 11,2733 50027 RDE,2
053111,000387: 11,2734 43044 BPL BOF # GET URPV
053112,000388: 11,2735 23136 NBRANCH
053113,000389: 11,2736 00343 MOONFLAG
053114,000390: 11,2737 23145 COSPHIE
053115,000391: 11,2740 65375 VLOAD PDDL
053116,000392: 11,2741 02032 ALPHAV
053117,000393: 11,2742 01517 TET
053118,000394: 11,2743 45125 PDDL CALL
053119,000395: 11,2744 23672 3/5
053120,000396: 11,2745 51531 R-TO-RP
053121,000397: 11,2746 00017 STORE URPV
053122,000398: 11,2747 47375 VLOAD VXV
053123,000399: 11,2750 02013 504LM
053124,000400: 11,2751 22267 ZUNIT
053125,000401: 11,2752 61255 VAD VXM
053126,000402: 11,2753 22267 ZUNIT
053127,000403: 11,2754 00025 MMATRIX
053128,000404: 11,2755 77656 UNIT # POSSIBLY UNNECESSARY
053129,000405: 11,2756 00025 COMTERM STORE UZ
053130,000406: 11,2757 57345 DLOAD DMPR
053131,000407: 11,2760 00023 COSPHI/2
053132,000408: 11,2761 23704 3/32
053133,000409: 11,2762 63525 PDDL DSQ # P2/64 TO PD0
053134,000410: 11,2763 00023 COSPHI/2
053135,000411: 11,2764 45275 DMPR DSU
053136,000412: 11,2765 23706 15/16
053137,000413: 11,2766 23700 3/64
053138,000414: 11,2767 57206 PUSH DMPR # P3/32 TO PD2
053139,000415: 11,2770 00023 COSPHI/2
053140,000416: 11,2771 76405 DMP SL1R
053141,000417: 11,2772 23712 7/12
053142,000418: 11,2773 57325 PDDL DMPR
053143,000419: 11,2774 00001 0
053144,000420: 11,2775 23720 2/3
053145,000421: 11,2776 41421 BDSU PUSH # P4/128 TO PD4
053146,000422: 11,2777 57275 DMPR DMPR
053147,000423: 11,3000 00023 COSPHI/2 # BEGIN COMPUTING P5/1024
053148,000424: 11,3001 23714 9/16
053149,000425: 11,3002 57325 PDDL DMPR
053150,000426: 11,3003 00003 2
053151,000427: 11,3004 23716 5/128
Page 1235 |
053153,000429: 11,3005 77621 BDSU
053154,000430: 11,3006 77603 DMP*
053155,000431: 11,3007 51764 J4REQ/J3,2
053156,000432: 11,3010 43271 DDV DAD # -3
053157,000433: 11,3011 02070 ALPHAM # (((P5/256)B 2 /R+P4/32) /R+P3/8)ALPHAV
053158,000434: 11,3012 00005 4 # 4 3
053159,000435: 11,3013 56273 DMPR* DDV
053160,000436: 11,3014 51760 2J3RE/J2,2
053161,000437: 11,3015 02070 ALPHAM
053162,000438: 11,3016 74215 DAD VXSC
053163,000439: 11,3017 00003 2
053164,000440: 11,3020 02032 ALPHAV
053165,000441: 11,3021 14033 STODL TVEC
053166,000442: 11,3022 70403 DMP* SR1
053167,000443: 11,3023 51764 J4REQ/J3,2
053168,000444: 11,3024 43271 DDV DAD
053169,000445: 11,3025 02070 ALPHAM # -3
053170,000446: 11,3026 50473 DMPR* SR3
053171,000447: 11,3027 51760 2J3RE/J2,2 # 3 4
053172,000448: 11,3030 43271 DDV DAD
053173,000449: 11,3031 02070 ALPHAM
053174,000450: 11,3032 76561 VXSC VSL1
053175,000451: 11,3033 00025 UZ
053176,000452: 11,3034 77645 BVSU
053177,000453: 11,3035 00033 TVEC
053178,000454: 11,3036 14033 STODL TVEC
053179,000455: 11,3037 02070 ALPHAM
053180,000456: 11,3040 63501 NORM DSQ
053181,000457: 11,3041 00047 X1
053182,000458: 11,3042 60316 DSQ NORM
053183,000459: 11,3043 00051 S1 # 4
053184,000460: 11,3044 54606 PUSH BDDV* # NORMED R TO 0D
053185,000461: 11,3045 51754 J2REQSQ,2
053186,000462: 11,3046 40161 VXSC BOV
053187,000463: 11,3047 00033 TVEC
053188,000464: 11,3050 23051 +1 # (RESET OVERFLOW INDICATOR)
053189,000465: 11,3051 56070 XAD,1 XAD,1
053190,000466: 11,3052 00046 X1
053191,000467: 11,3053 00046 X1
053192,000468: 11,3054 53670 XAD,1 VSL*
053193,000469: 11,3055 00050 S1
053194,000470: 11,3056 20153 0 -22D,1
053195,000471: 11,3057 40055 VAD BOV
053196,000472: 11,3060 02062 FV
053197,000473: 11,3061 22707 GOBAQUE
053198,000474: 11,3062 36062 STCALL FV
053199,000475: 11,3063 23722 QUALITY1
053200,000476:
053201,000477: 11,3064 77716 QUALITY3 DSQ # J22 TERM X R**4 IN 2D, SCALED B61
053202,000478: # AS VECTOR.
Page 1236 |
053204,000480: 11,3065 41206 PUSH DMP # STORE COSPHI**2 SCALED B2 IN 8D
053205,000481: 11,3066 27736 5/8 # 5 SCALED B3
053206,000482: 11,3067 60525 PDDL SR2 # PUT 5 COSPHI**2, D5, IN 8D. GET
053207,000483: # COSPHI**2 D2 FROM 8D
053208,000484: 11,3070 44215 DAD BDSU # END UP WITH (1-7 COSPHI**2), B5
053209,000485: 11,3071 00011 8D # ADDING COSPHI**2 B4 SAME AS COSPHI**2
053210,000486: # X 2 D5
053211,000487: 11,3072 10764 D1/32 # 1 SCALED B5
053212,000488: 11,3073 41205 DMP DMP
053213,000489: 11,3074 00017 URPV # X COMPONENT
053214,000490: 11,3075 27736 5/8 # 5 SCALED B3
053215,000491: 11,3076 56561 VXSC VSL5 # AFTER SHIFT, SCALED B5
053216,000492: 11,3077 00017 URPV # VECTOR, B1.
053217,000493: 11,3100 77725 PDDL # VECTOR INTO 8D, 10D, 12D, SCALED B5.
053218,000494: # GET 5 COSPHI**2 OUT OF 8D
053219,000495: 11,3101 43225 DSU DAD
053220,000496: 11,3102 10764 D1/32 # 1 B5
053221,000497: 11,3103 00011 8D # X COMPONENT (SAME AS MULTIPLYING
053222,000498: # BY UNITX)
053223,000499: 11,3104 14011 STODL 8D
053224,000500: 11,3105 00017 URPV # X COMPONENT
053225,000501: 11,3106 41205 DMP DMP
053226,000502: 11,3107 00023 URPV +4 # Z COMPONENT
053227,000503: 11,3110 27736 5/8 # 5 B3 ANSWER B5
053228,000504: 11,3111 43352 SL1 DAD # FROM 12D FOR Z COMPONENT (SL1 GIVES 10
053229,000505: # INSTEAD OF 5 FOR COEFFICIENT)
053230,000506: 11,3112 60325 PDDL NORM # BACK INTO 12D FOR Z COMPONENT.
053231,000507: 11,3113 02070 ALPHAM # SCALED B27 FOR MOON
053232,000508: 11,3114 00050 X2
053233,000509: 11,3115 67206 PUSH SLOAD # STORE IN 14D, DESTROYING URPV
053234,000510: # X COMPONENT
053235,000511: 11,3116 01353 E32C31RM
053236,000512: 11,3117 74271 DDV VXSC # IF X2 = 0, DIVISION GIVES B53, VXSC
053237,000513: # OUT OF 8D B5 GIVES B58
053238,000514: 11,3120 53257 VSL* VAD # SHIFT MAKES B61, FOR ADDITION OF
053239,000515: # VECTOR IN 2D
053240,000516: 11,3121 57601 0 -3,2
053241,000517: 11,3122 70257 VSL* V/SC # OPERAND FROM 0D, B108 FOR X1 = 0
053242,000518: 11,3123 20146 0 -27D,1 # FOR X1 = 0, MAKES B88, GIVING B-20
053243,000519: # FOR RESULT.
053244,000520: 11,3124 65325 PDDL PDDL
053245,000521: 11,3125 01517 TET
053246,000522: 11,3126 27736 5/8 # ANY NON-ZERO CONSTANT
053247,000523: 11,3127 45154 LXA,2 CALL # POSITION IN 0D, TIME IN 6D. X2 LEFT
053248,000524: # ALONE.
053249,000525: 11,3130 02030 PBODY
053250,000526: 11,3131 51504 RP-TO-R
053251,000527: 11,3132 40055 VAD BOV # OVERFLOW INDICATOR RESET IN "RP-TO-R"
053252,000528: 11,3133 02062 FV
053253,000529: 11,3134 22707 GOBAQUE
Page 1237 |
053255,000531: 11,3135 02062 STORE FV
053256,000532: 11,3136 72135 NBRANCH SLOAD LXA,1
053257,000533: 11,3137 01501 DIFEQCNT
053258,000534: 11,3140 00154 MPAC
053259,000535: 11,3141 73205 DMP CGOTO
053260,000536: 11,3142 27740 -1/12
053261,000537: 11,3143 00155 MPAC
053262,000538: 11,3144 23153 DIFEQTAB
053263,000539: 11,3145 77745 COSPHIE DLOAD
053264,000540: 11,3146 02036 ALPHAV +4
053265,000541: 11,3147 24023 STOVL COSPHI/2
053266,000542: 11,3150 22267 ZUNIT
053267,000543: 11,3151 77650 GOTO
053268,000544: 11,3152 22756 COMTERM
053269,000545: 11,3153 23372 DIFEQTAB CADR DIFEQ+0
053270,000546: 11,3154 23376 CADR DIFEQ+1
053271,000547: 11,3155 23407 CADR DIFEQ+2
053272,000548: 11,3156 77214 TIMESTEP BOF VLOAD
053273,000549: 11,3157 00342 MIDFLAG
053274,000550: 11,3160 23207 RECTEST
053275,000551: 11,3161 01535 RCV
053276,000552: 11,3162 41241 DOT DMP
053277,000553: 11,3163 01543 VCV
053278,000554: 11,3164 02076 DT/2 # (R.V) X (DELTA T)
053279,000555: 11,3165 77640 BMN
053280,000556: 11,3166 23207 RECTEST
053281,000557: 11,3167 43014 BON BOF
053282,000558: 11,3170 00303 MOONFLAG
053283,000559: 11,3171 23264 LUNSPH
053284,000560: 11,3172 04340 RPQFLAG
053285,000561: 11,3173 23261 EARSPH
053286,000562: 11,3174 45145 DLOAD CALL
053287,000563: 11,3175 01517 TET
053288,000564: 11,3176 33663 LSPOS # RPQV IN MPAC
053289,000565: 11,3177 02105 STORE RPQV # RPQV
053290,000566: 11,3200 77754 LXA,2
053291,000567: 11,3201 02030 PBODY
053292,000568: 11,3202 51445 INLUNCHK BVSU ABVAL
053293,000569: 11,3203 01535 RCV
053294,000570: 11,3204 50025 DSU BMN
053295,000571: 11,3205 27744 RSPHERE
053296,000572: 11,3206 23301 DOSWITCH
053297,000573: 11,3207 51575 RECTEST VLOAD ABVAL # RECTIFY IF
053298,000574: 11,3210 01521 TDELTAV
053299,000575: 11,3211 77600 BOV
053300,000576: 11,3212 23235 CALLRECT
053301,000577: 11,3213 51025 DSU BPL # 1) EITHER TDELTAV OR TNUV EQUALS OR
053302,000578: 11,3214 23710 3/4 # EXCEEDS 3/4 IN MAGNITUDE
053303,000579: 11,3215 23235 CALLRECT
053304,000580: 11,3216 53615 DAD SL* # OR
Page 1238 |
053306,000582: 11,3217 23710 3/4
053307,000583: 11,3220 57605 0 -7,2 # 2) ABVAL(TDELTAV) EQUALS OR EXCEEDS
053308,000584: 11,3221 45271 DDV DSU # .01(ABVAL(RCV))
053309,000585: 11,3222 00013 10D
053310,000586: 11,3223 27742 RECRATIO
053311,000587: 11,3224 77244 BPL VLOAD
053312,000588: 11,3225 23235 CALLRECT
053313,000589: 11,3226 01527 TNUV
053314,000590: 11,3227 45246 ABVAL DSU
053315,000591: 11,3230 23710 3/4
053316,000592: 11,3231 77600 BOV
053317,000593: 11,3232 23235 CALLRECT
053318,000594: 11,3233 77640 BMN
053319,000595: 11,3234 23237 INTGRATE
053320,000596: 11,3235 77624 CALLRECT CALL
053321,000597: 11,3236 23345 RECTIFY
053322,000598: 11,3237 77775 INTGRATE VLOAD
053323,000599: 11,3240 01527 TNUV
053324,000600: 11,3241 25135 STOVL ZV
053325,000601: 11,3242 01521 TDELTAV
053326,000602: 11,3243 01127 STORE YV
053327,000603: 11,3244 77614 CLEAR
053328,000604: 11,3245 00261 JSWITCH
053329,000605: 11,3246 66375 DIFEQ0 VLOAD SSP
053330,000606: 11,3247 01127 YV
053331,000607: 11,3250 01501 DIFEQCNT
053332,000608: 11,3251 00000 0
053333,000609: 11,3252 16032 STODL ALPHAV
053334,000610: 11,3253 22275 DPZERO
053335,000611: 11,3254 02100 STORE H # START H AT ZERO. GOES 0(DELT/2)DELT.
053336,000612: 11,3255 52014 BON GOTO
053337,000613: 11,3256 00301 JSWITCH
053338,000614: 11,3257 23611 DOW..
053339,000615: 11,3260 22431 ACCOMP
053340,000616: 11,3261 52175 EARSPH VLOAD GOTO
053341,000617: 11,3262 02105 RPQV
053342,000618: 11,3263 23202 INLUNCHK
053343,000619: 11,3264 60545 LUNSPH DLOAD SR2
053344,000620: 11,3265 00013 10D
053345,000621: 11,3266 50025 DSU BMN
053346,000622: 11,3267 27744 RSPHERE
053347,000623: 11,3270 23207 RECTEST
053348,000624: 11,3271 71214 BOF DLOAD
053349,000625: 11,3272 04340 RPQFLAG
053350,000626: 11,3273 23301 DOSWITCH
053351,000627: 11,3274 01517 TET
053352,000628: 11,3275 77624 CALL
053353,000629: 11,3276 33663 LUNPOS
053354,000630: 11,3277 77676 VCOMP
053355,000631: 11,3300 02105 STORE RPQV
Page 1239 |
053357,000633: 11,3301 77624 DOSWITCH CALL
053358,000634: 11,3302 23305 ORIGCHNG
053359,000635: 11,3303 77650 GOTO
053360,000636: 11,3304 23237 INTGRATE
053361,000637: 11,3305 45020 ORIGCHNG STQ CALL
053362,000638: 11,3306 02112 ORIGEX
053363,000639: 11,3307 23345 RECTIFY
053364,000640: 11,3310 53775 VLOAD VSL*
053365,000641: 11,3311 01535 RCV
053366,000642: 11,3312 57576 0,2
053367,000643: 11,3313 53651 VSU VSL*
053368,000644: 11,3314 02105 RPQV
053369,000645: 11,3315 57574 2,2
053370,000646: 11,3316 01503 STORE RRECT
053371,000647: 11,3317 15535 STODL RCV
053372,000648: 11,3320 01517 TET
053373,000649: 11,3321 77624 CALL
053374,000650: 11,3322 33774 LUNVEL
053375,000651: 11,3323 57414 BOF VCOMP
053376,000652: 11,3324 00343 MOONFLAG
053377,000653: 11,3325 23326 +1
053378,000654: 11,3326 53715 PDVL VSL*
053379,000655: 11,3327 01543 VCV
053380,000656: 11,3330 57576 0,2
053381,000657: 11,3331 77651 VSU
053382,000658: 11,3332 77657 VSL*
053383,000659: 11,3333 57574 0 +2,2
053384,000660: 11,3334 01511 STORE VRECT
053385,000661: 11,3335 01543 STORE VCV
053386,000662: 11,3336 67154 LXA,2 SXA,2
053387,000663: 11,3337 02112 ORIGEX
053388,000664: 11,3340 00052 QPRET
053389,000665: 11,3341 52014 BON GOTO
053390,000666: 11,3342 00303 MOONFLAG
053391,000667: 11,3343 26711 CLRMOON
053392,000668: 11,3344 26716 SETMOON
Page 1240 |
053394,000670: # THE RECTIFY SUBROUTINE IS CALLED BY THE INTEGRATION PROGRAM AND OCCASIONALLY BY THE MEASUREMENT INCORPORATION
053395,000671: # ROUTINES TO ESTABLISH A NEW CONIC.
053396,000672:
053397,000673: 11,3345 77354 RECTIFY LXA,2 VLOAD
053398,000674: 11,3346 02030 PBODY
053399,000675: 11,3347 01521 TDELTAV
053400,000676: 11,3350 53257 VSL* VAD
053401,000677: 11,3351 57605 0 -7,2
053402,000678: 11,3352 01535 RCV
053403,000679: 11,3353 01503 STORE RRECT
053404,000680: 11,3354 25535 STOVL RCV
053405,000681: 11,3355 01527 TNUV
053406,000682: 11,3356 53257 VSL* VAD
053407,000683: 11,3357 57602 0 -4,2
053408,000684: 11,3360 01543 VCV
053409,000685: 11,3361 01511 MINIRECT STORE VRECT
053410,000686: 11,3362 25543 STOVL VCV
053411,000687: 11,3363 22275 ZEROVEC
053412,000688: 11,3364 01521 STORE TDELTAV
053413,000689: 11,3365 15527 STODL TNUV
053414,000690: 11,3366 22275 ZEROVEC
053415,000691: 11,3367 01551 STORE TC
053416,000692: 11,3370 01553 STORE XKEP
053417,000693: 11,3371 77616 RVQ
053418,000694:
Page 1241 |
053420,000696: # THE THREE DIFEQ ROUTINES - DIFEQ+0, DIFEQ+12, AND DIFEQ+24 - ARE ENTERED TO PROCESS THE CONTRIBUTIONS AT THE
053421,000697: # BEGINNING, MIDDLE, AND END OF THE TIMESTEP, RESPECTIVELY. THE UPDATING IS DONE BY THE NYSTROM METHOD.
053422,000698:
053423,000699: 11,3372 64575 DIFEQ+0 VLOAD VSR3
053424,000700: 11,3373 02062 FV
053425,000701: 11,3374 36046 STCALL PHIV
053426,000702: 11,3375 23552 DIFEQCOM
053427,000703: 11,3376 74575 DIFEQ+1 VLOAD VSR1
053428,000704: 11,3377 02062 FV
053429,000705: 11,3400 53206 PUSH VAD
053430,000706: 11,3401 02046 PHIV
053431,000707: 11,3402 26054 STOVL PSIV
053432,000708: 11,3403 53362 VSR1 VAD
053433,000709: 11,3404 02046 PHIV
053434,000710: 11,3405 36046 STCALL PHIV
053435,000711: 11,3406 23552 DIFEQCOM
053436,000712: 11,3407 57345 DIFEQ+2 DLOAD DMPR
053437,000713: 11,3410 02100 H
053438,000714: 11,3411 23720 DP2/3
053439,000715: 11,3412 74206 PUSH VXSC
053440,000716: 11,3413 02046 PHIV
053441,000717: 11,3414 53372 VSL1 VAD
053442,000718: 11,3415 01135 ZV
053443,000719: 11,3416 53361 VXSC VAD
053444,000720: 11,3417 02100 H
053445,000721: 11,3420 01127 YV
053446,000722: 11,3421 25127 STOVL YV
053447,000723: 11,3422 02062 FV
053448,000724: 11,3423 53322 VSR3 VAD
053449,000725: 11,3424 02054 PSIV
053450,000726: 11,3425 76561 VXSC VSL1
053451,000727: 11,3426 77655 VAD
053452,000728: 11,3427 01135 ZV
053453,000729: 11,3430 01135 STORE ZV
053454,000730: 11,3431 45014 BOFF CALL
053455,000731: 11,3432 00341 JSWITCH
053456,000732: 11,3433 23503 ENDSTATE
053457,000733: 11,3434 11165 GRP2PC
053458,000734: 11,3435 77354 LXA,2 VLOAD
053459,000735: 11,3436 01117 COLREG
053460,000736: 11,3437 01135 ZV
053461,000737: 11,3440 77732 VSL3 # ADJUST W-POSITION FOR STORAGE
053462,000738: 11,3441 12467 STORE W +54D,2
053463,000739: 11,3442 77775 VLOAD
053464,000740: 11,3443 01127 YV
053465,000741: 11,3444 40132 VSL3 BOV
053466,000742: 11,3445 23575 WMATEND
053467,000743: 11,3446 12401 STORE W,2
053468,000744:
053469,000745: 11,3447 77624 CALL
053470,000746: 11,3450 11165 GRP2PC
Page 1242 |
053472,000748: 11,3451 66354 LXA,2 SSP
053473,000749: 11,3452 01117 COLREG
053474,000750: 11,3453 00052 S2
053475,000751: 11,3454 00000 0
053476,000752: 11,3455 67114 INCR,2 SXA,2
053477,000753: 11,3456 00006 6
053478,000754: 11,3457 01126 YV
053479,000755: 11,3460 45104 TIX,2 CALL
053480,000756: 11,3461 23546 RELOADSV
053481,000757: 11,3462 11165 GRP2PC
053482,000758: 11,3463 67154 LXA,2 SXA,2
053483,000759: 11,3464 01126 YV
053484,000760: 11,3465 01117 COLREG
053485,000761:
053486,000762: 11,3466 77624 NEXTCOL CALL
053487,000763: 11,3467 11165 GRP2PC
053488,000764: 11,3470 76754 LXA,2 VLOAD*
053489,000765: 11,3471 01117 COLREG
053490,000766: 11,3472 75376 W,2
053491,000767: 11,3473 77722 VSR3 # ADJUST W-POSITION FOR INTEGRATION
053492,000768: 11,3474 01127 STORE YV
053493,000769: 11,3475 76173 VLOAD* AXT,1
053494,000770: 11,3476 75310 W +54D,2
053495,000771: 11,3477 00000 0
053496,000772: 11,3500 77722 VSR3 # ADJUST W-VELOCITY FOR INTEGRATION
053497,000773: 11,3501 35135 STCALL ZV
053498,000774: 11,3502 23246 DIFEQ0
053499,000775:
053500,000776: 11,3503 77200 ENDSTATE BOV VLOAD
053501,000777: 11,3504 22707 GOBAQUE
053502,000778: 11,3505 01135 ZV
053503,000779: 11,3506 25527 STOVL TNUV
053504,000780: 11,3507 01127 YV
053505,000781: 11,3510 01521 STORE TDELTAV
053506,000782: 11,3511 43014 BON BOFF
053507,000783: 11,3512 04715 MIDAVFLG
053508,000784: 11,3513 27657 CKMID2 # CHECK FOR MID2 BEFORE GOING TO TIMEINC
053509,000785: 11,3514 01756 DIM0FLAG
053510,000786: 11,3515 27255 TESTLOOP
053511,000787: 11,3516 77776 EXIT
053512,000788: 11,3517 05353 TC PHASCHNG
053513,000789: 11,3520 04022 OCT 04022 # PHASE 1
053514,000790: 11,3521 05504 TC UPFLAG # PHASE CHANGE HAS OCCURRED BETWEEN
053515,000791: 11,3522 00236 ADRES REINTFLG # INTSTALL AND INTWAKE
053516,000792: 11,3523 06036 TC INTPRET
053517,000793: 11,3524 77731 SSP
053518,000794: 11,3525 00053 QPRET
053519,000795: 11,3526 23533 AMOVED
053520,000796: 11,3527 52014 BON GOTO
053521,000797: 11,3530 01714 VINTFLAG
Page 1243 |
053523,000799: 11,3531 26661 ATOPCSM
053524,000800: 11,3532 26734 ATOPLEM
053525,000801: 11,3533 66214 AMOVED SET SSP
053526,000802: 11,3534 00061 JSWITCH
053527,000803: 11,3535 01120 COLREG
053528,000804: 11,3536 77741 DEC -30 B-14
053529,000805: 11,3537 66214 BOFF SSP
053530,000806: 11,3540 01755 D6OR9FLG
053531,000807: 11,3541 23466 NEXTCOL
053532,000808: 11,3542 01120 COLREG
053533,000809: 11,3543 77717 DEC -48 B-14
053534,000810: 11,3544 77650 GOTO
053535,000811: 11,3545 23466 NEXTCOL
053536,000812:
053537,000813: 11,3546 77745 RELOADSV DLOAD # RELOAD TEMPORARY STATE VECTOR
053538,000814: 11,3547 01116 TDEC # FROM PERMANENT IN CASE OF
053539,000815: 11,3550 34041 STCALL TDEC1
053540,000816: 11,3551 27141 INTEGRV2 # BY STARTING AT INTEGRV2.
053541,000817: 11,3552 43345 DIFEQCOM DLOAD DAD # INCREMENT H AND DIFEQCNT.
053542,000818: 11,3553 02076 DT/2
053543,000819: 11,3554 02100 H
053544,000820: 11,3555 66110 INCR,1 SXA,1
053545,000821: 11,3556 77763 DEC -12 B-14
053546,000822: 11,3557 01500 DIFEQCNT # DIFEQCNT SET FOR NEXT ENTRY.
053547,000823: 11,3560 02100 STORE H
053548,000824: 11,3561 74561 VXSC VSR1
053549,000825: 11,3562 02062 FV
053550,000826: 11,3563 74255 VAD VXSC
053551,000827: 11,3564 01135 ZV
053552,000828: 11,3565 02100 H
053553,000829: 11,3566 77655 VAD
053554,000830: 11,3567 01127 YV
053555,000831: 11,3570 02032 STORE ALPHAV
053556,000832: 11,3571 52014 BON GOTO
053557,000833: 11,3572 00301 JSWITCH
053558,000834: 11,3573 23611 DOW..
053559,000835: 11,3574 22411 FBR3
053560,000836:
053561,000837: 11,3575 43014 WMATEND CLEAR CLEAR
053562,000838: 11,3576 01676 DIM0FLAG # DONT INTEGRATE W THIS TIME
053563,000839: 11,3577 01671 ORBWFLAG # INVALIDATE W
053564,000840: 11,3600 77614 CLEAR
053565,000841: 11,3601 02676 RENDWFLG
053566,000842: 11,3602 77414 SET EXIT
053567,000843: 11,3603 01472 STATEFLG # PICK UP STATE VECTOR UPDATE
053568,000844: 11,3604 05567 TC ALARM
053569,000845: 11,3605 00421 OCT 421
053570,000846: 11,3606 06036 TC INTPRET
Page 1244 |
053572,000848: 11,3607 77650 GOTO
053573,000849: 11,3610 27255 TESTLOOP # FINISH INTEGRATING STATE VECTOR
053574,000850:
Page 1245 |
053576,000852: # ORBITAL ROUTINE FOR EXTRAPOLATION OF THE W MATRIX. IT COMPUTES THE SECOND DERIVATIVE OF EACH COLUMN POSITION
053577,000853: # VECTOR OF THE MATRIX AND CALLS THE NYSTROM INTEGRATION ROUTINES TO SOLVE THE DIFFERENTIAL EQUATIONS. THE PROGRAM
053578,000854: # USES A TABLE OF VEHICLE POSITION VECTORS COMPUTED DURING THE INTEGRATION OF THE VEHICLES POSITION AND VELOCITY.
053579,000855:
053580,000856: 11,3611 70754 DOW.. LXA,2 DLOAD*
053581,000857: 11,3612 02030 PBODY
053582,000858: 11,3613 51770 MUEARTH,2
053583,000859: 11,3614 36072 STCALL BETAM
053584,000860: 11,3615 23637 DOW..1
053585,000861: 11,3616 02062 STORE FV
053586,000862: 11,3617 62014 BOF INCR,1
053587,000863: 11,3620 00342 MIDFLAG
053588,000864: 11,3621 23136 NBRANCH
053589,000865: 11,3622 77771 DEC -6 B-14
053590,000866: 11,3623 70744 LXC,2 DLOAD*
053591,000867: 11,3624 02030 PBODY
053592,000868: 11,3625 51772 MUEARTH -2,2
053593,000869: 11,3626 36072 STCALL BETAM
053594,000870: 11,3627 23637 DOW..1
053595,000871: 11,3630 50414 BON VSR6
053596,000872: 11,3631 00303 MOONFLAG
053597,000873: 11,3632 23633 +1
053598,000874: 11,3633 77655 VAD
053599,000875: 11,3634 02062 FV
053600,000876: 11,3635 36062 STCALL FV
053601,000877: 11,3636 23136 NBRANCH
053602,000878: 11,3637 60575 DOW..1 VLOAD VSR4
053603,000879: 11,3640 02032 ALPHAV
053604,000880: 11,3641 53513 PDVL* UNIT
053605,000881: 11,3642 02132 VECTAB,1
053606,000882: 11,3643 46315 PDVL VPROJ
053607,000883: 11,3644 02032 ALPHAV
053608,000884: 11,3645 52361 VXSC VSU
053609,000885: 11,3646 23710 3/4
053610,000886: 11,3647 60325 PDDL NORM
053611,000887: 11,3650 00045 36D
053612,000888: 11,3651 00052 S2
053613,000889: 11,3652 63406 PUSH DSQ
053614,000890: 11,3653 77605 DMP
053615,000891: 11,3654 65301 NORM PDDL
053616,000892: 11,3655 00043 34D
053617,000893: 11,3656 02072 BETAM
053618,000894: 11,3657 56342 SR1 DDV
053619,000895: 11,3660 77761 VXSC
053620,000896: 11,3661 57154 LXA,2 XAD,2
053621,000897: 11,3662 00051 S2
053622,000898: 11,3663 00051 S2
053623,000899: 11,3664 57074 XAD,2 XAD,2
053624,000900: 11,3665 00051 S2
053625,000901: 11,3666 00042 34D
053626,000902: 11,3667 43457 VSL* RVQ
Page 1246 |
053628,000904: 11,3670 57606 0 -8D,2
053629,000905:
Reconstruction: In Luminary 99/1 at this point, we would find the following code sequence:# **************************************************************************************************************** # **************************************************************************************************************** SETITCTR SSP BOFF # SET ITERCTR FOR LAMBERT CALLS. THIS ITERCTR # CODING BELONGS IN INITVEL AND IS HERE 20D # FOR PURPOSES OF A ONE-MODULE AVEGFLAG # REMANUFACTURE ONLY. CODING SHOULD LAMBERT # BE MOVED BACK TO INITVEL FOR LUMINARY 1B SSP GOTO ITERCTR 5 LAMBERT # **************************************************************************************************************** # ****************************************************************************************************************Also, refer to LUMINARY Memo #83, "LUMINARY Revision 98". As the function's own comments indicate, this should have been present for the very next memory-module manufacturing release. The most-recent manufacturing release at that point was Luminary 97 (in April 1969), and the next one would be Luminary 99 (in May 1969). (Those release dates are from MIT's Role in Project Apollo, Final Report, Table 4-II.) Naively, from the program comments, we'd conclude that the code should have been removed by the time of the Luminary 99/1 release. However, as it turned out, Luminary 99/1 differed from Luminary 99 in a single memory module, indeed in a single memory bank — not the one containing this code — so by leaving the code in place it meant that a single new memory module needed to be manufactured for Luminary 99/1; and the other 5 memory modules for Luminary 99/1 could be recycled from Luminary 99. However interesting that may or may not be, the lesson we need to take away from it is that there would be no reason at all for this code to be present in Luminary 69/2. Hence it has been removed. |
053660,000936:
053661,000937: 11,2000 SETLOC ORBITAL1
053662,000938: 11,2000 BANK
053663,000939:
053664,000940: 11,3671 04631 23146 3/5 2DEC .6 B-2
053665,000941:
053666,000942: 11,3673 14000 00000 THREE/8 2DEC .375
053667,000943:
053668,000944: 11,3675 02314 31463 .3D 2DEC .3 B-2
053669,000945:
053670,000946: 11,3677 01400 00000 3/64 2DEC 3 B-6
053671,000947:
053672,000948: 11,3701 10000 00000 DP1/4 2DEC .25
053673,000949:
053674,000950: 11,3703 11,3701 DQUARTER EQUALS DP1/4
053675,000951: 11,3703 11,3701 POS1/4 EQUALS DP1/4
053676,000952: 11,3703 03000 00000 3/32 2DEC 3 B-5
053677,000953:
053678,000954: 11,3705 36000 00000 15/16 2DEC 15. B-4
053679,000955:
053680,000956: 11,3707 30000 00000 3/4 2DEC 3.0 B-2
053681,000957:
053682,000958: 11,3711 22525 12525 7/12 2DEC .5833333333
053683,000959:
053684,000960: 11,3713 22000 00000 9/16 2DEC 9 B-4
053685,000961:
053686,000962: 11,3715 01200 00000 5/128 2DEC 5 B-7
053687,000963:
053688,000964: 11,3717 11,2274 DPZERO EQUALS ZEROVEC
053689,000965: 11,3717 25252 25253 DP2/3 2DEC .6666666667
053690,000966:
053691,000967: 11,3721 11,3717 2/3 EQUALS DP2/3
053692,000968: 11,3721 00027 OCT27 OCT 27
053693,000969:
Reconstruction: Although otherwise using Luminary 99/1 as a baseline for the reconstruction of the ORBITAL INTEGRATION log section, we noticed the comment below which appears in Luminary 69 but not in Luminary 99/1. It seems reasonable to retain this comment. |
053698,000974: # LM504 IS TEMPORARY
053699,000975:
Page 1247 |
053701,000977: 13,3721 BANK 13
053702,000978: 13,2000 SETLOC ORBITAL2
053703,000979: 13,2000 BANK
053704,000980: # IT IS VITAL THAT THE FOLLOWING CONSTANTS NOT BE SHUFFLED
053705,000981: 13,3721 77764 DEC -11 B-14
053706,000982: 13,3722 77775 DEC -2 B-14
053707,000983: 13,3723 77766 DEC -9 B-14
053708,000984: 13,3724 77771 DEC -6 B-14
053709,000985: 13,3725 77775 DEC -2 B-14
053710,000986: 13,3726 77775 DEC -2 B-14
053711,000987: 13,3727 00000 DEC 0 B-14
053712,000988: 13,3730 77763 DEC -12 B-14
053713,000989: 13,3731 77766 DEC -9 B-14
053714,000990: 13,3732 77773 DEC -4 B-14
053715,000991: 13,3733 77770 ASCALE DEC -7 B-14
053716,000992: 13,3734 77771 DEC -6 B-14
053717,000993: 13,3735 24000 00000 5/8 2DEC 5 B-3
053718,000994:
053719,000995: 13,3737 74631 63145 -1/12 2DEC -.1
053720,000996:
053721,000997: 13,3741 00243 32703 RECRATIO 2DEC .01
053722,000998:
053723,000999: 13,3743 03654 21000 RSPHERE 2DEC 64373.76 E3 B-29
053724,001000:
053725,001001: 13,3745 03654 21000 RDM 2DEC 16093.44 E3 B-27
053726,001002:
053727,001003: 13,3747 04627 25200 RDE 2DEC 80467.20 E3 B-29
053728,001004:
053729,001005: 13,3751 RATT EQUALS 00
053730,001006: 13,3751 VATT EQUALS 6D
053731,001007: 13,3751 TAT EQUALS 12D
053732,001008: 13,3751 RATT1 EQUALS 14D
053733,001009: 13,3751 VATT1 EQUALS 20D
053734,001010: 13,3751 MU(P) EQUALS 26D
053735,001011: 13,3751 TDEC1 EQUALS 32D
053736,001012: 13,3751 URPV EQUALS 14D
053737,001013: 13,3751 0022 COSPHI/2 EQUALS URPV +4
053738,001014: 13,3751 UZ EQUALS 20D
053739,001015: 13,3751 TVEC EQUALS 26D
053740,001016:
Reconstruction: The two lines of code following this annotation that switch to a different memory bank are found neither in Luminary 99/1 nor in Luminary 69. However, if the QUALITY1 and QUALITY2 functions are not relocated to a different memory bank, you can expect memory-bank overflows during assembly, memory-bank checksum errors, and so on. It is reasonable to expect that one or both of these functions may be relocated to other memory banks, because some other AGC programs incorporating the R-2 memory model do so. Comanche 55 (Apollo 11 CM) does so, for example; indeed, it not only switches memory banks, but removes the functions to a different log section (though retaining a comment that they are a part of the R-2 model). |
053751,001027: 11,2000 SETLOC MODCHG1
053752,001028: 11,2000 BANK
053753,001029: 11,3722 71214 QUALITY1 BOF DLOAD
053754,001030: 11,3723 00343 MOONFLAG
053755,001031: 11,3724 23136 NBRANCH
053756,001032: 11,3725 00017 URPV
053757,001033: 11,3726 77716 DSQ
053758,001034: 11,3727 63525 QUALITY2 PDDL DSQ # SQUARE INTO 2D, B2
053759,001035: 11,3730 00021 URPV +2 # Y COMPONENT, B1
053760,001036: 11,3731 77625 DSU
053761,001037: 11,3732 74205 DMP VXSC # 5(Y**2-X**2)UR
053762,001038: 11,3733 27736 5/8 # CONSTANT, 5B3
053763,001039: 11,3734 00017 URPV # VECTOR. RESULT MAXIMUM IS 5, SCALING
Page 1248 |
053765,001041: # HERE B6
053766,001042: 11,3735 65332 VSL3 PDDL # STORE SCALED B3 IN 2D, 4D, 6D FOR XYZ
053767,001043: 11,3736 00017 URPV # X COMPONENT, B1
053768,001044: 11,3737 43342 SR1 DAD # 2 X X COMPONENT FOR B3 SCALING
053769,001045: 11,3740 00003 2D # ADD TO VECTOR X COMPONENT OF ANSWER,
053770,001046: # SAME AS MULTIPLYING BY UNITX. MAX IS 7.
053771,001047: 11,3741 14003 STODL 2D
053772,001048: 11,3742 00021 URPV +2 # Y COMPONENT, B1
053773,001049: 11,3743 44342 SR1 BDSU # 2 X Y COMPONENT FOR B3 SCALING
053774,001050: 11,3744 00005 4D # SUBTRACT FROM VECTOR Y COMPONENT OF
053775,001051: # ANSWER, SAME AS MULTIPLYING BY UNITY.
053776,001052: # MAX IS 7.
053777,001053: 11,3745 00005 STORE 4D # 2D HAS VECTOR, B3.
053778,001054: 11,3746 74335 SLOAD VXSC # MULTIPLY COEFFIECIENT TIMES VECTOR IN 2D
053779,001055: 11,3747 01352 E3J22R2M
053780,001056: 11,3750 43525 PDDL RVQ # J22 TERM X R**4 IN 2D, SCALED B61
053781,001057: 11,3751 00023 COSPHI/2 # SAME AS URPV +4 Z COMPONENT
053782,001058:
End of include-file ORBITAL_INTEGRATION.agc. Parent file is MAIN.agc