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.

006303,000002:                                                                                                  ## Copyright:   Public domain.
006304,000003:                                                                                                  ## Filename:    INTERRUPT_LEAD_INS.agc
006305,000004:                                                                                                  ## Purpose:     Part of the reconstructed source code for LMY99 Rev 0,
006306,000005:                                                                                                  ##              otherwise known as Luminary Rev 99, the third release
006307,000006:                                                                                                  ##              of the Apollo Guidance Computer (AGC) software for Apollo 11.
006308,000007:                                                                                                  ##              It differs from LMY99 Rev 1 (the flown version) only in the
006309,000008:                                                                                                  ##              placement of a single label. The corrections shown here have
006310,000009:                                                                                                  ##              been verified to have the same bank checksums as AGC developer
006311,000010:                                                                                                  ##              Allan Klumpp's copy of Luminary Rev 99, and so are believed
006312,000011:                                                                                                  ##              to be accurate. This file is intended to be a faithful 
006313,000012:                                                                                                  ##              recreation, except that the code format has been changed to 
006314,000013:                                                                                                  ##              conform to the requirements of the yaYUL assembler rather than 
006315,000014:                                                                                                  ##              the original YUL assembler.
006316,000015:                                                                                                  ##
006317,000016:                                                                                                  ## Assembler:   yaYUL
006318,000017:                                                                                                  ## Contact:     Onno Hommes <ohommes@cmu.edu>.
006319,000018:                                                                                                  ## Website:     www.ibiblio.org/apollo.
006320,000019:                                                                                                  ## Pages:       0153-0154
006321,000020:                                                                                                  ## Mod history: 2009-05-14 OH   Transcribed from page images.
006322,000021:                                                                                                  ##              2016-12-13 RSB  Proofed text comments with octopus/ProoferComments
006323,000022:                                                                                                  ##                              and corrected the errors found.
006324,000023:                                                                                                  ##              2017-08-01 MAS  Created from LMY99 Rev 1.
006325,000024: 
006326,000025:                                                                                                  ## This source code has been transcribed or otherwise adapted from
006327,000026:                                                                                                  ## digitized images of a hardcopy from the MIT Museum.  The digitization
006328,000027:                                                                                                  ## was performed by Paul Fjeld, and arranged for by Deborah Douglas of
006329,000028:                                                                                                  ## the Museum.  Many thanks to both.  The images (with suitable reduction
006330,000029:                                                                                                  ## in storage size and consequent reduction in image quality as well) are
006331,000030:                                                                                                  ## available online at www.ibiblio.org/apollo.  If for some reason you
006332,000031:                                                                                                  ## find that the images are illegible, contact me at info@sandroid.org
006333,000032:                                                                                                  ## about getting access to the (much) higher-quality images which Paul
006334,000033:                                                                                                  ## actually created.
006335,000034:                                                                                                  ##
006336,000035:                                                                                                  ## The code has been modified to match LMY99 Revision 0, otherwise
006337,000036:                                                                                                  ## known as Luminary Revision 99, the Apollo 11 software release preceeding
006338,000037:                                                                                                  ## the listing from which it was transcribed. It has been verified to
006339,000038:                                                                                                  ## contain the same bank checksums as AGC developer Allan Klumpp's listing
006340,000039:                                                                                                  ## of Luminary Revision 99 (for which we do not have scans).
006341,000040:                                                                                                  ##
006342,000041:                                                                                                  ## Notations on Allan Klumpp's listing read, in part:
006343,000042:                                                                                                  ##
006344,000043:                                                                                                  ##      ASSEMBLE REVISION 099 OF AGC PROGRAM LUMINARY BY NASA 2021112-51
006345,000044: 

Page 153

