Source Code
![]() |
These source-code files were obtained by digitally photographing the
Colossus 237 program listing from the private collection of original
AGC developer Fred Martin, and then modifying pre-existing Colossus 249
(Apollo 9) source files to incorporate changes. Note that the page images
presented online are of reduced quality, and that additional images
are available. Report any conversion errors or legibility
problems in page images to info@sandroid.org.
Notations on the program listing read, in part:GAP: ASSEMBLE REVISION 237 OF AGC PROGRAM COLOSSUS BY NASA 2021111-031 1:17 AUG. 24, 1968 |
044484,000002: # Copyright: Public domain.
044485,000003: # Filename: CM_ENTRY_DIGITAL_AUTOPILOT.agc
044486,000004: # Purpose: Part of the source code for Colossus build 237.
044487,000005: # This is for the Command Module's (CM) Apollo Guidance
044488,000006: # Computer (AGC), we believe for Apollo 8.
044489,000007: # Assembler: yaYUL
044490,000008: # Contact: Jim Lawton <jim DOT lawton AT gmail DOT com>
044491,000009: # Website: www.ibiblio.org/apollo/index.html
044492,000010: # Page scans: www.ibiblio.org/apollo/ScansForConversion/Colossus237/
044493,000011: # Mod history: 2011-04-09 JL Adapted from corresponding Colossus 249 file.
044494,000012: # 2011-04-17 JL Removed temporary line.
044495,000013: # 2011-04-27 JL Fixed symbol name.
044496,000014: # 2011-04-29 JL Had = instead of DEC.
044497,000015:
044498,000016: # # Page 1031
044499,000017: # SUBROUTINE TO READ GYMBAL ANGLES AND FORM DIFFERENCES. GIMBAL ANGLES ARE SAVED IN 2S COMPLEMENT, BUT THE
044500,000018: # DIFFERENCES ARE IN 1S COMP. ENTER AND READ ANGLES EACH .1 SEC.
044501,000019:
044502,000020: # CM/DSTBY = 1 FOR DAP OPERATION
044503,000021: # CM/DSTBY = 0 TO TERMINATE DAP OPERATION.
044504,000022:
044505,000023: 15,2454 BANK 15
044506,000024:
044507,000025: 15,2000 SETLOC ETRYDAP
044508,000026: 15,2000 BANK
044509,000027:
044510,000028: 15,2454 COUNT 15/DAPEN
044511,000029:
044512,000030: 15,2454 E6,1661 EBANK= AOG
044513,000031:
044514,000032: 15,2454 34377 READGYMB CA TEN # KEEP RESTART DT GOING RELATIVE TO
044515,000033: 15,2455 27725 ADS CM/GYMDT # PIPTIME. (GROUP 6)
044516,000034:
044517,000035: # IF A RESTART OCCURS, SKIP PRESENT CYCLE. THE
044518,000036: # PHASCHNG PROTECTION IS IN CM/DAPIC.
044519,000037:
044520,000038: 15,2456 34705 CA BIT6 # CHECK FOR FINE ALIGN MODE OF CDU.
044521,000039: 15,2457 71321 MASK IMODES33 # ( PROTECT AOG/PIP ETC AS WELL AS
044522,000040: 15,2460 00006 EXTEND # GIMBAL DIFFERENCES)
044523,000041: 15,2461 12467 BZF READGYM1 # OK
044524,000042:
044525,000043: 15,2462 44712 CS BIT1 # NOT IN FINE ALIGN, SO IDLE.
044526,000044: 15,2463 70102 MASK CM/FLAGS # SET GYMDIFSW = 0
044527,000045: 15,2464 54102 TS CM/FLAGS
044528,000046: 15,2465 06000 TC FLUSHJET # QUENCH JETS, SINCE MAY BE A WHILE.
044529,000047: 15,2466 02534 TC CM/GYMIC +2
044530,000048:
044531,000049: 15,2467 30032 READGYM1 CA CDUX
044532,000050: 15,2470 57661 XCH AOG
044533,000051: 15,2471 00006 EXTEND
044534,000052: 15,2472 21661 MSU AOG # -DELAOG=AOG(N-1) - AOG(N)
044535,000053: 15,2473 55675 TS -DELAOG
044536,000054:
044537,000055: 15,2474 30033 CA CDUY
044538,000056: 15,2475 57662 XCH AIG
044539,000057: 15,2476 00006 EXTEND
044540,000058: 15,2477 21662 MSU AIG
044541,000059: 15,2500 55676 TS -DELAIG
044542,000060:
044543,000061: 15,2501 30034 CA CDUZ
044544,000062: 15,2502 57663 XCH AMG
044545,000063: 15,2503 00006 EXTEND
044546,000064: 15,2504 21663 MSU AMG
044547,000065: 15,2505 55677 TS -DELAMG
044548,000066:
044549,000067: # # Page 1032
044550,000068: 15,2506 40102 DOBRATE? CS CM/FLAGS # CM/DSTBY=103D BIT2 GYMDIFSW=104D BIT1
044551,000069: 15,2507 76214 MASK THREE
044552,000070: 15,2510 50000 INDEX A
044553,000071: 15,2511 02512 TC +1
044554,000072: 15,2512 02521 TC DOBRATE # OK, GO ON
044555,000073: 15,2513 02532 TC CM/GYMIC # DONT CALC BODYRATE ON FIRST PASS.
044556,000074: 15,2514 12515 NOOP
044557,000075: 15,2515 06000 TC FLUSHJET # TURN OFF ALL JETS
044558,000076:
044559,000077: 15,2516 05301 TC PHASCHNG
044560,000078: 15,2517 00006 OCT 00006 # DEACTIVATE DAP GROUP 6.
044561,000079:
044562,000080: 15,2520 05213 TC TASKOVER
044563,000081:
044564,000082: 15,2521 34712 DOBRATE CA ONE # DO BODYRATE
044565,000083: 15,2522 55720 DOBRATE1 TS JETEM # SKIP BODYRATE.
044566,000084:
044567,000085: 15,2523 34377 CA TEN # KEEP CDU READ GOING.
044568,000086: 15,2524 05140 TC WAITLIST
044569,000087: 15,2525 E6,1661 EBANK= AOG
044570,000088: 15,2525 02454 32066 2CADR READGYMB
044571,000089:
044572,000090: # DOES NOT PROTECT TEMK, SQ IN SPSIN/COS
044573,000091:
044574,000092: 15,2527 11720 CCS JETEM
044575,000093: 15,2530 02556 TC BODYRATE
044576,000094: 15,2531 05213 TC TASKOVER # SKIP CALC ON INITIAL PASS. (PASSES)
044577,000095:
044578,000096: 15,2532 26102 CM/GYMIC ADS CM/FLAGS # GYMDIFSW: C(A)=1, KNOW BIT IS 0
044579,000097: 15,2533 34714 CAF ZERO
044580,000098: 15,2534 55711 TS JETAG
044581,000099: 15,2535 55706 TS OLDELP
044582,000100: 15,2536 55707 TS OLDELQ
044583,000101: 15,2537 55710 TS OLDELR
044584,000102: 15,2540 55723 TS GAMDOT # NO GYM DIF, PROB NO GAM DIF.
044585,000103: 15,2541 02522 TC DOBRATE1
044586,000104:
044587,000105: # # Page 1033
044588,000106: # COME HERE TO CORRECT FOR OVERFLOW IN ANGULAR CALCULATIONS
044589,000107:
044590,000108: 15,2542 54001 ANGOVCOR TS L # THIS COSTS 2 MCT TO USE.
044591,000109: 15,2543 00002 TC Q # NO OVFL
044592,000110: 15,2544 50000 INDEX A
044593,000111: 15,2545 34673 CAF LIMITS
044594,000112: 15,2546 26001 ADS L
044595,000113: 15,2547 00002 TC Q
044596,000114:
044597,000115: 6000 BLOCK 3
044598,000116:
044599,000117: 6000 COUNT 03/DAPEN
044600,000118:
044601,000119: 6000 30007 FLUSHJET CA 7 # COME HERE TO TURN OFF ALL JETS.
044602,000120: 6001 00006 EXTEND
044603,000121: 6002 01006 WRITE ROLLJETS # ZERO CHANNEL 6
044604,000122: 6003 00006 EXTEND
044605,000123: 6004 01005 WRITE PYJETS # ZERO CHANNEL 5
044606,000124: 6005 00002 TC Q
044607,000125:
044608,000126: 15,2550 BANK 15
044609,000127:
044610,000128: 15,2550 COUNT 15/DAPEN
044611,000129:
044612,000130: 15,2000 SETLOC ETRYDAP
044613,000131: 15,2000 BANK
044614,000132:
044615,000133: 15,2550 40000 RATEAVG COM # SUBROUTINE TO ESTIMATE RATES IN PRESENCE
044616,000134: 15,2551 61720 AD JETEM # OF CONSTANT ACCELERATION.
044617,000135: 15,2552 00006 EXTEND
044618,000136: 15,2553 74675 MP HALF # DELV (EST) = DELV +(DELV-OLDELV)/2
044619,000137: 15,2554 61720 AD JETEM
044620,000138: 15,2555 00002 TC Q
044621,000139:
044622,000140: # # Page 1034
044623,000141: # THESE ARE CALLED FOR THE VARIOUS INITIALIZATIONS NEEDED.
044624,000142:
044625,000143: 20,3550 BANK 20
044626,000144: 20,2000 SETLOC DAPS1
044627,000145: 20,2000 BANK
044628,000146:
044629,000147: 20,3550 COUNT 20/DAPEN
044630,000148:
044631,000149: 20,3550 E6,1661 EBANK= AOG
044632,000150:
044633,000151: 20,3550 34752 CM/DAPON CA EBAOG
044634,000152: 20,3551 54003 TS EBANK
044635,000153:
044636,000154: 20,3552 05447 TC DOWNFLAG # RESET DAPBIT1. T5 RESTART IDENTIFIER.
044637,000155: 20,3553 00132 ADRES DAPBIT1 # BIT 15 FLAG 6 CM FLAGS.
044638,000156: 20,3554 05447 TC DOWNFLAG # RESET DAPBIT2
044639,000157: 20,3555 00133 ADRES DAPBIT2 # BIT 14 FLAG 6
044640,000158: 20,3556 00006 EXTEND
044641,000159: 20,3557 33675 DCA T5IDLER1 # DISABLE RCS CALCULATION
044642,000160: 20,3560 53313 DXCH T5LOC
044643,000161: 20,3561 00006 EXTEND
044644,000162: 20,3562 33675 DCA T5IDLER1 # DISABLE RCS JET CALLS
044645,000163: 20,3563 53311 DXCH T6LOC
044646,000164:
044647,000165: 20,3564 06000 TC FLUSHJET # JETS DEPARTED ON SM. ZERO JET BITS.
044648,000166:
044649,000167: 20,3565 47707 CS 13,14,15
044650,000168: 20,3566 71466 MASK DAPDATR1 # SET CONFIG BITS =0 FOR ENTRY
044651,000169: 20,3567 55466 TS DAPDATR1
044652,000170: 20,3570 03574 TC +4
044653,000171:
044654,000172: 20,3571 34731 NOTYET CA .5SEC
044655,000173: 20,3572 04555 TC BANKCALL
044656,000174: 20,3573 01730 CADR DELAYJOB # (DELAYJOB DOES INHINT)
044657,000175: 20,3574 34700 +4 CA BIT11 # GAMDIFSW = 94D BIT11, INITLY=0
044658,000176: 20,3575 70102 MASK CM/FLAGS # IF ZERO, WAIT UNTIL CM/POSE UPDATE.
044659,000177: 20,3576 00006 EXTEND
044660,000178: 20,3577 13571 BZF NOTYET
044661,000179:
044662,000180: 20,3600 44712 CS ONE # ACTIVATE CM/DAP
044663,000181: 20,3601 55501 TS RCSFLAGS # USE BIT3 TO INITIALIZE NEEDLER ON
044664,000182: # NEXT PASS.
044665,000183: 20,3602 55727 TS P63FLAG # SO WAKEP62 WILL NOT BE INITIATED UNTIL
044666,000184: # HEADSUP IS SET IN P62.
044667,000185: # FLAG TO PREVENT MULTIPLE CALLS TO WAKEP62.
044668,000186:
044669,000187: 20,3603 30007 CA 7
044670,000188: 20,3604 55711 TS JETAG
044671,000189: 20,3605 55713 TS PAXERR1 # KEEP NEEDLES ZERO UNTIL DAP UPDATE
044672,000190: # IN CASE CMDAPMOD IS NOT +1.
044673,000191: # # Page 1035
044674,000192: 20,3606 00004 INHINT
044675,000193: 20,3607 00006 EXTEND
044676,000194: 20,3610 31666 DCA ALFA/180 # DO ATTITUDE HOLD UNTIL KEYBOARD
044677,000195: 20,3611 53604 DXCH ALFACOM # ESTABLISHES HEADSUP.
044678,000196: 20,3612 31664 CA ROLL/180
044679,000197: 20,3613 55717 TS ROLLHOLD # FOR ATTITUDE HOLD IN MODE +1.
044680,000198: 20,3614 00006 EXTEND
044681,000199: 20,3615 74675 MP HALF
044682,000200: 20,3616 55715 TS ROLLC # NOT INTERESTED IN LO WORD.
044683,000201:
044684,000202: 20,3617 40102 CS CM/FLAGS
044685,000203: 20,3620 74677 MASK BIT12 # CMDAPARM =93D BIT12 INITLY=0
044686,000204: 20,3621 26102 ADS CM/FLAGS # SET BIT TO 1.
044687,000205:
044688,000206: 20,3622 40076 CS FLAGWRD2 # SET NODOFLAG TO PREVENT FURTHER
044689,000207: 20,3623 74712 MASK BIT1 # V 37 ENTRIES.
044690,000208: 20,3624 26076 ADS FLAGWRD2
044691,000209:
044692,000210: 20,3625 00003 RELINT
044693,000211:
044694,000212: 20,3626 04574 TC POSTJUMP
044695,000213: 20,3627 54342 CADR P62.1
044696,000214:
044697,000215: # # Page 1036
044698,000216: # INITIALIZE CM/DAP. WAITLIST CALL FOR READGYMB. SET SWITCH CM/DSTBY =1
044699,000217: # SO READACCS WILL ENTER A WTLST CALL FOR SETJTAG .
044700,000218: # CMDAPARM = 0 , SO ONLY BODY RATE AND ATTITUDE CALCULATIONS ARE DONE.
044701,000219: # SET AVEGEXIT TO CONTINUE AT CM/POSE
044702,000220:
044703,000221:
044704,000222: 20,3630 34752 CM/DAPIC CA EBAOG
044705,000223: 20,3631 54003 TS EBANK
044706,000224:
044707,000225: 20,3632 00004 INHINT
044708,000226: 20,3633 41205 CM/DAP2C CS PIPTIME +1
044709,000227: # PRIO OF P62 L PRIO AVG,:PIPTM=PIPTM1
044710,000228: 20,3634 55720 TS JETEM
044711,000229:
044712,000230: 20,3635 34675 CA POS1/2
044713,000231: 20,3636 64675 AD POS1/2
044714,000232: 20,3637 60025 AD TIME1 # OVFL GUARANTEED
044715,000233: 20,3640 27720 ADS JETEM # C(A) = DELTA TIME SINCE PIPUP
044716,000234:
044717,000235: 20,3641 44715 CS FIVE
044718,000236: 20,3642 61720 AD JETEM
044719,000237: 20,3643 10000 CCS A
044720,000238: 20,3644 63673 AD -CDUT+1
044721,000239: 20,3645 13643 TCF -2
044722,000240: 20,3646 13647 NOOP
044723,000241: 20,3647 64712 AD ONE # SEND NO ZERO TO WTLST
044724,000242: 20,3650 55725 TS CM/GYMDT # FOR RESTART
044725,000243: 20,3651 05140 TC WAITLIST
044726,000244: 20,3652 E6,1661 EBANK= AOG
044727,000245: 20,3652 02454 32066 2CADR READGYMB
044728,000246:
044729,000247: 20,3654 43672 CS CM/SWIC1 # GAMDIFSW, GYMDIFSW, CM/DSTBY
044730,000248: 20,3655 70102 MASK CM/FLAGS # DAPARM, .05GSW, LATSW, ENTRYDSP
044731,000249: 20,3656 64377 AD CM/SWIC2 # SET CM/DSTBY, LATSW
044732,000250: # DISABLE ENTRY DISPLAY, SINCE DES. GIMB.
044733,000251: # CALC. (P62.3) GOES TO ENDEXIT.
044734,000252: 20,3657 54102 TS CM/FLAGS
044735,000253:
044736,000254: 20,3660 30007 CA 7
044737,000255: 20,3661 55666 TS BETA/180 # NECESSARY: NO OVFL CORRECTION
044738,000256: 20,3662 34712 CA ONE # INITIALIZE THE TM OF BODY RATES VIA
044739,000257: 20,3663 54305 TS SW/NDX # UPBUFF.
044740,000258:
044741,000259: 20,3664 05261 TC 2PHSCHNG # DOES INHINT/RELINT
044742,000260: 20,3665 40116 OCT 40116 # SAVE TBASE6
044743,000261: 20,3666 05024 OCT 05024
044744,000262: 20,3667 13000 OCT 13000
044745,000263:
044746,000264: 20,3670 04574 TC POSTJUMP
044747,000265: # # Page 1037
044748,000266: 20,3671 54326 CADR P62.2
044749,000267:
044750,000268: 20,3672 16017 CM/SWIC1 OCT 16017
044751,000269: 20,3673 4377 CM/SWIC2 = TEN # 00012 : CM/DSTBY, LATSW
044752,000270: 20,3673 77766 -CDUT+1 OCT 77766
044753,000271: 20,3674 1312 EBANK= T5LOC
044754,000272: 20,3674 03132 12062 T5IDLER1 2CADR T5IDLOC
044755,000273:
044756,000274: # # Page 1038
044757,000275: # THIS SECTION CALCULATES THE ANGULAR BODY RATES EACH .1 SEC. THE ANGULAR RATES ARE THOSE ALONG THE BODY AXES
044758,000276: # XB, YB, ZB, AND ARE NORMALLY DESIGNATED P, Q, R. REQUIREMENT: TEMPORARY ERASE. JETEM, JETEM +1
044759,000277:
044760,000278: # SINCE RESTARTS ZERO THE JET OUTPUT CHANNELS, NO ATTEMPT IS MADE TO RESTART THE ENTRY DAPS. THAT IS,
044761,000279: # THE 0.1 SEC DAPS WILL MISS A CYCLE, AND WILL PICK UP AT THE NEXT 0.1 SEC UPDATE. MOST OF THE TIME THE 2 SEC
044762,000280: # ROLL SYSTEM WILL MISS ONLY 0.1 SEC OF CONTROL. HOWEVER IF THE RESTART OCCURS AFTER THE SECTION TIMETST HAS
044763,000281: # STARTED, THEN THE ROLL SYSTEM WILL MISS ONE CYCLE.
044764,000282: # THIS IS NECESSARY UNDER THE GROUND-RULE THAT NO JET COMMANDS SHALL BE LESS THAN 14 MS.
044765,000283:
044766,000284: 20,3676 E6,1661 EBANK= AOG
044767,000285: 15,2556 BANK 15
044768,000286: 15,2000 SETLOC ETRYDAP
044769,000287: 15,2000 BANK
044770,000288:
044771,000289: 15,2556 COUNT 15/DAPEN
044772,000290:
044773,000291: 15,2556 31663 BODYRATE CA AMG # THESE ARE 2S COMPL NOS, BUT USE ANYWAY.
044774,000292: 15,2557 04767 TC SPCOS
044775,000293: 15,2560 55511 TS COSM
044776,000294:
044777,000295: 15,2561 31661 CA AOG # C(AOG) = AOG/180
044778,000296: 15,2562 04770 TC SPSIN # SINO
044779,000297: 15,2563 55512 TS SINO # SINO = SIN(AOG)
044780,000298:
044781,000299: 15,2564 00006 EXTEND
044782,000300: 15,2565 71511 MP COSM
044783,000301: 15,2566 55514 TS SINOCOSM # SO CM
044784,000302:
044785,000303: 15,2567 31661 CA AOG
044786,000304: 15,2570 04767 TC SPCOS # COSO
044787,000305: 15,2571 55513 TS COSO
044788,000306:
044789,000307: 15,2572 00006 EXTEND
044790,000308: 15,2573 71511 MP COSM
044791,000309: 15,2574 55515 TS COSOCOSM # CO CM
044792,000310:
044793,000311: # PITCHDOT: Q TCDU/180 = IDOT TCDU/180 COSO COSM + MDOT TCDU/180 SINO
044794,000312:
044795,000313: 15,2575 41677 CS -DELAMG
044796,000314: 15,2576 00006 EXTEND
044797,000315: 15,2577 71512 MP SINO
044798,000316: 15,2600 53721 DXCH JETEM # 2 LOCS _
044799,000317: 15,2601 41676 CS -DELAIG
044800,000318: 15,2602 00006 EXTEND
044801,000319: 15,2603 71515 MP COSOCOSM
044802,000320: 15,2604 21721 DAS JETEM
044803,000321: 15,2605 31720 CA JETEM
044804,000322: 15,2606 57707 XCH OLDELQ
044805,000323: 15,2607 02550 TC RATEAVG
044806,000324: 15,2610 55702 TS QREL # PITCHDOT = Q TCDU/180
044807,000325:
044808,000326: # # Page 1039
044809,000327: # YAWDOT: R TCDU/180 = -IDOT TCDU/180 COSM SINO + MDOT TCDU/180 COSO
044810,000328:
044811,000329: 15,2611 41677 CS -DELAMG
044812,000330: 15,2612 00006 EXTEND
044813,000331: 15,2613 71513 MP COSO
044814,000332: 15,2614 53721 DXCH JETEM
044815,000333: 15,2615 31676 CA -DELAIG
044816,000334: 15,2616 00006 EXTEND
044817,000335: 15,2617 71514 MP SINOCOSM
044818,000336: 15,2620 21721 DAS JETEM
044819,000337: 15,2621 31720 CA JETEM
044820,000338: 15,2622 57710 XCH OLDELR
044821,000339: 15,2623 02550 TC RATEAVG
044822,000340: 15,2624 55703 TS RREL # YAWDOT = R TCDU/180
044823,000341:
044824,000342: # ROLLDOT: P TCDU/180 = CDOT TCDU/180 + IDOT/180 SINM
044825,000343:
044826,000344: 15,2625 31663 CA AMG
044827,000345: 15,2626 04770 TC SPSIN
044828,000346: 15,2627 55510 TS SINM
044829,000347:
044830,000348: 15,2630 00006 EXTEND
044831,000349: 15,2631 71676 MP -DELAIG
044832,000350: 15,2632 55720 TS JETEM
044833,000351: 15,2633 34714 CA ZERO
044834,000352: 15,2634 20001 DDOUBL # ROUND L INTO A
044835,000353: 15,2635 61675 AD -DELAOG
044836,000354: 15,2636 61720 AD JETEM
044837,000355: 15,2637 40000 CS A
044838,000356: 15,2640 55720 TS JETEM
044839,000357: 15,2641 57706 XCH OLDELP
044840,000358: 15,2642 02550 TC RATEAVG
044841,000359: 15,2643 55701 TS PREL # ROLLDOT = P TCDU/180
044842,000360:
044843,000361: # IF GAMDOT < 0.5 DEG/SEC, THEN GAMDOT =0
044844,000362:
044845,000363: 15,2644 11723 CCS GAMDOT
044846,000364: 15,2645 02647 TC +2
044847,000365: 15,2646 02671 TC NOGAMDUT
044848,000366: 15,2647 41664 CS ROLL/180
044849,000367: 15,2650 04770 TC SPSIN
044850,000368: 15,2651 00006 EXTEND
044851,000369: 15,2652 71723 MP GAMDOT
044852,000370: 15,2653 55721 TS JETEM +1 # -SR GAMDOT
044853,000371: 15,2654 00006 EXTEND
044854,000372: 15,2655 71507 MP SALFA # SIN(ALFA)
044855,000373: 15,2656 27701 ADS PREL # PREL TCDU/180=(P-SALF SR GAMDOT)TCDU/180
044856,000374:
044857,000375: 15,2657 31664 CA ROLL/180
044858,000376: 15,2660 04767 TC SPCOS
044859,000377: # # Page 1040
044860,000378: 15,2661 40000 COM
044861,000379: 15,2662 00006 EXTEND
044862,000380: 15,2663 71723 MP GAMDOT
044863,000381: 15,2664 27702 ADS QREL # QREL TCDU/180=(Q-CR GAMDOT) TCDU/180
044864,000382:
044865,000383: 15,2665 41721 CS JETEM +1 # B( ) = -SR GAMDOT
044866,000384: 15,2666 00006 EXTEND
044867,000385: 15,2667 71506 MP CALFA # COS(ALFA)
044868,000386: 15,2670 27703 ADS RREL # RREL TCDU/180=(R+CALF SR GAMDOT)TCDU/180
044869,000387:
044870,000388: 15,2671 34677 NOGAMDUT CA BIT12 # CMDAPARM = 93D BIT 12
044871,000389: 15,2672 70102 MASK CM/FLAGS
044872,000390: 15,2673 00006 EXTEND
044873,000391: 15,2674 15213 STBYDUMP BZF TASKOVER # DAP NOT ARMED.
044874,000392:
044875,000393: 15,2675 34672 CA POSMAX # PICK UP AT ATTRATES IN 10 MS OR SO.
044876,000394: 15,2676 54030 TS TIME5
044877,000395:
044878,000396: 15,2677 00006 EXTEND
044879,000397: 15,2700 32704 DCA ATDOTCAD
044880,000398: 15,2701 53313 DXCH T5LOC
044881,000399: # DOES NOT PROTECT TEMK, SQ IN SPSIN/COS
044882,000400:
044883,000401: 15,2702 05213 TC TASKOVER
044884,000402:
044885,000403: 15,2703 E6,1661 EBANK= AOG
044886,000404: 15,2703 02705 32066 ATDOTCAD 2CADR ATTRATES
044887,000405:
044888,000406: # # Page 1041
044889,000407: # CALCULATE BODY ATTITUDE RATES AND INTEGRATE TO OBTAIN ATTITUDE ANGLES.
044890,000408:
044891,000409: # CB PHIDOT TCDU/180 = (CA PREL + SA RREL) TCDU/180
044892,000410: # BETADOT TCDU/180 = (-SA PREL + CA RREL) TCDU/180
044893,000411: # ALFADOT TCDU = (QREL + SB PHIDOT) TCDU/180
044894,000412:
044895,000413: 15,2705 22016 ATTRATES LXCH BANKRUPT # CONTINUE HERE VIA T5
044896,000414: 15,2706 00006 EXTEND # TASK MAY BE SKIPPED AT RESTART.
044897,000415: 15,2707 22012 QXCH QRUPT
044898,000416: 15,2710 30021 CA SR
044899,000417: 15,2711 60000 DOUBLE
044900,000418: 15,2712 55623 TS CM/SAVE
044901,000419: # DOES NOT PROTECT TEMK, SQ IN SPSIN/COS
044902,000420:
044903,000421: 15,2713 31702 CA QREL
044904,000422: 15,2714 61665 AD ALFA/180
044905,000423: 15,2715 02542 TC ANGOVCOR
044906,000424: 15,2716 55665 TS ALFA/180
044907,000425: 15,2717 04767 TC SPCOS
044908,000426: 15,2720 55506 TS CALFA # CALFA
044909,000427: 15,2721 55705 TS PHIDOT
044910,000428:
044911,000429: 15,2722 00006 EXTEND
044912,000430: 15,2723 71701 MP PREL
044913,000431: 15,2724 57705 XCH PHIDOT # CA PREL
044914,000432: 15,2725 00006 EXTEND
044915,000433: 15,2726 71703 MP RREL # CA RREL
044916,000434: 15,2727 55704 TS BETADOT
044917,000435:
044918,000436: 15,2730 31665 CA ALFA/180
044919,000437: 15,2731 04770 TC SPSIN
044920,000438: 15,2732 55507 TS SALFA # SIN(ALFA)
044921,000439:
044922,000440: 15,2733 00006 EXTEND
044923,000441: 15,2734 71703 MP RREL # SA RREL
044924,000442: 15,2735 27705 ADS PHIDOT # CB PHIDOT, SAVED.
044925,000443:
044926,000444: 15,2736 41507 CS SALFA
044927,000445: 15,2737 00006 EXTEND
044928,000446: 15,2740 71701 MP PREL
044929,000447: 15,2741 27704 ADS BETADOT # SAVE BETADOT TCDU/180
044930,000448: 15,2742 27666 ADS BETA/180 # BETA DONE.
044931,000449:
044932,000450: 15,2743 04770 TC SPSIN
044933,000451: 15,2744 00006 EXTEND
044934,000452: 15,2745 71705 MP PHIDOT # NEGLECT CB IN CB PHIDOT
044935,000453: 15,2746 61665 AD ALFA/180
044936,000454: 15,2747 02542 TC ANGOVCOR
044937,000455: 15,2750 55665 TS ALFA/180 # ALFA DONE.
044938,000456:
044939,000457: # # Page 1042
044940,000458: 15,2751 40000 COM
044941,000459: 15,2752 61603 AD ALFACOM
044942,000460: 15,2753 02542 TC ANGOVCOR # JUST IN CASE ...
044943,000461: 15,2754 55477 TS AK1
044944,000462: 15,2755 55572 TS QAXERR # FOR PITCH FDAI AND EDIT.
044945,000463:
044946,000464: 15,2756 31705 CA PHIDOT # PHIDOT TCDU/180, NEGLECTING CB
044947,000465: 15,2757 61664 AD ROLL/180
044948,000466: 15,2760 02542 TC ANGOVCOR
044949,000467: 15,2761 55714 TS ROLLTM # ROLL/180 FOR TM.
044950,000468: 15,2762 55664 TS ROLL/180 # ROLL DONE.
044951,000469:
044952,000470: # START YAW AUTOPILOT HERE . RATE DAMPING WITH ENFORCED COORDINATED ROLL MANEUVER.
044953,000471:
044954,000472: 15,2763 34710 CA BIT3 # .05GSW =102D BIT3 SW=0, LESS .05G
044955,000473: 15,2764 70102 MASK CM/FLAGS # SWITCH =1, GREATER THAN .05 G
044956,000474: 15,2765 00006 EXTEND
044957,000475: 15,2766 13053 BZF EXDAP # IF G LESS THAN .05
044958,000476: 15,2767 44712 CS ONE # IF G GEQ THAN .05
044959,000477: 15,2770 55700 TS CMDAPMOD # SAVE -1 FOR USE IN CM/RCS
044960,000478:
044961,000479: 15,2771 55477 TS AK1 # TO ZERO PITCH AND YAW FDAI NEEDLES
044962,000480: 15,2772 55500 TS AK2 # IN ATM. (MODE =-1)
044963,000481:
044964,000482: 15,2773 31704 CA BETADOT
044965,000483: 15,2774 00006 EXTEND
044966,000484: 15,2775 11506 DV CALFA
044967,000485: 15,2776 03043 TC 2D/SDZ # GO TEST DZ. GET TAG: +0 IF IN DZ
044968,000486: 15,2777 50000 INDEX A # +/- 1 IF NOT
044969,000487: 15,3000 33215 CAF YJETCODE
044970,000488:
044971,000489: 15,3001 55720 TS JETEM
044972,000490:
044973,000491: # START PITCH AUTOPILOT HERE. RATE DAMPING ONLY.
044974,000492:
044975,000493: 15,3002 31702 CA QREL
044976,000494: 15,3003 03043 TC 2D/SDZ
044977,000495: 15,3004 50000 EXDAPIN INDEX A # COME HERE FROM EX ATM DAP
044978,000496: 15,3005 33220 CAF P/RJCODE
044979,000497: 15,3006 27720 ADS JETEM # COMBINE ALL NEW BITS.
044980,000498:
044981,000499: 15,3007 00006 EXTEND # DOES NOT REQUIRE SAVING OLD CODES.
044982,000500: 15,3010 01005 WRITE PYJETS # SET PYCHAN TO DESIRED BIT CONFIG.
044983,000501:
044984,000502: 15,3011 11711 CCS JETAG
044985,000503: 15,3012 03231 TC CM/RCS
044986,000504: 15,3013 03677 TC CM/FDAI
044987,000505: 15,3014 03677 TC CM/FDAI
044988,000506:
044989,000507: # # Page 1043
044990,000508: # DEAD ZONE LOGIC USED BY ENTRY DIGITAL AUTOPILOTS.
044991,000509:
044992,000510: 15,3015 10000 3DDZ CCS A # YAWLIM=1.0-3/180=16384-273=16111
044993,000511: 15,3016 63212 AD YAWLIM
044994,000512: 15,3017 13047 TCF DZCOM
044995,000513: 15,3020 63212 AD YAWLIM
044996,000514: 15,3021 13050 TCF DZNOCOM
044997,000515:
044998,000516: # BIASED DZ FOR EXT ATM DAP.
044999,000517: 15,3022 55624 BIASEDZ TS JETEM2 # SAVE RATE/180. ERROR/180 IS IN L.
045000,000518: 15,3023 10000 CCS A # START ERROR DZ.
045001,000519: 15,3024 43211 CS CM/BIAS # = .6/180
045002,000520: 15,3025 13027 TCF +2
045003,000521: 15,3026 33211 CA CM/BIAS
045004,000522: 15,3027 60001 AD L # BIAS THE ERROR.
045005,000523: 15,3030 22002 LXCH Q # SAVE CALLERS RETURN ADDRES.
045006,000524: 15,3031 03015 TC 3DDZ # GO GENERATE THE ERROR BIT.
045007,000525: 15,3032 52002 DXCH L # BIT TO L, RESTORE CALLERS Q.
045008,000526: 15,3033 11624 4D/SDZ CCS JETEM2 # CAME HERE IN EXT ATM. C(L) = ERROR BIT
045009,000527: 15,3034 63207 AD 4D/SLIM # IF RATE GEQ 4D/S, SET L=0 AND TAKE
045010,000528: 15,3035 13037 TCF +2 # JET BITS ACCORDING TO SGN OF RATE.
045011,000529: 15,3036 63207 AD 4D/SLIM
045012,000530: 15,3037 54000 TS A
045013,000531: 15,3040 13042 TCF +2 # RATE OK. CONTINUE
045014,000532: 15,3041 22007 ZL # RATE GEQ 4 D/S. OVER RIDE ERROR BIT
045015,000533: 15,3042 57624 XCH JETEM2 # AND CONTINUE TO GET SIGN.
045016,000534:
045017,000535: 15,3043 10000 2D/SDZ CCS A # COME HERE TO TEST IF A WITHIN 2DEG/S DZ
045018,000536: 15,3044 63210 AD YDOTLIM # 1.0 - YDOT DZ ( OR PDOT)
045019,000537: 15,3045 13050 TCF +3
045020,000538: 15,3046 63210 AD YDOTLIM # YDOT DZ = 2 DEG/SEC
045021,000539: 15,3047 40000 DZCOM COM
045022,000540: 15,3050 55721 DZNOCOM TS JETEM +1 # GENERATE TAG, SET C(A)= -+1 OUTSIDE DZ
045023,000541: 15,3051 34714 CA ZERO # SET C(A) = +0 INSIDE
045024,000542: 15,3052 00002 TC Q
045025,000543:
045026,000544: # # Page 1044
045027,000545: # EXTRA ATMOSPHERIC DIGITAL AUTOPILOT
045028,000546:
045029,000547: # 1. IF ABS(CALF) -C(45) POS, USE IF CALFA POS, CMDAPMOD= +0
045030,000548: # BETA: YAW ERROR = SGN(CALF) (BETACOM -BETA) IF CALFA NEG, CMDAPMOD =-0
045031,000549: # RATE = BETADOT IF CMDAPMOD =-0, RATE = RREL
045032,000550: # R-AXIS = CONTROL
045033,000551:
045034,000552: # ROLL: ROLL ERROR = SGN(CALF) (ROLLC - ROLL) IF CMDAPMOD = -0, RATE DAMP ONLY.
045035,000553: # RATE = PREL
045036,000554: # P-AXIS = CONTROL
045037,000555:
045038,000556: # 2. IF C(45) GEQ CALFA GEQ -C(45), USE CMDAPMOD = +1
045039,000557: # BETA: ROLL ERROR = SGN(-SALF) (BETACOM -BETA)
045040,000558: # RATE = BETADOT
045041,000559: # P-AXIS = CONTROL
045042,000560:
045043,000561: # ROLL: YAW ERROR = SGN(SALF) (ROLLC - ROLL) RATE DAMP ONLY.
045044,000562: # RATE = RREL
045045,000563: # R-AXIS = CONTROL
045046,000564:
045047,000565: # 3. FOR ALL CASES, USE
045048,000566: # ALFA: PITCH ERROR = (ALFACOM - ALFA)
045049,000567: # RATE = QREL
045050,000568: # Q-AXIS = CONTROL
045051,000569:
045052,000570:
045053,000571:
045054,000572: 15,3053 55700 EXDAP TS CMDAPMOD # +0 FOR NOW
045055,000573: 15,3054 41666 CS BETA/180
045056,000574: 15,3055 61604 AD BETACOM
045057,000575: 15,3056 55721 TS JETEM +1 # PRESERV THIS FOR A WHILE.
045058,000576:
045059,000577: 15,3057 11506 CCS CALFA
045060,000578: 15,3060 63213 AD C45LIM # =1.0-COS(45)
045061,000579: 15,3061 13063 TCF +2
045062,000580: 15,3062 63213 AD C45LIM
045063,000581: 15,3063 54000 TS A
045064,000582: 15,3064 13143 TCF EXDAP2 # HERE IF ABS(CALFA) L COS(45)
045065,000583:
045066,000584: 15,3065 11727 CCS P63FLAG
045067,000585: 15,3066 03101 TC EXDAP4
045068,000586: 15,3067 03071 TC +2
045069,000587: 15,3070 03101 TC EXDAP4
045070,000588: 15,3071 05301 TC PHASCHNG # SINGLE PASS THROUGH HERE.
045071,000589: 15,3072 40334 OCT 40334
045072,000590: 15,3073 44712 CS ONE
045073,000591: 15,3074 55727 TS P63FLAG # SET FLAG TO ASSURE SINGLE PASS.
045074,000592: 15,3075 33206 CA NSEC
045075,000593: 15,3076 05140 TC WAITLIST
045076,000594: 15,3077 E6,1661 EBANK= AOG
045077,000595: # # Page 1045
045078,000596: 15,3077 02374 54066 2CADR WAKEP62 # CALL TO TERMINATE P62 IN N SEC.
045079,000597:
045080,000598: # 65 DEG/ 3DEG/SEC = 21 SEC NOMINAL
045081,000599: # TRANSIT TIME FROM ALFA=45 TO ALFA TRIM.
045082,000600:
045083,000601: 15,3101 11711 EXDAP4 CCS JETAG # ROLLJET INTERFACE TEST BETWEEN .1 SEC
045084,000602: 15,3102 13110 TCF EXDAP3 # DAP AND THE 2 SEC CM/RCS DAP
045085,000603: 15,3103 13110 TCF EXDAP3
045086,000604: 15,3104 34714 CA ZERO
045087,000605: 15,3105 00006 EXTEND # TURN OFF ROLL JETS IF ON AND WAIT
045088,000606: 15,3106 01006 WRITE ROLLJETS # UNTIL START OF 2 SEC CM/RCS CYCLE
045089,000607: 15,3107 55711 TS JETAG # RESTORE PROPER VALUE +0
045090,000608:
045091,000609: # ROLL FDAI WILL BE IN ERROR UNTIL NEXT CM/RCS CALL.
045092,000610: 15,3110 11506 EXDAP3 CCS CALFA # HERE IF ABS(CALFA) GEQ COS(45)
045093,000611: 15,3111 31721 CA JETEM +1
045094,000612: 15,3112 13116 TCF EXDAP1
045095,000613: 15,3113 44714 CS ZERO
045096,000614: 15,3114 55700 TS CMDAPMOD # FOR CM/RCS
045097,000615: 15,3115 41721 CS JETEM +1
045098,000616: 15,3116 55573 EXDAP1 TS RAXERR # FOR YAW FDAI
045099,000617: 15,3117 55500 TS AK2 # WANT RAXERR FOR TM.
045100,000618: 15,3120 54001 TS L
045101,000619: 15,3121 11700 CCS CMDAPMOD # COORDINATE BETA CONTROL.
045102,000620: 15,3122 03125 TC +3 # C(CMDAPMOD) CAN BE +1, +0, OR -0.
045103,000621: 15,3123 34712 CA ONE # USE BETADOT TO COORD IN MODE +0
045104,000622: 15,3124 50000 INDEX A # OTHERWISE USE RREL.
045105,000623: 15,3125 31703 CA RREL
045106,000624: 15,3126 03022 TC BIASEDZ # GO TEST DZ. +0 IF IN DZ, +-1 OTHERWISE
045107,000625: # IF GEQ 4D/S, SET ERROR BIT IN L =0)
045108,000626: 15,3127 00006 EXTEND
045109,000627: 15,3130 04001 ROR LCHAN # L HAS BETA BIT
045110,000628: 15,3131 50000 INDEX A
045111,000629: 15,3132 33215 CAF YJETCODE
045112,000630: 15,3133 55720 TS JETEM
045113,000631:
045114,000632: 15,3134 31572 CA QAXERR # ALFA ERROR.
045115,000633: 15,3135 54001 TS L
045116,000634: 15,3136 31702 CA QREL # FOR ALPHADOT USE QREL
045117,000635: 15,3137 03022 TC BIASEDZ
045118,000636: 15,3140 00006 EXTEND
045119,000637: 15,3141 04001 ROR LCHAN
045120,000638: 15,3142 13004 TCF EXDAPIN # CONTINUE ON IN DAP
045121,000639:
045122,000640: 15,3143 25700 EXDAP2 INCR CMDAPMOD # SET CMDAPMOD TO +1
045123,000641:
045124,000642: 15,3144 44712 CS ONE # INDICATE CHANGE FROM .1 SEC UPDATE TO
045125,000643: 15,3145 55711 TS JETAG # TO 2 SEC FOR ROLL JETS.( IF CMDAPMOD
045126,000644: # =0 AND JETAG =-1, QUENCHES JETS IF ON)
045127,000645:
045128,000646: # # Page 1046
045129,000647: 15,3146 11727 CCS P63FLAG # IF FLAG WAS +1, SET =0.
045130,000648: 15,3147 55727 TS P63FLAG
045131,000649: 15,3150 13151 NOOP
045132,000650:
045133,000651: 15,3151 11507 CCS SALFA # BETA CONTROL WITH P JETS
045134,000652: 15,3152 41721 CS JETEM +1
045135,000653: 15,3153 13155 TCF +2
045136,000654: 15,3154 31721 CA JETEM +1
045137,000655: 15,3155 55713 TS PAXERR1 # TEMP SAVE. ERROR/180
045138,000656: 15,3156 00006 EXTEND
045139,000657: 15,3157 74675 MP HALF # CM/FDAI EXPECTS ERROR/360.
045140,000658: 15,3160 57713 XCH PAXERR1 # ERROR/360 FOR FDAI, GET ERROR/180.
045141,000659: 15,3161 54001 TS L
045142,000660: 15,3162 11507 CCS SALFA
045143,000661: 15,3163 41704 CS BETADOT # USE BETADOT TO COORD IN MODE +1
045144,000662: 15,3164 03166 TC +2
045145,000663: 15,3165 31704 CA BETADOT
045146,000664: 15,3166 03022 TC BIASEDZ
045147,000665: 15,3167 00006 EXTEND
045148,000666: 15,3170 04001 ROR LCHAN
045149,000667: 15,3171 50000 INDEX A
045150,000668: 15,3172 33220 CAF P/RJCODE # GET ROLL CODE
045151,000669: 15,3173 00006 EXTEND # ROLL CONTROL WITH YAW JETS.
045152,000670: 15,3174 01006 WRITE ROLLJETS # WE,LL SKIP REGULAR ROLL SYST
045153,000671:
045154,000672: 15,3175 31717 CA ROLLHOLD # ROLL/180 AT CM/DAPON TIME.
045155,000673: 15,3176 00006 EXTEND
045156,000674: 15,3177 21664 MSU ROLL/180 # 1,S COMPL, BUT SO WHATS A BIT.?
045157,000675: 15,3200 54001 TS L # FORCE A LIMIT CYCLE IN YAW RATE.
045158,000676: 15,3201 11507 CCS SALFA
045159,000677: 15,3202 30001 CA L # TO REMOVE ITS BIASING EFFECT ON M DOT.
045160,000678: 15,3203 03116 TC EXDAP1
045161,000679: 15,3204 40001 CS L
045162,000680: 15,3205 03116 TC EXDAP1
045163,000681:
045164,000682: 15,3206 04064 NSEC DEC 2100 B-14 # 65 DEG/ 3 DEG/SEC
045165,000683: # IF NSEC IS CHANGED, REMEMBER TO CHANGE 4.33SPOT.
045166,000684: 15,3207 37734 4D/SLIM DEC 16348 B-14 # 1.0 -4/180 D/S = 4/1800 EXP 14
045167,000685: 15,3210 37756 YDOTLIM DEC 16366 B-14 # =1.0 - YDOT DZ= 16384 -18
045168,000686: # YDOT DZ = YDOT TCDU/180 = 2/1800 EXP 14
045169,000687:
045170,000688: 15,3211 00067 CM/BIAS DEC 55 B-14 # =.6/180 B14 = 55
045171,000689: 15,3212 37267 YAWLIM DEC 16055 B-14 # YAWLIM=1.0-3.6/180=16384-329=16055
045172,000690: 15,3213 11277 C45LIM DEC .29289 # =1.0-COS(45)
045173,000691:
045174,000692: # JET CODE TABLES FOLLOW _
045175,000693:
045176,000694: 15,3214 00120 OCTAL 00120 # POS Y
045177,000695: 15,3215 00000 YJETCODE OCTAL 00000 # RCS JET BITS
045178,000696: 15,3216 00240 OCTAL 00240 # NEG Y
045179,000697: # # Page 1047
045180,000698: 15,3217 00005 OCTAL 00005 # POS R JET BITS ALSO POS P JET BITS
045181,000699: 15,3220 00000 P/RJCODE OCTAL 00000
045182,000700: 15,3221 00012 OCTAL 00012 # NEG R ALSO NEG P
045183,000701:
045184,000702: # # Page 1048
045185,000703: # RCS THIS SECTION IS ENTERED EACH 2 SEC BY WAITLIST CALL FOLLOWING A DELAY OF 1.2 SEC AFTER PIPUP.
045186,000704: # THE TASK SETJTAG SETS A FLAG IN JETAG TO SIGNIFY THAT ROLL UPDATE IS DUE. IN ROUGHLY 5 CS BPDYRATE WILL BE
045187,000705: # EXECUTED AND JETAG WILL CAUSE CM/RCS TO ACT ON ROLLC IMMEDIATELY THEREAFTER. THE
045188,000706: # TASK SAVES THE CALL TIME SO THAT CM/RCS CAN DETERMINE HOW MUCH OF THE 2 SEC INTERVAL REMAINS BEFORE THE
045189,000707: # NEXT UPDATE.
045190,000708:
045191,000709: 15,3222 40025 SETJTAG CS TIME1 # SAVE NOMINAL UPDATE TIME FOR SYNCH
045192,000710: 15,3223 55712 TS TUSED
045193,000711: # THE 5 CS APPEARS IN TIMETST.
045194,000712: 15,3224 34712 CA ONE # RATHER THAN INCR, FOR SAFETY
045195,000713: 15,3225 55711 TS JETAG # SET JETAG=1 TO CAUSE CM/RCS TO BE
045196,000714: 15,3226 05301 TC PHASCHNG
045197,000715: 15,3227 00001 OCT 00001
045198,000716:
045199,000717: 15,3230 05213 TC TASKOVER # EXECUTED AFTER NEXT BODYRATE UPDATE
045200,000718:
045201,000719: # PREDICTIVE ROLL SYSTEM ENTRY STEERING PROVIDES ROLL COMMAND IN LOC ROLLC. THE FOLLOWING CALCULATES THE
045202,000720: # TRAJECTORY TO THE ORIGIN IN PHASE PLANE (X,V). PROGRAM ENTERS JET ON AND OFF CALLS INTO WTLST TO PRODUCE
045203,000721: # THE DESIRED TRAJECTORY. ONLY THOSE CALLS WHICH CAN BE EXECUTED WITHIN THE INTERVAL T (2 SEC) ARE ENTERED IN
045204,000722: # WTLST, THE REMAINDER ARE RECONSIDERED AT NEXT UPDATE.
045205,000723:
045206,000724: 15,3231 4674 HALFPR EQUALS NEG1/2 +1
045207,000725:
045208,000726: # CLEAR JETAG BEFORE TIMETST. SET TO +0 TO SHOW
045209,000727: # ROLL DAP CALLED. IN EVENT OF RESTART, BODYRATE
045210,000728: # MAY MISS A CYCLE. CM/RCS WILL MISS A CYCLE ONLY
045211,000729: # IF A RESTART OCCURS AFTER TIMETST COMMENCES.
045212,000730:
045213,000731: 15,3231 44712 CM/RCS CS ONE
045214,000732: 15,3232 55617 TS JNDX # SET NDX FOR POS ROLL, AND CHANGE LATER
045215,000733:
045216,000734: 15,3233 44726 CS 2T/TCDU # ROLLDOT = DELAOG + DELAIG SINM =DELR
045217,000735: 15,3234 00006 EXTEND
045218,000736: 15,3235 71701 MP PREL # DELR/180 = RDOT TCDU/180 = RDOT/1800
045219,000737: 15,3236 60001 AD L # -2 RDOT T/180 IN L
045220,000738: 15,3237 55613 TS -VT/180 # SAVE -2VT/180 HERE
045221,000739:
045222,000740: 15,3240 41664 CS ROLL/180
045223,000741: 15,3241 54021 TS SR # SAVE (-R/180) /2
045224,000742:
045225,000743: 15,3242 40102 CS CM/FLAGS
045226,000744: 15,3243 74707 MASK BIT4 # LATSW = 101D BIT4
045227,000745: 15,3244 00006 EXTEND # ROLL OVER TOP $
045228,000746: 15,3245 13253 BZF GETLCX # NO, TAKE SHORTEST PATH
045229,000747: 15,3246 26102 ADS CM/FLAGS # YES, ENFORCE ROLL OVER TOP.. (BIT =0)
045230,000748: 15,3247 31715 CA ROLLC # (ROLLC/180) /2
045231,000749: 15,3250 60021 AD SR # -(R/180) /2
045232,000750: 15,3251 57614 XCH LCX/360 # DIFFERENT X REQD HERE. DISCONT AT 180.
045233,000751: 15,3252 13313 TCF COMPAT # POSSIBLE OVFL ABOVE.
045234,000752:
045235,000753: # # Page 1049
045236,000754: 15,3253 34675 GETLCX CA POS1/2 # FORM RCOM/360
045237,000755: 15,3254 60000 DOUBLE
045238,000756: 15,3255 61715 AD ROLLC
045239,000757: 15,3256 57614 XCH LCX/360 # IGNORE POSSIBLE OVFL.
045240,000758:
045241,000759: 15,3257 30021 CA SR # FORM -R/360
045242,000760: 15,3260 64673 AD NEG1/2
045243,000761: 15,3261 64673 AD NEG1/2 # IGNORE OVFL
045244,000762: 15,3262 57614 XCH LCX/360 # -R/360
045245,000763: 15,3263 27614 ADS LCX/360 # LCX/360 = RCOM/360 -R/360 RANGE (-1,1)
045246,000764:
045247,000765: # DOES SGN(-VT) (VT/180) (VT/180) (180/(4 A1 TT COSALFA)) + X/360 + SGN(X) / 2 OVFL ?
045248,000766:
045249,000767: 15,3264 11613 CCS -VT/180 # TAKE SHORTEST ANGULAR PATH
045250,000768: 15,3265 64712 AD ONE # (BASED ON SINGLE JET ACCELERATION)
045251,000769: 15,3266 13270 TCF +2
045252,000770: 15,3267 64712 AD ONE
045253,000771: 15,3270 00006 EXTEND
045254,000772: 15,3271 71613 MP -VT/180 # C(-VT/180) = -2 VT/180
045255,000773: 15,3272 00006 EXTEND
045256,000774: 15,3273 73754 MP 1/16A1 # = 180/(16 A1 TT )
045257,000775: 15,3274 00006 EXTEND
045258,000776: 15,3275 11506 DV CALFA
045259,000777: 15,3276 54001 TS L
045260,000778: 15,3277 11614 CCS LCX/360
045261,000779: 15,3300 34675 CAF POS1/2
045262,000780: 15,3301 13303 TCF +2
045263,000781: 15,3302 44675 CS POS1/2
045264,000782: 15,3303 61614 AD LCX/360 # IS LCX/360 LESS THAN 180 DEG $
045265,000783: 15,3304 60001 AD L
045266,000784: 15,3305 54001 TS L
045267,000785: 15,3306 13313 TCF COMPAT # YES, GO ON.
045268,000786: 15,3307 50000 TRTAGXPI INDEX A # NO, SHIFT X BY - SGN(X) 2 PI
045269,000787: 15,3310 44674 CS HALFPR # +A YIELDS -1/2
045270,000788: 15,3311 60000 DOUBLE
045271,000789: 15,3312 27614 ADS LCX/360
045272,000790:
045273,000791: 15,3313 31614 COMPAT CA LCX/360 # CORRECT FOR ASSUMED COORD TURN.
045274,000792: 15,3314 00006 EXTEND
045275,000793: 15,3315 71506 MP CALFA # COS ALFA
045276,000794: 15,3316 55614 TS LCX/360 # SCALED LCX OK HERE.
045277,000795:
045278,000796: 15,3317 11700 CCS CMDAPMOD # FOUR POSSIBILITIES HERE
045279,000797: 15,3320 03675 TC DZCALL1 # EXIT, SETTING JETAG=0.(C(A)=0)
045280,000798: # ALL 3 AXES ALREADY DONE.
045281,000799: 15,3321 03322 TC +1 # G LESS THAN .05. CA POS. CONTINUE
045282,000800: 15,3322 31614 CA LCX/360 # G GEQ .05. CONTINUE IN CM/RCS
045283,000801: 15,3323 55614 TS LCX/360 # CMDAPMOD=-0. DAMPING ONLY. SET LCX=0
045284,000802: 15,3324 55713 TS PAXERR1 # SAVE LCX FOR FDAI AND EDIT.( /360)
045285,000803:
045286,000804: # # Page 1050
045287,000805: 15,3325 31613 CA -VT/180 # GET - 2 VT/180
045288,000806: 15,3326 54021 TS SR
045289,000807: 15,3327 30021 CA SR # GET -VT/180, LEAVE -VT/360 IN SR FOR DZ
045290,000808: 15,3330 55570 TS -VT/180E # DIAGNOSTIC ****
045291,000809: 15,3331 57613 XCH -VT/180 # NOW CONTENTS OF -VT/180 AS LABELED
045292,000810: 15,3332 00006 EXTEND
045293,000811: 15,3333 71613 MP -VT/180 # B(A) = -ZVT/180
045294,000812: 15,3334 00006 EXTEND
045295,000813: 15,3335 73754 MP 180/8ATT
045296,000814: 15,3336 55616 TS VSQ/4API
045297,000815:
045298,000816: # IS SGN(VT) ( (180/4A1 TT) VT/180 VT/180 - .5 BUFLIM/360 ) -X/360 - .5 BUFLIM/360 POS ?
045299,000817:
045300,000818: 15,3337 60000 WHICHALF DOUBLE # FOR SECOND BURN, A1
045301,000819: 15,3340 40000 COM
045302,000820: 15,3341 63761 AD BUFLIM # =BUFLIM/(2 360)
045303,000821: 15,3342 54001 TS L
045304,000822: 15,3343 11613 CCS -VT/180
045305,000823: 15,3344 40001 CS L
045306,000824: 15,3345 13347 TCF +2
045307,000825: 15,3346 30001 CA L
045308,000826: 15,3347 61614 AD LCX/360
045309,000827: 15,3350 63761 AD BUFLIM
045310,000828: 15,3351 00006 EXTEND
045311,000829: 15,3352 63367 BZMF REFLECT # POINT (X,V) IN LHP.
045312,000830:
045313,000831: # IS SGN(VT) ( (180/4A1 TT) VT/180 VT/180 - .5 BUFLIM/360 ) -X/360 + .5 BUFLIM/360 NEG ?
045314,000832:
045315,000833: 15,3353 40000 COM
045316,000834: 15,3354 63761 AD BUFLIM
045317,000835: 15,3355 63761 AD BUFLIM
045318,000836: 15,3356 00006 EXTEND
045319,000837: 15,3357 63376 BZMF DZ1 # POINT (X,V) IN RHP.
045320,000838:
045321,000839: # IS POINT WITHIN VELOCITY DZ ?
045322,000840:
045323,000841: 15,3360 43753 CS VSQMIN # IS VSQ/4API - (VSQ/4API) MIN NEG ?
045324,000842: 15,3361 61616 AD VSQ/4API
045325,000843: 15,3362 00006 EXTEND
045326,000844: 15,3363 63671 BZMF DZCALL # YES.
045327,000845:
045328,000846: # POINT IS IN BUFFER ZONE. THRUST TO X AXIS.
045329,000847:
045330,000848: 15,3364 41617 CS JNDX
045331,000849: 15,3365 55620 TS JNDX1
045332,000850: 15,3366 03451 TC OVRLINE1
045333,000851:
045334,000852: 15,3367 41613 REFLECT CS -VT/180 # RELFECT LHP INTO RHP REL TO TERM CONTR
045335,000853: 15,3370 55613 TS -VT/180
045336,000854: 15,3371 54021 TS SR # -VT/360 SAVED FOR DZ.
045337,000855: # # Page 1051
045338,000856: 15,3372 41614 CS LCX/360
045339,000857: 15,3373 55614 TS LCX/360
045340,000858: 15,3374 41617 CS JNDX
045341,000859: 15,3375 55617 TS JNDX
045342,000860:
045343,000861: # IS VSQ/4API - (VSQ/4API) MIN NEG $
045344,000862:
045345,000863: 15,3376 43753 DZ1 CS VSQMIN # IS VSQ/4API - (VSQ/4API) MIN NEG $
045346,000864: 15,3377 61616 AD VSQ/4API
045347,000865: 15,3400 00006 EXTEND
045348,000866: 15,3401 63403 BZMF DZ2 # YES, GO TEST FURTHER.
045349,000867: 15,3402 13410 TCF MAXVTEST # NO
045350,000868:
045351,000869: # IS X/360 - XMIN/360 -VT/360 NEG $
045352,000870:
045353,000871: 15,3403 43757 DZ2 CS XMIN/360 # XMIN/360 = 4/360
045354,000872: 15,3404 61614 AD LCX/360
045355,000873: 15,3405 60021 AD SR # C(SR) = -VT/360
045356,000874: 15,3406 00006 EXTEND # IS X/360 - XMIN/360 -VT/360 NEG $
045357,000875: 15,3407 63671 BZMF DZCALL # YES,IN DZ. EXIT SETTING JETAG=0.
045358,000876:
045359,000877: # IS XD/360 - VM/360K - XS/360 POS ?
045360,000878:
045361,000879: 15,3410 41617 MAXVTEST CS JNDX
045362,000880: 15,3411 55620 TS JNDX1 # NOW CAN SET JNDX1 FOR TON2 JETS.
045363,000881: 15,3412 43761 CS XS/360 # XS/360 = (XMIN -YMIN/K) /360
045364,000882: 15,3413 61616 AD VSQ/4API
045365,000883: 15,3414 61614 AD LCX/360
045366,000884: 15,3415 55615 TS XD/360 # XD/360= X/360 +VSQ/4API X INTERCEPT
045367,000885: # BUT C(XD/360) = (XD - XS) /360
045368,000886: 15,3416 63760 AD -VM/360K # X INTERCEPT FOR MAX V (VM)
045369,000887: 15,3417 40000 COM
045370,000888: 15,3420 00006 EXTEND
045371,000889: 15,3421 63427 BZMF MAXVTIM1 # YES, THRUST TO VM
045372,000890: 15,3422 31615 CA XD/360
045373,000891: 15,3423 00006 EXTEND
045374,000892: 15,3424 74675 MP KTRCS
045375,000893: 15,3425 20001 DDOUBL # GO SAVE PREDICTED DRIFTING VELOCITY.
045376,000894:
045377,000895: 15,3426 03432 TC GETON1 # INSURE THAT Q IS POS AS TAG.
045378,000896: 15,3427 00006 MAXVTIM1 EXTEND
045379,000897: 15,3430 22007 ZQ # SET +0 AS TAG
045380,000898: 15,3431 33755 CA VMT/180
045381,000899: 15,3432 55567 GETON1 TS VDT/180 # VDT/180 OR VMT/180.
045382,000900: 15,3433 61613 AD -VT/180
045383,000901: 15,3434 60000 DOUBLE
045384,000902: 15,3435 00006 EXTEND
045385,000903: 15,3436 73754 MP 180/8ATT
045386,000904: 15,3437 55621 TS TON1 # TON1 / 4T
045387,000905:
045388,000906: # # Page 1052
045389,000907: 15,3440 00006 EXTEND
045390,000908: 15,3441 63443 BZMF OVRLINE
045391,000909: 15,3442 03455 TC GETON2 # RESET Q POS IF CAME FROM MAXVTIM1
045392,000910:
045393,000911: 15,3443 10002 OVRLINE CCS Q
045394,000912: 15,3444 13451 TCF OVRLINE1
045395,000913: 15,3445 31620 MAXVTIM2 CA JNDX1 # ABOVE VM, SO THRUST DOWN
045396,000914: 15,3446 55617 TS JNDX
045397,000915: 15,3447 41621 CS TON1
045398,000916: 15,3450 13454 TCF OVRLINE2 +1
045399,000917:
045400,000918: 15,3451 41613 OVRLINE1 CS -VT/180 # DRIFT AT V
045401,000919: 15,3452 55567 TS VDT/180
045402,000920: 15,3453 34714 OVRLINE2 CA ZERO
045403,000921: 15,3454 55621 TS TON1
045404,000922: 15,3455 31567 GETON2 CA VDT/180 # VDT/180, OR VMT/180 OR VT/180
045405,000923: 15,3456 60000 DOUBLE
045406,000924: 15,3457 00006 EXTEND
045407,000925: 15,3460 73754 MP 180/8ATT
045408,000926: 15,3461 60000 DOUBLE # FOR SECOND BURN, A1
045409,000927: 15,3462 55607 TS TON2 # = TON2 / 4T
045410,000928:
045411,000929: 15,3463 40000 COM
045412,000930: 15,3464 00006 EXTEND
045413,000931: 15,3465 63471 BZMF GETOFF
045414,000932: 15,3466 55607 TS TON2
045415,000933: 15,3467 31617 CA JNDX
045416,000934: 15,3470 55620 TS JNDX1
045417,000935:
045418,000936: 15,3471 41607 GETOFF CS TON2 # TON2 / 4T
045419,000937: 15,3472 00006 EXTEND
045420,000938: 15,3473 71567 MP VDT/180 # VDT/180, OR VT/180, OR VMT/180.
045421,000939: 15,3474 55615 TS XD/360 # USE AS TEMP
045422,000940: 15,3475 41567 CS VDT/180
045423,000941: 15,3476 00006 EXTEND
045424,000942: 15,3477 13513 BZF TOFFOVFL # OMIT THE DIVIDE IF DEN = 0.
045425,000943: 15,3500 61613 AD -VT/180
045426,000944: 15,3501 00006 EXTEND
045427,000945: 15,3502 71621 MP TON1 # TON1 /4T
045428,000946: 15,3503 61615 AD XD/360 # TEMP = -VDT/180 / 2 TON2
045429,000947: 15,3504 61614 AD LCX/360
045430,000948: 15,3505 22007 ZL
045431,000949: 15,3506 56001 XCH L # TEST THE DIVIDE
045432,000950: 15,3507 00006 EXTEND
045433,000951: 15,3510 11567 DV VDT/180
045434,000952: 15,3511 00006 EXTEND
045435,000953: 15,3512 13515 BZF GETOFF2 # DIVIDE OK
045436,000954:
045437,000955: 15,3513 34740 TOFFOVFL CA 2JETT # OVFL, USE 2T FOR CONVENIENCE.
045438,000956: 15,3514 13522 TCF TIMSCAL
045439,000957: # # Page 1053
045440,000958: 15,3515 56001 GETOFF2 XCH L # GET NUMERATOR.
045441,000959: 15,3516 00006 EXTEND
045442,000960: 15,3517 11567 DV VDT/180 # C(A) = TOFF / 2T
045443,000961: 15,3520 00006 EXTEND
045444,000962: 15,3521 74740 MP 2JETT
045445,000963: 15,3522 55605 TIMSCAL TS TOFF # IN CS
045446,000964:
045447,000965: 15,3523 33756 CAF 4JETT
045448,000966: 15,3524 00006 EXTEND
045449,000967: 15,3525 71621 MP TON1 # C(TON1) = TON1 / 4T
045450,000968: 15,3526 55621 TS TON1 # IN CS
045451,000969:
045452,000970: 15,3527 33756 CAF 4JETT
045453,000971: 15,3530 00006 EXTEND
045454,000972: 15,3531 71607 MP TON2 # C(TON2) = TON2 / 4T
045455,000973: 15,3532 55607 TS TON2 # IN CS
045456,000974:
045457,000975: 15,3533 34714 CA ZERO # CANNOT REDO AFTER TIMETST. TUSED GONE
045458,000976: 15,3534 55711 TS JETAG # SET +0 TO SHOW ROLL DAP CALLED.
045459,000977:
045460,000978: # CAUSE THE TM OF BODY RATES VIA UPBUFF TO BE
045461,000979: # INITIALIZED. ALSO CAUSE NEEDLES TO BE DONE ON EXIT
045462,000980: # AND ON ALTERNATE PASSES THROUGH CM/DUMPR.
045463,000981:
045464,000982: 15,3535 34712 CA ONE
045465,000983: 15,3536 54305 TS SW/NDX
045466,000984:
045467,000985: # # Page 1054
045468,000986: # TIMETEST SECTION FOR RCS
045469,000987: # ENTER WITH THREE TIME INTERVALS AND THE CORRESPONDING JET CODE INDEXES IN ERASEABLE LOCS TON1, TOFF, TON2, JNDX
045470,000988: # JNDX1. SECTION PROCESSES TIME INTERVALS FOR WTLST CALLS AND ASSURES THAT WTLST CALLS ARE MADE ONLY
045471,000989: # (1) FOR POS INTERVALS GREATER THAN A SPECIFIED MINIMUM ( HERE CHOSEN AS 2 CS) AND
045472,000990: # (2) FOR THE INTERVALS THAT WILL BE EXECUTED WITHIN THE TIME REMAINING IN THE SAMPLE INTERVAL T (2 SEC).
045473,000991: # TIMETST ESTABLISHES 6 LOCS CONTAINING JET CODES AND CORRESPONDING TIME INTERVALS. THUS: TON1, T1BITS,
045474,000992: # TOFF, TBITS, TON2, T2BITS. OF THESE THE FIRST 2 LOCS ARE TEMPORARY, FOR IMMEDIATE ACTION, IN GENERAL.
045475,000993: # SECTION JETCALL BELOW PROCESSES THIS LIST.
045476,000994:
045477,000995: 15,3537 30025 TIMETST CA TIME1 # CORRECT FOR POSSIBLE TIME1 OVFL.
045478,000996: 15,3540 64675 AD POS1/2
045479,000997: 15,3541 64675 AD POS1/2 # OVFL GUARANTEED.
045480,000998: 15,3542 27712 ADS TUSED # B(TUSED) =-TUSED =-OLTIME1
045481,000999:
045482,001000: 15,3543 33752 CA -T-3 # =-T +2 -5 (SEE SETJTAG)
045483,001001: # THE +2 REQUIRED FOR PROPER BRANCH.
045484,001002: 15,3544 27712 ADS TUSED # TUSED = TIME(K)-TIME(K-1)-T+2
045485,001003:
045486,001004: 15,3545 44711 CS TWO # USE 2 SINCE TIME3 UNCERTAIN TO 1
045487,001005: 15,3546 61621 AD TON1
045488,001006: 15,3547 00006 EXTEND
045489,001007: 15,3550 63562 BZMF TIMETST1
045490,001008: 15,3551 51617 INDEX JNDX
045491,001009: 15,3552 33220 CAF P/RJCODE
045492,001010: 15,3553 55622 TS T1BITS
045493,001011:
045494,001012: 15,3554 31621 CA TON1
045495,001013: 15,3555 27712 ADS TUSED
045496,001014: 15,3556 00006 EXTEND
045497,001015: 15,3557 63564 BZMF TOFFTEST
045498,001016: 15,3560 34714 CA ZERO
045499,001017: 15,3561 13615 TCF TIMETST3
045500,001018: 15,3562 44712 TIMETST1 CS ONE
045501,001019: 15,3563 55621 TS TON1
045502,001020: 15,3564 44711 TOFFTEST CS TWO
045503,001021: 15,3565 61605 AD TOFF
045504,001022: 15,3566 00006 EXTEND
045505,001023: 15,3567 63576 BZMF TIMETST2
045506,001024: 15,3570 31605 CA TOFF
045507,001025: 15,3571 27712 ADS TUSED
045508,001026: 15,3572 00006 EXTEND
045509,001027: 15,3573 63600 BZMF TON2TEST
045510,001028: 15,3574 34714 CA ZERO
045511,001029: 15,3575 13617 TCF TIMETST4
045512,001030: 15,3576 44712 TIMETST2 CS ONE
045513,001031: 15,3577 55605 TS TOFF
045514,001032: 15,3600 44711 TON2TEST CS TWO
045515,001033: 15,3601 61607 AD TON2
045516,001034: 15,3602 00006 EXTEND
045517,001035: 15,3603 63620 BZMF TIMETST5
045518,001036: # # Page 1055
045519,001037: 15,3604 51620 INDEX JNDX1
045520,001038: 15,3605 33220 CAF P/RJCODE
045521,001039: 15,3606 55610 TS T2BITS
045522,001040: 15,3607 31607 CA TON2
045523,001041: 15,3610 27712 ADS TUSED
045524,001042: 15,3611 00006 EXTEND
045525,001043: 15,3612 63622 BZMF JETCALL1
045526,001044: 15,3613 34714 CA ZERO
045527,001045: 15,3614 13621 TCF TIMETST5 +1
045528,001046: 15,3615 55621 TIMETST3 TS TON1
045529,001047: 15,3616 44712 CS ONE
045530,001048: 15,3617 55605 TIMETST4 TS TOFF
045531,001049: 15,3620 44712 TIMETST5 CS ONE
045532,001050: 15,3621 55607 TS TON2
045533,001051:
045534,001052: # SECTION JETCALL EXAMINES CONTENTS OF JET TIMES IN LIST, ESTABLISHES WTLST ENTRIES, AND EXECUTES CORRESPONDING
045535,001053: # JET CODES. A POSITIVE NZ NUMBER IN A TIME REGISTER INDICATES THAT A WTLST CALL IS TO BE MADE, AND ITS JET BITS
045536,001054: # EXECUTED. A +0 INDICATES THAT THE TIME INTERVAL DOES NOT APPLY, BUT THE CORRESPONDING JET BITS ARE TO BE
045537,001055: # EXECUTED. A NEG NUMBER INDICATES THAT THE TIME INTERVAL HAS BEEN PROCESSED. IN EVENT OF +0 OR -1, THE
045538,001056: # SUBSEQUENT TIME REGISTER IS EXAMINED FOR POSSIBLE ACTION. THUS JET BITS TO BE EXECUTED MAY COME FROM MORE
045539,001057: # THAN ONE REGISTER.
045540,001058:
045541,001059: 15,3622 34714 JETCALL1 CA ZERO
045542,001060: 15,3623 55611 TS OUTTAG
045543,001061: 15,3624 55612 TS NUJET
045544,001062: 15,3625 55606 TS TBITS
045545,001063: 15,3626 53622 DXCH TON1
045546,001064: 15,3627 10000 CCS A
045547,001065: 15,3630 13645 TCF JETCALL2 # CALL WTLST
045548,001066: 15,3631 23612 JETCALL3 LXCH NUJET # WTLST ENTRIES COME HERE FROM JETCALL
045549,001067: 15,3632 44712 CS ONE
045550,001068: 15,3633 53606 DXCH TOFF
045551,001069: 15,3634 10000 CCS A
045552,001070: 15,3635 13645 TCF JETCALL2 # CALL WTLST
045553,001071: 15,3636 23612 LXCH NUJET
045554,001072: 15,3637 44712 CS ONE
045555,001073: 15,3640 53610 DXCH TON2
045556,001074: 15,3641 10000 CCS A
045557,001075: 15,3642 13645 TCF JETCALL2 # CALL WTLST
045558,001076: 15,3643 23612 LXCH NUJET
045559,001077: 15,3644 03654 TC JETACTN # C(A) = +0
045560,001078: 15,3645 56001 JETCALL2 XCH L # SAVE JET BITS FOR AFTER WTLST CALL
045561,001079: 15,3646 27612 ADS NUJET
045562,001080: 15,3647 56001 XCH L
045563,001081: 15,3650 64712 AD ONE # RESTORE FOR CCS
045564,001082: 15,3651 05140 TC WAITLIST
045565,001083: 15,3652 E6,1661 EBANK= AOG
045566,001084: 15,3652 03662 32066 2CADR JETCALL
045567,001085: 15,3654 31612 JETACTN CA NUJET # COME HERE WHEN DESIRED JET CODE IS KNOWN
045568,001086: # # Page 1056
045569,001087: 15,3655 00006 EXTEND # NO NEED TO SAVE OLD CODES
045570,001088: 15,3656 01006 WRITE ROLLJETS # SET RCHAN TO NEW BIT CONFIG.
045571,001089:
045572,001090: 15,3657 11611 CCS OUTTAG
045573,001091: 15,3660 05213 TC TASKOVER
045574,001092: 15,3661 03711 ROLLDUMP TC CM/FDAIR
045575,001093:
045576,001094: # EDIT DUMP AT ABOVE LOCATION.
045577,001095:
045578,001096: # WAITLIST ENTRIES COME HERE.
045579,001097:
045580,001098: 15,3662 34711 JETCALL CAF BIT2 # CM/DSTBY =103D BIT2
045581,001099: 15,3663 55611 TS OUTTAG # SIGNIFY WTLST ENTRY
045582,001100: 15,3664 70102 MASK CM/FLAGS # IS SYSTEM DISABLED $
045583,001101: 15,3665 00006 EXTEND
045584,001102: 15,3666 13655 BZF JETACTN +1 # YES, QUENCH ROLL JETS,IF ON AND EXIT.
045585,001103: 15,3667 22007 ZL # NO, CONTINUE.
045586,001104: 15,3670 13631 TCF JETCALL3 # C(A) POS, C(L) =+0
045587,001105:
045588,001106: # DEAD ZONE ENTRIES COME HERE.
045589,001107:
045590,001108: 15,3671 34714 DZCALL CA ZERO # COME HERE IF IN DZ, AND CANCELL JETS
045591,001109: 15,3672 00006 EXTEND # INHINT NOT NEEDED HERE.
045592,001110: 15,3673 01006 WRITE ROLLJETS # TURN OFF ALL ROLL JETS.
045593,001111: 15,3674 55567 TS VDT/180 # SET =0 TO SHOW IN DEAD ZONE.
045594,001112: 15,3675 55711 DZCALL1 TS JETAG # COME HERE WITH C(A)=0.
045595,001113: 15,3676 03661 TC ROLLDUMP
045596,001114:
045597,001115: # # Page 1057
045598,001116: # CM ENTRY FDAI DISPLAY
045599,001117:
045600,001118: # CALCULATE BY INTEGRATION THE ROLL ERROR BETWEEN THE 2 SEC CM/RCS UPDATES . DISPLAY ATTITUDE ERRORS AS FOLLOWS:
045601,001119: # ATM DAP: DISPLAY ONLY ROLL ATTITUDE ERROR.
045602,001120: # EXT ATM DAP: PRESENT 3 ATTITUDE ERRORS RELATIVE TO THE APPROPRIATE BODY AXES EACH .1 SEC.
045603,001121: # ROLL ROLL-ROLL
045604,001122: # PITCH ALFAC-ALFA
045605,001123: # YAW BETAC-BETA
045606,001124:
045607,001125: # DURING ENTRY, THE FDAI NEEDLES HAVE FULL SCALE OF 67.5 DEG IN ROLL AND 16.875 DEG IN PITCH AND YAW.
045608,001126: # THE SUBROUTINE NEEDLER EXPECTS (ANGLE/180) AND SCALES TO 16.875 DEG FULL SCALE.
045609,001127:
045610,001128: 15,3677 11700 CM/FDAI CCS CMDAPMOD # COME HERE EACH .1 SEC.
045611,001129: 15,3700 13710 TCF CM/FDAIR -1 # C(A) =0, FOR DUMP.
045612,001130: 15,3701 13703 TCF +2
045613,001131: 15,3702 13703 TCF +1 # (IN ATM, COME HERE TO )
045614,001132: 15,3703 41705 CS PHIDOT # INTEGRATE ROLL ERROR.BETWEEN 2 SEC
045615,001133: 15,3704 00006 EXTEND
045616,001134: 15,3705 71506 MP CALFA # FOR ASSUMED COORDINATION.
045617,001135: 15,3706 00006 EXTEND
045618,001136: 15,3707 74675 MP HALF
045619,001137: 15,3710 27713 ADS PAXERR1 # ROLL ERROR/360. OVFL OK.
045620,001138:
045621,001139: # EDIT DUMP AT ABOVE LOCATION.
045622,001140: 15,3711 34675 CM/FDAIR CA HALF
045623,001141: 15,3712 00006 EXTEND
045624,001142: 15,3713 71713 MP PAXERR1 # FULL SCALE FOR FDAI (ROLL) IS 67.5 D
045625,001143: 15,3714 55476 TS PAXERR # .25 (ROLL ERROR/180) FOR FDAI NEEDLE.
045626,001144:
045627,001145: # PROGRAM TO FILE BODY RATES FOR TM ON ONE PASS AND
045628,001146: # TO UPDATE THE NEEDLE DISPLAY ON THE NEXT.
045629,001147: # SYNCHRONIZATION WITH CM/RCS IS USED SO THAT THE TM
045630,001148: # IS DONE WITH THE ROLL SYSTEM AND NEEDLES START ON
045631,001149: # THE SUBSEQUENT PASS.
045632,001150:
045633,001151:
045634,001152: 15,3715 40305 CM/DUMPR CS SW/NDX # COMBINED ALTERNATION SWITCH AND FILE
045635,001153: 15,3716 54305 TS SW/NDX
045636,001154: 15,3717 00006 EXTEND # INDEX.
045637,001155: 15,3720 63724 BZMF CMTMFILE # FILE STARTS WITH SW/NDX +1 AND GOES TO
045638,001156: # ENDBUF.
045639,001157: # INDEX IS POS FOR NEEDLES
045640,001158:
045641,001159: 15,3721 04633 TC IBNKCALL
045642,001160: 15,3722 42404 CADR NEEDLER
045643,001161:
045644,001162: 15,3723 03742 TC CM/END
045645,001163:
045646,001164: # INDEX IS NEG FOR TM FILE
045647,001165:
045648,001166: # # Page 1058
045649,001167: 15,3724 66214 CMTMFILE AD THREE
045650,001168: 15,3725 00006 EXTEND
045651,001169: 15,3726 63732 BZMF SAVENDX
045652,001170:
045653,001171: 15,3727 30025 CA TIME1 # INITIALIZE THE TM LIST IN UPBUFF.
045654,001172: 15,3730 54304 TS CMTMTIME
045655,001173: 15,3731 44720 CS THIRTEEN # INITIALIZE COUNTER
045656,001174: 15,3732 54305 SAVENDX TS SW/NDX # A NEGATIVE NUMBER.
045657,001175: 15,3733 00006 EXTEND
045658,001176: 15,3734 31702 DCA PREL
045659,001177: 15,3735 50305 INDEX SW/NDX
045660,001178: 15,3736 52324 DXCH ENDBUF -1
045661,001179: 15,3737 31703 CA RREL
045662,001180: 15,3740 50305 INDEX SW/NDX
045663,001181: 15,3741 54325 TS ENDBUF +1
045664,001182:
045665,001183: 15,3742 31623 CM/END CA CM/SAVE
045666,001184: 15,3743 54021 TS SR
045667,001185: # DOES NOT PROTECT TEMK, SQ IN SPSIN/COS
045668,001186:
045669,001187: 15,3744 00006 EXTEND
045670,001188: 15,3745 33751 DCA T5IDLER2
045671,001189: 15,3746 53313 DXCH T5LOC
045672,001190: 15,3747 05222 TC RESUME
045673,001191:
045674,001192: 15,3750 1312 EBANK= T5LOC
045675,001193: 15,3750 03132 12062 T5IDLER2 2CADR T5IDLOC
045676,001194: # DEFINE THE FOLLOWING 17D REGISTERS IN UPBUFF TO BE
045677,001195: # USED TO TELEMETER CM VEHICLE BODY RATE INFORMATION.
045678,001196: # THE INFORMATION IS FILED EACH 0.2 SEC, GIVING 15D
045679,001197: # DATA POINTS EACH 1 SEC. TM LIST IS READ TWICE
045680,001198: # EACH 2 SECONDS.
045681,001199:
045682,001200: # THE SEQUENCE IS: SP TIME INITIAL TIME
045683,001201: # SWITCH ALSO INDEX.
045684,001202: # P ROLL RATE
045685,001203: # Q PITCH RATE
045686,001204: # R YAW RATE
045687,001205: # ETC.
045688,001206:
045689,001207: # CMTMTIME = UPBUFF
045690,001208: # SW/NDX = UPBUFF +1
045691,001209: # ENDBUF = UPBUFF +16D
045692,001210:
045693,001211: # CONSTANTS USED IN THE ROLL CONTROL SYSTEM:
045694,001212: # CONSTANTS ARE THE FOLLOWING: A = 9.1 DEG/SECSQ, VM = 20 DEG/SEC, T = 2 SEC, TCDU = .1 SEC,
045695,001213: # XMIN = 4 DEG, VMIN = 2 DEG/SEC, K = .25, A1 = 4.55 DEG/SECSQ, VI = 1 DEG/SEC, INTERCEPT WITH DZ SIDE
045696,001214: # XBUF = 4DEG
045697,001215:
045698,001216: # # Page 1059
045699,001217: 15,3752 77464 -T-3 DEC -203 B-14 # CS
045700,001218: 15,3753 00012 VSQMIN DEC .61050061 E-3 # VSQ MIN/4 A PI = 4/(4 (9.1) 180)
045701,001219: 15,3754 4726 2T/TCDU = OCT50 # T/TCDU EXP-14 TCDU =.1SEC
045702,001220: 15,3754 23617 180/8ATT DEC .61813187 # 180/(8 (9.1) 4)=(180/ATT) EXP -3
045703,001221: 15,3755 07071 VMT/180 DEC .222222222 # 20 (2) / 180
045704,001222: 15,3756 4740 2JETT = 4SECS # CS 2 (2) 100 INTEGER
045705,001223: 15,3756 01440 4JETT DEC 800 B-14 # CS 4 (2) 100 INTEGER
045706,001224: 15,3757 00266 XMIN/360 DEC 182 B-14 # XMIN/360 = 4/ 360 EXP 14 = 182 INTEGER
045707,001225: 15,3760 70706 -VM/360K DEC -.22222222 # =-20/( 360 (.25))
045708,001226: 15,3761 15,3754 1/16A1 = 180/8ATT
045709,001227: # 1/16A1 = 180/(16 A1 TT)
045710,001228: # =180/(16 4.55 4)
045711,001229: 15,3761 00133 XS/360 DEC 91 B-14 # =(XMIN +VI (T-1/K))/360 = 2/360 EXP 14
045712,001230: 15,3762 15,3761 BUFLIM = XS/360 # 4/(2 360)
045713,001231:
045714,001232: 15,3762 4675 KTRCS = HALF # KT = (.25) 2 = .5
End of include-file CM_ENTRY_DIGITAL_AUTOPILOT.agc. Parent file is MAIN.agc