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