Source Code

These source code files have been transcribed or otherwise adapted from digitized images of a hardcopy from the private collection of Don Eyles. The digitization was performed by archive.org, and transcription was performed by a team of volunteers. Note that the page images presented online are of reduced quality, and that the original high-quality images are available at archive.org. Report any conversion errors or legibility problems in page images to info@sandroid.org. Notations on the program listing read, in part:

    473423A YUL SYSTEM FOR BLK2: REVISION 12 of PROGRAM AURORA BY DAP GROUP   NOV 10, 1966
Note that the date is the date of the printout, not the date of the program revision.

007974,000002:                                                                                                  ## Copyright:    Public domain.
007975,000003:                                                                                                  ## Filename:     IMU_COMPENSATION_PACKAGE.agc
007976,000004:                                                                                                  ## Purpose:      Part of the source code for Aurora (revision 12).
007977,000005:                                                                                                  ## Assembler:    yaYUL
007978,000006:                                                                                                  ## Contact:      Hartmuth Gutsche<hgutsche@xplornet.com>.
007979,000007:                                                                                                  ## Website:      https://www.ibiblio.org/apollo.
007980,000008:                                                                                                  ## Pages:        209-217
007981,000009:                                                                                                  ## Mod history:  2016-09-20 JL   Created.
007982,000010:                                                                                                  ##               2016-09-21 HG   Initial transcription from scans
007983,000011:                                                                                                  ##               2016-10-12 HG   Fix label VBU -> VBUF
007984,000012:                                                                                                  ##                                         GCOMPS -> GCOMPSW 
007985,000013:                                                                                                  ##               2016-12-08 RSB  Proofed comments with octopus/ProoferComments
007986,000014:                                                                                                  ##                               and fixed the errors found.
007987,000015: 
007988,000016:                                                                                                  ## This source code has been transcribed or otherwise adapted from
007989,000017:                                                                                                  ## digitized images of a hardcopy from the private collection of 
007990,000018:                                                                                                  ## Don Eyles.  The digitization was performed by archive.org.
007991,000019: 
007992,000020:                                                                                                  ## Notations on the hardcopy document read, in part:
007993,000021: 
007994,000022:                                                                                                  ##       473423A YUL SYSTEM FOR BLK2: REVISION 12 of PROGRAM AURORA BY DAP GROUP
007995,000023:                                                                                                  ##       NOV 10, 1966
007996,000024: 
007997,000025:                                                                                                  ##       [Note that this is the date the hardcopy was made, not the
007998,000026:                                                                                                  ##       date of the program revision or the assembly.]
007999,000027: 
008000,000028:                                                                                                  ## The scan images (with suitable reduction in storage size and consequent 
008001,000029:                                                                                                  ## reduction in image quality) are available online at 
008002,000030:                                                                                                  ##       https://www.ibiblio.org/apollo.  
008003,000031:                                                                                                  ## The original high-quality digital images are available at archive.org:
008004,000032:                                                                                                  ##       https://archive.org/details/aurora00dapg
008005,000033: 

Page 209

