Source Code
![]() |
YAYUL: ASSEMBLE REVISION 5 OF PROGRAM BOREALIS BY MSTEWART MAR. 27,2017This is a modern AGC system self-test program, though based on the Apollo-era AURORA 12 program, and was not written by the original AGC developers, but rather by Mike Stewart. All of the original AURORA 12 DAP code added by the DAP Group has been removed, and extensive new system test code has been added in its place. This allows more in-depth testing of CPU behavior, both in AGC software simulations and hardware simulations. |
008044,000002: ## Copyright: Public domain.
008045,000003: ## Filename: RADAR_LEAD-IN_ROUTINES.agc
008046,000004: ## Purpose: This program is designed to extensively test the Apollo Guidance Computer
008047,000005: ## (specifically the LM instantiation of it). It is built on top of a heavily
008048,000006: ## stripped-down Aurora 12, with all code ostensibly added by the DAP Group
008049,000007: ## removed. Instead Borealis expands upon the tests provided by Aurora,
008050,000008: ## including corrected tests from Retread 44 and tests from Ron Burkey's
008051,000009: ## Validation.
008052,000010: ## Assembler: yaYUL
008053,000011: ## Contact: Mike Stewart <mastewar1@gmail.com>.
008054,000012: ## Website: www.ibiblio.org/apollo/index.html
008055,000013: ## Mod history: 2016-12-20 MAS Created from Aurora 12 (with much DAP stuff removed).
008056,000014:
008057,000015: 4755 SETLOC ENDIMODF
008058,000016: 4755 E3,1460 EBANK= RRRET
008059,000017:
008060,000018: # THE FOLLOWING SUBROUTINE RETURNS TO CALLER + 2 IF THE ABSOLUTE VALUE OF C(A) IS GREATER THAN THE
008061,000019: # NEGATIVE OF THE NUMBER AT CALLER +1. OTHERWISE IT RETURNS TO CALLER +3. MAY BE CALLED IN RUPT OR UNDER EXEC.
008062,000020:
008063,000021: 4755 00006 MAGSUB EXTEND
008064,000022: 4756 64760 BZMF +2
008065,000023: 4757 14761 TCF +2
008066,000024: 4760 40000 COM
008067,000025:
008068,000026: 4761 50002 INDEX Q
008069,000027: 4762 60000 AD 0
008070,000028: 4763 00006 EXTEND
008071,000029: 4764 64767 BZMF +3 # ABS(A) G CONST
008072,000030: 4765 50002 INDEX Q
008073,000031: 4766 00001 TC 1 # ABS(A) LEQ CONST
008074,000032:
008075,000033: 4767 50002 MAGLESS INDEX Q
008076,000034: 4770 00002 TC 2
008077,000035:
008078,000036: # THE FOLLOWING SUBROUTINE CHECKS RR GIMBAL ANGLES TO SEE IF THEY ARE IN THE LIMITS OF THE CURRENT MODE.
008079,000037: # CALLING SEQUENCE IS AS FOLLOWS:
008080,000038:
008081,000039: # TC RRLIMCHK (WITH INTERRUPT INHIBITED).
008082,000040: # ADRES T,S (IN UNSWITCHED E OR CURRENT EBANK).
008083,000041:
008084,000042: # RETURN IS TO CALLER +2 IF NOT IN LIMITS AND TO CALLER +3 IF SO.
008085,000043:
008086,000044: 4771 50002 RRLIMCHK INDEX Q # READ GIMBAL ANGLES INTO ITEMP STORAGE.
008087,000045: 4772 30000 CAF 0
008088,000046: 4773 24002 INCR Q
008089,000047: 4774 00006 EXTEND
008090,000048: 4775 50000 INDEX A
008091,000049: 4776 30001 DCA 0
008092,000050: 4777 52066 DXCH ITEMP1
008093,000051: 5000 22002 LXCH Q # L(CALLER +2) TO L.
008094,000052:
008095,000053: 5001 37644 CAF BIT12 # SEE WHICH MODE RR IS IN.
008096,000054: 5002 70413 MASK RADMODES
008097,000055: 5003 10000 CCS A
008098,000056: 5004 15017 TCF MODE2CHK
008099,000057:
008100,000058: 5005 30065 CA ITEMP1 # MODE 1 IS DEFINED AS
008101,000059: 5006 04755 TC MAGSUB # 1. ABS(T) L 70 DEGS.
008102,000060: 5007 66161 DEC -.30555 # 2. ABS(S + 5.5 DEGS) L 64.5 DEGS
008103,000061: 5010 00001 TC L # (SHAFT LIMITS AT +59, -70 DEGS)
008104,000062:
008105,000063: 5011 35031 CAF 5.5DEGS
008106,000064: 5012 60066 AD ITEMP2 # S
008107,000065: 5013 04755 TC MAGSUB
008108,000066: 5014 64420 DEC -.35833 # 64.5 DEGS
008109,000067: 5015 00001 TC L
008110,000068: 5016 05027 TC RRLIMOK # IN LIMITS.
008111,000069:
008112,000070: 5017 35033 MODE2CHK CAF 82DEGS # MODE 2 IS DEFINED AS
008113,000071: 5020 60066 AD ITEMP2 # 1. ABS(T) G 110 DEGS.
008114,000072: 5021 04755 TC MAGSUB # 2. ABS(S + 82 DEGS) L 57 DEGS
008115,000073: 5022 65673 DEC -.31667 # (SHAFT LIMITS AT -25, -139 DEGS)
008116,000074: 5023 00001 TC L
008117,000075:
008118,000076: 5024 30065 CA ITEMP1
008119,000077: 5025 04755 TC MAGSUB
008120,000078: 5026 54343 DEC -.61111 # 110 DEGS
008121,000079:
008122,000080: 5027 50001 RRLIMOK INDEX L
008123,000081: 5030 00001 TC L # ( = TC 1)
008124,000082:
008125,000083: 5031 00765 5.5DEGS DEC .03056
008126,000084: 5032 00707 5DEGS DEC .02777 # SCALED IN HALF-REVOLUTIONS.
008127,000085: 5033 16450 82DEGS DEC .45556
008128,000086:
008129,000087: # THE FOLLOWING ROUTINE UPDATES THE TRACKER FAIL LAMP ON THE DSKY, IF EITHER:
008130,000088:
008131,000089: # 1. N SAMPLES OF RR DATA COULD NOT BE OBTAINED FROM 2N TRIES
008132,000090: # 2. N SAMPLES OF LR DATA COULD NOT BE TAKEN IN 2N TRIES WITH EITHER THE ALT OR VEL INFORMATION.
008133,000091: # 3. RR CDU FAILED WITH RR IN AUTO MODE AND RR CDU NOT BEING ZEROED.
008134,000092:
008135,000093: 5034 37657 SETTRKF CAF BIT1 # NO ACTION IF DURING LAMP TEST.
008136,000094: 5035 70370 MASK IMODES33
008137,000095: 5036 10000 CCS A
008138,000096: 5037 00002 TC Q
008139,000097:
008140,000098: 5040 35070 CAF 13,7,2 # SEE IF CDU FAILED.
008141,000099: 5041 70413 MASK RADMODES
008142,000100: 5042 00006 EXTEND
008143,000101: 5043 15053 BZF TRKFLON # CONDITION 3 ABOVE.
008144,000102:
008145,000103: 5044 40413 CS RADMODES # SEE IF LR FAILED.
008146,000104: 5045 75071 MASK 8,5
008147,000105: 5046 00006 EXTEND
008148,000106: 5047 15053 BZF TRKFLON # CONDITION 2 ABOVE.
008149,000107:
008150,000108: 5050 37654 CAF BIT4 # SEE IF RR DATA FAILED.
008151,000109: 5051 70413 MASK RADMODES
008152,000110: 5052 10000 CCS A
008153,000111: 5053 37650 TRKFLON CAF BIT8
008154,000112: 5054 60322 AD DSPTAB +11D # HALF ADD DESIRED AND PRESENT STATES.
008155,000113: 5055 77650 MASK BIT8
008156,000114: 5056 00006 EXTEND
008157,000115: 5057 14673 BZF TCQ # NO CHANGE.
008158,000116:
008159,000117: 5060 54001 TS L # INVERT BIT 8 AND SET BIT 15.
008160,000118: 5061 30322 CA DSPTAB +11D # CANT USE LXCH DSPTAB +11D (RESTART PROB)
008161,000119: 5062 00006 EXTEND
008162,000120: 5063 06001 RXOR L
008163,000121: 5064 77637 MASK POSMAX
008164,000122: 5065 67641 AD BIT15
008165,000123: 5066 54322 TS DSPTAB +11D
008166,000124: 5067 00002 TC Q
008167,000125:
008168,000126: 5070 10102 13,7,2 OCT 10102
008169,000127: 5071 00220 8,5 OCT 00220
008170,000128:
008171,000129: 5072 ENDRMODF EQUALS
008172,000130:
008173,000131: # TURNON SEQUENCE TO ZERO THE CDUS AND DETERMINE THE RR MODE.
008174,000132:
008175,000133: 10,2000 BANK 10
008176,000134:
008177,000135: 10,2000 02013 RRTURNON TC RRZEROSB
008178,000136: 10,2001 04535 TC FIXDELAY # WAIT 1 SEC BEFORE REMOVING TURN ON FLAG
008179,000137: 10,2002 00144 DEC 100 B-14 # SO A MONITOR REPOSITION WONT ALARM.
008180,000138: 10,2003 47657 CS BIT1
008181,000139: 10,2004 70413 MASK RADMODES
008182,000140: 10,2005 54413 TS RADMODES
008183,000141: 10,2006 40061 CS STATE # SEE IF SOMEONE IS WAITING TO USE THE RR.
008184,000142: 10,2007 77651 MASK RRUSEFLG
008185,000143: 10,2010 10000 CCS A
008186,000144: 10,2011 14563 TCF TASKOVER
008187,000145:
008188,000146: 10,2012 13235 TCF ENDRADAR # CHECK RR CDU FAIL BEFORE EXIT.
008189,000147:
008190,000148: # CLOSED SUBROUTINE TO ZERO THE RR CDUS.
008191,000149:
008192,000150: 10,2013 00006 RRZEROSB EXTEND
008193,000151: 10,2014 23460 QXCH RRRET
008194,000152: 10,2015 37657 CAF BIT1 # BIT 13 OF RADMODES MUST BE SET BEFORE
008195,000153: 10,2016 00006 EXTEND # COMING HERE.
008196,000154: 10,2017 05012 WOR 12
008197,000155: 10,2020 04535 TC FIXDELAY
008198,000156: 10,2021 00002 DEC 2 B-14
008199,000157:
008200,000158: 10,2022 37665 CAF ZERO
008201,000159: 10,2023 54035 TS OPTY
008202,000160: 10,2024 54036 TS OPTX
008203,000161: 10,2025 47657 CS ONE # REMOVE ZEROING BIT.
008204,000162: 10,2026 00006 EXTEND
008205,000163: 10,2027 03012 WAND 12
008206,000164: 10,2030 04535 TC FIXDELAY
008207,000165: 10,2031 00454 DEC 300 B-14
008208,000166:
008209,000167: 10,2032 47643 CS BIT13 # REMOVE ZEROING IN PROCESS BIT.
008210,000168: 10,2033 70413 MASK RADMODES
008211,000169: 10,2034 54413 TS RADMODES
008212,000170:
008213,000171: 10,2035 30035 CA OPTY
008214,000172: 10,2036 04755 TC MAGSUB
008215,000173: 10,2037 57777 DEC -.5
008216,000174: 10,2040 12043 TCF +3 # IF MODE 2.
008217,000175:
008218,000176: 10,2041 37665 CAF ZERO
008219,000177: 10,2042 12044 TCF +2
008220,000178: 10,2043 37644 CAF BIT12
008221,000179: 10,2044 56413 XCH RADMODES
008222,000180: 10,2045 74341 MASK -BIT12
008223,000181: 10,2046 26413 ADS RADMODES
008224,000182:
008225,000183: 10,2047 05034 TC SETTRKF # TRACKER LAMP MIGHT GO ON NOW.
008226,000184:
008227,000185: 10,2050 01460 TC RRRET # DONE.
008228,000186:
008229,000187: 10,2051 4341 -BIT12 EQUALS -1/8 # IN SPROOT
008230,000188:
008231,000189: # SEQUENCE OF TASKS TO DRIVE THE RR TO A SAFE POSITION.
008232,000190:
008233,000191: 10,2051 02106 DORREPOS TC SETRRECR # SET UP RR CDU ERROR COUNTERS.
008234,000192:
008235,000193: 10,2052 37657 CAF BIT1 # DO AN ALARM UNLESS RR JUST TURNED ON.
008236,000194: 10,2053 70413 MASK RADMODES
008237,000195: 10,2054 10000 CCS A
008238,000196: 10,2055 12060 TCF +3
008239,000197:
008240,000198: 10,2056 05405 TC ALARM
008241,000199: 10,2057 00501 OCT 501
008242,000200: 10,2060 04535 TC FIXDELAY
008243,000201: 10,2061 00002 DEC 2 B-14
008244,000202:
008245,000203: 10,2062 37644 CAF BIT12 # MANEUVER TRUNNION ANGLE TO NOMINAL POS.
008246,000204: 10,2063 70413 MASK RADMODES
008247,000205: 10,2064 10000 CCS A
008248,000206: 10,2065 37641 CAF BIT15 # 0 FOR MODE 1 AND 180 FOR MODE 2.
008249,000207: 10,2066 02150 TC RRTONLY
008250,000208:
008251,000209: 10,2067 37644 CAF BIT12 # NOW PUT SHAFT IN RIGHT POSITION.
008252,000210: 10,2070 70413 MASK RADMODES
008253,000211: 10,2071 10000 CCS A
008254,000212: 10,2072 47642 CS HALF # -90 FOR MODE 2.
008255,000213: 10,2073 02153 TC RRSONLY
008256,000214:
008257,000215: 10,2074 47645 REPOSRPT CS BIT11 # RETURNS HERE FROM RR1AXIS IF REMODE
008258,000216: # REQUESTED DURING REPOSITION.
008259,000217: 10,2075 70413 MASK RADMODES # REMOVE REPOSITION BIT.
008260,000218: 10,2076 54413 TS RADMODES
008261,000219: 10,2077 77646 MASK BIT10 # SEE IF SOMEONE IS WAITING TO DESIGNATE.
008262,000220: 10,2100 10000 CCS A
008263,000221: 10,2101 12422 TCF BEGDES
008264,000222: 10,2102 47656 CS BIT2 # IF NO FURTHER ANTENNA CONTROL REQUIRED,
008265,000223: 10,2103 00006 EXTEND # REMOVE ERROR COUNTER ENABLE.
008266,000224: 10,2104 03012 WAND 12
008267,000225: 10,2105 14563 TCF TASKOVER
008268,000226:
008269,000227: 10,2106 37656 SETRRECR CAF BIT2 # SET UP RR ERROR COUNTERS.
008270,000228: 10,2107 00006 EXTEND
008271,000229: 10,2110 05012 WOR 12
008272,000230:
008273,000231: 10,2111 37665 CAF ZERO
008274,000232: 10,2112 54362 TS LASTYCMD
008275,000233: 10,2113 54363 TS LASTXCMD
008276,000234: 10,2114 00002 TC Q
008277,000235:
008278,000236: # GENERAL REMODING SUBROUTINE. DRIVES TRUNION TO 0 (180), THEN DRIVES SHAFT TO -45, AND FINALLY DRIVES
008279,000237: # TRUNNION TO -130 (-50) BEFORE INITIATING 2-AXIS CONTROL. ALL RE-MODING IONE WITH SINGLE AXIS ROTATIONS (RR1AXIS)
008280,000238: 10,2115 37644 REMODE CAF BIT12 # DRIVE TRUNNION TO 0 (180).
008281,000239: 10,2116 70413 MASK RADMODES # (ERROR COUNTER ALREADY ENABLED)
008282,000240: 10,2117 10000 CCS A
008283,000241: 10,2120 37641 CAF BIT15
008284,000242: 10,2121 02150 TC RRTONLY
008285,000243:
008286,000244: 10,2122 32137 CAF -45DEGSR
008287,000245: 10,2123 02153 TC RRSONLY
008288,000246:
008289,000247: 10,2124 40413 CS RADMODES
008290,000248: 10,2125 77644 MASK BIT12
008291,000249: 10,2126 10000 CCS A
008292,000250: 10,2127 32141 CAF -80DEGSR # GO TO T = -130 (-50).
008293,000251: 10,2130 62141 AD -80DEGSR
008294,000252: 10,2131 02150 TC RRTONLY
008295,000253:
008296,000254: 10,2132 02142 TC RMODINV
008297,000255:
008298,000256: 10,2133 47642 CS BIT14 # END OF REMODE.
008299,000257: 10,2134 70413 MASK RADMODES
008300,000258: 10,2135 54413 TS RADMODES
008301,000259:
008302,000260: 10,2136 02431 TC STDESIG # BEGIN 2-AXIS CONTROL.
008303,000261:
008304,000262: 10,2137 70000 -45DEGSR OCT 70000
008305,000263: 10,2140 67070 -50DEGSR DEC -.27778
008306,000264: 10,2141 61615 -80DEGSR DEC -.44444
008307,000265:
008308,000266: 10,2142 22413 RMODINV LXCH RADMODES # INVERT THE MODE STATUS.
008309,000267: 10,2143 37644 CAF BIT12
008310,000268: 10,2144 00006 EXTEND
008311,000269: 10,2145 06001 RXOR L
008312,000270: 10,2146 54413 TS RADMODES
008313,000271: 10,2147 00002 TC Q
008314,000272:
008315,000273: # SUBROUTINES FOR DOING SINGLE AXIS RR MANEUVERS FOR REMODE AND REPOSITION. DRIVES TO WITHIN 1 DEGREE.
008316,000274:
008317,000275: 10,2150 55461 RRTONLY TS RDES # DESIRED TRUNION ANGLE.
008318,000276: 10,2151 37665 CAF ZERO
008319,000277: 10,2152 12155 TCF RR1AXIS
008320,000278:
008321,000279: 10,2153 55461 RRSONLY TS RDES # SHAFT COMMANDS ARE UNRESOLVED SINCE THIS
008322,000280: 10,2154 37657 CAF ONE # ROUTINE ENTERED ONLY WHEN T = 0 OR 180.
008323,000281:
008324,000282: 10,2155 55462 RR1AXIS TS RRINDEX
008325,000283: 10,2156 00006 EXTEND
008326,000284: 10,2157 23460 QXCH RRRET
008327,000285: 10,2160 12163 TCF RR1AX2
008328,000286:
008329,000287: 10,2161 04535 NXTRR1AX TC FIXDELAY
008330,000288: 10,2162 00062 DEC 50 B-14 # 2 SAMPLES PER SECOND.
008331,000289:
008332,000290: 10,2163 40413 RR1AX2 CS RADMODES # IF SOMEONE REQUESTES AS DESIGNATE WHICH
008333,000291: 10,2164 74501 MASK PRIO22 # REQUIRES A REMODE AND A REPOSITION IS IN
008334,000292: 10,2165 00006 EXTEND # PROGRESS, INTERRUPT IT AND START THE
008335,000293: 10,2166 12074 BZF REPOSRPT # REMODE IMMEDIATELY.
008336,000294:
008337,000295: 10,2167 31461 CA RDES
008338,000296: 10,2170 00006 EXTEND
008339,000297: 10,2171 51462 INDEX RRINDEX
008340,000298: 10,2172 20035 MSU OPTY
008341,000299: 10,2173 54002 TS Q # SAVE ERROR SIGNAL.
008342,000300: 10,2174 00006 EXTEND
008343,000301: 10,2175 72212 MP RRSPGAIN # TRIES TO NULL .7 OF ERROR OVER NEXT .5
008344,000302: 10,2176 54001 TS L
008345,000303: 10,2177 30002 CA Q # SEE IF WITHIN 1 DEGREE.
008346,000304: 10,2200 04755 TC MAGSUB
008347,000305: 10,2201 77644 DEC -.00555 # SCALED IN HALF-REVS.
008348,000306:
008349,000307: 10,2202 12204 TCF +2 # NO.
008350,000308: 10,2203 01460 TC RRRET # RETURN TO CALLER.
008351,000309:
008352,000310: 10,2204 11462 CCS RRINDEX # COMMAND FOR OTHER AXIS IS ZERO.
008353,000311: 10,2205 12207 TCF +2 # SETTING A TO 0.
008354,000312: 10,2206 56001 XCH L
008355,000313: 10,2207 52424 DXCH TANG
008356,000314:
008357,000315: 10,2210 02213 TC RROUT
008358,000316:
008359,000317: 10,2211 12161 TCF NXTRR1AX # COME BACK IN .5 SECONDS.
008360,000318:
008361,000319: 10,2212 22715 RRSPGAIN DEC .59062 # NULL .7 ERROR IN .5 SEC.
008362,000320:
008363,000321: # THE FOLLOWING ROUTINE RECEIVES RR GYRO COMMANDS IN TANG,+1 IN ERROR COUNTER SCALING. RROUT LIMITS THEM
008364,000322: # AND GENERATES COMMANDS TO THE CDU TO ADJUST THE ERROR COUNTERS TO THE DESIRED VALUES. RUPT MUST BE INHIBITED.
008365,000323:
008366,000324: 10,2213 22002 RROUT LXCH Q # SAVE RETURN.
008367,000325: 10,2214 37657 CAF ONE # LOOP TWICE.
008368,000326: 10,2215 54066 RROUT2 TS ITEMP2
008369,000327: 10,2216 50000 INDEX A
008370,000328: 10,2217 30423 CA TANG
008371,000329: 10,2220 54065 TS ITEMP1 # SAVE SIGN OF COMMAND FOR LIMITING.
008372,000330:
008373,000331: 10,2221 04755 TC MAGSUB # SEE IF WITHIN LMITS.
008374,000332: 10,2222 77177 -RRLIMIT DEC -384 B-14
008375,000333: 10,2223 12241 TCF RROUTLIM # LIMIT COMMAND TO MAG OF 384.
008376,000334:
008377,000335: 10,2224 30065 SETRRCTR CA ITEMP1 # COUNT OUT DIFFERENCE BETWEEN DESIRED
008378,000336: 10,2225 50066 INDEX ITEMP2 # STATE AND PRESENT STATE AS RECORDED IN
008379,000337: 10,2226 56362 XCH LASTYCMD # LASTYCMD AND LASTXCMD
008380,000338: 10,2227 40000 COM
008381,000339: 10,2230 60065 AD ITEMP1
008382,000340: 10,2231 50066 INDEX ITEMP2
008383,000341: 10,2232 54053 TS OPTYCMD
008384,000342:
008385,000343: 10,2233 10066 CCS ITEMP2 # PROCESS BOTH INPUTS.
008386,000344: 10,2234 12215 TCF RROUT2
008387,000345:
008388,000346: 10,2235 34467 CAF PRIO6 # ENABLE COUNTERS.
008389,000347: 10,2236 00006 EXTEND
008390,000348: 10,2237 05014 WOR 14
008391,000349:
008392,000350: 10,2240 00001 TC L # RETURN.
008393,000351:
008394,000352: 10,2241 10065 RROUTLIM CCS ITEMP1 # LIMIT COMMAND TO ABS VAL OF 384.
008395,000353: 10,2242 42222 CS -RRLIMIT
008396,000354: 10,2243 12245 TCF +2
008397,000355: 10,2244 32222 CA -RRLIMIT
008398,000356: 10,2245 54065 TS ITEMP1
008399,000357: 10,2246 12225 TCF SETRRCTR +1
008400,000358:
008401,000359: # ROUTINE TO ZERO THE RR CDUS AND DETERMINE THE ANTENNA MODE.
008402,000360:
008403,000361: 10,2247 00004 RRZERO INHINT
008404,000362: 10,2250 47651 CS RRUSEFLG # SET FLAG TO SHOW SOMEONE USING THE RR.
008405,000363: 10,2251 70061 MASK STATE
008406,000364: 10,2252 67651 AD RRUSEFLG
008407,000365: 10,2253 54061 TS STATE
008408,000366:
008409,000367: 10,2254 37657 CAF BIT1 # SEE IF RR COMING UP. IF SO, TURNON
008410,000368: 10,2255 70413 MASK RADMODES # PROGRAM WILL DO THE WORK.
008411,000369: 10,2256 10000 CCS A
008412,000370: 10,2257 12302 TCF ROADBACK
008413,000371:
008414,000372: 10,2260 37645 CAF BIT11 # SEE IF MONITOR REPOSITION IN PROGRESS.
008415,000373: 10,2261 70413 MASK RADMODES # IF SO, DONT RE-ZERO CDUS.
008416,000374: 10,2262 10000 CCS A
008417,000375: 10,2263 13227 TCF RADNOOP # (IMMEDIATE TASK TO RGOODEND).
008418,000376:
008419,000377: 10,2264 47643 CS BIT13 # SET FLAG TO SHOW ZEROING IN PROGRESS.
008420,000378: 10,2265 70413 MASK RADMODES
008421,000379: 10,2266 67643 AD BIT13
008422,000380: 10,2267 54413 TS RADMODES
008423,000381:
008424,000382: 10,2270 37657 CAF ONE
008425,000383: 10,2271 04517 TC WAITLIST
008426,000384: 10,2272 02304 20003 2CADR RRZ2
008427,000385:
008428,000386: 10,2274 40413 CS RADMODES # SEE IF IN AUTO MODE.
008429,000387: 10,2275 77656 MASK BIT2
008430,000388: 10,2276 10000 CCS A
008431,000389: 10,2277 12302 TCF ROADBACK
008432,000390: 10,2300 05405 TC ALARM # AUTO DISCRETE NOT PRESENT - TRYING
008433,000391: 10,2301 00510 OCT 510
008434,000392: 10,2302 00003 ROADBACK RELINT
008435,000393: 10,2303 14100 TCF SWRETURN
008436,000394:
008437,000395: 10,2304 02013 RRZ2 TC RRZEROSB # COMMON TO TURNON AND RRZERO.
008438,000396: 10,2305 13235 TCF ENDRADAR
008439,000397:
008440,000398: 10,2306 7651 RRUSEFLG EQUALS BIT7
008441,000399: 10,2306 7653 LOKONFLG EQUALS BIT5
008442,000400:
008443,000401: # STABLE-MEMBER RR DESIGNATE ROUTINE. DESIGNATE TO A SM LOS VECTOR (HALF-UNIT) IN RRTARGET. REMODES IF
008444,000402: # REQUIRED. RETURNS TO CALLER IF MANEUVER REQUIRED FOR DES AND SKIPS IF IT CAN BE DONE IN PRESENT VEH ATTITUDE.
008445,000403:
008446,000404: 10,2306 43030 RRDESSM STQ CLEAR
008447,000405: 10,2307 00427 DESRET
008448,000406: 10,2310 00271 RRNBSW
008449,000407: 10,2311 66224 RTB SSP # READ CDUS FOR SMNB.
008450,000408: 10,2312 33361 READCDUS
008451,000409: 10,2313 00051 S1
008452,000410: 10,2314 00024 20D
008453,000411: 10,2315 22025 STOVL 20D
008454,000412: 10,2316 00416 RRTARGET
008455,000413: 10,2317 36041 STCALL 32D
008456,000414: 10,2320 32473 SMNB
008457,000415:
008458,000416: 10,2321 77634 CALL # GET RR GIMBAL ANGLES IN PRESENT AND
008459,000417: 10,2322 33267 RRANGLES # ALTERNATE MODE.
008460,000418: 10,2323 77776 EXIT
008461,000419:
008462,000420: 10,2324 00004 INHINT
008463,000421: 10,2325 04771 TC RRLIMCHK
008464,000422: 10,2326 00423 ADRES MODEA # CONFIGURATION FOR CURRENT MODE.
008465,000423: 10,2327 12351 TCF TRYSWS
008466,000424:
008467,000425: 10,2330 24427 OKDESSM INCR DESRET # INCREMENT SAYS NO VEHICLE MANEUVER REQ.
008468,000426:
008469,000427: # AT THIS POINT WE ARE READY TO BEGIN DESIGNATION. THE TARGET IS STORED AS A HALF-UNIT VECTOR IN RRTARGET
008470,000428: # WITH RRNBSW SET IF IT IS REFERRED TO NAV BASE AXES. LOKONSW IS SET IF LOCKON IS DESIRED. BIT14 OF RADMODES IS
008471,000429: # SET IF A REMODE IS REQUIRED. AT THIS TIME, THE ANTENNA MAY BE IN A MONITOR REPOSITION OPERATION. IN THIS
008472,000430: # CASE, IF A REMODE IS REQUIRED IT MAY HAVE ALREADY BEGUN BUT IT ANY CASE THE REPOSITION WILL BE INTERRUPTED.
008473,000431: # OTHERWISE, THE REPOSITION WILL BE COMPLETED BEFORE 2-AXIS DESIGNATION BEGINS.
008474,000432:
008475,000433: 10,2331 32350 STARTDES CAF MAXTRIES # ALLOW 30 SECS.
008476,000434: 10,2332 54430 TS DESCOUNT
008477,000435:
008478,000436: 10,2333 37646 CAF BIT10 # SHOW DESIGNATE REQUIRED.
008479,000437: 10,2334 26413 ADS RADMODES
008480,000438: 10,2335 77645 MASK BIT11 # SEE IF REPOSITION IN PROGRESS.
008481,000439: 10,2336 10000 CCS A
008482,000440: 10,2337 12345 TCF DESRETRN # ECTR ALREADY SET UP.
008483,000441:
008484,000442: 10,2340 02106 TC SETRRECR # SET UP ERROR COUNTERS.
008485,000443:
008486,000444: 10,2341 37656 CAF TWO
008487,000445: 10,2342 04517 TC WAITLIST
008488,000446: 10,2343 02422 20003 2CADR BEGDES
008489,000447:
008490,000448: 10,2345 00003 DESRETRN RELINT # RETURN VIA DESRET
008491,000449: 10,2346 30427 +1 CA DESRET
008492,000450: 10,2347 14107 TCF BANKJUMP
008493,000451:
008494,000452: 10,2350 00074 MAXTRIES DEC 60 B-14
008495,000453:
008496,000454: # SEE IF RRDESSM CAN BE ACCOMPLISHED AFTER A REMODE.
008497,000455:
008498,000456: 10,2351 02142 TRYSWS TC RMODINV # (NOTE RUPT INHIBIT)
008499,000457: 10,2352 04771 TC RRLIMCHK # TRY DIFFERENT MODE.
008500,000458: 10,2353 00425 ADRES MODEB
008501,000459: 10,2354 12361 TCF NODESSM # VEHICLE MANEUVER REQUIRED.
008502,000460:
008503,000461: 10,2355 02142 TC RMODINV # RESET BIT12
008504,000462: 10,2356 37642 CAF BIT14 # SET FLAG FOR REMODE.
008505,000463: 10,2357 26413 ADS RADMODES
008506,000464:
008507,000465: 10,2360 12330 TCF OKDESSM
008508,000466:
008509,000467: 10,2361 02142 NODESSM TC RMODINV # RE-INVERT MODE AND RETURN WITHOUT IN-
008510,000468: 10,2362 12345 TCF DESRETRN # CREMENTING DESRET
008511,000469:
008512,000470: # DESIGNATE TO SPECIFIC RR GIMBAL ANGLES (INDEPENDENT OF VEHICLE MOTION). ENTER WITH DESIRED ANGLES IN
008513,000471: # TANG AND TANG +1.
008514,000472:
008515,000473: 10,2363 77430 RRDESNB STQ EXIT # ENTER IN INTERP. - EXIT IN BASIC.
008516,000474: 10,2364 00427 DESRET
008517,000475:
008518,000476: 10,2365 00004 INHINT # SEE IF CURRENT MODE OK.
008519,000477: 10,2366 04771 TC RRLIMCHK
008520,000478: 10,2367 00423 ADRES TANG
008521,000479: 10,2370 12402 TCF TRYSWN # SEE IF IN OTHER MODE.
008522,000480:
008523,000481: 10,2371 00003 OKDESNB RELINT
008524,000482: 10,2372 06000 TC INTPRET
008525,000483:
008526,000484: 10,2373 77634 CALL # GET LOS IN NB COORDS.
008527,000485: 10,2374 33243 RRNB
008528,000486: 10,2375 00416 STORE RRTARGET
008529,000487:
008530,000488: 10,2376 77414 SET EXIT
008531,000489: 10,2377 00071 RRNBSW
008532,000490:
008533,000491: 10,2400 00004 INHINT
008534,000492: 10,2401 12331 TCF STARTDES
008535,000493:
008536,000494: 10,2402 02142 TRYSWN TC RMODINV # SEE IF OTHER MODE WILL DO.
008537,000495: 10,2403 04771 TC RRLIMCHK
008538,000496: 10,2404 00423 ADRES TANG
008539,000497: 10,2405 12412 TCF NODESNB # NOT POSSIBLE.
008540,000498:
008541,000499: 10,2406 02142 TC RMODINV
008542,000500: 10,2407 37642 CAF BIT14 # CALL FOR REMODE.
008543,000501: 10,2410 26413 ADS RADMODES
008544,000502: 10,2411 12371 TCF OKDESNB
008545,000503:
008546,000504: 10,2412 37657 NODESNB CAF BIT1 # CALL FOR ERROR RETURN.
008547,000505: 10,2413 04517 TC WAITLIST
008548,000506: 10,2414 03251 20003 2CADR RDBADEND
008549,000507:
008550,000508: 10,2416 02142 TC RMODINV
008551,000509: 10,2417 05405 TC ALARM # BAD GIMBAL ANGLE INPUTS.
008552,000510: 10,2420 00502 OCT 502
008553,000511: 10,2421 12346 TCF DESRETRN +1 # ALARM DID A RELINT.
008554,000512:
008555,000513: # WAITLIST TASKS TO RUN RR DESIGNATION.
008556,000514:
008557,000515: 10,2422 37642 BEGDES CAF BIT14 # ENTER HERE FROM STARTDES OR REPOSRPT.
008558,000516: 10,2423 70413 MASK RADMODES # SEE IF REMODE REQUIRED.
008559,000517: 10,2424 10000 CCS A
008560,000518: 10,2425 12115 TCF REMODE
008561,000519: 10,2426 12431 TCF STDESIG
008562,000520:
008563,000521: 10,2427 04535 DESLOOP TC FIXDELAY # 2 SAMPLES PER SECOND.
008564,000522: 10,2430 00062 DEC 50 B-14
008565,000523:
008566,000524: 10,2431 37645 STDESIG CAF BIT11 # ENTRY FROM BEGDES AND REMODE.
008567,000525: 10,2432 70413 MASK RADMODES # SEE IF GIMBAL LIMIT MONITOR HAS FOUND US
008568,000526: 10,2433 10000 CCS A # OUT OF BOUNDS. IF SO, THIS BIT SHOWS A
008569,000527: 10,2434 12454 TCF BADDES # REPOSITION TO BE IN PROGRESS.
008570,000528:
008571,000529: 10,2435 10413 CCS RADMODES # SEE IF CONTINUOUS DESIGNATE WANTED.
008572,000530: 10,2436 12441 TCF +3 # IF SO, DONT CHECK BIT 10 TO SEE IF IN
008573,000531: 10,2437 12441 TCF +2 # LIMITS BUT GO RIGHT TO FINDVAC ENTRY.
008574,000532: 10,2440 12461 TCF MOREDES +1
008575,000533:
008576,000534: 10,2441 40413 CS RADMODES # IF NON-CONTINUOUS, SEE IF END OF
008577,000535: 10,2442 77646 MASK BIT10 # PROBLEM (DATA GOOD IF LOCK-ON WANTED OR
008578,000536: 10,2443 10000 CCS A # WITHIN LIMITS IF NOT). IF SO, EXIT AFTER
008579,000537: 10,2444 13235 TCF ENDRADAR # CHECKING RR CDU FAIL.
008580,000538:
008581,000539: 10,2445 10430 CCS DESCOUNT # SEE IF TIME LIMIT HAS EXPIRED.
008582,000540: 10,2446 12460 TCF MOREDES
008583,000541:
008584,000542: 10,2447 05405 TC ALARM # OUT OF TIME.
008585,000543: 10,2450 00503 OCT 503
008586,000544: 10,2451 42466 CS B14+B2 # IF OUT OF TIME, REMOVE ECR ENABLE + TRKR
008587,000545: 10,2452 00006 EXTEND
008588,000546: 10,2453 03012 WAND 12
008589,000547: 10,2454 47646 BADDES CS BIT10 # REMOVE DESIGNATE FLAG.
008590,000548: 10,2455 70413 MASK RADMODES
008591,000549: 10,2456 54413 TS RADMODES
008592,000550: 10,2457 13251 TCF RDBADEND
008593,000551:
008594,000552: 10,2460 54430 MOREDES TS DESCOUNT
008595,000553: 10,2461 34505 CAF PRIO26 # UPDATE GYRO TORQUE COMMANDS.
008596,000554: 10,2462 04355 TC FINDVAC
008597,000555: 10,2463 02467 20003 2CADR DODES
008598,000556:
008599,000557: 10,2465 12427 TCF DESLOOP
008600,000558:
008601,000559: 10,2466 20002 B14+B2 OCT 20002
008602,000560:
008603,000561: # CALCULATE GYRO TORQUE COMMANDS.
008604,000562:
008605,000563: 10,2467 00006 DODES EXTEND
008606,000564: 10,2470 30036 DCA OPTY
008607,000565: 10,2471 52424 DXCH TANG
008608,000566:
008609,000567: 10,2472 06000 TC INTPRET
008610,000568:
008611,000569: 10,2473 77775 VLOAD # MOVE TARGET VECTOR TO 32D.
008612,000570: 10,2474 00416 RRTARGET
008613,000571: 10,2475 00041 STORE 32D
008614,000572:
008615,000573: 10,2476 45014 BON RTB # DO STABLE-MEMBER TO NAVBASE TRANSFORMA-
008616,000574: 10,2477 00311 RRNBSW # TION IF TARGET IN SM COORDS. OTHERWISE,
008617,000575: 10,2500 20507 DONBRD # IN NB COORDS ALREADY.
008618,000576: 10,2501 33361 READCDUS
008619,000577:
008620,000578: 10,2502 77731 SSP
008621,000579: 10,2503 00051 S1
008622,000580: 10,2504 00024 20D # LOC OF ICDUS.
008623,000581: 10,2505 36025 STCALL 20D
008624,000582: 10,2506 32473 SMNB
008625,000583:
008626,000584: 10,2507 67201 DONBRD SETPD SLOAD # DO NAVBASE TO RADAR DISH TRANSFORMATION.
008627,000585: 10,2510 00001 0
008628,000586: 10,2511 00425 TANG +1
008629,000587: 10,2512 41424 RTB PUSH # SHAFT COMMAND = V(32D).(COS(S), 0,
008630,000588: 10,2513 33345 CDULOGIC # (-SIN(S)).
008631,000589: 10,2514 65356 SIN PDDL # SIN(S) TO 0 AND COS(S) TO 2.
008632,000590: 10,2515 41546 COS PUSH
008633,000591: 10,2516 65205 DMP PDDL
008634,000592: 10,2517 00041 32D
008635,000593: 10,2520 00045 36D
008636,000594: 10,2521 44205 DMP BDSU
008637,000595: 10,2522 00001 0
008638,000596: 10,2523 77626 STADR
008639,000597: 10,2524 77352 STORE TANG +1 # SHAFT COMMAND
008640,000598:
008641,000599: 10,2525 45135 SLOAD RTB
008642,000600: 10,2526 00424 TANG
008643,000601: 10,2527 33345 CDULOGIC
008644,000602: 10,2530 71406 PUSH COS # COS(T) TO 4.
008645,000603: 10,2531 73525 PDDL SIN
008646,000604: 10,2532 41206 PUSH DMP # SIN(T) TO 6.
008647,000605: 10,2533 00003 2
008648,000606: 10,2534 65352 SL1 PDDL # DEFINE VECTOR U = (SIN(T)SIN(S))
008649,000607: 10,2535 00005 4 # ( COS(T) )
008650,000608: 10,2536 41325 PDDL DMP # (SIN(T)COS(S))
008651,000609: 10,2537 00007 6
008652,000610: 10,2540 00001 0
008653,000611: 10,2541 55552 SL1 VDEF
008654,000612: 10,2542 77441 DOT EXIT # DOT U WITH LOS TO GET TRUNNION COMMAND.
008655,000613: 10,2543 00041 32D
008656,000614:
008657,000615: # AT THIS POINT WE HAVE A ROTATION VECTOR IN DISH AXES LYING IN THE TS PLANE. CONVERT THIS TO A
008658,000616: # COMMANDED RATE AND ENABLE THE TRACKER IF WE ARE WITHIN 1 DEGREE OF THE TARGET.
008659,000617:
008660,000618: 10,2544 40140 CS MPAC # DOT WAS NEGATIVE OF DESIRED ANGLE.
008661,000619: 10,2545 54423 TS TANG
008662,000620:
008663,000621: 10,2546 40413 CS RADMODES # A RELAY IN THE RR REVERSES POLARITY OF
008664,000622: 10,2547 77644 MASK BIT12 # THE SHAFT COMMANDS IN MODE 2 SO THAT A
008665,000623: 10,2550 10000 CCS A # POSITIVE TORQUE APPLIED TO THE SHAFT
008666,000624: 10,2551 12554 TCF +3 # GYRO CAUSES A POSITIVE CHANGE IN THE
008667,000625:
008668,000626: 10,2552 40424 CS TANG +1 # SHAFT ANGLE. COMPENSATE FOR THIS SWITCH
008669,000627: 10,2553 54424 TS TANG +1 # BY CHANGING THE POLARITY OF OUR COMMAND.
008670,000628:
008671,000629: 10,2554 37665 CAF ZERO
008672,000630: 10,2555 54141 TS MPAC +1
008673,000631: 10,2556 37657 CAF ONE
008674,000632:
008675,000633: 10,2557 54140 RRSCALUP TS MPAC
008676,000634: 10,2560 50000 INDEX A
008677,000635: 10,2561 30423 CA TANG # TRUNNION COMPONENT OF ROTATION.
008678,000636: 10,2562 00006 EXTEND
008679,000637: 10,2563 72635 MP RDESGAIN # SCALING ON INPUT ANGLE WAS 4 RADIANS.
008680,000638: 10,2564 50140 INDEX MPAC
008681,000639: 10,2565 56423 XCH TANG # MAKE EACH COMPONENT LESS THAN .7 DEGREES
008682,000640: 10,2566 04755 TC MAGSUB # BEFORE SENDING TRACK ENABLE.
008683,000641: 10,2567 77715 DEC -.00305
008684,000642: 10,2570 24141 INCR MPAC +1 # IF OUT OF BOUNDS.
008685,000643:
008686,000644: 10,2571 10140 CCS MPAC
008687,000645: 10,2572 12557 TCF RRSCALUP
008688,000646:
008689,000647: # SEE IF TRACKER SHOULD BE ENABLED OR DISABLED.
008690,000648:
008691,000649: 10,2573 00004 INHINT
008692,000650:
008693,000651: 10,2574 10413 CCS RADMODES # IF CONTINUOUS DESIGNATE WANTED, PUT OUT
008694,000652: 10,2575 12600 TCF +3 # COMMANDS WITHOUT CHECKING MAGNITUDE OF
008695,000653: 10,2576 12600 TCF +2 # ERROR SIGNALS.
008696,000654: 10,2577 12625 TCF TRKOFF
008697,000655:
008698,000656: 10,2600 10141 CCS MPAC +1 # SEE IF BOTH AXES WERE WITHIN .7 DEGS.
008699,000657: 10,2601 12625 TCF TRKOFF
008700,000658:
008701,000659: 10,2602 40061 CS STATE # IF WITHIN LIMITS AND NO LOCK-ON WANTED,
008702,000660: 10,2603 77653 MASK LOKONFLG # PROBLEM IS FINISHED.
008703,000661: 10,2604 10000 CCS A
008704,000662: 10,2605 12616 TCF RRDESDUN
008705,000663:
008706,000664: 10,2606 37642 CAF BIT14 # ENABLE THE TRACKER.
008707,000665: 10,2607 00006 EXTEND
008708,000666: 10,2610 05012 WOR 12
008709,000667:
008710,000668: 10,2611 37654 CAF BIT4 # SEE IF DATA GOOD RECEIVED YET.
008711,000669: 10,2612 00006 EXTEND
008712,000670: 10,2613 02033 RAND 33
008713,000671: 10,2614 10000 CCS A
008714,000672: 10,2615 12630 TCF DORROUT
008715,000673:
008716,000674: 10,2616 47646 RRDESDUN CS BIT10 # WHEN PROBLEM DONE, REMOVE BIT 10 SO NEXT
008717,000675: 10,2617 70413 MASK RADMODES # WAITLIST TASK WE WILL GO TO RGOODEND.
008718,000676: 10,2620 54413 TS RADMODES
008719,000677:
008720,000678: 10,2621 47656 CS BIT2
008721,000679: 10,2622 00006 EXTEND
008722,000680: 10,2623 03012 WAND 12
008723,000681: 10,2624 14421 TCF ENDOFJOB # WITH ECTR DISABLED.
008724,000682:
008725,000683: 10,2625 47642 TRKOFF CS BIT14
008726,000684: 10,2626 00006 EXTEND
008727,000685: 10,2627 03012 WAND 12
008728,000686:
008729,000687: 10,2630 40413 DORROUT CS RADMODES # PUT OUT COMMAND UNLESS MONITOR
008730,000688: 10,2631 77645 MASK BIT11 # REPOSITION HAS TAKEN OVER.
008731,000689: 10,2632 10000 CCS A
008732,000690: 10,2633 02213 TC RROUT
008733,000691:
008734,000692: 10,2634 14421 TCF ENDOFJOB
008735,000693:
008736,000694: 10,2635 21122 RDESGAIN DEC .53624 # TRIES TO NULL .5 ERROR IN .5 SEC.
008737,000695:
008738,000696: # RADAR READ INITIALIZATION
008739,000697:
008740,000698: # RADAR DATA ARE READ BY A BANKCALL FOR THE APPROPRIATE LEAD-IN BELOW.
008741,000699:
008742,000700:
008743,000701:
008744,000702: 10,2636 02652 LRALT TC INITREAD -1 # ONE SAMPLE PER READING.
008745,000703: 10,2637 00017 ALLREAD OCT 17
008746,000704:
008747,000705: 10,2640 02653 LRVELZ TC INITREAD
008748,000706: 10,2641 00016 OCT 16
008749,000707:
008750,000708: 10,2642 02653 LRVELY TC INITREAD
008751,000709: 10,2643 00015 OCT 15
008752,000710:
008753,000711: 10,2644 02653 LRVELX TC INITREAD
008754,000712: 10,2645 00014 OCT 14
008755,000713:
008756,000714: 10,2646 02652 RRRDOT TC INITREAD -1
008757,000715: 10,2647 00012 OCT 12
008758,000716:
008759,000717: 10,2650 02652 RRRANGE TC INITREAD -1
008760,000718: 10,2651 00011 OCT 11
008761,000719:
008762,000720: 10,2652 37657 -1 CAF ONE # ENTRY TO TAKE ONLY 1 SAMPLE.
008763,000721: 10,2653 00004 INITREAD INHINT
008764,000722:
008765,000723: 10,2654 54421 TS TIMEHOLD # GET DT OF MIDPOINT OF NOMINAL SAMPLING
008766,000724: 10,2655 00006 EXTEND # INTERVAL (ASSUMES NO BAD SAMPLES WILL BE
008767,000725: 10,2656 77655 MP BIT3 # ENCOUNTERED).
008768,000726: 10,2657 52422 DXCH TIMEHOLD
008769,000727:
008770,000728: 10,2660 10000 CCS A
008771,000729: 10,2661 54425 TS NSAMP
008772,000730: 10,2662 67657 AD ONE
008773,000731: # INSERT FOLLOWING INSTRUCTION TO GET 2N TRIES FOR N SAMPLES.
008774,000732: # DOUBLE
008775,000733: 10,2663 54414 TS SAMPLIM
008776,000734:
008777,000735: 10,2664 32706 CAF DGBITS # READ CURRENT VALUE OF DATA GOOD BITS.
008778,000736: 10,2665 00006 EXTEND
008779,000737: 10,2666 02033 RAND 33
008780,000738: 10,2667 54427 TS OLDATAGD
008781,000739:
008782,000740: 10,2670 42637 CS ALLREAD
008783,000741: 10,2671 00006 EXTEND
008784,000742: 10,2672 03013 WAND 13 # REMOVE ALL RADAR BITS
008785,000743:
008786,000744: 10,2673 50002 INDEX Q
008787,000745: 10,2674 30000 CAF 0
008788,000746: 10,2675 00006 EXTEND
008789,000747: 10,2676 05013 WOR 13 # SET NEW RADAR BITS
008790,000748:
008791,000749: 10,2677 00006 EXTEND
008792,000750: 10,2700 30025 DCA TIME2
008793,000751: 10,2701 20422 DAS TIMEHOLD # TIME OF NOMINAL MIDPOINT.
008794,000752:
008795,000753: 10,2702 37665 CAF ZERO
008796,000754: 10,2703 54001 TS L
008797,000755: 10,2704 52416 DXCH SAMPLSUM
008798,000756: 10,2705 12302 TCF ROADBACK
008799,000757:
008800,000758: 10,2706 00230 DGBITS OCT 230
008801,000759:
008802,000760: # RADAR RUPT READER
008803,000761:
008804,000762: # THIS ROUTINE STARTS FROM A RADARUPT. IT READS THE DATA $ LOTS MORE.
008805,000763:
008806,000764: 10,2707 54016 RADAREAD TS BANKRUPT
008807,000765: 10,2710 00006 EXTEND
008808,000766: 10,2711 22012 QXCH QRUPT
008809,000767:
008810,000768: 10,2712 00006 ANGLREAD EXTEND
008811,000769: 10,2713 30036 DCA OPTY
008812,000770: 10,2714 52420 DXCH OPTYHOLD # SAVE RAW CDU ANGLES
008813,000771:
008814,000772: 10,2715 10414 TRYCOUNT CCS SAMPLIM
008815,000773: 10,2716 12730 TCF PLENTY
008816,000774: 10,2717 12723 TCF NOMORE
008817,000775: 10,2720 05405 TC ALARM
008818,000776: 10,2721 00520 OCT 520
008819,000777: 10,2722 04567 TC RESUME
008820,000778:
008821,000779: 10,2723 05405 NOMORE TC ALARM
008822,000780: 10,2724 00521 OCT 521
008823,000781: 10,2725 47657 BADRAD CS ONE
008824,000782: 10,2726 54414 TS SAMPLIM
008825,000783: 10,2727 03247 TC RDBADEND -2
008826,000784:
008827,000785: 10,2730 54414 PLENTY TS SAMPLIM
008828,000786: 10,2731 37655 CAF BIT3
008829,000787: 10,2732 00006 EXTEND
008830,000788: 10,2733 02013 RAND 13 # TO FIND OUT WHICH RADAR
008831,000789: 10,2734 00006 EXTEND
008832,000790: 10,2735 13014 BZF RENDRAD
008833,000791:
008834,000792: 10,2736 30413 LRPOSCHK CA RADMODES # SEE IF LR IN DESIRED POSITION.
008835,000793: 10,2737 00006 EXTEND
008836,000794: 10,2740 06033 RXOR 33
008837,000795: 10,2741 77652 MASK BIT6
008838,000796: 10,2742 00006 EXTEND
008839,000797: 10,2743 12747 BZF VELCHK
008840,000798:
008841,000799: 10,2744 05405 TC ALARM
008842,000800: 10,2745 00522 OCT 522
008843,000801: 10,2746 02725 TC BADRAD
008844,000802:
008845,000803: 10,2747 36165 VELCHK CAF BIN3 # = 00003 OCT
008846,000804: 10,2750 00006 EXTEND
008847,000805: 10,2751 06013 RXOR 13
008848,000806: 10,2752 76165 MASK BIN3
008849,000807: 10,2753 00006 EXTEND
008850,000808: 10,2754 13010 BZF LRHEIGHT # TAKE A LR RANGE READING
008851,000809:
008852,000810: 10,2755 37637 CAF POSMAX
008853,000811: 10,2756 70046 MASK RNRAD
008854,000812: 10,2757 63167 AD LVELBIAS
008855,000813: 10,2760 54001 TS L
008856,000814: 10,2761 30046 CAE RNRAD
008857,000815: 10,2762 60000 DOUBLE
008858,000816: 10,2763 77657 MASK BIT1
008859,000817: 10,2764 52071 DXCH ITEMP3
008860,000818:
008861,000819: 10,2765 37650 CAF BIT8 # DATA GOOD ISNT CHECKED UNTIL AFTER READ-
008862,000820: 10,2766 03137 TC DGCHECK # ING DATA SO SOME RADAR TESTS WILL WORK
008863,000821: # INDEPENDENT OF DATA GOOD.
008864,000822:
008865,000823: 10,2767 10425 CCS NSAMP
008866,000824: 10,2770 03000 TC NOEND
008867,000825: 10,2771 47657 GOODRAD CS ONE
008868,000826: 10,2772 54414 TS SAMPLIM
008869,000827: 10,2773 40065 CS ITEMP1 # WHEN ENOUGH GOOD DATA HAS BEEN GATHERED,
008870,000828: 10,2774 70413 MASK RADMODES # RESET DATA FAIL FLAGS FOR SETTRKF.
008871,000829: 10,2775 54413 TS RADMODES
008872,000830: 10,2776 05034 TC SETTRKF # LAMP MIGHT GO OFF IF DATA JUST GOOD.
008873,000831: 10,2777 03242 TC RGOODEND -2
008874,000832:
008875,000833: 10,3000 54425 NOEND TS NSAMP
008876,000834: 10,3001 10414 RESAMPLE CCS SAMPLIM # SEE IF ANY MORE TRIES SHOULD BE MADE.
008877,000835: 10,3002 13004 TCF +2
008878,000836: 10,3003 13156 TCF DATAFAIL # N SAMPLES NOT AVAILABLE.
008879,000837: 10,3004 37654 CAF BIT4 # RESET ACTIVITY BIT.
008880,000838: 10,3005 00006 EXTEND
008881,000839: 10,3006 05013 WOR 13 # RESET ACTIVITY BIT
008882,000840: 10,3007 04567 TC RESUME
008883,000841:
008884,000842:
008885,000843: 10,3010 37653 LRHEIGHT CAF BIT5
008886,000844: 10,3011 54065 TS ITEMP1 # (POSITION OF DATA GOOD BIT IN CHAN 33)
008887,000845:
008888,000846: 10,3012 37647 CAF BIT9
008889,000847: 10,3013 03047 TC SCALECHK -1
008890,000848:
008891,000849: 10,3014 37645 RENDRAD CAF BIT11 # MAKE SURE ANTENNA HAS NOT GONE OUT OF
008892,000850: 10,3015 70413 MASK RADMODES # LIMITS.
008893,000851: 10,3016 10000 CCS A
008894,000852: 10,3017 12725 TCF BADRAD
008895,000853:
008896,000854: 10,3020 40413 CS RADMODES # BE SURE RR CDU HASNT FAILED.
008897,000855: 10,3021 77651 MASK BIT7
008898,000856: 10,3022 10000 CCS A
008899,000857: 10,3023 12725 TCF BADRAD
008900,000858:
008901,000859: 10,3024 37644 CAF BIT12 # DONT ACCEPT RR DATA IF TRUNNION MORE
008902,000860: 10,3025 70413 MASK RADMODES # THAN 55 DEGREES FROM NOMINAL POSITION.
008903,000861: 10,3026 10000 CCS A
008904,000862: 10,3027 37641 CAF BIT15 # 180 FOR MODE 2 - 0 FOR MODE 1.
008905,000863: 10,3030 00006 EXTEND
008906,000864: 10,3031 20035 MSU OPTY
008907,000865: 10,3032 04755 TC MAGSUB
008908,000866: 10,3033 66161 DEC -.30555 # 55 DEGS AT HALF-REVS.
008909,000867: 10,3034 12725 TCF BADRAD
008910,000868:
008911,000869: 10,3035 37654 CAF BIT4 # SEE IF DATA HAS BEEN GOOD.
008912,000870: 10,3036 54065 TS ITEMP1 # (POSITION OF DATA GOOD BIT IN CHAN 33)
008913,000871:
008914,000872: 10,3037 37657 CAF BIT1 # SEE IF RR RDOT.
008915,000873: 10,3040 00006 EXTEND
008916,000874: 10,3041 02013 RAND 13
008917,000875: 10,3042 54002 TS Q # FOR LATER TESTING.
008918,000876: 10,3043 10000 CCS A
008919,000877: 10,3044 13046 TCF +2
008920,000878: 10,3045 13060 TCF RADIN # NO SCALE CHECK FOR RR RDOT.
008921,000879: 10,3046 37655 CAF BIT3
008922,000880: 10,3047 54001 TS L
008923,000881:
008924,000882: 10,3050 00006 SCALECHK EXTEND
008925,000883: 10,3051 02033 RAND 33 # SCALE STATUS NOW
008926,000884: 10,3052 56001 XCH L
008927,000885: 10,3053 70413 MASK RADMODES # SCALE STATUS BEFORE
008928,000886: 10,3054 00006 EXTEND
008929,000887: 10,3055 06001 RXOR 01 # SEE IF THEY DIFFER
008930,000888: 10,3056 10000 CCS A
008931,000889: 10,3057 03077 TC SCALCHNG # THEY DIFFER
008932,000890:
008933,000891: 10,3060 37637 RADIN CAF POSMAX
008934,000892: 10,3061 70046 MASK RNRAD
008935,000893: 10,3062 54071 TS ITEMP4
008936,000894:
008937,000895: 10,3063 30046 CAE RNRAD
008938,000896: 10,3064 60000 DOUBLE
008939,000897: 10,3065 77657 MASK BIT1
008940,000898: 10,3066 54070 TS ITEMP3
008941,000899:
008942,000900: 10,3067 10002 CCS Q # SEE IF RR RDOT.
008943,000901: 10,3070 13111 TCF SCALADJ # NO, BUT SCALE CHANGING MAY BE NEEDED.
008944,000902:
008945,000903: 10,3071 00006 EXTEND # IF RR RANGE RATE, THROW OUT BIAS.
008946,000904: 10,3072 43171 DCS RDOTBIAS
008947,000905: 10,3073 20071 DASAMPL DAS ITEMP3
008948,000906: 10,3074 30065 DGCHECK2 CA ITEMP1 # SEE THAT DATA HAS BEEN GOOD BEFORE AND
008949,000907: 10,3075 03140 TC DGCHECK +1 # AFTER TAKING SAMPLE.
008950,000908: 10,3076 02771 TC GOODRAD
008951,000909:
008952,000910: 10,3077 22413 SCALCHNG LXCH RADMODES
008953,000911: 10,3100 67657 AD BIT1
008954,000912: 10,3101 00006 EXTEND
008955,000913: 10,3102 06001 RXOR 01
008956,000914: 10,3103 54413 TS RADMODES
008957,000915: 10,3104 32706 CAF DGBITS # UPDATE LAST VALUE OF DATA GOOD BITS.
008958,000916: 10,3105 00006 EXTEND
008959,000917: 10,3106 02033 RAND 33
008960,000918: 10,3107 54427 TS OLDATAGD
008961,000919: 10,3110 12725 TCF BADRAD
008962,000920:
008963,000921: # THE FOLLOWING ROUTINE INCORPORATES RR RANGE AND LR ALT SCALE INFORMATION AND LEAVES DATA AT LO SCALE.
008964,000922:
008965,000923: 10,3111 10001 SCALADJ CCS L # L HAS SCALE INBIT FOR THIS RADAR.
008966,000924: 10,3112 13114 TCF +2 # ON HIGH SCALE.
008967,000925: 10,3113 13074 TCF DGCHECK2
008968,000926:
008969,000927: 10,3114 52071 DXCH ITEMP3
008970,000928: 10,3115 20001 DDOUBL
008971,000929: 10,3116 20001 DDOUBL
008972,000930: 10,3117 20001 DDOUBL
008973,000931: 10,3120 52071 DXCH ITEMP3
008974,000932:
008975,000933: 10,3121 37655 CAF BIT3 # SEE IF LR OR RR.
008976,000934: 10,3122 00006 EXTEND
008977,000935: 10,3123 02013 RAND 13
008978,000936: 10,3124 00006 EXTEND # IF RR, NO MORE ACTION REQUIRED.
008979,000937: 10,3125 13074 BZF DGCHECK2
008980,000938:
008981,000939: 10,3126 33166 CAF LRRATIO # IF LR, CONVERT TO LO SCALING.
008982,000940: 10,3127 00006 EXTEND
008983,000941: 10,3130 70071 MP ITEMP4
008984,000942: 10,3131 54071 TS ITEMP4
008985,000943: 10,3132 37665 CAF ZERO # (SO SUBSEQUENT DAS WILL BE OK)
008986,000944: 10,3133 56070 XCH ITEMP3
008987,000945: 10,3134 00006 EXTEND
008988,000946: 10,3135 73166 MP LRRATIO
008989,000947: 10,3136 13073 TCF DASAMPL
008990,000948:
008991,000949: 10,3137 54065 DGCHECK TS ITEMP1 # UPDATE DATA GOOD BIT IN OLDATAGD AND
008992,000950: 10,3140 00006 EXTEND # MAKE SURE IT WAS ON BEFORE AND AFTER THE
008993,000951: 10,3141 02033 RAND 33 # SAMPLE WAS TAKEN BEFORE RETURNING. IF
008994,000952: 10,3142 54001 TS L # NOT, GOES TO RESAMPLE TO TRY AGAIN. IF
008995,000953: 10,3143 40065 CS ITEMP1 # MAX NUMBER OF TRIES HAS BEEN REACHED,
008996,000954: 10,3144 70427 MASK OLDATAGD # THE BIT CORRESPONDING TO THE DATA GOOD
008997,000955: 10,3145 60001 AD L # WHICH FAILED TO APPEAR IS IN ITEMP1 AND
008998,000956: 10,3146 56427 XCH OLDATAGD # CAN BE USED TO SET RADMODES WHICH VIA
008999,000957: 10,3147 70065 MASK ITEMP1 # SETTRKF SETS THE TRACKER FAIL LAMP.
009000,000958: 10,3150 60001 AD L
009001,000959: 10,3151 10000 CCS A # SHOULD BOTH BE ZERO.
009002,000960: 10,3152 03001 TC RESAMPLE
009003,000961: 10,3153 52071 DXCH ITEMP3 # IF DATA GOOD BEFORE AND AFTER, ADD TO
009004,000962: 10,3154 20416 DAS SAMPLSUM # ACCUMULATION.
009005,000963: 10,3155 00002 TC Q
009006,000964:
009007,000965: 10,3156 40065 DATAFAIL CS ITEMP1 # IN THE ABOVE CASE, SET RADMODES BIT
009008,000966: 10,3157 70413 MASK RADMODES # SHOWING SOME RADAR DATA FAILED.
009009,000967: 10,3160 60065 AD ITEMP1
009010,000968: 10,3161 54413 TS RADMODES
009011,000969:
009012,000970: 10,3162 52071 DXCH ITEMP3 # IF WE HAVE BEEN UNABLE TO GATHER N
009013,000971: 10,3163 52416 DXCH SAMPLSUM # SAMPLES, USE LAST ONE ONLY.
009014,000972:
009015,000973: 10,3164 05034 TC SETTRKF
009016,000974:
009017,000975: 10,3165 12723 TCF NOMORE
009018,000976:
009019,000977: 10,3166 23773 LRRATIO DEC 4.9977 B-3
009020,000978: 10,3167 50437 LVELBIAS DEC -12000 B-14 # LANDING RADAR VELOCITY BIAS.
009021,000979: 10,3170 00001 01150 RDOTBIAS 2DEC 17000 B-28 # BIAS COUNT FOR RR RANGE RATE
009022,000980:
009023,000981: # THIS ROUTINE CHANGES THE LR POSITION, AND CHECKS THAT IT GOT THERE.
009024,000982:
009025,000983: 10,3172 00004 LRPOS2 INHINT
009026,000984:
009027,000985: 10,3173 47652 CS BIT6 # DESIRED LR POSITION IS NOW 2.
009028,000986: 10,3174 70413 MASK RADMODES
009029,000987: 10,3175 67652 AD BIT6
009030,000988: 10,3176 54413 TS RADMODES
009031,000989:
009032,000990: 10,3177 37651 CAF BIT7
009033,000991: 10,3200 00006 EXTEND
009034,000992: 10,3201 02033 RAND 33 # SEE IF ALREADY THERE.
009035,000993: 10,3202 00006 EXTEND
009036,000994: 10,3203 13227 BZF RADNOOP
009037,000995:
009038,000996: 10,3204 37643 CAF BIT13
009039,000997: 10,3205 00006 EXTEND
009040,000998: 10,3206 05012 WOR 12 # COMMAND TO POSITION 2
009041,000999:
009042,001000: 10,3207 33234 CAF 5SECS
009043,001001: 10,3210 04517 TC WAITLIST
009044,001002: 10,3211 03214 20003 2CADR MAKESURE
009045,001003:
009046,001004: 10,3213 02302 TC ROADBACK
009047,001005:
009048,001006: 10,3214 47643 MAKESURE CS BIT13 # REMOVE LR POSITION COMMAND OUTBIT.
009049,001007: 10,3215 00006 EXTEND
009050,001008: 10,3216 03012 WAND 12
009051,001009:
009052,001010: 10,3217 37651 CAF BIT7
009053,001011: 10,3220 00006 EXTEND
009054,001012: 10,3221 02033 RAND 33
009055,001013: 10,3222 00006 EXTEND
009056,001014: 10,3223 13244 BZF RGOODEND
009057,001015:
009058,001016: 10,3224 05405 TC ALARM # LR ANTENNA DIDNT MAKE IT.
009059,001017: 10,3225 00523 OCT 523
009060,001018: 10,3226 13251 TCF RDBADEND
009061,001019:
009062,001020: 10,3227 37657 RADNOOP CAF ONE # NO FURTHER ACTION REQUESTED.
009063,001021: 10,3230 04517 TC WAITLIST
009064,001022: 10,3231 03244 20003 2CADR RGOODEND
009065,001023:
009066,001024: 10,3233 02302 TC ROADBACK
009067,001025:
009068,001026: 10,3234 00764 5SECS DEC 5 E2
009069,001027:
009070,001028: # SEQUENCES TO TERMINATE RR OPERATIONS.
009071,001029:
009072,001030: 10,3235 37651 ENDRADAR CAF BIT7 # PROLOG TO CHECK RR CDU FAIL BEFORE END.
009073,001031: 10,3236 70413 MASK RADMODES
009074,001032: 10,3237 10000 CCS A
009075,001033: 10,3240 13244 TCF RGOODEND
009076,001034: 10,3241 13251 TCF RDBADEND
009077,001035: 10,3242 47665 -2 CS ZERO # RGOODEND WHEN NOT UNDER WAITLIST CONTROL
009078,001036: 10,3243 55070 TS RUPTAGN
009079,001037:
009080,001038: 10,3244 37656 RGOODEND CAF TWO
009081,001039: 10,3245 04104 TC POSTJUMP
009082,001040: 10,3246 26667 CADR GOODEND
009083,001041:
009084,001042: 10,3247 47665 -2 CS ZERO # RDBADEND WHEN NOT UNDER WAITLIST.
009085,001043: 10,3250 55070 TS RUPTAGN
009086,001044: 10,3251 37656 RDBADEND CAF TWO
009087,001045: 10,3252 04104 TC POSTJUMP
009088,001046: 10,3253 26664 CADR BADEND
009089,001047:
009090,001048: 10,3254 6165 BIN3 EQUALS THREE
009091,001049: 10,3254 ENDRMODS EQUALS
End of include-file RADAR_LEAD-IN_ROUTINES.agc. Parent file is MAIN.agc