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