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