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.

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

Page 209

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

Page 210

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

Page 211

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

Page 212

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

Page 213

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

Page 214

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

Page 215

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

Page 216

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

Page 217

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

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