Source Code
These source-code files were transcribed from scans made from Don Eyles's personal
copy of BURST120 (SUNBURST 120). They were scanned at archive.org's Boston
facility, and the scanning was sponsored by Mike Stewart. The code was transcribed
from these scans by a team of volunteers who are referenced in the program
comments. Comments from the original source code are in ALL-CAPS, whereas
comments added later in transcription are in Mixed-Case. In some cases, where
similar code blocks exist in previously-transcribed AGC programs (primarily
Luminary 99, from Apollo 11) those code blocks were used as a starting point and
then corrected to agree with the BURST120 scans. The full scans are available
at the Virtual AGC
project's collection at archive.org, while more-convenient reduced-size (but reduced-quality)
images are available at
the main Virtual AGC website. Report any errors noted by creating an
issue report at the Virtual AGC
project's GitHub repository. Notations on the program listing read, in part:YUL SYSTEM FOR AGC: REVISION 0 OF PROGRAM BURST120 BY NASA 2021106-031 DEC 7, 1967 THIS LISTING IS A COPY OF A VERSION OF THE PROGRAM INTENDED FOR USE IN THE ON-BOARD PRIMARY GUIDANCE COMPUTER IN THE UNMANNED FLIGHT OF APOLLO LUNAR MODULE 1 --- THE AS206 MISSION.Note that the date is the date of the printout, not the date of the program revision. |
006955,000002: ## Copyright: Public domain.
006956,000003: ## Filename: RADAR_LEADIN_ROUTINES.agc
006957,000004: ## Purpose: A module for revision 0 of BURST120 (Sunburst).
006958,000005: ## It is part of the source code for the Lunar Module's (LM)
006959,000006: ## Apollo Guidance Computer (AGC) for Apollo 5.
006960,000007: ## Assembler: yaYUL
006961,000008: ## Contact: Ron Burkey <info@sandroid.org>.
006962,000009: ## Website: www.ibiblio.org/apollo/index.html
006963,000010: ## Mod history: 2016-09-30 RSB Created draft version.
006964,000011: ## 2016-10-06 RSB Finished transcribing.
006965,000012: ## 2016-10-31 RSB Typos, including an entire missing page (193).
006966,000013: ## 2016-11-01 RSB More typos.
006967,000014: ## 2016-12-04 RSB Made a number of corrections to program comments
006968,000015: ## using octopus/ProoferComments, but the proofing
006969,000016: ## process shouldn't be considered complete.
006970,000017: ## 2016-12-05 RSB Comment-proofing pass with octopus/ProoferComments completed;
006971,000018: ## changes made.
006972,000019: ## 2017-05-31 RSB A few comment corrections based on changes made while
006973,000020: ## proofing the corresponding file for Sunburst 37.
006974,000021:
Page 168 |
006976,000023: 4323 BLOCK 02
006977,000024: 4323 E3,1464 EBANK= RRRET
006978,000025:
006979,000026: # THE FOLLOWING SUBROUTINE RETURNS TO CALLER + 2 IF THE ABSOLUTE VALUE OF C(A) IS GREATER THAN THE
006980,000027: # NEGATIVE OF THE NUMBER AT CALLER +1. OTHERWISE IT RETURNS TO CALLER +3. MAY BE CALLED IN RUPT OR UNDER EXEC.
006981,000028:
006982,000029: 4323 00006 MAGSUB EXTEND
006983,000030: 4324 64326 BZMF +2
006984,000031: 4325 14327 TCF +2
006985,000032: 4326 40000 COM
006986,000033:
006987,000034: 4327 50002 INDEX Q
006988,000035: 4330 60000 AD 0
006989,000036: 4331 00006 EXTEND
006990,000037: 4332 67017 BZMF Q+2 # ABS(A) LEQ CONSTANT
006991,000038: 4333 17015 TCF Q+1 # ABS(A) G CONSTANT
006992,000039:
Page 169 |
006994,000041: # THE FOLLOWING SUBROUTINE CHECKS RR GIMBAL ANGLES TO SEE IF THEY ARE IN THE LIMITS OF THE CURRENT MODE.
006995,000042: # CALLING SEQUENCE IS AS FOLLOWS:
006996,000043:
006997,000044: # TC RRLIMCHK (WITH INTERRUPT INHIBITED).
006998,000045: # ADRES T,S (IN UNSWITCHED E OR CURRENT EBANK).
006999,000046:
007000,000047: # RETURN IS TO CALLER +2 IF NOT IN LIMITS AND TO CALLER +3 IF SO.
007001,000048:
007002,000049: 4334 50002 RRLIMCHK INDEX Q # READ GIMBAL ANGLES INTO ITEMP STORAGE.
007003,000050: 4335 30000 CAF 0
007004,000051: 4336 24002 INCR Q
007005,000052: 4337 00006 EXTEND
007006,000053: 4340 50000 INDEX A
007007,000054: 4341 30001 DCA 0
007008,000055: 4342 52062 DXCH ITEMP1
007009,000056: 4343 22002 LXCH Q # L(CALLER +2) TO L.
007010,000057:
007011,000058: 4344 37750 CAF BIT12 # SEE WHICH MODE RR IS IN.
007012,000059: 4345 70412 MASK RADMODES
007013,000060: 4346 10000 CCS A
007014,000061: 4347 14362 TCF MODE2CHK
007015,000062:
007016,000063: 4350 30061 CA ITEMP1 # MODE 1 IS DEFINED AS
007017,000064: 4351 04323 TC MAGSUB # 1. ABS(T) L 55 DEGS.
007018,000065: 4352 66161 DEC -.30555 # 2. ABS(S + 5.5 DEGS) L 64.5 DEGS
007019,000066: 4353 00001 TC L # (SHAFT LIMITS AT +59, -70 DEGS)
007020,000067:
007021,000068: 4354 34374 CAF 5.5DEGS
007022,000069: 4355 60062 AD ITEMP2 # S
007023,000070: 4356 04323 TC MAGSUB
007024,000071: 4357 64420 DEC -.35833 # 64.5 DEGS
007025,000072: 4360 00001 TC L
007026,000073: 4361 04372 TC RRLIMOK # IN LIMITS.
007027,000074:
007028,000075: 4362 34376 MODE2CHK CAF 82DEGS # MODE 2 IS DEFINED AS
007029,000076: 4363 60062 AD ITEMP2 # 1. ABS(T) G 125 DEGS.
007030,000077: 4364 04323 TC MAGSUB # 2. ABS(S + 82 DEGS) L 57 DEGS
007031,000078: 4365 65673 DEC -.31667 # (SHAFT LIMITS AT -25, -139 DEGS)
007032,000079: 4366 00001 TC L
007033,000080:
007034,000081: 4367 30061 CA ITEMP1
007035,000082: 4370 04323 TC MAGSUB
007036,000083: 4371 51615 DEC -.69444 # 125 DEGS
007037,000084:
007038,000085: 4372 50001 RRLIMOK INDEX L
007039,000086: 4373 00001 TC L # ( = TC 1)
007040,000087:
007041,000088: 4374 00765 5.5DEGS DEC .03056
007042,000089: 4375 00707 5DEGS DEC .02777 # SCALED IN HALF-REVOLUTIONS
007043,000090: 4376 16450 82DEGS DEC .45556
007044,000091:
Page 170 |
007046,000093: # THE FOLLOWING ROUTINE UPDATES THE TRACKER FAIL LAMP ON THE DSKY. IF EITHER:
007047,000094:
007048,000095: # 1. N SAMPLES OF RR DATA COULD NOT BE OBTAINED FROM 2N TRIES
007049,000096: # 2. N SAMPLES OF LR DATA COULD NOT BE TAKEN IN 2N TRIES WITH EITHER THE ALT OR VEL INFORMATION.
007050,000097: # 3. RR CDU FAILED WITH RR IN AUTO MODE AND RR CDU NOT BEING ZEROED.
007051,000098:
007052,000099: 4377 37763 SETTRKF CAF BIT1 # NO ACTION IF DURING LAMP TEST.
007053,000100: 4400 70366 MASK IMODES33
007054,000101: 4401 10000 CCS A
007055,000102: 4402 00002 TC Q
007056,000103:
007057,000104: 4403 34433 CAF 13,7,2 # SEE IF CDU FAILED.
007058,000105: 4404 70412 MASK RADMODES
007059,000106: 4405 00006 EXTEND
007060,000107: 4406 14416 BZF TRKFLON # CONDITION 3 ABOVE.
007061,000108:
007062,000109: 4407 40412 CS RADMODES # SEE IF LR FAILED.
007063,000110: 4410 74434 MASK 8,5
007064,000111: 4411 00006 EXTEND
007065,000112: 4412 14416 BZF TRKFLON # CONDITION 2 ABOVE.
007066,000113:
007067,000114: 4413 37760 CAF BIT4 # SEE IF RR DATA FAILED.
007068,000115: 4414 70412 MASK RADMODES
007069,000116: 4415 10000 CCS A
007070,000117: 4416 37754 TRKFLON CAF BIT8
007071,000118: 4417 60326 AD DSPTAB +11D # HALF ADD DESIRED AND PRESENT STATES.
007072,000119: 4420 77754 MASK BIT8
007073,000120: 4421 00006 EXTEND
007074,000121: 4422 17020 BZF TCQ # NO CHANGE.
007075,000122:
007076,000123: 4423 54001 TS L # INVERT BIT 8 AND SET BIT 15.
007077,000124: 4424 30326 CA DSPTAB +11D # CANT USE LXCH DSPTAB +11D (RESTART PROB)
007078,000125: 4425 00006 EXTEND
007079,000126: 4426 06001 RXOR L
007080,000127: 4427 77743 MASK POSMAX
007081,000128: 4430 67745 AD BIT15
007082,000129: 4431 54326 TS DSPTAB +11D
007083,000130: 4432 00002 TC Q
007084,000131:
007085,000132: 4433 10102 13,7,2 OCT 10102
007086,000133: 4434 00220 8,5 OCT 00220
007087,000134:
007088,000135: 4435 ENDRMODF EQUALS
007089,000136:
Page 171 |
007091,000138: # TURNON SEQUENCE TO ZERO THE CDUS AND DETERMINE THE RR MODE.
007092,000139:
007093,000140: 10,2000 BANK 10
007094,000141:
007095,000142: 10,2000 02013 RRTURNON TC RRZEROSB
007096,000143: 10,2001 05701 TC FIXDELAY # WAIT 1 SEC BEFORE REMOVING TURN ON FLAG
007097,000144: 10,2002 00144 DEC 100 B-14 # SO A MONITOR REPOSITION WONT ALARM.
007098,000145: 10,2003 47763 CS BIT1
007099,000146: 10,2004 70412 MASK RADMODES
007100,000147: 10,2005 54412 TS RADMODES
007101,000148: 10,2006 40074 CS STATE # SEE IF SOMEONE IS WAITING TO USE THE RR.
007102,000149: 10,2007 77755 MASK RRUSEFLG
007103,000150: 10,2010 10000 CCS A
007104,000151: 10,2011 15727 TCF TASKOVER
007105,000152:
007106,000153: 10,2012 13242 TCF ENDRADAR # CHECK RR CDU FAIL BEFORE EXIT.
007107,000154:
Page 172 |
007109,000156: # CLOSED SUBROUTINE TO ZERO THE RR CDUS.
007110,000157:
007111,000158: 10,2013 00006 RRZEROSB EXTEND
007112,000159: 10,2014 23464 QXCH RRRET
007113,000160: 10,2015 37763 CAF BIT1 # BIT 13 OF RADMODES MUST BE SET BEFORE
007114,000161: 10,2016 00006 EXTEND # COMING HERE.
007115,000162: 10,2017 05012 WOR 12
007116,000163: 10,2020 05701 TC FIXDELAY
007117,000164: 10,2021 00002 DEC 2 B-14
007118,000165:
007119,000166: 10,2022 37767 CAF ZERO
007120,000167: 10,2023 54035 TS OPTY
007121,000168: 10,2024 54036 TS OPTX
007122,000169: 10,2025 47763 CS ONE # REMOVE ZEROING BIT.
007123,000170: 10,2026 00006 EXTEND
007124,000171: 10,2027 03012 WAND 12
007125,000172: 10,2030 05701 TC FIXDELAY
007126,000173: 10,2031 00620 DEC 400 B-14
007127,000174:
007128,000175: 10,2032 47747 CS BIT13 # REMOVE ZEROING IN PROCESS BIT.
007129,000176: 10,2033 70412 MASK RADMODES
007130,000177: 10,2034 54412 TS RADMODES
007131,000178:
007132,000179: 10,2035 30035 CA OPTY
007133,000180: 10,2036 04323 TC MAGSUB
007134,000181: 10,2037 57777 DEC -.5
007135,000182: 10,2040 12043 TCF +3 # IF MODE 2.
007136,000183:
007137,000184: 10,2041 37767 CAF ZERO
007138,000185: 10,2042 12044 TCF +2
007139,000186: 10,2043 37750 CAF BIT12
007140,000187: 10,2044 56412 XCH RADMODES
007141,000188: 10,2045 75502 MASK -BIT12
007142,000189: 10,2046 26412 ADS RADMODES
007143,000190:
007144,000191: 10,2047 04377 TC SETTRKF # TRACKER LAMP MIGHT GO ON NOW.
007145,000192:
007146,000193: 10,2050 01464 TC RRRET # DONE.
007147,000194:
007148,000195: 10,2051 5502 -BIT12 EQUALS -1/8 # IN SPROOT
007149,000196:
Page 173 |
007151,000198: # SEQUENCE OF TASKS TO DRIVE THE RR TO A SAFE POSITION.
007152,000199:
007153,000200: 10,2051 02106 DORREPOS TC SETRRECR # SET UP RR CDU ERROR COUNTERS.
007154,000201:
007155,000202: 10,2052 37763 CAF BIT1 # DO AN ALARM UNLESS RR JUST TURNED ON.
007156,000203: 10,2053 70412 MASK RADMODES
007157,000204: 10,2054 10000 CCS A
007158,000205: 10,2055 12060 TCF +3
007159,000206:
007160,000207: 10,2056 04755 TC ALARM
007161,000208: 10,2057 00501 OCT 501
007162,000209: 10,2060 05701 TC FIXDELAY
007163,000210: 10,2061 00002 DEC 2 B-14
007164,000211:
007165,000212: 10,2062 37750 CAF BIT12 # MANEUVER TRUNNION ANGLE TO NOMINAL POS.
007166,000213: 10,2063 70412 MASK RADMODES
007167,000214: 10,2064 10000 CCS A
007168,000215: 10,2065 37745 CAF BIT15 # 0 FOR MODE 1 AND 180 FOR MODE 2.
007169,000216: 10,2066 02150 TC RRTONLY
007170,000217:
007171,000218: 10,2067 37750 CAF BIT12 # NOW PUT SHAFT IN RIGHT POSITION.
007172,000219: 10,2070 70412 MASK RADMODES
007173,000220: 10,2071 10000 CCS A
007174,000221: 10,2072 47746 CS HALF # -90 FOR MODE 2.
007175,000222: 10,2073 02153 TC RRSONLY
007176,000223:
007177,000224: 10,2074 47751 REPOSRPT CS BIT11 # RETURNS HERE FROM RR1AXIS IN REMODE
007178,000225: # REQUESTED DURING REPOSITION.
007179,000226: 10,2075 70412 MASK RADMODES # REMOVE REPOSITION BIT.
007180,000227: 10,2076 54412 TS RADMODES
007181,000228: 10,2077 77752 MASK BIT10 # SEE IF SOMEONE IS WAITING TO DESIGNATE.
007182,000229: 10,2100 10000 CCS A
007183,000230: 10,2101 12423 TCF BEGDES
007184,000231: 10,2102 47762 CS BIT2 # IF NO FURTHER ANTENNA CONTROL REQUIRED,
007185,000232: 10,2103 00006 EXTEND # REMOVE ERROR COUNTER ENABLE.
007186,000233: 10,2104 03012 WAND 12
007187,000234: 10,2105 15727 TCF TASKOVER
007188,000235:
007189,000236: 10,2106 37762 SETRRECR CAF BIT2 # SET UP RR ERROR COUNTERS.
007190,000237: 10,2107 00006 EXTEND
007191,000238: 10,2110 05012 WOR 12
007192,000239:
007193,000240: 10,2111 37767 CAF ZERO
007194,000241: 10,2112 54361 TS LASTYCMD
007195,000242: 10,2113 54362 TS LASTXCMD
007196,000243: 10,2114 00002 TC Q
007197,000244:
Page 174 |
007199,000246: # GENERAL REMODING SUBROUTINE. DRIVES TRUNION TO 0 (180), THEN DRIVES SHAFT TO -45, AND FINALLY DRIVES
007200,000247: # TRUNNION TO -130 (-50) BEFORE INITIATING 2-AXIS CONTROL. ALL RE-MODING IS DONE WITH SINGLE AXIS ROTATIONS (SEE
007201,000248: # RR1AXIS).
007202,000249:
007203,000250: 10,2115 37750 REMODE CAF BIT12 # DRIVE TRUNNION TO 0 (180).
007204,000251: 10,2116 70412 MASK RADMODES # (ERROR COUNTER ALREADY ENABLED)
007205,000252: 10,2117 10000 CCS A
007206,000253: 10,2120 37745 CAF BIT15
007207,000254: 10,2121 02150 TC RRTONLY
007208,000255:
007209,000256: 10,2122 32137 CAF -45DEGSR
007210,000257: 10,2123 02153 TC RRSONLY
007211,000258:
007212,000259: 10,2124 40412 CS RADMODES
007213,000260: 10,2125 77750 MASK BIT12
007214,000261: 10,2126 10000 CCS A
007215,000262: 10,2127 32141 CAF -80DEGSR # GO TO T = -130 (-50).
007216,000263: 10,2130 62140 AD -50DEGSR
007217,000264: 10,2131 02150 TC RRTONLY
007218,000265:
007219,000266: 10,2132 02142 TC RMODINV
007220,000267:
007221,000268: 10,2133 47746 CS BIT14 # END OF REMODE.
007222,000269: 10,2134 70412 MASK RADMODES
007223,000270: 10,2135 54412 TS RADMODES
007224,000271:
007225,000272: 10,2136 02432 TC STDESIG # BEGIN 2-AXIS CONTROL.
007226,000273:
007227,000274: 10,2137 70000 -45DEGSR OCT 70000
007228,000275: 10,2140 67070 -50DEGSR DEC -.27778
007229,000276: 10,2141 61615 -80DEGSR DEC -.44444
007230,000277:
007231,000278: 10,2142 22412 RMODINV LXCH RADMODES # INVERT THE MODE STATUS.
007232,000279: 10,2143 37750 CAF BIT12
007233,000280: 10,2144 00006 EXTEND
007234,000281: 10,2145 06001 RXOR L
007235,000282: 10,2146 54412 TS RADMODES
007236,000283: 10,2147 00002 TC Q
007237,000284:
Page 175 |
007239,000286: # SUBROUTINES FOR DOING SINGLE AXIS RR MANEUVERS FOR REMODE AND REPOSITION. DRIVES TO WITHIN 1 DEGREE.
007240,000287:
007241,000288: 10,2150 55465 RRTONLY TS RDES # DESIRED TRUNION ANGLE.
007242,000289: 10,2151 37767 CAF ZERO
007243,000290: 10,2152 12155 TCF RR1AXIS
007244,000291:
007245,000292: 10,2153 55465 RRSONLY TS RDES # SHAFT COMMANDS ARE UNRESOLVED SINCE THIS
007246,000293: 10,2154 37763 CAF ONE # ROUTINE ENTERED ONLY WHEN T = 0 OR 180.
007247,000294:
007248,000295: 10,2155 55466 RR1AXIS TS RRINDEX
007249,000296: 10,2156 00006 EXTEND
007250,000297: 10,2157 23464 QXCH RRRET
007251,000298: 10,2160 12163 TCF RR1AX2
007252,000299:
007253,000300: 10,2161 05701 NXTRR1AX TC FIXDELAY
007254,000301: 10,2162 00062 DEC 50 B-14 # 2 SAMPLES PER SECOND.
007255,000302:
007256,000303: 10,2163 40412 RR1AX2 CS RADMODES # IF SOMEONE REQUESTES AS DESIGNATE WHICH
007257,000304: 10,2164 75645 MASK PRIO22 # REQUIRES A REMODE AND A REPOSITION IS IN
007258,000305: 10,2165 00006 EXTEND # PROGRESS, INTERRUPT IT AND START THE
007259,000306: 10,2166 12074 BZF REPOSRPT # REMODE IMMEDIATELY.
007260,000307:
007261,000308: 10,2167 31465 CA RDES
007262,000309: 10,2170 00006 EXTEND
007263,000310: 10,2171 51466 INDEX RRINDEX
007264,000311: 10,2172 20035 MSU OPTY
007265,000312: 10,2173 54002 TS Q # SAVE ERROR SIGNAL.
007266,000313: 10,2174 00006 EXTEND
007267,000314: 10,2175 72212 MP RRSPGAIN # TRIES TO NULL .7 OF ERROR OVER NEXT .5
007268,000315: 10,2176 54001 TS L
007269,000316: 10,2177 30002 CA Q # SEE IF WITHIN 1 DEGREE.
007270,000317: 10,2200 04323 TC MAGSUB
007271,000318: 10,2201 77644 DEC -.00555 # SCALED IN HALF-REVS.
007272,000319:
007273,000320: 10,2202 12204 TCF +2 # NO.
007274,000321: 10,2203 01464 TC RRRET # RETURN TO CALLER.
007275,000322:
007276,000323: 10,2204 11466 CCS RRINDEX # COMMAND FOR OTHER AXIS IS ZERO.
007277,000324: 10,2205 12207 TCF +2 # SETTING A TO 0.
007278,000325: 10,2206 56001 XCH L
007279,000326: 10,2207 52423 DXCH TANG
007280,000327:
007281,000328: 10,2210 02213 TC RROUT
007282,000329:
007283,000330: 10,2211 12161 TCF NXTRR1AX # COME BACK IN .5 SECONDS.
007284,000331:
007285,000332: 10,2212 22715 RRSPGAIN DEC .59062 # NULL .7 ERROR IN .5 SEC.
007286,000333:
Page 176 |
007288,000335: # THE FOLLOWING ROUTINE RECEIVES RR GYRO COMMANDS IN TANG,+1 IN ERROR COUNTER SCALING. RROUT LIMITS THEM
007289,000336: # AND GENERATES COMMANDS TO THE CDU TO ADJUST THE ERROR COUNTERS TO THE DESIRED VALUES. RUPT MUST BE INHIBITED.
007290,000337:
007291,000338: 10,2213 22002 RROUT LXCH Q # SAVE RETURN.
007292,000339: 10,2214 37763 CAF ONE # LOOP TWICE.
007293,000340: 10,2215 54062 RROUT2 TS ITEMP2
007294,000341: 10,2216 50000 INDEX A
007295,000342: 10,2217 30422 CA TANG
007296,000343: 10,2220 54061 TS ITEMP1 # SAVE SIGN OF COMMAND FOR LIMITING.
007297,000344:
007298,000345: 10,2221 04323 TC MAGSUB # SEE IF WITHIN LMITS.
007299,000346: 10,2222 77177 -RRLIMIT DEC -384 B-14
007300,000347: 10,2223 12242 TCF RROUTLIM # LIMIT COMMAND TO MAG OF 384.
007301,000348:
007302,000349: 10,2224 30061 SETRRCTR CA ITEMP1 # COUNT OUT DIFFERENCE BETWEEN DESIRED
007303,000350: 10,2225 50062 INDEX ITEMP2 # STATE AND PRESENT STATE AS RECORDED IN
007304,000351: 10,2226 56361 XCH LASTYCMD # LASTYCMD AND LASTXCMD
007305,000352: 10,2227 40000 COM
007306,000353: 10,2230 60061 AD ITEMP1
007307,000354: 10,2231 67770 AD NEG0
007308,000355: 10,2232 50062 INDEX ITEMP2
007309,000356: 10,2233 54053 TS OPTYCMD
007310,000357:
007311,000358: 10,2234 10062 CCS ITEMP2 # PROCESS BOTH INPUTS.
007312,000359: 10,2235 12215 TCF RROUT2
007313,000360:
007314,000361: 10,2236 35634 CAF PRIO6 # ENABLE COUNTERS.
007315,000362: 10,2237 00006 EXTEND
007316,000363: 10,2240 05014 WOR 14
007317,000364:
007318,000365: 10,2241 00001 TC L # RETURN.
007319,000366:
007320,000367: 10,2242 10061 RROUTLIM CCS ITEMP1 # LIMIT COMMAND TO ABS VAL OF 384.
007321,000368: 10,2243 42222 CS -RRLIMIT
007322,000369: 10,2244 12246 TCF +2
007323,000370: 10,2245 32222 CA -RRLIMIT
007324,000371: 10,2246 54061 TS ITEMP1
007325,000372: 10,2247 12225 TCF SETRRCTR +1
007326,000373:
Page 177 |
007328,000375: # ROUTINE TO ZERO THE RR CDUS AND DETERMINE THE ANTENNA MODE.
007329,000376:
007330,000377: 10,2250 00004 RRZERO INHINT
007331,000378: 10,2251 47755 CS RRUSEFLG # SET FLAG TO SHOW SOMEONE USING THE RR.
007332,000379: 10,2252 70074 MASK STATE
007333,000380: 10,2253 67755 AD RRUSEFLG
007334,000381: 10,2254 54074 TS STATE
007335,000382:
007336,000383: 10,2255 37763 CAF BIT1 # SEE IF RR COMING UP. IF SO, TURNON
007337,000384: 10,2256 70412 MASK RADMODES # PROGRAM WILL DO THE WORK.
007338,000385: 10,2257 10000 CCS A
007339,000386: 10,2260 12303 TCF ROADBACK
007340,000387:
007341,000388: 10,2261 37751 CAF BIT11 # SEE IF MONITOR REPOSITION IN PROGRESS.
007342,000389: 10,2262 70412 MASK RADMODES # IF SO, DONT RE-ZERO CDUS.
007343,000390: 10,2263 10000 CCS A
007344,000391: 10,2264 13224 TCF RADNOOP # (IMMEDIATE TASK TO RGOODEND).
007345,000392:
007346,000393: 10,2265 47747 CS BIT13 # SET FLAG TO SHOW ZEROING IN PROGRESS.
007347,000394: 10,2266 70412 MASK RADMODES
007348,000395: 10,2267 67747 AD BIT13
007349,000396: 10,2270 54412 TS RADMODES
007350,000397:
007351,000398: 10,2271 37763 CAF ONE
007352,000399: 10,2272 05663 TC WAITLIST
007353,000400: 10,2273 E3,1464 EBANK= RRRET
007354,000401: 10,2273 02305 20063 2CADR RRZ2
007355,000402:
007356,000403: 10,2275 40412 CS RADMODES # SEE IF IN AUTO MODE.
007357,000404: 10,2276 77762 MASK BIT2
007358,000405: 10,2277 10000 CCS A
007359,000406: 10,2300 12303 TCF ROADBACK
007360,000407: 10,2301 04755 TC ALARM # AUTO DISCRETE NOT PRESENT - TRYING
007361,000408: 10,2302 00510 OCT 510
007362,000409: 10,2303 00003 ROADBACK RELINT
007363,000410: 10,2304 15221 TCF SWRETURN
007364,000411:
007365,000412: 10,2305 02013 RRZ2 TC RRZEROSB # COMMON TO TURNON AND RRZERO.
007366,000413: 10,2306 13242 TCF ENDRADAR
007367,000414:
007368,000415: 10,2307 7755 RRUSEFLG EQUALS BIT7
007369,000416: 10,2307 7757 LOKONFLG EQUALS BIT5
007370,000417:
Page 178 |
007372,000419: # STABLE-MEMBER RR DESIGNATE ROUTINE. DESIGNATE TO A SM LOS VECTOR (HALF-UNIT) IN RRTARGET. REMODES IF
007373,000420: # REQUIRED. RETURNS TO CALLER IF MANEUVER REQUIRED FOR DES AND SKIPS IF IT CAN BE DONE IN PRESENT VEH ATTITUDE.
007374,000421:
007375,000422: 10,2307 43020 RRDESSM STQ CLEAR
007376,000423: 10,2310 00426 DESRET
007377,000424: 10,2311 00271 RRNBSW
007378,000425: 10,2312 66234 RTB SSP # READ CDUS FOR SMNB.
007379,000426: 10,2313 33473 READCDUS
007380,000427: 10,2314 00051 S1
007381,000428: 10,2315 00024 20D
007382,000429: 10,2316 24025 STOVL 20D
007383,000430: 10,2317 00415 RRTARGET
007384,000431: 10,2320 34041 STCALL 32D
007385,000432: 10,2321 32531 SMNB
007386,000433:
007387,000434: 10,2322 77624 CALL # GET RR GIMBAL ANGLES IN PRESENT AND
007388,000435: 10,2323 33355 RRANGLES # ALTERNATE MODE.
007389,000436: 10,2324 77776 EXIT
007390,000437:
007391,000438: 10,2325 00004 INHINT
007392,000439: 10,2326 04334 TC RRLIMCHK
007393,000440: 10,2327 00422 ADRES MODEA # CONFIGURATION FOR CURRENT MODE.
007394,000441: 10,2330 12352 TCF TRYSWS
007395,000442:
007396,000443: 10,2331 24426 OKDESSM INCR DESRET # INCREMENT SAYS NO VEHICLE MANEUVER REQ.
007397,000444:
Page 179 |
007399,000446: # AT THIS POINT WE ARE READY TO BEGIN DESIGNATION. THE TARGET IS STORED AS A HALF-UNIT VECTOR IN RRTARGET
007400,000447: # WITH RRNBSW SET IF IT IS REFERRED TO NAV BASE AXES. LOKONSW IS SET IF LOCKON IS DESIRED. BIT14 OF RADMODES IS
007401,000448: # SET IF A REMODE IS REQUIRED. AT THIS TIME, THE ANTENNA MAY BE IN A MONITOR REPOSITION OPERATION. IN THIS
007402,000449: # CASE, IF A REMODE IS REQUIRED IT MAY HAVE ALREADY BEGUN BUT IT ANY CASE THE REPOSITION WILL BE INTERRUPTED.
007403,000450: # OTHERWISE, THE REPOSITION WILL BE COMPLETED BEFORE 2-AXIS DESIGNATION BEGINS.
007404,000451:
007405,000452: 10,2332 32351 STARTDES CAF MAXTRIES # ALLOW 30 SECS.
007406,000453: 10,2333 54427 TS DESCOUNT
007407,000454:
007408,000455: 10,2334 37752 CAF BIT10 # SHOW DESIGNATE REQUIRED.
007409,000456: 10,2335 26412 ADS RADMODES
007410,000457: 10,2336 77751 MASK BIT11 # SEE IF REPOSITION IN PROGRESS.
007411,000458: 10,2337 10000 CCS A
007412,000459: 10,2340 12346 TCF DESRETRN # ECTR ALREADY SET UP.
007413,000460:
007414,000461: 10,2341 02106 TC SETRRECR # SET UP ERROR COUNTERS.
007415,000462:
007416,000463: 10,2342 37762 CAF TWO
007417,000464: 10,2343 05663 TC WAITLIST
007418,000465: 10,2344 E3,1464 EBANK= RRRET
007419,000466: 10,2344 02423 20063 2CADR BEGDES
007420,000467:
007421,000468: 10,2346 00003 DESRETRN RELINT # RETURN VIA DESRET
007422,000469: 10,2347 30426 +1 CA DESRET
007423,000470: 10,2350 15230 TCF BANKJUMP
007424,000471:
007425,000472: 10,2351 00074 MAXTRIES DEC 60 B-14
007426,000473:
Page 180 |
007428,000475: # SEE IF RRDESSM CAN BE ACCOMPLISHED AFTER A REMODE.
007429,000476:
007430,000477: 10,2352 02142 TRYSWS TC RMODINV # (NOTE RUPT INHIBIT)
007431,000478: 10,2353 04334 TC RRLIMCHK # TRY DIFFERENT MODE.
007432,000479: 10,2354 00424 ADRES MODEB
007433,000480: 10,2355 12362 TCF NODESSM # VEHICLE MANEUVER REQUIRED.
007434,000481:
007435,000482: 10,2356 02142 TC RMODINV # RESET BIT12
007436,000483: 10,2357 37746 CAF BIT14 # SET FLAG FOR REMODE.
007437,000484: 10,2360 26412 ADS RADMODES
007438,000485:
007439,000486: 10,2361 12331 TCF OKDESSM
007440,000487:
007441,000488: 10,2362 02142 NODESSM TC RMODINV # RE-INVERT MODE AND RETURN WITHOUT IN-
007442,000489: 10,2363 12346 TCF DESRETRN # CREMENTING DESRET
007443,000490:
Page 181 |
007445,000492: # DESIGNATE TO SPECIFIC RR GIMBAL ANGLES (INDEPENDENT OF VEHICLE MOTION). ENTER WITH DESIRED ANGLES IN
007446,000493: # TANG AND TANG +1.
007447,000494:
007448,000495: 10,2364 05235 RRDESNB TC MAKECADR
007449,000496: 10,2365 54426 TS DESRET
007450,000497:
007451,000498: 10,2366 00004 INHINT # SEE IF CURRENT MODE OK.
007452,000499: 10,2367 04334 TC RRLIMCHK
007453,000500: 10,2370 00422 ADRES TANG
007454,000501: 10,2371 12403 TCF TRYSWN # SEE IF IN OTHER MODE.
007455,000502:
007456,000503: 10,2372 00003 OKDESNB RELINT
007457,000504: 10,2373 06112 TC INTPRET
007458,000505:
007459,000506: 10,2374 77624 CALL # GET LOS IN NB COORDS.
007460,000507: 10,2375 33430 RRNB
007461,000508: 10,2376 00415 STORE RRTARGET
007462,000509:
007463,000510: 10,2377 77414 SET EXIT
007464,000511: 10,2400 00071 RRNBSW
007465,000512:
007466,000513: 10,2401 00004 INHINT
007467,000514: 10,2402 12332 TCF STARTDES
007468,000515:
007469,000516: 10,2403 02142 TRYSWN TC RMODINV # SEE IF OTHER MODE WILL DO.
007470,000517: 10,2404 04334 TC RRLIMCHK
007471,000518: 10,2405 00422 ADRES TANG
007472,000519: 10,2406 12413 TCF NODESNB # NOT POSSIBLE.
007473,000520:
007474,000521: 10,2407 02142 TC RMODINV
007475,000522: 10,2410 37746 CAF BIT14 # CALL FOR REMODE.
007476,000523: 10,2411 26412 ADS RADMODES
007477,000524: 10,2412 12372 TCF OKDESNB
007478,000525:
007479,000526: 10,2413 37763 NODESNB CAF BIT1 # CALL FOR ERROR RETURN.
007480,000527: 10,2414 05663 TC WAITLIST
007481,000528: 10,2415 E3,1464 EBANK= RRRET
007482,000529: 10,2415 03256 20063 2CADR RDBADEND
007483,000530:
007484,000531: 10,2417 02142 TC RMODINV
007485,000532: 10,2420 04755 TC ALARM # BAD GIMBAL ANGLE INPUTS.
007486,000533: 10,2421 00502 OCT 502
007487,000534: 10,2422 12347 TCF DESRETRN +1 # ALARM DID A RELINT.
007488,000535:
Page 182 |
007490,000537: # WAITLIST TASKS TO RUN RR DESIGNATION.
007491,000538:
007492,000539: 10,2423 37746 BEGDES CAF BIT14 # ENTER HERE FROM STARTDES OR REPOSRPT.
007493,000540: 10,2424 70412 MASK RADMODES # SEE IF REMODE REQUIRED.
007494,000541: 10,2425 10000 CCS A
007495,000542: 10,2426 12115 TCF REMODE
007496,000543: 10,2427 12432 TCF STDESIG
007497,000544:
007498,000545: 10,2430 05701 DESLOOP TC FIXDELAY # 2 SAMPLES PER SECOND.
007499,000546: 10,2431 00062 DEC 50 B-14
007500,000547:
007501,000548: 10,2432 37751 STDESIG CAF BIT11 # ENTRY FROM BEGDES AND REMODE.
007502,000549: 10,2433 70412 MASK RADMODES # SEE IF GIMBAL LIMIT MONITOR HAS FOUND US
007503,000550: 10,2434 10000 CCS A # OUT OF BOUNDS. IF SO, THIS BIT SHOWS A
007504,000551: 10,2435 12455 TCF BADDES # REPOSITION TO BE IN PROGRESS.
007505,000552:
007506,000553: 10,2436 10412 CCS RADMODES # SEE IF CONTINUOUS DESIGNATE WANTED.
007507,000554: 10,2437 12442 TCF +3 # IF SO, DONT CHECK BIT 10 TO SEE IF IN
007508,000555: 10,2440 12442 TCF +2 # LIMITS BUT GO RIGHT TO FINDVAC ENTRY.
007509,000556: 10,2441 12462 TCF MOREDES +1
007510,000557:
007511,000558: 10,2442 40412 CS RADMODES # IF NON-CONTINUOUS, SEE IF END OF
007512,000559: 10,2443 77752 MASK BIT10 # PROBLEM (DATA GOOD IF LOCK-ON WANTED OR
007513,000560: 10,2444 10000 CCS A # WITHIN LIMITS IF NOT). IF SO, EXIT AFTER
007514,000561: 10,2445 13242 TCF ENDRADAR # CHECKING RR CDU FAIL.
007515,000562:
007516,000563: 10,2446 10427 CCS DESCOUNT # SEE IF TIME LIMIT HAS EXPIRED.
007517,000564: 10,2447 12461 TCF MOREDES
007518,000565:
007519,000566: 10,2450 04755 TC ALARM # OUT OF TIME.
007520,000567: 10,2451 00503 OCT 503
007521,000568: 10,2452 42467 CS B14+B2 # IF OUT OF TIME, REMOVE ECR ENABLE + TRKR
007522,000569: 10,2453 00006 EXTEND
007523,000570: 10,2454 03012 WAND 12
007524,000571: 10,2455 47752 BADDES CS BIT10 # REMOVE DESIGNATE FLAG.
007525,000572: 10,2456 70412 MASK RADMODES
007526,000573: 10,2457 54412 TS RADMODES
007527,000574: 10,2460 13256 TCF RDBADEND
007528,000575:
007529,000576: 10,2461 54427 MOREDES TS DESCOUNT
007530,000577: 10,2462 35650 CAF PRIO26 # UPDATE GYRO TORQUE COMMANDS.
007531,000578: 10,2463 05516 TC FINDVAC
007532,000579: 10,2464 E3,1464 EBANK= RRRET
007533,000580: 10,2464 02470 20063 2CADR DODES
007534,000581:
007535,000582: 10,2466 12430 TCF DESLOOP
007536,000583:
007537,000584: 10,2467 20002 B14+B2 OCT 20002
007538,000585:
Page 183 |
007540,000587: # CALCULATE GYRO TORQUE COMMANDS.
007541,000588:
007542,000589: 10,2470 00006 DODES EXTEND
007543,000590: 10,2471 30036 DCA OPTY
007544,000591: 10,2472 52423 DXCH TANG
007545,000592:
007546,000593: 10,2473 06112 TC INTPRET
007547,000594:
007548,000595: 10,2474 77775 VLOAD # MOVE TARGET VECTOR TO 32D.
007549,000596: 10,2475 00415 RRTARGET
007550,000597: 10,2476 00041 STORE 32D
007551,000598:
007552,000599: 10,2477 47014 BON RTB # DO STABLE-MEMBER TO NAVBASE TRANSFORMA-
007553,000600: 10,2500 00311 RRNBSW # TION IF TARGET IN SM COORDS. OTHERWISE,
007554,000601: 10,2501 20510 DONBRD # IN NB COORDS ALREADY.
007555,000602: 10,2502 33473 READCDUS
007556,000603:
007557,000604: 10,2503 77731 SSP
007558,000605: 10,2504 00051 S1
007559,000606: 10,2505 00024 20D # LOC OF ICDUS.
007560,000607: 10,2506 34025 STCALL 20D
007561,000608: 10,2507 32531 SMNB
007562,000609:
Page 184 |
007564,000611: 10,2510 67201 DONBRD SETPD SLOAD # DO NAVBASE TO RADAR DISH TRANSFORMATION.
007565,000612: 10,2511 00001 0
007566,000613: 10,2512 00424 TANG +1
007567,000614: 10,2513 41434 RTB PUSH # SHAFT COMMAND = V(32D).(COS(S), 0,
007568,000615: 10,2514 33457 CDULOGIC # (-SIN(S)).
007569,000616: 10,2515 65356 SIN PDDL # SIN(S) TO 0 AND COS(S) TO 2.
007570,000617: 10,2516 41546 COS PUSH
007571,000618: 10,2517 65205 DMP PDDL
007572,000619: 10,2520 00041 32D
007573,000620: 10,2521 00045 36D
007574,000621: 10,2522 44205 DMP BDSU
007575,000622: 10,2523 00001 0
007576,000623: 10,2524 77626 STADR
007577,000624: 10,2525 77353 STORE TANG +1 # SHAFT COMMAND
007578,000625:
007579,000626: 10,2526 47135 SLOAD RTB
007580,000627: 10,2527 00423 TANG
007581,000628: 10,2530 33457 CDULOGIC
007582,000629: 10,2531 71406 PUSH COS # COS(T) TO 4.
007583,000630: 10,2532 73525 PDDL SIN
007584,000631: 10,2533 41206 PUSH DMP # SIN(T) TO 6.
007585,000632: 10,2534 00003 2
007586,000633: 10,2535 65352 SL1 PDDL # DEFINE VECTOR U = (SIN(T)SIN(S))
007587,000634: 10,2536 00005 4 # ( COS(T) )
007588,000635: 10,2537 41325 PDDL DMP # (SIN(T)COS(S))
007589,000636: 10,2540 00007 6
007590,000637: 10,2541 00001 0
007591,000638: 10,2542 55552 SL1 VDEF
007592,000639: 10,2543 77441 DOT EXIT # DOT U WITH LOS TO GET TRUNNION COMMAND.
007593,000640: 10,2544 00041 32D
007594,000641:
Page 185 |
007596,000643: # AT THIS POINT WE HAVE A ROTATION VECTOR IN DISH AXES LYING IN THE TS PLANE. CONVERT THIS TO A
007597,000644: # COMMANDED RATE AND ENABLE THE TRACKER IF WE ARE WITHIN 1 DEGREE OF THE TARGET.
007598,000645:
007599,000646: 10,2545 40144 CS MPAC # DOT WAS NEGATIVE OF DESIRED ANGLE.
007600,000647: 10,2546 54422 TS TANG
007601,000648:
007602,000649: 10,2547 40412 CS RADMODES # A RELAY IN THE RR REVERSES POLARITY OF
007603,000650: 10,2550 77750 MASK BIT12 # THE SHAFT COMMANDS IN MODE 2 SO THAT A
007604,000651: 10,2551 10000 CCS A # POSITIVE TORQUE APPLIED TO THE SHAFT
007605,000652: 10,2552 12555 TCF +3 # GYRO CAUSES A POSITIVE CHANGE IN THE
007606,000653:
007607,000654: 10,2553 40423 CS TANG +1 # SHAFT ANGLE. COMPENSATE FOR THIS SWITCH
007608,000655: 10,2554 54423 TS TANG +1 # BY CHANGING THE POLARITY OF OUR COMMAND.
007609,000656:
007610,000657: 10,2555 37767 CAF ZERO
007611,000658: 10,2556 54145 TS MPAC +1
007612,000659: 10,2557 37763 CAF ONE
007613,000660:
007614,000661: 10,2560 54144 RRSCALUP TS MPAC
007615,000662: 10,2561 50000 INDEX A
007616,000663: 10,2562 30422 CA TANG # TRUNNION COMPONENT OF ROTATION.
007617,000664: 10,2563 00006 EXTEND
007618,000665: 10,2564 72636 MP RDESGAIN # SCALING ON INPUT ANGLE WAS 4 RADIANS.
007619,000666: 10,2565 50144 INDEX MPAC
007620,000667: 10,2566 56422 XCH TANG # MAKE EACH COMPONENT LESS THAN .7 DEGREES
007621,000668: 10,2567 04323 TC MAGSUB # BEFORE SENDING TRACK ENABLE.
007622,000669: 10,2570 77715 DEC -.00305
007623,000670: 10,2571 24145 INCR MPAC +1 # IF OUT OF BOUNDS.
007624,000671:
007625,000672: 10,2572 10144 CCS MPAC
007626,000673: 10,2573 12560 TCF RRSCALUP
007627,000674:
Page 186 |
007629,000676: # SEE IF TRACKER SHOULD BE ENABLED OR DISABLED.
007630,000677:
007631,000678: 10,2574 00004 INHINT
007632,000679:
007633,000680: 10,2575 10412 CCS RADMODES # IF CONTINUOUS DESIGNATE WANTED, PUT OUT
007634,000681: 10,2576 12601 TCF +3 # COMMANDS WITHOUT CHECKING MAGNITUDE OF
007635,000682: 10,2577 12601 TCF +2 # ERROR SIGNALS.
007636,000683: 10,2600 12626 TCF TRKOFF
007637,000684:
007638,000685: 10,2601 10145 CCS MPAC +1 # SEE IF BOTH AXES WERE WITHIN .7 DEGS.
007639,000686: 10,2602 12626 TCF TRKOFF
007640,000687:
007641,000688: 10,2603 40074 CS STATE # IF WITHIN LIMITS AND NO LOCK-ON WANTED,
007642,000689: 10,2604 77757 MASK LOKONFLG # PROBLEM IS FINISHED.
007643,000690: 10,2605 10000 CCS A
007644,000691: 10,2606 12617 TCF RRDESDUN
007645,000692:
007646,000693: 10,2607 37746 CAF BIT14 # ENABLE THE TRACKER.
007647,000694: 10,2610 00006 EXTEND
007648,000695: 10,2611 05012 WOR 12
007649,000696:
007650,000697: 10,2612 37760 CAF BIT4 # SEE IF DATA GOOD RECEIVED YET.
007651,000698: 10,2613 00006 EXTEND
007652,000699: 10,2614 02033 RAND 33
007653,000700: 10,2615 10000 CCS A
007654,000701: 10,2616 12631 TCF DORROUT
007655,000702:
007656,000703: 10,2617 47752 RRDESDUN CS BIT10 # WHEN PROBLEM DONE, REMOVE BIT 10 SO NEXT
007657,000704: 10,2620 70412 MASK RADMODES # WAITLIST TASK WE WILL GO TO RGOODEND.
007658,000705: 10,2621 54412 TS RADMODES
007659,000706:
007660,000707: 10,2622 47762 CS BIT2
007661,000708: 10,2623 00006 EXTEND
007662,000709: 10,2624 03012 WAND 12
007663,000710: 10,2625 15567 TCF ENDOFJOB # WITH ECTR DISABLED.
007664,000711:
007665,000712: 10,2626 47746 TRKOFF CS BIT14
007666,000713: 10,2627 00006 EXTEND
007667,000714: 10,2630 03012 WAND 12
007668,000715:
007669,000716: 10,2631 40412 DORROUT CS RADMODES # PUT OUT COMMAND UNLESS MONITOR
007670,000717: 10,2632 77751 MASK BIT11 # REPOSITION HAS TAKEN OVER.
007671,000718: 10,2633 10000 CCS A
007672,000719: 10,2634 02213 TC RROUT
007673,000720:
007674,000721: 10,2635 15567 TCF ENDOFJOB
007675,000722:
007676,000723: 10,2636 21122 RDESGAIN DEC .53624 # TRIES TO NULL .5 ERROR IN .5 SEC.
007677,000724:
Page 187 |
007679,000726: # RADAR READ INITIALIZATION
007680,000727:
007681,000728: # RADAR DATA ARE READ BY A BANKCALL FOR THE APPROPRIATE LEAD-IN BELOW.
007682,000729:
007683,000730: 10,2637 02653 LRALT TC INITREAD -1 # ONE SAMPLE PER READING.
007684,000731: 10,2640 00017 ALLREAD OCT 17
007685,000732:
007686,000733: 10,2641 02654 LRVELZ TC INITREAD
007687,000734: 10,2642 00016 OCT 16
007688,000735:
007689,000736: 10,2643 02654 LRVELY TC INITREAD
007690,000737: 10,2644 00015 OCT 15
007691,000738:
007692,000739: 10,2645 02654 LRVELX TC INITREAD
007693,000740: 10,2646 00014 OCT 14
007694,000741:
007695,000742: 10,2647 02653 RRRDOT TC INITREAD -1
007696,000743: 10,2650 00012 OCT 12
007697,000744:
007698,000745: 10,2651 02653 RRRANGE TC INITREAD -1
007699,000746: 10,2652 00011 OCT 11
007700,000747:
Page 188 |
007702,000749: 10,2653 37763 -1 CAF ONE # ENTRY TO TAKE ONLY 1 SAMPLE.
007703,000750: 10,2654 00004 INITREAD INHINT
007704,000751:
007705,000752: 10,2655 54420 TS TIMEHOLD # GET DT OF MIDPOINT OF NOMINAL SAMPLING
007706,000753: 10,2656 00006 EXTEND # INTERVAL (ASSUMES NO BAD SAMPLES WILL BE
007707,000754: 10,2657 77761 MP BIT3 # ENCOUNTERED).
007708,000755: 10,2660 52421 DXCH TIMEHOLD
007709,000756:
007710,000757: 10,2661 10000 CCS A
007711,000758: 10,2662 54424 TS NSAMP
007712,000759: 10,2663 67763 AD ONE
007713,000760: # INSERT FOLLOWING INSTRUCTION TO GET 2N TRIES FOR N SAMPLES.
007714,000761: # DOUBLE
007715,000762: 10,2664 54413 TS SAMPLIM
007716,000763:
007717,000764: 10,2665 32707 CAF DGBITS # READ CURRENT VALUE OF DATA GOOD BITS.
007718,000765: 10,2666 00006 EXTEND
007719,000766: 10,2667 02033 RAND 33
007720,000767: 10,2670 54426 TS OLDATAGD
007721,000768:
007722,000769: 10,2671 42640 CS ALLREAD
007723,000770: 10,2672 00006 EXTEND
007724,000771: 10,2673 03013 WAND 13 # REMOVE ALL RADAR BITS
007725,000772:
007726,000773: 10,2674 50002 INDEX Q
007727,000774: 10,2675 30000 CAF 0
007728,000775: 10,2676 00006 EXTEND
007729,000776: 10,2677 05013 WOR 13 # SET NEW RADAR BITS
007730,000777:
007731,000778: 10,2700 00006 EXTEND
007732,000779: 10,2701 30025 DCA TIME2
007733,000780: 10,2702 20421 DAS TIMEHOLD # TIME OF NOMINAL MIDPOINT.
007734,000781:
007735,000782: 10,2703 37767 CAF ZERO
007736,000783: 10,2704 54001 TS L
007737,000784: 10,2705 52415 DXCH SAMPLSUM
007738,000785: 10,2706 12303 TCF ROADBACK
007739,000786:
007740,000787: 10,2707 00230 DGBITS OCT 230
007741,000788:
Page 189 |
007743,000790: # RADAR RUPT READER
007744,000791:
007745,000792: # THIS ROUTINE STARTS FROM A RADARUPT. IT READS THE DATA $ LOTS MORE.
007746,000793:
007747,000794: 10,2710 54016 RADAREAD TS BANKRUPT
007748,000795: 10,2711 00006 EXTEND
007749,000796: 10,2712 22012 QXCH QRUPT
007750,000797:
007751,000798: 10,2713 00006 ANGLREAD EXTEND
007752,000799: 10,2714 30036 DCA OPTY
007753,000800: 10,2715 52417 DXCH OPTYHOLD # SAVE RAW CDU ANGLES
007754,000801:
007755,000802: 10,2716 10413 TRYCOUNT CCS SAMPLIM
007756,000803: 10,2717 12731 TCF PLENTY
007757,000804: 10,2720 12724 TCF NOMORE
007758,000805: 10,2721 04755 TC ALARM
007759,000806: 10,2722 00520 OCT 520
007760,000807: 10,2723 05733 TC RESUME
007761,000808:
007762,000809: 10,2724 04755 NOMORE TC ALARM
007763,000810: 10,2725 00521 OCT 521
007764,000811: 10,2726 47763 BADRAD CS ONE
007765,000812: 10,2727 54413 TS SAMPLIM
007766,000813: 10,2730 03254 TC RDBADEND -2
007767,000814:
007768,000815: 10,2731 54413 PLENTY TS SAMPLIM
007769,000816: 10,2732 37761 CAF BIT3
007770,000817: 10,2733 00006 EXTEND
007771,000818: 10,2734 02013 RAND 13 # TO FIND OUT WHICH RADAR
007772,000819: 10,2735 00006 EXTEND
007773,000820: 10,2736 13015 BZF RENDRAD
007774,000821:
007775,000822: 10,2737 30412 LRPOSCHK CA RADMODES # SEE IF LR IN DESIRED POSITION.
007776,000823: 10,2740 00006 EXTEND
007777,000824: 10,2741 06033 RXOR 33
007778,000825: 10,2742 77756 MASK BIT6
007779,000826: 10,2743 00006 EXTEND
007780,000827: 10,2744 12750 BZF VELCHK
007781,000828:
007782,000829: 10,2745 04755 TC ALARM
007783,000830: 10,2746 00522 OCT 522
007784,000831: 10,2747 02726 TC BADRAD
007785,000832:
007786,000833: 10,2750 36311 VELCHK CAF BIN3 # = 00003 OCT
007787,000834: 10,2751 00006 EXTEND
007788,000835: 10,2752 06013 RXOR 13
007789,000836: 10,2753 76311 MASK BIN3
007790,000837: 10,2754 00006 EXTEND
007791,000838: 10,2755 13011 BZF LRHEIGHT # TAKE A LR RANGE READING
007792,000839:
Page 190 |
007794,000841: 10,2756 37743 CAF POSMAX
007795,000842: 10,2757 70046 MASK RNRAD
007796,000843: 10,2760 63157 AD LVELBIAS
007797,000844: 10,2761 54001 TS L
007798,000845: 10,2762 30046 CAE RNRAD
007799,000846: 10,2763 60000 DOUBLE
007800,000847: 10,2764 77763 MASK BIT1
007801,000848: 10,2765 52064 DXCH ITEMP3
007802,000849:
007803,000850: 10,2766 37754 CAF BIT8 # DATA GOOD ISNT CHECKED UNTIL AFTER READ-
007804,000851: 10,2767 03127 TC DGCHECK # ING DATA SO SOME RADAR TESTS WILL WORK
007805,000852: # INDEPENDENT OF DATA GOOD.
007806,000853:
007807,000854: 10,2770 10424 CCS NSAMP
007808,000855: 10,2771 03001 TC NOEND
007809,000856: 10,2772 47763 GOODRAD CS ONE
007810,000857: 10,2773 54413 TS SAMPLIM
007811,000858: 10,2774 40061 CS ITEMP1 # WHEN ENOUGH GOOD DATA HAS BEEN GATHERED,
007812,000859: 10,2775 70412 MASK RADMODES # RESET DATA FAIL FLAGS FOR SETTRKF.
007813,000860: 10,2776 54412 TS RADMODES
007814,000861: 10,2777 04377 TC SETTRKF # LAMP MIGHT GO OFF IF DATA JUST GOOD.
007815,000862: 10,3000 03247 TC RGOODEND -2
007816,000863:
007817,000864: 10,3001 54424 NOEND TS NSAMP
007818,000865: 10,3002 10413 RESAMPLE CCS SAMPLIM # SEE IF ANY MORE TRIES SHOULD BE MADE.
007819,000866: 10,3003 13005 TCF +2
007820,000867: 10,3004 13146 TCF DATAFAIL # N SAMPLES NOT AVAILABLE.
007821,000868: 10,3005 37760 CAF BIT4 # RESET ACTIVITY BIT.
007822,000869: 10,3006 00006 EXTEND
007823,000870: 10,3007 05013 WOR 13 # RESET ACTIVITY BIT
007824,000871: 10,3010 05733 TC RESUME
007825,000872:
007826,000873:
007827,000874: 10,3011 37757 LRHEIGHT CAF BIT5
007828,000875: 10,3012 54061 TS ITEMP1 # (POSITION OF DATA GOOD BIT IN CHAN 33)
007829,000876:
007830,000877: 10,3013 37753 CAF BIT9
007831,000878: 10,3014 03037 TC SCALECHK -1
007832,000879:
007833,000880: 10,3015 37751 RENDRAD CAF BIT11 # MAKE SURE ANTENNA HAS NOT GONE OUT OF
007834,000881: 10,3016 70412 MASK RADMODES # LIMITS.
007835,000882: 10,3017 10000 CCS A
007836,000883: 10,3020 12726 TCF BADRAD
007837,000884:
007838,000885: 10,3021 40412 CS RADMODES # BE SURE RR CDU HASNT FAILED.
007839,000886: 10,3022 77755 MASK BIT7
007840,000887: 10,3023 10000 CCS A
007841,000888: 10,3024 12726 TCF BADRAD
007842,000889:
Page 191 |
007844,000891: 10,3025 37760 CAF BIT4 # SEE IF DATA HAS BEEN GOOD.
007845,000892: 10,3026 54061 TS ITEMP1 # (POSITION OF DATA GOOD BIT IN CHAN 33)
007846,000893:
007847,000894: 10,3027 37763 CAF BIT1 # SEE IF RR RDOT.
007848,000895: 10,3030 00006 EXTEND
007849,000896: 10,3031 02013 RAND 13
007850,000897: 10,3032 54002 TS Q # FOR LATER TESTING.
007851,000898: 10,3033 10000 CCS A
007852,000899: 10,3034 13036 TCF +2
007853,000900: 10,3035 13050 TCF RADIN # NO SCALE CHECK FOR RR RDOT.
007854,000901: 10,3036 37761 CAF BIT3
007855,000902: 10,3037 54001 TS L
007856,000903:
007857,000904: 10,3040 00006 SCALECHK EXTEND
007858,000905: 10,3041 02033 RAND 33 # SCALE STATUS NOW
007859,000906: 10,3042 56001 XCH L
007860,000907: 10,3043 70412 MASK RADMODES # SCALE STATUS BEFORE
007861,000908: 10,3044 00006 EXTEND
007862,000909: 10,3045 06001 RXOR 01 # SEE IF THEY DIFFER
007863,000910: 10,3046 10000 CCS A
007864,000911: 10,3047 03067 TC SCALCHNG # THEY DIFFER
007865,000912:
007866,000913: 10,3050 37743 RADIN CAF POSMAX
007867,000914: 10,3051 70046 MASK RNRAD
007868,000915: 10,3052 54064 TS ITEMP4
007869,000916:
007870,000917: 10,3053 30046 CAE RNRAD
007871,000918: 10,3054 60000 DOUBLE
007872,000919: 10,3055 77763 MASK BIT1
007873,000920: 10,3056 54063 TS ITEMP3
007874,000921:
007875,000922: 10,3057 10002 CCS Q # SEE IF RR RDOT.
007876,000923: 10,3060 13101 TCF SCALADJ # NO, BUT SCALE CHANGING MAY BE NEEDED.
007877,000924:
007878,000925: 10,3061 00006 EXTEND # IF RR RANGE RATE, THROW OUT BIAS.
007879,000926: 10,3062 43161 DCS RDOTBIAS
007880,000927: 10,3063 20064 DASAMPL DAS ITEMP3
007881,000928: 10,3064 30061 DGCHECK2 CA ITEMP1 # SEE THAT DATA HAS BEEN GOOD BEFORE AND
007882,000929: 10,3065 03130 TC DGCHECK +1 # AFTER TAKING SAMPLE.
007883,000930: 10,3066 02772 TC GOODRAD
007884,000931:
007885,000932: 10,3067 22412 SCALCHNG LXCH RADMODES
007886,000933: 10,3070 67763 AD BIT1
007887,000934: 10,3071 00006 EXTEND
007888,000935: 10,3072 06001 RXOR 01
007889,000936: 10,3073 54412 TS RADMODES
007890,000937: 10,3074 32707 CAF DGBITS # UPDATE LAST VALUE OF DATA GOOD BITS.
007891,000938: 10,3075 00006 EXTEND
007892,000939: 10,3076 02033 RAND 33
007893,000940: 10,3077 54426 TS OLDATAGD
Page 192 |
007895,000942: 10,3100 12726 TCF BADRAD
007896,000943:
Page 193 |
007898,000945: # THE FOLLOWING ROUTINE INCORPORATES RR RANGE AND LR ALT SCALE INFORMATION AND LEAVES DATA AT LO SCALE.
007899,000946:
007900,000947: 10,3101 10001 SCALADJ CCS L # L HAS SCALE INBIT FOR THIS RADAR.
007901,000948: 10,3102 13104 TCF +2 # ON HIGH SCALE.
007902,000949: 10,3103 13064 TCF DGCHECK2
007903,000950:
007904,000951: 10,3104 52064 DXCH ITEMP3
007905,000952: 10,3105 20001 DDOUBL
007906,000953: 10,3106 20001 DDOUBL
007907,000954: 10,3107 20001 DDOUBL
007908,000955: 10,3110 52064 DXCH ITEMP3
007909,000956:
007910,000957: 10,3111 37761 CAF BIT3 # SEE IF LR OR RR.
007911,000958: 10,3112 00006 EXTEND
007912,000959: 10,3113 02013 RAND 13
007913,000960: 10,3114 00006 EXTEND # IF RR, NO MORE ACTION REQUIRED.
007914,000961: 10,3115 13064 BZF DGCHECK2
007915,000962:
007916,000963: 10,3116 33156 CAF LRRATIO # IF LR, CONVERT TO LO SCALING.
007917,000964: 10,3117 00006 EXTEND
007918,000965: 10,3120 70064 MP ITEMP4
007919,000966: 10,3121 54064 TS ITEMP4
007920,000967: 10,3122 37767 CAF ZERO # (SO SUBSEQUENT DAS WILL BE OK)
007921,000968: 10,3123 56063 XCH ITEMP3
007922,000969: 10,3124 00006 EXTEND
007923,000970: 10,3125 73156 MP LRRATIO
007924,000971: 10,3126 13063 TCF DASAMPL
007925,000972:
Page 194 |
007927,000974: 10,3127 54061 DGCHECK TS ITEMP1 # UPDATE DATA GOOD BIT IN OLDATAGD AND
007928,000975: 10,3130 00006 EXTEND # MAKE SURE IT WAS ON BEFORE AND AFTER THE
007929,000976: 10,3131 02033 RAND 33 # SAMPLE WAS TAKEN BEFORE RETURNING. IF
007930,000977: 10,3132 54001 TS L # NOT, GOES TO RESAMPLE TO TRY AGAIN. IF
007931,000978: 10,3133 40061 CS ITEMP1 # MAX NUMBER OF TRIES HAS BEEN REACHED,
007932,000979: 10,3134 70426 MASK OLDATAGD # THE BIT CORRESPONDING TO THE DATA GOOD
007933,000980: 10,3135 60001 AD L # WHICH FAILED TO APPEAR IS IN ITEMP1 AND
007934,000981: 10,3136 56426 XCH OLDATAGD # CAN BE USED TO SET RADMODES WHICH VIA
007935,000982: 10,3137 70061 MASK ITEMP1 # SETTRKF SETS THE TRACKER FAIL LAMP.
007936,000983: 10,3140 60001 AD L
007937,000984: 10,3141 10000 CCS A # SHOULD BOTH BE ZERO.
007938,000985: 10,3142 03002 TC RESAMPLE
007939,000986: 10,3143 52064 DXCH ITEMP3 # IF DATA GOOD BEFORE AND AFTER, ADD TO
007940,000987: 10,3144 20415 DAS SAMPLSUM # ACCUMULATION.
007941,000988: 10,3145 00002 TC Q
007942,000989:
007943,000990: 10,3146 40061 DATAFAIL CS ITEMP1 # IN THE ABOVE CASE, SET RADMODES BIT
007944,000991: 10,3147 70412 MASK RADMODES # SHOWING SOME RADAR DATA FAILED.
007945,000992: 10,3150 60061 AD ITEMP1
007946,000993: 10,3151 54412 TS RADMODES
007947,000994:
007948,000995: 10,3152 52064 DXCH ITEMP3 # IF WE HAVE BEEN UNABLE TO GATHER N
007949,000996: 10,3153 52415 DXCH SAMPLSUM # SAMPLES, USE LAST ONE ONLY.
007950,000997:
007951,000998: 10,3154 04377 TC SETTRKF
007952,000999:
007953,001000: 10,3155 12724 TCF NOMORE
007954,001001:
007955,001002: 10,3156 23773 LRRATIO DEC 4.9977 B-3
007956,001003: 10,3157 47777 LVELBIAS DEC -12288 B-14 # LANDING RADAR BIAS FOR 153.6 KC.
007957,001004: 10,3160 00001 01150 RDOTBIAS 2DEC 17000 B-28 # BIAS COUNT FOR RR RANGE RATE
007958,001005:
Page 195 |
007960,001007: # THIS ROUTINE CHANGES THE LR POSITION, AND CHECKS THAT IT GOT THERE.
007961,001008:
007962,001009: 10,3162 00004 LRPOS2 INHINT
007963,001010:
007964,001011: 10,3163 47756 CS BIT6 # DESIRED LR POSITION IS NOW 2.
007965,001012: 10,3164 70412 MASK RADMODES
007966,001013: 10,3165 67756 AD BIT6
007967,001014: 10,3166 54412 TS RADMODES
007968,001015:
007969,001016: 10,3167 37755 CAF BIT7
007970,001017: 10,3170 00006 EXTEND
007971,001018: 10,3171 02033 RAND 33 # SEE IF ALREADY THERE.
007972,001019: 10,3172 00006 EXTEND
007973,001020: 10,3173 13224 BZF RADNOOP
007974,001021:
007975,001022: 10,3174 37747 CAF BIT13
007976,001023: 10,3175 00006 EXTEND
007977,001024: 10,3176 05012 WOR 12 # COMMAND TO POSITION 2
007978,001025:
007979,001026: 10,3177 33241 CAF 6SECS # START SCANNING FOR INBIT AFTER 7 SECS.
007980,001027: 10,3200 05663 TC WAITLIST
007981,001028: 10,3201 E3,1464 EBANK= RRRET
007982,001029: 10,3201 03237 20063 2CADR LRPOSCAN
007983,001030:
007984,001031: 10,3203 02303 TC ROADBACK
007985,001032:
007986,001033: 10,3204 54413 LRPOSNXT TS SAMPLIM
007987,001034: 10,3205 05701 TC FIXDELAY # SCAN ONCE PER SECOND 15 TIMES MAX AFTER
007988,001035: 10,3206 00144 DEC 100 B-14 # INITIAL DELAY OF 7 SECONDS.
007989,001036:
007990,001037: 10,3207 37755 CAF BIT7
007991,001038: 10,3210 00006 EXTEND
007992,001039: 10,3211 02033 RAND 33
007993,001040: 10,3212 00006 EXTEND
007994,001041: 10,3213 13231 BZF LASTLRDT # IF THERE, WAIT FINAL SECOND FOR BOUNCE.
007995,001042:
007996,001043: 10,3214 10413 CCS SAMPLIM # SEE IF MAX TIME UP.
007997,001044: 10,3215 13204 TCF LRPOSNXT
007998,001045:
007999,001046: 10,3216 47747 CS BIT13 # IF TIME UP, DISABLE COMMAND AND ALARM.
008000,001047: 10,3217 00006 EXTEND
008001,001048: 10,3220 03012 WAND 12
008002,001049:
008003,001050: 10,3221 04755 TC ALARM # LR ANTENNA DIDNT MAKE IT.
008004,001051: 10,3222 00523 OCT 523
008005,001052: 10,3223 13256 TCF RDBADEND
008006,001053:
008007,001054: 10,3224 37763 RADNOOP CAF ONE # NO FURTHER ACTION REQUESTED.
008008,001055: 10,3225 05663 TC WAITLIST
008009,001056: 10,3226 E3,1464 EBANK= RRRET
Page 196 |
008011,001058: 10,3226 03251 20063 2CADR RGOODEND
008012,001059:
008013,001060: 10,3230 02303 TC ROADBACK
008014,001061:
008015,001062: 10,3231 05701 LASTLRDT TC FIXDELAY # WAIT ONE SECOND AFTER RECEIPT OF INBIT
008016,001063: 10,3232 00144 DEC 100 B-14 # TO WAIT FOR ANTENNA BOUNCE TO DIE OUT.
008017,001064:
008018,001065: 10,3233 47747 CS BIT13 # REMOVE COMMAND
008019,001066: 10,3234 00006 EXTEND
008020,001067: 10,3235 03012 WAND 12
008021,001068: 10,3236 13251 TCF RGOODEND
008022,001069:
008023,001070: 10,3237 37757 LRPOSCAN CAF BIT5 # SET UP FOR 15 SAMPLES.
008024,001071: 10,3240 13204 TCF LRPOSNXT
008025,001072:
008026,001073: 10,3241 01130 6SECS DEC 600 B-14
008027,001074:
Page 197 |
008029,001076: # SEQUENCES TO TERMINATE RR OPERATIONS.
008030,001077:
008031,001078: 10,3242 37755 ENDRADAR CAF BIT7 # PROLOG TO CHECK RR CDU FAIL BEFORE END.
008032,001079: 10,3243 70412 MASK RADMODES
008033,001080: 10,3244 10000 CCS A
008034,001081: 10,3245 13251 TCF RGOODEND
008035,001082: 10,3246 13256 TCF RDBADEND
008036,001083: 10,3247 47767 -2 CS ZERO # RGOODEND WHEN NOT UNDER WAITLIST CONTROL
008037,001084: 10,3250 55076 TS RUPTAGN
008038,001085:
008039,001086: 10,3251 37762 RGOODEND CAF TWO
008040,001087: 10,3252 05225 TC POSTJUMP
008041,001088: 10,3253 26720 CADR GOODEND
008042,001089:
008043,001090: 10,3254 47767 -2 CS ZERO # RDBADEND WHEN NOT UNDER WAITLIST.
008044,001091: 10,3255 55076 TS RUPTAGN
008045,001092: 10,3256 37762 RDBADEND CAF TWO
008046,001093: 10,3257 05225 TC POSTJUMP
008047,001094: 10,3260 26715 CADR BADEND
008048,001095:
008049,001096: 10,3261 6311 BIN3 EQUALS THREE
008050,001097:
008051,001098:
End of include-file RADAR_LEADIN_ROUTINES.agc. Parent file is MAIN.agc