Source Code
051968,000001: # Copyright: Public domain.
051969,000002: # Filename: FIXED_FIXED_CONSTANT_POOL.agc
051970,000003: # Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
051971,000004: # It is part of the source code for the Command Module's (CM)
051972,000005: # Apollo Guidance Computer (AGC), for Apollo 11.
051973,000006: # Assembler: yaYUL
051974,000007: # Contact: Ron Burkey <info@sandroid.org>.
051975,000008: # Website: www.ibiblio.org/apollo.
051976,000009: # Pages: 1200-1204
051977,000010: # Mod history: 2009-05-13 RSB Adapted from the Colossus249/ file of the
051978,000011: # same name, using Comanche055 page images.
051979,000012:
051980,000013: # This source code has been transcribed or otherwise adapted from digitized
051981,000014: # images of a hardcopy from the MIT Museum. The digitization was performed
051982,000015: # by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
051983,000016: # thanks to both. The images (with suitable reduction in storage size and
051984,000017: # consequent reduction in image quality as well) are available online at
051985,000018: # www.ibiblio.org/apollo. If for some reason you find that the images are
051986,000019: # illegible, contact me at info@sandroid.org about getting access to the
051987,000020: # (much) higher-quality images which Paul actually created.
051988,000021:
051989,000022: # Notations on the hardcopy document read, in part:
051990,000023:
051991,000024: # Assemble revision 055 of AGC program Comanche by NASA
051992,000025: # 2021113-051. 10:28 APR. 1, 1969
051993,000026:
051994,000027: # This AGC program shall also be referred to as
051995,000028: # Colossus 2A
051996,000029:
051997,000030: # Page 1200
051998,000031: 4776 BLOCK 02
051999,000032: 4776 COUNT 02/FCONS
052000,000033:
052001,000034: # THE FOLLOWING TABLE OF 18 VALUES IS INDEXED. DO NOT INSERT OR REMOVE ANY QUANTITIES
052002,000035:
052003,000036: 4776 37777 DPOSMAX OCT 37777 # MUST PRECED POSMAX
052004,000037: 4777 37777 POSMAX OCT 37777
052005,000038:
052006,000039: 5000 5000 LIMITS = NEG1/2
052007,000040:
052008,000041: 5000 57777 NEG1/2 OCT -20000 # USED BY SIN ROUTINE (MUST BE TWO
052009,000042: # LOCATIONS IN FRONT OF BIT14)
052010,000043:
052011,000044: # BIT TABLE
052012,000045:
052013,000046: 5001 40000 BIT15 OCT 40000
052014,000047: 5002 20000 BIT14 OCT 20000
052015,000048: 5003 10000 BIT13 OCT 10000
052016,000049: 5004 04000 BIT12 OCT 04000
052017,000050: 5005 02000 BIT11 OCT 02000
052018,000051: 5006 01000 BIT10 OCT 01000
052019,000052: 5007 00400 BIT9 OCT 00400
052020,000053: 5010 00200 BIT8 OCT 00200
052021,000054: 5011 00100 BIT7 OCT 00100
052022,000055: 5012 00040 BIT6 OCT 00040
052023,000056: 5013 00020 BIT5 OCT 00020
052024,000057: 5014 00010 BIT4 OCT 00010
052025,000058: 5015 00004 BIT3 OCT 00004
052026,000059: 5016 00002 BIT2 OCT 00002
052027,000060: 5017 00001 BIT1 OCT 00001
052028,000061:
052029,000062: # DO NOT DESTROY THIS COMBINATION, SINCE IT IS USED IN DOUBLE PRECISION INSTRUCTIONS.
052030,000063: 5020 77777 NEG0 OCT -0 # MUST PRECEDE ZERO
052031,000064: 5021 00000 ZERO OCT 0 # MUST FOLLOW NEG0
052032,000065: # BIT1 OCT 00001
052033,000066: # NO.WDS OCT 2 # INTERPRETER
052034,000067: # OCTAL3 OCT 3 # INTERPRETER
052035,000068: # R3D1 OCT 4 # PINBALL
052036,000069: 5022 00005 FIVE OCT 5
052037,000070: # REVCNT OCT 6 # INTERPRETER
052038,000071: 5023 00007 SEVEN OCT 7
052039,000072: # BIT4 OCT 00010
052040,000073: # R2D1 OCT 11 # PINBALL
052041,000074: 5024 4334 OCT11 = R2D1 # P20S
052042,000075: # BINCON DEC 10 # PINBALL (OCTAL 12)
052043,000076: 5024 00013 ELEVEN DEC 11 B-14
052044,000077: # OCT14 OCT 14 # ALARM AND ABORT (FILLER)
052045,000078: 5025 00015 OCT15 OCT 15
052046,000079: # R1D1 OCT 16 # PINBALL
052047,000080: # Page 1201
052048,000081: 5026 00017 LOW4 OCT 17
052049,000082: # BIT5 OCT 00020
052050,000083: # ND1 OCT 21 # PINBALL
052051,000084: # VD1 OCT 23 # PINBALL
052052,000085: # OCT24 OCT 24 # SERVICE ROUTINES
052053,000086: # MD1 OCT 25 # PINBALL
052054,000087: 5027 00030 BITS4&5 OCT 30
052055,000088: # OCT31 OCT 31 # SERVICE ROUTINES
052056,000089: 5030 00032 CALLCODE OCT 00032
052057,000090: # LOW5 OCT 37 # PINBALL
052058,000091: # 33DEC DEC 33 # PINBALL (OCTAL 41)
052059,000092: # 34DEC DEC 34 # PINBALL (OCTAL 42)
052060,000093: 5031 00045 TBUILDFX DEC 37 B-14 # BUILDUP FOR CONVENIENCE IN DAPTESTING
052061,000094: 5032 00046 TDECAYFX DEC 38 B-14 # CONVENIENCE FOR DAPTESTING
052062,000095: # BIT6 OCT 00040
052063,000096: 5033 00050 OCT50 OCT 50
052064,000097: 5034 00055 DEC45 DEC 45 B-14
052065,000098: 5035 00060 SUPER011 OCT 60 # BITS FOR SUPERBNK SETTING 011.
052066,000099: 5036 00062 .5SEC DEC 50 B-14
052067,000100: # BIT7 OCT 00100
052068,000101:
052069,000102: 5037 5011 SUPER100 = BIT7 # BITS FOR SUPERBNK SETTING 100
052070,000103: # (LAST 4K OF ROPE)
052071,000104: 5037 00120 SUPER101 OCT 120 # BITS FOR SUPERBNK SETTING 101
052072,000105: # OCT121 OCT 121 # SERVICE ROUTINES
052073,000106: # (FIRST 8K OF ACM)
052074,000107: 5040 00140 SUPER110 OCT 140 # BITS FOR SUPERBNK SETTING 110.
052075,000108: # (LAST BK OF ACM)
052076,000109: 5041 00144 1SEC DEC 100 B-14
052077,000110: # LOW7 OCT 177 # INTERPRETER
052078,000111: # BIT8 OCT 00200
052079,000112: # OT215 OCT 215 # ALARM AND ABORT
052080,000113: # 8,5 OCT 00220 # P20-P25 SUNDANCE
052081,000114: 5042 00310 2SECS DEC 200 B-14
052082,000115: # LOW8 OCT 377 # PINBALL
052083,000116: # BIT9 OCT 00400
052084,000117: 5043 00401 GN/CCODE OCT 00401 # SET S/C CONTROL SWITCH TO G/N
052085,000118: 5044 00454 3SECS DEC 300 B-14
052086,000119: 5045 00620 4SECS DEC 400 B-14
052087,000120: 5046 00777 LOW9 OCT 777
052088,000121: # BIT10 OCT 01000
052089,000122: # 5.5DEGS DEC .03056 # P20-P25 SUNDANCE (OCTAL 00765)
052090,000123: # OCT1103 OCT 1103 # ALARM AND ABORT
052091,000124: 5047 01124 C5/2 DEC .0363551 # (OCTAL 01124)
052092,000125: 5050 01211 V05N09 VN 0509 # (SAME AS OCTAL 1211)
052093,000126: 5051 01400 OCT1400 OCT 01400
052094,000127: 5052 01426 V06N22 VN 0622
052095,000128: # MID5 OCT 1740 # PINBALL
052096,000129: 5053 01776 BITS2-10 OCT 1776
052097,000130: 5054 01777 LOW10 OCT 1777
052098,000131: # Page 1202
052099,000132: # BIT11 OCT 02000
052100,000133: # 2K+3 OCT 2003 # PINBALL
052101,000134: 5055 02177 LOW7+2K OCT 2177 # OP CODE MASK + BANK 1 FBANK SETTING
052102,000135: 5056 02400 EBANK5 OCT 02400
052103,000136: 5057 03000 PRIO3 OCT 03000
052104,000137: 5060 03400 EBANK7 OCT 03400
052105,000138: # LOW11 OCT 3777 # PINBALL
052106,000139: # BIT12 OCT 04000
052107,000140: # RELTAB OCT 04025 # T4RUPT
052108,000141: 5061 05000 PRIO5 OCT 05000
052109,000142: 5062 06000 PRIO6 OCT 06000
052110,000143: 5063 07000 PRIO7 OCT 07000
052111,000144:
052112,000145: # BIT13 OCT 10000
052113,000146: # OCT 10003 # T4RUPT RELTAB +1D
052114,000147: # 13,7,2 OCT 10102 # P20-P25 SUNDANCE
052115,000148: 5064 11000 PRIO11 OCT 11000
052116,000149: # PRIO12 OCT 12000 # BANKCALL
052117,000150: 5065 13000 PRIO13 OCT 13000
052118,000151: 5066 14000 PRIO14 OCT 14000
052119,000152: # OCT 14031 # T4RUPT RELTAB +2D
052120,000153: 5067 15000 PRIO15 OCT 15000
052121,000154: 5070 16000 PRIO16 OCT 16000
052122,000155: # 85DEGS DEC .45556 # P20-P25 SUNDANCE (OCTAL 16450)
052123,000156: 5071 17000 PRIO17 OCT 17000
052124,000157: 5072 17770 OCT17770 OCT 17770
052125,000158: # BIT14 OCT 20000
052126,000159: # OCT 20033 # T4RUPT RELTAB +3D
052127,000160: 5073 21000 PRIO21 OCT 21000
052128,000161: 7657 BLOCK 03
052129,000162: 7657 COUNT 03/FCONS
052130,000163:
052131,000164: 7657 22000 PRIO22 OCT 22000 # SERVICE ROUTINES
052132,000165: 7660 23000 PRIO23 OCT 23000
052133,000166: 7661 24000 PRIO24 OCT 24000
052134,000167: # 5/8+1 OCT 24001 # SINGLE PRECISION SUBROUTINES
052135,000168: # OCT 24017 # T4RUPT RELTAB +4D
052136,000169: 7662 25000 PRIO25 OCT 25000
052137,000170: 7663 26000 PRIO26 OCT 26000
052138,000171: 7664 27000 PRIO27 OCT 27000
052139,000172: # CHRPRIO OCT 30000 # PINBALL
052140,000173: # OCT 30036 # T4RUPT RELTAB +5D
052141,000174: 7665 31000 PRIO31 OCT 31000
052142,000175: 7666 31103 C1/2 DEC .7853134 # (OCTAL 31103)
052143,000176: 7667 32000 PRIO32 OCT 32000
052144,000177: 7670 33000 PRIO33 OCT 33000
052145,000178: 7671 34000 PRIO34 OCT 34000
052146,000179: # OCT 34034 # T4RUPT RELTAB +6D
052147,000180: 7672 35000 PRIO35 OCT 35000
052148,000181: 7673 36000 PRIO36 OCT 36000
052149,000182: # Page 1203
052150,000183: 7674 37000 PRIO37 OCT 37000
052151,000184: 7675 37401 63/64+1 OCT 37401
052152,000185: # MID7 OCT 37600 # PINBALL
052153,000186: 7676 37766 OCT37766 OCT 37766
052154,000187: 7677 37774 OCT37774 OCT 37774
052155,000188: 7700 37776 OCT37776 OCT 37776
052156,000189: # DPOSMAX OCT 37777
052157,000190: # BIT15 OCT 40000
052158,000191: # OCT40001 OCT 40001 # INTERPRETER (CS 1 INSTRUCTION)
052159,000192: 7701 40014 DLOADCOD OCT 40014
052160,000193: 7702 40015 DLOAD* OCT 40015
052161,000194: # OCT 40023 # T4RUPT RELTAB +7D
052162,000195: 7703 40040 BIT15+6 OCT 40040
052163,000196: 7704 40200 OCT40200 OCT 40200
052164,000197: # OCT 44035 # T4RUPT RELTAB +8D
052165,000198: # OCT 50037 # T4RUPT RELTAB +9D
052166,000199: # OCT 54000 # T4RUPT RELTAB +10D
052167,000200: 7705 57777 -BIT14 OCT 57777
052168,000201: # RELTAB11 OCT 60000 # T4RUPT
052169,000202: 7706 65552 C3/2 DEC -.3216147 # (OCTAL 65552)
052170,000203: 7707 70000 13,14,15 OCT 70000
052171,000204: 7710 73777 -1/8 OCT 73777
052172,000205: 7711 74000 HIGH4 OCT 74000
052173,000206: 7712 74056 -ENDERAS DEC -2001 B-14 # (OCTAL 74056)
052174,000207: # HI5 OCT 76000 # PINBALL
052175,000208: 7713 77700 HIGH9 OCT 77700
052176,000209: # -ENDVAC DEC -45 # INTERPRETER (OCTAL 77722)
052177,000210: # -OCT10 OCT -10 # (OCTAL 77767)
052178,000211: # NEG4 DEC -4 # (OCTAL 77773)
052179,000212: 7714 77774 NEG3 DEC -3 B-14
052180,000213: 7715 77775 NEG2 OCT 77775
052181,000214: 7716 77776 NEGONE DEC -1 B-14
052182,000215:
052183,000216: # Page 1204
052184,000217:
052185,000218: # DEFINED BY EQUALS
052186,000219:
052187,000220: # IT WOULD BE TO THE USERS ADVANTAGE TO OCCASIONALLY CHECK ANY OF THESE SYMBOLS IN ORDER TO PREVENT ANY
052188,000221: # ACCIDENTAL DEFINITION CHANGES.
052189,000222:
052190,000223: 7717 7716 MINUS1 = NEG1
052191,000224: 7717 7716 NEG1 = NEGONE
052192,000225: 7717 5017 ONE = BIT1
052193,000226: 7717 5016 TWO = BIT2
052194,000227: 7717 6214 THREE = OCTAL3
052195,000228: 7717 6214 LOW2 = THREE
052196,000229: 7717 5015 FOUR = BIT3
052197,000230: 7717 6211 SIX = REVCNT
052198,000231: 7717 5023 LOW3 = SEVEN
052199,000232: 7717 5014 EIGHT = BIT4
052200,000233: 7717 4334 NINE = R2D1
052201,000234: 7717 4377 TEN = BINCON
052202,000235: 7717 5024 NOUTCON = ELEVEN
052203,000236: 7717 4374 OCT23 = VD1
052204,000237: 7717 4376 OCT25 = MD1
052205,000238: 7717 5006 PRIO1 = BIT10
052206,000239: 7717 5051 EBANK3 = OCT1400
052207,000240: 7717 5005 PRIO2 = BIT11
052208,000241: 7717 5037 OCT120 = SUPER101
052209,000242: 7717 5040 OCT140 = SUPER110
052210,000243: 7717 5005 2K = BIT11
052211,000244: 7717 5005 EBANK4 = BIT11
052212,000245: 7717 5004 PRIO4 = BIT12
052213,000246: 7717 5057 EBANK6 = PRIO3
052214,000247: 7717 5003 QUARTER = BIT13
052215,000248: 7717 5003 PRIO10 = BIT13
052216,000249: 7717 7632 OCT10001 = CCSL
052217,000250: 7717 5002 POS1/2 = HALF
052218,000251: 7717 5002 PRIO20 = BIT14
052219,000252: 7717 5002 HALF = BIT14
052220,000253: 7717 4371 PRIO30 = CHRPRIO
052221,000254: 7717 4371 BIT13-14 = PRIO30 # INTERPRETER USES IN PROCESSING STORECODE
052222,000255: 7717 6440 OCT30002 = TLOAD +1
052223,000256: 7717 7671 B12T14 = PRIO34
052224,000257: 7717 5001 NEGMAX = BIT15
052225,000258: 7717 5001 VLOADCOD = BIT15
052226,000259: 7717 6056 VLOAD* = OCT40001
052227,000260: 7717 4105 OCT60000 = RELTAB11
052228,000261: 7717 4364 BANKMASK = HI5
052229,000262:
End of include-file FIXED_FIXED_CONSTANT_POOL.agc. Parent file is MAIN.agc