008007,000035: 07,2000                                           BANK     7                                     
008008,000036: 07,2000  E3,1440                                  EBANK=   NBDX                                  
008009,000037:                                                                                                  #  PROGRAM DESCRIPTION- IMU COMPENSATION (LEM)                             DATE- 30 AUG 66
008010,000038:                                                                                                  #  MOD NO- 0                                                               LOG SECTION- IMU COMPENSATION PACKAGE
008011,000039:                                                                                                  #  MOD BY- GILBERT                                                         ASSEMBLY- SUNBURST REVISION 13 
008012,000040: 
008013,000041:                                                                                                  #  FUNCTIONAL DESCRIPTION
008014,000042:                                                                                                  #        THE IMU COMPENSATION PACKAGE IS DESIGNED TO COMPENSATE FOR PIPA BIAS AND SCALE FACTOR ERROR AND AT THE
008015,000043:                                                                                                  #  SAME TIME ACCUMULATE GYRO TORQUING COMMANDS NECESSARY TO COMPENSATE FOR THE ASSOCIATED BIAS AND ACCELERATION-
008016,000044:                                                                                                  #  CAUSED GYRO DRIFTS. 1/PIPA MUST BE CALLED AT LEAST EVERY 2.55 SECONDS DUE TO SCALING CONSIDERATIONS.
008017,000045:                                                                                                  #  SPECIFICALLY, THE CORRECTION IS
008018,000046: 
008019,000047:                                                                                                  #        PIPA  = (1 + SCALE FACTOR ERROR)PIPA  -  (BIAS)(DELTAT)
008020,000048:                                                                                                  #            C                               I
008021,000049: 
008022,000050:                                                                                                  #  WHERE PIPA  IS THE COMPENSATED DATA OBTAINED FROM THE SAMPLED DATA PIPA
008023,000051:                                                                                                  #            C                                                            I
008024,000052: 
008025,000053:                                                                                                  #  THE COMPENSATED DATA IS THEN USED TO COMPUTE THE IRIG TORQUING NECESSARY TO CANCEL THE NBD, ADIA, AND ADSRA
008026,000054:                                                                                                  #  GYRO COEFFICIENTS.
008027,000055:                                                                                                  #  SPECIFICALLY, THE COMPUTATIONS ARE
008028,000056: 
008029,000057:                                                                                                  #        XIRIG     -(ADIAX)(PIPAX ) + (ADSRAX)(PIPAY ) - (NBDX)(DELTAT)  
008030,000058:                                                                                                  #                                C                  C
008031,000059:                                                                                                  #        YIRIG     -(ADIAY)(PIPAY ) + (ADSRAY)(PIPAZ ) - (NBDY)(DELTAT)
008032,000060:                                                                                                  #                                C                  C  
008033,000061:                                                                                                  #        ZIRIG     -(ADIAZ)(PIPAZ ) - (ADSRAZ)(PIPAY ) + (NBDZ)(DELTAT)
008034,000062:                                                                                                  #                                C                  C
008035,000063: 
008036,000064:                                                                                                  #  THIS COMPENSATION IS SUMMED INTO THE GCOMP REGISTERS AND WHEN THE MAGNITUDE OF ANY IRIG COMMAND EXCEEDS 2
008037,000065:                                                                                                  #  PULSES, THE COMMANDS ARE SENT TO THE GYROS.
008038,000066: 
008039,000067:                                                                                                  #  DURING FREE-FALL PHASES OF A FLIGHT NBDX, NBDY, AND NBDZ ARE THE ONLY RELEVANT COEFFICIENTS. THESE BIAS TERMS
008040,000068:                                                                                                  #  WILL BE INTEGRATED BY ROUTINE NBDONLY APPROXIMATELY EVERY 81.93 SECONDS FOLLOWING AN EXECUTIVE CALL BY THE DUMMY
008041,000069:                                                                                                  #  TASK OF THE WAITLIST PROGRAM. NBDONLY IS ENABLED WHEN BIT 15 OF FLAGWRD2 IS SET TO INDICATE FREE-FALL. DURING
008042,000070:                                                                                                  #  THIS TIME 1/PIPA IS NOT CALLED.
008043,000071: 
008044,000072:                                                                                                  #  LASTBIAS IS CALLED VIA EXECUTIVE WHEN MAKING THE TRANSITION FROM FREE-FALL TO A PIPA READING MODE. THE NBD TERMS
008045,000073:                                                                                                  #  ARE COMPENSATED FOR FROM THE LAST NBDONLY CALL UP TO PIPA ZEROING. PREREAD WILL THEN ENABLE 1/PIPA AT ITS
008046,000074:                                                                                                  #  REGULAR INTERVAL. THE DRIFT FLAG MUST BE DOWN JUST PRIOR TO LASTBIAS. GYROCOMPASS NEVER CALLS LASTBIAS.
008047,000075: 
008048,000076:                                                                                                  #  SCALING CONSIDERATIONS
008049,000077:                                                                                                  #                             UNITS              MAX. VALUE     INTERNAL UNITS AND SCALING
008050,000078: 
008051,000079:                                                                                                  #         PIPA BIAS           (CM)/(SEC)(SEC)    3.125          (PIPA PULSES)/(CS) X 2(-5) 
008052,000080:                                                                                                  #         PIPA SCALE FACTOR   P.P.M.             1953.125       (PPM) X 2(-9)
008053,000081:                                                                                                  #         NBD                 MERU               128.74604      (GYRO PULSES)/(CS) X 2(-5) 
008054,000082:                                                                                                  #         ADIA                (MERU)/(G)         630.36633      (GYRO PULSES)/(PIPA PULSE) X 2(-6)
008055,000083:                                                                                                  #         ADSRA               (MERU)/(G)         630.36633      (GYRO PULSES)/(PIPA PULSE) X 2(-6)
008056,000084: 

Page 210

