Source Code

These source-code files were transcribed from a printout in Don Eyles's personal collection, scanned by archive.org, and financially sponsored by Linden Sims. A team of volunteers performed the transcription and proof-reading. The scanned page images are available at the Virtual AGC Project website, as well as higher-quality (but much larger) images at the Virtual AGC Project's collection in the Internet Archive. Report any problems by creating "issues" at the Virtual AGC Project's GitHub Repository.

Notations on the program listing read, in part:

	GAP:  ASSEMBLE REVISION 56 OF AGC PROGRAM ZERLINA BY ZOROASTER
	9:12 OCT. 21,1970
Note that the date is the date of the printout, not the date of the program revision.

061241,000002:                                                                                                  ## Copyright:   Public domain.
061242,000003:                                                                                                  ## Filename:    DAPIDLER_PROGRAM.agc
061243,000004:                                                                                                  ## Purpose:     A log section of Zerlina 56, the final revision of
061244,000005:                                                                                                  ##              Don Eyles's offline development program for the variable 
061245,000006:                                                                                                  ##              guidance period servicer. It also includes a new P66 with LPD 
061246,000007:                                                                                                  ##              (Landing Point Designator) capability, based on an idea of John 
061247,000008:                                                                                                  ##              Young's. Neither of these advanced features were actually flown,
061248,000009:                                                                                                  ##              but Zerlina was also the birthplace of other big improvements to
061249,000010:                                                                                                  ##              Luminary including the terrain model and new (Luminary 1E)
061250,000011:                                                                                                  ##              analog display programs. Zerlina was branched off of Luminary 145,
061251,000012:                                                                                                  ##              and revision 56 includes all changes up to and including Luminary
061252,000013:                                                                                                  ##              183. It is therefore quite close to the Apollo 14 program,
061253,000014:                                                                                                  ##              Luminary 178, where not modified with new features.
061254,000015:                                                                                                  ## Reference:   pp. 1398-1408
061255,000016:                                                                                                  ## Assembler:   yaYUL
061256,000017:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
061257,000018:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
061258,000019:                                                                                                  ## Mod history: 2017-07-28 MAS  Created from Luminary 210.
061259,000020:                                                                                                  ##              2017-08-20 MAS  Updated for Zerlina 56.
061260,000021: 

Page 1398

061262,000023:                                                                                                  #  THE DAPIDLER PROGRAM IS STARTED BY FRESH START AND RESTART.             THE DAPIDLER PROGRAM IS DONE 10 TIMES
061263,000024:                                                                                                  #  PER SECOND UNTIL THE ASTRONAUT DESIRES THE DAP TO WAKE UP, AND THE IMU AND CDUS ARE READY FOR USE BY THE DAP.
061264,000025:                                                                                                  #  THE NECESSARY INITIALIZATION OF THE DAP IS DONE BY THE DAPIDLER PROGRAM.
061265,000026: 16,2000                                           BANK     16                                    
061266,000027: 16,2000                                           SETLOC   DAPS1                                 
061267,000028: 16,2000                                           BANK                                           
061268,000029: 
061269,000030: 16,2000  E6,1536                                  EBANK=   AOSQ                                  
061270,000031: 
061271,000032: 16,2000                                           COUNT*   $$/DAPID                              
061272,000033: 
061273,000034:                                                                                                  #     CHEKBITS IS CALLED EVERY 0.1 SEC AT THE BEGINNING OF THE DAP PASS, WHETHER THE AUTOPILOT IS ACTIVE OR IDLING.
061274,000035:                                                                                                  #  IT CHECKS FOR THE FOLLOWING
061275,000036:                                                                                                  #           A. IS THE PGNCS MODE SELECT SWITCH TURNED TO "OFF"?
061276,000037:                                                                                                  #           B. IS THE IMU UNAVAILABLE AS AN ATTITUDE REFERENCE?
061277,000038:                                                                                                  #           C. IS THE SPACECRAFT UNDER AGS CONTROL?
061278,000039: 
061279,000040:                                                                                                  #      IF A OR B HOLD, THE FDAI NEEDLES CANNOT BE UPDATED AND A BIT IS SET TO INITIALIZE THE UPDATE ROUTINE.  OTHER
061280,000041:                                                                                                  #  WISE, THE NEEDLES ARE UPDATED.
061281,000042: 
061282,000043:                                                                                                  #     IF A OR B OR C ARE TRUE, THE DAP IS MADE TO IDLE THIS PASS.  OTHERWISE, CONTROL IS TRANSFERRED BACK TO THE
061283,000044:                                                                                                  #  CALLER OF CHEKBITS.
061284,000045: 
061285,000046: 16,2000           00006        CHEKBITS           EXTEND                                         
061286,000047: 16,2001           00031                           READ     CHAN31                                #  IF BOTH BIT13 AND BIT14 ARE ONE, THEN
061287,000048: 16,2002           40000                           COM                                            #  THE MODE SELECT SWITCH IS IN THE OFF
061288,000049: 16,2003           74355                           MASK     BIT13-14                              #  POSITION, AND SO THE DAP SHOULD BE OFF,
061289,000050: 16,2004           00006                           EXTEND                                         #  WITH NO ATTITUDE ERROR DISPLAY.
061290,000051: 16,2005           12012                           BZF      NONEEDLE                              
061291,000052: 
061292,000053: 16,2006           41300                           CS       IMODES33                              #  IF IMU NOT USABLE, DAP SHOULD IDLE WITH
061293,000054: 16,2007           74746                           MASK     BIT6                                  #   NO FDAI NEEDLE DISPLAY.
061294,000055: 16,2010           10000                           CCS      A                                     
061295,000056: 16,2011           12206                           TCF      JUMPDSP                               
061296,000057: 16,2012           41262        NONEEDLE           CS       RCSFLAGS                              #  SET FLAG TO INITIALIZE NEEDLE DISPLAY.
061297,000058: 16,2013           74751                           MASK     BIT3                                  
061298,000059: 16,2014           27262                           ADS      RCSFLAGS                              
061299,000060: 16,2015           12163                           TCF      SHUTDOWN                              
061300,000061: 
061301,000062: 16,2016           34742        CHEKMORE           CAF      BIT10                                 #  BIT 10 OF 30 IS PGNCS CONTROL OF S/C
061302,000063: 16,2017           00006                           EXTEND                                         
061303,000064: 16,2020           02030                           RAND     CHAN30                                #  BITS IN 30 ARE INVERTED
061304,000065: 16,2021           10000                           CCS      A                                     
061305,000066: 16,2022           12157                           TCF      MOREIDLE                              
061306,000067: 
061307,000068: 16,2023           00002                           RETURN                                         
061308,000069: 

