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