Source Code
![]() |
These source-code files derive from a printout of Luminary 210 (Apollo 15-17
Lunar Module guidance computer program), from the personal library of
original AGC developer Don Eyles, digitally photographed at archive.org,
financially sponsored by Jim Lawton, and transcribed to source code by a
team of volunteers. This colorized, syntax-highlighted form was created
by assembling that transcribed source code. Note that the full page images
are available on the
Virtual AGC project page at archive.org, while reduced-size images
are presented at the VirtualAGC project website. Report or fix any
transcription errors at
the Virtual AGC project code repository. Notations on the program listing read, in part: GAP: ASSEMBLE REVISION 210 OF AGC PROGRAM LUMINARY BY NASA 2021112-161 17:11 MAR. 19,1971Note that the date is the date of the printout, not the date of the program revision. |
014765,000002: ## Copyright: Public domain.
014766,000003: ## Filename: IMU_COMPENSATION_PACKAGE.agc
014767,000004: ## Purpose: A section of Luminary revision 210.
014768,000005: ## It is part of the source code for the Lunar Module's (LM)
014769,000006: ## Apollo Guidance Computer (AGC) for Apollo 15-17.
014770,000007: ## This file is intended to be a faithful transcription, except
014771,000008: ## that the code format has been changed to conform to the
014772,000009: ## requirements of the yaYUL assembler rather than the
014773,000010: ## original YUL assembler.
014774,000011: ## Reference: pp. 338-349
014775,000012: ## Assembler: yaYUL
014776,000013: ## Contact: Ron Burkey <info@sandroid.org>.
014777,000014: ## Website: www.ibiblio.org/apollo/index.html
014778,000015: ## Mod history: 2016-11-17 JL Created from Luminary131 version.
014779,000016: ## 2016-11-24 HG Transcribed
014780,000017: ## 2016-12-23 RSB Proofed comment text with octopus/ProoferComments
014781,000018: ## and fixed all errors found.
014782,000019: ## 2017-03-07 RSB Comment-text fixes noted in proofing Luminary 116.
014783,000020: ## 2017-03-15 RSB Comment-text fixes identified in 6-way
014784,000021: ## side-by-side diff of Sunburst 120 and Luminary
014785,000022: ## 69/99/116/131/210.
014786,000023:
![]() |
Page 338 |
014788,000025: 07,2607 BANK 7
014789,000026: 06,2000 SETLOC IMUCOMP
014790,000027: 06,2000 BANK
014791,000028:
014792,000029: 06,3333 E3,1460 EBANK= NBDX
014793,000030:
014794,000031: 06,3333 COUNT* $$/ICOMP
014795,000032: 06,3333 33601 1/PIPA CAF LGCOMP # SAVE EBANK OF CALLING PROGRAM
014796,000033: 06,3334 56003 XCH EBANK
014797,000034: 06,3335 54163 TS MODE
014798,000035:
014799,000036: 06,3336 11477 CCS GCOMPSW # BYPASS IF GCOMPSW NEGATIVE
014800,000037: 06,3337 13342 TCF +3
014801,000038: 06,3340 13342 TCF +2
014802,000039: 06,3341 13423 TCF IRIG1 # RETURN
014803,000040:
014804,000041: 06,3342 34742 1/PIPA1 CAF FOUR # PIPAZ, PIPAY, PIPAX
014805,000042: 06,3343 54132 TS BUF +2
014806,000043:
014807,000044: 06,3344 50132 INDEX BUF +2
014808,000045: 06,3345 31453 CA PIPASCF # (P.P.M.) X 2(-9)
014809,000046: 06,3346 00006 EXTEND
014810,000047: 06,3347 50132 INDEX BUF +2
014811,000048: 06,3350 70324 MP DELVX # (PP) X 2(+14) NOW (PIPA PULSES) X 2(+5)
014812,000049: 06,3351 54002 TS Q # SAVE MAJOR PART
014813,000050:
014814,000051: 06,3352 30001 CA L # MINOR PART
014815,000052: 06,3353 00006 EXTEND
014816,000053: 06,3354 74737 MP BIT6 # SCALE 2(+9) SHIFT RIGHT 9
014817,000054: 06,3355 50132 INDEX BUF +2
014818,000055: 06,3356 54325 TS DELVX +1 # FRACTIONAL PIPA PULSES SCALED 2(+14)
014819,000056:
014820,000057: 06,3357 30002 CA Q # MAJOR PART
014821,000058: 06,3360 00006 EXTEND
014822,000059: 06,3361 74737 MP BIT6 # SCALE 2(+9) SHIFT RIGHT 9
014823,000060: 06,3362 50132 INDEX BUF +2
014824,000061: 06,3363 20325 DAS DELVX # (PIPAI) + (PIPAI)(SFE)
014825,000062:
014826,000063: 06,3364 50132 INDEX BUF +2
014827,000064: 06,3365 41452 CS PIPABIAS # (PIPA PULSES)/(CS) X 2(-3) *
014828,000065: 06,3366 00006 EXTEND
014829,000066: 06,3367 71074 MP 1/PIPADT # (CS) X 2(+8) NOW (PIPA PULSES) X 2(+5)*
014830,000067: 06,3370 00006 EXTEND
014831,000068: 06,3371 74737 MP BIT6 # SCALE 2(+9) SHIFT RIGHT 9 *
014832,000069: 06,3372 50132 INDEX BUF +2
014833,000070: 06,3373 20325 DAS DELVX # (PIPAI) + (PIPAI)(SFE) - (BIAS)(DELTAT)
014834,000071:
014835,000072: 06,3374 10132 CCS BUF +2 # PIPAZ, PIPAY, PIPAX
014836,000073: 06,3375 67770 AD NEG1
014837,000074: 06,3376 13343 TCF 1/PIPA1 +1
014838,000075:
![]() |
Page 339 |
014840,000077: 06,3377 13400 NOOP # LESS THAN ZERO IMPOSSIBLE
014841,000078:
![]() |
Page 340 |
014843,000080: 06,3400 55477 IRIGCOMP TS GCOMPSW # INDICATE COMMANDS 2 PULSES OR LESS.
014844,000081: 06,3401 54130 TS BUF # INDEX COUNTER . IRIGX, IRIGY, IRIGZ.
014845,000082:
014846,000083: 06,3402 03426 TC IRIGX # COMPENSATE ACCELERATION TERMS
014847,000084:
014848,000085: 06,3403 41460 CS NBDX # (GYRO PULSES)/(CS) X 2(-5)
014849,000086: 06,3404 03524 TC DRIFTSUB # -(NBOX)(DELTAT) (GYRO PULSES) X 2(+14)
014850,000087:
014851,000088: 06,3405 03443 TC IRIGY # COMPENSATE ACCELERATION TERMS
014852,000089:
014853,000090: 06,3406 41461 CS NBDY # (GYRO PULSES)/(CS) X 2(-5)
014854,000091: 06,3407 03524 TC DRIFTSUB # -(NBDY)(DELTAT) (GYRO PULSES) X 2(+14)
014855,000092:
014856,000093: 06,3410 03460 TC IRIGZ # COMPENSATE ACCELERATION TERMS
014857,000094:
014858,000095: 06,3411 31462 CA NBDZ # (GYRO PULSES)/(CS) X 2(-5)
014859,000096: 06,3412 03524 TC DRIFTSUB # +(NBDZ)(DELTAT) (GYRO PULSES) X 2(+14)
014860,000097:
014861,000098: 06,3413 11477 CCS GCOMPSW # ARE GYRO COMMANDS GREATER THAN 2 PULSES
014862,000099: 06,3414 13416 TCF +2 # YES SEND OUT GYRO TORQUING COMMANDS.
014863,000100: 06,3415 13423 TCF IRIG1 # NO RETURN
014864,000101:
014865,000102: 06,3416 35022 CA PRIO21 # PRIO GREATER THAN SERVICER
014866,000103: 06,3417 05063 TC NOVAC # SEND OUT GYRO TORQUING COMMANDS.
014867,000104: 06,3420 E3,1460 EBANK= NBDX
014868,000105: 06,3420 03557 14063 2CADR 1/GYRO
014869,000106:
014870,000107: 06,3422 00003 RELINT
014871,000108: 06,3423 30163 IRIG1 CA MODE # RESTORE CALLERS EBANK
014872,000109: 06,3424 54003 TS EBANK
014873,000110: 06,3425 14622 TCF SWRETURN
014874,000111:
![]() |
Page 341 |
014876,000113: 06,3426 00006 IRIGX EXTEND
014877,000114: 06,3427 22156 QXCH MPAC +2 # SAVE Q
014878,000115: 06,3430 00006 EXTEND
014879,000116: 06,3431 40325 DCS DELVX # (PIPA PULSES) X 2(+14)
014880,000117: 06,3432 52155 DXCH MPAC
014881,000118: 06,3433 31463 CA ADIAX # (GYRO PULSES)/(PIPA PULSE) X 2(-6) *
014882,000119: 06,3434 03475 TC GCOMPSUB # -(ADIAX)(PIPAX) (GYRO PULSES) X 2(+14)
014883,000120:
014884,000121: 06,3435 00006 EXTEND
014885,000122: 06,3436 40327 DCS DELVY # (PIPA PULSES) X 2(+14)
014886,000123: 06,3437 52155 DXCH MPAC
014887,000124: 06,3440 41466 CS ADSRAX # (GYRO PULSES)/(PIPA PULSE) X 2(-6) *
014888,000125: 06,3441 03475 TC GCOMPSUB # -(ADSRAX)(PIPAY) (GYRO PULSES) X 2(+14)
014889,000126:
014890,000127: # EXTEND ***
014891,000128: # DCS DELVZ *** (PIPA PULSES) X 2(+14)
014892,000129: # DXCH MPAC ***
014893,000130: # CA ADOAX *** (GYRO PULSES)/(PIPA PULSE) X 2(-6) *
014894,000131: # TC GCOMPSUB *** -(ADOAX)(PIPAZ) (GYRO PULSES) X 2(+14)
014895,000132:
014896,000133: 06,3442 00156 TC MPAC +2
014897,000134:
014898,000135: 06,3443 00006 IRIGY EXTEND
014899,000136: 06,3444 22156 QXCH MPAC +2 # SAVE Q
014900,000137: 06,3445 00006 EXTEND
014901,000138: 06,3446 40327 DCS DELVY # (PIPA PULSES) X 2(+14)
014902,000139: 06,3447 52155 DXCH MPAC
014903,000140: 06,3450 31464 CA ADIAY # (GYRO PULSES)/(PIPA PULSE) X 2(-6) *
014904,000141: 06,3451 03475 TC GCOMPSUB # -(ADIAY)(PIPAY) (GYRO PULSES) X 2(+14)
014905,000142:
014906,000143: 06,3452 00006 EXTEND
014907,000144: 06,3453 40331 DCS DELVZ # (PIPA PULSES) X 2(+14)
014908,000145: 06,3454 52155 DXCH MPAC
014909,000146: 06,3455 41467 CS ADSRAY # (GYRO PULSES)/(PIPA PULSE) X 2(-6) *
014910,000147: 06,3456 03475 TC GCOMPSUB # +(ADSRAY)(PIPAZ) (GYRO PULSES) X 2(+14)
014911,000148:
014912,000149: # EXTEND ***
014913,000150: # DCS DELVX *** (PIPA PULSES) X 2(+14)
014914,000151: # DXCH MPAC ***
014915,000152: # CA ADOAY *** (GYRO PULSES)/(PIPA PULSE) X 2(-6) *
014916,000153: # TC GCOMPSUB *** -(ADOAY)(PIPAX) (GYRO PULSES) X 2(+14)
014917,000154:
014918,000155: 06,3457 00156 TC MPAC +2
014919,000156:
014920,000157: 06,3460 00006 IRIGZ EXTEND
014921,000158: 06,3461 22156 QXCH MPAC +2 # SAVE Q
014922,000159: 06,3462 00006 EXTEND
014923,000160: 06,3463 40327 DCS DELVY # (PIPA PULSES) X 2(+14)
014924,000161: 06,3464 52155 DXCH MPAC
014925,000162: 06,3465 31470 CA ADSRAZ # (GYRO PULSES)/(PIPA PULSE) X 2(-6) *
014926,000163:
![]() |
Page 342 |
014928,000165: 06,3466 03475 TC GCOMPSUB # -(ADSRAZ)(PIPAY) (GYRO PULSES) X 2(+14)
014929,000166:
014930,000167: 06,3467 00006 EXTEND
014931,000168: 06,3470 40331 DCS DELVZ # (PIPA PULSES) X 2(+14)
014932,000169: 06,3471 52155 DXCH MPAC
014933,000170: 06,3472 31465 CA ADIAZ # (GYRO PULSES)/(PIPA PULSE) X 2(-6) *
014934,000171: 06,3473 03475 TC GCOMPSUB # -(ADIAZ)(PIPAZ) (GYRO PULSES) X 2(+14)
014935,000172:
014936,000173: # EXTEND ***
014937,000174: # DCS DELVX *** (PIPA PULSE) X 2(+14)
014938,000175: # DXCH MPAC ***
014939,000176: # CS ADOAZ *** (GYRO PULSES)/(PIPA PULSE) X 2(-6) *
014940,000177: # TC GCOMPSUB *** +(ADOAZ)(PIPAX) (GYRO PULSES) X 2(+14)
014941,000178:
014942,000179: 06,3474 00156 TC MPAC +2
014943,000180:
![]() |
Page 343 |
014945,000182: 06,3475 56154 GCOMPSUB XCH MPAC # ADIA OR ADSRA COEFFICIENT ARRIVES IN A
014946,000183: 06,3476 00006 EXTEND # C(MPAC) = (PIPA PULSES) X 2(+14)
014947,000184: 06,3477 70154 MP MPAC # (GYRO PULSES)/(PIPA PULSE) X 2(-6) *
014948,000185: 06,3500 52123 DXCH VBUF # NOW = (GYRO PULSES) X 2(+8) *
014949,000186:
014950,000187: 06,3501 30155 CA MPAC +1 # MINOR PART PIPA PULSES
014951,000188: 06,3502 00006 EXTEND
014952,000189: 06,3503 70154 MP MPAC # ADIA OR ADSRA
014953,000190: 06,3504 54001 TS L
014954,000191: 06,3505 34746 CAF ZERO
014955,000192: 06,3506 20123 DAS VBUF # NOW = (GYRO PULSES) X 2(+8) *
014956,000193:
014957,000194: 06,3507 30122 CA VBUF # PARTIAL RESULT - MAJOR
014958,000195: 06,3510 00006 EXTEND
014959,000196: 06,3511 74734 MP BIT9 # SCALE 2(+6) SHIFT RIGHT 6 *
014960,000197: 06,3512 50130 INDEX BUF # RESULT = (GYRO PULSES) X 2(+14)
014961,000198: 06,3513 21472 DAS GCOMP # HI(ADIA)(PIPAI) OR HI(ADSRA)(PIPAI)
014962,000199:
014963,000200: 06,3514 30123 CA VBUF +1 # PARTIAL RESULT - MINOR
014964,000201: 06,3515 00006 EXTEND
014965,000202: 06,3516 74734 MP BIT9 # SCALE 2(+6) SHIFT RIGHT 6 *
014966,000203: 06,3517 54001 TS L
014967,000204: 06,3520 34746 CAF ZERO
014968,000205: 06,3521 50130 INDEX BUF # RESULT = (GYRO PULSES) X 2(+14)
014969,000206: 06,3522 21472 DAS GCOMP # (ADIA)(PIPAI) OR (ADSRA)(PIPAI)
014970,000207:
014971,000208: 06,3523 00002 TC Q
014972,000209:
![]() |
Page 344 |
014974,000211: 06,3524 00006 DRIFTSUB EXTEND
014975,000212: 06,3525 22131 QXCH BUF +1
014976,000213:
014977,000214: 06,3526 00006 EXTEND # C(A) = NBD (GYRO PULSES)/(CS) X 2(-5)
014978,000215: 06,3527 71074 MP 1/PIPADT # (CS) X 2(+8) NOW (GYRO PULSES) X 2(+3)
014979,000216: 06,3530 22155 LXCH MPAC +1 # SAVE FOR FRACTIONAL COMPENSATION
014980,000217: 06,3531 00006 EXTEND
014981,000218: 06,3532 74741 MP BIT4 # SCALE 2(+11) SHIFT RIGHT 11
014982,000219: 06,3533 50130 INDEX BUF
014983,000220: 06,3534 21472 DAS GCOMP # HI(NBD)(DELTAT) (GYRO PULSES) X 2(+14)
014984,000221:
014985,000222: 06,3535 30155 CA MPAC +1 # NOW MINOR PART
014986,000223: 06,3536 00006 EXTEND
014987,000224: 06,3537 74741 MP BIT4 # SCALE 2(+11) SHIFT RIGHT 11
014988,000225: 06,3540 54001 TS L
014989,000226: 06,3541 34746 CAF ZERO
014990,000227: 06,3542 50130 INDEX BUF # ADD IN FRACTIONAL COMPENSATION
014991,000228: 06,3543 21472 DAS GCOMP # (NBD)(DELTAT) (GYRO PULSES) X 2(+14)
014992,000229:
014993,000230: 06,3544 34743 DRFTSUB2 CAF TWO # PIPAX, PIPAY, PIPAZ
014994,000231: 06,3545 60130 AD BUF
014995,000232: 06,3546 56130 XCH BUF
014996,000233: 06,3547 50000 INDEX A
014997,000234: 06,3550 11471 CCS GCOMP # ARE GYRO COMMANDS 1 PULSE OR GREATER
014998,000235: 06,3551 13553 TCF +2 # YES
014999,000236: 06,3552 00131 TC BUF +1 # NO
015000,000237:
015001,000238: 06,3553 73623 MASK COMPCHK # DEC -1
015002,000239: 06,3554 10000 CCS A # ARE GYRO COMMANDS GREATER THAN 2 PULSES
015003,000240: 06,3555 55477 TS GCOMPSW # YES - SET GCOMPSW POSITIVE
015004,000241: 06,3556 00131 TC BUF +1 # NO
015005,000242:
![]() |
Page 345 |
015007,000244: 06,3557 34742 1/GYRO CAF FOUR # PIPAZ, PIPAY, PIPAX
015008,000245: 06,3560 54130 TS BUF
015009,000246:
015010,000247: 06,3561 50130 INDEX BUF # SCALE GYRO COMMANDS FOR IMUPULSE
015011,000248: 06,3562 31472 CA GCOMP +1 # FRACTIONAL PULSES
015012,000249: 06,3563 00006 EXTEND
015013,000250: 06,3564 74735 MP BIT8 # SHIFT RIGHT 7
015014,000251: 06,3565 50130 INDEX BUF
015015,000252: 06,3566 55472 TS GCOMP +1 # FRACTIONAL PULSES SCALED
015016,000253:
015017,000254: 06,3567 34746 CAF ZERO # SET GCOMP = 0 FOR DAS INSTRUCTION
015018,000255: 06,3570 50130 INDEX BUF
015019,000256: 06,3571 57471 XCH GCOMP # GYRO PULSES
015020,000257: 06,3572 00006 EXTEND
015021,000258: 06,3573 74735 MP BIT8 # SHIFT RIGHT 7
015022,000259: 06,3574 50130 INDEX BUF
015023,000260: 06,3575 21472 DAS GCOMP # ADD THESE TO FRACTIONAL PULSES ABOVE
015024,000261:
015025,000262: 06,3576 10130 CCS BUF # PIPAZ, PIPAY, PIPAX
015026,000263: 06,3577 67770 AD NEG1
015027,000264: 06,3600 13560 TCF 1/GYRO +1
015028,000265: 06,3601 01471 LGCOMP ECADR GCOMP # LESS THAN ZERO IMPOSSIBLE
015029,000266:
015030,000267: 06,3602 33601 CAF LGCOMP
015031,000268: 06,3603 04607 TC BANKCALL
015032,000269: 06,3604 17310 CADR IMUPULSE # CALL GYRO TORQUING ROUTINE
015033,000270: 06,3605 04607 TC BANKCALL
015034,000271: 06,3606 17735 CADR IMUSTALL # WAIT FOR PULSES TO GET OUT
015035,000272: 06,3607 13610 TCF +1
015036,000273:
015037,000274: 06,3610 34742 GCOMP1 CAF FOUR # PIPAZ, PIPAY, PIPAX
015038,000275: 06,3611 54130 TS BUF
015039,000276:
015040,000277: 06,3612 50130 INDEX BUF # RESCALE
015041,000278: 06,3613 31472 CA GCOMP +1
015042,000279: 06,3614 00006 EXTEND
015043,000280: 06,3615 74735 MP BIT8 # SHIFT MINOR PART LEFT 7 - MAJOR PART = 0
015044,000281: 06,3616 50130 INDEX BUF
015045,000282: 06,3617 23472 LXCH GCOMP +1 # BITS 8-14 OF MINOR PART WERE = 0
015046,000283:
015047,000284: 06,3620 10130 CCS BUF # PIPAZ, PIPAY, PIPAX
015048,000285: 06,3621 67770 AD NEG1
015049,000286: 06,3622 13611 TCF GCOMP1 +1
015050,000287: 06,3623 77776 COMPCHK DEC -1 B-14 # LESS THAN ZERO IMPOSSIBLE
015051,000288: 06,3624 15146 TCF ENDOFJOB
015052,000289:
![]() |
Page 346 |
015054,000291: 06,3625 11477 NBDONLY CCS GCOMPSW # BYPASS IF GCOMPSW NEGATIVE
015055,000292: 06,3626 13631 TCF +3
015056,000293: 06,3627 13631 TCF +2
015057,000294: 06,3630 15146 TCF ENDOFJOB
015058,000295:
015059,000296: 06,3631 00004 INHINT
015060,000297: 06,3632 10076 CCS FLAGWRD2 # PREREAD T3RUPT MAY COINCIDE
015061,000298: 06,3633 15146 TCF ENDOFJOB
015062,000299: 06,3634 15146 TCF ENDOFJOB
015063,000300: 06,3635 13636 TCF +1
015064,000301:
015065,000302: 06,3636 30104 CA FLAGWRD8 # IF SURFACE FLAG IS SET, SET TEM1
015066,000303: 06,3637 74735 MASK BIT8 # POSITIVE SO THAT THE ACCELERATION TERMS
015067,000304: 06,3640 54141 TS TEM1 # WILL BE COMPENSATED.
015068,000305: 06,3641 00006 EXTEND
015069,000306: 06,3642 13645 BZF +3 # ARE WE ON THE SURFACE
015070,000307:
015071,000308: 06,3643 04665 TC IBNKCALL # ON THE SURFACE
015072,000309: 06,3644 77543 CADR PIPASR +3 # READ PIPAS, BUT DO NOT SCALE THEM
015073,000310:
015074,000311: 06,3645 30025 CA TIME1 # (CS) X 2(+14)
015075,000312: 06,3646 57074 XCH 1/PIPADT # PREVIOUS TIME
015076,000313: 06,3647 00003 RELINT
015077,000314: 06,3650 40000 COM
015078,000315: 06,3651 61074 AD 1/PIPADT # PRESENT TIME - PREVIOUS TIME
015079,000316: 06,3652 64727 NBD2 AD HALF # CORRECT FOR POSSIBLE TIME1 TICK
015080,000317: 06,3653 64727 AD HALF
015081,000318: 06,3654 56001 XCH L # IF TIME1 DID NOT TICK, REMOVE RESULTING
015082,000319: 06,3655 56001 XCH L # OVERFLOW.
015083,000320:
015084,000321: 06,3656 00006 NBD3 EXTEND # C(A) = DELTAT (CS) X 2(+14)
015085,000322: 06,3657 74733 MP BIT10 # SHIFT RIGHT 5
015086,000323: 06,3660 52125 DXCH VBUF +2
015087,000324:
015088,000325: 06,3661 34746 CA ZERO
015089,000326: 06,3662 55477 TS GCOMPSW # INDICATE COMMANDS 2 PULSES OR LESS.
015090,000327: 06,3663 54130 TS BUF # INDEX X, Y, Z.
015091,000328:
015092,000329: 06,3664 10141 CCS TEM1 # IF SURFACE FLAG IS SET,
015093,000330: 06,3665 03426 TC IRIGX # COMPENSATE ACCELERATION TERMS.
015094,000331:
015095,000332: 06,3666 00006 EXTEND
015096,000333: 06,3667 30125 DCA VBUF +2
015097,000334: 06,3670 52155 DXCH MPAC # DELTAT NOW SCALED (CS) X 2(+19)
015098,000335:
015099,000336: 06,3671 41460 CS NBDX # (GYRO PULSES)/(CS) X 2(-5)
015100,000337: 06,3672 03714 TC FBIASSUB # -(NBOX)(DELTAT) (GYRO PULSES) X 2(+14)
015101,000338:
015102,000339: 06,3673 10141 CCS TEM1 # IF SURFACE FLAG IS SET,
015103,000340: 06,3674 03443 TC IRIGY # COMPENSATE ACCELERATION TERMS.
015104,000341:
![]() |
Page 347 |
015106,000343: 06,3675 00006 EXTEND
015107,000344: 06,3676 40125 DCS VBUF +2
015108,000345: 06,3677 52155 DXCH MPAC # DELTAT SCALED (CS) X 2(+19)
015109,000346: 06,3700 31461 CA NBDY # (GYRO PULSES)/(CS) X 2(-5)
015110,000347: 06,3701 03714 TC FBIASSUB # -(NBDY)(DELTAT) (GYRO PULSES) X 2(+14)
015111,000348:
015112,000349: 06,3702 10141 CCS TEM1 # IF SURFACE FLAG IS SET,
015113,000350: 06,3703 03460 TC IRIGZ # COMPENSATE ACCELERATION TERMS
015114,000351:
015115,000352: 06,3704 00006 EXTEND
015116,000353: 06,3705 40125 DCS VBUF +2
015117,000354: 06,3706 52155 DXCH MPAC # DELTAT SCALED (CS) X 2(+19)
015118,000355: 06,3707 41462 CS NBDZ # (GYRO PULSES)/(CS) X 2(-5)
015119,000356: 06,3710 03714 TC FBIASSUB # +(NBDZ)(DELTAT) (GYRO PULSES) X 2(+14)
015120,000357:
015121,000358: 06,3711 11477 CCS GCOMPSW # ARE GYRO COMMANDS GREATER THAN 2 PULSES
015122,000359: 06,3712 13557 TCF 1/GYRO # YES
015123,000360: 06,3713 15146 TCF ENDOFJOB # NO
015124,000361:
![]() |
Page 348 |
015126,000363: 06,3714 56002 FBIASSUB XCH Q
015127,000364: 06,3715 54131 TS BUF +1
015128,000365:
015129,000366: 06,3716 30002 CA Q # NBD SCALED (GYRO PULSES)/(CS) X 2(-5)
015130,000367: 06,3717 00006 EXTEND
015131,000368: 06,3720 70154 MP MPAC # DELTAT SCALED (CS) X 2(+19)
015132,000369: 06,3721 50130 INDEX BUF
015133,000370: 06,3722 21472 DAS GCOMP # HI(NBD)(DELTAT) (GYRO PULSES) X 2(+14)
015134,000371:
015135,000372: 06,3723 30002 CA Q # NOW FRACTIONAL PART
015136,000373: 06,3724 00006 EXTEND
015137,000374: 06,3725 70155 MP MPAC +1
015138,000375: 06,3726 54001 TS L
015139,000376: 06,3727 34746 CAF ZERO
015140,000377: 06,3730 50130 INDEX BUF
015141,000378: 06,3731 21472 DAS GCOMP # (NBD)(DELTAT) (GYRO PULSES) X 2(+14)
015142,000379:
015143,000380: 06,3732 13544 TCF DRFTSUB2 # CHECK MAGNITUDE OF COMPENSATION
015144,000381:
015145,000382: 06,3733 04607 LASTBIAS TC BANKCALL
015146,000383: 06,3734 17264 CADR PIPUSE1
015147,000384:
015148,000385: 06,3735 11477 CCS GCOMPSW
015149,000386: 06,3736 13741 TCF +3
015150,000387: 06,3737 13741 TCF +2
015151,000388: 06,3740 15146 TCF ENDOFJOB
015152,000389:
015153,000390: 06,3741 30104 CA FLAGWRD8 # IF SURFACE FLAG IS SET, SET TEM1
015154,000391: 06,3742 74735 MASK SURFFBIT # POSITIVE SO THAT THE ACCELERATION TERMS
015155,000392: 06,3743 54141 TS TEM1 # WILL BE COMPENSATED.
015156,000393:
015157,000394: 06,3744 37737 CAF PRIO31 # 2 SECONDS SCALED (CS) X 2(+8)
015158,000395: 06,3745 57074 XCH 1/PIPADT
015159,000396: 06,3746 40000 COM
015160,000397: 06,3747 61234 AD PIPTIME +1
015161,000398: 06,3750 13652 TCF NBD2
015162,000399:
015163,000400: 06,3751 33601 GCOMPZER CAF LGCOMP # ROUTINE TO ZERO GCOMP BEFORE FIRST
015164,000401: 06,3752 56003 XCH EBANK # CALL TO 1/PIPA
015165,000402: 06,3753 54163 TS MODE
015166,000403:
015167,000404: 06,3754 34746 CAF ZERO
015168,000405: 06,3755 55477 TS GCOMPSW
015169,000406: 06,3756 55471 TS GCOMP
015170,000407: 06,3757 55472 TS GCOMP +1
015171,000408: 06,3760 55473 TS GCOMP +2
015172,000409: 06,3761 55474 TS GCOMP +3
015173,000410: 06,3762 55475 TS GCOMP +4
015174,000411:
![]() |
Page 349 |
015176,000413: 06,3763 55476 TS GCOMP +5
015177,000414:
015178,000415: 06,3764 13423 TCF IRIG1 # RESTORE EBANK AND RETURN
015179,000416:
End of include-file IMU_COMPENSATION_PACKAGE.agc. Parent file is MAIN.agc