Page 1399

061310,000071:                                                                                                  #  DAPIDLER ENTRY.
061311,000072: 
061312,000073: 16,2024           22016        DAPIDLER           LXCH     BANKRUPT                              #  INTERRUPT LEAD INS (CONTINUED)
061313,000074: 16,2025           00006                           EXTEND                                         
061314,000075: 16,2026           22012                           QXCH     QRUPT                                 
061315,000076: 
061316,000077: 16,2027           31262                           CA       RCSFLAGS                              
061317,000078: 16,2030           74737                           MASK     BIT13                                 
061318,000079: 16,2031           10000                           CCS      A                                     #  CHECK IF 1/ACCJOB HAS BEEN SET UP SINCE
061319,000080: 16,2032           12041                           TCF      CHECKUP                               #  THE LAST FRESH START OR RESTART.
061320,000081: 16,2033           34737                           CA       BIT13                                 
061321,000082: 16,2034           27262                           ADS      RCSFLAGS                              #  BIT 13 IS 1.
061322,000083: 16,2035           37727                           CAF      PRIO27                                
061323,000084: 16,2036           05072                           TC       NOVAC                                 #  SET UP JOB TO DO A LITTLE INITIALIZATION
061324,000085: 16,2037  E6,1536                                  EBANK=   AOSQ                                  #    AND EXECUTE 1/ACCS.
061325,000086: 16,2037           03550 42106                     2CADR    1/ACCSET                              #  (WILL BRANCH TO MOREIDLE ON ACCSOKAY)
061326,000087: 
061327,000088: 
061328,000089: 16,2041           02000        CHECKUP            TC       CHEKBITS                              #  CHECK TO SEE IF LM DAP IS TO GO ON AND
061329,000090:                                                                                                  #    DO ERROR DISPLAY.
061330,000091: 
061331,000092: 16,2042           30111                           CAE      DAPBOOLS                              #  IF 1/ACCS HAS NOT BEEN COMPLETED, IDLE.
061332,000093: 16,2043           74751                           MASK     ACCSOKAY                              #    NOTE: ONLY FRESH START AND RESTART
061333,000094: 16,2044           00006                           EXTEND                                         #          KNOCK THIS BIT DOWN.
061334,000095: 16,2045           12157                           BZF      MOREIDLE                              
061335,000096: 
061336,000097: 16,2046           04674        STARTDAP           TC       IBNKCALL                              #  ZERO ATTITUDE ERROR AND DESIRED RATES.
061337,000098: 16,2047           40154                           FCADR    ZATTEROR                              
061338,000099: 16,2050           34755                           CAF      ZERO                                  #  ********** INITIALIZE: **********
061339,000100: 16,2051           55524                           TS       TJP                                   
061340,000101: 16,2052           55525                           TS       TJU                                   
061341,000102: 16,2053           55526                           TS       TJV                                   
061342,000103: 16,2054           55421                           TS       OMEGAP                                #  RATES IN BODY (PILOT) COORDINATES.
061343,000104: 16,2055           55422                           TS       OMEGAQ                                
061344,000105: 16,2056           55423                           TS       OMEGAR                                
061345,000106: 16,2057           55430                           TS       TRAPEDP                               
061346,000107: 16,2060           55431                           TS       TRAPEDQ                               
061347,000108: 16,2061           55432                           TS       TRAPEDR                               
061348,000109: 16,2062           55536                           TS       AOSQ                                  #  OFFSET ACCELERATION ESTIMATES.
061349,000110: 16,2063           55537                           TS       AOSQ       +1                         
061350,000111: 16,2064           55540                           TS       AOSR                                  
061351,000112: 16,2065           55541                           TS       AOSR       +1                         
061352,000113: 16,2066           55424                           TS       ALPHAQ                                #  COPIES OF OFFSET ESTIMATES FOR DOWNLIST.
061353,000114: 16,2067           55425                           TS       ALPHAR                                
061354,000115: 16,2070           55501                           TS       NEGUQ                                 
061355,000116: 16,2071           55503                           TS       NEGUR                                 
061356,000117: 16,2072           55544                           TS       AOSQTERM                              #  QRAXIS RATE DERIVATION TERMS AND KALMAN
061357,000118: 16,2073           55545                           TS       AOSRTERM                              #  FILTER INITIALIZATION TERMS.
061358,000119: 16,2074           55510                           TS       QACCDOT                               #  DESCENT ACCELERATION DERIVATIVE EST.
061359,000120: 16,2075           55512                           TS       RACCDOT                               

Page 1400

