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:
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