006347,000046:    4000                                           SETLOC   4000                                  
006348,000047: 
006349,000048:    4000                                           COUNT*   $$/RUPTS                              #  FIX-FIX LEAD INS
006350,000049:    4000           00004                           INHINT                                         #  GO
006351,000050:    4001           34054                           CAF      GOBB                                  
006352,000051:    4002           56006                           XCH      BBANK                                 
006353,000052:    4003           12667                           TCF      GOPROG                                
006354,000053: 
006355,000054:    4004           52011                           DXCH     ARUPT                                 #  T6RUPT
006356,000055:    4005           00006                           EXTEND                                         
006357,000056:    4006           34056                           DCA      T6ADR                                 
006358,000057:    4007           52006                           DTCB                                           
006359,000058: 
006360,000059:    4010           52011                           DXCH     ARUPT                                 #  T5RUPT - AUTOPILOT
006361,000060:    4011           00006                           EXTEND                                         
006362,000061:    4012           31275                           DCA      T5ADR                                 
006363,000062:    4013           52006                           DTCB                                           
006364,000063: 
006365,000064:    4014           52011                           DXCH     ARUPT                                 #  T3RUPT
006366,000065:    4015           34057                           CAF      T3RPTBB                               
006367,000066:    4016           56006                           XCH      BBANK                                 
006368,000067:    4017           13407                           TCF      T3RUPT                                
006369,000068: 
006370,000069:    4020           52011                           DXCH     ARUPT                                 #  T4RUPT
006371,000070:    4021           34064                           CAF      T4RPTBB                               
006372,000071:    4022           56006                           XCH      BBANK                                 
006373,000072:    4023           12000                           TCF      T4RUPT                                
006374,000073: 
006375,000074:    4024           52011                           DXCH     ARUPT                                 #  KEYRUPT1
006376,000075:    4025           34060                           CAF      KEYRPTBB                              
006377,000076:    4026           56006                           XCH      BBANK                                 
006378,000077:    4027           13274                           TCF      KEYRUPT1                              
006379,000078: 
006380,000079:    4030           52011                           DXCH     ARUPT                                 #  KEYRUPT2
006381,000080:    4031           34061                           CAF      MKRUPTBB                              
006382,000081:    4032           56006                           XCH      BBANK                                 
006383,000082:    4033           12332                           TCF      MARKRUPT                              
006384,000083: 
006385,000084:    4034           52011                           DXCH     ARUPT                                 #  UPRUPT
006386,000085:    4035           34060                           CAF      UPRPTBB                               
006387,000086:    4036           56006                           XCH      BBANK                                 
006388,000087:    4037           13317                           TCF      UPRUPT                                
006389,000088: 
006390,000089:    4040           52011                           DXCH     ARUPT                                 #  DOWNRUPT
006391,000090:    4041           34062                           CAF      DWNRPTBB                              
006392,000091:    4042           56006                           XCH      BBANK                                 
006393,000092:    4043           13506                           TCF      DODOWNTM                              
006394,000093: 
006395,000094:    4044           52011                           DXCH     ARUPT                                 #  RADAR RUPT
006396,000095:    4045           34063                           CAF      RDRPTBB                               

Page 154

006398,000097:    4046           56006                           XCH      BBANK                                 
006399,000098:    4047           13150                           TCF      RADAREAD                              
006400,000099: 
006401,000100:    4050           52011                           DXCH     ARUPT                                 #  RUPT10 IS USED ONLY BY LANDING GUIDANCE
006402,000101:    4051           34065                           CA       RUPT10BB                              
006403,000102:    4052           56006                           XCH      BBANK                                 
006404,000103:    4053           12275                           TCF      PITFALL                               
006405,000104: 
006406,000105: 
006407,000106:    4054  E3,1400                                  EBANK=   LST1                                  #  RESTART USES E0, E3
006408,000107:    4054           12103        GOBB               BBCON    GOPROG                                
006409,000108: 
006410,000109:    4055  E6,1464                                  EBANK=   PERROR                                
006411,000110:    4055           02065 36106  T6ADR              2CADR    DOT6RUPT                              
006412,000111: 
006413,000112:    4057  E3,1400                                  EBANK=   LST1                                  
006414,000113:    4057           02103        T3RPTBB            BBCON    T3RUPT                                
006415,000114: 
006416,000115:    4060     0073                                  EBANK=   KEYTEMP1                              
006417,000116:    4060           10100        KEYRPTBB           BBCON    KEYRUPT1                              
006418,000117: 
006419,000118:    4061  E7,1404                                  EBANK=   AOTAZ                                 
006420,000119:    4061           16107        MKRUPTBB           BBCON    MARKRUPT                              
006421,000120: 
006422,000121:    4062     4060               UPRPTBB            =        KEYRPTBB                              
006423,000122: 
006424,000123:    4062     0340                                  EBANK=   DNTMBUFF                              
006425,000124:    4062           12100        DWNRPTBB           BBCON    DODOWNTM                              
006426,000125: 
006427,000126:    4063     0110                                  EBANK=   RADMODES                              
006428,000127:    4063           52100        RDRPTBB            BBCON    RADAREAD                              
006429,000128: 
006430,000129:    4064  E6,1414                                  EBANK=   M11                                   
006431,000130:    4064           14106        T4RPTBB            BBCON    T4RUPT                                
006432,000131: 
006433,000132:    4065     1265                                  EBANK=   ELVIRA                                
006434,000133:    4065           22102        RUPT10BB           BBCON    PITFALL                               
006435,000134: 

End of include-file INTERRUPT_LEAD_INS.agc.  Parent file is MAIN.agc