Source Code
This is a reconstruction of the AGC program Luminary 99 Rev 0. It was the third release
of the Lunar Module flight software targeted for use in Apollo 11, after Luminary 96 and 97.
A bug (which had been around since at least Apollo 10, Luminary 69) was
discovered in Rev 0 shortly before the Apollo 11 flight, resulting in a last minute
revision into Rev 1,
which is what actually flew rather than
the Rev 0 presented here. A hardcopy of Rev 0 is known to
exist — it belonged to AGC developer Allan Klumpp for many years — but
unfortunately the Virtual AGC Project has not had access to that hardcopy. Thus
the code you see here had been reconstructed (we believe accurately) rather than
transcribed. The first step of the reconstruction of the Rev 0 source code was
the transcription of the Rev 1 source code from a hardcopy in the MIT Museum collection.
The process of reverting the active portion of the source code (i.e., other than
program comments) from Rev 1 to Rev 0 was very minor, consisting
only of moving the position of the STARTSB1 label in
FRESH START AND RESTART. Allan had previously given
us the checksums of the memory banks of Rev 0, and we have verified the program presented here has checksums
identical to all banks of Allan's listing of Rev 0. The notations on Allan's Rev 0 program listing read,
in part:GAP: ASSEMBLE REVISION 099 OF AGC PROGRAM LUMINARY BY NASA 2021112-051 A single program comment is known to differ between Rev 0 and Rev 1, but these are harder to reconstruct and verify than changes to the active portion of the code. Thus it is possible that there are additional differences between the program comments in Rev 0 and Rev 1 that are unknown to us, and therefore are not reflected in the code presented here. |
064804,000002: ## Copyright: Public domain.
064805,000003: ## Filename: KALMAN_FILTER.agc
064806,000004: ## Purpose: Part of the reconstructed source code for LMY99 Rev 0,
064807,000005: ## otherwise known as Luminary Rev 99, the third release
064808,000006: ## of the Apollo Guidance Computer (AGC) software for Apollo 11.
064809,000007: ## It differs from LMY99 Rev 1 (the flown version) only in the
064810,000008: ## placement of a single label. The corrections shown here have
064811,000009: ## been verified to have the same bank checksums as AGC developer
064812,000010: ## Allan Klumpp's copy of Luminary Rev 99, and so are believed
064813,000011: ## to be accurate. This file is intended to be a faithful
064814,000012: ## recreation, except that the code format has been changed to
064815,000013: ## conform to the requirements of the yaYUL assembler rather than
064816,000014: ## the original YUL assembler.
064817,000015: ##
064818,000016: ## Assembler: yaYUL
064819,000017: ## Contact: Ron Burkey <info@sandroid.org>.
064820,000018: ## Website: www.ibiblio.org/apollo.
064821,000019: ## Pages: 1470-1471
064822,000020: ## Mod history: 2009-05-27 RSB Adapted from the corresponding
064823,000021: ## Luminary131 file, using page
064824,000022: ## images from Luminary 1A.
064825,000023: ## 2016-12-18 RSB Proofed text comments with octopus/ProoferComments
064826,000024: ## but no errors found.
064827,000025: ## 2017-08-01 MAS Created from LMY99 Rev 1.
064828,000026:
064829,000027: ## This source code has been transcribed or otherwise adapted from
064830,000028: ## digitized images of a hardcopy from the MIT Museum. The digitization
064831,000029: ## was performed by Paul Fjeld, and arranged for by Deborah Douglas of
064832,000030: ## the Museum. Many thanks to both. The images (with suitable reduction
064833,000031: ## in storage size and consequent reduction in image quality as well) are
064834,000032: ## available online at www.ibiblio.org/apollo. If for some reason you
064835,000033: ## find that the images are illegible, contact me at info@sandroid.org
064836,000034: ## about getting access to the (much) higher-quality images which Paul
064837,000035: ## actually created.
064838,000036: ##
064839,000037: ## The code has been modified to match LMY99 Revision 0, otherwise
064840,000038: ## known as Luminary Revision 99, the Apollo 11 software release preceeding
064841,000039: ## the listing from which it was transcribed. It has been verified to
064842,000040: ## contain the same bank checksums as AGC developer Allan Klumpp's listing
064843,000041: ## of Luminary Revision 99 (for which we do not have scans).
064844,000042: ##
064845,000043: ## Notations on Allan Klumpp's listing read, in part:
064846,000044: ##
064847,000045: ## ASSEMBLE REVISION 099 OF AGC PROGRAM LUMINARY BY NASA 2021112-51
064848,000046:
Page 1470 |
064850,000048: 17,3744 E6,1522 EBANK= NO.UJETS
064851,000049: 16,3641 BANK 16
064852,000050: 16,2000 SETLOC DAPS1
064853,000051: 16,2000 BANK
064854,000052:
064855,000053: 16,3641 COUNT* $$/DAP
064856,000054:
064857,000055: 16,3641 34752 RATELOOP CA TWO
064858,000056: 16,3642 55744 TS DAPTEMP6
064859,000057: 16,3643 60000 DOUBLE
064860,000058: 16,3644 54002 TS Q
064861,000059: 16,3645 51744 INDEX DAPTEMP6
064862,000060: 16,3646 11524 CCS TJP
064863,000061: 16,3647 13651 TCF +2
064864,000062: 16,3650 13670 TCF LOOPRATE
064865,000063: 16,3651 63731 AD -100MST6
064866,000064: 16,3652 00006 EXTEND
064867,000065: 16,3653 63707 BZMF SMALLTJU
064868,000066: 16,3654 51744 INDEX DAPTEMP6
064869,000067: 16,3655 11524 CCS TJP
064870,000068: 16,3656 33731 CA -100MST6
064871,000069: 16,3657 13661 TCF +2
064872,000070: 16,3660 43731 CS -100MST6
064873,000071: 16,3661 51744 INDEX DAPTEMP6
064874,000072: 16,3662 27524 ADS TJP
064875,000073: 16,3663 51744 INDEX DAPTEMP6
064876,000074: 16,3664 11524 CCS TJP
064877,000075: 16,3665 43615 CS -100MS # 0.1 AT 1
064878,000076: 16,3666 13670 TCF +2
064879,000077: 16,3667 33615 CA -100MS
064880,000078: 16,3670 00006 LOOPRATE EXTEND
064881,000079: 16,3671 51744 INDEX DAPTEMP6
064882,000080: 16,3672 71521 MP NO.PJETS
064883,000081: 16,3673 30001 CA L
064884,000082: 16,3674 51744 INDEX DAPTEMP6
064885,000083: 16,3675 55737 TS DAPTEMP1 # SIGNED TORQUE AT 1 JET-SEC FOR FILTER
064886,000084: 16,3676 00006 EXTEND
064887,000085: 16,3677 74742 MP BIT10 # RESCALE TO 32; ONE BIT ABOUT 2 JET-MSEC
064888,000086: 16,3700 00006 EXTEND
064889,000087: 16,3701 63732 BZMF NEGTORK
064890,000088: 16,3702 50002 STORTORK INDEX Q # INCREMENT DOWNLIST REGISTER.
064891,000089: 16,3703 27513 ADS DOWNTORK # NOTE: NOT INITIALIZED; OVERFLOWS.
064892,000090:
064893,000091: 16,3704 11744 CCS DAPTEMP6
064894,000092: 16,3705 13642 TCF RATELOOP +1
064895,000093: 16,3706 13716 TCF ROTORQUE
064896,000094: 16,3707 34755 SMALLTJU CA ZERO
064897,000095: 16,3710 51744 INDEX DAPTEMP6
064898,000096: 16,3711 57524 XCH TJP
064899,000097: 16,3712 00006 EXTEND
Page 1471 |
064901,000099: 16,3713 74760 MP ELEVEN # 10.24 PLUS
064902,000100: 16,3714 30001 CA L
064903,000101: 16,3715 13670 TCF LOOPRATE
064904,000102: 16,3716 31740 ROTORQUE CA DAPTEMP2
064905,000103: 16,3717 61741 AD DAPTEMP3
064906,000104: 16,3720 00006 EXTEND
064907,000105: 16,3721 71532 MP 1JACCR
064908,000106: 16,3722 55747 TS JETRATER
064909,000107: 16,3723 41741 CS DAPTEMP3
064910,000108: 16,3724 61740 AD DAPTEMP2
064911,000109: 16,3725 00006 EXTEND
064912,000110: 16,3726 71531 MP 1JACCQ
064913,000111: 16,3727 55746 TS JETRATEQ
064914,000112: 16,3730 12316 TCF BACKP
064915,000113: 16,3731 77537 -100MST6 DEC -160 B-14
064916,000114:
064917,000115: 16,3732 40000 NEGTORK COM
064918,000116: 16,3733 24002 INCR Q
064919,000117: 16,3734 13702 TCF STORTORK
064920,000118:
064921,000119:
End of include-file KALMAN_FILTER.agc. Parent file is MAIN.agc