Source Code

This is a reconstruction of the AGC program Luminary 99 Rev 0. It was the second release of the Lunar Module flight software targeted for use in Apollo 11, after Luminary 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.

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

Page 153

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

Page 154

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

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