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. |
015099,000002: ## Copyright: Public domain.
015100,000003: ## Filename: LEM_FLIGHT_CONTROL_SYSTEM_TEST.agc
015101,000004: ## Purpose: A module for revision 0 of BURST120 (Sunburst). It
015102,000005: ## is part of the source code for the Lunar Module's
015103,000006: ## (LM) Apollo Guidance Computer (AGC) for Apollo 5.
015104,000007: ## Assembler: yaYUL
015105,000008: ## Contact: Ron Burkey <info@sandroid.org>.
015106,000009: ## Website: www.ibiblio.org/apollo/index.html
015107,000010: ## Mod history: 2016-09-30 RSB Created draft version.
015108,000011: ## 2016-10-18 RSB Corrected against AURORA 12 version,
015109,000012: ## with which it is seemingly identical other than
015110,000013: ## a handful of comments and EBANK= placements.
015111,000014: ## 2016-12-05 RSB Comment-proofing with octopus/ProoferComments
015112,000015: ## completed, changes made.
015113,000016: ## 2017-06-05 MAS Made comment corrections found during Sunburst 37
015114,000017: ## transcription.
015115,000018: ## 2021-05-30 ABS Added missing EBANK= statement.
015116,000019:
Page 367 |
015118,000021: 06,2736 BANK 6
015119,000022: 06,2736 E4,1407 EBANK= JETSTEP
015120,000023:
015121,000024: # LEM FCS TEST ENTRY AND INITIALIZATION JOB.
015122,000025:
015123,000026: # THIS JOB INITIALIZES THE ERASABLE TABLES FOR THE FCS TEST AND PUTS THE FOLLOWING PROGRAMS UNDER
015124,000027: # WAITLIST CONTROL.
015125,000028: # (1) RCS JET SET TASK
015126,000029: # (2) ENGINE ON - OFF TASK
015127,000030: # (3) DESCENT ENGINE GIMBAL TRIM TASK
015128,000031: # (4) DESCENT ENGINE THROTTLE TASK
015129,000032: # (5) INTERFACE CHANNEL LOOK TASK
015130,000033:
015131,000034:
015132,000035: 06,2736 04644 FCSSTART TC GRABWAIT # SO NOTHING DISRUPTS THE LOAD.
015133,000036: 06,2737 33012 CAF JSTEPADR # THE START OF THE LIST.
015134,000037: 06,2740 10000 FCS3 CCS A
015135,000038: 06,2741 54146 TS MPAC +2
015136,000039: 06,2742 33015 FCS2 CAF V04N01K # DISPLAY PRESENT CONTENTS IN R2.
015137,000040: 06,2743 04657 TC NVSBWAIT
015138,000041: 06,2744 24146 INCR MPAC +2
015139,000042: 06,2745 33013 CAF V21N02K
015140,000043: 06,2746 04657 TC NVSBWAIT # IN CASE IT,S BUSY BUT IT SHOULDN,T BE.
015141,000044: 06,2747 04475 TC ENDIDLE # WHILE LOADING.
015142,000045: 06,2750 02753 TC +3 # V34E. TERMINATE LOAD OF THIS LIST
015143,000046: # SECTION, GO TO NEW SECTION OR TO TEST.
015144,000047: 06,2751 02752 TC +1 # V33E. PRESENT CONTENTS OK, PROCEED TO
015145,000048: # NEXT LOCATION IN LIST.
015146,000049: 06,2752 02742 TC FCS2
015147,000050: 06,2753 33014 CAF V21N30K
015148,000051: 06,2754 04657 TC NVSBWAIT
015149,000052: 06,2755 04475 TC ENDIDLE
015150,000053: 06,2756 05566 TC EJFREE
015151,000054: 06,2757 02762 TC FCSTEST1 # PROCEED TO TEST.
015152,000055: 06,2760 30337 CAE DSPTEM1 # NEW ADDRESS.
015153,000056: 06,2761 02740 TC FCS3
015154,000057: 06,2762 33016 FCSTEST1 CAF V47K
015155,000058: 06,2763 04657 TC NVSBWAIT # OUR VERB IN THE LIGHTS.
015156,000059: 06,2764 00004 FCSTEST INHINT
015157,000060: 06,2765 37762 CAF TWO # 20MS.
015158,000061: 06,2766 05663 TC WAITLIST
015159,000062: 06,2767 E4,1407 EBANK= JETSTEP
015160,000063: 06,2767 03023 14064 2CADR JETSTART
015161,000064:
015162,000065: 06,2771 37763 CAF BIT1 # 10MS.
015163,000066: 06,2772 05663 TC WAITLIST
015164,000067: 06,2773 E4,1407 EBANK= JETSTEP
Page 368 |
015166,000069: 06,2773 03156 14064 2CADR ENGSTART
015167,000070:
015168,000071: 06,2775 36311 CAF THREE # 30MS.
015169,000072: 06,2776 05663 TC WAITLIST
015170,000073: 06,2777 E4,1407 EBANK= JETSTEP
015171,000074: 06,2777 03253 14064 2CADR TRIMTOP
015172,000075:
015173,000076: 06,3001 37761 CAF FOUR # 40MS.
015174,000077: 06,3002 05663 TC WAITLIST
015175,000078: 06,3003 E4,1407 EBANK= JETSTEP
015176,000079: 06,3003 03373 14064 2CADR THRSTART
015177,000080:
015178,000081: 06,3005 37766 CAF FIVE # 50MS.
015179,000082: 06,3006 05663 TC WAITLIST
015180,000083: 06,3007 E4,1407 EBANK= JETSTEP
015181,000084: 06,3007 03461 14064 2CADR LOOKTOP
015182,000085:
015183,000086: 06,3011 05566 TC EJFREE # NOW THEY START.
015184,000087:
015185,000088: 06,3012 02007 JSTEPADR ECADR JETSTEP
015186,000089: 06,3013 02102 V21N02K OCT 02102
015187,000090: 06,3014 02130 V21N30K OCT 02130
015188,000091: 06,3015 00401 V04N01K OCT 00401
015189,000092: 06,3016 04700 V47K OCT 04700
015190,000093:
Page 369 |
015192,000095: # LEM FCS TEST RCS JETSET TASK
015193,000096: # THIS JOB ISSUES A PROFILE OF JET ON-OFF SIGNALS AS DETERMINED BY THE CONSTANTS IN A SET OF SIX REGISTERS.
015194,000097: # THE SIX REGISTERS ARE, (1) NTIMES, THE NUMBER OF TIMES A PARTICULAR STEP WILL BE PERFORMED. (2) NEXTTIME, THE
015195,000098: # TIME BETWEEN STEPS, A MAXIMUM OF 2 MINUTES, (3) JETONTM, THE TIME TO TURN THE JETS ON, SCALED FOR T3, (4) JET-
015196,000099: # OFFTM, THE TIME AFTER ONTM TO TURN THE JETS OFF, (5) XJETS, THE PARTICULAR X JETS TO BE TURNED ON AND OFF
015197,000100: # DURING EACH REPEAT OF A STEP, AND (6) YZJETS,, THE Y AND Z JETS TO BE TURNED ON AND OFF DURING EACH REPEAT OF A
015198,000101: # STEP. XJETS AND YZJETS MUST BE IN THE SAME FORMAT AS CHANNELS 5 AND6 RESPECTIVELY. THERE ARE EIGHT SETS OF
015199,000102: # THESE SIX REGISTERS.
015200,000103: # THE REGISTER JETSTEP IS USED TO INDEX THE 8 SETS OF REGISTERS, THE ALLOWABLE VALUES OF JETSTEP ARE +0 THRU 7
015201,000104: # THIS JOB WILL BE ENTERED BUT IMMEDIATELY ENDED IF THE INITIAL VALUES OF JETSTEP AND NTIMES ARE +0.
015202,000105:
015203,000106:
015204,000107: 06,3017 11407 NEXTSET CCS JETSTEP # IT MAY BE ZERO.
015205,000108: 06,3020 03022 TC +2 # NOPE
015206,000109: 06,3021 05727 TC TASKOVER # IT IS SO WE ARE DONE WITH THIS TASK.
015207,000110: 06,3022 55407 TS JETSTEP
015208,000111:
015209,000112: 06,3023 51407 JETSTART NDX JETSTEP # ENTER HERE.
015210,000113: 06,3024 11410 CCS NTIMES # SEE IF THIS STEP IS FINISHED.
015211,000114: 06,3025 03027 TC +2 # NO
015212,000115: 06,3026 03017 TC NEXTSET # YES
015213,000116: 06,3027 51407 NDX JETSTEP
015214,000117: 06,3030 31420 CAE NEXTTIME # MUST BE SCALED FOR T3. REMEMBER TO BIAS
015215,000118: # THIS FOR ON TIME.
015216,000119: 06,3031 05663 TC WAITLIST
015217,000120: 06,3032 E4,1407 EBANK= JETSTEP
015218,000121: 06,3032 03046 14064 2CADR JTOP
015219,000122:
015220,000123: 06,3034 05727 TC TASKOVER
015221,000124:
015222,000125: 06,3035 37767 JETOFF CAF ZERO
015223,000126: 06,3036 00006 EXTEND
015224,000127: 06,3037 01005 WRITE 5
015225,000128: 06,3040 00006 EXTEND
015226,000129: 06,3041 01006 WRITE 6
015227,000130: 06,3042 51407 NDX JETSTEP
015228,000131: 06,3043 11410 CCS NTIMES
015229,000132: 06,3044 51407 NDX JETSTEP
015230,000133: 06,3045 55410 TS NTIMES # ONE LESS TIME.
015231,000134: 06,3046 51407 JTOP NDX JETSTEP
015232,000135: 06,3047 11410 CCS NTIMES # FOR LOOPING.
015233,000136: 06,3050 03052 TC +2
015234,000137: 06,3051 03017 TC NEXTSET
015235,000138: 06,3052 51407 NDX JETSTEP
015236,000139: 06,3053 31430 CAE JETONTM # SCALED FOR T3. TIME FOR JETS ON.
015237,000140: 06,3054 05663 TC WAITLIST
015238,000141: 06,3055 E4,1407 EBANK= JETSTEP
015239,000142: 06,3055 03060 14064 2CADR JETON
015240,000143:
Page 370 |
015242,000145: 06,3057 05727 TC TASKOVER
015243,000146:
015244,000147: 06,3060 51407 JETON NDX JETSTEP
015245,000148: 06,3061 31440 CAE XJETS # MUST BE IN CHANNEL 5 FORMAT.
015246,000149: 06,3062 55401 TS XJBUF
015247,000150: 06,3063 51407 NDX JETSTEP
015248,000151: 06,3064 31450 CAE YZJETS # MUST BE IN CHANNEL 6 FORMAT.
015249,000152: 06,3065 55402 TS YZJBUF
015250,000153: 06,3066 00006 JFAILCK EXTEND # THIS ROUTINE EXAMINES EACH JETFAIL BIT
015251,000154: 06,3067 00032 READ 32 # AND IF A FAILURE IS INDICATED THE CORRES
015252,000155: 06,3070 40000 COM # PONDING COMMANDS ARE MASKED OUT .
015253,000156: 06,3071 55403 TS JFBUF # SAVE 32 REINVERTED.
015254,000157: 06,3072 37765 CAF SEVEN
015255,000158: 06,3073 55404 JF3 TS FCNTR
015256,000159: 06,3074 31403 CAE JFBUF
015257,000160: 06,3075 51404 NDX FCNTR
015258,000161: 06,3076 77754 MASK BIT8
015259,000162: 06,3077 10000 CCS A
015260,000163: 06,3100 03117 TC JFAIL
015261,000164: 06,3101 11404 JFAIL1 CCS FCNTR
015262,000165: 06,3102 03073 TC JF3
015263,000166: 06,3103 31401 CAE XJBUF
015264,000167: 06,3104 00006 EXTEND
015265,000168: 06,3105 01005 WRITE 5 # XJETS GO ON.
015266,000169: 06,3106 31402 CAE YZJBUF
015267,000170: 06,3107 00006 EXTEND
015268,000171: 06,3110 01006 WRITE 6 # YZJETS GO ON.
015269,000172: 06,3111 51407 NDX JETSTEP
015270,000173: 06,3112 31460 CAE JETOFFTM # JET OFF TIME SCALED FOR T3.
015271,000174: 06,3113 05663 TC WAITLIST
015272,000175: 06,3114 E4,1407 EBANK= JETSTEP
015273,000176: 06,3114 03035 14064 2CADR JETOFF
015274,000177:
015275,000178: 06,3116 05727 TC TASKOVER
015276,000179:
015277,000180: 06,3117 51404 JFAIL NDX FCNTR
015278,000181: 06,3120 43142 CS XJETMASK
015279,000182: 06,3121 71401 MASK XJBUF
015280,000183: 06,3122 55401 TS XJBUF
015281,000184: 06,3123 51404 NDX FCNTR
015282,000185: 06,3124 43132 CS YZJETMSK
015283,000186: 06,3125 71402 MASK YZJBUF
015284,000187: 06,3126 55402 TS YZJBUF
015285,000188: 06,3127 04755 TC ALARM
015286,000189: 06,3130 01410 OCT 01410 # TEMPORARY JET FAIL ALARM CODE.
015287,000190: 06,3131 03101 TC JFAIL1
015288,000191:
Page 371 |
015290,000193: 06,3132 00010 YZJETMSK OCT 00010 # JET 11
015291,000194: 06,3133 00020 OCT 00020 # JET 12
015292,000195: 06,3134 00004 OCT 00004 # JET 15
015293,000196: 06,3135 00200 OCT 00200 # JET 16
015294,000197: 06,3136 00001 OCT 00001 # JET 7
015295,000198: 06,3137 00002 OCT 00002 # JET 3
015296,000199: 06,3140 00040 OCT 00040 # JET 8
015297,000200: 06,3141 00100 OCT 00100 # JET 4
015298,000201:
015299,000202: 06,3142 00040 XJETMASK OCT 00040 # JET 10
015300,000203: 06,3143 00020 OCT 00020 # JET 9
015301,000204: 06,3144 00100 OCT 00100 # JET 13
015302,000205: 06,3145 00200 OCT 00200 # JET 14
015303,000206: 06,3146 00010 OCT 00010 # JET 6
015304,000207: 06,3147 00001 OCT 00001 # JET 1
015305,000208: 06,3150 00004 OCT 00004 # JET 5
015306,000209: 06,3151 00002 OCT 00002 # JET 2
015307,000210:
Page 372 |
015309,000212: # LEM FCS TEST ENGINE ON - OFF TASK
015310,000213: # THIS TASK TURNS THE LEM ASCENT OR DESCENT ENGINE ON AND OFF ACCORDING TOTHE CONSTANTS STORED IN THE FIVE SETS OF
015311,000214: # REGISTERS, (1) CYLTIMES, WHICH CONTAINS THE NUMBER OF TIMES A PARTICULARSTEP WILL BE REPEATED, (2) NEXTCYLT,
015312,000215: # WHICH CONTAINS THE TIME BETWEEN STEPS SCALED FOR T3, (3) ONTIME, WHICH CONTAINS THE TIME TO TURN THE ENGINE ON
015313,000216: # WHICH ALSO DETERMINES THE LENGTH OF TIME THE ENGIME WILL BE OFF WITHIN A SERIES OF ON:OFF CYCLES, (4) OFFTIME,
015314,000217: # WHICH CONTAINS THE NUMBER OF 2 MINUTES BEFORE THE ENGINE WILL BE TURNED OFF, AND (5) OFFTIMER, WHICH
015315,000218: # CONTAINS THE RESIDUAL TIME BEFORE THE ENGINE WILL BE TURNED OFF. OFFTIME AND OFFTIMER DETERMINE THE LENGTH
015316,000219: # OF TIME THE ENGINE WILL BE ON IN ANY ONE CYCLE. THERE ARE THREE SETS OF THESE REGISTERS.
015317,000220: # THE ENGSTEP REGISTER IS USED AS AN INDEX TO PICK UP A PARTICULAR SET OF THE ABOVE 5 REGISTERS. THIS TASK
015318,000221: # WILL BE ENTERED BUT IMMEDIATELY ENDED IF ENGSTEP AND CYLTIMES = +0. THE ALLOWABLE VALUES OF ENGSTEP ARE +0,
015319,000222: # 1 AND 2.
015320,000223:
015321,000224:
015322,000225: 06,3152 11470 NXTONOFF CCS ENGSTEP
015323,000226: 06,3153 03155 TC +2
015324,000227: 06,3154 05727 TC TASKOVER # EXIT HERE WHEN STEP AND CYL ARE +0.
015325,000228: 06,3155 55470 TS ENGSTEP # ONE LESS.
015326,000229:
015327,000230: 06,3156 51470 ENGSTART NDX ENGSTEP # ENTER HERE.
015328,000231: 06,3157 11471 CCS CYLTIMES # NUM OF EACH ON/OFF SET
015329,000232: 06,3160 03162 TC +2
015330,000233: 06,3161 03152 TC NXTONOFF # NO MORE OF THIS SET
015331,000234: 06,3162 51470 NDX ENGSTEP
015332,000235: 06,3163 31474 CAE NEXTCYLT # START OF NEXT CYCLE.
015333,000236: 06,3164 05663 TC WAITLIST
015334,000237: 06,3165 E4,1470 EBANK= ENGSTEP
015335,000238: 06,3165 03206 14064 2CADR ENGONTM
015336,000239:
015337,000240: 06,3167 05727 TC TASKOVER
015338,000241:
015339,000242: 06,3170 45210 ENGRESET CS PRIO30 # BITS 13 AND 14.
015340,000243: 06,3171 00006 EXTEND
015341,000244: 06,3172 02011 RAND 11
015342,000245: 06,3173 67746 AD BIT14
015343,000246: 06,3174 00006 EXTEND
015344,000247: 06,3175 01011 WRITE 11 # ENG ON = 0, ENG OFF = 1.
015345,000248: 06,3176 51470 NDX ENGSTEP
015346,000249: 06,3177 11471 CCS CYLTIMES
015347,000250: 06,3200 10000 CCS A
015348,000251: 06,3201 03203 TC +2
015349,000252: 06,3202 03152 TC NXTONOFF # WAS ONE.
015350,000253: 06,3203 67763 AD ONE # WAS MORE THAN ONE.
015351,000254: 06,3204 51470 NDX ENGSTEP
015352,000255: 06,3205 55471 TS CYLTIMES
015353,000256:
015354,000257: 06,3206 51470 ENGONTM NDX ENGSTEP
015355,000258: 06,3207 31502 CAE OFFTIME
015356,000259: 06,3210 55406 TS OFFTMBUF
015357,000260: 06,3211 51470 NDX ENGSTEP
Page 373 |
015359,000262: 06,3212 31477 CAE ONTIME
015360,000263: 06,3213 05663 TC WAITLIST
015361,000264: 06,3214 E4,1470 EBANK= ENGSTEP
015362,000265: 06,3214 03217 14064 2CADR ENGSET
015363,000266:
015364,000267: 06,3216 05727 TC TASKOVER
015365,000268:
015366,000269: 06,3217 45210 ENGSET CS PRIO30
015367,000270: 06,3220 00006 EXTEND
015368,000271: 06,3221 02011 RAND 11
015369,000272: 06,3222 67747 AD BIT13
015370,000273: 06,3223 00006 EXTEND
015371,000274: 06,3224 01011 WRITE 11 # ENG ON = 1, ENG OFF = 0.
015372,000275: 06,3225 11406 ENGRST CCS OFFTMBUF
015373,000276: 06,3226 03235 TC LTIMEON # AT LEAST 2MIN. BEFORE ENGINE OFF.
015374,000277: 06,3227 51470 NDX ENGSTEP
015375,000278: 06,3230 31505 CAE OFFTIMER # LESS THAN 2MIN. TO ENGINE OFF.
015376,000279: 06,3231 05663 TC WAITLIST
015377,000280: 06,3232 E4,1470 EBANK= ENGSTEP
015378,000281: 06,3232 03170 14064 2CADR ENGRESET
015379,000282:
015380,000283: 06,3234 05727 TC TASKOVER
015381,000284:
015382,000285: 06,3235 11406 LTIMEON CCS OFFTMBUF # IS THERE ANY MORE.
015383,000286: 06,3236 03240 TC +2 # YES.
015384,000287: 06,3237 03225 TC ENGRST # NO.
015385,000288: 06,3240 55406 TS OFFTMBUF # ONE LESS.
015386,000289: 06,3241 33246 CAF 2MIN
015387,000290: 06,3242 05663 TC WAITLIST
015388,000291: 06,3243 E4,1470 EBANK= ENGSTEP
015389,000292: 06,3243 03235 14064 2CADR LTIMEON
015390,000293:
015391,000294: 06,3245 05727 TC TASKOVER
015392,000295:
015393,000296: 06,3246 27340 2MIN DEC 12000 B-14
015394,000297:
Page 374 |
015396,000299: # LEM FCS TEST TRIM TASK
015397,000300: # THIS PROGRAM ISSUES A PROFILE OF PITCH AND ROLL TRIM COMMANDS TO THE LEM DESCENT ENGINE GIMBAL IN ACCORDANCEWITH
015398,000301: # THE VALUE S IN THE TRIMSTEP REGISTER AND THE 12 SETS OF 5 REGISTERS CALLED NUMTIMES, STEPDLYT, TRIMONT, TRIMOFFT
015399,000302: # AND TRIMIND. TRIMSTEP IS USED TO PICK UP A PARTICULAR SET OF THE 5 REGISTERS AND HAS ALLOWABLE VALUES FROM +0
015400,000303: # THROUGH +11 DECIMAL. THE 5 REGISTERS IN EACH SET ARE DEFINED AS FOLLOWS
015401,000304: # (1) NUMTIMES DETERMINES THE NUMBER OF TIMES THE COMMAND IN TRIMIND WILL BE ISSUED. VALUES FROM +0 TO
015402,000305: # OCT 37777 ARE PERMITTED.
015403,000306: # (2) STEPDLYT DETERMINES THE TIME BETWEEN THE START OF A STEP AND THE BEGINNING OF TRIMONT. STEPDLYT MUST BE
015404,000307: # FORMATTED FOR T3, ITS MAXIMUM VALUE IS 2 MINUTES.
015405,000308: # (3) TRIMONT DETERMINES THE TIME BETWEEN THE END OF STEPDLYT OR TRIMOFFT AND THE TIME THE TRIM COMMANDS ARE
015406,000309: # ISSUED. IT MUST BE FORMATTED FOR T3.
015407,000310: # (4) TRIMOFFT DETERMINES THE LENGTH OF TIME THE TRIM COMMAND WILL BE ON, FORMATTED FOR T3.
015408,000311: # (5) TRIMIND DETERMINES THE PITCH AND ROLL COMMAND TO BE ISSUED. THE FORMAT IS, BIT9=1=+ PITCH COMMAND,
015409,000312: # BIT10=1=-PITCH, BIT11=1= +ROLL, BIT12=1= -ROLL. A BIT=0 INDICATES NO COMMAND. ANY COMBINATION OF COMMANDS IS
015410,000313: # PERMITTED.
015411,000314: # THIS TASK WILL BE ENTERED BUT IMMEDIATELY ENDED IF TRIMSTEP AND NUMTIMES = +0.
015412,000315:
015413,000316:
015414,000317: 06,3247 11510 NEXTTRIM CCS TRIMSTEP
015415,000318: 06,3250 03252 TC +2
015416,000319: 06,3251 05727 TC TASKOVER # EXIT HERE.
015417,000320: 06,3252 55510 TS TRIMSTEP # LESS ONE.
015418,000321:
015419,000322: 06,3253 51510 TRIMTOP NDX TRIMSTEP # ENTER HERE.
015420,000323: 06,3254 11511 CCS NUMTIMES
015421,000324: 06,3255 03257 TC +2
015422,000325: 06,3256 03247 TC NEXTTRIM
015423,000326: 06,3257 51510 NDX TRIMSTEP
015424,000327: 06,3260 31525 CAE STEPDLYT
015425,000328: 06,3261 05663 TC WAITLIST
015426,000329: 06,3262 E4,1510 EBANK= TRIMSTEP
015427,000330: 06,3262 03300 14064 2CADR TRIMSET
015428,000331:
015429,000332: 06,3264 05727 TC TASKOVER
015430,000333:
015431,000334: 06,3265 43364 TRIMOFF CS TRIMMASK
015432,000335: 06,3266 00006 EXTEND
015433,000336: 06,3267 03012 WAND 12 # TRIM GOES OFF.
015434,000337: 06,3270 51510 NUMSTEP NDX TRIMSTEP
015435,000338: 06,3271 11511 CCS NUMTIMES
015436,000339: 06,3272 10000 CCS A
015437,000340: 06,3273 03275 TC +2
015438,000341: 06,3274 03247 TC NEXTTRIM # WAS ONE.
015439,000342: 06,3275 67763 AD ONE
015440,000343: 06,3276 51510 NDX TRIMSTEP
015441,000344: 06,3277 55511 TS NUMTIMES
015442,000345: 06,3300 51510 TRIMSET NDX TRIMSTEP
015443,000346: 06,3301 31541 CAE TRIMONT
015444,000347: 06,3302 05663 TC WAITLIST
Page 375 |
015446,000349: 06,3303 E4,1510 EBANK= TRIMSTEP
015447,000350: 06,3303 03306 14064 2CADR TRIMON
015448,000351:
015449,000352: 06,3305 05727 TC TASKOVER
015450,000353:
015451,000354: 06,3306 33363 TRIMON CAF BITS9,10 # CHECK PITCH AND ROLL TRIM FAIL BITS.
015452,000355: 06,3307 00006 EXTEND
015453,000356: 06,3310 06032 RXOR 32
015454,000357: 06,3311 73363 MASK BITS9,10
015455,000358: 06,3312 00006 EXTEND
015456,000359: 06,3313 13321 BZF TRIMON1
015457,000360: 06,3314 35656 CAF PRIO35 # FAIL IS ON. FLASH FAIL CODE (01400) AND
015458,000361: 06,3315 05505 TC NOVAC # IDLE UNTIL SOMEONE RESETS IT, TERMINATES
015459,000362: 06,3316 E4,1407 EBANK= JETSTEP
015460,000363: 06,3316 03334 14064 2CADR PERFORM # THE TASK, OR DECIDES TO PROCEED WITH IT.
015461,000364:
015462,000365: 06,3320 05727 TC TASKOVER
015463,000366:
015464,000367: 06,3321 51510 TRIMON1 NDX TRIMSTEP
015465,000368: 06,3322 31571 CAE TRIMIND
015466,000369: 06,3323 73364 MASK TRIMMASK # SAFETY PLAY
015467,000370: 06,3324 00006 EXTEND
015468,000371: 06,3325 05012 WOR 12 # TRIM STARTS.
015469,000372: 06,3326 51510 NDX TRIMSTEP
015470,000373: 06,3327 31555 CAE TRIMOFFT
015471,000374: 06,3330 05663 TC WAITLIST
015472,000375: 06,3331 E4,1510 EBANK= TRIMSTEP
015473,000376: 06,3331 03265 14064 2CADR TRIMOFF
015474,000377:
015475,000378: 06,3333 05727 TC TASKOVER
015476,000379:
015477,000380: 06,3334 04644 PERFORM TC GRABWAIT # KEY RELEASE MAY COME ON.
015478,000381: 06,3335 33363 CAF TRIMCODE # 01400
015479,000382: 06,3336 54337 TS DSPTEM1
015480,000383: 06,3337 33365 CAF V01N25K
015481,000384: 06,3340 04657 TC NVSBWAIT
015482,000385: 06,3341 33366 CAF V50K # PLEASE PERFORM.
015483,000386: 06,3342 04657 TC NVSBWAIT
015484,000387: 06,3343 04622 TC FLASHON # ANY RESPONSE TURNS IT OFF.
015485,000388: 06,3344 04475 TC ENDIDLE # WAIT FOR SOMEONE TO DO SOMETHING.
015486,000389: 06,3345 05566 TC EJFREE # V34E. TERMINATE THE TASK.
015487,000390: 06,3346 03355 TC TR1 # V33E. PROCEED WITH THE FAIL ON.
015488,000391: 06,3347 00004 INHINT # ENTER. THE FAIL HAS BEEN RESET.
015489,000392: 06,3350 37762 CAF BIT2 # 20MS.
015490,000393: 06,3351 05663 TC WAITLIST
015491,000394: 06,3352 E4,1407 EBANK= JETSTEP
015492,000395: 06,3352 03306 14064 2CADR TRIMON # CHECK AGAIN TO BE SURE. THEN PROCEED..
015493,000396:
015494,000397: 06,3354 05566 TC EJFREE
015495,000398:
Page 376 |
015497,000400: 06,3355 00004 TR1 INHINT # PROCEED WITH THE FAIL.
015498,000401: 06,3356 37762 CAF BIT2 # 20MS.
015499,000402: 06,3357 05663 TC WAITLIST
015500,000403: 06,3360 E4,1407 EBANK= JETSTEP
015501,000404: 06,3360 03321 14064 2CADR TRIMON1 # BYPASS THE RECHECK.
015502,000405:
015503,000406: 06,3362 05566 TC EJFREE
015504,000407:
015505,000408: 06,3363 01400 BITS9,10 OCT 01400
015506,000409: 06,3364 06,3363 TRIMCODE EQUALS BITS9,10
015507,000410: 06,3364 07400 TRIMMASK OCT 07400
015508,000411: 06,3365 00125 V01N25K OCT 00125
015509,000412: 06,3366 05000 V50K OCT 05000
015510,000413:
Page 377 |
015512,000415: # LEM FCS TEST THROTTLE TASK
015513,000416: # THIS PROGRAM ISSUES A PROFILE OF THROTTLE COMMANDS TO THE LEM DESCENT ENGINE. THE PROFILE IS DETERMINED BY
015514,000417: # THE VALUES IN THE THRTSTEP REGISTER AND THE 6 SETS OF REGISTERS, 5 PER SET, CALLED DOTIMES, DELAY, THR1TIME,
015515,000418: # THCOMM1 AND THCOMM2. THE THRTSTEP REGISTER VALUE IS USED TO INDEX THE 6 SETS OF 5 REGISTERS AND HAS ALLOWABLE
015516,000419: # VALUES OF +0 THROUGH +5. THE 5 REGISTERS PER SET ARE DEFINED AS FOLLOWS
015517,000420: # (1) DOTIMES DETERMINES THE NUMBER OF TIMES THE THROTTLE WILL BE EXERCISED AS PER THE VALUES OF THR1TIME,
015518,000421: # THCOMM1 AND THCOMM2 OF THE CURRENT STEP. IT HAS ALLOWABLE VALUES OF +0 THROUGH 37777 OCT.
015519,000422: # (2) DELAY DETERMINES THE TIME BETWEEN THE START OF A STEP AND THE BE GINNING OF THR1TIME. ITIS CALLED ONLY
015520,000423: # ONCE PER STEP,I.E., REPEATS OF THE SAME THCOMM1 AND THCOMM2 START AT THR1TIME. DELAY MUST BE FORMATTED FOR T3
015521,000424: # AND HENCE HAS A MAXIMUM VALUE OF 2 MINUTES.
015522,000425: # (3) THR1TIME DETERMINES THE TIME BETWEEN THE END OF DELAY OR THE END OF THCOMM2 AND THE START OF
015523,000426: # THCOMM1. IT MUST BE FORMATTED FOR T3.
015524,000427: # (4) THCOMM1 AND (5) THCOMM2 DETERMINE THE NUMBER OF THRUST INCREASE OR DECREASE PULSES TOBE ISSUED AT A
015525,000428: # 3.2KPPS RATE. THE RANGE OF POSSIBLE VALUES OF EITHER IS FROM POSMAX (OCT 37777) TO NEGMAX (OCT 40000) ALTHOUGH
015526,000429: # THE ACTUAL THROTTLE RANGE IS FROM OCT 6116 TO OCT 71661 (+,- 3150 DEC).
015527,000430: # THIS TASK WILL BE ENTERED BUT IMMEDIATELY ENDED IF THE INITIAL VALUES OF THRTSTEP AND DOTIMES ARE +0.
015528,000431:
015529,000432:
015530,000433: 06,3367 11605 NEXTTHRT CCS THRTSTEP
015531,000434: 06,3370 03372 TC +2
015532,000435: 06,3371 05727 TC TASKOVER # EXIT HERE.
015533,000436: 06,3372 55605 TS THRTSTEP
015534,000437:
015535,000438: 06,3373 51605 THRSTART NDX THRTSTEP # ENTER HERE.
015536,000439: 06,3374 11606 CCS DOTIMES # NUMBER OF TIMES COMMANDS 1 AND 2 DONE.
015537,000440: 06,3375 03377 TC +2
015538,000441: 06,3376 03367 TC NEXTTHRT
015539,000442: 06,3377 51605 NDX THRTSTEP
015540,000443: 06,3400 31614 CAE DELAY # TIME BETWEEN STEPS. BIAS FOR THR1TIME.
015541,000444: # MUST BE SCALED FOR T3.
015542,000445: 06,3401 05663 TC WAITLIST
015543,000446: 06,3402 E4,1605 EBANK= THRTSTEP
015544,000447: 06,3402 03425 14064 2CADR THROTON1
015545,000448:
015546,000449: 06,3404 05727 TC TASKOVER
015547,000450:
015548,000451: 06,3405 51605 THR2COMM NDX THRTSTEP
015549,000452: 06,3406 31636 CAE THCOMM2 # SAME REMARKS AS FOR THCOMM1.
015550,000453: 06,3407 03443 TC THROTON
015551,000454: 06,3410 67763 AD BIT1 # 10MS IN CASE OF NO THCOMM2.
015552,000455: 06,3411 05663 TC WAITLIST
015553,000456: 06,3412 E4,1605 EBANK= THRTSTEP
015554,000457: 06,3412 03415 14064 2CADR CKDOTIME
015555,000458:
015556,000459: 06,3414 05727 TC TASKOVER
015557,000460:
015558,000461: 06,3415 51605 CKDOTIME NDX THRTSTEP
015559,000462: 06,3416 11606 CCS DOTIMES
015560,000463: 06,3417 10000 CCS A
Page 378 |
015562,000465: 06,3420 03422 TC +2
015563,000466: 06,3421 03367 TC NEXTTHRT # WAS ONE.
015564,000467: 06,3422 67763 AD ONE
015565,000468: 06,3423 51605 NDX THRTSTEP
015566,000469: 06,3424 55606 TS DOTIMES
015567,000470: 06,3425 51605 THROTON1 NDX THRTSTEP
015568,000471: 06,3426 31622 CAE THR1TIME # TIME BETWEEN DOTIMES. SCALED FOR T3.
015569,000472: 06,3427 05663 TC WAITLIST
015570,000473: 06,3430 E4,1605 EBANK= THRTSTEP
015571,000474: 06,3430 03433 14064 2CADR THR1COMM
015572,000475:
015573,000476: 06,3432 05727 TC TASKOVER
015574,000477:
015575,000478: 06,3433 51605 THR1COMM NDX THRTSTEP
015576,000479: 06,3434 31630 CAE THCOMM1 # SHOULD BE NO LARGER THAN 3150DEC.
015577,000480: 06,3435 03443 TC THROTON
015578,000481: 06,3436 63460 AD 250MS # SO ACE CAN SAMPLE.
015579,000482: 06,3437 05663 TC WAITLIST
015580,000483: 06,3440 E4,1605 EBANK= THRTSTEP
015581,000484: 06,3440 03405 14064 2CADR THR2COMM
015582,000485:
015583,000486: 06,3442 05727 TC TASKOVER
015584,000487:
015585,000488: 06,3443 54055 THROTON TS THRUST # THROTTLE OUTPUT COUNTER.
015586,000489: 06,3444 55405 TS THBUF # SAVE FOR BZMF.
015587,000490: 06,3445 37760 CAF BIT4
015588,000491: 06,3446 00006 EXTEND
015589,000492: 06,3447 05014 WOR 14 # ENABLE THRUST DRIVE. COMMAND STARTS NOW
015590,000493: 06,3450 31405 CAE THBUF
015591,000494: 06,3451 00006 EXTEND
015592,000495: 06,3452 63454 BZMF +2
015593,000496: 06,3453 40000 COM
015594,000497: 06,3454 40000 COM
015595,000498: 06,3455 00006 EXTEND
015596,000499: 06,3456 77752 MP BIT10 # SCALES FOR T3.
015597,000500: 06,3457 00002 TC Q
015598,000501:
015599,000502: 06,3460 00031 250MS OCT 00031
015600,000503:
Page 379 |
015602,000505: # LEM FCS TEST INTERFACE LOOK TASK.
015603,000506:
015604,000507: # THIS PROGRAM KEEPS A RUNNING HISTORY OF THE STATE OF ALL THE BITS IN INPUT CHANNELS 30, 31, 32 AND 33.
015605,000508: # IT DOES THIS BY DETECTING A CHANGE OF AN INPUT BIT FROM AN INITIAL ONE STATE TO A ZERO STATE OR FROM AN INITIAL
015606,000509: # ZERO TO A ONE. THE HISTORY IS MAINTAINED IN TWO BUFFER REGISTERS FOR EACH CHANNEL, ONE FOR STORING ONE TO ZERO
015607,000510: # CHANGES (30BUF1, +1, +2, AND +3) AND ONE FOR ZERO TO ONE CHANGES (30BUF0, +1 +2 AND +3). THE OPERATOR MUST
015608,000511: # LOAD THE INITIAL STATES OF THE INPUT CHANNELS INTO THEIR RESPECTIVE BUFFER REGISTERS BEFORE THIS PROGRAM IS IN-
015609,000512: # ITIATED.
015610,000513: # TO ALLOW THIS PROGRAM TO RUN C(QUITLOOK) MUST BE SET GREATER THAN +0 BEFORE IT IS STARTED. IF THE OPERATOR
015611,000514: # DOES NOT DESIRE THIS PROGRAM TO RUN HE SHOULD SET C(QUITLOOK)=+0 BEFORE STARTING THE FCS TEST. AFTER THIS TASK
015612,000515: # IS RUNNING THE OPERATOR CAN STOP IT BY SETTING C(QUITLOOK) = +0.
015613,000516: # NO DISPLAYS OF EITHER THE BUFFER REGISTERS OR CHANNELS ARE INCORPORATED INTO THIS PROGRAM. THIS WAS DONE TO
015614,000517: # ALLOW THE TEST OPERATOR MONITORING FLEXIBILITY. FOR REAL TIME MONITORING IT IS SUGGESTED THAT THE BUFFER
015615,000518: # REGISTERS BE DISPLAYED WITH THE MONITOR VERBS (11 THROUGH 15). ON THE OTHER HAND, THE OPERATOR MAY ELECT TO
015616,000519: # PERFORM NO REAL TIME MONITORING UNTIL THE TEST IS COMPLETED, WHEN THE BUFFER REGISTERS WOULD BE CALLED FOR
015617,000520: # DISPLAY (VERB 01) AND RECORDED.
015618,000521: # THIS PROGRAM IS PRIMARILY INTENDED FOR INTERFACE MONITORING DURING THE LEM VIBRATION TEST AT BETHPAGE, N.Y.,
015619,000522: # ALTHOUGH IT MAY ALSO BE USEFUL DURING VEHICAL LEVEL EMI TESTS.
015620,000523:
015621,000524: 06,3461 11654 LOOKTOP CCS QUITLOOK # IS THIS TASK WANTED.
015622,000525: 06,3462 03464 TC +2 # YES.
015623,000526: 06,3463 05727 TC TASKOVER # NO.
015624,000527: 06,3464 36311 CAF THREE # START SCAN OF CHANNELS.
015625,000528: 06,3465 55655 LOOKLOOP TS CHCNTR # 3, 2, 1, 0.
015626,000529: 06,3466 51655 NDX CHCNTR
015627,000530: 06,3467 31644 CAE 30BUF1
015628,000531: 06,3470 00006 EXTEND
015629,000532: 06,3471 51655 NDX CHCNTR
015630,000533: 06,3472 02030 RAND 30 # DETECTS CHANGES FROM 1 TO 0.
015631,000534: 06,3473 51655 NDX CHCNTR
015632,000535: 06,3474 57644 XCH 30BUF1 # STORE NEW ZEROS.
015633,000536: 06,3475 51655 NDX CHCNTR
015634,000537: 06,3476 31650 CAE 30BUF0
015635,000538: 06,3477 00006 EXTEND
015636,000539: 06,3500 51655 NDX CHCNTR
015637,000540: 06,3501 04030 ROR 30 # DETECTS CHANGES FROM 0 TO 1.
015638,000541: 06,3502 51655 NDX CHCNTR
015639,000542: 06,3503 57650 XCH 30BUF0 # STORE NEW ONES.
015640,000543: 06,3504 11655 CCS CHCNTR # IS THIS SCAN DONE.
015641,000544: 06,3505 03465 TC LOOKLOOP # NO.
015642,000545: 06,3506 34570 CAF TEN # YES. 100MS RECALL.
015643,000546: 06,3507 05663 TC WAITLIST
015644,000547: 06,3510 E4,1654 EBANK= QUITLOOK
015645,000548: 06,3510 03461 14064 2CADR LOOKTOP
015646,000549:
015647,000550: 06,3512 05727 TC TASKOVER
015648,000551:
End of include-file LEM_FLIGHT_CONTROL_SYSTEM_TEST.agc. Parent file is MAIN.agc