Source Code

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

The starting point was the source code of Comanche 44 (itself previously accurately reconstructed). Comanche 44 source code was then modified by incorporating changes known from contemporary documentation to have been made between revisions 44 and 45. The now-reconstructed Comanche 45 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:
There is also a detailed 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.

005341,000002:                                                                                                  ## Copyright:   Public domain.
005342,000003:                                                                                                  ## Filename:    INTERRUPT_LEAD_INS.agc
005343,000004:                                                                                                  ## Purpose:     A section of Comanche revision 045.
005344,000005:                                                                                                  ##              It is part of the reconstructed source code for the
005345,000006:                                                                                                  ##              second release of the flight software for the Command
005346,000007:                                                                                                  ##              Module's (CM) Apollo Guidance Computer (AGC) for Apollo 10.
005347,000008:                                                                                                  ##              The code has been recreated from a copy of Comanche 055. It
005348,000009:                                                                                                  ##              has been adapted such that the resulting bugger words
005349,000010:                                                                                                  ##              exactly match those specified for Comanche 45 in NASA drawing
005350,000011:                                                                                                  ##              2021153D, which gives relatively high confidence that the
005351,000012:                                                                                                  ##              reconstruction is correct.
005352,000013:                                                                                                  ## Assembler:   yaYUL
005353,000014:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
005354,000015:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
005355,000016:                                                                                                  ## Mod history: 2020-12-06 MAS  Created from Comanche 44.
005356,000017: 

Page 131

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

Page 132

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

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