061361,000122: 16,2076           55502                           TS       ALLOWGTS                              #  AOSTASK FLAG FOR QRAXIS RCS CONTROL USE.
061362,000123: 16,2077           55630                           TS       COTROLER                              #  DO TRYGTS ON FIRST PASS (WILL GO TO RCS)
061363,000124: 16,2100           55632                           TS       INGTS                                 #  RECOGNIZE FIRST GTS PASS AS SUCH.
061364,000125: 16,2101           55631                           TS       QGIMTIMR                              #  STOP GIMBAL DRIVES.  (PROBABLY WOULD BE
061365,000126: 16,2102           55633                           TS       RGIMTIMR                              #    GOOD ENOUGH JUST TO INACTIVATE TIMERS)
061366,000127: 16,2103           55460                           TS       OLDPMIN                               #  MINIMUM IMPULSE MODE ERASABLES
061367,000128: 16,2104           55461                           TS       OLDQRMIN                              
061368,000129: 16,2105           55766                           TS       PJETCTR                               #  INITIALIZE DOCKED JET INHIBITION
061369,000130: 16,2106           55767                           TS       UJETCTR                               #  COUNTERS
061370,000131: 16,2107           55770                           TS       VJETCTR                               
061371,000132: 16,2110     4747               CALLGMBL           EQUALS   BIT5                                  #  RCSFLAGS INITIALIZATION.
061372,000133: 16,2110           42202                           CS       MANFLAG                               
061373,000134: 16,2111           71262                           MASK     RCSFLAGS                              #  NEGUQ(R) HAVE BEEN GENERATED.
061374,000135: 16,2112           55262                           TS       RCSFLAGS                              
061375,000136: 
061376,000137:                                                                                                  #  SET UP "OLD" MEASURED CDU ANGLES:
061377,000138: 
061378,000139: 16,2113           00006                           EXTEND                                         
061379,000140: 16,2114           30033                           DCA      CDUX                                  #  OLDXFORP AND OLDYFORP
061380,000141: 16,2115           53441                           DXCH     OLDXFORP                              
061381,000142: 16,2116           30034                           CA       CDUZ                                  
061382,000143: 16,2117           55442                           TS       OLDZFORQ                              
061383,000144: 16,2120           41262                           CS       RCSFLAGS                              
061384,000145: 16,2121           74740                           MASK     BIT12                                 
061385,000146: 16,2122           27262                           ADS      RCSFLAGS                              #  BIT 12 SET TO 1.
061386,000147: 16,2123           34751                           CA       FOUR                                  
061387,000148: 16,2124           55534                           TS       SKIPU                                 
061388,000149: 16,2125           55535                           TS       SKIPV                                 
061389,000150: 16,2126           34733                           CA       POSMAX                                
061390,000151: 16,2127           54031                           TS       TIME6                                 
061391,000152: 16,2130           55466                           TS       T6NEXT                                
061392,000153: 16,2131           55470                           TS       T6FURTHA                              
061393,000154: 16,2132           34755                           CA       ZERO                                  
061394,000155: 16,2133           55467                           TS       T6NEXT     +1                         
061395,000156: 16,2134           55471                           TS       T6FURTHA   +1                         
061396,000157: 16,2135           55465                           TS       NXT6ADR                               
061397,000158: 16,2136           55472                           TS       NEXTP                                 
061398,000159: 16,2137           55473                           TS       NEXTU                                 
061399,000160: 16,2140           55474                           TS       NEXTV                                 
061400,000161: 16,2141           44363                           CS       TEN                                   
061401,000162: 16,2142           55756                           TS       DAPZRUPT                              #  JASK NOT IN PROGRESS, INITIALIZE NEG.
061402,000163: 16,2143           34752                           CA       TWO                                   
061403,000164: 16,2144           55433                           TS       NPTRAPS                               
061404,000165: 16,2145           55434                           TS       NQTRAPS                               
061405,000166: 16,2146           55435                           TS       NRTRAPS                               
061406,000167: 16,2147           00006                           EXTEND                                         
061407,000168: 16,2150           32205                           DCA      PAXADIDL                              
061408,000169: 16,2151           53264                           DXCH     T5ADR                                 
061409,000170: 16,2152           37741        SETTIME5           CAF      MS100                                 
061410,000171: 16,2153           54030                           TS       TIME5                                 

Page 1401

