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