008058,000086:                                                                                                  #  CONVERSION TABLE
008059,000087:                                                                                                  #        1 PIPA PULSE = 1.00 (CM)/(SEC)(SEC)          1 ERU = 7.29209817 X 10(-5) (RAD)/(SEC)
008060,000088:                                                                                                  #        1 ERU = 15.04104488 (ARCSEC)/(SEC)           1 (CM)/(SEC)(SEC) = .01 (PIPA PULSES)/(CS)
008061,000089:                                                                                                  #        1 GYRO PULSE = .61798096 ARCSEC              1 MERU = .0024272592 (GYRO PULSES)/(CS)
008062,000090:                                                                                                  #        1 G = 979.24 (CM)/(SEC)(SEC)  (AMR)          1 (MERU)/(G) = .000144787174 (GYRO PULSES)/(PIPA PULSE)
008063,000091: 
008064,000092:                                                                                                  #  REFERENCES
008065,000093:                                                                                                  #        AGC PROGRAMMING MEMO NO. 12, I.S.S. MEMO NO. 247, I.S.S. MEMO NO. 328, I.S.S. MEMO NO. 339
008066,000094: 
008067,000095:                                                                                                  #  CALLING SEQUENCE 
008068,000096:                                                                                                  #        L      TC     BANKCALL
008069,000097:                                                                                                  #        L+1    CADR   1/PIPA
008070,000098:                                                                                                  #        L+2                       RETURNS HERE
008071,000099: 
008072,000100:                                                                                                  #  NORMAL EXIT MODES
008073,000101:                                                                                                  #        AT L+2 OF CALLING SEQUENCE
008074,000102: 
008075,000103:                                                                                                  #  ALARM OR ABORT MODES
008076,000104:                                                                                                  #        ENDOFJOB
008077,000105: 
008078,000106:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED (CONSECUTIVE LOCATIONS)
008079,000107:                                                                                                  #        PBIASX    PIPAX BIAS
008080,000108:                                                                                                  #        PIPASCFX  PIPAX SCALE FACTOR ERROR
008081,000109:                                                                                                  #        PBIASY    PIPAY BIAS
008082,000110:                                                                                                  #        PIPASCFY  PIPAY SCALE FACTOR ERROR
008083,000111:                                                                                                  #        PBIASZ    PIPAZ BIAS
008084,000112:                                                                                                  #        PIPASCFZ  PIPAZ SCALE FACTOR ERROR
008085,000113:                                                                                                  #        NBDX      X IRIG BIAS DRIFT
008086,000114:                                                                                                  #        NBDY      Y IRIG BIAS DRIFT
008087,000115:                                                                                                  #        NDBZ      Z IRIG BIAS DRIFT
008088,000116:                                                                                                  #        ADIAX     IRIG ACCELERATION SENSITIVE DRIFT ALONG THE X INPUT AXIS  
008089,000117:                                                                                                  #        ADIAY     IRIG ACCELERATION SENSITIVE DRIFT ALONG THE Y INPUT AXIS 
008090,000118:                                                                                                  #        ADIAZ     IRIG ACCELERATION SENSITIVE DRIFT ALONG THE Z INPUT AXIS
008091,000119:                                                                                                  #        ADSRAX    IRIG ACCELERATION SENSITIVE DRIFT ALONG THE X SPIN REFERENCE AXIS      
008092,000120:                                                                                                  #        ADSRAY    IRIG ACCELERATION SENSITIVE DRIFT ALONG THE Y SPIN REFERENCE AXIS  
008093,000121:                                                                                                  #        ADSRAZ    IRIG ACCELERATION SENSITIVE DRIFT ALONG THE Z SPIN REFERENCE AXIS
008094,000122:                                                                                                  #        GCOMP     GYRO COMPENSATION PULSES (SET = ZERO FOR 1ST PASS)
008095,000123: 
008096,000124:                                                                                                  #  INPUT
008097,000125:                                                                                                  #        1/PIPADT - DELTA TIME SCALED AT (CS) X 2(+8)
008098,000126:                                                                                                  #        DELVX, DELVY, DELVZ - PIPA READINGS IN THE MAJOR PARTS - MINOR PARTS IRRELEVANT 
008099,000127: 
008100,000128:                                                                                                  #  OUTPUT
008101,000129:                                                                                                  #        DELVX, DELVY, DELVZ - PIPA COUNTS SCALED 2(+14) COMPENSATED FOR PIPA BIAS AND SCALE FACTOR ERROR
008102,000130:                                                                                                  #        GCOMP - 3 DP LOCATIONS CONTAINING GYRO PULSES TO COMPENSATE FOR NBD, ADIA, AND ADSRA COEFFICIENTS
008103,000131: 
008104,000132:                                                                                                  #  DEBRIS
008105,000133:                                                                                                  #        CENTRALS - A,L,Q
008106,000134:                                                                                                  #        OTHER - BUF - BUF +2, VBUF - VBUF +2, GCOMPSW
008107,000135: 

Page 211