061412,000173: 16,2154           15301                           TCF      RESUME                                
061413,000174: 16,2155  E6,1536                                  EBANK=   AOSQ                                  
061414,000175: 16,2155           02024 34106  IDLERADR           2CADR    DAPIDLER                              
061415,000176: 
061416,000177: 16,2157           04674        MOREIDLE           TC       IBNKCALL                              #  CALCULATE Q,R-AXES ATTITUDE ERRORS.
061417,000178: 16,2160           36655                           CADR     QERRCALC                              
061418,000179: 
061419,000180: 16,2161           04674                           TC       IBNKCALL                              
061420,000181: 16,2162           35451                           CADR     CALCPERR                              #  CALCULATE P AXIS ATTITUDE ERRORS.
061421,000182: 
061422,000183: 16,2163           00006        SHUTDOWN           EXTEND                                         
061423,000184: 16,2164           32156                           DCA      IDLERADR                              
061424,000185: 16,2165           53264                           DXCH     T5ADR                                 
061425,000186: 
061426,000187: 16,2166           34755                           CAF      ZERO                                  #  KILL ANY POSSIBLE JET REQUESTS
061427,000188: 16,2167           55472                           TS       NEXTP                                 
061428,000189: 16,2170           55473                           TS       NEXTU                                 
061429,000190: 16,2171           55474                           TS       NEXTV                                 
061430,000191: 16,2172           00006                           EXTEND                                         #  COMMAND JETS OFF.
061431,000192: 16,2173           01005                           WRITE    CHAN5                                 
061432,000193: 16,2174           00006                           EXTEND                                         
061433,000194: 16,2175           01006                           WRITE    CHAN6                                 
061434,000195: 16,2176           42203                           CS       BGIM23                                #  TURN TRIM GIMBAL OFF
061435,000196: 16,2177           00006                           EXTEND                                         
061436,000197: 16,2200           03012                           WAND     CHAN12                                
061437,000198: 16,2201           12152                           TCF      SETTIME5                              #  RETURN IN 100 MSEC.
061438,000199: 
061439,000200: 16,2202           03021        MANFLAG            OCT      03021                                 
061440,000201: 16,2203           07400        BGIM23             OCTAL    07400                                 
061441,000202: 16,2204  E6,1421                                  EBANK=   OMEGAP                                
061442,000203: 16,2204           02213 34106  PAXADIDL           2CADR    PAXIS                                 
061443,000204: 
061444,000205: 16,2206     7741               MS100              =        OCT37766                              
061445,000206: 16,2206     0061               COSMG              =        ITEMP1                                
061446,000207: 16,2206           00006        JUMPDSP            EXTEND                                         #  TRANSFER TO BANK 20
061447,000208: 16,2207           32212                           DCA      DSPCADR                               #  FOR ATTITUDE ERROR DISPLAYS
061448,000209: 16,2210           52006                           DTCB                                           
061449,000210: 
061450,000211: 16,2211  E6,1760                                  EBANK=   AK                                    
061451,000212: 16,2211           02227 40106  DSPCADR            2CADR    ALTDSPLY                              
061452,000213: 

Page 1402

061454,000215: 20,2227                                           BANK     20                                    
061455,000216: 20,2000                                           SETLOC   DAPS3                                 
061456,000217: 20,2000                                           BANK                                           
061457,000218: 20,2227                                           COUNT*   $$/NEEDL                              
061458,000219: 
061459,000220:                                                                                                  #  PROGRAM: ALTDSPLY
061460,000221: 
061461,000222:                                                                                                  #  MOD 0.  6 DEC 1967
061462,000223: 
061463,000224:                                                                                                  #  AUTHOR:  CRAIG WORK, DON KEENE, MIT IL
061464,000225: 
061465,000226:                                                                                                  #  MOD 3 BY DON KEENE AUG 1, 1968 MOVED PROGRAM TO BANK 20
061466,000227: 
061467,000228:                                                                                                  #  PROGRAM DESCRIPTION:
061468,000229: 
061469,000230:                                                                                                  #  ALTDSPLY REVERSES THE DSPLYALT BIT OF RCSFLAGS EACH TIME IT IS CALLED, WHICH IS PRESUMABLY EVERY 100 MS.
061470,000231:                                                                                                  #  IF THE REVERSED BIT IS ONE, NEEDLER IS CALLED TO DISPLAY ATTITUDE ERRORS.  IF THE BIT IS ZERO, THE ATTITUDE ERR-
061471,000232:                                                                                                  #  ORS ARE CALCULATED AS 1) ESTIMATED RATES (FOLLOWING) IF NEED2FLG = 1, OTHERWISE AS 2) DAP FOLLOWING ERRORS FOR
061472,000233:                                                                                                  #  NEEDLFLG = 0 AND 3) TOTAL ATTITUDE ERRORS FOR NEEDLFLG = 1.
061473,000234: 
061474,000235:                                                                                                  #  WARNING:  ALTDSPLY MAY ONLY BE CALLED WITH INTERRUPT INHIBITED.
061475,000236: 
061476,000237:                                                                                                  #  WARNING:  EBANK MUST BE SET TO 6 WHEN USING THIS ROUTINE.
061477,000238: 
061478,000239:                                                                                                  #  INPUT:  RCSFLAGS AND 1) IF NEEDLFLG=0, INPUT PERROR,QERROR,RERROR.
061479,000240:                                                                                                  #                       2) IF NEEDLFLG=1, INPUT CPHI,CTHETA,CPSI,CDUX,CDUY,CDUZ,M11,M21,M32,M22,M32. (GPMATRIX)
061480,000241: 
061481,000242:                                                                                                  #               3) IF NEED2FLG = 1, INPUT OMEGAP, OMEGAQ, AND OMEGAR.
061482,000243: 
061483,000244:                                                                                                  #  OUTPUTS:  RCSFLAGS WITH DSPLYALT REVERSED,AK,AK1,AK2,+ NEEDLER OUTPUTS.
061484,000245: 
061485,000246:                                                                                                  #  ENTRY:   TCF    ALTDSPLY
061486,000247: 
061487,000248:                                                                                                  #  EXIT:    TCF    CHEKMORE
061488,000249: 
061489,000250:                                                                                                  #  ALARM OR ABORT EXITS:  NONE
061490,000251: 
061491,000252:                                                                                                  #  SUBPROGRAMS CALLED: NEEDLER, OVERSUB2
061492,000253: 
061493,000254:                                                                                                  #  DEBRIS:  A,L,AND NEEDLER DEBRIS.
061494,000255: 
061495,000256: 20,2227           31262        ALTDSPLY           CA       RCSFLAGS                              #  INVERT THE DISPLAY ALTERNATION BIT.
061496,000257: 20,2230           54001                           TS       L                                     
061497,000258: 20,2231           34750                           CA       DSPLYALT                              
061498,000259: 20,2232           00006                           EXTEND                                         
061499,000260: 20,2233           06001                           RXOR     LCHAN                                 
061500,000261: 20,2234           55262                           TS       RCSFLAGS                              
061501,000262: 
061502,000263: 20,2235           74750                           MASK     DSPLYALT                              
061503,000264: 20,2236           10000                           CCS      A                                     #  IS ALTERNATION FLAG ZERO?

