Source Code

These source-code files are part of a reconstructed copy of Comanche 44, the initial release (though not the final mission release) of the Apollo 10 Command Module (CM) Apollo Guidance Computer (AGC) software. Subsequent releases were Comanche 45 and Comanche 45/2 (the flown release on Apollo 10). The reconstruction is believed to be exactly accurate, but in the absence of an actual Apollo-era listing of Comanche 44, some explanation of the reconstruction process is needed to insure confidence in that accuracy.

The starting point was the source code of Comanche 51 (separately previously reconstructed from an Apollo-era listing of Comanche 55, flown on Apollo 11). Comanche 51 source code was then modified by undoing changes known to have been made between revisions 44 and 51. The now-reconstructed Comanche 44 source code was verified by assembling it and checking that the assembled code had the expected known-correct memory-bank checksums. Note that page numbers in the reconstructed code match those on the Comanche 55 printout, although the source code would likely have different page numbers in a contemporary Comanche 44 listing.

Annotations that were not present in the contemporary source code have been added to the reconstructed code to justify each change relative to Comanche 51. Here's a guide to the Apollo documentation referenced in those annotations:
In most cases, only the titles (rather than the full texts) of PCRs are known. In addition to the explanatory annotations, there is also a step-by-step commentary about the reconstruction process.

Comments expected to have been present in the original source code are prefixed with a single '#' symbol, whereas comments added later are prefixed by "##" or "###". Report any errors noted by creating an issue report at the Virtual AGC Project's GitHub repository.

005409,000002:                                                                                                  ## Copyright:   Public domain.
005410,000003:                                                                                                  ## Filename:    INTERRUPT_LEAD_INS.agc
005411,000004:                                                                                                  ## Purpose:     A section of Comanche revision 044.
005412,000005:                                                                                                  ##              It is part of the reconstructed source code for the
005413,000006:                                                                                                  ##              original release of the flight software for the Command
005414,000007:                                                                                                  ##              Module's (CM) Apollo Guidance Computer (AGC) for Apollo 10.
005415,000008:                                                                                                  ##              The code has been recreated from a copy of Comanche 055. It
005416,000009:                                                                                                  ##              has been adapted such that the resulting bugger words
005417,000010:                                                                                                  ##              exactly match those specified for Comanche 44 in NASA drawing
005418,000011:                                                                                                  ##              2021153D, which gives relatively high confidence that the
005419,000012:                                                                                                  ##              reconstruction is correct.
005420,000013:                                                                                                  ## Assembler:   yaYUL
005421,000014:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
005422,000015:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
005423,000016:                                                                                                  ## Mod history: 2020-12-03 MAS  Created from Comanche 51.
005424,000017: 

Page 131

005426,000019:    4000                                           SETLOC   4000                                  
005427,000020: 
005428,000021:    4000                                           COUNT    02/RUPTS                              
005429,000022: 
005430,000023:    4000           00004                           INHINT                                         #  GO
005431,000024:    4001           34054                           CAF      GOBB                                  
005432,000025:    4002           56006                           XCH      BBANK                                 
005433,000026:    4003           12526                           TCF      GOPROG                                
005434,000027: 
005435,000028:    4004           52011                           DXCH     ARUPT                                 #  T6RUPT
005436,000029:    4005           00006                           EXTEND                                         
005437,000030:    4006           31311                           DCA      T6LOC                                 
005438,000031:    4007           52006                           DTCB                                           
005439,000032: 
005440,000033:    4010           52011                           DXCH     ARUPT                                 #  T5RUPT
005441,000034:    4011           40030                           CS       TIME5                                 
005442,000035:    4012           65036                           AD       .5SEC                                 
005443,000036:    4013           14065                           TCF      T5RUPT                                
005444,000037: 
005445,000038:    4014           52011                           DXCH     ARUPT                                 #  T3RUPT
005446,000039:    4015           34055                           CAF      T3RPTBB                               
005447,000040:    4016           56006                           XCH      BBANK                                 
005448,000041:    4017           13416                           TCF      T3RUPT                                
005449,000042: 
005450,000043:    4020           52011                           DXCH     ARUPT                                 #  T4RUPT
005451,000044:    4021           34063                           CAF      T4RPTBB                               
005452,000045:    4022           56006                           XCH      BBANK                                 
005453,000046:    4023           12000                           TCF      T4RUPT                                
005454,000047: 
005455,000048:    4024           52011                           DXCH     ARUPT                                 #  KEYRUPT1
005456,000049:    4025           34056                           CAF      KEYRPTBB                              
005457,000050:    4026           56006                           XCH      BBANK                                 
005458,000051:    4027           13673                           TCF      KEYRUPT1                              
005459,000052: 
005460,000053:    4030           52011                           DXCH     ARUPT                                 #  KEYRUPT2
005461,000054:    4031           34057                           CAF      MKRUPTBB                              
005462,000055:    4032           56006                           XCH      BBANK                                 
005463,000056:    4033           12104                           TCF      MARKRUPT                              
005464,000057: 
005465,000058:    4034           52011                           DXCH     ARUPT                                 #  UPRUPT
005466,000059:    4035           34056                           CAF      UPRPTBB                               
005467,000060:    4036           56006                           XCH      BBANK                                 
005468,000061:    4037           13716                           TCF      UPRUPT                                
005469,000062: 
005470,000063:    4040           52011                           DXCH     ARUPT                                 #  DOWNRUPT
005471,000064:    4041           34060                           CAF      DWNRPTBB                              
005472,000065:    4042           56006                           XCH      BBANK                                 
005473,000066:    4043           13521                           TCF      DODOWNTM                              
005474,000067: 
005475,000068:    4044           52011                           DXCH     ARUPT                                 #  RADAR RUPT

