Source Code

013554,000001: # Copyright: Public domain. 013555,000002: # Filename: IMU_COMPENSATION_PACKAGE.agc 013556,000003: # Purpose: Part of the source code for Luminary 1A build 099. 013557,000004: # It is part of the source code for the Lunar Module's (LM) 013558,000005: # Apollo Guidance Computer (AGC), for Apollo 11. 013559,000006: # Assembler: yaYUL 013560,000007: # Contact: Ron Burkey <info@sandroid.org>. 013561,000008: # Website: www.ibiblio.org/apollo. 013562,000009: # Pages: 326-337 013563,000010: # Mod history: 2009-05-16 RSB Adapted from the corresponding 013564,000011: # Luminary131 file, using page 013565,000012: # images from Luminary 1A. 013566,000013: # 2009-06-07 RSB Corrected a typo. 013567,000014: 013568,000015: # This source code has been transcribed or otherwise adapted from 013569,000016: # digitized images of a hardcopy from the MIT Museum. The digitization 013570,000017: # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 013571,000018: # the Museum. Many thanks to both. The images (with suitable reduction 013572,000019: # in storage size and consequent reduction in image quality as well) are 013573,000020: # available online at www.ibiblio.org/apollo. If for some reason you 013574,000021: # find that the images are illegible, contact me at info@sandroid.org 013575,000022: # about getting access to the (much) higher-quality images which Paul 013576,000023: # actually created. 013577,000024: 013578,000025: # Notations on the hardcopy document read, in part: 013579,000026: 013580,000027: # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 013581,000028: # 16:27 JULY 14, 1969 013582,000029: 013583,000030: # Page 326 013584,000031: 07,2667 BANK 7 013585,000032: 06,2000 SETLOC IMUCOMP 013586,000033: 06,2000 BANK 013587,000034: 013588,000035: 06,3263 E3,1460 EBANK= NBDX 013589,000036: 013590,000037: 06,3263 COUNT* $$/ICOMP 013591,000038: 06,3263 33531 1/PIPA CAF LGCOMP # SAVE EBANK OF CALLING PROGRAM 013592,000039: 06,3264 56003 XCH EBANK 013593,000040: 06,3265 54163 TS MODE 013594,000041: 013595,000042: 06,3266 11477 CCS GCOMPSW # BYPASS IF GCOMPSW NEGATIVE 013596,000043: 06,3267 13272 TCF +3 013597,000044: 06,3270 13272 TCF +2 013598,000045: 06,3271 13353 TCF IRIG1 # RETURN 013599,000046: 013600,000047: 06,3272 34751 1/PIPA1 CAF FOUR # PIPAZ, PIPAY, PIPAX 013601,000048: 06,3273 54132 TS BUF +2 013602,000049: 013603,000050: 06,3274 50132 INDEX BUF +2 013604,000051: 06,3275 31453 CA PIPASCF # (P.P.M.) X 2(-9) 013605,000052: 06,3276 00006 EXTEND 013606,000053: 06,3277 50132 INDEX BUF +2 013607,000054: 06,3300 70324 MP DELVX # (PP) X 2(+14) NOW (PIPA PULSES) X 2(+5) 013608,000055: 06,3301 54002 TS Q # SAVE MAJOR PART 013609,000056: 013610,000057: 06,3302 30001 CA L # MINOR PART 013611,000058: 06,3303 00006 EXTEND 013612,000059: 06,3304 74746 MP BIT6 # SCALE 2(+9) SHIFT RIGHT 9 013613,000060: 06,3305 50132 INDEX BUF +2 013614,000061: 06,3306 54325 TS DELVX +1 # FRACTIONAL PIPA PULSES SCALED 2(+14) 013615,000062: 013616,000063: 06,3307 30002 CA Q # MAJOR PART 013617,000064: 06,3310 00006 EXTEND 013618,000065: 06,3311 74746 MP BIT6 # SCALE 2(+9) SHIFT RIGHT 9 013619,000066: 06,3312 50132 INDEX BUF +2 013620,000067: 06,3313 20325 DAS DELVX # (PIPAI) + (PIPAI)(SF) 013621,000068: 013622,000069: 06,3314 50132 INDEX BUF +2 013623,000070: 06,3315 41452 CS PIPABIAS # (PIPA PULSES)/(CS) X 2(-5) * * 013624,000071: 06,3316 00006 EXTEND 013625,000072: 06,3317 71075 MP 1/PIPADT # (CS) X 2(+8) NOW (PIPA PULSES) X 2(+5) * 013626,000073: 06,3320 00006 EXTEND 013627,000074: 06,3321 74750 MP BIT4 # SCALE 2(+11) SHIFT RIGHT 11 * 013628,000075: 06,3322 50132 INDEX BUF +2 013629,000076: 06,3323 20325 DAS DELVX # (PIPAI) + (PIPAI)(SFE) - (BIAS)(DELTAT) 013630,000077: 013631,000078: 06,3324 10132 CCS BUF +2 # PIPAZ, PIPAY, PIPAX 013632,000079: 06,3325 67747 AD NEG1 013633,000080: 06,3326 13273 TCF 1/PIPA1 +1 013634,000081: # Page 327 013635,000082: 06,3327 13330 NOOP # LESS THAN ZERO IMPOSSIBLE 013636,000083: 013637,000084: # Page 328 013638,000085: 06,3330 55477 IRIGCOMP TS GCOMPSW # INDICATE COMMANDS 2 PULSES OR LESS. 013639,000086: 06,3331 54130 TS BUF # INDEX COUNTER. IRIGX, IRIGY, IRIGZ. 013640,000087: 013641,000088: 06,3332 03356 TC IRIGX # COMPENSATE ACCELERATION TERMS 013642,000089: 013643,000090: 06,3333 41460 CS NBDX # (GYRO PULSES)/(CS) X 2(-5) 013644,000091: 06,3334 03454 TC DRIFTSUB # -(NBOX)(DELTAT) (GYRO PULSES) X 2(+14) 013645,000092: 013646,000093: 06,3335 03373 TC IRIGY # COMPENSATE ACCELERATION TERMS 013647,000094: 013648,000095: 06,3336 41461 CS NBDY # (GYRO PULSES)/(CS) X 2(-5) 013649,000096: 06,3337 03454 TC DRIFTSUB # +(NBDY)(DELTAT) (GYRO PULSES) X 2(+14) 013650,000097: 013651,000098: 06,3340 03410 TC IRIGZ # COMPENSATE ACCELERATION TERMS 013652,000099: 013653,000100: 06,3341 31462 CA NBDZ # (GYRO PULSES)/(CS) X 2(-5) 013654,000101: 06,3342 03454 TC DRIFTSUB # +(NBDZ)(DELTAT) (GYRO PULSES) X 2(+14) 013655,000102: 013656,000103: 06,3343 11477 CCS GCOMPSW # ARE GYRO COMMANDS GREATER THAN 2 PULSES 013657,000104: 06,3344 13346 TCF +2 # YES SEND OUT GYRO TORQUING COMMANDS. 013658,000105: 06,3345 13353 TCF IRIG1 # NO RETURN 013659,000106: 013660,000107: 06,3346 35031 CA PRIO21 # PRIO GREATER THAN SERVICER. 013661,000108: 06,3347 05072 TC NOVAC # SEND OUT GYRO TORQUING COMMANDS. 013662,000109: 06,3350 E3,1460 EBANK= NBDX 013663,000110: 06,3350 03507 14063 2CADR 1/GYRO 013664,000111: 013665,000112: 06,3352 00003 RELINT 013666,000113: 06,3353 30163 IRIG1 CA MODE # RESTORE CALLER'S EBANK 013667,000114: 06,3354 54003 TS EBANK 013668,000115: 06,3355 14631 TCF SWRETURN 013669,000116: 013670,000117: # Page 329 013671,000118: 06,3356 00006 IRIGX EXTEND 013672,000119: 06,3357 22156 QXCH MPAC +2 # SAVE Q 013673,000120: 06,3360 00006 EXTEND 013674,000121: 06,3361 40325 DCS DELVX # (PIPA PULSES) X 2(+14) 013675,000122: 06,3362 52155 DXCH MPAC 013676,000123: 06,3363 31463 CA ADIAX # (GYRO PULSES)/(PIPA PULSE) X 2(-6) * 013677,000124: 06,3364 03425 TC GCOMPSUB # -(ADIAX)(PIPAX) (GYRO PULSES) X 2(+14) 013678,000125: 013679,000126: 06,3365 00006 EXTEND # 013680,000127: 06,3366 40327 DCS DELVY # (PIPA PULSES) X 2(+14) 013681,000128: 06,3367 52155 DXCH MPAC # 013682,000129: 06,3370 41466 CS ADSRAX # (GYRO PULSES)/(PIPA PULSE) X 2(-6) * 013683,000130: 06,3371 03425 TC GCOMPSUB # -(ADSRAX)(PIPAY) (GYRO PULSES) X 2(+14) 013684,000131: 013685,000132: # EXTEND # *** 013686,000133: # DCS DELVY # *** (PIPA PULSES) X 2(+14) 013687,000134: # DXCH MPAC # *** 013688,000135: # CA ADOAX # *** (GYRO PULSES)/(PIPA PULSE) X 2(-6) * 013689,000136: # TC GCOMPSUB # *** -(ADOAX)(PIPAZ) (GYRO PULSES) X 2(+14) 013690,000137: 013691,000138: 06,3372 00156 TC MPAC +2 013692,000139: 013693,000140: 06,3373 00006 IRIGY EXTEND 013694,000141: 06,3374 22156 QXCH MPAC +2 # SAVE Q 013695,000142: 06,3375 00006 EXTEND 013696,000143: 06,3376 40327 DCS DELVY # (PIPA PULSES) X 2(+14) 013697,000144: 06,3377 52155 DXCH MPAC 013698,000145: 06,3400 31464 CA ADIAY # (GYRO PULSES)/(PIPA PULSE) X 2(-6) * 013699,000146: 06,3401 03425 TC GCOMPSUB # -(ADIAY)(PIPAY) (GYRO PULSES) X 2(+14) 013700,000147: 013701,000148: 06,3402 00006 EXTEND 013702,000149: 06,3403 40331 DCS DELVZ # (PIPA PULSES) X 2(+14) 013703,000150: 06,3404 52155 DXCH MPAC 013704,000151: 06,3405 41467 CS ADSRAY # (GYRO PULSES)/(PIPA PULSE) X 2(-6) * 013705,000152: 06,3406 03425 TC GCOMPSUB # +(ADSRAY)(PIPAZ) (GYRO PULSES) X 2(+14) 013706,000153: 013707,000154: # EXTEND # *** 013708,000155: # DCS DELVX # *** (PIPA PULSES) X 2(+14) 013709,000156: # DXCH MPAC # *** 013710,000157: # CA ADOAY # *** (GYRO PULSES)/(PIPA PULSE) X 2(-6) * 013711,000158: # TC GCOMPSUB # *** -(ADOAY)(/PIPAX) (GYRO PULSES) X 2(+14) 013712,000159: 013713,000160: 06,3407 00156 TC MPAC +2 013714,000161: 013715,000162: 06,3410 00006 IRIGZ EXTEND 013716,000163: 06,3411 22156 QXCH MPAC +2 # SAVE Q 013717,000164: 06,3412 00006 EXTEND 013718,000165: 06,3413 40327 DCS DELVY # (PIPA PULSES) X 2(+14) 013719,000166: 06,3414 52155 DXCH MPAC 013720,000167: 06,3415 31470 CA ADSRAZ # (GYRO PULSES)/(PIPA PULSE) X 2(-6) * 013721,000168: # Page 330 013722,000169: 06,3416 03425 TC GCOMPSUB # -(ADSRAZ)(PIPAY) (GYRO PULSES) X 2(+14) 013723,000170: 013724,000171: 06,3417 00006 EXTEND 013725,000172: 06,3420 40331 DCS DELVZ # (PIPA PULSES) X 2(+14) 013726,000173: 06,3421 52155 DXCH MPAC 013727,000174: 06,3422 31465 CA ADIAZ # (GYRO PULSES)/(PIPA PULSE) X 2(-6) * 013728,000175: 06,3423 03425 TC GCOMPSUB # -(ADIAZ)(PIPAZ) (GYRO PULSES) X 2(+14) 013729,000176: 013730,000177: # EXTEND # *** 013731,000178: # DCS DELVX # *** (PIPA PULSE) X 2(+14) 013732,000179: # DXCH MPAC # *** 013733,000180: # CS ADOAZ # *** (GYRO PULSES)/(PIPA PULSE) X 2(-6) * 013734,000181: # TC GCOMPSUB # *** +(ADOAZ)(PIPAX) (GYRO PULSES) X 2(+14) 013735,000182: 013736,000183: 06,3424 00156 TC MPAC +2 013737,000184: 013738,000185: # Page 331 013739,000186: 06,3425 56154 GCOMPSUB XCH MPAC # ADIA OR ADSRA COEFFICIENT ARRIVES IN A 013740,000187: 06,3426 00006 EXTEND # C(MPAC) = (PIPA PULSES) X 2(+14) 013741,000188: 06,3427 70154 MP MPAC # (GYRO PULSES)/(PIPA PULSE) X 2(-6) * 013742,000189: 06,3430 52123 DXCH VBUF # NOW = (GYRO PULSES) X 2(+8) * 013743,000190: 013744,000191: 06,3431 30155 CA MPAC +1 # MINOR PART OF PIPA PULSES 013745,000192: 06,3432 00006 EXTEND 013746,000193: 06,3433 70154 MP MPAC # ADIA OR ADSRA 013747,000194: 06,3434 54001 TS L 013748,000195: 06,3435 34755 CAF ZERO 013749,000196: 06,3436 20123 DAS VBUF # NOW = (GYRO PULSES) X 2(+8) * 013750,000197: 013751,000198: 06,3437 30122 CA VBUF # PARTIAL RESULT -- MAJOR 013752,000199: 06,3440 00006 EXTEND 013753,000200: 06,3441 74743 MP BIT9 # SCALE 2(+6) SHIFT RIGHT 6 * 013754,000201: 06,3442 50130 INDEX BUF # RESULT = (GYRO PULSES) X 2(+14) 013755,000202: 06,3443 21472 DAS GCOMP # HI(ADIA)(PIPAI) OR HI(ADSRA)(PIPAI) 013756,000203: 013757,000204: 06,3444 30123 CA VBUF +1 # PARTIAL RESULT -- MINOR 013758,000205: 06,3445 00006 EXTEND 013759,000206: 06,3446 74743 MP BIT9 # SCALE 2(+6) SHIFT RIGHT 6 * 013760,000207: 06,3447 54001 TS L 013761,000208: 06,3450 34755 CAF ZERO 013762,000209: 06,3451 50130 INDEX BUF # RESULT = (GYRO PULSES) X 2(+14) 013763,000210: 06,3452 21472 DAS GCOMP # (ADIA)(PIPAI) OR (ADSRA)(PIPAI) 013764,000211: 013765,000212: 06,3453 00002 TC Q 013766,000213: 013767,000214: # Page 332 013768,000215: 06,3454 00006 DRIFTSUB EXTEND 013769,000216: 06,3455 22131 QXCH BUF +1 013770,000217: 013771,000218: 06,3456 00006 EXTEND # C(A) = NBD (GYRO PULSES)/(CS) X 2(-5) 013772,000219: 06,3457 71075 MP 1/PIPADT # (CS) X 2(+8) NO (GYRO PULSES) X 2(+3) 013773,000220: 06,3460 22155 LXCH MPAC +1 # SAVE FOR FRACTIONAL COMPENSATION 013774,000221: 06,3461 00006 EXTEND 013775,000222: 06,3462 74750 MP BIT4 # SCALE 2(+11) SHIFT RIGHT 11 013776,000223: 06,3463 50130 INDEX BUF 013777,000224: 06,3464 21472 DAS GCOMP # HI(NBD)(DELTAT) (GYRO PULSES) X 2(+14) 013778,000225: 013779,000226: 06,3465 30155 CA MPAC +1 # NO MINOR PART 013780,000227: 06,3466 00006 EXTEND 013781,000228: 06,3467 74750 MP BIT4 # SCALE 2(+11) SHIFT RIGHT 11 013782,000229: 06,3470 54001 TS L 013783,000230: 06,3471 34755 CAF ZERO 013784,000231: 06,3472 50130 INDEX BUF # ADD IN FRACTIONAL COMPENSATION 013785,000232: 06,3473 21472 DAS GCOMP # (NBD)(DELTAT) (GYRO PULSES) X 2(+14) 013786,000233: 013787,000234: 06,3474 34752 DRFTSUB2 CAF TWO # PIPAX, PIPAY, PIPAZ 013788,000235: 06,3475 60130 AD BUF 013789,000236: 06,3476 56130 XCH BUF 013790,000237: 06,3477 50000 INDEX A 013791,000238: 06,3500 11471 CCS GCOMP # ARE GYRO COMMANDS 1 PULSE OR GREATER 013792,000239: 06,3501 13503 TCF +2 # YES 013793,000240: 06,3502 00131 TC BUF +1 # NO 013794,000241: 013795,000242: 06,3503 73553 MASK COMPCHK # DEC -1 013796,000243: 06,3504 10000 CCS A # ARE GYRO COMMANDS GREATER THAN 2 PULSES 013797,000244: 06,3505 55477 TS GCOMPSW # YES -- SET GCOMPSW POSITIVE 013798,000245: 06,3506 00131 TC BUF +1 # NO 013799,000246: 013800,000247: # Page 333 013801,000248: 06,3507 34751 1/GYRO CAF FOUR # PIPAZ, PIPAY, PIPAX 013802,000249: 06,3510 54130 TS BUF 013803,000250: 013804,000251: 06,3511 50130 INDEX BUF # SCALE GYRO COMMANDS FOR IMUPULSE 013805,000252: 06,3512 31472 CA GCOMP +1 # FRACTIONAL PULSES 013806,000253: 06,3513 00006 EXTEND 013807,000254: 06,3514 74744 MP BIT8 # SHIFT RIGHT 7 013808,000255: 06,3515 50130 INDEX BUF 013809,000256: 06,3516 55472 TS GCOMP +1 # FRACTIONAL PULSES SCALED 013810,000257: 013811,000258: 06,3517 34755 CAF ZERO # SET GCOMP = 0 FOR DAS INSTRUCTION 013812,000259: 06,3520 50130 INDEX BUF 013813,000260: 06,3521 57471 XCH GCOMP # GYRO PULSES 013814,000261: 06,3522 00006 EXTEND 013815,000262: 06,3523 74744 MP BIT8 # SHIFT RIGHT 7 013816,000263: 06,3524 50130 INDEX BUF 013817,000264: 06,3525 21472 DAS GCOMP # ADD THESE TO FRACTIONAL PULSES ABOVE 013818,000265: 013819,000266: 06,3526 10130 CCS BUF # PIPAZ, PIPAY, PIPAX 013820,000267: 06,3527 67747 AD NEG1 013821,000268: 06,3530 13510 TCF 1/GYRO +1 013822,000269: 06,3531 01471 LGCOMP ECADR GCOMP # LESS THAN ZERO IMPOSSIBLE 013823,000270: 013824,000271: 06,3532 33531 CAF LGCOMP 013825,000272: 06,3533 04616 TC BANKCALL 013826,000273: 06,3534 17323 CADR IMUPULSE # CALL GYRO TORQUING ROUTINE 013827,000274: 06,3535 04616 TC BANKCALL 013828,000275: 06,3536 17716 CADR IMUSTALL # WAIT FOR PULSES TO GET OUT 013829,000276: 06,3537 15155 TCF ENDOFJOB # TEMPORARY 013830,000277: 013831,000278: 06,3540 34751 GCOMP1 CAF FOUR # PIPAZ, PIPAY, PIPAX 013832,000279: 06,3541 54130 TS BUF 013833,000280: 013834,000281: 06,3542 50130 INDEX BUF # RESCALE 013835,000282: 06,3543 31472 CA GCOMP +1 013836,000283: 06,3544 00006 EXTEND 013837,000284: 06,3545 74744 MP BIT8 # SHIFT MINOR PART LEFT 7 -- MAJOR PART = 0 013838,000285: 06,3546 50130 INDEX BUF 013839,000286: 06,3547 23472 LXCH GCOMP +1 # BITS 8-14 OF MINOR PART WERE = 0 013840,000287: 013841,000288: 06,3550 10130 CCS BUF # PIPAZ, PIPAY, PIPAX 013842,000289: 06,3551 67747 AD NEG1 013843,000290: 06,3552 13541 TCF GCOMP1 +1 013844,000291: 06,3553 77776 COMPCHK DEC -1 B-14 # LESS THAN ZERO IMPOSSIBLE 013845,000292: 06,3554 15155 TCF ENDOFJOB 013846,000293: 013847,000294: # Page 334 013848,000295: 06,3555 11477 NBDONLY CCS GCOMPSW # BYPASS IF GCOMPSW NEGATIVE 013849,000296: 06,3556 13561 TCF +3 013850,000297: 06,3557 13561 TCF +2 013851,000298: 06,3560 15155 TCF ENDOFJOB 013852,000299: 013853,000300: 06,3561 00004 INHINT 013854,000301: 06,3562 10076 CCS FLAGWRD2 # PREREAD T3RUPT MAY COINCIDE 013855,000302: 06,3563 15155 TCF ENDOFJOB 013856,000303: 06,3564 15155 TCF ENDOFJOB 013857,000304: 06,3565 13566 TCF +1 013858,000305: 013859,000306: 06,3566 30104 CA FLAGWRD8 # IF SURFACE FLAG IS SET, SET TEM1 013860,000307: 06,3567 74744 MASK BIT8 # POSITIVE SO THAT THE ACCELERATION TERMS 013861,000308: 06,3570 54141 TS TEM1 # WILL BE COMPENSATED. 013862,000309: 06,3571 00006 EXTEND 013863,000310: 06,3572 13575 BZF +3 # ARE WE ON THE SURFACE 013864,000311: 013865,000312: 06,3573 04674 TC IBNKCALL # ON THE SURFACE 013866,000313: 06,3574 77544 CADR PIPASR +3 # READ PIPAS, BUT DO NOT SCALE THEM 013867,000314: 013868,000315: 06,3575 30025 CA TIME1 # (CS) X 2(+14) 013869,000316: 06,3576 57075 XCH 1/PIPADT # PREVIOUS TIME 013870,000317: 06,3577 00003 RELINT 013871,000318: 06,3600 40000 COM 013872,000319: 06,3601 61075 AD 1/PIPADT # PRESENT TIME - PREVIOUS TIME 013873,000320: 06,3602 64736 NBD2 AD HALF # CORRECT FOR POSSIBLE TIME1 TICK 013874,000321: 06,3603 64736 AD HALF 013875,000322: 06,3604 56001 XCH L # IF TIME1 DID NOT DICK, REMOVE RESULTING 013876,000323: 06,3605 56001 XCH L # OVERFLOW. 013877,000324: 013878,000325: 06,3606 00006 NBD3 EXTEND # C(A) = DELTAT (CS) X 2(+14) 013879,000326: 06,3607 74742 MP BIT10 # SHIFT RIGHT 5 013880,000327: 06,3610 52125 DXCH VBUF +2 013881,000328: 013882,000329: 06,3611 34755 CA ZERO 013883,000330: 06,3612 55477 TS GCOMPSW # INDICATE COMMANDS 2 PULSES OR LESS. 013884,000331: 06,3613 54130 TS BUF # INDEX X, Y, Z. 013885,000332: 013886,000333: 06,3614 10141 CCS TEM1 # IF SURFACE FLAG IS SET, 013887,000334: 06,3615 03356 TC IRIGX # COMPENSATE ACCELERATION TERMS. 013888,000335: 013889,000336: 06,3616 00006 EXTEND 013890,000337: 06,3617 30125 DCA VBUF +2 013891,000338: 06,3620 52155 DXCH MPAC # DELTAT NOW SCALED (CS) X 2(+19) 013892,000339: 013893,000340: 06,3621 41460 CS NBDX # (GYRO PULSES)/(CS) X 2(-5) 013894,000341: 06,3622 03644 TC FBIASSUB # -(NBOX)(DELTAT) (GYRO PULSES) X 2(+14) 013895,000342: 013896,000343: 06,3623 10141 CCS TEM1 # IF SURFACE FLAG IS SET, 013897,000344: 06,3624 03373 TC IRIGY # COMPENSATE ACCELERATION TERMS. 013898,000345: # Page 335 013899,000346: 06,3625 00006 EXTEND 013900,000347: 06,3626 40125 DCS VBUF +2 013901,000348: 06,3627 52155 DXCH MPAC # DELTAT SCALED (CS) X 2(+19) 013902,000349: 06,3630 31461 CA NBDY # (GYRO PULSES)/(CS) X 2(-5) 013903,000350: 06,3631 03644 TC FBIASSUB # -(NBDY)(DELTAT) (GYRO PULSES) X 2(+14) 013904,000351: 013905,000352: 06,3632 10141 CCS TEM1 # IF SURFACE FLAG IS SET, 013906,000353: 06,3633 03410 TC IRIGZ # COMPENSATE ACCELERATION TERMS 013907,000354: 013908,000355: 06,3634 00006 EXTEND 013909,000356: 06,3635 40125 DCS VBUF +2 013910,000357: 06,3636 52155 DXCH MPAC # DELTAT SCALED (CS) X 2(+19) 013911,000358: 06,3637 41462 CS NBDZ # (GYRO PULSES)/(CS) X 2(-5) 013912,000359: 06,3640 03644 TC FBIASSUB # +(NBDZ)(DELTAT) (GYRO PULSES) X 2(+14) 013913,000360: 013914,000361: 06,3641 11477 CCS GCOMPSW # ARE GYRO COMMANDS GREATER THAN 2 PULSES 013915,000362: 06,3642 13507 TCF 1/GYRO # YES 013916,000363: 06,3643 15155 TCF ENDOFJOB # NO 013917,000364: 013918,000365: # Page 336 013919,000366: 06,3644 56002 FBIASSUB XCH Q 013920,000367: 06,3645 54131 TS BUF +1 013921,000368: 013922,000369: 06,3646 30002 CA Q # NBD SCALED (GYRO PULSES)/(CS) X 2(-5) 013923,000370: 06,3647 00006 EXTEND 013924,000371: 06,3650 70154 MP MPAC # DELTAT SCALED (CS) X 2(+19) 013925,000372: 06,3651 50130 INDEX BUF 013926,000373: 06,3652 21472 DAS GCOMP # HI(NBD)(DELTAT) (GYRO PULSES) X 2(+14) 013927,000374: 013928,000375: 06,3653 30002 CA Q # NOW FRACTIONAL PART 013929,000376: 06,3654 00006 EXTEND 013930,000377: 06,3655 70155 MP MPAC +1 013931,000378: 06,3656 54001 TS L 013932,000379: 06,3657 34755 CAF ZERO 013933,000380: 06,3660 50130 INDEX BUF 013934,000381: 06,3661 21472 DAS GCOMP # (NBD)(DELTAT) (GYRO PULSES) X 2(+14) 013935,000382: 013936,000383: 06,3662 13474 TCF DRFTSUB2 # CHECK MAGNITUDE OF COMPENSATION 013937,000384: 013938,000385: 06,3663 04616 LASTBIAS TC BANKCALL 013939,000386: 06,3664 17277 CADR PIPUSE1 013940,000387: 013941,000388: 06,3665 11477 CCS GCOMPSW 013942,000389: 06,3666 13671 TCF +3 013943,000390: 06,3667 13671 TCF +2 013944,000391: 06,3670 15155 TCF ENDOFJOB 013945,000392: 013946,000393: 06,3671 30104 CA FLAGWRD8 # IF SURFACE FLAG IS SET, SET TEM1 013947,000394: 06,3672 74744 MASK SURFFBIT # POSITIVE SO THAT THE ACCELERATION TERMS 013948,000395: 06,3673 54141 TS TEM1 # WILL BE COMPENSATED. 013949,000396: 013950,000397: 06,3674 37716 CAF PRIO31 # 2 SECONDS SCALED (CS) X 2(+8) 013951,000398: 06,3675 57075 XCH 1/PIPADT 013952,000399: 06,3676 40000 COM 013953,000400: 06,3677 61235 AD PIPTIME +1 013954,000401: 06,3700 13602 TCF NBD2 013955,000402: 013956,000403: 06,3701 33531 GCOMPZER CAF LGCOMP # ROUTINE TO ZERO GCOMP BEFORE FIRST 013957,000404: 06,3702 56003 XCH EBANK # CALL TO 1/PIPA 013958,000405: 06,3703 54163 TS MODE 013959,000406: 013960,000407: 06,3704 34755 CAF ZERO 013961,000408: 06,3705 55477 TS GCOMPSW 013962,000409: 06,3706 55471 TS GCOMP 013963,000410: 06,3707 55472 TS GCOMP +1 013964,000411: 06,3710 55473 TS GCOMP +2 013965,000412: 06,3711 55474 TS GCOMP +3 013966,000413: 06,3712 55475 TS GCOMP +4 013967,000414: # Page 337 013968,000415: 06,3713 55476 TS GCOMP +5 013969,000416: 013970,000417: 06,3714 13353 TCF IRIG1 # RESTORE EBANK AND RETURN 013971,000418: End of include-file IMU_COMPENSATION_PACKAGE.agc. Parent file is MAIN.agc