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