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,1970Note that the date is the date of the printout, not the date of the program revision. |
056910,000002: ## Copyright: Public domain.
056911,000003: ## Filename: IMU_MODE_SWITCHING_ROUTINES.agc
056912,000004: ## Purpose: A log section of Zerlina 56, the final revision of
056913,000005: ## Don Eyles's offline development program for the variable
056914,000006: ## guidance period servicer. It also includes a new P66 with LPD
056915,000007: ## (Landing Point Designator) capability, based on an idea of John
056916,000008: ## Young's. Neither of these advanced features were actually flown,
056917,000009: ## but Zerlina was also the birthplace of other big improvements to
056918,000010: ## Luminary including the terrain model and new (Luminary 1E)
056919,000011: ## analog display programs. Zerlina was branched off of Luminary 145,
056920,000012: ## and revision 56 includes all changes up to and including Luminary
056921,000013: ## 183. It is therefore quite close to the Apollo 14 program,
056922,000014: ## Luminary 178, where not modified with new features.
056923,000015: ## Reference: pp. 1298-1326
056924,000016: ## Assembler: yaYUL
056925,000017: ## Contact: Ron Burkey <info@sandroid.org>.
056926,000018: ## Website: www.ibiblio.org/apollo/index.html
056927,000019: ## Mod history: 2017-07-28 MAS Created from Luminary 210.
056928,000020: ## 2017-08-20 MAS Updated for Zerlina 56.
056929,000021:
Page 1298 |
056931,000023: 5470 BLOCK 02
056932,000024: 4000 SETLOC FFTAG3
056933,000025: 4000 BANK
056934,000026:
056935,000027: 5470 E3,1471 EBANK= COMMAND
056936,000028:
056937,000029: # FIXED-FIXED ROUTINES.
056938,000030:
056939,000031: 5470 COUNT* $$/IMODE
056940,000032: 5470 34755 ZEROICDU CAF ZERO # ZERO ICDU COUNTERS.
056941,000033: 5471 54032 TS CDUX
056942,000034: 5472 54033 TS CDUY
056943,000035: 5473 54034 TS CDUZ
056944,000036: 5474 00002 TC Q
056945,000037:
056946,000038: 5475 4743 SPSCODE = BIT9
056947,000039:
Page 1299 |
056949,000041: # IMU ZEROING ROUTINE.
056950,000042:
056951,000043: 11,3755 BANK 11
056952,000044: 07,2000 SETLOC MODESW
056953,000045: 07,2000 BANK
056954,000046:
056955,000047: 07,2661 COUNT* $$/IMODE
056956,000048: 07,2661 00004 IMUZERO INHINT # ROUTINE TO ZERO ICDUS.
056957,000049: 07,2662 41035 CS DSPTAB +11D # DONT ZERO CDUS IF IMU IN GIMBAL LOCK AND
056958,000050: 07,2663 74771 MASK BITS4&6 # COARSE ALIGN (GIMBAL RUNAWAY PROTECTION)
056959,000051: 07,2664 10000 CCS A
056960,000052: 07,2665 12671 TCF IMUZEROA
056961,000053:
056962,000054: 07,2666 05600 TC ALARM # IF SO.
056963,000055: 07,2667 00206 OCT 00206
056964,000056:
056965,000057: 07,2670 13656 TCF CAGETSTJ +4 # IMMEDIATE FAILURE.
056966,000058:
056967,000059: 07,2671 03652 IMUZEROA TC CAGETSTJ
056968,000060: # DELETE
056969,000061: 07,2672 41300 CS IMODES33 # DISABLE DAP AUTO AND HOLD MODES
056970,000062: 07,2673 74773 MASK SUPER011 # BIT5 FOR GROUND
056971,000063: 07,2674 27300 ADS IMODES33
056972,000064:
056973,000065: 07,2675 41277 CS IMODES30 # INHIBIT ICDUFAIL AND IMUFAIL (IN CASE WE
056974,000066: 07,2676 75752 MASK BITS3&4 # JUST CAME OUT OF COARSE ALIGN).
056975,000067: 07,2677 27277 ADS IMODES30
056976,000068:
056977,000069: 07,2700 44771 CS BITS4&6 # SEND ZERO ENCODE WITH COARSE AND ERROR
056978,000070: 07,2701 00006 EXTEND # COUNTER DISABLED.
056979,000071: 07,2702 03012 WAND CHAN12
056980,000072:
056981,000073: 07,2703 03233 TC NOATTOFF # TURN OFF NO ATT LAMP.
056982,000074:
056983,000075: 07,2704 34747 CAF BIT5
056984,000076: 07,2705 00006 EXTEND
056985,000077: 07,2706 05012 WOR CHAN12
056986,000078:
056987,000079: 07,2707 05470 TC ZEROICDU
056988,000080: 07,2710 34746 CAF BIT6 # WAIT 320 MS TO GIVE AGS ADEQUATE TIME TO
056989,000081: 07,2711 05214 TC WAITLIST # RECEIVE ITS PULSE TRAIN.
056990,000082: 07,2712 E3,1474 EBANK= CDUIND
056991,000083: 07,2712 02724 16103 2CADR IMUZERO2
056992,000084:
056993,000085:
056994,000086: 07,2714 41277 CS IMODES30 # SEE IF IMU OPERATING AND ALARM IF NOT.
056995,000087: 07,2715 74743 MASK BIT9
056996,000088: 07,2716 10000 CCS A
056997,000089: 07,2717 12722 TCF MODEEXIT
Page 1300 |
056999,000091: 07,2720 05600 TC ALARM
057000,000092: 07,2721 00210 OCT 210
057001,000093:
057002,000094: 07,2722 00003 MODEEXIT RELINT # GENERAL MODE-SWITCHING EXIT.
057003,000095: 07,2723 14631 TCF SWRETURN
057004,000096:
057005,000097:
057006,000098: 07,2724 03640 IMUZERO2 TC CAGETEST
057007,000099: 07,2725 05470 TC ZEROICDU # ZERO CDUX, CDUY, CDUZ
057008,000100:
057009,000101: 07,2726 44747 CS BIT5 # REMOVE ZERO DISCRETE.
057010,000102: 07,2727 00006 EXTEND
057011,000103: 07,2730 03012 WAND CHAN12
057012,000104:
057013,000105: 07,2731 34741 CAF BIT11 # WAIT 10 SECS FOR CTRS TO FIND GIMBALS
057014,000106: 07,2732 05235 TC VARDELAY
057015,000107:
057016,000108: 07,2733 03640 IMUZERO3 TC CAGETEST
057017,000109: 07,2734 45752 CS BITS3&4 # REMOVE IMUFAIL AND ICDUFAIL INHIBIT.
057018,000110: 07,2735 71277 MASK IMODES30
057019,000111: 07,2736 55277 TS IMODES30
057020,000112:
057021,000113: 07,2737 44773 CS SUPER011 # ENABLE DAP AUTO AND HOLD MODES
057022,000114: 07,2740 71300 MASK IMODES33 # BIT5 FOR GROUND
057023,000115: 07,2741 55300 TS IMODES33
057024,000116:
057025,000117: 07,2742 04674 TC IBNKCALL # SET ISS WARNING IF EITHER OF ABOVE ARE
057026,000118: 07,2743 14703 CADR SETISSW # PRESENT.
057027,000119:
057028,000120: 07,2744 13613 TCF ENDIMU
057029,000121:
Page 1301 |
057031,000123: # IMU COARSE ALIGN MODE.
057032,000124:
057033,000125: 07,2745 00004 IMUCOARS INHINT
057034,000126: 07,2746 03652 TC CAGETSTJ
057035,000127: 07,2747 03111 TC SETCOARS
057036,000128:
057037,000129: 07,2750 36254 CAF SIX
057038,000130: 07,2751 05214 TC WAITLIST
057039,000131: 07,2752 E3,1474 EBANK= CDUIND
057040,000132: 07,2752 02755 16103 2CADR COARS
057041,000133:
057042,000134:
057043,000135: 07,2754 12722 TCF MODEEXIT
057044,000136:
057045,000137: 07,2755 03640 COARS TC CAGETEST
057046,000138: 07,2756 34746 CAF BIT6 # ENABLE ALL THREE ISS CDU ERROR COUNTERS
057047,000139: 07,2757 00006 EXTEND
057048,000140: 07,2760 05012 WOR CHAN12
057049,000141:
057050,000142: 07,2761 34752 CAF TWO # SET CDU INDICATOR
057051,000143: 07,2762 55474 COARS1 TS CDUIND
057052,000144:
057053,000145: 07,2763 51474 INDEX CDUIND # COMPUTE THETAD - THETAA IN 1:S
057054,000146: 07,2764 30321 CA THETAD # COMPLEMENT FORM
057055,000147: 07,2765 00006 EXTEND
057056,000148: 07,2766 51474 INDEX CDUIND
057057,000149: 07,2767 20032 MSU CDUX
057058,000150: 07,2770 00006 EXTEND
057059,000151: 07,2771 74737 MP BIT13 # SHIFT RIGHT 2
057060,000152: 07,2772 56001 XCH L # ROUND
057061,000153: 07,2773 60000 DOUBLE
057062,000154: 07,2774 54061 TS ITEMP1
057063,000155: 07,2775 12777 TCF +2
057064,000156: 07,2776 26001 ADS L
057065,000157:
057066,000158: 07,2777 51474 INDEX CDUIND # DIFFERENCE TO BE COMPUTED
057067,000159: 07,3000 23471 LXCH COMMAND
057068,000160: 07,3001 11474 CCS CDUIND
057069,000161: 07,3002 02762 TC COARS1
057070,000162:
057071,000163: 07,3003 34752 CAF TWO # MINIMUM OF 4 MS WAIT
057072,000164: 07,3004 05235 TC VARDELAY
057073,000165:
Page 1302 |
057075,000167: 07,3005 03640 COARS2 TC CAGETEST # DONT CONTINUE IF CAGED.
057076,000168: 07,3006 54061 TS ITEMP1 # SETS TO +0.
057077,000169: 07,3007 34752 CAF TWO # SET CDU INDICATOR
057078,000170: 07,3010 55474 +3 TS CDUIND
057079,000171:
057080,000172: 07,3011 51474 INDEX CDUIND
057081,000173: 07,3012 11471 CCS COMMAND # NUMBER OF PULSES REQUIRED
057082,000174: 07,3013 03017 TC COMPOS # GREATER THAN MAX ALLOWED
057083,000175: 07,3014 03026 TC NEXTCDU +1
057084,000176: 07,3015 03064 TC COMNEG
057085,000177: 07,3016 03026 TC NEXTCDU +1
057086,000178:
057087,000179: 07,3017 63744 COMPOS AD -COMMAX # COMMAX = MAX NUMBER OF PULSES ALLOWED
057088,000180: 07,3020 00006 EXTEND # MINUS ONE
057089,000181: 07,3021 63074 BZMF COMZERO
057090,000182: 07,3022 51474 INDEX CDUIND
057091,000183: 07,3023 55471 TS COMMAND # REDUCE COMMAND BY MAX NUMBER OF PULSES
057092,000184: 07,3024 43745 CS -COMMAX- # ALLOWED
057093,000185:
057094,000186: 07,3025 24061 NEXTCDU INCR ITEMP1
057095,000187: 07,3026 64754 AD NEG0
057096,000188: 07,3027 51474 INDEX CDUIND
057097,000189: 07,3030 54050 TS CDUXCMD # SET UP COMMAND REGISTER.
057098,000190:
057099,000191: 07,3031 11474 CCS CDUIND
057100,000192: 07,3032 03010 TC COARS2 +3
057101,000193:
057102,000194: 07,3033 10061 CCS ITEMP1 # SEE IF ANY PULSES TO GO OUT.
057103,000195: 07,3034 13100 TCF SENDPULS
057104,000196:
057105,000197: 07,3035 05232 TC FIXDELAY # WAIT FOR GIMBALS TO SETTLE.
057106,000198: 07,3036 00226 DEC 150 B-14
057107,000199:
057108,000200:
057109,000201: 07,3037 34752 CAF TWO # AT END OF COMMAND, CHECK TO SEE THAT
057110,000202: 07,3040 54061 CHKCORS TS ITEMP1 # GIMBALS ARE WITHIN 2 DEGREES OF THETAD.
057111,000203: 07,3041 50000 INDEX A
057112,000204: 07,3042 30032 CA CDUX
057113,000205: 07,3043 00006 EXTEND
057114,000206: 07,3044 50061 INDEX ITEMP1
057115,000207: 07,3045 20321 MSU THETAD
057116,000208: 07,3046 10000 CCS A
057117,000209: 07,3047 13055 TCF COARSERR
057118,000210: 07,3050 13052 TCF CORSCHK2
057119,000211: 07,3051 13055 TCF COARSERR
057120,000212:
Page 1303 |
057122,000214: 07,3052 10061 CORSCHK2 CCS ITEMP1
057123,000215: 07,3053 13040 TCF CHKCORS
057124,000216: 07,3054 13613 TCF ENDIMU # END OF COARSE ALIGNMENT.
057125,000217:
057126,000218: 07,3055 63063 COARSERR AD COARSTOL # 2 DEGREES.
057127,000219: 07,3056 00006 EXTEND
057128,000220: 07,3057 63052 BZMF CORSCHK2
057129,000221:
057130,000222: 07,3060 05600 TC ALARM # COARSE ALIGN ERROR.
057131,000223: 07,3061 00211 OCT 211
057132,000224:
057133,000225: 07,3062 13636 TCF IMUBAD
057134,000226:
057135,000227: 07,3063 77511 COARSTOL DEC -.01111 # 2 DEGREES SCALED AT HALF-REVOLUTIONS
057136,000228:
057137,000229:
057138,000230: 07,3064 63744 COMNEG AD -COMMAX
057139,000231: 07,3065 00006 EXTEND
057140,000232: 07,3066 63074 BZMF COMZERO
057141,000233: 07,3067 40000 COM
057142,000234: 07,3070 51474 INDEX CDUIND
057143,000235: 07,3071 55471 TS COMMAND
057144,000236: 07,3072 33745 CA -COMMAX-
057145,000237: 07,3073 03025 TC NEXTCDU
057146,000238:
057147,000239: 07,3074 34755 COMZERO CAF ZERO
057148,000240: 07,3075 51474 INDEX CDUIND
057149,000241: 07,3076 57471 XCH COMMAND
057150,000242: 07,3077 03025 TC NEXTCDU
057151,000243:
057152,000244:
057153,000245: 07,3100 37752 SENDPULS CAF 13,14,15
057154,000246: 07,3101 00006 EXTEND
057155,000247: 07,3102 05014 WOR CHAN14
057156,000248: 07,3103 33746 CAF 600MS
057157,000249: 07,3104 13004 TCF COARS2 -1 # THEN TO VARDELAY
057158,000250:
057159,000251:
057160,000252: 07,3105 34746 CA+ECE CAF BIT6 # ENABLE ALL THREE ISS CDU ERROR COUNTERS
057161,000253: 07,3106 00006 EXTEND
057162,000254: 07,3107 05012 WOR CHAN12
057163,000255: 07,3110 05272 TC TASKOVER
057164,000256:
Page 1304 |
057166,000258: 07,3111 34750 SETCOARS CAF BIT4 # BYPASS IF ALREADY IN COARSE ALIGN
057167,000259: 07,3112 00006 EXTEND
057168,000260: 07,3113 02012 RAND CHAN12
057169,000261: 07,3114 10000 CCS A
057170,000262: 07,3115 00002 TC Q
057171,000263:
057172,000264: 07,3116 44746 CS BIT6 # CLEAR ISS ERROR COUNTERS
057173,000265: 07,3117 00006 EXTEND
057174,000266: 07,3120 03012 WAND CHAN12
057175,000267:
057176,000268: 07,3121 44742 CS BIT10 # KNOCK DOWN GYRO ACTIVITY
057177,000269: 07,3122 00006 EXTEND
057178,000270: 07,3123 03014 WAND CHAN14
057179,000271: 07,3124 44755 CS ZERO
057180,000272: 07,3125 54047 TS GYROCMD
057181,000273:
057182,000274: 07,3126 34750 CAF BIT4 # PUT ISS IN COARSE ALIGN
057183,000275: 07,3127 00006 EXTEND
057184,000276: 07,3130 05012 WOR CHAN12
057185,000277:
057186,000278: 07,3131 41035 CS DSPTAB +11D # TURN ON NO ATT LAMP
057187,000279: 07,3132 73154 MASK OCT40010
057188,000280: 07,3133 27035 ADS DSPTAB +11D
057189,000281:
057190,000282: 07,3134 41300 CS IMODES33 # DISABLE DAP AUTO AND HOLD MODES
057191,000283: 07,3135 74746 MASK BIT6
057192,000284: 07,3136 27300 ADS IMODES33
057193,000285:
057194,000286: 07,3137 41277 CS IMODES30 # DISABLE IMUFAIL
057195,000287: 07,3140 74750 MASK BIT4
057196,000288: 07,3141 27277 ADS IMODES30
057197,000289:
057198,000290: 07,3142 44747 RNDREFDR CS TRACKBIT # CLEAR TRACK FLAG
057199,000291: 07,3143 70075 MASK FLAGWRD1
057200,000292: 07,3144 54075 TS FLAGWRD1
057201,000293:
057202,000294: 07,3145 44735 CS DRFTBIT # CLEAR DRIFT FLAG
057203,000295: 07,3146 70076 MASK FLAGWRD2
057204,000296: 07,3147 54076 TS FLAGWRD2
057205,000297:
057206,000298: 07,3150 44737 CS REFSMBIT # CLEAR REFSMMAT FLAG
057207,000299: 07,3151 70077 MASK FLAGWRD3
057208,000300: 07,3152 54077 TS FLAGWRD3
057209,000301:
057210,000302: 07,3153 00002 TC Q
057211,000303:
057212,000304: 07,3154 40010 OCT40010 OCT 40010
057213,000305:
Page 1305 |
057215,000307: # IMU FINE ALIGN MODE SWITCH.
057216,000308:
057217,000309: 07,3155 00004 IMUFINE INHINT
057218,000310: 07,3156 03652 TC CAGETSTJ # SEE IF IMU BEING CAGED.
057219,000311:
057220,000312: 07,3157 43743 CS BITS4-5 # RESET ZERO AND COARSE
057221,000313: 07,3160 00006 EXTEND
057222,000314: 07,3161 03012 WAND CHAN12
057223,000315:
057224,000316: 07,3162 44746 CS BIT6 # INSURE DAP AUTO AND HOLD MODES ENABLED
057225,000317: 07,3163 71300 MASK IMODES33
057226,000318: 07,3164 55300 TS IMODES33
057227,000319:
057228,000320: 07,3165 03233 TC NOATTOFF
057229,000321:
057230,000322: 07,3166 34742 CAF BIT10 # IMU FAIL WAS INHIBITED DURING THE
057231,000323: 07,3167 05214 TC WAITLIST # PRESUMABLY PRECEDING COARSE ALIGN. LEAVE
057232,000324: 07,3170 E3,1474 EBANK= CDUIND
057233,000325: 07,3170 03201 16103 2CADR IFAILOK # IT ON FOR THE FIRST 5 SECS OF FINE ALIGN
057234,000326:
057235,000327:
057236,000328: 07,3172 35000 CAF 2SECS
057237,000329: 07,3173 05214 TC WAITLIST
057238,000330: 07,3174 E3,1474 EBANK= CDUIND
057239,000331: 07,3174 03177 16103 2CADR IMUFINED
057240,000332:
057241,000333:
057242,000334: 07,3176 12722 TCF MODEEXIT
057243,000335:
057244,000336: 07,3177 03640 IMUFINED TC CAGETEST # SEE THAT NO ONE HAS CAGED THE IMU.
057245,000337: 07,3200 13613 TCF ENDIMU
057246,000338:
Page 1306 |
057248,000340: 07,3201 03645 IFAILOK TC CAGETSTQ # ENABLE IMU FIAL UNLESS IMU BEING CAGED.
057249,000341: 07,3202 15272 TCF TASKOVER # IT IS.
057250,000342:
057251,000343: 07,3203 34750 CAF BIT4 # DONT RESET IMU FAIL INHIBIT IF SOMEONE
057252,000344: 07,3204 00006 EXTEND # HAS GONE INTO COARSE ALIGN.
057253,000345: 07,3205 02012 RAND CHAN12
057254,000346: 07,3206 10000 CCS A
057255,000347: 07,3207 15272 TCF TASKOVER
057256,000348:
057257,000349: 07,3210 41277 CS IMODES30 # RESET IMUFAIL.
057258,000350: 07,3211 74737 MASK BIT13
057259,000351: 07,3212 27277 ADS IMODES30
057260,000352: 07,3213 44750 CS BIT4
057261,000353: 07,3214 71277 PFAILOK2 MASK IMODES30
057262,000354: 07,3215 55277 TS IMODES30
057263,000355: 07,3216 04674 TC IBNKCALL # THE ISS WARNING LIGHT MAY COME ON NOW
057264,000356: 07,3217 14703 CADR SETISSW # THAT THE INHIBIT HAS BEEN REMOVED.
057265,000357: 07,3220 15272 TCF TASKOVER
057266,000358:
057267,000359: 07,3221 03645 PFAILOK TC CAGETSTQ # ENABLE PIP FAIL PROG ALARM.
057268,000360: 07,3222 15272 TCF TASKOVER
057269,000361:
057270,000362: 07,3223 41277 CS IMODES30 # RESET IMU AND PIPA FAIL BITS.
057271,000363: 07,3224 74742 MASK BIT10
057272,000364: 07,3225 27277 ADS IMODES30
057273,000365:
057274,000366: 07,3226 41300 CS IMODES33
057275,000367: 07,3227 74737 MASK BIT13
057276,000368: 07,3230 27300 ADS IMODES33
057277,000369:
057278,000370: 07,3231 44747 CS BIT5
057279,000371: 07,3232 13214 TCF PFAILOK2
057280,000372:
057281,000373: 07,3233 43154 NOATTOFF CS OCT40010 # SUBROUTINE TO TURN OFF NO ATT LAMP.
057282,000374: 07,3234 71035 MASK DSPTAB +11D
057283,000375: 07,3235 64735 AD BIT15
057284,000376: 07,3236 55035 TS DSPTAB +11D
057285,000377: 07,3237 00002 TC Q
057286,000378:
Page 1307 |
057288,000380: # ROUITNES TO INITIATE AND TERMINATE PROGRAM USE OF THE PIPAS. NO IMUSTALL REQUIRED IN EITHER CASE.
057289,000381:
057290,000382: 07,3240 44755 PIPUSE CS ZERO
057291,000383: 07,3241 54037 TS PIPAX
057292,000384: 07,3242 54040 TS PIPAY
057293,000385: 07,3243 54041 TS PIPAZ
057294,000386:
057295,000387: 07,3244 03645 PIPUSE1 TC CAGETSTQ # DO NOT ENABLE PIPA FAIL IF IMU IS CAGED
057296,000388: 07,3245 14631 TCF SWRETURN
057297,000389:
057298,000390: 07,3246 00004 INHINT
057299,000391: 07,3247 44753 CS BIT1 # IF PIPA FAILS FROM NOW ON (UNTIL
057300,000392: 07,3250 71277 MASK IMODES30 # PIPFREE), LIGHT ISS WARNING.
057301,000393: 07,3251 55277 TS IMODES30
057302,000394:
057303,000395: 07,3252 04674 PIPFREE2 TC IBNKCALL # ISS WARNING MIGHT COME ON NOW.
057304,000396: 07,3253 14703 CADR SETISSW # (OR GO OFF ON PIPFREE).
057305,000397:
057306,000398: 07,3254 12722 TCF MODEEXIT
057307,000399:
057308,000400: 07,3255 00004 PIPFREE INHINT # PROGRAM DONE WITH PIPAS. DONT LIGHT
057309,000401: 07,3256 41277 CS IMODES30 # ISS WARNING.
057310,000402: 07,3257 74753 MASK BIT1
057311,000403: 07,3260 27277 ADS IMODES30
057312,000404:
057313,000405: 07,3261 74742 MASK BIT10 # IF PIP FAIL ON, DO PROG ALSRM AND RESET
057314,000406: 07,3262 10000 CCS A # ISS WARNING.
057315,000407: 07,3263 12722 TCF MODEEXIT
057316,000408:
057317,000409: 07,3264 05600 TC ALARM
057318,000410: 07,3265 00212 OCT 212
057319,000411:
057320,000412: 07,3266 00004 INHINT
057321,000413:
057322,000414: 07,3267 13252 TCF PIPFREE2
057323,000415:
Page 1308 |
057325,000417: # THE FOLLOWING ROUTINE TORQUES THE IRIGS ACCORDING TO DOUBLE PRECISION INPUTS IN THE SIX REGISTERS
057326,000418: # BEGINNING AT THE ECADR ARRIVING IN A. THE MINIMUM SIZE OF ANY PULSE TRAIN IS 16 PULSES (.25 CDU COUNTS). THE
057327,000419: # UNSENT PORTION OF THE COMMAND IS LEFT INTACT IN THE INPUT COMMAND REGISTERS.
057328,000420:
057329,000421: 07,3270 E3,1400 EBANK= 1400 # VARIABLE, ACTUALLY.
057330,000422:
057331,000423: 07,3270 54161 IMUPULSE TS MPAC +5 # SAVE ARRIVING ECADR.
057332,000424: 07,3271 03652 TC CAGETSTJ # DONT PROCEED IF IMU BEING CAGED.
057333,000425:
057334,000426: 07,3272 11311 CCS LGYRO # SEE IF GYROS BUSY.
057335,000427: 07,3273 03334 TC GYROBUSY # SLEEP.
057336,000428:
057337,000429: 07,3274 54156 TS MPAC +2
057338,000430: 07,3275 34746 CAF BIT6 # ENABLE THE POWER SUPPLY.
057339,000431: 07,3276 00006 EXTEND
057340,000432: 07,3277 05014 WOR CHAN14
057341,000433:
057342,000434: 07,3300 34751 CAF FOUR
057343,000435: 07,3301 05214 GWAKE2 TC WAITLIST # (IF A JOB WAS PUT TO SLEEP, THE POWER
057344,000436: 07,3302 E3,1474 EBANK= CDUIND # SUPPLY IS LEFT ON BY THE WAKING JOB).
057345,000437: 07,3302 03352 16103 2CADR STRTGYRO
057346,000438:
057347,000439:
057348,000440: 07,3304 30161 CA MPAC +5 # SET UP EBANK, SAVING CALLER'S EBANK FOR
057349,000441: 07,3305 56003 XCH EBANK # RESTORATION ON RETURN.
057350,000442: 07,3306 56161 XCH MPAC +5
057351,000443: 07,3307 55311 TS LGYRO # RESERVES GYROS.
057352,000444: 07,3310 74357 MASK LOW8
057353,000445: 07,3311 54061 TS ITEMP1
057354,000446:
057355,000447: 07,3312 34752 CAF TWO # FORCE SIGN AGREEMENT ON INPUTS.
057356,000448: 07,3313 54157 GYROAGRE TS MPAC +3
057357,000449: 07,3314 60000 DOUBLE
057358,000450: 07,3315 60061 AD ITEMP1
057359,000451: 07,3316 54160 TS MPAC +4
057360,000452: 07,3317 00006 EXTEND
057361,000453: 07,3320 50000 INDEX A
057362,000454: 07,3321 31401 DCA 1400
057363,000455: 07,3322 52155 DXCH MPAC
057364,000456: 07,3323 07271 TC TPAGREE
057365,000457: 07,3324 52155 DXCH MPAC
057366,000458: 07,3325 50160 INDEX MPAC +4
057367,000459: 07,3326 53401 DXCH 1400
057368,000460:
057369,000461: 07,3327 10157 CCS MPAC +3
057370,000462: 07,3330 13313 TCF GYROAGRE
057371,000463:
057372,000464: 07,3331 30161 CA MPAC +5 # RESTORE CALLER'S EBANK.
057373,000465: 07,3332 54003 TS EBANK
057374,000466: 07,3333 12722 TCF MODEEXIT
057375,000467:
Page 1309 |
057377,000469: # ROUTINES TO ALLOW TORQUING BY ONLY ONE JOB AT A TIME.
057378,000470:
057379,000471: 07,3334 00006 GYROBUSY EXTEND # SAVE RETURN 2FCADR.
057380,000472: 07,3335 30134 DCA BUF2
057381,000473: 07,3336 52155 DXCH MPAC
057382,000474: 07,3337 33351 REGSLEEP CAF LGWAKE
057383,000475: 07,3340 15133 TCF JOBSLEEP
057384,000476:
057385,000477: 07,3341 11311 GWAKE CCS LGYRO # WHEN AWAKENED, SEE IF GYROS STILL BUSY.
057386,000478: 07,3342 13337 TCF REGSLEEP # IF SO, SLEEP SOME MORE.
057387,000479:
057388,000480: 07,3343 54156 TS MPAC +2
057389,000481: 07,3344 00006 EXTEND
057390,000482: 07,3345 30155 DCA MPAC
057391,000483: 07,3346 52134 DXCH BUF2 # RESTORE SWRETURN INFO.
057392,000484: 07,3347 34753 CAF ONE
057393,000485: 07,3350 13301 TCF GWAKE2
057394,000486:
057395,000487: 07,3351 17341 LGWAKE CADR GWAKE
057396,000488:
Page 1310 |
057398,000490: # GYRO-TORQUING WAITLIST TASKS.
057399,000491:
057400,000492: 07,3352 43610 STRTGYRO CS GDESELCT # DE-SELECT LAST GYRO.
057401,000493: 07,3353 00006 EXTEND
057402,000494: 07,3354 03014 WAND CHAN14
057403,000495:
057404,000496: 07,3355 03626 TC CAGETSTG
057405,000497:
057406,000498: 07,3356 31311 STRTGYR2 CA LGYRO # JUMP ON PHASE COUNTER IN BITS 13-14.
057407,000499: 07,3357 00006 EXTEND
057408,000500: 07,3360 74750 MP BIT4
057409,000501: 07,3361 50000 INDEX A
057410,000502: 07,3362 13363 TCF +1
057411,000503: 07,3363 03400 TC GSELECT # =0. DO Y GYRO.
057412,000504: 07,3364 00202 OCT 00202
057413,000505:
057414,000506: 07,3365 03400 TC GSELECT # =1. DO Z GYRO.
057415,000507: 07,3366 00302 OCT 00302
057416,000508:
057417,000509: 07,3367 03376 TC GSELECT -2 # =2. DO X GYRO.
057418,000510: 07,3370 00100 OCT 00100
057419,000511:
057420,000512: 07,3371 34755 CAF ZERO # =3. DONE
057421,000513: 07,3372 55311 TS LGYRO
057422,000514: 07,3373 33351 CAF LGWAKE # WAKE A POSSIBLE SLEEPING JOB.
057423,000515: 07,3374 05137 TC JOBWAKE
057424,000516:
057425,000517: 07,3375 13177 NORESET TCF IMUFINED # DO NOT RESET POWER SUPPLY
057426,000518:
Page 1311 |
057428,000520: 07,3376 44751 -2 CS FOUR # SPECIAL ENTRY TO REGRESS LGYRO FOR X.
057429,000521: 07,3377 27311 ADS LGYRO
057430,000522:
057431,000523: 07,3400 50002 GSELECT INDEX Q # SELECT GYRO.
057432,000524: 07,3401 30000 CAF 0 # PACKED WORD CONTAINS GYRO SELECT BITS
057433,000525: 07,3402 54064 TS ITEMP4 # AND INCREMENT TO LGYRO.
057434,000526: 07,3403 74757 MASK SEVEN
057435,000527: 07,3404 64737 AD BIT13
057436,000528: 07,3405 27311 ADS LGYRO
057437,000529: 07,3406 54003 TS EBANK
057438,000530: 07,3407 74357 MASK LOW8
057439,000531: 07,3410 54061 TS ITEMP1
057440,000532:
057441,000533: 07,3411 44757 CS SEVEN
057442,000534: 07,3412 70064 MASK ITEMP4
057443,000535: 07,3413 54064 TS ITEMP4
057444,000536:
057445,000537: 07,3414 00006 EXTEND # MOVE DP COMMAND TO RUPTREGS FOR TESTING.
057446,000538: 07,3415 50061 INDEX ITEMP1
057447,000539: 07,3416 31401 DCA 1400
057448,000540: 07,3417 52071 DXCH RUPTREG1
057449,000541:
057450,000542: 07,3420 10070 CCS RUPTREG1
057451,000543: 07,3421 13434 TCF MAJ+
057452,000544: 07,3422 13424 TCF +2
057453,000545: 07,3423 13571 TCF MAJ-
057454,000546:
057455,000547: 07,3424 10071 CCS RUPTREG2
057456,000548: 07,3425 13431 TCF MIN+
057457,000549: 07,3426 13356 TCF STRTGYR2
057458,000550: 07,3427 13566 TCF MIN-
057459,000551: 07,3430 13356 TCF STRTGYR2
057460,000552:
Page 1312 |
057462,000554: 07,3431 63465 MIN+ AD -GYROMIN # SMALL POSITIVE COMMAND. SEE IF AT LEAST
057463,000555: 07,3432 00006 EXTEND # 16 GYRO PULSES.
057464,000556: 07,3433 63356 BZMF STRTGYR2
057465,000557:
057466,000558: 07,3434 00006 MAJ+ EXTEND # DEFINITE POSITIVE OUTPUT.
057467,000559: 07,3435 33612 DCA GYROFRAC
057468,000560: 07,3436 20071 DAS RUPTREG1
057469,000561:
057470,000562: 07,3437 30064 CA ITEMP4 # SELECT POSITIVE TORQUING FOR THIS GYRO.
057471,000563: 07,3440 00006 EXTEND
057472,000564: 07,3441 05014 WOR CHAN14
057473,000565:
057474,000566: 07,3442 36106 CAF LOW7 # LEAVE NUMBER OF POSSIBLE 8192 AUGMENTS
057475,000567: 07,3443 70071 MASK RUPTREG2 # TO INITIAL COMMAND IN MAJOR PART OF LONG
057476,000568: 07,3444 56071 XCH RUPTREG2 # TERM STORAGE AND TRUNCATED FRACTION
057477,000569: 07,3445 00006 GMERGE EXTEND # IN MINOR PART. THE MAJOR PART WILL BE
057478,000570: 07,3446 74744 MP BIT8 # COUNTED DOWN TO ZERO IN THE COURSE OF
057479,000571: 07,3447 54062 TS ITEMP2 # PUTTING OUT THE ENTIRE COMMAND.
057480,000572: 07,3450 30070 CA RUPTREG1
057481,000573: 07,3451 00006 EXTEND
057482,000574: 07,3452 74743 MP BIT9
057483,000575: 07,3453 54070 TS RUPTREG1
057484,000576: 07,3454 30001 CA L
057485,000577: 07,3455 00006 EXTEND
057486,000578: 07,3456 74736 MP BIT14
057487,000579: 07,3457 26062 ADS ITEMP2 # INITIAL COMMAND.
057488,000580:
057489,000581: 07,3460 00006 EXTEND # SEE IF MORE THAN ONE PULSE TRAIN NEEDED
057490,000582: 07,3461 30071 DCA RUPTREG1 # (MORE THAN 16383 PULSES).
057491,000583: 07,3462 67761 AD MINUS1
057492,000584: 07,3463 10000 CCS A
057493,000585: 07,3464 13532 TCF LONGGYRO
057494,000586: 07,3465 77601 -GYROMIN OCT -176 # MAY BE ADJUSTED TO SPECIFY MINIMUM CMD
057495,000587: 07,3466 13472 TCF +4
057496,000588:
057497,000589: 07,3467 34736 CAF BIT14
057498,000590: 07,3470 26062 ADS ITEMP2
057499,000591: 07,3471 34755 CAF ZERO
057500,000592:
057501,000593: 07,3472 50061 +4 INDEX ITEMP1
057502,000594: 07,3473 53401 DXCH 1400
Page 1313 |
057504,000596: 07,3474 30062 CA ITEMP2 # ENTIRE COMMAND.
057505,000597: 07,3475 54047 LASTSEG TS GYROCMD
057506,000598: 07,3476 03621 TC COARSTST
057507,000599:
057508,000600: 07,3477 30047 CA GYROCMD
057509,000601: 07,3500 00006 EXTEND
057510,000602: 07,3501 74742 MP BIT10 # WAITLIST DT
057511,000603: 07,3502 66257 AD THREE # TRUNCATION AND PHASE UNCERTAINTIES.
057512,000604: 07,3503 05214 TC WAITLIST
057513,000605: 07,3504 E3,1474 EBANK= CDUIND
057514,000606: 07,3504 03516 16103 2CADR TWOPULSE
057515,000607:
057516,000608: 07,3506 03512 EXITGYRO TC GYROEXIT
057517,000609: 07,3507 15272 TCF TASKOVER
057518,000610: 07,3510 34752 OUTPULSE CA BIT2
057519,000611: 07,3511 54047 TS GYROCMD
057520,000612: 07,3512 34742 GYROEXIT CAF BIT10
057521,000613: 07,3513 00006 EXTEND
057522,000614: 07,3514 05014 WOR CHAN14
057523,000615: 07,3515 00002 TC Q
057524,000616: 07,3516 44743 TWOPULSE CS BIT9
057525,000617: 07,3517 00006 EXTEND
057526,000618: 07,3520 03014 WAND CHAN14
057527,000619: 07,3521 03510 TC OUTPULSE
057528,000620: 07,3522 34753 CA BIT1
057529,000621: 07,3523 05204 TC TWIDDLE
057530,000622: 07,3524 03352 ADRES STRTGYRO
057531,000623: 07,3525 34743 CA BIT9
057532,000624: 07,3526 00006 EXTEND
057533,000625: 07,3527 05014 WOR CHAN14
057534,000626: 07,3530 03510 TC OUTPULSE
057535,000627: 07,3531 15272 TCF TASKOVER
057536,000628: 07,3532 50061 LONGGYRO INDEX ITEMP1
057537,000629: 07,3533 53401 DXCH 1400
057538,000630: 07,3534 34736 CAF BIT14 # 8192. INITIAL COMMAND IS AT LEAST 8192.
057539,000631: 07,3535 60062 AD ITEMP2
057540,000632: 07,3536 54047 TS GYROCMD
057541,000633:
057542,000634: 07,3537 00006 AUG3 EXTEND # GET WAITLIST DT TO TIME WHEN TRAIN IS
057543,000635: 07,3540 74742 MP BIT10 # ALMOST OUT.
057544,000636: 07,3541 67757 AD NEG3
057545,000637: 07,3542 05214 TC WAITLIST
057546,000638: 07,3543 E3,1474 EBANK= CDUIND
057547,000639: 07,3543 03546 16103 2CADR 8192AUG
057548,000640:
057549,000641: 07,3545 13506 TCF EXITGYRO
057550,000642: 07,3546 03621 8192AUG TC COARSTST
057551,000643:
057552,000644: 07,3547 31311 CA LGYRO # ADD 8192 PULSES TO GYROCMD
057553,000645: 07,3550 54003 TS EBANK
Page 1314 |
057555,000647: 07,3551 74357 MASK LOW8
057556,000648: 07,3552 54061 TS ITEMP1
057557,000649:
057558,000650: 07,3553 50061 INDEX ITEMP1 # SEE IF THIS IS THE LAST AUG.
057559,000651: 07,3554 11400 CCS 1400
057560,000652: 07,3555 13561 TCF AUG2 # MORE TO COME.
057561,000653:
057562,000654: 07,3556 34736 CAF BIT14
057563,000655: 07,3557 26047 ADS GYROCMD
057564,000656: 07,3560 13476 TCF LASTSEG +1
057565,000657:
057566,000658: 07,3561 50061 AUG2 INDEX ITEMP1
057567,000659: 07,3562 55400 TS 1400
057568,000660: 07,3563 34736 CAF BIT14
057569,000661: 07,3564 26047 ADS GYROCMD
057570,000662: 07,3565 13537 TCF AUG3 # COMPUTE DT.
057571,000663:
Page 1315 |
057573,000665: 07,3566 63465 MIN- AD -GYROMIN # POSSIBLE NEGATIVE OUTPUT.
057574,000666: 07,3567 00006 EXTEND
057575,000667: 07,3570 63356 BZMF STRTGYR2
057576,000668:
057577,000669: 07,3571 00006 MAJ- EXTEND # DEFINITE NEGATIVE OUTPUT.
057578,000670: 07,3572 43612 DCS GYROFRAC
057579,000671: 07,3573 20071 DAS RUPTREG1
057580,000672:
057581,000673: 07,3574 30064 CA ITEMP4 # SELECT NEGATIVE TORQUING FOR THIS GYRO.
057582,000674: 07,3575 64743 AD BIT9
057583,000675: 07,3576 00006 EXTEND
057584,000676: 07,3577 05014 WOR CHAN14
057585,000677:
057586,000678: 07,3600 40070 CS RUPTREG1 # SET UP RUPTREGS TO FALL INTO GMERGE.
057587,000679: 07,3601 54070 TS RUPTREG1 # ALL NUMBERS PUT INTO GYROCMD ARE
057588,000680: 07,3602 40071 CS RUPTREG2 # POSITIVE - BIT9 OF CHAN 14 DETERMINES
057589,000681: 07,3603 76106 MASK LOW7 # THE SIGN OF THE COMMAND.
057590,000682: 07,3604 40000 COM
057591,000683: 07,3605 56071 XCH RUPTREG2
057592,000684: 07,3606 40000 COM
057593,000685: 07,3607 13445 TCF GMERGE
057594,000686:
057595,000687: 07,3610 01700 GDESELCT OCT 1700 # TURN OFF SELECT AND ACTIVITY BITS.
057596,000688:
057597,000689: 07,3611 00000 00034 GYROFRAC 2DEC .215 B-21
057598,000690:
Page 1316 |
057600,000692: # IMU MODE SWITCHING ROUTINES COME HERE WHEN ACTION COMPLETE.
057601,000693:
057602,000694: 07,3613 00006 ENDIMU EXTEND # MODE IS BAD IF CAGE HAS OCCURED OR IF
057603,000695: 07,3614 00011 READ DSALMOUT # ISS WARNING IS ON.
057604,000696: 07,3615 74753 MASK BIT1
057605,000697: 07,3616 10000 CCS A
057606,000698: 07,3617 13636 TCF IMUBAD
057607,000699:
057608,000700: 07,3620 13664 IMUGOOD TCF GOODEND # WITH C(A) = 0.
057609,000701:
057610,000702: 07,3621 34750 COARSTST CAF BIT4
057611,000703: 07,3622 00006 EXTEND
057612,000704: 07,3623 02012 RAND CHAN12
057613,000705: 07,3624 10000 CCS A
057614,000706: 07,3625 13632 TCF DONTPULS
057615,000707:
057616,000708: 07,3626 41277 CAGETSTG CS IMODES30
057617,000709: 07,3627 74746 MASK BIT6
057618,000710: 07,3630 10000 CCS A
057619,000711: 07,3631 00002 TC Q
057620,000712:
057621,000713: 07,3632 34755 DONTPULS CAF ZERO
057622,000714: 07,3633 55311 TS LGYRO
057623,000715:
057624,000716: 07,3634 33351 CAF LGWAKE
057625,000717: 07,3635 05137 TC JOBWAKE
057626,000718:
057627,000719: 07,3636 34755 IMUBAD CAF ZERO
057628,000720: 07,3637 13661 TCF BADEND
057629,000721:
057630,000722: 07,3640 34746 CAGETEST CAF BIT6 # SUBROUTINE TO TERMINATE IMU MODE
057631,000723: 07,3641 71277 MASK IMODES30 # SWITCH IF IMU HAS BEEN CAGED.
057632,000724: 07,3642 10000 CCS A
057633,000725: 07,3643 13636 TCF IMUBAD # DIRECTLY.
057634,000726: 07,3644 00002 TC Q # WITH C(A) = +0.
057635,000727:
057636,000728: 07,3645 41277 CAGETSTQ CS IMODES30 # SKIP IF IMU NOT BEING CAGED.
057637,000729: 07,3646 74746 MASK BIT6
057638,000730: 07,3647 10000 CCS A
057639,000731: 07,3650 24002 INCR Q
057640,000732: 07,3651 00002 TC Q
057641,000733:
057642,000734: 07,3652 41277 CAGETSTJ CS IMODES30 # IF DURING MODE SWITCH INITIALIZATION
057643,000735: 07,3653 74746 MASK BIT6 # IT IS FOUND THAT THE IMU IS BEING CAGED,
057644,000736: 07,3654 10000 CCS A # SET IMUCADR TO -0 TO INDICATE OPERATION
057645,000737: 07,3655 00002 TC Q # COMPLETE BUT FAILED. RETURN IMMEDIATELY
057646,000738:
057647,000739: 07,3656 44755 CS ZERO # TO SWRETURN.
057648,000740: 07,3657 55301 TS IMUCADR
057649,000741: 07,3660 12722 TCF MODEEXIT
057650,000742:
Page 1317 |
057652,000744: # GENERALIZED MODE SWITCHING TERMINATION. ENTER AT GOODEND FOR SUCCESSFUL COMPLETION OF AN I/O OPERATION
057653,000745: # OR AT BADEND FOR A N UNSUCCESSFUL ONE. C(A) OR ARRIVAL =0 FOR IMU, 1 FOR OPTICS.
057654,000746:
057655,000747: 07,3661 54071 BADEND TS RUPTREG2 # DEVICE INDEX.
057656,000748: 07,3662 44755 CS ZERO # FOR FAILURE.
057657,000749: 07,3663 13666 TCF GOODEND +2
057658,000750:
057659,000751: 07,3664 54071 GOODEND TS RUPTREG2
057660,000752: 07,3665 44753 CS ONE # FOR SUCCESS.
057661,000753:
057662,000754: 07,3666 54072 TS RUPTREG3
057663,000755: 07,3667 50071 INDEX RUPTREG2 # SEE IF USING PROGRAM ASLEEP.
057664,000756: 07,3670 11301 CCS MODECADR
057665,000757: 07,3671 13675 TCF +4 # YES - WAKE IT UP.
057666,000758: 07,3672 13705 TCF ENDMODE # IF 0, PROGRAM NOT IN YET.
057667,000759:
057668,000760: 07,3673 00006 EXTEND
057669,000761: 07,3674 13706 BZF ENDMODE +1 # BZF = TCF IF MODECADR = -0.
057670,000762:
057671,000763: 07,3675 34755 CAF ZERO # WAKE SLEEPING PROGRAM.
057672,000764: 07,3676 50071 INDEX RUPTREG2
057673,000765: 07,3677 57301 XCH MODECADR
057674,000766: 07,3700 05137 TC JOBWAKE
057675,000767:
057676,000768: 07,3701 40072 CS RUPTREG3 # ADVANCE LOC IF SUCCESSFUL.
057677,000769: 07,3702 50064 INDEX LOCCTR
057678,000770: 07,3703 26164 ADS LOC
057679,000771:
057680,000772: 07,3704 15272 TCF TASKOVER
057681,000773:
057682,000774: 07,3705 30072 ENDMODE CA RUPTREG3 # -0 INDICATES OPERATION COMPLETE BUT
057683,000775: 07,3706 50071 +1 INDEX RUPTREG2 # UNSUCCESSFUL: -1 INDICATES COMPLETE AND
057684,000776: 07,3707 55301 TS MODECADR # SUCCESSFUL.
057685,000777: 07,3710 15272 TCF TASKOVER
057686,000778:
Page 1318 |
057688,000780: # GENERAL STALLING ROUTINE. USING PROGRAMS COME HERE TO WAIT FOR I/O COMPLETION.
057689,000781:
057690,000782: # PROGRAM DESCRIPTION DATE- 21 FEB 1967
057691,000783: # LOG SECTION IMU MODE SWITCHING
057692,000784: # MOD BY- R.MELANSON TO ADD DOCUMENTATION ASSEMBLY SUNDISK REV. 82
057693,000785:
057694,000786: # FUNCTIONAL DESCRIPTION-
057695,000787: # TO DELAY FURTHER EXECUTION OF THE CALLING ROUTINE UNTIL ITS SELECTED
057696,000788: # I/O FUNCTION IS COMPLETE.THE FOLLOWING CHECKS ON THE CALLING ROUTINE:S
057697,000789: # MODECADR ARE MADE AND ACTED UPON.
057698,000790: # 1) +0 INDICATES INCOMPLETE I/O OPERATION.CALLING ROUTINE IS PUT TO
057699,000791: # SLEEP.
057700,000792: # 2) -1 INDICATES COMPLETED I/O OPERATION. STALL BYPASSES JOBSLEEP
057701,000793: # CALL AND RETURNS TO CALLING ROUTINE AT L+3
057702,000794: # 3) -0 INDICATES COMPLETED I/O WITH FAILURE. STALL CLEARS MODECADR
057703,000795: # AND RETURNS TO CALLING ROUTINE AT L+2.
057704,000796: # 4) VALUE GREATER THAN 0 INDICATES TWO ROUTINES CALLING FOR USE OF
057705,000797: # SAME DEVICE. STALL EXITS TO ABORT WHICH EXECUTES A PROGRAM
057706,000798: # RESTART WHICH IN TURN CLEARS ALL MODECADR REGISTERS.
057707,000799:
057708,000800: # CALLING SEQUENCE-
057709,000801: # L TC BANKCALL
057710,000802: # L+1 CADR (ONE OF 5 STALL ADDRESSES I.E. IMUSTALL,OPTSTALL,RADSTALL,
057711,000803: # AOTSTALL,OR ATTSTALL)
057712,000804:
057713,000805: # NORMAL-EXIT MODE-
057714,000806: # TCF JOBSLEEP OR TCF MODEXIT
057715,000807:
057716,000808: # ALARM OR ABORT EXIT MODE-
057717,000809: # TC ABORT
057718,000810:
057719,000811: # OUTPUT-
057720,000812: # MODECADR= CADR IF JOBSLEEP
057721,000813: # MODECADR=+0 IF I/O COMPLETE
057722,000814: # BUF2=L+3 IF I/O COMPLETE AND GOOD.
057723,000815: # BUF2=L+2 IF I/O COMPLETE BUT FAILED.
057724,000816:
057725,000817: # ERASABLE INITIALIZATION-
057726,000818: # BUF2 CONTAINS RETURN ADDRESS PLUS 1,(L+2)
057727,000819: # BUF2+1 CONTAINS FBANK VALUE OF CALLING ROUTINE.
057728,000820: # MODECADR OF CALLING ROUTINE CONTAINS +0,-1,-0 OR CADR RETURN ADDRESS.
057729,000821:
057730,000822: # DEBRIS-
057731,000823: # RUPTREG2 AND CALLING ROUTINE MODECADR.
057732,000824:
057733,000825: 07,3711 34753 AOTSTALL CAF ONE # AOT.
057734,000826: 07,3712 03716 TC STALL
057735,000827:
057736,000828: 07,3713 34752 RADSTALL CAF TWO
057737,000829: 07,3714 13716 TCF STALL
057738,000830:
Page 1319 |
057740,000832: 07,3715 07,3711 OPTSTALL EQUALS AOTSTALL
057741,000833:
057742,000834: 07,3715 34755 IMUSTALL CAF ZERO # IMU.
057743,000835:
057744,000836: 07,3716 00004 STALL INHINT
057745,000837: 07,3717 54071 TS RUPTREG2 # SAVE DEVICE INDEX.
057746,000838: 07,3720 50000 INDEX A # SEE IF OPERATION COMPLETE.
057747,000839: 07,3721 11301 CCS MODECADR
057748,000840: 07,3722 13740 TCF MODABORT # ALLOWABLE STATES ARE +0, -1, AND -0.
057749,000841: 07,3723 13734 TCF MODESLP # OPERATION INCOMPLETE.
057750,000842: 07,3724 13730 TCF MODEGOOD # COMPLETE AND GOOD IF = -1.
057751,000843:
057752,000844: 07,3725 50071 MG2 INDEX RUPTREG2 # COMPLETE AND FAILED IF -0. RESET TO +0.
057753,000845: 07,3726 55301 TS MODECADR # RETURN TO CALLER.
057754,000846: 07,3727 12722 TCF MODEEXIT
057755,000847:
057756,000848: 07,3730 10000 MODEGOOD CCS A # MAKE SURE INITIAL STATE -1.
057757,000849: 07,3731 13740 TCF MODABORT
057758,000850:
057759,000851: 07,3732 24133 INCR BUF2 # IF SO, INCREMENT RETURN ADDRESS AND
057760,000852: 07,3733 13725 TCF MG2 # RETURN IMMEDIATELY, SETTING CADR = +0.
057761,000853:
057762,000854: 07,3734 04645 MODESLP TC MAKECADR # CALL FROM SWITCHABLE FIXED ONLY.
057763,000855: 07,3735 50071 INDEX RUPTREG2
057764,000856: 07,3736 55301 TS MODECADR
057765,000857: 07,3737 15133 TCF JOBSLEEP
057766,000858:
057767,000859: 07,3740 52134 MODABORT DXCH BUF2
057768,000860: 07,3741 05717 TC BAILOUT1 # TWO PROGRAMS USING THE SAME DEVICE.
057769,000861: 07,3742 31210 OCT 31210
057770,000862:
Page 1320 |
057772,000864: # CONSTANTS FOR MODE SWITCHING ROUTINES
057773,000865:
057774,000866: 07,3743 5752 BITS3&4 = OCT14
057775,000867: 07,3743 4771 BITS4&6 = OCT50
057776,000868: 07,3743 00030 BITS4-5 OCT 00030
057777,000869: 07,3744 4744 IMUSEFLG EQUALS BIT8 # INTERPRETER SWITCH 7.
057778,000870: 07,3744 77500 -COMMAX DEC -191 B-14
057779,000871: 07,3745 77477 -COMMAX- DEC -192 B-14
057780,000872: 07,3746 00074 600MS DEC 60 B-14
057781,000873: 07,3747 07,3155 IMUFIN20 = IMUFINE
057782,000874: 07,3747 31304 GOMANUR CA ATTCADR # IS KALCMANU FREE
057783,000875: 07,3750 00006 EXTEND
057784,000876: 07,3751 13753 BZF +2
057785,000877: 07,3752 03740 TC MODABORT # BAILOUT
057786,000878: 07,3753 00006 +2 EXTEND
057787,000879: 07,3754 30134 DCA BUF2
057788,000880: 07,3755 53305 DXCH ATTCADR # SAVE FINAL RETURN FOR KALCMAN3
057789,000881:
057790,000882: 07,3756 30006 CA BBANK
057791,000883: 07,3757 74757 MASK SEVEN
057792,000884: 07,3760 27305 ADS ATTCADR +1
057793,000885:
057794,000886: 07,3761 30167 CA PRIORITY
057795,000887: 07,3762 77737 MASK PRIO37
057796,000888: 07,3763 55306 TS ATTPRIO # SAVE USERS PRIO
057797,000889:
057798,000890: 07,3764 33770 CAF KALEBCON # SET EBANK FOR KALCMAN3
057799,000891: 07,3765 54003 TS EBANK
057800,000892: 07,3766 04635 TC POSTJUMP
057801,000893: 07,3767 44004 CADR KALCMAN3
057802,000894: 07,3770 03275 KALEBCON ECADR BCDU
057803,000895:
Page 1321 |
057805,000897: # PROGRAM DESCRIPTION
057806,000898: # IMU STATUS CHECK ROUTINE R02 (SUBROUTINE UTILITY)
057807,000899: # MOD NO - 1
057808,000900: # MOD BY - N.BRODEUR
057809,000901: # FUNCTIONAL DESCRIPTION
057810,000902:
057811,000903: # TO CHECK WHETHER IMU IS ON AND IF ON WHETHER IT IS ALIGNED TO AN
057812,000904: # ORIENTATION KNOWN BY THE CMC. TO REQUEST SELECTION OF THE APPROPRIATE
057813,000905: # PROGRAM IF THE IMU IS OFF OR NOT ALIGNED TO AN ORIENTATION KNOWN BY THE
057814,000906: # CMC. CALLED THROUGH BANKCALL
057815,000907: # CALLING SEQUENCE-
057816,000908:
057817,000909: # L TC BANKCALL
057818,000910: # L+1 CADR R02BOTH
057819,000911: # SUBROUTINES CALLED
057820,000912:
057821,000913: # VARALARM
057822,000914: # FLAGUP
057823,000915: # NORMAL EXIT MODES
057824,000916:
057825,000917: # AT L+2 OF CALLING SEQUENCE
057826,000918: # ALARM OR ABORT EXIT MODES
057827,000919: # GOTOPOOH, WITH ALARM
057828,000920: # ERASABLE INITIALIZATION REQUIRED
057829,000921:
057830,000922: # NONE
057831,000923: # DEBRIS
057832,000924:
057833,000925: # CENTRALS-A,Q,L
057834,000926: 34,3774 BANK 34
057835,000927: 04,2000 SETLOC R02
057836,000928: 04,2000 BANK
057837,000929: 04,3240 COUNT* $$/R02
057838,000930: 04,3240 00063 DEC51 DEC 51 B-14
057839,000931: 04,3241 34737 R02BOTH CAF REFSMBIT
057840,000932: 04,3242 70077 MASK FLAGWRD3
057841,000933: 04,3243 10000 CCS A
057842,000934: 04,3244 03255 TC R02ZERO # ZERO IMUS
057843,000935:
057844,000936: 04,3245 31277 CA IMODES30
057845,000937: 04,3246 74743 MASK BIT9 # IS ISS INITIALIZED
057846,000938: 04,3247 00006 EXTEND
057847,000939: 04,3250 13252 BZF +2
057848,000940: 04,3251 44750 CS BIT4 # SEND IMU ALARM CODE 210
057849,000941: 04,3252 63260 AD OCT220 # SEND REFSMM ALARM
057850,000942: 04,3253 05745 TC VARALARM
057851,000943:
057852,000944: 04,3254 06001 TC GOTOPOOH
057853,000945:
057854,000946: 04,3255 05515 R02ZERO TC UPFLAG
Page 1322 |
057856,000948: 04,3256 00007 ADRES IMUSE
057857,000949: 04,3257 14631 TCF SWRETURN
057858,000950: 04,3260 00220 OCT220 OCT 220
057859,000951:
Page 1323 |
057861,000953: # PROGRAM DESCRIPTION P06 10FEB67
057862,000954:
057863,000955: # TRANSFER THE ISS/CMC FROM THE OPERATE TO THE STANDBY CONDITION.
057864,000956:
057865,000957: # THE NORMAL CONDITION OF READINESS OF THE GNCS WHEN NOT IN USE IS STANDBY. IN THIS CONDITION THE IMU
057866,000958: # HEATER POWER IS ON. THE IMU OPERATE POWER IS OFF. THE COMPUTER POWER IS ON. THE OPTICS POWER IS OFF. THE
057867,000959: # CMC STANDBY ON THE MAIN AND LEB DISKYS IS ON.
057868,000960:
057869,000961: # CALLING SEQUENCE:
057870,000962: # ASTRONAUT REQUEST THROUGH DSKY V37E 06E.
057871,000963:
057872,000964: # SUBROUTINES CALLED:
057873,000965: # GOPERF1
057874,000966: # BANKCALL
057875,000967: # FLAGDOWN
057876,000968:
Page 1324 |
057878,000970: # PRESTAND PREPARES FOR STANDBY BY SNAPSHOTTING THE SCALER AND TIME1 TIME2
057879,000971: # THE LOW 5 BITS OF THE SCALER ARE INSPECTED TO INSURE COMPATABILITY
057880,000972: # BETWEEN THE SCALER READING AND THE TIME1 TIME2 READING.
057881,000973:
057882,000974: 37,2000 SETLOC P05P06
057883,000975: 37,2000 BANK
057884,000976:
057885,000977: 37,3654 0314 EBANK= TIME2SAV
057886,000978: 37,3654 COUNT* $$/P06
057887,000979:
057888,000980: 37,3654 05515 P06 TC UPFLAG # SET NODOV37 BIT
057889,000981: 37,3655 00054 ADRES NODOFLAG
057890,000982:
057891,000983: 37,3656 00004 PRESTAND INHINT
057892,000984: 37,3657 00006 EXTEND
057893,000985: 37,3660 30025 DCA TIME2 # SNAPSHOT TIME1TIME2
057894,000986: 37,3661 52315 DXCH TIME2SAV
057895,000987: 37,3662 03713 TC SCALPREP
057896,000988: 37,3663 03656 TC PRESTAND # T1,T2,SCALER NOT COMPATIBLE
057897,000989: 37,3664 52155 DXCH MPAC # T1,T2 AND SCALER OK
057898,000990: 37,3665 52317 DXCH SCALSAVE # STORE SCALER
057899,000991: 37,3666 00004 INHINT
057900,000992: 37,3667 04616 TC BANKCALL
057901,000993: 37,3670 17142 CADR RNDREFDR # REFSMM, DRIFT, TRACK FLAGS DOWN
057902,000994:
057903,000995: 37,3671 05527 TC DOWNFLAG
057904,000996: 37,3672 00007 ADRES IMUSE # IMUSE DOWN
057905,000997: 37,3673 05527 TC DOWNFLAG
057906,000998: 37,3674 00010 ADRES RNDVZFLG # RNDVZFLG DOWN
057907,000999:
057908,001000: 37,3675 34741 CAF BIT11
057909,001001: 37,3676 00006 EXTEND
057910,001002: 37,3677 05013 WOR CHAN13 # SET STANDBY ENABLE BIT
057911,001003:
057912,001004: 37,3700 05364 TC PHASCHNG # SET RESTART TO POSTAND WHEN STANDBY
057913,001005: 37,3701 07024 OCT 07024 # RECOVERS
057914,001006: 37,3702 20000 OCT 20000
057915,001007: 37,3703 0316 EBANK= SCALSAVE
057916,001008: 37,3703 03733 76060 2CADR POSTAND
057917,001009:
057918,001010: 37,3705 34774 CAF OCT62
057919,001011: 37,3706 04616 TC BANKCALL
057920,001012: 37,3707 20624 CADR GOPERF1
057921,001013: 37,3710 13705 TCF -3
057922,001014: 37,3711 13705 TCF -4
057923,001015: 37,3712 13705 TCF -5
057924,001016:
057925,001017: 37,3713 4774 OCT62 EQUALS .5SEC # DEC 50 = OCT 62
057926,001018:
057927,001019: # THE LOW 5 BITS OF THE SCALER READS 10000 FOR THE FIRST INTERVAL AFTER A
Page 1325 |
057929,001021: # T1 INCREMENT. IF SCALPREP DETECTS THIS INTERVAL THE T1,T2 AND SCALER
057930,001022: # DATA ARE NOT COMPATABLE AND RETURN IS TO L+1 FOR ANOTHER READING OF THE
057931,001023: # DATA. OTHERWISE, THE RETURN IS TO L+2 TO PROCEED. ROUTINE ALSO PREPARES
057932,001024: # THE SCALER READING FOR COMPUTATION OF THE INCREMENT TO UPDATE T1T2. (THE
057933,001025: # 10 MS BIT (BIT 6) OF THE SCALER IS INCREMENTED 5 MS OUT OF PHASE FROM
057934,001026: # T1.) ADDITION OF 5 MS (BIT 5) TO THE SCALER READING HAS THE EFFECT OF
057935,001027: # ADJUSTING BIT 6 IN THE SCALER TO BE IN PHASE WITH BIT 1 OF T1. THE LOW 5
057936,001028: # BITS OF THE SCALER READING ARE THEN SET TO ZERO, TO TRUNCATE THE SCALER
057937,001029: # DATA TO 10 MS. RESULTS ARE STORED IN MPAC, +1.
057938,001030:
057939,001031: 37,3713 00006 SCALPREP EXTEND
057940,001032: 37,3714 22156 QXCH MPAC +2
057941,001033: 37,3715 04103 TC FINETIME +1
057942,001034: 37,3716 00003 RELINT
057943,001035: 37,3717 52155 DXCH MPAC
057944,001036: 37,3720 34747 CA BIT5 # ADD 5 MS TO THE SCALER READING.
057945,001037: 37,3721 54001 TS L
057946,001038: 37,3722 34755 CA ZERO
057947,001039: 37,3723 20155 DAS MPAC
057948,001040: 37,3724 44346 CS LOW5 # SET LOW 5 BITS OF (SCALER+5MS) TO ZERO
057949,001041: 37,3725 70155 MASK MPAC +1 # AND STORE RESULTS IN MPAC,+1.
057950,001042: 37,3726 56155 XCH MPAC +1
057951,001043: 37,3727 74346 MASK LOW5 # TEST LOW 5 BITS OF SCALER FOR THE FIRST
057952,001044: # INTERVAL AFTER THE T1 INCREMENT
057953,001045: # (NOW = 00000, SINCE BIT 5 ADDED).
057954,001046: 37,3730 10000 CCS A # IS IT 1ST INTERVAL AFTER T1 INCREMENT
057955,001047: 37,3731 24156 INCR MPAC +2 # NO
057956,001048: 37,3732 00156 TC MPAC +2 # YES
057957,001049:
057958,001050: # POSTAND RECOVERS TIME AFTER STANDBY.THE SCALER IS SNAPSHOTTED AND THE
057959,001051: # TIME1 TIME2 COUNTER IS SET TO ZERO. THE LOW 5 BITS OF THE SCALER ARE
057960,001052: # INSPECTED TO INSURE COMPATABILITY BETWEEN THE SCALER READING AND THE
057961,001053: # CLEARING OF THE TIME COUNTER. IT THEN COMPUTES THE DIFFERENCE IN SCALER
057962,001054: # VALUES (IN DP) AND ADDS THIS TO THE PREVIOUSLY SNAPSHOTTED VALUES OF
057963,001055: # TIME1 TIME2 AND PLACES THIS NEW TIME INTO THE TIME1 TIME2 COUNTER.
057964,001056:
057965,001057: 37,3733 COUNT* $$/P05
057966,001058:
057967,001059: 37,3733 44741 POSTAND CS BIT11 # RECOVER TIME AFTER STANDBY.
057968,001060: 37,3734 00006 EXTEND
057969,001061: 37,3735 03013 WAND CHAN13 # CLEAR STANDBY ENABLE BIT
057970,001062: 37,3736 00004 INHINT
057971,001063: 37,3737 34755 CA ZERO
057972,001064: 37,3740 54001 TS L
057973,001065: 37,3741 52025 DXCH TIME2 # CLEAR TIME1TIME2
057974,001066: 37,3742 03713 TC SCALPREP # STORE SCALER IN MPAC, MPAC+1
057975,001067: 37,3743 03736 TC POSTAND +3 # T1,T2,SCALER NOT COMPATIBLE
057976,001068: 37,3744 00006 EXTEND # T1,T2 AND SCALER OK
057977,001069: 37,3745 40317 DCS SCALSAVE
057978,001070: 37,3746 20155 DAS MPAC # FORM DP DIFFERENCE OF POSTSTANDBY SCALER
Page 1326 |
057980,001072: 37,3747 34742 CAF BIT10 # MINUS PRESTANDBY SCALER AND SHIFT RIGHT
057981,001073: 37,3750 07321 TC SHORTMP # 5 TO ALIGN BITS WITH TIME1TIME2.
057982,001074: 37,3751 34755 CAF ZERO
057983,001075: 37,3752 54156 TS MPAC +2 # NEEDED FOR TP AGREE
057984,001076: 37,3753 07271 TC TPAGREE # MAKE DP DIFF AGREE
057985,001077: 37,3754 10154 CCS MPAC
057986,001078: 37,3755 03762 TC POSTCOM # IF DP DIFF NET +, NO SCALER OVERFLOW
057987,001079: 37,3756 03762 TC POSTCOM # BETWEEN PRE AND POST STANDBY.
057988,001080: 37,3757 03760 TC +1 # IF DP DIFF NET -, SCALER OVERFLOWED. ADD
057989,001081: 37,3760 34742 CAF BIT10 # BIT 10 TO HIGH DIFF TO CORRECT.
057990,001082: 37,3761 26154 ADS MPAC
057991,001083: 37,3762 00006 POSTCOM EXTEND # C(MPAC,+1) IS MAGNITUDE OF DELTA SCALER.
057992,001084: 37,3763 30315 DCA TIME2SAV # PRESTANDBY TIME1TIME2
057993,001085: 37,3764 20155 DAS MPAC
057994,001086: 37,3765 07271 TC TPAGREE # FORCE SIGN AGREEMENT
057995,001087: 37,3766 52155 DXCH MPAC # UPDATED VALUE FOR T1,T2.
057996,001088: 37,3767 20025 DAS TIME2 # LOAD UPDATED VALUE INTO T1,T2, WITH
057997,001089: 37,3770 05527 TC DOWNFLAG # CLEAR NODOFLAG
057998,001090: 37,3771 00054 ADRES NODOFLAG
057999,001091:
058000,001092: 37,3772 06001 TC GOTOPOOH
End of include-file IMU_MODE_SWITCHING_ROUTINES.agc. Parent file is MAIN.agc