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