Source Code

050529,000001: # Copyright: Public domain. 050530,000002: # Filename: FIXED_FIXED_CONSTANT_POOL.agc 050531,000003: # Purpose: Part of the source code for Colossus, build 249. 050532,000004: # It is part of the source code for the Command Module's (CM) 050533,000005: # Apollo Guidance Computer (AGC), possibly for Apollo 8 and 9. 050534,000006: # Assembler: yaYUL 050535,000007: # Reference: pp. 1182-1186 of 1701.pdf. 050536,000008: # Contact: Ron Burkey <info@sandroid.org>. 050537,000009: # Mod history: 04/27/03 RSB. Adapted from the Luminary131 file with the 050538,000010: # same name. The changes were highly trivial 050539,000011: # in nature: 050540,000012: # 1. A small number of constants were removed. 050541,000013: # 2. The names of the COUNT* counters were 050542,000014: # changed. 050543,000015: # 3. Comments (such as pagination and header 050544,000016: # materials) were changed. 050545,000017: # No constants changed value, to my knowledge. 050546,000018: 050547,000019: # The contents of the "Colossus249" files, in general, are transcribed 050548,000020: # from a scanned document obtained from MIT's website, 050549,000021: # http://hrst.mit.edu/hrs/apollo/public/archive/1701.pdf. Notations on this 050550,000022: # document read, in part: 050551,000023: 050552,000024: # Assemble revision 249 of AGC program Colossus by NASA 050553,000025: # 2021111-041. October 28, 1968. 050554,000026: 050555,000027: # This AGC program shall also be referred to as 050556,000028: # Colossus 1A 050557,000029: 050558,000030: # Prepared by 050559,000031: # Massachussets Institute of Technology 050560,000032: # 75 Cambridge Parkway 050561,000033: # Cambridge, Massachusetts 050562,000034: # under NASA contract NAS 9-4065. 050563,000035: 050564,000036: # Refer directly to the online document mentioned above for further information. 050565,000037: # Please report any errors (relative to 1701.pdf) to info@sandroid.org. 050566,000038: 050567,000039: # Page 1182 050568,000040: 4671 BLOCK 02 050569,000041: 4671 COUNT* 02/FCONS 050570,000042: 050571,000043: # THE FOLLOWING TABLE OF 18 VALUES IS INDEXED. DO NOT INSERT OR REMOVE ANY QUANTITIES 050572,000044: 050573,000045: 4671 37777 DPOSMAX OCT 37777 # MUST PRECED POSMAX 050574,000046: 4672 37777 POSMAX OCT 37777 050575,000047: 050576,000048: 4673 4673 LIMITS = NEG1/2 050577,000049: 050578,000050: 4673 57777 NEG1/2 OCT -20000 # USED BY SIN ROUTINE (MUST BE TWO 050579,000051: # LOCATIONS IN FRONT OF BIT14) 050580,000052: 050581,000053: # BIT TABLE 050582,000054: 050583,000055: 4674 40000 BIT15 OCT 40000 050584,000056: 4675 20000 BIT14 OCT 20000 050585,000057: 4676 10000 BIT13 OCT 10000 050586,000058: 4677 04000 BIT12 OCT 04000 050587,000059: 4700 02000 BIT11 OCT 02000 050588,000060: 4701 01000 BIT10 OCT 01000 050589,000061: 4702 00400 BIT9 OCT 00400 050590,000062: 4703 00200 BIT8 OCT 00200 050591,000063: 4704 00100 BIT7 OCT 00100 050592,000064: 4705 00040 BIT6 OCT 00040 050593,000065: 4706 00020 BIT5 OCT 00020 050594,000066: 4707 00010 BIT4 OCT 00010 050595,000067: 4710 00004 BIT3 OCT 00004 050596,000068: 4711 00002 BIT2 OCT 00002 050597,000069: 4712 00001 BIT1 OCT 00001 050598,000070: 050599,000071: # DO NOT DESTROY THIS COMBINATION, SINCE IT IS USED IN DOUBLE PRECISION INSTRUCTIONS. 050600,000072: 4713 77777 NEG0 OCT -0 # MUST PRECEDE ZERO 050601,000073: 4714 00000 ZERO OCT 0 # MUST FOLLOW NEG0 050602,000074: # BIT1 OCT 00001 050603,000075: # NO.WDS OCT 2 # INTERPRETER 050604,000076: # OCTAL3 OCT 3 # INTERPRETER 050605,000077: # R3D1 OCT 4 # PINBALL 050606,000078: 4715 00005 FIVE OCT 5 050607,000079: # REVCNT OCT 6 # INTERPRETER 050608,000080: 4716 00007 SEVEN OCT 7 050609,000081: # BIT4 OCT 00010 050610,000082: # R2D1 OCT 11 # PINBALL 050611,000083: 4717 4334 OCT11 = R2D1 # P20S 050612,000084: # BINCON DEC 10 # PINBALL (OCTAL 12) 050613,000085: 4717 00013 ELEVEN DEC 11 B-14 050614,000086: # OCT14 OCT 14 # ALARM AND ABORT (FILLER) 050615,000087: 4720 00015 OCT15 OCT 15 050616,000088: # R1D1 OCT 16 # PINBALL 050617,000089: # Page 1183 050618,000090: 4721 00017 LOW4 OCT 17 050619,000091: # BIT5 OCT 00020 050620,000092: # ND1 OCT 21 # PINBALL 050621,000093: # VD1 OCT 23 # PINBALL 050622,000094: # OCT24 OCT 24 # SERVICE ROUTINES 050623,000095: # MD1 OCT 25 # PINBALL 050624,000096: 4722 00030 BITS4&5 OCT 30 050625,000097: # OCT31 OCT 31 # SERVICE ROUTINES 050626,000098: 4723 00032 CALLCODE OCT 00032 050627,000099: # LOW5 OCT 37 # PINBALL 050628,000100: # 33DEC DEC 33 # PINBALL (OCTAL 41) 050629,000101: # 34DEC DEC 34 # PINBALL (OCTAL 42) 050630,000102: 4724 00045 TBUILDFX DEC 37 B-14 # BUILDUP FOR CONVENIENCE IN DAPTESTING 050631,000103: 4725 00046 TDECAYFX DEC 38 B-14 # CONVENIENCE FOR DAPTESTING 050632,000104: # BIT6 OCT 00040 050633,000105: 4726 00050 OCT50 OCT 50 050634,000106: 4727 00055 DEC45 DEC 45 B-14 050635,000107: 4730 00060 SUPER011 OCT 60 # BITS FOR SUPERBNK SETTING 011. 050636,000108: 4731 00062 .5SEC DEC 50 B-14 050637,000109: # BIT7 OCT 00100 050638,000110: 050639,000111: 4732 4704 SUPER100 = BIT7 # BITS FOR SUPERBNK SETTING 100 050640,000112: # (LAST 4K OF ROPE) 050641,000113: 4732 00120 SUPER101 OCT 120 # BITS FOR SUPERBNK SETTING 101 050642,000114: # OCT121 OCT 121 # SERVICE ROUTINES 050643,000115: # (FIRST 8K OF ACM) 050644,000116: 4733 00140 SUPER110 OCT 140 # BITS FOR SUPERBNK SETTING 110. 050645,000117: # (LAST BK OF ACM) 050646,000118: 4734 00144 1SEC DEC 100 B-14 050647,000119: # LOW7 OCT 177 # INTERPRETER 050648,000120: # BIT8 OCT 00200 050649,000121: # OT215 OCT 215 # ALARM AND ABORT 050650,000122: # 8,5 OCT 00220 # P20-P25 SUNDANCE 050651,000123: 4735 00310 2SECS DEC 200 B-14 050652,000124: # LOW8 OCT 377 # PINBALL 050653,000125: # BIT9 OCT 00400 050654,000126: 4736 00401 GN/CCODE OCT 00401 # SET S/C CONTROL SWITCH TO G/N 050655,000127: 4737 00454 3SECS DEC 300 B-14 050656,000128: 4740 00620 4SECS DEC 400 B-14 050657,000129: 4741 00777 LOW9 OCT 777 050658,000130: # BIT10 OCT 01000 050659,000131: # 5.5DEGS DEC .03056 # P20-P25 SUNDANCE (OCTAL 00765) 050660,000132: # OCT1103 OCT 1103 # ALARM AND ABORT 050661,000133: 4742 01124 C5/2 DEC .0363551 # (OCTAL 01124) 050662,000134: 4743 01211 V05N09 VN 0509 # (SAME AS OCTAL 1211) 050663,000135: 4744 01400 OCT1400 OCT 01400 050664,000136: 4745 01426 V06N22 VN 0622 050665,000137: # MID5 OCT 1740 # PINBALL 050666,000138: 4746 01776 BITS2-10 OCT 1776 050667,000139: 4747 01777 LOW10 OCT 1777 050668,000140: # Page 1184 050669,000141: # BIT11 OCT 02000 050670,000142: # 2K+3 OCT 2003 # PINBALL 050671,000143: 4750 02177 LOW7+2K OCT 2177 # OP CODE MASK + BANK 1 FBANK SETTING 050672,000144: 4751 02400 EBANK5 OCT 02400 050673,000145: 4752 03000 PRIO3 OCT 03000 050674,000146: 4753 03400 EBANK7 OCT 03400 050675,000147: # LOW11 OCT 3777 # PINBALL 050676,000148: # BIT12 OCT 04000 050677,000149: # RELTAB OCT 04025 # T4RUPT 050678,000150: 4754 05000 PRIO5 OCT 05000 050679,000151: 4755 06000 PRIO6 OCT 06000 050680,000152: 4756 07000 PRIO7 OCT 07000 050681,000153: 050682,000154: # BIT13 OCT 10000 050683,000155: # OCT 10003 # T4RUPT RELTAB +1D 050684,000156: # 13,7,2 OCT 10102 # P20-P25 SUNDANCE 050685,000157: 4757 11000 PRIO11 OCT 11000 050686,000158: # PRIO12 OCT 12000 # BANKCALL 050687,000159: 4760 13000 PRIO13 OCT 13000 050688,000160: 4761 14000 PRIO14 OCT 14000 050689,000161: # OCT 14031 # T4RUPT RELTAB +2D 050690,000162: 4762 15000 PRIO15 OCT 15000 050691,000163: 4763 16000 PRIO16 OCT 16000 050692,000164: # 85DEGS DEC .45556 # P20-P25 SUNDANCE (OCTAL 16450) 050693,000165: 4764 17000 PRIO17 OCT 17000 050694,000166: 4765 17770 OCT17770 OCT 17770 050695,000167: # BIT14 OCT 20000 050696,000168: # OCT 20033 # T4RUPT RELTAB +3D 050697,000169: 4766 21000 PRIO21 OCT 21000 050698,000170: 050699,000171: 7657 BLOCK 03 050700,000172: 7657 COUNT* 03/FCONS 050701,000173: 050702,000174: 7657 22000 PRIO22 OCT 22000 # SERVICE ROUTINES 050703,000175: 7660 23000 PRIO23 OCT 23000 050704,000176: 7661 24000 PRIO24 OCT 24000 050705,000177: # 5/8+1 OCT 24001 # SINGLE PRECISION SUBROUTINES 050706,000178: # OCT 24017 # T4RUPT RELTAB +4D 050707,000179: 7662 25000 PRIO25 OCT 25000 050708,000180: 7663 26000 PRIO26 OCT 26000 050709,000181: 7664 27000 PRIO27 OCT 27000 050710,000182: # CHRPRIO OCT 30000 # PINBALL 050711,000183: # OCT 30036 # T4RUPT RELTAB +5D 050712,000184: 7665 31000 PRIO31 OCT 31000 050713,000185: 7666 31103 C1/2 DEC .7853134 # (OCTAL 31103) 050714,000186: 7667 32000 PRIO32 OCT 32000 050715,000187: 7670 33000 PRIO33 OCT 33000 050716,000188: 7671 34000 PRIO34 OCT 34000 050717,000189: # OCT 34034 # T4RUPT RELTAB +6D 050718,000190: 7672 35000 PRIO35 OCT 35000 050719,000191: 7673 36000 PRIO36 OCT 36000 050720,000192: # Page 1185 050721,000193: 7674 37000 PRIO37 OCT 37000 050722,000194: 7675 37401 63/64+1 OCT 37401 050723,000195: # MID7 OCT 37600 # PINBALL 050724,000196: 7676 37766 OCT37766 OCT 37766 050725,000197: 7677 37774 OCT37774 OCT 37774 050726,000198: 7700 37776 OCT37776 OCT 37776 050727,000199: # DPOSMAX OCT 37777 050728,000200: # BIT15 OCT 40000 050729,000201: # OCT40001 OCT 40001 # INTERPRETER (CS 1 INSTRUCTION) 050730,000202: 7701 40014 DLOADCOD OCT 40014 050731,000203: 7702 40015 DLOAD* OCT 40015 050732,000204: # OCT 40023 # T4RUPT RELTAB +7D 050733,000205: 7703 40040 BIT15+6 OCT 40040 050734,000206: 7704 40200 OCT40200 OCT 40200 050735,000207: # OCT 44035 # T4RUPT RELTAB +8D 050736,000208: # OCT 50037 # T4RUPT RELTAB +9D 050737,000209: # OCT 54000 # T4RUPT RELTAB +10D 050738,000210: 7705 57777 -BIT14 OCT 57777 050739,000211: # RELTAB11 OCT 60000 # T4RUPT 050740,000212: 7706 65552 C3/2 DEC -.3216147 # (OCTAL 65552) 050741,000213: 7707 70000 13,14,15 OCT 70000 050742,000214: 7710 73777 -1/8 OCT 73777 050743,000215: 7711 74000 HIGH4 OCT 74000 050744,000216: 7712 74056 -ENDERAS DEC -2001 B-14 # (OCTAL 74056) 050745,000217: # HI5 OCT 76000 # PINBALL 050746,000218: 7713 77700 HIGH9 OCT 77700 050747,000219: # -ENDVAC DEC -45 # INTERPRETER (OCTAL 77722) 050748,000220: # -OCT10 OCT -10 # (OCTAL 77767) 050749,000221: # NEG4 DEC -4 # (OCTAL 77773) 050750,000222: 7714 77774 NEG3 DEC -3 B-14 050751,000223: 7715 77775 NEG2 OCT 77775 050752,000224: 7716 77776 NEGONE DEC -1 B-14 050753,000225: 050754,000226: # Page 1186 050755,000227: 050756,000228: # DEFINED BY EQUALS 050757,000229: 050758,000230: # IT WOULD BE TO THE USERS ADVANTAGE TO OCCASIONALLY CHECK ANY OF THESE SYMBOLS IN ORDER TO PREVENT ANY 050759,000231: # ACCIDENTAL DEFINITION CHANGES. 050760,000232: 050761,000233: 7717 7716 MINUS1 = NEG1 050762,000234: 7717 7716 NEG1 = NEGONE 050763,000235: 7717 4712 ONE = BIT1 050764,000236: 7717 4711 TWO = BIT2 050765,000237: 7717 6214 THREE = OCTAL3 050766,000238: 7717 6214 LOW2 = THREE 050767,000239: 7717 4710 FOUR = BIT3 050768,000240: 7717 6211 SIX = REVCNT 050769,000241: 7717 4716 LOW3 = SEVEN 050770,000242: 7717 4707 EIGHT = BIT4 050771,000243: 7717 4334 NINE = R2D1 050772,000244: 7717 4377 TEN = BINCON 050773,000245: 7717 4717 NOUTCON = ELEVEN 050774,000246: 7717 4374 OCT23 = VD1 050775,000247: 7717 4376 OCT25 = MD1 050776,000248: 7717 4701 PRIO1 = BIT10 050777,000249: 7717 4744 EBANK3 = OCT1400 050778,000250: 7717 4700 PRIO2 = BIT11 050779,000251: 7717 4732 OCT120 = SUPER101 050780,000252: 7717 4733 OCT140 = SUPER110 050781,000253: 7717 4700 2K = BIT11 050782,000254: 7717 4700 EBANK4 = BIT11 050783,000255: 7717 4677 PRIO4 = BIT12 050784,000256: 7717 4752 EBANK6 = PRIO3 050785,000257: 7717 4676 QUARTER = BIT13 050786,000258: 7717 4676 PRIO10 = BIT13 050787,000259: 7717 7632 OCT10001 = CCSL 050788,000260: 7717 4675 POS1/2 = HALF 050789,000261: 7717 4675 PRIO20 = BIT14 050790,000262: 7717 4675 HALF = BIT14 050791,000263: 7717 4371 PRIO30 = CHRPRIO 050792,000264: 7717 4371 BIT13-14 = PRIO30 # INTERPRETER USES IN PROCESSING STORECODE 050793,000265: 7717 6440 OCT30002 = TLOAD +1 050794,000266: 7717 7671 B12T14 = PRIO34 050795,000267: 7717 4674 NEGMAX = BIT15 050796,000268: 7717 4674 VLOADCOD = BIT15 050797,000269: 7717 6056 VLOAD* = OCT40001 050798,000270: 7717 4105 OCT60000 = RELTAB11 050799,000271: 7717 4364 BANKMASK = HI5 050800,000272: End of include-file FIXED_FIXED_CONSTANT_POOL.agc. Parent file is MAIN.agc