008109,000137: 07,2000           32233        1/PIPA             CAF      LGCOMP                                #  SAVE EBANK OF CALLING PROGRAM
008110,000138: 07,2001           56003                           XCH      EBANK                                 
008111,000139: 07,2002           54147                           TS       MODE                                  
008112,000140: 
008113,000141: 07,2003           37655                           CAF      FOUR                                  #  PIPAZ, PIPAY, PIPAX
008114,000142: 07,2004           54116                           TS       BUF        +2                         
008115,000143: 
008116,000144: 07,2005           50000                           INDEX    A                                     
008117,000145: 07,2006           30403                           CA       DELVX                                 #  CONTAINS PREVIOUS PIPA READING
008118,000146: 07,2007           54106                           TS       VBUF                                  #  TEMPORARY - MINOR PARTS IRRELEVANT
008119,000147: 
008120,000148: 07,2010           50116                           INDEX    BUF        +2                         
008121,000149: 07,2011           41432                           CS       PIPABIAS                              #  (PIPA PULSES)/(CS) X 2(-5)             *
008122,000150: 07,2012           00006                           EXTEND                                         
008123,000151: 07,2013           71110                           MP       1/PIPADT                              #  (CS) X 2(+8)  NOW (PIPA PULSES) X 2(+3)*
008124,000152: 07,2014           00006                           EXTEND                                         #                                         *
008125,000153: 07,2015           77654                           MP       BIT4                                  #  SCALE 2(-3)      SHIFT LEFT 3          *
008126,000154: 07,2016           22107                           LXCH     VBUF       +1                         #  (PIPA PULSES) X 2(0)   FRACTIONAL PULSE*
008127,000155: 
008128,000156: 07,2017           50116                           INDEX    BUF        +2                         
008129,000157: 07,2020           31433                           CA       PIPASCF                               #  (P.P.M.) X 2(-9)
008130,000158: 07,2021           00006                           EXTEND                                         
008131,000159: 07,2022           70106                           MP       VBUF                                  #  (PIPA PULSES) X 2(+14)
008132,000160: 07,2023           22110                           LXCH     VBUF       +2                         #  SAVE FOR FRACTIONAL COMPUTATION
008133,000161: 07,2024           00006                           EXTEND                                         
008134,000162: 07,2025           77652                           MP       BIT6                                  #  SCALE 2(+9)    NOW PIPA PULSES X 2(+14)
008135,000163: 07,2026           20107                           DAS      VBUF                                  #  (PIPAI) - (NBD)(DELTAT) - HI(PIPAI)(SFE)
008136,000164: 
008137,000165: 07,2027           30110                           CA       VBUF       +2                         #  NOW MINOR PART
008138,000166: 07,2030           00006                           EXTEND                                         
008139,000167: 07,2031           77652                           MP       BIT6                                  #  SCALE 2(+9)     SHIFT RIGHT 9
008140,000168: 07,2032           54001                           TS       L                                     
008141,000169: 07,2033           37665                           CAF      ZERO                                  
008142,000170: 07,2034           20107                           DAS      VBUF                                  #  (PIPAI) - (NBD)(DELTAT) - (PIPAI)(SFE)
008143,000171: 
008144,000172: 07,2035           00006                           EXTEND                                         
008145,000173: 07,2036           30107                           DCA      VBUF                                  #  RESTORE COMPENSATED PIPA READING
008146,000174: 07,2037           50116                           INDEX    BUF        +2                         
008147,000175: 07,2040           52404                           DXCH     DELVX                                 
008148,000176: 
008149,000177: 07,2041           10116                           CCS      BUF        +2                         #  PIPAZ, PIPAY, PIPAX
008150,000178: 07,2042           67667                           AD       NEG1                                  
008151,000179: 07,2043           12004                           TCF      1/PIPA     +4                         
008152,000180: 07,2044           12045                           NOOP                                           #  LESS THAN ZERO IMPOSSIBLE
008153,000181: 

Page 212

008155,000183: 07,2045           55457        IRIGCOMP           TS       GCOMPSW                               #  INDICATE COMMANDS 2 PULSES OR LESS
008156,000184: 07,2046           54114                           TS       BUF                                   #  INDEX COUNTER - IRIGX, IRIGY, IRIGZ
008157,000185: 07,2047           00006        IRIGX              EXTEND                                         
008158,000186: 07,2050           40404                           DCS      DELVX                                 #  (PIPA PULSES) X 2(+14)
008159,000187: 07,2051           52141                           DXCH     MPAC                                  
008160,000188: 07,2052           31443                           CA       ADIAX                                 #  (GYRO PULSES)/(PIPA PULSE) X 2(-6)     *
008161,000189: 07,2053           02127                           TC       GCOMPSUB                              #  -(ADIAX)(PIPAX)   (GYRO PULSES) X 2(+14)
008162,000190: 
008163,000191: 07,2054           00006                           EXTEND                                         
008164,000192: 07,2055           40406                           DCS      DELVY                                 #  (PIPA PULSES) X 2(+14)
008165,000193: 07,2056           52141                           DXCH     MPAC                                  
008166,000194: 07,2057           41446                           CS       ADSRAX                                #  (GYRO PULSES)/(PIPA PULSE) X 2(-6)     *
008167,000195: 07,2060           02127                           TC       GCOMPSUB                              #  +(ADSRAX)(PIPAY)  (GYRO PULSES) X 2(+14)
008168,000196: 
008169,000197: 07,2061           41440                           CS       NBDX                                  #  (GYRO PULSES)/(CS) X 2(-5)
008170,000198: 07,2062           02156                           TC       DRIFSTUB                              #  -(NBDX)(DELTAT)   (GYRO PULSES) X 2(+14)
008171,000199: 
008172,000200: 07,2063           00006        IRIGY              EXTEND                                         
008173,000201: 07,2064           40406                           DCS      DELVY                                 #  (PIPA PULSES) X 2(+14)
008174,000202: 07,2065           52141                           DXCH     MPAC                                  
008175,000203: 07,2066           31444                           CA       ADIAY                                 #  (GYRO PULSES)/(PIPA PULSE) X 2(-6)     *
008176,000204: 07,2067           02127                           TC       GCOMPSUB                              #  -(ADIAY)(PIPAY)   (GYRO PULSES) X 2(+14)
008177,000205: 
008178,000206: 07,2070           00006                           EXTEND                                         
008179,000207: 07,2071           40410                           DCS      DELVZ                                 #  (PIPA PULSES) X 2(+14)
008180,000208: 07,2072           52141                           DXCH     MPAC                                  
008181,000209: 07,2073           41447                           CS       ADSRAY                                #  (GYRO PULSES)/(PIPA PULSE) X 2(-6)     *
008182,000210: 07,2074           02127                           TC       GCOMPSUB                              #  +(ADSRAY)(PIPAZ)  (GYRO PULSES) X 2(+14)
008183,000211: 
008184,000212: 07,2075           41441                           CS       NBDY                                  #  (GYRO PULSES)/(CS) X 2(-5)
008185,000213: 07,2076           02156                           TC       DRIFSTUB                              #  -(NBDY)(DELTAT)   (GYRO PULSES) X 2(+14)
008186,000214: 
008187,000215: 07,2077           00006        IRIGZ              EXTEND                                         
008188,000216: 07,2100           40406                           DCS      DELVY                                 #  (PIPA PULSES) X 2(+14)
008189,000217: 07,2101           52141                           DXCH     MPAC                                  
008190,000218: 07,2102           31450                           CA       ADSRAZ                                #  (GYRO PULSES)/(PIPA PULSE) X 2(-6)     *
008191,000219: 07,2103           02127                           TC       GCOMPSUB                              #  -(ADSRAZ)(PIPAY   (GYRO PULSES) X 2(+14)
008192,000220: 
008193,000221: 07,2104           00006                           EXTEND                                         
008194,000222: 07,2105           40410                           DCS      DELVZ                                 #  (PIPA PULSES) X 2(+14)
008195,000223: 07,2106           52141                           DXCH     MPAC                                  
008196,000224: 07,2107           31445                           CA       ADIAZ                                 #  (GYRO PULSES)/(PIPA PULSE) X 2(-6)     *
008197,000225: 07,2110           02127                           TC       GCOMPSUB                              #  -(ADIAZ)(PIPAZ)   (GYRO PULSES) X 2(+14)
008198,000226: 
008199,000227: 07,2111           31442                           CA       NBDZ                                  #  (GYRO PULSES)/(CS) X 2(-5)
008200,000228: 07,2112           02156                           TC       DRIFSTUB                              #  +(NBDZ)(DELTAT)   (GYRO PULSES) X 2(+14)
008201,000229: 

