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