Page 1403

061505,000266: 20,2237           12336                           TCF      NEEDLER                               
061506,000267: 
061507,000268: 20,2240           40074                           CS       FLAGWRD0                              #  CHECK FOR RATE DISPLAY TO ERROR NEEDLES
061508,000269: 20,2241           74735                           MASK     NEED2BIT                              #  VIA EXTENDED VERB 60
061509,000270: 20,2242           00006                           EXTEND                                         
061510,000271: 20,2243           12257                           BZF      DISPRATE                              
061511,000272: 
061512,000273: 20,2244           30074                           CAE      FLAGWRD0                              #  NEEDLFLG WILL INDICATE TOTAL OR DAP AT-
061513,000274: 20,2245           74750                           MASK     NEEDLBIT                              #  TITUDE ERROR DISPLAY REQUEST.
061514,000275: 20,2246           10000                           CCS      A                                     
061515,000276: 20,2247           12266                           TCF      DSPLYTOT                              #  TOTAL ERROR IS NEEDED IN AK,AK +1,AK +2
061516,000277: 
061517,000278: 20,2250           41450                           CS       QERROR                                #  YES. DISPLAY ATT ERRORS ON THE ,-BALL.
061518,000279: 20,2251           55761                           TS       AK         +1                         #  ERROR COMPLEMENTS ARE INPUT TO NEEDLER.
061519,000280: 20,2252           41452                           CS       RERROR                                
061520,000281: 20,2253           55762                           TS       AK         +2                         
061521,000282: 20,2254           41464                           CS       PERROR                                
061522,000283: 20,2255           57760                           XCH      AK                                    
061523,000284: 
061524,000285: 20,2256           12456                           TCF      RETNMORE                              #  DISPLAY THESE THE NEXT TIME THROUGH
061525,000286: 
061526,000287: 20,2257           41422        DISPRATE           CS       OMEGAQ                                #  LOAD ESTIMATED RATES (FOLLOWING)
061527,000288: 20,2260           55761                           TS       AK         +1                         
061528,000289: 20,2261           41423                           CS       OMEGAR                                
061529,000290: 20,2262           55762                           TS       AK         +2                         
061530,000291: 20,2263           41421                           CS       OMEGAP                                
061531,000292: 20,2264           57760                           XCH      AK                                    
061532,000293: 20,2265           12456                           TCF      RETNMORE                              
061533,000294: 
061534,000295:                                                                                                  #  CALCULATE GIMBAL ANGLE TOTAL ERRORS, RESOLVE INTO PILOT AXES, STORE TOTAL ERRORS FOR NEEDLER.  Q-AXIS FIRST.
061535,000296: 
061536,000297: 20,2266           00006        DSPLYTOT           EXTEND                                         
061537,000298: 20,2267           22061                           QXCH     ITEMP1                                #  SAVE Q FOR CHEKBITS RETURN.
061538,000299: 
061539,000300: 20,2270           30322                           CA       CTHETA                                #  DESIRED ATTITUDE, Y-AXIS, 2'S COMP.
061540,000301: 20,2271           00006                           EXTEND                                         #  SUBTRACT CURRENT ATTITUDE.
061541,000302: 20,2272           20033                           MSU      CDUY                                  #  DIFFERENCE SCALED AT PI, 1'S COMP.
061542,000303: 20,2273           55760                           TS       AK                                    #  SAVE FOR R-ERROR CALCULATION.
061543,000304: 20,2274           00006                           EXTEND                                         
061544,000305: 20,2275           71415                           MP       M21                                   #  (CHTETA-CDUY)*M21 SCALED AT PI RADIANS.
061545,000306: 20,2276           57761                           XCH      AK         +1                         #  STORE FIRST TERM OF Q ERROR.
061546,000307: 20,2277           30323                           CA       CPSI                                  #  DESIRED ATTITUDE, Z-AXIS, 2'S COMP.
061547,000308: 20,2300           00006                           EXTEND                                         #  SUBTRACT CURRENT ATTITUDE.
061548,000309: 20,2301           20034                           MSU      CDUZ                                  #  DIFFERENCE SCALED AT PI, 1'S COMP.
061549,000310: 20,2302           55762                           TS       AK         +2                         #  SAVE Z-AXIS TERM FOR R ERROR CALCULATION
061550,000311: 20,2303           00006                           EXTEND                                         
061551,000312: 20,2304           71417                           MP       M22                                   #  (CPSI-CDUZ)*M22, SCALED AT PI RADIANS.
061552,000313: 20,2305           61761                           AD       AK         +1                         #  Q ERROR COMPLETE         , AT PI RAD.
061553,000314: 20,2306           02451                           TC       OVERSUB2                              #  PIN NEEDLES IN CASE OF OVERFLOW.
061554,000315: 20,2307           55761                           TS       AK         +1                         
061555,000316: 

Page 1404