Page 213

008203,000231: 07,2113           11457                           CCS      GCOMPSW                               #  ARE GYRO COMMANDS GREATER THAN 2 PULSES
008204,000232: 07,2114           12116                           TCF      +2                                    #  YES
008205,000233: 07,2115           12124                           TCF      IRIG1                                 #  NO
008206,000234: 
008207,000235: 07,2116           00004                           INHINT                                         
008208,000236: 07,2117           34533                           CAF      PRIO35                                #  SEND OUT GYRO TORQUING COMMANDS
008209,000237: 07,2120           04363                           TC       NOVAC                                 
008210,000238: 07,2121           02211 16003                     2CADR    1/GYRO                                
008211,000239: 07,2123           00003                           RELINT                                         
008212,000240: 07,2124           30147        IRIG1              CA       MODE                                  #  SET EBANK FOR RETURN
008213,000241: 07,2125           54003                           TS       EBANK                                 
008214,000242: 07,2126           14076                           TCF      SWRETURN                              
008215,000243: 
008216,000244: 
008217,000245: 
008218,000246: 
008219,000247: 
008220,000248: 
008221,000249: 07,2127           56140        GCOMPSUB           XCH      MPAC                                  #  ADIA OR ADSRA COEFFICIENT ARRIVES IN A 
008222,000250: 07,2130           00006                           EXTEND                                         #  C(MPAC) = (PIPA PULSES) X 2(+14)  
008223,000251: 07,2131           70140                           MP       MPAC                                  #  (GYRO PULSES)/(PIPA PULSE) X 2(-6)     *
008224,000252: 07,2132           52107                           DXCH     VBUF                                  #  NOW = (GYRO PULSES) X 2(+8)            *
008225,000253: 
008226,000254: 07,2133           30141                           CA       MPAC       +1                         #  MINOR PART PIPA PULSES
008227,000255: 07,2134           00006                           EXTEND                                         
008228,000256: 07,2135           70140                           MP       MPAC                                  #  ADIA OR ADSRA
008229,000257: 07,2136           54001                           TS       L                                     
008230,000258: 07,2137           37665                           CAF      ZERO                                  
008231,000259: 07,2140           20107                           DAS      VBUF                                  #  NOW = (GYRO PULSES) X 2(+8)            *
008232,000260: 
008233,000261: 07,2141           30106                           CA       VBUF                                  #  PARTIAL RESULT - MAJOR
008234,000262: 07,2142           00006                           EXTEND                                         
008235,000263: 07,2143           77647                           MP       BIT9                                  #  SCALE 2(+6)      SHIFT RIGHT 6         *
008236,000264: 07,2144           50114                           INDEX    BUF                                   #  RESULT = (GYRO PULSES) X 2(+14)
008237,000265: 07,2145           21452                           DAS      GCOMP                                 #  HI(ADIA)(PIPAI)  OR  HI(ADSRA)(PIPAI)
008238,000266: 
008239,000267: 07,2146           30107                           CA       VBUF       +1                         #  PARTIAL RESULT - MINOR
008240,000268: 07,2147           00006                           EXTEND                                         
008241,000269: 07,2150           77647                           MP       BIT9                                  #  SCALE 2(+6)      SHIFT RIGHT 6         *
008242,000270: 07,2151           54001                           TS       L                                     
008243,000271: 07,2152           37665                           CAF      ZERO                                  
008244,000272: 07,2153           50114                           INDEX    BUF                                   #  RESULT = (GYRO PULSES) X 2(+14)
008245,000273: 07,2154           21452                           DAS      GCOMP                                 #  (ADIA)(PIPAI)  OR  (ADSRA)(PIPAI)
008246,000274: 
008247,000275: 07,2155           00002                           TC       Q                                     
008248,000276: 