Page 132

005477,000070:    4045           34061                           CAF      RDRPTBB                               
005478,000071:    4046           56006                           XCH      BBANK                                 
005479,000072:    4047           12504                           TCF      VHFREAD                               
005480,000073: 
005481,000074:    4050           52011                           DXCH     ARUPT                                 #  HAND CONTROL RUPT
005482,000075:    4051           34062                           CAF      HCRUPTBB                              
005483,000076:    4052           56006                           XCH      BBANK                                 
005484,000077:    4053           15336                           TCF      RESUME     +3                         #  NOT USED
005485,000078: 
005486,000079:    4054  E3,1400                                  EBANK=   LST1                                  #  RESTART USES E0,E3
005487,000080:    4054           12063        GOBB               BBCON    GOPROG                                
005488,000081: 
005489,000082:    4055  E3,1400                                  EBANK=   LST1                                  
005490,000083:    4055           02063        T3RPTBB            BBCON    T3RUPT                                
005491,000084: 
005492,000085:    4056     0073                                  EBANK=   KEYTEMP1                              
005493,000086:    4056           16060        KEYRPTBB           BBCON    KEYRUPT1                              
005494,000087: 
005495,000088:    4057  E7,1725                                  EBANK=   MRKBUF1                               
005496,000089:    4057           16067        MKRUPTBB           BBCON    MARKRUPT                              
005497,000090: 
005498,000091:    4060     4056               UPRPTBB            =        KEYRPTBB                              
005499,000092: 
005500,000093:    4060     0340                                  EBANK=   DNTMBUFF                              
005501,000094:    4060           12060        DWNRPTBB           BBCON    DODOWNTM                              
005502,000095: 
005503,000096:    4061  E7,1603                                  EBANK=   DATATEST                              
005504,000097:    4061           56067        RDRPTBB            BBCON    VHFREAD                               
005505,000098: 
005506,000099:    4062     0025                                  EBANK=   TIME1                                 
005507,000100:    4062           04060        HCRUPTBB           BBCON    RESUME                                #  NOT USED
005508,000101: 
005509,000102:    4063     1302                                  EBANK=   DSRUPTSW                              
005510,000103:    4063           14062        T4RPTBB            BBCON    T4RUPT                                
005511,000104: 
005512,000105:    4064     0025                                  EBANK=   TIME1                                 
005513,000106:    4064           04060        T5RPTBB            BBCON    T5RUPT                                
005514,000107: 
005515,000108:    4065           00006        T5RUPT             EXTEND                                         
005516,000109:    4066           65337                           BZMF     NOQBRSM                               
005517,000110:    4067           00006                           EXTEND                                         
005518,000111:    4070           31313                           DCA      T5LOC                                 
005519,000112:    4071           52006                           DTCB                                           
005520,000113: 
005521,000114: 
005522,000115: 

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