061557,000318:                                                                                                  #  R ERROR CALCULATION NEXT.
061558,000319: 
061559,000320: 20,2310           31760                           CA       AK                                    #  Y-AXIS DIFFERENCE STORED BY Q-AXIS CALC.
061560,000321: 20,2311           00006                           EXTEND                                         
061561,000322: 20,2312           71416                           MP       M31                                   #  (CTHETA-CDUY)*M31, SCALED AT PI RADIANS.
061562,000323: 20,2313           57762                           XCH      AK         +2                         #  FIRST TERM OF R ERROR.
061563,000324:                                                                                                  #  Z-AXIS DIFFERENCE, STORED BY A CALC. IS
061564,000325: 20,2314           00006                           EXTEND                                         #  RECOVERED BY THE EXCHANGE.
061565,000326: 20,2315           71420                           MP       M32                                   #  (CPSI-CDUZ)*M32, SCALED AT PI RADIANS.
061566,000327: 20,2316           61762                           AD       AK         +2                         #  R ERROR COMPLETE         , AT PI RAD.
061567,000328: 20,2317           02451                           TC       OVERSUB2                              #  PIN NEEDLES IN CASE OF OVERFLOW.
061568,000329: 20,2320           55762                           TS       AK         +2                         
061569,000330: 
061570,000331:                                                                                                  #  NOW CALCULATE P ERROR.  (NOTE THAT M13 = 1, SCALED AT 1, SO THE MULTIPLICATION IS BY-PASSED.)
061571,000332: 
061572,000333: 20,2321           31760                           CA       AK                                    #  Y-AXIS DIFFERENCE STORED BY Q AXIS CALC.
061573,000334: 20,2322           00006                           EXTEND                                         
061574,000335: 20,2323           71414                           MP       M11                                   #  (CTHETA-CDUY)*M11 SCALED AT PI RADIANS.
061575,000336: 20,2324           57760                           XCH      AK                                    #  FIRST TERM OF P ERROR IN AK, AT PI RAD.
061576,000337: 20,2325           30321                           CAE      CPHI                                  #  DESIRED ATTITUDE, X-AXIS, 2'S COMP.
061577,000338: 20,2326           00006                           EXTEND                                         #  SUBTRACT CURRENT X ATTITUDE.
061578,000339: 20,2327           20032                           MSU      CDUX                                  #  X-AXIS DIFFERENCE, 1'S COMP, AT PI RAD.
061579,000340: 
061580,000341:                                                                                                  #  M13 = 1, SO BYPASS THE MULTIPLICATION.
061581,000342:                                                                                                  #           EXTEND
061582,000343:                                                                                                  #           MP     M13             (CPHI-CDUX)*M13 SCALED AT PI RADIANS.
061583,000344: 
061584,000345: 20,2330           61760                           AD       AK                                    #  P ERROR COMPLETE      , SCALED AT PI RAD
061585,000346: 20,2331           02451                           TC       OVERSUB2                              #  PIN NEEDLES IN CASE OF OVERFLOW.
061586,000347: 20,2332           55760                           TS       AK                                    
061587,000348: 
061588,000349: 20,2333           00006                           EXTEND                                         
061589,000350: 20,2334           22061                           QXCH     ITEMP1                                #  RESTORE Q FOR CHEKBITS RETURN.
061590,000351: 
061591,000352: 20,2335           12456                           TCF      RETNMORE                              #  DISPLAY THESE THE NEXT TIME THROUGH
061592,000353: 

Page 1405

061594,000355:                                                                                                  #  FDAI ATTITUDE ERROR DISPLAY SUBROUTINE
061595,000356: 
061596,000357:                                                                                                  #  PROGRAM DESCRIPTION:    D. KEENE   5/24/67
061597,000358: 
061598,000359:                                                                                                  #  MOD 1 BY CRAIG WORK, 12 DEC 67
061599,000360: 
061600,000361:                                                                                                  #  MOD 2 BY CRAIG WORK, 6 APRIL 68 CONVERTS ATTITUDE ERROR DISPLAY SCALING FROM 16 7/8 DEG. TO 42 3/16 DEGREES.
061601,000362: 
061602,000363:                                                                                                  #      THIS SUBROUTINE IS USED TO DISPLAY ATTITUDE ERRORS ON THE FDAI VIA THE DIGITAL TO ANALOG CONVERTERS (DACS)
061603,000364:                                                                                                  #  IN THE CDUS.  CARE IS TAKEN TO METER OUT THE APPROPRIATE NUMBER OF PULSES TO THE IMU ERROR COUNTERS AND PREVENT
061604,000365:                                                                                                  #  OVERFLOW, TO CONTROL THE RELAY SEQUENCING, AND TO AVOID INTERFERENCE WITH THE COARSE ALIGN LOOP WHICH ALSO USES
061605,000366:                                                                                                  #  THE DACS.
061606,000367: 
061607,000368: 
061608,000369:                                                                                                  #  CALLING SEQUENCE:
061609,000370: 
061610,000371:                                                                                                  #      DURING THE INITIALIZATION SECTION OF THE USER'S PROGRAM, BIT3 OF RCSFLAGS SHOULD BE SET TO INITIATE THE
061611,000372:                                                                                                  #  TURN-ON SEQUENCE WITHIN THE NEEDLES PROGRAM:
061612,000373: 
061613,000374:                                                                                                  #           CS     RCSFLAGS        IN EBANK6
061614,000375:                                                                                                  #           MASK   BIT3
061615,000376:                                                                                                  #           ADS    RCSFLAGS
061616,000377: 
061617,000378:                                                                                                  #  THEREAFTER, THE ATTITUDE ERRORS GENERATED BY THE USER SHOULD BE TRANSFERED TO THE FOLLOWING LOCATIONS IN EBANK6:
061618,000379: 
061619,000380:                                                                                                  #           AK     SCALED 180 DEGREES  NOTE: THESE LOCATIONS ARE SUBJECT
061620,000381:                                                                                                  #           AK1    SCALED 180 DEGREES        TO CHANGE
061621,000382:                                                                                                  #           AK2    SCALED 180 DEGREES
061622,000383: 
061623,000384:                                                                                                  #  FULL SCALED DEFLECTION OF THE NEEDLES CORRESPONDS TO 5 1/16 DEGREES, WHILE 384 BITS IN THE IMU ERROR COUNTER
061624,000385:                                                                                                  #  CORRESPONDS TO 42 3/16 DEGREES.  (DAC MAXIMUM CAPACITY IS 384 BITS.) 46 BITS EFFECTIVELY PIN THE NEEDLES.
061625,000386: 
061626,000387:                                                                                                  #  FOR RATE DISPLAY, FULL SCALE NEEDLE DEFLECTION IS 1 17/64 DEG/SEC, AND A FULL COUNTER IS ABOUT 10.5 DEG/SEC.
061627,000388:                                                                                                  #  A CALL TO NEEDLER WILL THEN UPDATE THE DISPLAY:
061628,000389: 
061629,000390:                                                                                                  #           INHINT
061630,000391:                                                                                                  #           TC     IBNKCALL        NOTE: EBANK SHOULD BE SET TO E6
061631,000392:                                                                                                  #           CADR   NEEDLER
061632,000393:                                                                                                  #           RELINT
061633,000394: 
061634,000395:                                                                                                  #      THIS PROCESS SHOULD BE REPEATED EACH TIME THE ERRORS ARE UPDATED.  AT LEAST 3 PASSES THRU THE PROGRAM ARE
061635,000396:                                                                                                  #  REQUIRED BEFORE ANYTHING IS ACTUALLY DISPLAYED ON THE ERROR METERS.
061636,000397:                                                                                                  #  NOTE: EACH CALL TO NEEDLER MUST BE SEPARATED BY AT LEAST 50MS TO ASSURE PROPER RELAY SEQUENCING.
061637,000398: 
061638,000399:                                                                                                  #  ERASABLE USED:
061639,000400:                                                                                                  #                       AK        CDUXCMD
061640,000401:                                                                                                  #                       AK1       CDUYCMD
061641,000402:                                                                                                  #                       AK2       CDUZCMD
061642,000403:                                                                                                  #                       EDRIVEX   A,L,Q
061643,000404:                                                                                                  #                       EDRIVEY   T5TEMP