Page 214

008250,000278: 07,2156           00006        DRIFSTUB           EXTEND                                         
008251,000279: 07,2157           22115                           QXCH     BUF        +1                         
008252,000280: 
008253,000281: 07,2160           00006                           EXTEND                                         #  C(A) = NBD    (GYRO PULSES)/(CS) X 2(-5)
008254,000282: 07,2161           71110                           MP       1/PIPADT                              #  (CS) X 2(+8)   NOW (GYRO PULSES) X 2(+3)
008255,000283: 07,2162           22141                           LXCH     MPAC       +1                         #  SAVE FOR FRACTIONAL COMPENSATION
008256,000284: 07,2163           00006                           EXTEND                                         
008257,000285: 07,2164           77654                           MP       BIT4                                  #  SCALE 2(+11)     SHIFT RIGHT 11
008258,000286: 07,2165           50114                           INDEX    BUF                                   
008259,000287: 07,2166           21452                           DAS      GCOMP                                 #  HI(NBD)(DELTAT)   (GYRO PULSES) X 2(+14)
008260,000288: 
008261,000289: 07,2167           30141                           CA       MPAC       +1                         #  NOW MINOR PART
008262,000290: 07,2170           00006                           EXTEND                                         
008263,000291: 07,2171           77654                           MP       BIT4                                  #  SCALE 2(+11)     SHIFT RIGHT 11
008264,000292: 07,2172           54001                           TS       L                                     
008265,000293: 07,2173           37665                           CAF      ZERO                                  
008266,000294: 07,2174           50114                           INDEX    BUF                                   #  ADD IN FRACTIONAL COMPENSATION
008267,000295: 07,2175           21452                           DAS      GCOMP                                 #  (NBD)(DELTAT)     (GYRO PULSES) X 2(+14)
008268,000296: 
008269,000297: 07,2176           37656        DRFTSUB2           CAF      TWO                                   #  PIPAX, PIPAY, PIPAZ
008270,000298: 07,2177           60114                           AD       BUF                                   
008271,000299: 07,2200           56114                           XCH      BUF                                   
008272,000300: 07,2201           50000                           INDEX    A                                     
008273,000301: 07,2202           11451                           CCS      GCOMP                                 #  ARE GYRO COMMANDS 1 PULSE OR GREATER
008274,000302: 07,2203           12205                           TCF      +2                                    #  YES
008275,000303: 07,2204           00115                           TC       BUF        +1                         #  NO
008276,000304: 
008277,000305: 07,2205           72255                           MASK     COMPCHK                               #  DEC -1
008278,000306: 07,2206           10000                           CCS      A                                     #  ARE GYRO COMMANDS GREATER THAN 2 PULSES
008279,000307: 07,2207           55457                           TS       GCOMPSW                               #  YES - SET GCOMPSW POSITIVE
008280,000308: 07,2210           00115                           TC       BUF        +1                         #  NO
008281,000309: 

Page 215

