Source Code

059880,000001: # Copyright: Public domain. 059881,000002: # Filename: DAP_INTERFACE_SUBROUTINES.agc 059882,000003: # Purpose: Part of the source code for Luminary 1A build 099. 059883,000004: # It is part of the source code for the Lunar Module's (LM) 059884,000005: # Apollo Guidance Computer (AGC), for Apollo 11. 059885,000006: # Assembler: yaYUL 059886,000007: # Contact: Ron Burkey <info@sandroid.org>. 059887,000008: # Website: www.ibiblio.org/apollo. 059888,000009: # Pages: 1406-1409 059889,000010: # Mod history: 2009-05-10 SN (Sergio Navarro). Started adapting 059890,000011: # from the Luminary131/ file of the same 059891,000012: # name, using Luminary099 page images. 059892,000013: 059893,000014: # This source code has been transcribed or otherwise adapted from 059894,000015: # digitized images of a hardcopy from the MIT Museum. The digitization 059895,000016: # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 059896,000017: # the Museum. Many thanks to both. The images (with suitable reduction 059897,000018: # in storage size and consequent reduction in image quality as well) are 059898,000019: # available online at www.ibiblio.org/apollo. If for some reason you 059899,000020: # find that the images are illegible, contact me at info@sandroid.org 059900,000021: # about getting access to the (much) higher-quality images which Paul 059901,000022: # actually created. 059902,000023: 059903,000024: # Notations on the hardcopy document read, in part: 059904,000025: 059905,000026: # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 059906,000027: # 16:27 JULY 14, 1969 059907,000028: 059908,000029: # Page 1406 059909,000030: 20,2123 BANK 20 059910,000031: 20,2000 SETLOC DAPS3 059911,000032: 20,2000 BANK 059912,000033: 059913,000034: 20,2123 E6,1635 EBANK= CDUXD 059914,000035: 20,2123 COUNT* $$/DAPIF 059915,000036: 059916,000037: # MOD 0 DATE 11/15/66 BY GEORGE W. CHERRY 059917,000038: # MOD 1 1/23/67 MODIFICATION BY PETER ADLER 059918,000039: 059919,000040: # FUNCTIONAL DESCRIPTION 059920,000041: # HEREIN IS A COLLECTION OF SUBROUTINES WHICH ALLOW MISSION CONTROL PROGRAMS TO CONTROL THE MODE 059921,000042: # AND INTERFACE WITH THE DAP. 059922,000043: 059923,000044: # CALLING SEQUENCES 059924,000045: # IN INTERRUPT OR WITH INTERRUPT INHIBITED 059925,000046: # TC IBNKCALL 059926,000047: # FCADR ROUTINE 059927,000048: # IN A JOB WITHOUT INTERRUPT INHIBITED 059928,000049: # INHINT 059929,000050: # TC IBNKCALL 059930,000051: # FCADR ROUTINE 059931,000052: # RELINT 059932,000053: 059933,000054: # OUTPUT 059934,000055: # SEE INDIVIDUAL ROUTINES BELOW 059935,000056: 059936,000057: # DEBRIS 059937,000058: # A, L, AND SOMETIMES MDUETEMP ODE NOT IN PULSES MODE 059938,000059: 059939,000060: # Page 1407 059940,000061: # SUBROUTINE NAMES: 059941,000062: # SETMAXDB, SETMINDB, RESTORDB, PFLITEDB 059942,000063: # MODIFIED: 30 JANUARY 1968 BY P. S. WEISSMAN TO CREATE RESTORDB. 059943,000064: # MODIFIED: 1 MARCH 1968 BY P. S. WEISSMAN TO SAVE EBANK AND CREATE PFLITEDB 059944,000065: 059945,000066: # FUNCTIONAL DESCRIPTION: 059946,000067: # SETMAXDB -- SET DEADBAND TO 5.0 DEGREES 059947,000068: # SETMINDB -- SET DEADBAND TO 0.3 DEGREE 059948,000069: # RESTORDB -- SET DEADBAND TO MAX OR MIN ACCORDING TO SETTINGS OF DBSELECT BIT OF DAPBOOLS 059949,000070: # PFLITEDB -- SET DEADBAND TO 1.0 DEGREE AND ZERO THE COMMANDED ATTITUDE CHANGE AND COMMANDED RATE 059950,000071: 059951,000072: # ALL ENTRIES SET UP A NOVAC JOB TO DO 1/ACCS SO THAT THE TJETLAW SWITCH CURVES ARE POSITIONED TO 059952,000073: # REFLECT TEH NEW DEADBAND. IT SHOULD BE NOTED THAT THE DEADBAND REFERS TO THE ATTITUDE IN THE P-, U-, AND V-AXES. 059953,000074: 059954,000075: # SUBROUTINE CALLED: NOVAC 059955,000076: 059956,000077: # CALLING SEQUENCE: SAME AS ABOVE 059957,000078: # OR TC RESTORDB +1 FROM ALLCOAST 059958,000079: 059959,000080: # DEBRIS: A, L, Q, RUPTREG1, (ITEMPS IN NOVAC) 059960,000081: 059961,000082: 20,2123 30111 RESTORDB CAE DAPBOOLS # DETERMINE CREW-SELECTED DEADBAND. 059962,000083: 20,2124 74750 MASK DBSELECT 059963,000084: 20,2125 00006 EXTEND 059964,000085: 20,2126 12140 BZF SETMINDB 059965,000086: 059966,000087: 20,2127 32151 SETMAXDB CAF WIDEDB # SET 5 DEGREE DEADBAND. 059967,000088: 20,2130 55346 +1 TS DB 059968,000089: 059969,000090: 20,2131 00006 EXTEND # SET UP JOB TO RE-POSITION SWITCH CURVES. 059970,000091: 20,2132 22070 QXCH RUPTREG1 059971,000092: 20,2133 37715 CALLACCS CAF PRIO27 059972,000093: 20,2134 05072 TC NOVAC 059973,000094: 20,2135 E6,1537 EBANK= AOSQ 059974,000095: 20,2135 02454 40106 2CADR 1/ACCJOB 059975,000096: 059976,000097: 20,2137 00070 TC RUPTREG1 # RETURN TO CALLER. 059977,000098: 059978,000099: 20,2140 32150 SETMINDB CAF NARROWDB # SET 0.3 DEGREE DEADBAND. 059979,000100: 20,2141 12130 TCF SETMAXDB +1 059980,000101: 059981,000102: 20,2142 00006 PFLITEDB EXTEND # THE RETURN FROM CALLACCS IS TO RUPTREG1. 059982,000103: 20,2143 22070 QXCH RUPTREG1 059983,000104: 20,2144 02153 TC ZATTEROR # ZERO THE ERRORS AND COMMANDED RATES. 059984,000105: 20,2145 32152 CAF POWERDB # SET DB TO 1.0 DEG. 059985,000106: 20,2146 55346 TS DB 059986,000107: 20,2147 12133 TCF CALLACCS # SET UP 1/ACCS AND RETURN TO CALLER. 059987,000108: 20,2150 00155 NARROWDB OCTAL 00155 # 0.3 DEGREE SCALED AT 45. 059988,000109: # Page 1408 059989,000110: 20,2151 03434 WIDEDB OCTAL 03434 # 5.0 DEGREES SCALED AT 45. 059990,000111: 20,2152 00554 POWERDB DEC .02222 # 1.0 DEGREE SCALED AT 45. 059991,000112: 059992,000113: 20,2153 35015 ZATTEROR CAF EBANK6 059993,000114: 20,2154 56003 XCH EBANK 059994,000115: 20,2155 54001 TS L # SAVE CALLERS EBANK IN L. 059995,000116: 20,2156 30032 CAE CDUX 059996,000117: 20,2157 55635 TS CDUXD 059997,000118: 20,2160 30033 CAE CDUY 059998,000119: 20,2161 55636 TS CDUYD 059999,000120: 20,2162 30034 CAE CDUZ 060000,000121: 20,2163 55637 TS CDUZD 060001,000122: 20,2164 12170 TCF STOPRATE +3 060002,000123: 060003,000124: 20,2165 35015 STOPRATE CAF EBANK6 060004,000125: 20,2166 56003 XCH EBANK 060005,000126: 20,2167 54001 TS L # SAVE CALLERS EBANK IN L. 060006,000127: 20,2170 34755 +3 CAF ZERO 060007,000128: 20,2171 55643 TS OMEGAPD 060008,000129: 20,2172 55644 TS OMEGAQD 060009,000130: 20,2173 55645 TS OMEGARD 060010,000131: 20,2174 55640 TS DELCDUX 060011,000132: 20,2175 55641 TS DELCDUY 060012,000133: 20,2176 55642 TS DELCDUZ 060013,000134: 20,2177 55277 TS DELPEROR 060014,000135: 20,2200 55300 TS DELQEROR 060015,000136: 20,2201 55301 TS DELREROR 060016,000137: 20,2202 22003 LXCH EBANK # RESTORE CALLERS EBANK. 060017,000138: 20,2203 00002 TC Q 060018,000139: 060019,000140: # SUBROUTINE NAME: ALLCOAST 060020,000141: # WILL BE CALLED BY FRESH STARTS AND ENGINE OFF ROUTINES. 060021,000142: 060022,000143: # CALLING SEQUENCE: (SAME AS ABOVE) 060023,000144: 060024,000145: # EXIT: RETURN TO Q. 060025,000146: 060026,000147: # SUBROUTINES CALLED: STOPRATE, RESTORDB, NOVAC 060027,000148: 060028,000149: # ZERO: (FOR ALL AXES) AOS, ALPHA, AOSTERM, OMEGAD, DELCDU, DELEROR 060029,000150: 060030,000151: # OUTPUT: DRIFTBIT/DAPBOOLS, OE, JOB TO DO 1/ACCS 060031,000152: 060032,000153: # DEBRIS: A, L, Q, RUPTREG1, RUPTREG2, (ITEMPS IN NOVAC) 060033,000154: 060034,000155: 20,2204 00006 ALLCOAST EXTEND # SAVE Q FOR RETURN 060035,000156: 20,2205 22071 QXCH RUPTREG2 060036,000157: # Page 1409 060037,000158: 20,2206 02165 TC STOPRATE # CLEAR RATE INTERFACE. RETURN WITH A=0 060038,000159: 20,2207 22003 LXCH EBANK # AND L=EBANK6. SAVE CALLER'S EBANK. 060039,000160: 20,2210 55537 TS AOSQ 060040,000161: 20,2211 55540 TS AOSQ +1 060041,000162: 20,2212 55541 TS AOSR 060042,000163: 20,2213 55542 TS AOSR +1 060043,000164: 20,2214 55424 TS ALPHAQ # FOR DOWNLIST. 060044,000165: 20,2215 55425 TS ALPHAR 060045,000166: 20,2216 55545 TS AOSQTERM 060046,000167: 20,2217 55546 TS AOSRTERM 060047,000168: 20,2220 22003 LXCH EBANK # RESTORE EBANK (EBANK6 NO LONGER NEEDED) 060048,000169: 060049,000170: 20,2221 40111 CS DAPBOOLS # SET UP DRIFTBIT 060050,000171: 20,2222 74744 MASK DRIFTBIT 060051,000172: 20,2223 26111 ADS DAPBOOLS 060052,000173: 20,2224 02124 TC RESTORDB +1 # RESTORE DEADBANK TO CREW-SELECTED VALUE. 060053,000174: 060054,000175: 20,2225 00071 TC RUPTREG2 # RETURN. 060055,000176: End of include-file DAP_INTERFACE_SUBROUTINES.agc. Parent file is MAIN.agc