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