008283,000311: 07,2211           37655        1/GYRO             CAF      FOUR                                  #  PIPAZ, PIPAY, PIPAX
008284,000312: 07,2212           54114                           TS       BUF                                   
008285,000313: 
008286,000314: 07,2213           50114                           INDEX    BUF                                   #  SCALE GYRO COMMANDS FOR IMUPULSE
008287,000315: 07,2214           31452                           CA       GCOMP      +1                         #  FRACTIONAL PULSES
008288,000316: 07,2215           00006                           EXTEND                                         
008289,000317: 07,2216           77650                           MP       BIT8                                  #  SHIFT RIGHT 7
008290,000318: 07,2217           50114                           INDEX    BUF                                   
008291,000319: 07,2220           55452                           TS       GCOMP      +1                         #  FRACTIONAL PULSES SCALED
008292,000320: 
008293,000321: 07,2221           37665                           CAF      ZERO                                  #  SET GCOMP = 0 FOR DAS INSTRUCTION
008294,000322: 07,2222           50114                           INDEX    BUF                                   
008295,000323: 07,2223           57451                           XCH      GCOMP                                 #  GYRO PULSES
008296,000324: 07,2224           00006                           EXTEND                                         
008297,000325: 07,2225           77650                           MP       BIT8                                  #  SHIFT RIGHT 7
008298,000326: 07,2226           50114                           INDEX    BUF                                   
008299,000327: 07,2227           21452                           DAS      GCOMP                                 #  ADD THESE TO FRACTIONAL PULSES ABOVE
008300,000328: 
008301,000329: 07,2230           10114                           CCS      BUF                                   #  PIPAZ, PIPAY, PIPAX
008302,000330: 07,2231           67667                           AD       NEG1                                  
008303,000331: 07,2232           12212                           TCF      1/GYRO     +1                         
008304,000332: 07,2233           01451        LGCOMP             ECADR    GCOMP                                 #  LESS THAN ZERO IMPOSSIBLE
008305,000333: 
008306,000334: 07,2234           32233                           CAF      LGCOMP                                
008307,000335: 07,2235           04063                           TC       BANKCALL                              
008308,000336: 07,2236           26317                           CADR     IMUPULSE                              #  CALL GYRO TORQUING ROUTINE
008309,000337: 07,2237           04063                           TC       BANKCALL                              
008310,000338: 07,2240           26716                           CADR     IMUSTALL                              #  WAIT FOR PULSES TO GET OUT
008311,000339: 07,2241           14440                           TCF      ENDOFJOB                              #  TEMPORARY
008312,000340: 
008313,000341: 07,2242           37655        GCOMP1             CAF      FOUR                                  #  PIPAZ, PIPAY, PIPAX
008314,000342: 07,2243           54114                           TS       BUF                                   
008315,000343: 
008316,000344: 07,2244           50114                           INDEX    BUF                                   #  RESCALE
008317,000345: 07,2245           31452                           CA       GCOMP      +1                         
008318,000346: 07,2246           00006                           EXTEND                                         
008319,000347: 07,2247           77650                           MP       BIT8                                  #  SHIFT MINOR PART LEFT 7 - MAJOR PART = 0
008320,000348: 07,2250           50114                           INDEX    BUF                                   
008321,000349: 07,2251           23452                           LXCH     GCOMP      +1                         #  BITS 8-14 OF MINOR PART WERE = 0
008322,000350: 
008323,000351: 07,2252           10114                           CCS      BUF                                   #  PIPAZ, PIPAY, PIPAX
008324,000352: 07,2253           67667                           AD       NEG1                                  
008325,000353: 07,2254           12243                           TCF      GCOMP1     +1                         
008326,000354: 07,2255           77776        COMPCHK            DEC      -1         B-14                       #  LESS THAN ZERO IMPOSSIBLE
008327,000355: 07,2256           14440                           TCF      ENDOFJOB                              
008328,000356: 

Page 216

008330,000358: 07,2257           30025        NBDONLY            CA       TIME1                                 #  (CS) X 2(+14)
008331,000359: 07,2260           57110                           XCH      1/PIPADT                              #  PREVIOUS TIME
008332,000360: 07,2261           40000                           COM                                            
008333,000361: 07,2262           61110                           AD       1/PIPADT                              
008334,000362: 07,2263           10000        NBD2               CCS      A                                     #  CALCULATE ELAPSED TIME
008335,000363: 07,2264           67657                           AD       ONE                                   #  NO TIME1 OVERFLOW
008336,000364: 07,2265           12272                           TCF      NBD3                                  #  RESTORE TIME DIFFERENCE AND JUMP
008337,000365: 07,2266           12270                           TCF      +2                                    #  TIME1 OVERFLOW
008338,000366: 07,2267           14440                           TCF      ENDOFJOB                              #  IF ELAPSED TIME = 0  (DIFFERENCE = -0)
008339,000367: 
008340,000368: 07,2270           40000                           COM                                            #  CALCULATE ABSOLUTE DIFFERENCE
008341,000369: 07,2271           67637                           AD       POSMAX                                
008342,000370: 
008343,000371: 07,2272           00006        NBD3               EXTEND                                         #  C(A) = DELTAT    (CS) X 2(+14)
008344,000372: 07,2273           77646                           MP       BIT10                                 #  SHIFT RIGHT 5
008345,000373: 07,2274           52107                           DXCH     VBUF                                  
008346,000374: 07,2275           00006                           EXTEND                                         
008347,000375: 07,2276           30107                           DCA      VBUF                                  
008348,000376: 07,2277           52141                           DXCH     MPAC                                  #  DELTAT NOW SCALED (CS) X 2(+19)
008349,000377: 
008350,000378: 07,2300           37665                           CAF      ZERO                                  
008351,000379: 07,2301           55457                           TS       GCOMPSW                               #  INDICATE COMMANDS 2 PULSES OR LESS
008352,000380: 07,2302           54114                           TS       BUF                                   #  PIPAX, PIPAY, PIPAZ
008353,000381: 
008354,000382: 07,2303           41440                           CS       NBDX                                  #  (GYRO PULSES)/(CS) X 2(-5)
008355,000383: 07,2304           02322                           TC       FBIASSUB                              #  -(NBDX)(DELTAT)    (GYRO PULSES) X 2(+14)
008356,000384: 
008357,000385: 07,2305           00006                           EXTEND                                         
008358,000386: 07,2306           40107                           DCS      VBUF                                  
008359,000387: 07,2307           52141                           DXCH     MPAC                                  #  DELTAT SCALED (CS) X 2(+19)
008360,000388: 07,2310           31441                           CA       NBDY                                  #  (GYRO PULSES)/(CS) X 2(-5)
008361,000389: 07,2311           02322                           TC       FBIASSUB                              #  -(NBDY)(DELTAT)    (GYRO PULSES) X 2(+14)
008362,000390: 
008363,000391: 07,2312           00006                           EXTEND                                         
008364,000392: 07,2313           40107                           DCS      VBUF                                  
008365,000393: 07,2314           52141                           DXCH     MPAC                                  #  DELTAT SCALED (CS) X 2(+19)
008366,000394: 07,2315           41442                           CS       NBDZ                                  #  (GYRO PULSES)/(CS) X 2(-5)
008367,000395: 07,2316           02322                           TC       FBIASSUB                              #  +(NBDZ)(DELTAT)    (GYRO PULSES) X 2 (+14)
008368,000396: 
008369,000397: 07,2317           11457                           CCS      GCOMPSW                               #  ARE GYRO COMMANDS GREATER THAN 2 PULSES
008370,000398: 07,2320           12211                           TCF      1/GYRO                                #  YES
008371,000399: 07,2321           14440                           TCF      ENDOFJOB                              #  NO
008372,000400: 

