Source Code

045199,000001: # Copyright: Public domain. 045200,000002: # Filename: FIXED_FIXED_CONSTANT_POOL.agc 045201,000003: # Purpose: The main source file for Luminary 1C, revision 131. 045202,000004: # It is part of the source code for the Lunar Module's (LM) 045203,000005: # Apollo Guidance Computer (AGC) for Apollo 13 and Apollo 14. 045204,000006: # Assembler: yaYUL 045205,000007: # Reference: pp. 1094-1098 of 1729.pdf. 045206,000008: # Contact: Ron Burkey <info@sandroid.org>. 045207,000009: # Website: www.ibiblio.org/apollo/index.html 045208,000010: # Mod history: 04/23/03 RSB. Began. 045209,000011: # 05/14/05 RSB Corrected website reference above. 045210,000012: # 2010-10-25 JL Indentation fixes. 045211,000013: 045212,000014: # The contents of the "Luminary131" files, in general, are 045213,000015: # transcribed from a scanned document obtained from MIT's website, 045214,000016: # http://hrst.mit.edu/hrs/apollo/public/archive/1729.pdf. Notations on this 045215,000017: # document read, in part: 045216,000018: 045217,000019: # NASA Apollo LUMINARY 131 (1C) Program Source Code Listing. 045218,000020: # MIT Instrumentation/Draper Laboratory -- 19 December 1969, 1742 pages. 045219,000021: # This listing contains the flight program for the Lunar Module 045220,000022: # as created by MIT's Draper Lab for the Apollo 13/14 moon missions. 045221,000023: 045222,000024: # Refer directly to the online document mentioned above for further information. 045223,000025: # Please report any errors (relative to 1729.pdf) to info@sandroid.org. 045224,000026: 045225,000027: # Page 1094 045226,000028: 4732 BLOCK 02 045227,000029: 4732 COUNT* $$/FCONS 045228,000030: 045229,000031: # THE FOLLOWING TABLE OF 18 VALUES IS INDEXED. DO NOT INSERT OR REMOVE ANY QUANTITIES 045230,000032: 045231,000033: 4732 37777 DPOSMAX OCT 37777 # MUST PRECEDE POSMAX 045232,000034: 4733 37777 POSMAX OCT 37777 045233,000035: 045234,000036: 4734 4734 LIMITS = NEG1/2 045235,000037: 045236,000038: 4734 57777 NEG1/2 OCT -20000 # USED BY SIN ROUTINE (MUST BE TWO 045237,000039: # LOCATIONS IN FRONT OF BIT14) 045238,000040: 045239,000041: # BIT TABLE 045240,000042: 045241,000043: 4735 40000 BIT15 OCT 40000 045242,000044: 4736 20000 BIT14 OCT 20000 045243,000045: 4737 10000 BIT13 OCT 10000 045244,000046: 4740 04000 BIT12 OCT 04000 045245,000047: 4741 02000 BIT11 OCT 02000 045246,000048: 4742 01000 BIT10 OCT 01000 045247,000049: 4743 00400 BIT9 OCT 00400 045248,000050: 4744 00200 BIT8 OCT 00200 045249,000051: 4745 00100 BIT7 OCT 00100 045250,000052: 4746 00040 BIT6 OCT 00040 045251,000053: 4747 00020 BIT5 OCT 00020 045252,000054: 4750 00010 BIT4 OCT 00010 045253,000055: 4751 00004 BIT3 OCT 00004 045254,000056: 4752 00002 BIT2 OCT 00002 045255,000057: 4753 00001 BIT1 OCT 00001 045256,000058: 045257,000059: # DO NOT DESTROY THIS COMBINATION, SINCE IT IS USED IN DOUBLE PRECISION INSTRUCTIONS. 045258,000060: 4754 77777 NEG0 OCT -0 # MUST PRECEDE ZERO 045259,000061: 4755 00000 ZERO OCT 0 # MUST FOLLOW NEG0 045260,000062: # BIT1 OCT 00001 045261,000063: # NO.WDS OCT 2 # INTERPRETER 045262,000064: # OCTAL3 OCT 3 # INTERPRETER 045263,000065: # R3D1 OCT 4 # PINBALL 045264,000066: 4756 00005 FIVE OCT 5 045265,000067: # REVCNT OCT 6 # INTERPRETER 045266,000068: 4757 00007 SEVEN OCT 7 045267,000069: # BIT4 OCT 00010 045268,000070: # R2D1 OCT 11 # PINBALL 045269,000071: 4760 4320 OCT11 = R2D1 # P20S 045270,000072: # BINCON DEC 10 # PINBALL (OCTAL 12) 045271,000073: 4760 00013 ELEVEN DEC 11 B-14 045272,000074: # OCT14 OCT 14 # ALARM AND ABORT (FILLER) 045273,000075: 4761 00015 OCT15 OCT 15 045274,000076: # R1D1 OCT 16 # PINBALL 045275,000077: 4762 00017 LOW4 OCT 17 045276,000078: # Page 1095 045277,000079: # BIT5 OCT 00020 045278,000080: # NC1 OCT 21 # PINBALL 045279,000081: # VD1 OCT 23 # PINBALL 045280,000082: # OCT24 OCT 24 # SERVICE ROUTINES 045281,000083: # MD1 OCT 25 # PINBALL 045282,000084: 4763 00030 BITS4&5 OCT 30 045283,000085: # OCT31 OCT 31 # SERVICE ROUTINES 045284,000086: 4764 00033 OCT33 OCT 33 045285,000087: # DEC27 = OCT33 045286,000088: 4765 00035 OCT35 OCT 35 045287,000089: # DEC29 = OCT35 045288,000090: 4766 00032 CALLCODE OCT 00032 045289,000091: # LOW5 OCT 37 # PINBALL 045290,000092: # 33DEC DEC 33 # PINBALL (OCTAL 41) 045291,000093: # 34DEC DEC 34 # PINBALL (OCTAL 42) 045292,000094: 4767 00045 TBUILDFX DEC 37 B-14 # BUILDUP FOR CONVENIENCE IN DAPTESTING 045293,000095: 4770 00046 TDECAYFX DEC 38 B-14 # CONVENIENCE FOR DAPTESTING 045294,000096: # BIT6 OCT 00040 045295,000097: 4771 00050 OCT50 OCT 50 045296,000098: 4772 00055 DEC45 DEC 45 B-14 045297,000099: 4773 00060 SUPER011 OCT 60 # BITS FOR SUPERBNK SETTING 011. 045298,000100: 4774 00062 .5SEC DEC 50 B-14 045299,000101: # BIT7 OCT 00100 045300,000102: 045301,000103: 4775 4745 SUPER100 = BIT7 # BITS FOR SUPERBNK SETTING 100 045302,000104: # (LAST 4K OF ROPE) 045303,000105: 4775 00120 SUPER101 OCT 120 # BITS FOR SUPERBNK SETTING 101 045304,000106: # OCT121 OCT 121 # SERVICE ROUTINES 045305,000107: # (FIRST 8K OF ACM) 045306,000108: 4776 00140 SUPER110 OCT 140 # BITS FOR SUPERBNK SETTING 110. 045307,000109: # (LAST BK OF ACM) 045308,000110: 4777 00144 1SEC DEC 100 B-14 045309,000111: # LOW7 OCT 177 # INTERPRETER 045310,000112: # BIT8 OCT 00200 045311,000113: # OT215 OCT 215 # ALARM AND ABORT 045312,000114: # 8,5 OCT 00220 # P20-P25 SUNDANCE 045313,000115: 5000 00310 2SECS DEC 200 B-14 045314,000116: # LOW8 OCT 377 # PINBALL 045315,000117: # BIT9 OCT 00400 045316,000118: 5001 00401 GN/CCODE OCT 00401 # SET S/C CONTROL SWITCH TO G/N 045317,000119: 5002 00454 3SECS DEC 300 B-14 045318,000120: 5003 00620 4SECS DEC 400 B-14 045319,000121: 5004 00777 LOW9 OCT 777 045320,000122: # BIT10 OCT 01000 045321,000123: # 5.5DEGS DEC .03056 # P20-P25 SUNDANCE (OCTAL 00765) 045322,000124: # OCT1103 OCT 1103 # ALARM AND ABORT 045323,000125: 5005 01124 C5/2 DEC .0363551 # (OCTAL 01124) 045324,000126: 5006 01211 V05N09 VN 0509 # (SAME AS OCTAL 1211) 045325,000127: 5007 01400 OCT1400 OCT 01400 045326,000128: 5010 01426 V06N22 VN 0622 045327,000129: # Page 1096 045328,000130: # MID5 OCT 1740 # PINBALL 045329,000131: 5011 01776 BITS2-10 OCT 1776 045330,000132: 5012 01777 LOW10 OCT 1777 045331,000133: # BIT11 OCT 02000 045332,000134: # 2K+3 OCT 2003 # PINBALL 045333,000135: 5013 02177 LOW7+2K OCT 2177 # OP CODE MASK + BANK 1 FBANK SETTING 045334,000136: 5014 02400 EBANK5 OCT 02400 045335,000137: 5015 03000 PRIO3 OCT 03000 045336,000138: 5016 03400 EBANK7 OCT 03400 045337,000139: # LOW11 OCT 3777 # PINBALL 045338,000140: # BIT12 OCT 04000 045339,000141: # RELTAB OCT 04025 # T4RUPT 045340,000142: 5017 05000 PRIO5 OCT 05000 045341,000143: 5020 06000 PRIO6 OCT 06000 045342,000144: 5021 07000 PRIO7 OCT 07000 045343,000145: 045344,000146: # BIT13 OCT 10000 045345,000147: # OCT 10003 # T4RUPT RELTAB +1D 045346,000148: # 13,7,2 OCT 10102 # P20-P25 SUNDANCE 045347,000149: 5022 11000 PRIO11 OCT 11000 045348,000150: # PRIO12 OCT 12000 # BANKCALL 045349,000151: 5023 13000 PRIO13 OCT 13000 045350,000152: 5024 14000 PRIO14 OCT 14000 045351,000153: # OCT 14031 # T4RUPT RELTAB +2D 045352,000154: 5025 15000 PRIO15 OCT 15000 045353,000155: 5026 16000 PRIO16 OCT 16000 045354,000156: # 85DEGS DEC .45556 # P20-P25 SUNDANCE (OCTAL 16450) 045355,000157: 5027 17000 PRIO17 OCT 17000 045356,000158: 5030 17770 OCT17770 OCT 17770 045357,000159: # BIT14 OCT 20000 045358,000160: # OCT 20033 # T4RUPT RELTAB +3D 045359,000161: 5031 21000 PRIO21 OCT 21000 045360,000162: 045361,000163: 7713 BLOCK 03 045362,000164: 7713 COUNT* $$/FCONS 045363,000165: 045364,000166: 7713 22000 PRIO22 OCT 22000 # SERVICE ROUTINES 045365,000167: 7714 23000 PRIO23 OCT 23000 045366,000168: 7715 24000 PRIO24 OCT 24000 045367,000169: # 5/8+1 OCT 24001 # SINGLE PRECISION SUBROUTINES 045368,000170: # OCT 24017 # T4RUPT RELTAB +4D 045369,000171: 7716 25000 PRIO25 OCT 25000 045370,000172: 7717 26000 PRIO26 OCT 26000 045371,000173: 7720 27000 PRIO27 OCT 27000 045372,000174: # CHRPRIO OCT 30000 # PINBALL 045373,000175: # OCT 30036 # T4RUPT RELTAB +5D 045374,000176: 7721 31000 PRIO31 OCT 31000 045375,000177: 7722 31103 C1/2 DEC .7853134 # (OCTAL 31103) 045376,000178: 7723 32000 PRIO32 OCT 32000 045377,000179: 7724 33000 PRIO33 OCT 33000 045378,000180: 7725 34000 PRIO34 OCT 34000 045379,000181: # OCT 34034 # T4RUPT RELTAB +6D 045380,000182: # Page 1097 045381,000183: 7726 35000 PRIO35 OCT 35000 045382,000184: 7727 36000 PRIO36 OCT 36000 045383,000185: 7730 37000 PRIO37 OCT 37000 045384,000186: 7731 37401 63/64+1 OCT 37401 045385,000187: # MID7 OCT 37600 # PINBALL 045386,000188: 7732 37766 OCT37766 OCT 37766 045387,000189: 7733 37774 OCT37774 OCT 37774 045388,000190: 7734 37776 OCT37776 OCT 37776 045389,000191: # DPOSMAX OCT 37777 045390,000192: # BIT15 OCT 40000 045391,000193: # OCT40001 OCT 40001 # INTERPRETER (CS 1 INSTRUCTION) 045392,000194: 7735 40014 DLOADCOD OCT 40014 045393,000195: 7736 40015 DLOAD* OCT 40015 045394,000196: # OCT 40023 # T4RUPT RELTAB +7D 045395,000197: 7737 40040 BIT15+6 OCT 40040 045396,000198: 7740 40200 OCT40200 OCT 40200 045397,000199: # OCT 44035 # T4RUPT RELTAB +8D 045398,000200: # OCT 50037 # T4RUPT RELTAB +9D 045399,000201: # OCT 54000 # T4RUPT RELTAB +10D 045400,000202: 7741 57777 -BIT14 OCT 57777 045401,000203: # RELTAB11 OCT 60000 # T4RUPT 045402,000204: 7742 65552 C3/2 DEC -.3216147 # (OCTAL 65552) 045403,000205: 7743 70000 13,14,15 OCT 70000 045404,000206: 7744 73777 -1/8 OCT 73777 045405,000207: 7745 74000 HIGH4 OCT 74000 045406,000208: 7746 74056 -ENDERAS DEC -2001 B-14 # (OCTAL 74056) 045407,000209: # HI5 OCT 76000 # PINBALL 045408,000210: 7747 77700 HIGH9 OCT 77700 045409,000211: # -ENDVAC DEC -45 # INTERPRETER (OCTAL 77722) 045410,000212: # -OCT10 OCT -10 # (OCTAL 77767) 045411,000213: # NEG4 DEC -4 # (OCTAL 77773) 045412,000214: 7750 77774 NEG3 DEC -3 B-14 045413,000215: 7751 77775 NEG2 OCT 77775 045414,000216: 7752 77776 NEGONE DEC -1 B-14 045415,000217: 045416,000218: # Page 1098 045417,000219: 045418,000220: # DEFINED BY EQUALS 045419,000221: 045420,000222: # IT WOULD BE TO THE USERS ADVANTAGE TO OCCASIONALLY CHECK ANY OF THESE SYMBOLS IN ORDER TO PREVENT ANY 045421,000223: # ACCIDENTAL DEFINITION CHANGES. 045422,000224: 045423,000225: 7753 7752 MINUS1 = NEG1 045424,000226: 7753 7752 NEG1 = NEGONE 045425,000227: 7753 4753 ONE = BIT1 045426,000228: 7753 4752 TWO = BIT2 045427,000229: 7753 6250 THREE = OCTAL3 045428,000230: 7753 6250 LOW2 = THREE 045429,000231: 7753 4751 FOUR = BIT3 045430,000232: 7753 6245 SIX = REVCNT 045431,000233: 7753 4757 LOW3 = SEVEN 045432,000234: 7753 4750 EIGHT = BIT4 045433,000235: 7753 4320 NINE = R2D1 045434,000236: 7753 4363 TEN = BINCON 045435,000237: 7753 4760 NOUTCON = ELEVEN 045436,000238: 7753 4360 OCT23 = VD1 045437,000239: 7753 4362 OCT25 = MD1 045438,000240: 7753 4742 PRIO1 = BIT10 045439,000241: 7753 5007 EBANK3 = OCT1400 045440,000242: 7753 4741 PRIO2 = BIT11 045441,000243: 7753 4775 OCT120 = SUPER101 045442,000244: 7753 4776 OCT140 = SUPER110 045443,000245: 7753 4741 2K = BIT11 045444,000246: 7753 4741 EBANK4 = BIT11 045445,000247: 7753 4740 PRIO4 = BIT12 045446,000248: 7753 5015 EBANK6 = PRIO3 045447,000249: 7753 4737 QUARTER = BIT13 045448,000250: 7753 4737 PRIO10 = BIT13 045449,000251: 7753 7666 OCT10001 = CCSL 045450,000252: 7753 4736 POS1/2 = HALF 045451,000253: 7753 4736 PRIO20 = BIT14 045452,000254: 7753 4736 HALF = BIT14 045453,000255: 7753 4355 PRIO30 = CHRPRIO 045454,000256: 7753 4355 BIT13-14 = PRIO30 # INTERPRETER USES IN PROCESSING STORECODE 045455,000257: 7753 6474 OCT30002 = TLOAD +1 045456,000258: 7753 7725 B12T14 = PRIO34 045457,000259: 7753 4735 NEGMAX = BIT15 045458,000260: 7753 4735 VLOADCOD = BIT15 045459,000261: 7753 6112 VLOAD* = OCT40001 045460,000262: 7753 4101 OCT60000 = RELTAB11 045461,000263: 7753 4350 BANKMASK = HI5 045462,000264: End of include-file FIXED_FIXED_CONSTANT_POOL.agc. Parent file is MAIN.agc