Source Code
![]() |
These source-code files were transcribed from a printout in Don Eyles's personal
collection, scanned by archive.org, and financially sponsored by Peter McDermott.
A team of volunteers performed the transcription and proof-reading. The scanned
page images are available at
the Virtual AGC Project website, as well as higher-quality (but much larger)
images at
the Virtual AGC Project's collection in the Internet Archive. Report any problems by creating
"issues" at
the Virtual AGC Project's GitHub Repository. Notations on the program listing read, in part: YUL SYSTEM FOR AGC: NEW PROGRAM SHEPATIN BY EYLES DEC 13, 1966 THIS PROGRAM WAS ASSEMBLED AS A VERSION OF REVISION 37 OF PROGRAM SUNBURST BY LEM GROUPNote that the date is the date of the printout, not the date of the program revision. |
014850,000002: ## Copyright: Public domain.
014851,000003: ## Filename: LEM_FLIGHT_CONTROL_SYSTEM_TEST.agc
014852,000004: ## Purpose: A section of Sunburst revision 37, or Shepatin revision 0.
014853,000005: ## It is part of an early development version of the software
014854,000006: ## for Apollo Guidance Computer (AGC) on the unmanned Lunar
014855,000007: ## Module (LM) flight Apollo 5. Sunburst 37 was the program
014856,000008: ## upon which Don Eyles's offline development program Shepatin
014857,000009: ## was based; the listing herein transcribed was actually for
014858,000010: ## the equivalent revision 0 of Shepatin.
014859,000011: ## This file is intended to be a faithful transcription, except
014860,000012: ## that the code format has been changed to conform to the
014861,000013: ## requirements of the yaYUL assembler rather than the
014862,000014: ## original YUL assembler.
014863,000015: ## Reference: pp. 348-360
014864,000016: ## Assembler: yaYUL
014865,000017: ## Contact: Ron Burkey <info@sandroid.org>.
014866,000018: ## Website: www.ibiblio.org/apollo/index.html
014867,000019: ## Mod history: 2017-05-24 MAS Created from Sunburst 120.
014868,000020: ## 2017-06-05 MAS Transcribed.
014869,000021: ## 2017-06-22 RSB Proofed comment text with
014870,000022: ## octopus/ProoferComments.
014871,000023:
![]() |
Page 348 |
014873,000025: 06,2467 BANK 6
014874,000026: 06,2467 E4,1407 EBANK= JETSTEP
014875,000027:
014876,000028:
014877,000029:
014878,000030: # LEM FCS TEST ENTRY AND INITIALIZATION JOB.
014879,000031:
014880,000032: # THIS JOB INITIALIZES THE ERASABLE TABLES FOR THE FCS TEST AND PUTS THE FOLLOWING PROGRAMS UNDER
014881,000033: # WAITLIST CONTROL.
014882,000034: # (1) RCS JET SET TASK
014883,000035: # (2) ENGINE ON - OFF TASK
014884,000036: # (3) DESCENT ENGINE GIMBAL TRIM TASK
014885,000037: # (4) DESCENT ENGINE THROTTLE TASK
014886,000038: # (5) INTERFACE CHANNEL LOOK TASK
014887,000039:
014888,000040:
014889,000041:
014890,000042: 06,2467 04633 FCSSTART TC GRABWAIT # SO NOTHING DISRUPTS THE LOAD.
014891,000043: 06,2470 32543 CAF JSTEPADR # THE START OF THE LIST.
014892,000044: 06,2471 10000 FCS3 CCS A
014893,000045: 06,2472 54146 TS MPAC +2
014894,000046: 06,2473 32546 FCS2 CAF V04N01K # DISPLAY PRESENT CONTENTS IN R2.
014895,000047: 06,2474 04646 TC NVSBWAIT
014896,000048: 06,2475 24146 INCR MPAC +2
014897,000049: 06,2476 32544 CAF V21N02K
014898,000050:
014899,000051: 06,2477 04646 TC NVSBWAIT # IN CASE IT,S BUSY BUT IT SHOULDN,T BE.
014900,000052: 06,2500 04464 TC ENDIDLE # WHILE LOADING.
014901,000053: 06,2501 02504 TC +3 # V34E. TERMINATE LOAD OF THIS LIST
014902,000054: # SECTION, GO TO NEW SECTION OR TO TEST.
014903,000055: 06,2502 02503 TC +1 # V33E. PRESENT CONTENTS OK, PROCEED TO
014904,000056: # NEXT LOCATION IN LIST.
014905,000057: 06,2503 02473 TC FCS2
014906,000058: 06,2504 32545 CAF V21N30K
014907,000059: 06,2505 04646 TC NVSBWAIT
014908,000060: 06,2506 04464 TC ENDIDLE
014909,000061: 06,2507 05604 TC EJFREE
014910,000062: 06,2510 02513 TC FCSTEST1 # PROCEED TO TEST.
014911,000063: 06,2511 30337 CAE DSPTEM1 # NEW ADDRESS.
014912,000064: 06,2512 02471 TC FCS3
014913,000065: 06,2513 32547 FCSTEST1 CAF V47K
014914,000066: 06,2514 04646 TC NVSBWAIT # OUR VERB IN THE LIGHTS.
014915,000067: 06,2515 00004 FCSTEST INHINT
014916,000068: 06,2516 37754 CAF TWO # 20MS.
014917,000069: 06,2517 05701 TC WAITLIST
014918,000070: 06,2520 E4,1407 EBANK= JETSTEP
014919,000071: 06,2520 02554 14004 2CADR JETSTART
014920,000072:
014921,000073: 06,2522 37755 CAF BIT1 # 10MS.
014922,000074:
014923,000075: 06,2523 05701 TC WAITLIST
014924,000076: 06,2524 E4,1407 EBANK= JETSTEP
![]() |
Page 349 |
014926,000078: 06,2524 02707 14004 2CADR ENGSTART
014927,000079:
014928,000080: 06,2526 36301 CAF THREE # 30MS.
014929,000081: 06,2527 05701 TC WAITLIST
014930,000082: 06,2530 E4,1407 EBANK= JETSTEP
014931,000083: 06,2530 03004 14004 2CADR TRIMTOP
014932,000084:
014933,000085: 06,2532 37753 CAF FOUR # 40MS.
014934,000086:
014935,000087: 06,2533 05701 TC WAITLIST
014936,000088: 06,2534 E4,1407 EBANK= JETSTEP
014937,000089: 06,2534 03124 14004 2CADR THRSTART
014938,000090:
014939,000091: 06,2536 37760 CAF FIVE # 50MS.
014940,000092: 06,2537 05701 TC WAITLIST
014941,000093: 06,2540 E4,1407 EBANK= JETSTEP
014942,000094: 06,2540 03212 14004 2CADR LOOKTOP
014943,000095:
014944,000096: 06,2542 05604 TC EJFREE # NOW THEY START.
014945,000097:
014946,000098: 06,2543 02007 JSTEPADR ECADR JETSTEP
014947,000099: 06,2544 02102 V21N02K OCT 02102
014948,000100: 06,2545 02130 V21N30K OCT 02130
014949,000101: 06,2546 00401 V04N01K OCT 00401
014950,000102: 06,2547 04700 V47K OCT 04700
014951,000103:
![]() |
Page 350 |
014953,000105: # LEM FCS TEST RCS JETSET TASK
014954,000106: # THIS JOB ISSUES A PROFILE OF JET ON-OFF SIGNALS AS DETERMINED BY THE CONSTANTS IN A SET OF SIX REGISTERS.
014955,000107: # THE SIX REGISTERS ARE, (1) NTIMES, THE NUMBER OF TIMES A PARTICULAR STEP WILL BE PERFORMED. (2) NEXTTIME, THE
014956,000108: # TIME BETWEEN STEPS, A MAXIMUM OF 2 MINUTES, (3) JETONTM, THE TIME TO TURN THE JETS ON, SCALED FOR T3, (4) JET-
014957,000109: # OFFTM, THE TIME AFTER ONTM TO TURN THE JETS OFF, (5) XJETS, THE PARTICULAR X JETS TO BE TURNED ON AND OFF
014958,000110: # 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
014959,000111: # STEP. XJETS AND YZJETS MUST BE IN THE SAME FORMAT AS CHANNELS 5 AND6 RESPECTIVELY. THERE ARE EIGHT SETS OF
014960,000112: # THESE SIX REGISTERS.
014961,000113: # THE REGISTER JETSTEP IS USED TO INDEX THE 8 SETS OF REGISTERS, THE ALLOWABLE VALUES OF JETSTEP ARE +0 THRU 7
014962,000114: # THIS JOB WILL BE ENTERED BUT IMMEDIATELY ENDED IF THE INITIAL VALUES OF JETSTEP AND NTIMES ARE +0.
014963,000115:
014964,000116:
014965,000117:
014966,000118: 06,2550 11407 NEXTSET CCS JETSTEP # IT MAY BE ZERO.
014967,000119:
014968,000120: 06,2551 02553 TC +2 # NOPE
014969,000121: 06,2552 05745 TC TASKOVER # IT IS SO WE ARE DONE WITH THIS TASK.
014970,000122: 06,2553 55407 TS JETSTEP
014971,000123:
014972,000124: 06,2554 51407 JETSTART NDX JETSTEP # ENTER HERE.
014973,000125: 06,2555 11410 CCS NTIMES # SEE IF THIS STEP IS FINISHED.
014974,000126: 06,2556 02560 TC +2 # NO
014975,000127: 06,2557 02550 TC NEXTSET # YES
014976,000128: 06,2560 51407 NDX JETSTEP
014977,000129: 06,2561 31420 CAE NEXTTIME # MUST BE SCALED FOR T3. REMEMBER TO BIAS
014978,000130: # THIS FOR ON TIME.
014979,000131: 06,2562 05701 TC WAITLIST
014980,000132: 06,2563 E4,1407 EBANK= JETSTEP
014981,000133: 06,2563 02577 14004 2CADR JTOP
014982,000134:
014983,000135: 06,2565 05745 TC TASKOVER
014984,000136:
014985,000137: 06,2566 37761 JETOFF CAF ZERO
014986,000138: 06,2567 00006 EXTEND
014987,000139: 06,2570 01005 WRITE 5
014988,000140: 06,2571 00006 EXTEND
014989,000141: 06,2572 01006 WRITE 6
014990,000142: 06,2573 51407 NDX JETSTEP
014991,000143:
014992,000144: 06,2574 11410 CCS NTIMES
014993,000145: 06,2575 51407 NDX JETSTEP
014994,000146: 06,2576 55410 TS NTIMES # ONE LESS TIME.
014995,000147: 06,2577 51407 JTOP NDX JETSTEP
014996,000148: 06,2600 11410 CCS NTIMES # FOR LOOPING.
014997,000149: 06,2601 02603 TC +2
014998,000150: 06,2602 02550 TC NEXTSET
014999,000151: 06,2603 51407 NDX JETSTEP
015000,000152: 06,2604 31430 CAE JETONTM # SCALED FOR T3. TIME FOR JETS ON.
015001,000153: 06,2605 05701 TC WAITLIST
015002,000154: 06,2606 E4,1407 EBANK= JETSTEP
015003,000155: 06,2606 02611 14004 2CADR JETON
015004,000156:
![]() |
Page 351 |
015006,000158: 06,2610 05745 TC TASKOVER
015007,000159:
015008,000160: 06,2611 51407 JETON NDX JETSTEP
015009,000161: 06,2612 31440 CAE XJETS # MUST BE IN CHANNEL 5 FORMAT.
015010,000162: 06,2613 55401 TS XJBUF
015011,000163: 06,2614 51407 NDX JETSTEP
015012,000164: 06,2615 31450 CAE YZJETS # MUST BE IN CHANNEL 6 FORMAT.
015013,000165: 06,2616 55402 TS YZJBUF
015014,000166: 06,2617 00006 JFAILCK EXTEND # THIS ROUTINE EXAMINES EACH JETFAIL BIT
015015,000167: 06,2620 00032 READ 32 # AND IF A FAILURE IS INDICATED THE CORRES
015016,000168: 06,2621 40000 COM # PONDING COMMANDS ARE MASKED OUT .
015017,000169: 06,2622 55403 TS JFBUF # SAVE 32 REINVERTED.
015018,000170: 06,2623 37757 CAF SEVEN
015019,000171: 06,2624 55404 JF3 TS FCNTR
015020,000172: 06,2625 31403 CAE JFBUF
015021,000173: 06,2626 51404 NDX FCNTR
015022,000174: 06,2627 77746 MASK BIT8
015023,000175: 06,2630 10000 CCS A
015024,000176: 06,2631 02650 TC JFAIL
015025,000177:
015026,000178: 06,2632 11404 JFAIL1 CCS FCNTR
015027,000179: 06,2633 02624 TC JF3
015028,000180: 06,2634 31401 CAE XJBUF
015029,000181: 06,2635 00006 EXTEND
015030,000182: 06,2636 01005 WRITE 5 # XJETS GO ON.
015031,000183: 06,2637 31402 CAE YZJBUF
015032,000184: 06,2640 00006 EXTEND
015033,000185: 06,2641 01006 WRITE 6 # YZJETS GO ON.
015034,000186: 06,2642 51407 NDX JETSTEP
015035,000187: 06,2643 31460 CAE JETOFFTM # JET OFF TIME SCALED FOR T3.
015036,000188: 06,2644 05701 TC WAITLIST
015037,000189: 06,2645 E4,1407 EBANK= JETSTEP
015038,000190: 06,2645 02566 14004 2CADR JETOFF
015039,000191:
015040,000192: 06,2647 05745 TC TASKOVER
015041,000193:
015042,000194: 06,2650 51404 JFAIL NDX FCNTR
015043,000195: 06,2651 42673 CS XJETMASK
015044,000196: 06,2652 71401 MASK XJBUF
015045,000197: 06,2653 55401 TS XJBUF
015046,000198: 06,2654 51404 NDX FCNTR
015047,000199: 06,2655 42663 CS YZJETMSK
015048,000200: 06,2656 71402 MASK YZJBUF
015049,000201:
015050,000202: 06,2657 55402 TS YZJBUF
015051,000203: 06,2660 04744 TC ALARM
015052,000204: 06,2661 01410 OCT 01410 # TEMPORARY JET FAIL ALARM CODE.
015053,000205: 06,2662 02632 TC JFAIL1
015054,000206:
![]() |
Page 352 |
015056,000208: 06,2663 00010 YZJETMSK OCT 00010 # JET 11
015057,000209: 06,2664 00020 OCT 00020 # JET 12
015058,000210:
015059,000211: 06,2665 00004 OCT 00004 # JET 15
015060,000212: 06,2666 00200 OCT 00200 # JET 16
015061,000213: 06,2667 00001 OCT 00001 # JET 7
015062,000214: 06,2670 00002 OCT 00002 # JET 3
015063,000215: 06,2671 00040 OCT 00040 # JET 8
015064,000216: 06,2672 00100 OCT 00100 # JET 4
015065,000217:
015066,000218: 06,2673 00040 XJETMASK OCT 00040 # JET 10
015067,000219: 06,2674 00020 OCT 00020 # JET 9
015068,000220: 06,2675 00100 OCT 00100 # JET 13
015069,000221: 06,2676 00200 OCT 00200 # JET 14
015070,000222: 06,2677 00010 OCT 00010 # JET 6
015071,000223: 06,2700 00001 OCT 00001 # JET 1
015072,000224: 06,2701 00004 OCT 00004 # JET 5
015073,000225: 06,2702 00002 OCT 00002 # JET 2
015074,000226:
![]() |
Page 353 |
015076,000228: # LEM FCS TEST ENGINE ON - OFF TASK
015077,000229: # THIS TASK TURNS THE LEM ASCENT OR DESCENT ENGINE ON AND OFF ACCORDING TOTHE CONSTANTS STORED IN THE FIVE SETS OF
015078,000230: # REGISTERS, (1) CYLTIMES, WHICH CONTAINS THE NUMBER OF TIMES A PARTICULARSTEP WILL BE REPEATED, (2) NEXTCYLT,
015079,000231: # WHICH CONTAINS THE TIME BETWEEN STEPS SCALED FOR T3, (3) ONTIME, WHICH CONTAINS THE TIME TO TURN THE ENGINE ON
015080,000232: # WHICH ALSO DETERMINES THE LENGTH OF TIME THE ENGIME WILL BE OFF WITHIN A SERIES OF ON:OFF CYCLES, (4) OFFTIME,
015081,000233: # WHICH CONTAINS THE NUMBER OF 2 MINUTES BEFORE THE ENGINE WILL BE TURNED OFF, AND (5) OFFTIMER, WHICH
015082,000234: # CONTAINS THE RESIDUAL TIME BEFORE THE ENGINE WILL BE TURNED OFF. OFFTIME AND OFFTIMER DETERMINE THE LENGTH
015083,000235: # OF TIME THE ENGINE WILL BE ON IN ANY ONE CYCLE. THERE ARE THREE SETS OF THESE REGISTERS.
015084,000236:
015085,000237: # THE ENGSTEP REGISTER IS USED AS AN INDEX TO PICK UP A PARTICULAR SET OF THE ABOVE 5 REGISTERS. THIS TASK
015086,000238: # WILL BE ENTERED BUT IMMEDIATELY ENDED IF ENGSTEP AND CYLTIMES = +0. THE ALLOWABLE VALUES OF ENGSTEP ARE +0,
015087,000239: # 1 AND 2.
015088,000240:
015089,000241:
015090,000242:
015091,000243: 06,2703 11470 NXTONOFF CCS ENGSTEP
015092,000244: 06,2704 02706 TC +2
015093,000245: 06,2705 05745 TC TASKOVER # EXIT HERE WHEN STEP AND CYL ARE +0.
015094,000246: 06,2706 55470 TS ENGSTEP # ONE LESS.
015095,000247:
015096,000248: 06,2707 51470 ENGSTART NDX ENGSTEP # ENTER HERE.
015097,000249: 06,2710 11471 CCS CYLTIMES # NUM OF EACH ON/OFF SET
015098,000250: 06,2711 02713 TC +2
015099,000251: 06,2712 02703 TC NXTONOFF # NO MORE OF THIS SET
015100,000252: 06,2713 51470 NDX ENGSTEP
015101,000253: 06,2714 31474 CAE NEXTCYLT # START OF NEXT CYCLE.
015102,000254: 06,2715 05701 TC WAITLIST
015103,000255: 06,2716 E4,1470 EBANK= ENGSTEP
015104,000256: 06,2716 02737 14004 2CADR ENGONTM
015105,000257:
015106,000258: 06,2720 05745 TC TASKOVER
015107,000259:
015108,000260: 06,2721 45226 ENGRESET CS PRIO30 # BITS 13 AND 14.
015109,000261: 06,2722 00006 EXTEND
015110,000262: 06,2723 02011 RAND 11
015111,000263: 06,2724 67740 AD BIT14
015112,000264: 06,2725 00006 EXTEND
015113,000265: 06,2726 01011 WRITE 11 # ENG ON = 0, ENG OFF = 1.
015114,000266: 06,2727 51470 NDX ENGSTEP
015115,000267: 06,2730 11471 CCS CYLTIMES
015116,000268: 06,2731 10000 CCS A
015117,000269: 06,2732 02734 TC +2
015118,000270: 06,2733 02703 TC NXTONOFF # WAS ONE.
015119,000271: 06,2734 67755 AD ONE # WAS MORE THAN ONE.
015120,000272: 06,2735 51470 NDX ENGSTEP
015121,000273: 06,2736 55471 TS CYLTIMES
015122,000274:
015123,000275: 06,2737 51470 ENGONTM NDX ENGSTEP
015124,000276: 06,2740 31502 CAE OFFTIME
015125,000277: 06,2741 55406 TS OFFTMBUF
015126,000278: 06,2742 51470 NDX ENGSTEP
![]() |
Page 354 |
015128,000280: 06,2743 31477 CAE ONTIME
015129,000281: 06,2744 05701 TC WAITLIST
015130,000282: 06,2745 E4,1470 EBANK= ENGSTEP
015131,000283: 06,2745 02750 14004 2CADR ENGSET
015132,000284:
015133,000285: 06,2747 05745 TC TASKOVER
015134,000286:
015135,000287: 06,2750 45226 ENGSET CS PRIO30
015136,000288: 06,2751 00006 EXTEND
015137,000289: 06,2752 02011 RAND 11
015138,000290: 06,2753 67741 AD BIT13
015139,000291: 06,2754 00006 EXTEND
015140,000292: 06,2755 01011 WRITE 11 # ENG ON = 1, ENG OFF = 0.
015141,000293: 06,2756 11406 ENGRST CCS OFFTMBUF
015142,000294:
015143,000295: 06,2757 02766 TC LTIMEON # AT LEAST 2MIN. BEFORE ENGINE OFF.
015144,000296: 06,2760 51470 NDX ENGSTEP
015145,000297: 06,2761 31505 CAE OFFTIMER # LESS THAN 2MIN. TO ENGINE OFF.
015146,000298: 06,2762 05701 TC WAITLIST
015147,000299: 06,2763 E4,1470 EBANK= ENGSTEP
015148,000300: 06,2763 02721 14004 2CADR ENGRESET
015149,000301:
015150,000302: 06,2765 05745 TC TASKOVER
015151,000303:
015152,000304: 06,2766 11406 LTIMEON CCS OFFTMBUF # IS THERE ANY MORE.
015153,000305: 06,2767 02771 TC +2 # YES.
015154,000306: 06,2770 02756 TC ENGRST # NO.
015155,000307: 06,2771 55406 TS OFFTMBUF # ONE LESS.
015156,000308: 06,2772 32777 CAF 2MIN
015157,000309: 06,2773 05701 TC WAITLIST
015158,000310: 06,2774 E4,1470 EBANK= ENGSTEP
015159,000311: 06,2774 02766 14004 2CADR LTIMEON
015160,000312:
015161,000313: 06,2776 05745 TC TASKOVER
015162,000314:
015163,000315: 06,2777 27340 2MIN DEC 12000 B-14
015164,000316:
![]() |
Page 355 |
015166,000318: # LEM FCS TEST TRIM TASK
015167,000319: # THIS PROGRAM ISSUES A PROFILE OF PITCH AND ROLL TRIM COMMANDS TO THE LEM DESCENT ENGINE GIMBAL IN ACCORDANCEWITH
015168,000320: # THE VALUE S IN THE TRIMSTEP REGISTER AND THE 12 SETS OF 5 REGISTERS CALLED NUMTIMES, STEPDLYT, TRIMONT, TRIMOFFT
015169,000321: # AND TRIMIND. TRIMSTEP IS USED TO PICK UP A PARTICULAR SET OF THE 5 REGISTERS AND HAS ALLOWABLE VALUES FROM +0
015170,000322: # THROUGH +11 DECIMAL. THE 5 REGISTERS IN EACH SET ARE DEFINED AS FOLLOWS
015171,000323: # (1) NUMTIMES DETERMINES THE NUMBER OF TIMES THE COMMAND IN TRIMIND WILL BE ISSUED. VALUES FROM +0 TO
015172,000324: # OCT 37777 ARE PERMITTED.
015173,000325: # (2) STEPDLYT DETERMINES THE TIME BETWEEN THE START OF A STEP AND THE BEGINNING OF TRIMONT. STEPDLYT MUST BE
015174,000326: # FORMATTED FOR T3, ITS MAXIMUM VALUE IS 2 MINUTES.
015175,000327: # (3) TRIMONT DETERMINES THE TIME BETWEEN THE END OF STEPDLYT OR TRIMOFFT AND THE TIME THE TRIM COMMANDS ARE
015176,000328: # ISSUED. IT MUST BE FORMATTED FOR T3.
015177,000329: # (4) TRIMOFFT DETERMINES THE LENGTH OF TIME THE TRIM COMMAND WILL BE ON, FORMATTED FOR T3.
015178,000330: # (5) TRIMIND DETERMINES THE PITCH AND ROLL COMMAND TO BE ISSUED. THE FORMAT IS, BIT9=1=+ PITCH COMMAND,
015179,000331: # BIT10=1=-PITCH, BIT11=1= +ROLL, BIT12=1= -ROLL. A BIT=0 INDICATES NO COMMAND. ANY COMBINATION OF COMMANDS IS
015180,000332: # PERMITTED.
015181,000333: # THIS TASK WILL BE ENTERED BUT IMMEDIATELY ENDED IF TRIMSTEP AND NUMTIMES = +0.
015182,000334:
015183,000335:
015184,000336:
015185,000337: 06,3000 11510 NEXTTRIM CCS TRIMSTEP
015186,000338:
015187,000339: 06,3001 03003 TC +2
015188,000340: 06,3002 05745 TC TASKOVER # EXIT HERE.
015189,000341: 06,3003 55510 TS TRIMSTEP # LESS ONE.
015190,000342:
015191,000343: 06,3004 51510 TRIMTOP NDX TRIMSTEP # ENTER HERE.
015192,000344: 06,3005 11511 CCS NUMTIMES
015193,000345: 06,3006 03010 TC +2
015194,000346: 06,3007 03000 TC NEXTTRIM
015195,000347: 06,3010 51510 NDX TRIMSTEP
015196,000348: 06,3011 31525 CAE STEPDLYT
015197,000349: 06,3012 05701 TC WAITLIST
015198,000350: 06,3013 E4,1510 EBANK= TRIMSTEP
015199,000351: 06,3013 03031 14004 2CADR TRIMSET
015200,000352:
015201,000353: 06,3015 05745 TC TASKOVER
015202,000354:
015203,000355: 06,3016 43115 TRIMOFF CS TRIMMASK
015204,000356: 06,3017 00006 EXTEND
015205,000357: 06,3020 03012 WAND 12 # TRIM GOES OFF.
015206,000358: 06,3021 51510 NUMSTEP NDX TRIMSTEP
015207,000359: 06,3022 11511 CCS NUMTIMES
015208,000360: 06,3023 10000 CCS A
015209,000361: 06,3024 03026 TC +2
015210,000362:
015211,000363: 06,3025 03000 TC NEXTTRIM # WAS ONE.
015212,000364: 06,3026 67755 AD ONE
015213,000365: 06,3027 51510 NDX TRIMSTEP
015214,000366: 06,3030 55511 TS NUMTIMES
015215,000367: 06,3031 51510 TRIMSET NDX TRIMSTEP
015216,000368: 06,3032 31541 CAE TRIMONT
015217,000369: 06,3033 05701 TC WAITLIST
![]() |
Page 356 |
015219,000371: 06,3034 E4,1510 EBANK= TRIMSTEP
015220,000372: 06,3034 03037 14004 2CADR TRIMON
015221,000373:
015222,000374:
015223,000375: 06,3036 05745 TC TASKOVER
015224,000376:
015225,000377: 06,3037 33114 TRIMON CAF BITS9,10 # CHECK PITCH AND ROLL TRIM FAIL BITS.
015226,000378: 06,3040 00006 EXTEND
015227,000379: 06,3041 06032 RXOR 32
015228,000380: 06,3042 73114 MASK BITS9,10
015229,000381: 06,3043 00006 EXTEND
015230,000382: 06,3044 13052 BZF TRIMON1
015231,000383: 06,3045 35674 CAF PRIO35 # FAIL IS ON. FLASH FAIL CODE (01400) AND
015232,000384: 06,3046 05523 TC NOVAC # IDLE UNTIL SOMEONE RESETS IT, TERMINATES
015233,000385: 06,3047 E4,1407 EBANK= JETSTEP
015234,000386: 06,3047 03065 14004 2CADR PERFORM # THE TASK, OR DECIDES TO PROCEED WITH IT.
015235,000387:
015236,000388: 06,3051 05745 TC TASKOVER
015237,000389:
015238,000390: 06,3052 51510 TRIMON1 NDX TRIMSTEP
015239,000391: 06,3053 31571 CAE TRIMIND
015240,000392: 06,3054 73115 MASK TRIMMASK # SAFETY PLAY
015241,000393: 06,3055 00006 EXTEND
015242,000394: 06,3056 05012 WOR 12 # TRIM STARTS.
015243,000395: 06,3057 51510 NDX TRIMSTEP
015244,000396: 06,3060 31555 CAE TRIMOFFT
015245,000397:
015246,000398: 06,3061 05701 TC WAITLIST
015247,000399: 06,3062 E4,1510 EBANK= TRIMSTEP
015248,000400: 06,3062 03016 14004 2CADR TRIMOFF
015249,000401:
015250,000402: 06,3064 05745 TC TASKOVER
015251,000403:
015252,000404: 06,3065 04633 PERFORM TC GRABWAIT # KEY RELEASE MAY COME ON.
015253,000405: 06,3066 33114 CAF TRIMCODE # 01400
015254,000406: 06,3067 54337 TS DSPTEM1
015255,000407: 06,3070 33116 CAF V01N25K
015256,000408: 06,3071 04646 TC NVSBWAIT
015257,000409: 06,3072 33117 CAF V50K # PLEASE PERFORM.
015258,000410: 06,3073 04646 TC NVSBWAIT
015259,000411: 06,3074 04611 TC FLASHON # ANY RESPONSE TURNS IT OFF.
015260,000412: 06,3075 04464 TC ENDIDLE # WAIT FOR SOMEONE TO DO SOMETHING.
015261,000413: 06,3076 05604 TC EJFREE # V34E. TERMINATE THE TASK.
015262,000414: 06,3077 03106 TC TR1 # V33E. PROCEED WITH THE FAIL ON.
015263,000415: 06,3100 00004 INHINT # ENTER. THE FAIL HAS BEEN RESET.
015264,000416: 06,3101 37754 CAF BIT2 # 20MS.
015265,000417: 06,3102 05701 TC WAITLIST
015266,000418: 06,3103 03037 14004 2CADR TRIMON # CHECK AGAIN TO BE SURE. THEN PROCEED..
015267,000419:
015268,000420:
015269,000421: 06,3105 05604 TC EJFREE
015270,000422:
![]() |
Page 357 |
015272,000424: 06,3106 00004 TR1 INHINT # PROCEED WITH THE FAIL.
015273,000425: 06,3107 37754 CAF BIT2 # 20MS.
015274,000426: 06,3110 05701 TC WAITLIST
015275,000427: 06,3111 E4,1407 EBANK= JETSTEP
015276,000428: 06,3111 03052 14004 2CADR TRIMON1 # BYPASS THE RECHECK.
015277,000429:
015278,000430: 06,3113 05604 TC EJFREE
015279,000431:
015280,000432: 06,3114 01400 BITS9,10 OCT 01400
015281,000433: 06,3115 06,3114 TRIMCODE EQUALS BITS9,10
015282,000434: 06,3115 07400 TRIMMASK OCT 07400
015283,000435: 06,3116 00125 V01N25K OCT 00125
015284,000436: 06,3117 05000 V50K OCT 05000
015285,000437:
![]() |
Page 358 |
015287,000439: # LEM FCS TEST THROTTLE TASK
015288,000440: # THIS PROGRAM ISSUES A PROFILE OF THROTTLE COMMANDS TO THE LEM DESCENT ENGINE. THE PROFILE IS DETERMINED BY
015289,000441: # THE VALUES IN THE THRTSTEP REGISTER AND THE 6 SETS OF REGISTERS, 5 PER SET, CALLED DOTIMES, DELAY, THR1TIME,
015290,000442: # THCOMM1 AND THCOMM2. THE THRTSTEP REGISTER VALUE IS USED TO INDEX THE 6 SETS OF 5 REGISTERS AND HAS ALLOWABLE
015291,000443: # VALUES OF +0 THROUGH +5. THE 5 REGISTERS PER SET ARE DEFINED AS FOLLOWS
015292,000444: # (1) DOTIMES DETERMINES THE NUMBER OF TIMES THE THROTTLE WILL BE EXERCISED AS PER THE VALUES OF THR1TIME,
015293,000445: # THCOMM1 AND THCOMM2 OF THE CURRENT STEP. IT HAS ALLOWABLE VALUES OF +0 THROUGH 37777 OCT.
015294,000446: # (2) DELAY DETERMINES THE TIME BETWEEN THE START OF A STEP AND THE BE GINNING OF THR1TIME. ITIS CALLED ONLY
015295,000447: # ONCE PER STEP,I.E., REPEATS OF THE SAME THCOMM1 AND THCOMM2 START AT THR1TIME. DELAY MUST BE FORMATTED FOR T3
015296,000448: # AND HENCE HAS A MAXIMUM VALUE OF 2 MINUTES.
015297,000449: # (3) THR1TIME DETERMINES THE TIME BETWEEN THE END OF DELAY OR THE END OF THCOMM2 AND THE START OF
015298,000450: # THCOMM1. IT MUST BE FORMATTED FOR T3.
015299,000451: # (4) THCOMM1 AND (5) THCOMM2 DETERMINE THE NUMBER OF THRUST INCREASE OR DECREASE PULSES TOBE ISSUED AT A
015300,000452: # 3.2KPPS RATE. THE RANGE OF POSSIBLE VALUES OF EITHER IS FROM POSMAX (OCT 37777) TO NEGMAX (OCT 40000) ALTHOUGH
015301,000453:
015302,000454: # THE ACTUAL THROTTLE RANGE IS FROM OCT 6116 TO OCT 71661 (+,- 3150 DEC).
015303,000455: # THIS TASK WILL BE ENTERED BUT IMMEDIATELY ENDED IF THE INITIAL VALUES OF THRTSTEP AND DOTIMES ARE +0.
015304,000456:
015305,000457:
015306,000458:
015307,000459: 06,3120 11605 NEXTTHRT CCS THRTSTEP
015308,000460: 06,3121 03123 TC +2
015309,000461: 06,3122 05745 TC TASKOVER # EXIT HERE.
015310,000462: 06,3123 55605 TS THRTSTEP
015311,000463:
015312,000464: 06,3124 51605 THRSTART NDX THRTSTEP # ENTER HERE.
015313,000465: 06,3125 11606 CCS DOTIMES # NUMBER OF TIMES COMMANDS 1 AND 2 DONE.
015314,000466: 06,3126 03130 TC +2
015315,000467: 06,3127 03120 TC NEXTTHRT
015316,000468: 06,3130 51605 NDX THRTSTEP
015317,000469: 06,3131 31614 CAE DELAY # TIME BETWEEN STEPS. BIAS FOR THR1TIME.
015318,000470: # MUST BE SCALED FOR T3.
015319,000471: 06,3132 05701 TC WAITLIST
015320,000472: 06,3133 E4,1605 EBANK= THRTSTEP
015321,000473: 06,3133 03156 14004 2CADR THROTON1
015322,000474:
015323,000475: 06,3135 05745 TC TASKOVER
015324,000476:
015325,000477: 06,3136 51605 THR2COMM NDX THRTSTEP
015326,000478: 06,3137 31636 CAE THCOMM2 # SAME REMARKS AS FOR THCOMM1.
015327,000479: 06,3140 03174 TC THROTON
015328,000480: 06,3141 67755 AD BIT1 # 10MS IN CASE OF NO THCOMM2.
015329,000481: 06,3142 05701 TC WAITLIST
015330,000482: 06,3143 E4,1605 EBANK= THRTSTEP
015331,000483: 06,3143 03146 14004 2CADR CKDOTIME
015332,000484:
015333,000485: 06,3145 05745 TC TASKOVER
015334,000486:
015335,000487: 06,3146 51605 CKDOTIME NDX THRTSTEP
015336,000488: 06,3147 11606 CCS DOTIMES
015337,000489: 06,3150 10000 CCS A
![]() |
Page 359 |
015339,000491: 06,3151 03153 TC +2
015340,000492: 06,3152 03120 TC NEXTTHRT # WAS ONE.
015341,000493: 06,3153 67755 AD ONE
015342,000494: 06,3154 51605 NDX THRTSTEP
015343,000495: 06,3155 55606 TS DOTIMES
015344,000496: 06,3156 51605 THROTON1 NDX THRTSTEP
015345,000497: 06,3157 31622 CAE THR1TIME # TIME BETWEEN DOTIMES. SCALED FOR T3.
015346,000498: 06,3160 05701 TC WAITLIST
015347,000499: 06,3161 E4,1605 EBANK= THRTSTEP
015348,000500: 06,3161 03164 14004 2CADR THR1COMM
015349,000501:
015350,000502: 06,3163 05745 TC TASKOVER
015351,000503:
015352,000504: 06,3164 51605 THR1COMM NDX THRTSTEP
015353,000505: 06,3165 31630 CAE THCOMM1 # SHOULD BE NO LARGER THAN 3150DEC.
015354,000506: 06,3166 03174 TC THROTON
015355,000507: 06,3167 63211 AD 250MS # SO ACE CAN SAMPLE.
015356,000508: 06,3170 05701 TC WAITLIST
015357,000509: 06,3171 E4,1605 EBANK= THRTSTEP
015358,000510:
015359,000511: 06,3171 03136 14004 2CADR THR2COMM
015360,000512:
015361,000513: 06,3173 05745 TC TASKOVER
015362,000514:
015363,000515: 06,3174 54055 THROTON TS THRUST # THROTTLE OUTPUT COUNTER.
015364,000516: 06,3175 55405 TS THBUF # SAVE FOR BZMF.
015365,000517: 06,3176 37752 CAF BIT4
015366,000518: 06,3177 00006 EXTEND
015367,000519: 06,3200 05014 WOR 14 # ENABLE THRUST DRIVE. COMMAND STARTS NOW
015368,000520: 06,3201 31405 CAE THBUF
015369,000521: 06,3202 00006 EXTEND
015370,000522: 06,3203 63205 BZMF +2
015371,000523: 06,3204 40000 COM
015372,000524: 06,3205 40000 COM
015373,000525: 06,3206 00006 EXTEND
015374,000526: 06,3207 77744 MP BIT10 # SCALES FOR T3.
015375,000527: 06,3210 00002 TC Q
015376,000528:
015377,000529: 06,3211 00031 250MS OCT 00031
015378,000530:
![]() |
Page 360 |
015380,000532: # LEM FCS TEST INTERFACE LOOK TASK.
015381,000533:
015382,000534: # THIS PROGRAM KEEPS A RUNNING HISTORY OF THE STATE OF ALL THE BITS IN INPUT CHANNELS 30, 31, 32 AND 33.
015383,000535: # IT DOES THIS BY DETECTING A CHANGE OF AN INPUT BIT FROM AN INITIAL ONE STATE TO A ZERO STATE OR FROM AN INITIAL
015384,000536: # ZERO TO A ONE. THE HISTORY IS MAINTAINED IN TWO BUFFER REGISTERS FOR EACH CHANNEL, ONE FOR STORING ONE TO ZERO
015385,000537: # CHANGES (30BUF1, +1, +2, AND +3) AND ONE FOR ZERO TO ONE CHANGES (30BUF0, +1 +2 AND +3). THE OPERATOR MUST
015386,000538: # LOAD THE INITIAL STATES OF THE INPUT CHANNELS INTO THEIR RESPECTIVE BUFFER REGISTERS BEFORE THIS PROGRAM IS IN-
015387,000539: # ITIATED.
015388,000540: # TO ALLOW THIS PROGRAM TO RUN C(QUITLOOK) MUST BE SET GREATER THAN +0 BEFORE IT IS STARTED. IF THE OPERATOR
015389,000541: # DOES NOT DESIRE THIS PROGRAM TO RUN HE SHOULD SET C(QUITLOOK)=+0 BEFORE STARTING THE FCS TEST. AFTER THIS TASK
015390,000542: # IS RUNNING THE OPERATOR CAN STOP IT BY SETTING C(QUITLOOK) = +0.
015391,000543: # NO DISPLAYS OF EITHER THE BUFFER REGISTERS OR CHANNELS ARE INCORPORATED INTO THIS PROGRAM. THIS WAS DONE TO
015392,000544: # ALLOW THE TEST OPERATOR MONITORING FLEXIBILITY. FOR REAL TIME MONITORING IT IS SUGGESTED THAT THE BUFFER
015393,000545:
015394,000546: # REGISTERS BE DISPLAYED WITH THE MONITOR VERBS (11 THROUGH 15). ON THE OTHER HAND, THE OPERATOR MAY ELECT TO
015395,000547: # PERFORM NO REAL TIME MONITORING UNTIL THE TEST IS COMPLETED, WHEN THE BUFFER REGISTERS WOULD BE CALLED FOR
015396,000548: # DISPLAY (VERB 01) AND RECORDED.
015397,000549: # THIS PROGRAM IS PRIMARILY INTENDED FOR INTERFACE MONITORING DURING THE LEM VIBRATION TEST AT BETHPAGE, N.Y.,
015398,000550: # ALTHOUGH IT MAY ALSO BE USEFUL DURING VEHICAL LEVEL EMI TESTS.
015399,000551:
015400,000552: 06,3212 11654 LOOKTOP CCS QUITLOOK # IS THIS TASK WANTED.
015401,000553: 06,3213 03215 TC +2 # YES.
015402,000554: 06,3214 05745 TC TASKOVER # NO.
015403,000555: 06,3215 36301 CAF THREE # START SCAN OF CHANNELS.
015404,000556: 06,3216 55655 LOOKLOOP TS CHCNTR # 3, 2, 1, 0.
015405,000557: 06,3217 51655 NDX CHCNTR
015406,000558:
015407,000559: 06,3220 31644 CAE 30BUF1
015408,000560: 06,3221 00006 EXTEND
015409,000561: 06,3222 51655 NDX CHCNTR
015410,000562: 06,3223 02030 RAND 30 # DETECTS CHANGES FROM 1 TO 0.
015411,000563: 06,3224 51655 NDX CHCNTR
015412,000564: 06,3225 57644 XCH 30BUF1 # STORE NEW ZEROS.
015413,000565: 06,3226 51655 NDX CHCNTR
015414,000566: 06,3227 31650 CAE 30BUF0
015415,000567: 06,3230 00006 EXTEND
015416,000568: 06,3231 51655 NDX CHCNTR
015417,000569: 06,3232 04030 ROR 30 # DETECTS CHANGES FROM 0 TO 1.
015418,000570: 06,3233 51655 NDX CHCNTR
015419,000571: 06,3234 57650 XCH 30BUF0 # STORE NEW ONES.
015420,000572: 06,3235 11655 CCS CHCNTR # IS THIS SCAN DONE.
015421,000573: 06,3236 03216 TC LOOKLOOP # NO.
015422,000574: 06,3237 34557 CAF TEN # YES. 100MS RECALL.
015423,000575: 06,3240 05701 TC WAITLIST
015424,000576: 06,3241 E4,1654 EBANK= QUITLOOK
015425,000577: 06,3241 03212 14004 2CADR LOOKTOP
015426,000578:
015427,000579: 06,3243 05745 TC TASKOVER
015428,000580:
End of include-file LEM_FLIGHT_CONTROL_SYSTEM_TEST.agc. Parent file is MAIN.agc