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. |
051923,000002: ## Copyright: Public domain.
051924,000003: ## Filename: SINGLE_PRECISION_SUBROUTINES.agc
051925,000004: ## Purpose: A section of Comanche revision 044.
051926,000005: ## It is part of the reconstructed source code for the
051927,000006: ## original release of the flight software for the Command
051928,000007: ## Module's (CM) Apollo Guidance Computer (AGC) for Apollo 10.
051929,000008: ## The code has been recreated from a copy of Comanche 055. It
051930,000009: ## has been adapted such that the resulting bugger words
051931,000010: ## exactly match those specified for Comanche 44 in NASA drawing
051932,000011: ## 2021153D, which gives relatively high confidence that the
051933,000012: ## reconstruction is correct.
051934,000013: ## Assembler: yaYUL
051935,000014: ## Contact: Ron Burkey <info@sandroid.org>.
051936,000015: ## Website: www.ibiblio.org/apollo/index.html
051937,000016: ## Mod history: 2020-12-03 MAS Created from Comanche 51.
051938,000017:
Page 1207 |
051940,000019: 5074 BLOCK 02
051941,000020:
051942,000021: # SINGLE PRECISION SINE AND COSINE
051943,000022:
051944,000023: 5074 COUNT 02/INTER
051945,000024:
051946,000025: 5074 65002 SPCOS AD HALF # ARGUMENTS SCALED AT PI
051947,000026: 5075 55075 SPSIN TS TEMK
051948,000027: 5076 15100 TCF SPT
051949,000028: 5077 41075 CS TEMK
051950,000029: 5100 60000 SPT DOUBLE
051951,000030: 5101 55075 TS TEMK
051952,000031: 5102 15113 TCF POLLEY
051953,000032: 5103 57075 XCH TEMK
051954,000033: 5104 51075 INDEX TEMK
051955,000034: 5105 65000 AD LIMITS
051956,000035: 5106 40000 COM
051957,000036: 5107 61075 AD TEMK
051958,000037: 5110 55075 TS TEMK
051959,000038: 5111 15113 TCF POLLEY
051960,000039: 5112 15131 TCF ARG90
051961,000040: 5113 00006 POLLEY EXTEND
051962,000041: 5114 71075 MP TEMK
051963,000042: 5115 55076 TS SQ
051964,000043: 5116 00006 EXTEND
051965,000044: 5117 75047 MP C5/2
051966,000045: 5120 67706 AD C3/2
051967,000046: 5121 00006 EXTEND
051968,000047: 5122 71076 MP SQ
051969,000048: 5123 67666 AD C1/2
051970,000049: 5124 00006 EXTEND
051971,000050: 5125 71075 MP TEMK
051972,000051: 5126 20001 DDOUBL
051973,000052: 5127 55075 TS TEMK
051974,000053: 5130 00002 TC Q
051975,000054: 5131 50000 ARG90 INDEX A
051976,000055: 5132 45000 CS LIMITS
051977,000056: 5133 00002 TC Q # RESULT SCALED AT 1
051978,000057:
051979,000058: # SPROOT WAS DELETED IN REV 51 OF MASTER. ASS. CONT. HAS CARDS.
051980,000059:
051981,000060:
051982,000061:
051983,000062:
End of include-file SINGLE_PRECISION_SUBROUTINES.agc. Parent file is MAIN.agc