Source Code
![]() |
These source-code files are part of a reconstructed copy of Comanche 72, the
first release of the Apollo Guidance Computer (AGC) Command Module (CM) software
for Apollo 13.
They have been adapted from sources files created from a listing of Comanche 55. These source files were updated to match binary dumps of a set of Comanche 67 rope modules. They were then further modified by applying known changes between Comanche 67 and Comanche 72. A binary dump of module B2 of Comanche 72, part number 2010802-021, was also used to validate changes made to banks 05-13. The resulting code assembles to have identical memory-bank checksums as those specified in NASA drawing 2021153G; this gives reasonably high confidence that the changes that have been made are correct. In places where ambiguity exists, this ambiguity is discussed in "## Reconstruction:" comments. Since no contemporary listings of Comanche 72 are available as source material, all comments and labels are approximate. They have been taken from other AGC programs where possible, or, in some places, written from scratch to match what we believe would have been in the original listing. |
001084,000002: ## Copyright: Public domain.
001085,000003: ## Filename: TAGS_FOR_RELATIVE_SETLOC_AND_BLANK_BANK_CARDS.agc
001086,000004: ## Purpose: A section of Comanche revision 072.
001087,000005: ## It is part of the reconstructed source code for the first
001088,000006: ## release of the software for the Command Module's (CM) Apollo
001089,000007: ## Guidance Computer (AGC) for Apollo 13. No original listings
001090,000008: ## of this program are available; instead, this file was recreated
001091,000009: ## from a printout of Comanche 055, binary dumps of a set of
001092,000010: ## Comanche 067 rope modules, and changelogs between Comanche 067
001093,000011: ## and 072. It has been adapted such that the resulting bugger words
001094,000012: ## exactly match those specified for Comanche 072 in NASA drawing
001095,000013: ## 2021153G, which gives relatively high confidence that the
001096,000014: ## reconstruction is correct.
001097,000015: ## Assembler: yaYUL
001098,000016: ## Contact: Ron Burkey <info@sandroid.org>.
001099,000017: ## Website: www.ibiblio.org/apollo/index.html
001100,000018: ## Mod history: 2024-05-13 MAS Created from Comanche 067.
001101,000019:
001102,000020: ??????? FIXED MEMORY 120000 - 167777
001103,000021: ??????? COUNT BANKSUM
001104,000022:
001105,000023: # MODULE 1 CONTAINS BANKS 0 THROUGH 5
001106,000024:
001107,000025: 4000 BLOCK 02
001108,000026: 4000 FFTAG1 EQUALS
001109,000027: 4000 FFTAG2 EQUALS
001110,000028: 4000 FFTAG3 EQUALS
001111,000029: 4000 FFTAG4 EQUALS
001112,000030: 4000 FFTAG7 EQUALS
001113,000031: 4000 FFTAG8 EQUALS
001114,000032: 4000 FFTAG9 EQUALS
001115,000033: 4000 FFTAG10 EQUALS
001116,000034: 4000 FFTAG12 EQUALS
001117,000035: 4000 P30SUBS EQUALS
001118,000036: 4000 STOPRAT EQUALS
001119,000037: 4000 P23S EQUALS
001120,000038: 4000 BNKSUM 02
001121,000039:
001122,000040: 6000 BLOCK 03
001123,000041: 6000 FFTAG5 EQUALS
001124,000042: 6000 FFTAG6 EQUALS
001125,000043: 6000 DAPS9 EQUALS
001126,000044: 6000 FFTAG13 EQUALS
001127,000045: 6000 BNKSUM 03
001128,000046:
001129,000047: 00,2000 BANK 00
001130,000048: 00,2000 DLAYJOB EQUALS
001131,000049: 00,2000 BNKSUM 00
001132,000050:
001133,000051: 01,2000 BANK 01
001134,000052: 01,2000 RESTART EQUALS
001135,000053: 01,2000 BNKSUM 01
001136,000054:
001137,000055: 04,2000 BANK 4
001138,000056: 04,2000 VERB37 EQUALS
001139,000057: 04,2000 CONICS1 EQUALS
001140,000058: 04,2000 PINBALL4 EQUALS
001141,000059: 04,2000 CSI/CDH1 EQUALS
001142,000060: 04,2000 INTPRET2 EQUALS
001143,000061: 04,2000 IMUCAL1 EQUALS
001144,000062:
001145,000063:
001146,000064: 04,2000 STBLEORB EQUALS
001147,000065: 04,2000 E/PROG EQUALS
001148,000066: 04,2000 MIDDGIM EQUALS
001149,000067:
001150,000068: 04,2000 BNKSUM 04
001151,000069:
001152,000070: 05,2000 BANK 5
001153,000071: 05,2000 FRANDRES EQUALS
001154,000072: 05,2000 DOWNTELM EQUALS
001155,000073: 05,2000 DAPMASS EQUALS
001156,000074: 05,2000 CDHTAG EQUALS
001157,000075: 05,2000 BNKSUM 05
001158,000076:
001159,000077: # MODULE 2 CONTAINS BANKS 6 THROUGH 13
001160,000078:
001161,000079: 06,2000 BANK 6
001162,000080: 06,2000 IMUCOMP EQUALS
001163,000081: 06,2000 T4RUP EQUALS
001164,000082: 06,2000 IMUCAL2 EQUALS
001165,000083: 06,2000 CSIPROG EQUALS
001166,000084: 06,2000 BNKSUM 06
001167,000085:
001168,000086: 07,2000 BANK 7
001169,000087: 07,2000 SXTMARKE EQUALS
001170,000088: 07,2000 R02 EQUALS
001171,000089: 07,2000 MODESW EQUALS
001172,000090: 07,2000 XANG EQUALS
001173,000091: 07,2000 KEYRUPT EQUALS
001174,000092: 07,2000 CSIPROG6 EQUALS
001175,000093: 07,2000 BNKSUM 07
001176,000094:
001177,000095: 10,2000 BANK 10
001178,000096: 10,2000 DISPLAYS EQUALS
001179,000097: 10,2000 PHASETAB EQUALS
001180,000098: 10,2000 COMGEOM2 EQUALS
001181,000099: 10,2000 SXTMARK1 EQUALS
001182,000100: 10,2000 P60S4 EQUALS
001183,000101: 10,2000 OPTDRV EQUALS
001184,000102: 10,2000 CSIPROG8 EQUALS
001185,000103: 10,2000 BNKSUM 10
001186,000104:
001187,000105: 11,2000 BANK 11
001188,000106: 11,2000 ORBITAL EQUALS
001189,000107: 11,2000 ORBITAL1 EQUALS # CONSTANTS
001190,000108:
001191,000109:
001192,000110: 11,2000 INTVEL EQUALS
001193,000111: 11,2000 S52/2 EQUALS
001194,000112: 11,2000 INTINIT1 EQUALS
001195,000113: 11,2000 BNKSUM 11
001196,000114:
001197,000115: 12,2000 BANK 12
001198,000116: 12,2000 CONICS EQUALS
001199,000117: 12,2000 CSIPROG2 EQUALS
001200,000118: 12,2000 CSI/CDH2 EQUALS
001201,000119: 12,2000 BNKSUM 12
001202,000120:
001203,000121: 13,2000 BANK 13
001204,000122: 13,2000 P76LOC EQUALS
001205,000123: 13,2000 LATLONG EQUALS
001206,000124: 13,2000 INTINIT EQUALS
001207,000125: 13,2000 SR52/1 EQUALS
001208,000126: 13,2000 ORBITAL2 EQUALS
001209,000127: 13,2000 CDHTAGS EQUALS
001210,000128: 13,2000 E/PROG1 EQUALS
001211,000129: 13,2000 P40S4 EQUALS
001212,000130: 13,2000 BNKSUM 13
001213,000131:
001214,000132: # SPACER
001215,000133:
001216,000134: # MODULE 3 CONTAINS BANKS 14 THROUGH 21
001217,000135:
001218,000136: 14,2000 BANK 14
001219,000137: 14,2000 STARTAB EQUALS
001220,000138: 14,2000 RT53 EQUALS
001221,000139: 14,2000 P50S1 EQUALS
001222,000140: 14,2000 MEASINC2 EQUALS
001223,000141: 14,2000 CSI/CDH3 EQUALS
001224,000142: 14,2000 BNKSUM 14
001225,000143:
001226,000144: 15,2000 BANK 15
001227,000145: 15,2000 P50S EQUALS
001228,000146: 15,2000 ETRYDAP EQUALS
001229,000147: 15,2000 S52/3 EQUALS
001230,000148: 15,2000 SERV1 EQUALS
001231,000149: 15,2000 BNKSUM 15
001232,000150:
001233,000151: 16,2000 BANK 16
001234,000152: 16,2000 P40S1 EQUALS
001235,000153:
001236,000154:
001237,000155: 16,2000 DAPROLL EQUALS
001238,000156: 16,2000 P50S2 EQUALS
001239,000157: 16,2000 P23S1 EQUALS
001240,000158: 16,2000 RTE2 EQUALS
001241,000159: 16,2000 CSIPROG5 EQUALS
001242,000160: 16,2000 BNKSUM 16
001243,000161:
001244,000162: 17,2000 BANK 17
001245,000163: 17,2000 EXTVRBS1 EQUALS
001246,000164: 17,2000 DAPS4 EQUALS
001247,000165: 17,2000 DAPS5 EQUALS
001248,000166: 17,2000 DAPS7 EQUALS
001249,000167: 17,2000 P50S3 EQUALS
001250,000168: 17,2000 BNKSUM 17
001251,000169:
001252,000170: 20,2000 BANK 20
001253,000171: 20,2000 DAPS6 EQUALS
001254,000172: 20,2000 DAPS1 EQUALS
001255,000173: 20,2000 DAPS2 EQUALS
001256,000174: 20,2000 MANUSTUF EQUALS
001257,000175: 20,2000 R36CM EQUALS
001258,000176: 20,2000 VAC5LOC EQUALS
001259,000177: 20,2000 R30LOC1 EQUALS
001260,000178: 20,2000 BNKSUM 20
001261,000179:
001262,000180: 21,2000 BANK 21
001263,000181: 21,2000 EXTVRBS2 EQUALS
001264,000182: 21,2000 DAPS3 EQUALS
001265,000183: 21,2000 MYSUBS EQUALS
001266,000184: 21,2000 KALCMON3 EQUALS
001267,000185: 21,2000 BNKSUM 21
001268,000186:
001269,000187: # MODULE 4 CONTAINS BANKS 22 THROUGH 27
001270,000188:
001271,000189: 22,2000 BANK 22
001272,000190: 22,2000 RTBCODES EQUALS
001273,000191: 22,2000 RTBCODE1 EQUALS
001274,000192: 22,2000 DAPS8 EQUALS
001275,000193: 22,2000 APOPERI EQUALS
001276,000194: 22,2000 P40S5 EQUALS
001277,000195: 22,2000 KALCMON2 EQUALS
001278,000196: 22,2000 KALCMON1 EQUALS
001279,000197: 22,2000 CSIPROG3 EQUALS
001280,000198: 22,2000 BNKSUM 22
001281,000199:
001282,000200:
001283,000201: 23,2000 BANK 23
001284,000202: 23,2000 P20S2 EQUALS
001285,000203: 23,2000 INFLIGHT EQUALS
001286,000204: 23,2000 COMGEOM1 EQUALS
001287,000205: 23,2000 POWFLITE EQUALS
001288,000206: 23,2000 POWFLIT1 EQUALS
001289,000207: 23,2000 RENDGUID EQUALS
001290,000208: 23,2000 POWFLIT2 EQUALS
001291,000209: 23,2000 R30LOC EQUALS
001292,000210: 23,2000 P11FOUR EQUALS
001293,000211: 23,2000 CSIPROG4 EQUALS
001294,000212: 23,2000 BNKSUM 23
001295,000213:
001296,000214: 24,2000 BANK 24
001297,000215: 24,2000 LOADDAP EQUALS
001298,000216: 24,2000 P40S EQUALS
001299,000217: 24,2000 CSIPROG7 EQUALS
001300,000218: 24,2000 BNKSUM 24
001301,000219:
001302,000220: 25,2000 BANK 25
001303,000221: 25,2000 REENTRY EQUALS
001304,000222: 25,2000 CDHTAG1 EQUALS
001305,000223: 25,2000 BNKSUM 25
001306,000224:
001307,000225: 26,2000 BANK 26
001308,000226: 26,2000 INTPRET1 EQUALS
001309,000227: 26,2000 REENTRY1 EQUALS
001310,000228: 26,2000 P60S EQUALS
001311,000229: 26,2000 P60S1 EQUALS
001312,000230: 26,2000 P60S2 EQUALS
001313,000231: 26,2000 P60S3 EQUALS
001314,000232: 26,2000 PLANTIN EQUALS # LUNAR ROT
001315,000233: 26,2000 EPHEM EQUALS
001316,000234: 26,2000 P05P06 EQUALS
001317,000235: 26,2000 26P50S EQUALS
001318,000236: 26,2000 BNKSUM 26
001319,000237:
001320,000238: 27,2000 BANK 27
001321,000239: 27,2000 TOF-FF EQUALS
001322,000240: 27,2000 TOF-FF1 EQUALS
001323,000241: 27,2000 MANUVER EQUALS
001324,000242: 27,2000 MANUVER1 EQUALS
001325,000243:
001326,000244:
001327,000245: 27,2000 VECPT EQUALS
001328,000246: 27,2000 UPDATE1 EQUALS
001329,000247: 27,2000 UPDATE2 EQUALS
001330,000248: 27,2000 R22S1 EQUALS
001331,000249: 27,2000 P60S5 EQUALS
001332,000250: 27,2000 P40S2 EQUALS
001333,000251: 27,2000 BNKSUM 27
001334,000252:
001335,000253: # MODULE 5 CONTAINS BANKS 30 THROUGH 35
001336,000254:
001337,000255: 30,2000 BANK 30
001338,000256: 30,2000 IMUSUPER EQUALS
001339,000257: 30,2000 LOWSUPER EQUALS
001340,000258: 30,2000 FCSTART EQUALS # STANDARD LOCATION FOR THIS. (FOR EXTVB)
001341,000259: 30,2000 LOPC EQUALS
001342,000260: 30,2000 P20S1 EQUALS
001343,000261: 30,2000 P20S6 EQUALS
001344,000262: 30,2000 P40S3 EQUALS
001345,000263: 30,2000 R35A EQUALS
001346,000264: 30,2000 BNKSUM 30
001347,000265:
001348,000266: 31,2000 BANK 31
001349,000267: 31,2000 R35 EQUALS
001350,000268: 31,2000 RT23 EQUALS
001351,000269: 31,2000 P30S1A EQUALS
001352,000270: 31,2000 R34 EQUALS
001353,000271: 31,2000 CDHTAG2 EQUALS
001354,000272: 31,2000 CSIPROG9 EQUALS
001355,000273: 31,2000 R31 EQUALS
001356,000274: 31,2000 P22S EQUALS
001357,000275: 31,2000 RTE3 EQUALS
001358,000276: 31,2000 BNKSUM 31
001359,000277:
001360,000278: 32,2000 BANK 32
001361,000279: 32,2000 MSGSCAN1 EQUALS
001362,000280: 32,2000 RTE EQUALS
001363,000281: 32,2000 DELRSPL1 EQUALS
001364,000282: 32,2000 IMUCAL3 EQUALS
001365,000283: 32,2000 BNKSUM 32
001366,000284:
001367,000285: 33,2000 BANK 33
001368,000286: 33,2000 TESTLEAD EQUALS
001369,000287:
001370,000288:
001371,000289: 33,2000 IMUCAL EQUALS
001372,000290: 33,2000 BNKSUM 33
001373,000291:
001374,000292: 34,2000 BANK 34
001375,000293: 34,2000 P11ONE EQUALS
001376,000294: 34,2000 P20S3 EQUALS
001377,000295: 34,2000 P20S4 EQUALS
001378,000296: 34,2000 RTECON EQUALS
001379,000297: 34,2000 BNKSUM 34
001380,000298:
001381,000299: 35,2000 BANK 35
001382,000300: 35,2000 RTECON1 EQUALS
001383,000301: 35,2000 CSI/CDH EQUALS
001384,000302: 35,2000 P30S1 EQUALS
001385,000303: 35,2000 P30S EQUALS
001386,000304: 35,2000 P17S1 EQUALS
001387,000305: 35,2000 MEASINC3 EQUALS
001388,000306: 35,2000 INTINIT2 EQUALS
001389,000307: 35,2000 BNKSUM 35
001390,000308:
001391,000309: # MODULE 6 CONTAINS BANKS 36 THROUGH 43
001392,000310:
001393,000311: 36,2000 BANK 36
001394,000312: 36,2000 MEASINC EQUALS
001395,000313: 36,2000 MEASINC1 EQUALS
001396,000314: 36,2000 P17S EQUALS
001397,000315: 36,2000 RTE1 EQUALS
001398,000316: 36,2000 S3435LOC EQUALS
001399,000317: 36,2000 BNKSUM 36
001400,000318:
001401,000319: 37,2000 BANK 37
001402,000320: 37,2000 P20S EQUALS
001403,000321: 37,2000 BODYATT EQUALS
001404,000322: 37,2000 RENDEZ EQUALS
001405,000323: 37,2000 SERVICES EQUALS
001406,000324: 37,2000 P11TWO EQUALS
001407,000325: 37,2000 CDHTAG3 EQUALS
001408,000326: 37,2000 BNKSUM 37
001409,000327:
001410,000328: 40,2000 BANK 40
001411,000329: 40,2000 PINSUPER EQUALS
001412,000330:
001413,000331:
001414,000332: 40,2000 SELFSUPR EQUALS
001415,000333: 40,2000 PINBALL1 EQUALS
001416,000334: 40,2000 R36CM1 EQUALS
001417,000335: 40,2000 BNKSUM 40
001418,000336:
001419,000337: 41,2000 BANK 41
001420,000338: 41,2000 PINBALL2 EQUALS
001421,000339: 41,2000 R36LM EQUALS
001422,000340: 41,2000 BNKSUM 41
001423,000341:
001424,000342: 42,2000 BANK 42
001425,000343: 42,2000 SBAND EQUALS
001426,000344: 42,2000 PINBALL3 EQUALS
001427,000345: 42,2000 EXTVBS EQUALS
001428,000346: 42,2000 R36LM1 EQUALS
001429,000347: 42,2000 BNKSUM 42
001430,000348:
001431,000349: 43,2000 BANK 43
001432,000350: 43,2000 SELFCHEC EQUALS
001433,000351: 43,2000 EXTVERBS EQUALS
001434,000352: 43,2000 BNKSUM 43
001435,000353:
001436,000354: 43,2000 26,3333 HI6ZEROS EQUALS ZEROVECS # ZERO VECTOR ALWAYS IN HIGH MEMORY
001437,000355: 43,2000 04,3565 LO6ZEROS EQUALS ZEROVEC # ZERO VECTOR ALWAYS IN LOW MEMORY
001438,000356: 43,2000 26,3331 HIDPHALF EQUALS UNITX
001439,000357: 43,2000 04,3563 LODPHALF EQUALS XUNIT
001440,000358: 43,2000 26,3323 HIDP1/4 EQUALS DP1/4TH
001441,000359: 43,2000 04,3611 LODP1/4 EQUALS D1/4 # 2DEC .25
001442,000360: 43,2000 26,3331 HIUNITX EQUALS UNITX
001443,000361: 43,2000 26,3327 HIUNITY EQUALS UNITY
001444,000362: 43,2000 26,3325 HIUNITZ EQUALS UNITZ
001445,000363: 43,2000 04,3563 LOUNITX EQUALS XUNIT # 2DEC .5
001446,000364: 43,2000 04,3561 LOUNITY EQUALS YUNIT # 2DEC 0
001447,000365: 43,2000 04,3557 LOUNITZ EQUALS ZUNIT # 2DEC 0
001448,000366: 43,2000 11,3745 3/4LOWDP EQUALS 3/4 # 2DEC 3.0 B-2
001449,000367:
001450,000368: 43,2000 30,2000 SBANK= LOWSUPER
001451,000369:
001452,000370: # ROPE SPECIFIC ASSIGNS OBVIATING NEED TO CHECK COMPUTER FLAG IN DETVRUZVING INTEGRATION AREA ENTRIES
001453,000371:
001454,000372: 43,2000 13,3114 OTHPREC EQUALS LEMPREC
001455,000373: 43,2000 13,2767 ATOPOTH EQUALS ATOPLEM
001456,000374: 43,2000 13,2714 ATOPTHIS EQUALS ATOPCSM
001457,000375: 43,2000 0000173 MOONTHIS EQUALS CMOONFLG
001458,000376:
001459,000377:
001460,000378: 43,2000 0000174 MOONOTH EQUALS LMOONFLG
001461,000379: 43,2000 13,2727 MOVATHIS EQUALS MOVEACSM
001462,000380: 43,2000 31,2032 STATEST EQUALS V83CALL # * TEMPORARY
001463,000381: 43,2000 13,3100 THISPREC EQUALS CSMPREC
001464,000382: 43,2000 26,3331 THISAXIS = UNITX
001465,000383: 43,2000 5070 ERASID EQUALS LOW10 # DOWNLINK ERASABLE DUMP ID
001466,000384: 43,2000 6214 DELAYNUM EQUALS THREE
001467,000385:
001468,000386: # ****************************************************************************************************************
001469,000387:
001470,000388: # THE FOLLOWING ECADRS ARE DEFINED TO FACILITATE EBANK SWITCHING. THEY ALSO MAKE IT EASIER FOR
001471,000389: # ERASABLE CONTROL TO REARRANGE ERASABLE MEMORY WITHOUT DISRUPTING THE PROGRAMS WHICH SET EBANKS.
001472,000390: # PRIOR TO ROPE RELEASE FIXED MEMORY CAN BE SAVED BY SETTING EACH EBXXXX =EBANKX (X=4,5,6,7). EBANKX OF COURSE
001473,000391: # WILL BE THE BANK WHERE THE ERASABLES REFERENCED IN EBXXXX WILL BE STORED.
001474,000392:
001475,000393: 07,2000 BANK 7
001476,000394: 07,2000 E7,1674 EBANK= MARKDOWN
001477,000395: 07,2000 03674 EBMARKDO ECADR MARKDOWN
001478,000396: 07,2001 E7,1725 EBANK= MRKBUF1
001479,000397: 07,2001 03725 EBMRKBUF ECADR MRKBUF1
001480,000398:
001481,000399: 24,2000 BANK 24
001482,000400: 24,2000 E7,1431 EBANK= DVCNTR
001483,000401: 24,2000 03431 EBDVCNTR ECADR DVCNTR
001484,000402: 24,2001 E7,1672 EBANK= P40TMP
001485,000403: 24,2001 03672 EBP40TMP ECADR P40TMP
001486,000404:
001487,000405: 34,2000 BANK 34
001488,000406: 34,2000 E7,1431 EBANK= DVCNTR
001489,000407: 34,2000 03431 EBDVCNT ECADR DVCNTR
001490,000408: 34,2001 E5,1426 EBANK= QPLACES
001491,000409: 34,2001 02426 EBQPLACE ECADR QPLACES
001492,000410:
001493,000411: 37,2000 BANK 37
001494,000412: 37,2000 1231 EBANK= RN1
001495,000413: 37,2000 01231 EBRN1 ECADR RN1
001496,000414:
001497,000415: # ****************************************************************************************************************
End of include-file TAGS_FOR_RELATIVE_SETLOC_AND_BLANK_BANK_CARDS.agc. Parent file is MAIN.agc