Page 1406

061645,000406:                                                                                                  #                       EDRIVEZ   DINDX
061646,000407: 
061647,000408:                                                                                                  #  SWITCHES:            RCSFLAGS  BITS 3,2
061648,000409: 
061649,000410:                                                                                                  #  I/O CHANNELS:        CHAN12    BIT 4 (COARSE ALIGN - READ ONLY)
061650,000411:                                                                                                  #                       CHAN12    BIT 6 (IMU ERROR COUNTER ENABLE)
061651,000412:                                                                                                  #                       CHAN14    BIT 13,14,15 (DAC ACTIVITY)
061652,000413: 
061653,000414: 
061654,000415:                                                                                                  #  SIGN CONVENTION<   AK = THETAC - THETA
061655,000416:                                                                                                  #            WHERE    THETAC = COMMAND ANGLE
061656,000417:                                                                                                  #                     THETA  = PRESENT ANGLE
061657,000418: 
061658,000419: 
061659,000420: 20,2336           31262        NEEDLER            CA       RCSFLAGS                              
061660,000421: 20,2337           76254                           MASK     SIX                                   
061661,000422: 20,2340           00006                           EXTEND                                         
061662,000423: 20,2341           12376                           BZF      NEEDLES3                              
061663,000424: 20,2342           74751                           MASK     BIT3                                  
061664,000425: 20,2343           00006                           EXTEND                                         
061665,000426: 20,2344           12367                           BZF      NEEDLER2                              #  BIT3 = 0, BIT2 = 1
061666,000427: 
061667,000428: 20,2345           44746                           CS       BIT6                                  #  FIRST PASS BIT3 = 1
061668,000429: 20,2346           00006                           EXTEND                                         #  DISABLE IMU ERROR COUNTER TO ZERO DACS
061669,000430: 20,2347           03012                           WAND     CHAN12                                #  MUST WAIT AT LEAST 60 MS BEFORE
061670,000431: 20,2350           44755        NEEDLE11           CS       ZERO                                  #  ENABLING COUNTERS.
061671,000432: 20,2351           55760                           TS       AK                                    #  ZERO THE INPUTS ON FIRST PASS
061672,000433: 20,2352           55761                           TS       AK1                                   
061673,000434: 20,2353           55762                           TS       AK2                                   
061674,000435: 20,2354           55763                           TS       EDRIVEX                               #  ZERO THE DISPLAY REGISTERS
061675,000436: 20,2355           55764                           TS       EDRIVEY                               
061676,000437: 20,2356           55765                           TS       EDRIVEZ                               
061677,000438: 20,2357           54050                           TS       CDUXCMD                               #  ZERO THE OUT COUNTERS
061678,000439: 20,2360           54051                           TS       CDUYCMD                               
061679,000440: 20,2361           54052                           TS       CDUZCMD                               
061680,000441: 20,2362           46254                           CS       SIX                                   #  RESET RCSFLAGS FOR PASS2
061681,000442: 20,2363           71262                           MASK     RCSFLAGS                              
061682,000443: 20,2364           64752                           AD       BIT2                                  
061683,000444: 20,2365           55262                           TS       RCSFLAGS                              
061684,000445: 20,2366           12456                           TCF      RETNMORE                              
061685,000446: 
061686,000447: 20,2367           34746        NEEDLER2           CAF      BIT6                                  #  ENABLE IMU ERROR COUNTERS
061687,000448: 20,2370           00006                           EXTEND                                         
061688,000449: 20,2371           05012                           WOR      CHAN12                                
061689,000450: 20,2372           46254                           CS       SIX                                   #  RESET RCSFLAGS TO DISPLAY ATTITUDE
061690,000451: 20,2373           71262                           MASK     RCSFLAGS                              #  ERRORS    WAIT ATLEAST 4 MS FOR
061691,000452: 20,2374           55262                           TS       RCSFLAGS                              #  RELAY CLOSURE
061692,000453: 20,2375           12456                           TCF      RETNMORE                              
061693,000454: 
061694,000455: 20,2376           34746        NEEDLES3           CAF      BIT6                                  #  CHECK TO SEE IF IMU ERROR COUNTER

