Source Code

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