Source Code

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

The starting point was the source code of Comanche 45 (itself previously accurately reconstructed). Comanche 45 source code was then modified by incorporating changes known from contemporary documentation to have been made between revisions 45 and 45/2. The now-reconstructed Comanche 45/2 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 tend to match those in the Comanche 55, the most-similar revision of Comanche for which we have access to an actual non-reconstructed hardcopy; the source code would likely have different page numbers in a contemporary Comanche 45 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 44. Here's a guide to the Apollo documentation referenced in those annotations:
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.

005356,000002:                                                                                                  ## Copyright:   Public domain.
005357,000003:                                                                                                  ## Filename:    INTERRUPT_LEAD_INS.agc
005358,000004:                                                                                                  ## Purpose:     A section of Manche45 revision 2.
005359,000005:                                                                                                  ##              It is part of the reconstructed source code for the
005360,000006:                                                                                                  ##              final, flown release of the flight software for the Command
005361,000007:                                                                                                  ##              Module's (CM) Apollo Guidance Computer (AGC) for Apollo 10.
005362,000008:                                                                                                  ##              The code has been recreated from a copy of Comanche 055. It
005363,000009:                                                                                                  ##              has been adapted such that the resulting bugger words
005364,000010:                                                                                                  ##              exactly match those specified for Manche 45/2 in NASA drawing
005365,000011:                                                                                                  ##              2021153D, which gives relatively high confidence that the
005366,000012:                                                                                                  ##              reconstruction is correct.
005367,000013:                                                                                                  ## Assembler:   yaYUL
005368,000014:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
005369,000015:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
005370,000016:                                                                                                  ## Mod history: 2020-12-24 MAS  Created from Comanche 45.
005371,000017: 

Page 131

005373,000019:    4000                                           SETLOC   4000                                  
005374,000020: 
005375,000021:    4000                                           COUNT    02/RUPTS                              
005376,000022: 
005377,000023:    4000           00004                           INHINT                                         #  GO
005378,000024:    4001           34054                           CAF      GOBB                                  
005379,000025:    4002           56006                           XCH      BBANK                                 
005380,000026:    4003           12526                           TCF      GOPROG                                
005381,000027: 
005382,000028:    4004           52011                           DXCH     ARUPT                                 #  T6RUPT
005383,000029:    4005           00006                           EXTEND                                         
005384,000030:    4006           31311                           DCA      T6LOC                                 
005385,000031:    4007           52006                           DTCB                                           
005386,000032: 
005387,000033:    4010           52011                           DXCH     ARUPT                                 #  T5RUPT
005388,000034:    4011           40030                           CS       TIME5                                 
005389,000035:    4012           65036                           AD       .5SEC                                 
005390,000036:    4013           14065                           TCF      T5RUPT                                
005391,000037: 
005392,000038:    4014           52011                           DXCH     ARUPT                                 #  T3RUPT
005393,000039:    4015           34055                           CAF      T3RPTBB                               
005394,000040:    4016           56006                           XCH      BBANK                                 
005395,000041:    4017           13416                           TCF      T3RUPT                                
005396,000042: 
005397,000043:    4020           52011                           DXCH     ARUPT                                 #  T4RUPT
005398,000044:    4021           34063                           CAF      T4RPTBB                               
005399,000045:    4022           56006                           XCH      BBANK                                 
005400,000046:    4023           12000                           TCF      T4RUPT                                
005401,000047: 
005402,000048:    4024           52011                           DXCH     ARUPT                                 #  KEYRUPT1
005403,000049:    4025           34056                           CAF      KEYRPTBB                              
005404,000050:    4026           56006                           XCH      BBANK                                 
005405,000051:    4027           13673                           TCF      KEYRUPT1                              
005406,000052: 
005407,000053:    4030           52011                           DXCH     ARUPT                                 #  KEYRUPT2
005408,000054:    4031           34057                           CAF      MKRUPTBB                              
005409,000055:    4032           56006                           XCH      BBANK                                 
005410,000056:    4033           12104                           TCF      MARKRUPT                              
005411,000057: 
005412,000058:    4034           52011                           DXCH     ARUPT                                 #  UPRUPT
005413,000059:    4035           34056                           CAF      UPRPTBB                               
005414,000060:    4036           56006                           XCH      BBANK                                 
005415,000061:    4037           13716                           TCF      UPRUPT                                
005416,000062: 
005417,000063:    4040           52011                           DXCH     ARUPT                                 #  DOWNRUPT
005418,000064:    4041           34060                           CAF      DWNRPTBB                              
005419,000065:    4042           56006                           XCH      BBANK                                 
005420,000066:    4043           13521                           TCF      DODOWNTM                              
005421,000067: 
005422,000068:    4044           52011                           DXCH     ARUPT                                 #  RADAR RUPT

Page 132

005424,000070:    4045           34061                           CAF      RDRPTBB                               
005425,000071:    4046           56006                           XCH      BBANK                                 
005426,000072:    4047           12504                           TCF      VHFREAD                               
005427,000073: 
005428,000074:    4050           52011                           DXCH     ARUPT                                 #  HAND CONTROL RUPT
005429,000075:    4051           34062                           CAF      HCRUPTBB                              
005430,000076:    4052           56006                           XCH      BBANK                                 
005431,000077:    4053           15336                           TCF      RESUME     +3                         #  NOT USED
005432,000078: 
005433,000079:    4054  E3,1400                                  EBANK=   LST1                                  #  RESTART USES E0,E3
005434,000080:    4054           12063        GOBB               BBCON    GOPROG                                
005435,000081: 
005436,000082:    4055  E3,1400                                  EBANK=   LST1                                  
005437,000083:    4055           02063        T3RPTBB            BBCON    T3RUPT                                
005438,000084: 
005439,000085:    4056     0073                                  EBANK=   KEYTEMP1                              
005440,000086:    4056           16060        KEYRPTBB           BBCON    KEYRUPT1                              
005441,000087: 
005442,000088:    4057  E7,1725                                  EBANK=   MRKBUF1                               
005443,000089:    4057           16067        MKRUPTBB           BBCON    MARKRUPT                              
005444,000090: 
005445,000091:    4060     4056               UPRPTBB            =        KEYRPTBB                              
005446,000092: 
005447,000093:    4060     0340                                  EBANK=   DNTMBUFF                              
005448,000094:    4060           12060        DWNRPTBB           BBCON    DODOWNTM                              
005449,000095: 
005450,000096:    4061  E7,1603                                  EBANK=   DATATEST                              
005451,000097:    4061           56067        RDRPTBB            BBCON    VHFREAD                               
005452,000098: 
005453,000099:    4062     0025                                  EBANK=   TIME1                                 
005454,000100:    4062           04060        HCRUPTBB           BBCON    RESUME                                #  NOT USED
005455,000101: 
005456,000102:    4063     1302                                  EBANK=   DSRUPTSW                              
005457,000103:    4063           14062        T4RPTBB            BBCON    T4RUPT                                
005458,000104: 
005459,000105:    4064     0025                                  EBANK=   TIME1                                 
005460,000106:    4064           04060        T5RPTBB            BBCON    T5RUPT                                
005461,000107: 
005462,000108:    4065           00006        T5RUPT             EXTEND                                         
005463,000109:    4066           65337                           BZMF     NOQBRSM                               
005464,000110:    4067           00006                           EXTEND                                         
005465,000111:    4070           31313                           DCA      T5LOC                                 
005466,000112:    4071           52006                           DTCB                                           
005467,000113: 
005468,000114: 
005469,000115: 

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