Page 1407

061696,000457: 20,2377           00006                           EXTEND                                         #  IS ENABLED
061697,000458: 20,2400           02012                           RAND     CHAN12                                
061698,000459: 20,2401           10000                           CCS      A                                     #  IF NOT, RE-INITIALIZE NEEDLER.
061699,000460: 20,2402           12407                           TCF      NEEDLES                               
061700,000461: 
061701,000462: 20,2403           41262                           CS       RCSFLAGS                              #  SET UP INITIALIZATION FLAG IN RCSFLAGS.
061702,000463: 20,2404           74751                           MASK     BIT3                                  
061703,000464: 20,2405           27262                           ADS      RCSFLAGS                              
061704,000465: 20,2406           12456                           TCF      RETNMORE                              
061705,000466: 
061706,000467: 20,2407           34752        NEEDLES            CAF      TWO                                   
061707,000468: 20,2410           54063        DACLOOP            TS       DINDX                                 
061708,000469: 20,2411           42450                           CS       ONETENTH                              #  RESCALE INPUTS TO + OR - 1800 DEGREES.
061709,000470: 20,2412           00006                           EXTEND                                         
061710,000471: 20,2413           50063                           INDEX    DINDX                                 
061711,000472: 20,2414           71760                           MP       AK                                    
061712,000473: 20,2415           54001                           TS       L                                     
061713,000474: 20,2416           10000                           CCS      A                                     
061714,000475: 20,2417           32446                           CA       DACLIMIT                              
061715,000476: 20,2420           12422                           TCF      +2                                    
061716,000477: 20,2421           42446                           CS       DACLIMIT                              
061717,000478: 20,2422           60001                           AD       L                                     
061718,000479: 20,2423           54061                           TS       T5TEMP                                #  OVFLO CHK
061719,000480: 20,2424           12430                           TCF      +4                                    
061720,000481: 20,2425           50000                           INDEX    A                                     #  ON OVERFLOW LIMIT OUTPUT TO +-384
061721,000482: 20,2426           32446                           CAF      DACLIMIT                              
061722,000483: 20,2427           54001                           TS       L                                     
061723,000484: 20,2430           50063                           INDEX    DINDX                                 
061724,000485: 20,2431           41763                           CS       EDRIVEX                               #  CURRENT VALUE OF DAC
061725,000486: 20,2432           60001                           AD       L                                     
061726,000487: 20,2433           50063                           INDEX    DINDX                                 
061727,000488: 20,2434           26050                           ADS      CDUXCMD                               
061728,000489: 20,2435           50063                           INDEX    DINDX                                 
061729,000490: 20,2436           23763                           LXCH     EDRIVEX                               
061730,000491: 20,2437           10063                           CCS      DINDX                                 
061731,000492: 20,2440           12410                           TCF      DACLOOP                               
061732,000493: 20,2441           37752                           CAF      13,14,15                              
061733,000494: 20,2442           00006                           EXTEND                                         
061734,000495: 20,2443           05014                           WOR      CHAN14                                #  SET DAC ACTIVITY BITS
061735,000496: 20,2444           12456                           TCF      RETNMORE                              
061736,000497: 
061737,000498: 20,2445           77177                           DEC      -384       B-14                       
061738,000499: 20,2446           37200        DACLIMIT           DEC      16000      B-14                       
061739,000500: 20,2447           00600                           DEC      384        B-14                       
061740,000501: 
061741,000502: 20,2450           03146        ONETENTH           OCT      03146                                 #  DECIMAL  +0.1, SCALED AT 1.
061742,000503: 20,2451     4750               DSPLYALT           EQUALS   BIT4                                  #  100 MS ALTERNATION BIT IN RCSFLAGS
061743,000504: 
061744,000505: 
061745,000506: 20,2451           54007        OVERSUB2           TS       7                                     #  RETURNS  A  UNCHANGED  OR LIMITED TO

Page 1408

061747,000508: 20,2452           00002                           TC       Q                                     #  POSMAX OR NEGMAX IF A HAS OVERFLOW
061748,000509: 20,2453           50000                           INDEX    A                                     
061749,000510: 20,2454           44734                           CS       LIMITS                                #  DUPLICATE CODING IN BANK 16
061750,000511: 20,2455           00002                           TC       Q                                     
061751,000512: 
061752,000513: 
061753,000514: 20,2456           00006        RETNMORE           EXTEND                                         #  RETURN TO CHEKMORE
061754,000515: 20,2457           32462                           DCA      MORECADR                              
061755,000516: 20,2460           52006                           DTCB                                           
061756,000517: 
061757,000518: 20,2461  E6,1536                                  EBANK=   AOSQ                                  
061758,000519: 20,2461           02016 34106  MORECADR           2CADR    CHEKMORE                              
061759,000520: 

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