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