Page 217

008374,000402: 07,2322           56002        FBIASSUB           XCH      Q                                     
008375,000403: 07,2323           54115                           TS       BUF        +1                         
008376,000404: 
008377,000405: 07,2324           30002                           CA       Q                                     #  NBD SCALED (GYRO PULSES)/(CS) X 2(-5)
008378,000406: 07,2325           00006                           EXTEND                                         
008379,000407: 07,2326           70140                           MP       MPAC                                  #  DELTAT SCALED (CS) X 2(+19)
008380,000408: 07,2327           50114                           INDEX    BUF                                   
008381,000409: 07,2330           21452                           DAS      GCOMP                                 #  HI(NBD)(DELTAT)    (GYRO PULSES) X 2(+14)
008382,000410: 
008383,000411: 07,2331           30002                           CA       Q                                     #  NOW FRACTIONAL PART
008384,000412: 07,2332           00006                           EXTEND                                         
008385,000413: 07,2333           70141                           MP       MPAC       +1                         
008386,000414: 07,2334           54001                           TS       L                                     
008387,000415: 07,2335           37665                           CAF      ZERO                                  
008388,000416: 07,2336           50114                           INDEX    BUF                                   
008389,000417: 07,2337           21452                           DAS      GCOMP                                 #  (NBD)(DELTAT)     (GYRO PULSES) X 2(+14)
008390,000418: 
008391,000419: 07,2340           12176                           TCF      DRFTSUB2                              #  CHECK MAGNITUDE OF COMPENSATION
008392,000420: 
008393,000421: 
008394,000422: 
008395,000423: 
008396,000424: 
008397,000425: 07,2341           57110        LASTBIAS           XCH      1/PIPADT                              #  NEW 1/PIPADT VALUE SCALED (CS) X 2(+14)
008398,000426: 07,2342           40000                           COM                                            
008399,000427: 07,2343           60140                           AD       MPAC                                  #  C(TIME1) AT PIPAI = 0 SCALED 2(+14)
008400,000428: 07,2344           12263                           TCF      NBD2                                  
008401,000429: 
008402,000430: 
008403,000431: 
008404,000432: 
008405,000433: 
008406,000434: 07,2345           32233        GCOMPZER           CAF      LGCOMP                                #  ROUTINE TO ZERO GCOMP BEFORE FIRST
008407,000435: 07,2346           56003                           XCH      EBANK                                 #  CALL TO 1/PIPA
008408,000436: 07,2347           54147                           TS       MODE                                  
008409,000437: 
008410,000438: 07,2350           37665                           CAF      ZERO                                  
008411,000439: 07,2351           55451                           TS       GCOMP                                 
008412,000440: 07,2352           55452                           TS       GCOMP      +1                         
008413,000441: 07,2353           55453                           TS       GCOMP      +2                         
008414,000442: 07,2354           55454                           TS       GCOMP      +3                         
008415,000443: 07,2355           55455                           TS       GCOMP      +4                         
008416,000444: 07,2356           55456                           TS       GCOMP      +5                         
008417,000445: 
008418,000446: 07,2357           30147                           CA       MODE                                  
008419,000447: 07,2360           54003                           TS       EBANK                                 
008420,000448: 07,2361           14076                           TCF      SWRETURN                              #  RETURN TO CALLER

End of include-file IMU_COMPENSATION_PACKAGE.agc.  Parent file is MAIN.agc