Source Code
031324,000001: # Copyright: Public domain.
031325,000002: # Filename: P40-P47.agc
031326,000003: # Purpose: A section of Luminary 1C, revision 131.
031327,000004: # It is part of the source code for the Lunar Module's (LM)
031328,000005: # Apollo Guidance Computer (AGC) for Apollo 13 and Apollo 14.
031329,000006: # This file is intended to be a faithful transcription, except
031330,000007: # that the code format has been changed to conform to the
031331,000008: # requirements of the yaYUL assembler rather than the
031332,000009: # original YUL assembler.
031333,000010: # Reference: pp. 752-784 of 1729.pdf.
031334,000011: # Contact: Ron Burkey <info@sandroid.org>.
031335,000012: # Website: www.ibiblio.org/apollo
031336,000013: # Mod history: 05/24/03 RSB. Began transcribing.
031337,000014: # 2010-01-05 JL Fixed indentation of STADR instruction.
031338,000015:
031339,000016: # Page 752
031340,000017: # PROGRAM DESCRIPTION: F40BOTH DECEMBER 22, 1966
031341,000018: # MOD 03 BY PETER ADLER MARCH 3, 1967
031342,000019: # CALLED VIA JOB FROM V37E
031343,000020:
031344,000021: # FUNCTIONAL DESCRIPTION
031345,000022: # 1) TO COMPUTE A PREFERRED IMU ORIENTATION AND A PREFERRED VEHICLE ATTITUDE FOR A LM DPS
031346,000023: # THRUSTING MANEUVER.
031347,000024: # (There is no item #2 in the original program listing --- RSB 2003.)
031348,000025: # 3) TO DO THE VEHICLE MANEUVER TO THE THRUSTING ATTITUDE.
031349,000026: # 4) TO CONTROL THE PGNCS DURING COUNTDOWN, IGNITION, THRUSTING, AND THRUST TERMINATION OF A
031350,000027: # PGNCS CONTROLLED DPS MANEUVER.
031351,000028: # 5) IN POSTBURN --- ZERO RENDEZVOUS COUNTER, MAINTAIN VG CALCULATIONS FOR POSSIBLE RCS MANEUVER,
031352,000029: # SET MAXIMUM DEADBAND IN DAP, RESET STEERLAW CSTEER TO ZERO.
031353,000030: # NOTE: P42, WHICH IS IN THIS LOG SECTION, DOES THE SAME FOR AN APS BURN, AND AP41 DOES 1-3 FOR
031354,000031: # RCS PLUS DISPLAYS PARAMETERS FOR MANUAL CONTROL.
031355,000032:
031356,000033: # SUBROUTINES USED
031357,000034: # R02 IMU STATUS CHECK
031358,000035: # S40.1 COMPUTATION OF THRUST DIRECTION
031359,000036: # S40.13 LENGTH OF BURN
031360,000037: # S40.2,3 PREFERRED IMU ORIENTATION
031361,000038: # S40.8 X PRODUCT STEERING
031362,000039: # S40.9 LAMBERT VTOGAIN
031363,000040: # R60LEM ATTITUDE MANEUVER
031364,000041: # LEMPREC EXTRAPOLATE STATE VECTOR
031365,000042: # PREREAD AVERAGE G, SERVICER
031366,000043: # ALLCOAST DAP COASTING INITIALIZATION
031367,000044: # CLOKTASK ERGO CLOCKJOB -- COUNT DOWN
031368,000045: # PHASCHANG, INTPRET, FLAGUP, FLAGDOWN, WAITLIST, LONGCALL, GOFLASH, GOFLASHR, GOPERF1, ALARM,
031369,000046: # PRIOLARM, GOTOP00H, ENDOFJOB, BANKCALL, SETMAXDB, SETMINDB, CHECKMM, FLATOUT, OUTFLAT,
031370,000047: # KILLTASK, SGNAGREE, TPAGREE, ETC.
031371,000048:
031372,000049: # RESTARTS VIA GROUP 4
031373,000050:
031374,000051: # DISPLAYS
031375,000052: # V50N25 203 A/P TO PGNCS, AUTO-THROTTLE MODE, AUTO ATTITUDE CONTROL
031376,000053: # V06N40 TTI, VG, DELTAVM (DISPLAYED ONCE/SECOND BY CLOKTASK)
031377,000054: # V50N99 PLEASE PERFORM ENGINE ON ENABLE
031378,000055: # V06N40 TG (TIME TO GO TO CUTOFF), VG, DELTAVM -- ONCE/SECOND
031379,000056: # V16N40 FINAL VALUES OF TG, VG, DELTAVM
031380,000057: # V16N85 COMP OF VG (BODY AXES) FOR POSS. RCS MANUAL MANEUVER
031381,000058: # V05N09 POSSIBLE ALARMS
031382,000059: # V50N07 PLEASE SELECT P00
031383,000060:
031384,000061: # Page 753
031385,000062: # VIA R30
031386,000063:
031387,000064: # V06N44 HAPO, PERI, TFF
031388,000065: # V06N35 TIME TO PERIGEE, HMS
031389,000066:
031390,000067: # ALARM OR ABORT EXIT MODES
031391,000068: # PROGRAM ALARM, FLASHING DISPLAY OF ALARM CODE 1706 IF P40 SELECTED WITH DESCENT UNIT STAGED.
031392,000069: # V34E (TERMINATE) IS THE ONLY RESPONSE ACCEPTED. TC GOTOP00H.
031393,000070:
031394,000071: # PROGRAM ALARM, FLASH CODE 1703: TIG LESS THAN 45 SECS AWAY. V34E= GOTOP00H OR V33E= SLIP
031395,000072: # TIG BY 45 SECS.
031396,000073:
031397,000074: # ERASABLE INITIALIZATION
031398,000075:
031399,000076: # DEBRIS
031400,000077:
031401,000078: # OUTPUT
031402,000079: # SEE SUBROUTINES E.G.: S40.1, S40.2,3, S40.13, S40.8, S40.9, TRIMGIMB
031403,000080: # XDELVFLG = 1 FOR EXT DELV COMPUTATION
031404,000081: # = 0 FOR AIMPT (LAMBERT COMP
031405,000082:
031406,000083: 27,2246 COUNT* $$/P40
031407,000084: 27,2246 E7,1455 EBANK= WHICH
031408,000085:
031409,000086: 36,3153 BANK 36
031410,000087: 36,2000 SETLOC P40S
031411,000088: 36,2000 BANK
031412,000089:
031413,000090: 36,3153 05353 P40LM TC PHASCHNG
031414,000091: 36,3154 04024 OCT 04024
031415,000092:
031416,000093: 36,3155 33137 CAF P40ADRES # INITIALIZATION FOR BURNBABY
031417,000094: 36,3156 55455 TS WHICH
031418,000095:
031419,000096: 36,3157 30106 CA FLGWRD10
031420,000097: 36,3160 74737 MASK APSFLBIT
031421,000098: 36,3161 10000 CCS A
031422,000099: 36,3162 13125 TCF P40ALM
031423,000100: 36,3163 04616 TC BANKCALL # GO DO IMU STATUS CHECK ROUTINE.
031424,000101: 36,3164 11233 CADR R02BOTH
031425,000102:
031426,000103: 36,3165 40111 CS DAPBOOLS # INITIALIZE DVMON
031427,000104: 36,3166 74737 MASK CSMDOCKD
031428,000105: 36,3167 10000 CCS A
031429,000106: 36,3170 32022 CAF THRESH1
031430,000107: 36,3171 62023 AD THRESH3
031431,000108: 36,3172 55250 TS DVTHRUSH
031432,000109: 36,3173 34751 CAF FOUR
031433,000110: 36,3174 55515 TS DVCNTR
031434,000111: # Page 754
031435,000112: 36,3175 06042 TC INTPRET # LOAD CONSTANTS FOR DPS BURN
031436,000113: 36,3176 43175 VLOAD CLEAR # LOAD F, MDOT, TDECAY
031437,000114: 36,3177 34001 FDPS
031438,000115: 36,3200 02663 NOTHROTL
031439,000116: 36,3201 03735 STORE F
031440,000117: 36,3202 77735 SLOAD
031441,000118: 36,3203 26002 DPSVEX
031442,000119: 36,3204 70476 P40IN DCOMP SR1
031443,000120: 36,3205 37743 STCALL VEX # LOAD EXHAUST VELOCITY FOR TGO COMP.
031444,000121: 36,3206 56246 S40.1 # COMPUTES UT AND VGTIG
031445,000122: 36,3207 77624 CALL
031446,000123: 36,3210 56413 S40.2,3 # COMPUTES PREFERRED IMU ORIENTATION
031447,000124: 36,3211 77776 EXIT
031448,000125:
031449,000126: 36,3212 00004 INHINT
031450,000127: 36,3213 04674 TC IBNKCALL
031451,000128: 36,3214 40143 CADR PFLITEDB # ZERO ATTITUDE ERRORS, SET DB TO ONE DEG.
031452,000129:
031453,000130: 36,3215 03217 TC P40SXT4
031454,000131:
031455,000132: # ********************************
031456,000133:
031457,000134: 36,3216 12130 TCF BURNBABY
031458,000135:
031459,000136: # ********************************
031460,000137:
031461,000138: 36,3217 00006 P40SXT4 EXTEND
031462,000139: 36,3220 23141 QXCH P40/RET
031463,000140: 36,3221 00003 P41MANU RELINT
031464,000141:
031465,000142: 36,3222 05516 TC DOWNFLAG # CLEAR 3AXISFLG -- R60 USE VECPOINT.
031466,000143: 36,3223 00124 ADRES 3AXISFLG
031467,000144:
031468,000145: 36,3224 04616 TC BANKCALL
031469,000146: 36,3225 54123 CADR R60LEM # DO ATTITUDE MANEUVER ROUTINE
031470,000147: 36,3226 01141 TC P40/RET
031471,000148:
031472,000149: 36,3227 E7,1462 EBANK= TRKMKCNT
031473,000150: 36,3227 30005 POSTBURN CA Z
031474,000151: 36,3230 55162 TS DISPDEX
031475,000152: 36,3231 00006 EXTEND
031476,000153: 36,3232 32060 DCA ACADN85
031477,000154: 36,3233 53252 DXCH AVEGEXIT
031478,000155: 36,3234 33764 CAF V16N40
031479,000156: 36,3235 04616 TC BANKCALL
031480,000157: 36,3236 20636 CADR GOFLASHR
031481,000158: 36,3237 03262 TC TERM40
031482,000159: 36,3240 13245 TCF TIGNOW
031483,000160: 36,3241 03227 TC POSTBURN
031484,000161: # Page 755
031485,000162: 36,3242 05353 P40PHS1 TC PHASCHNG
031486,000163: 36,3243 00014 OCT 00014
031487,000164: 36,3244 15155 TCF ENDOFJOB
031488,000165:
031489,000166: 36,3245 00004 TIGNOW INHINT
031490,000167: 36,3246 04674 TC IBNKCALL
031491,000168: 36,3247 40154 CADR ZATTEROR
031492,000169: 36,3250 04674 TC IBNKCALL
031493,000170: 36,3251 40141 CADR SETMINDB
031494,000171: 36,3252 00003 RELINT
031495,000172: 36,3253 33765 CAF V16N85B
031496,000173: 36,3254 04616 TC BANKCALL
031497,000174: 36,3255 20463 CADR REFLASHR
031498,000175: 36,3256 03262 TC TERM40
031499,000176: 36,3257 13262 TCF TERM40
031500,000177: 36,3260 03253 TC -5
031501,000178:
031502,000179: 36,3261 13242 TCF P40PHS1
031503,000180:
031504,000181: 36,3262 00006 TERM40 EXTEND
031505,000182: 36,3263 32110 DCA SERVCADR
031506,000183: 36,3264 53252 DXCH AVEGEXIT
031507,000184: 36,3265 34755 CAF ZERO
031508,000185: 36,3266 55462 TS TRKMKCNT # ZERO RENDZVS CNTERS
031509,000186: 36,3267 30005 CA Z
031510,000187: 36,3270 55162 TS DISPDEX
031511,000188: 36,3271 00004 INHINT
031512,000189: 36,3272 04674 TC IBNKCALL
031513,000190: 36,3273 40115 CADR RESTORDB
031514,000191: 36,3274 00003 RELINT
031515,000192: 36,3275 06001 TC GOTOP00H
031516,000193:
031517,000194: 36,3276 E7,1455 EBANK= WHICH
031518,000195: 36,3276 COUNT* $$/P41
031519,000196: 36,3276 33140 P41LM CAF P41ADRES # INITIALIZATION FOR BURNBABY
031520,000197: 36,3277 55455 TS WHICH
031521,000198:
031522,000199: 36,3300 04616 TC BANKCALL
031523,000200: 36,3301 11233 CADR R02BOTH
031524,000201:
031525,000202: 36,3302 06042 TC INTPRET # BOTH LM
031526,000203: # In the original program listing, the following line has a hand-written notation in the
031527,000204: # label field which appears to be "rrPIN" or "PPPIN". I don't claim to know that this means,
031528,000205: # but I present it for your delectation.---RSB 2003.
031529,000206: 36,3303 71214 BON DLOAD # IF NJETSFLAG IS SET, LOAD Z JET F
031530,000207: 36,3304 00700 NJETSFLG
031531,000208: 36,3305 75311 P41FJET1
031532,000209: 36,3306 34017 FRCS4 # IF NJETSFLG IS CLEAR, LOAD 4 JET F
031533,000210:
031534,000211: 36,3307 37735 P41FJET STCALL F
031535,000212: 36,3310 75314 P41IN
031536,000213: 36,3311 77745 P41FJET1 DLOAD
031537,000214: # Page 756
031538,000215: 36,3312 34021 FRCS2
031539,000216: 36,3313 03735 STORE F
031540,000217:
031541,000218: 36,3314 77624 P41IN CALL
031542,000219: 36,3315 56246 S40.1 # BOTH
031543,000220: 36,3316 77624 P41NORM CALL
031544,000221: 36,3317 56413 S40.2,3 # CALCULATE PREFERRED IMU ORIENTATION AND
031545,000222: 36,3320 77776 EXIT # SET PFRATFLG.
031546,000223:
031547,000224: 36,3321 00004 INHINT
031548,000225: 36,3322 04674 TC IBNKCALL
031549,000226: 36,3323 40154 CADR ZATTEROR # ZERO ATTITUDE ERRORS
031550,000227: 36,3324 04674 TC IBNKCALL
031551,000228: 36,3325 40141 CADR SETMINDB # SET 0.3 DEGREE DEADBAND
031552,000229: 36,3326 03217 TC P40SXT4
031553,000230:
031554,000231: 36,3327 06042 TC INTPRET
031555,000232: 36,3330 45175 VLOAD CALL # TRANSFORM VELOCITY-TO-BE-GAINED AT TIG
031556,000233: 36,3331 03701 VGTIG # FROM REFERENCE COORDINATES TO LM BODY-
031557,000234: 36,3332 57267 S41.1 # AXIS COORDINATES FOR V16N85 DISPLAY.
031558,000235: 36,3333 03502 STORE VGBODY # (SCALED AT 2 (+7) METERS/CENTISECOND)
031559,000236: 36,3334 77776 EXIT
031560,000237:
031561,000238: 36,3335 33765 CAF V16N85B
031562,000239: 36,3336 04616 TC BANKCALL
031563,000240: 36,3337 20447 CADR GODSPRET
031564,000241:
031565,000242: 36,3340 35017 CAF PRIO5
031566,000243: 36,3341 55162 TS DISPDEX # FOR SAFETY ONLY
031567,000244: 36,3342 05105 TC FINDVAC
031568,000245: 36,3343 E7,1700 EBANK= VGPREV
031569,000246: 36,3343 03365 74067 2CADR DYNMDISP
031570,000247:
031571,000248: 36,3345 05327 TC 2PHSCHNG
031572,000249: 36,3346 00076 OCT 00076 # GROUP 6 RESTARTS AT REDO6.7
031573,000250: 36,3347 04024 OCT 04024 # GROUP 4 RESTARTS HERE
031574,000251:
031575,000252: # ********************************
031576,000253:
031577,000254: 36,3350 12137 TCF B*RNB*B*
031578,000255:
031579,000256: # ********************************
031580,000257:
031581,000258: 36,3351 34777 BLNKWAIT CAF 1SEC
031582,000259: 36,3352 04616 TC BANKCALL
031583,000260: 36,3353 01736 CADR DELAYJOB
031584,000261:
031585,000262: 36,3354 31162 REDO6.7 CA DISPDEX # ON A RESTART, DO NOT PUT UP DISPLAY IF
031586,000263: 36,3355 64752 AD TWO # BLANKING (BETWEEN TIG-35 AND TIG-30)
031587,000264:
031588,000265: # ********************************
031589,000266: # Page 757
031590,000267:
031591,000268: 36,3356 00006 EXTEND
031592,000269: 36,3357 13351 BZF BLNKWAIT
031593,000270:
031594,000271: 36,3360 33765 CAF V16N85B
031595,000272: 36,3361 04616 TC BANKCALL
031596,000273: 36,3362 20447 CADR GODSPRET
031597,000274:
031598,000275: 36,3363 35017 CAF PRIO5
031599,000276: 36,3364 05146 TC PRIOCHNG
031600,000277:
031601,000278: 36,3365 31162 DYNMDISP CA DISPDEX # A NON-POSITIVE DISPDEX INDICATES PAST
031602,000279: 36,3366 00006 EXTEND # TIG-35, SO SERVICER WILL BE DOING THE
031603,000280: 36,3367 65155 BZMF ENDOFJOB # UPDATING OF NOUN 85. STOP DYNMDISP.
031604,000281: 36,3370 06042 TC INTPRET
031605,000282: 36,3371 45175 VLOAD CALL
031606,000283: 36,3372 03701 VGPREV
031607,000284: 36,3373 57267 S41.1
031608,000285: 36,3374 03502 STORE VGBODY
031609,000286: 36,3375 77776 EXIT
031610,000287: 36,3376 34777 CAF 1SEC
031611,000288: 36,3377 04616 TC BANKCALL
031612,000289: 36,3400 01736 CADR DELAYJOB
031613,000290: 36,3401 13365 TCF DYNMDISP
031614,000291:
031615,000292: 36,3402 06042 CALCN85 TC INTPRET
031616,000293: 36,3403 77624 CALL
031617,000294: 36,3404 75615 UPDATEVG
031618,000295: 36,3405 45175 VLOAD CALL
031619,000296: 36,3406 03701 VGPREV
031620,000297: 36,3407 57267 S41.1
031621,000298: 36,3410 03502 STORE VGBODY
031622,000299: 36,3411 77776 EXIT
031623,000300: 36,3412 04635 TC POSTJUMP
031624,000301: 36,3413 65746 CADR SERVEXIT
031625,000302:
031626,000303: 36,3414 COUNT* $$/P42
031627,000304: 36,3414 E7,1455 EBANK= WHICH
031628,000305:
031629,000306: 36,3414 05353 P42LM TC PHASCHNG
031630,000307: 36,3415 04024 OCT 04024
031631,000308:
031632,000309: 36,3416 33141 CAF P42ADRES # INITIALIZATION FOR BURNBABY.
031633,000310: 36,3417 55455 TS WHICH
031634,000311:
031635,000312: 36,3420 40106 CS FLGWRD10
031636,000313: 36,3421 74737 MASK APSFLBIT
031637,000314: 36,3422 10000 CCS A
031638,000315: 36,3423 03125 TC P40ALM
031639,000316: 36,3424 04616 P42STAGE TC BANKCALL
031640,000317: # Page 758
031641,000318: 36,3425 11233 CADR R02BOTH
031642,000319: 36,3426 36000 CAF THRESH2 # INITIALIZE DVMON
031643,000320: 36,3427 55250 TS DVTHRUSH
031644,000321: 36,3430 34751 CAF FOUR
031645,000322: 36,3431 55515 TS DVCNTR
031646,000323:
031647,000324: 36,3432 06042 TC INTPRET
031648,000325: 36,3433 77214 SET VLOAD # LOAD FAPS, MDOTAPS, AND ATDECAY INTO
031649,000326: 36,3434 01072 AVFLAG # F, MDOT, AND TDECAY BY VECTOR LOAD.
031650,000327: 36,3435 34007 FAPS
031651,000328: 36,3436 03735 STORE F
031652,000329: 36,3437 52135 SLOAD GOTO
031653,000330: 36,3440 26001 APSVEX
031654,000331: 36,3441 75204 P40IN
031655,000332:
031656,000333: 36,3442 E7,1455 EBANK= WHICH
031657,000334:
031658,000335: 36,3442 COUNT* $$/P47
031659,000336: 36,3442 04616 P47LM TC BANKCALL
031660,000337: 36,3443 11233 CADR R02BOTH
031661,000338: 36,3444 06042 TC INTPRET
031662,000339: 36,3445 77624 CALRB
031663,000340: 36,3446 27547 MIDTOAV2
031664,000341:
031665,000342: 36,3447 30155 CA MPAC +1
031666,000343: 36,3450 05173 TC TWIDDLE
031667,000344: 36,3451 03453 ADRES STARTP47
031668,000345:
031669,000346: 36,3452 15155 TCF ENDOFJOB
031670,000347:
031671,000348: 36,3453 05353 STARTP47 TC PHASCHNG
031672,000349: 36,3454 05014 OCT 05014
031673,000350: 36,3455 77777 OCT 77777
031674,000351:
031675,000352: 36,3456 00006 EXTEND
031676,000353: 36,3457 33770 DCA ACADN83
031677,000354: 36,3460 53252 DXCH AVEGEXIT
031678,000355: 36,3461 34736 CAF PRIO20
031679,000356: 36,3462 05105 TC FINDVAC
031680,000357: 36,3463 E7,1622 EBANK= DELVIMU
031681,000358: 36,3463 03517 74067 2CADR P47BODY
031682,000359:
031683,000360: 36,3465 12344 TCF REDO4.2 # CHECKS PHASE 5 AND GOES TO PREREAD
031684,000361: # SEE TIG-30 IN BURNBABY
031685,000362:
031686,000363: 36,3466 06042 CALCN83 TC INTPRET
031687,000364: 36,3467 53375 VLOAD VAD
031688,000365: 36,3470 03502 DELVCTL
031689,000366: 36,3471 03527 DELVREF
031690,000367: 36,3472 03656 STORE DELVSIN # TEMP STORAGE FOR RESTARTS
031691,000368: # Page 759
031692,000369: 36,3473 77624 CALL
031693,000370: 36,3474 57267 S41.1
031694,000371: 36,3475 03623 STORE DELVIMU
031695,000372: 36,3476 77776 EXIT
031696,000373: 36,3477 05353 TC PHASCHNG
031697,000374: 36,3500 10035 OCT 10035 # REREADAC AND HERE
031698,000375:
031699,000376: 36,3501 06042 TC INTPRET
031700,000377: 36,3502 77775 VLOAD
031701,000378: 36,3503 03656 DELVSIN
031702,000379: 36,3504 03502 STORE DELVCTL
031703,000380: 36,3505 77776 EXIT
031704,000381:
031705,000382: 36,3506 04635 TC POSTJUMP
031706,000383: 36,3507 65746 CADR SERVEXIT
031707,000384:
031708,000385: 36,3510 33766 P47BOD CAF V1683
031709,000386: 36,3511 04616 TC BANKCALL
031710,000387: 36,3512 20636 CADR GOFLASHR
031711,000388: 36,3513 06001 TC GOTOP00H
031712,000389: 36,3514 06001 TC GOTOP00H
031713,000390:
031714,000391: 36,3515 13517 TCF P47BODY
031715,000392:
031716,000393: 36,3516 13242 TCF P40PHS1
031717,000394:
031718,000395: 36,3517 06042 P47BODY TC INTPRET
031719,000396: 36,3520 77775 VLOAD
031720,000397: 36,3521 06524 HI6ZEROS
031721,000398: 36,3522 03623 STORE DELVIMU
031722,000399: 36,3523 03502 STORE DELVCTL
031723,000400: 36,3524 77776 EXIT
031724,000401: 36,3525 03510 TC P47BOD
031725,000402:
031726,000403: 36,3526 COUNT* $$/P40
031727,000404: 36,3526 31517 IMPLBURN CA TGO +1
031728,000405: 36,3527 03741 TC GETDT
031729,000406: 36,3530 05173 TC TWIDDLE
031730,000407: 36,3531 03546 ADRES ENGOFTSK
031731,000408: 36,3532 05516 TC DOWNFLAG # TURN OFF IGNFLAG
031732,000409: 36,3533 00153 ADRES IGNFLAG
031733,000410: 36,3534 05516 TC DOWNFLAG # TURN OFF ASTNFLG
031734,000411: 36,3535 00154 ADRES ASTNFLAG
031735,000412: 36,3536 05516 TC DOWNFLAG # TURN OFF IMPULSW
031736,000413: 36,3537 00044 ADRES IMPULSW
031737,000414: 36,3540 05353 TC PHASCHNG # RESTART PROTECT ENGOFTSK (ENGINOFF)
031738,000415: 36,3541 40114 OCT 40114
031739,000416:
031740,000417: 36,3542 05221 TC FIXDELAY # WAIT HALF A SECOND
031741,000418: 36,3543 00062 DEC 50 B-14
031742,000419: # Page 760
031743,000420: 36,3544 02657 TC NOULLAGE # TURN OFF ULLAGE
031744,000421:
031745,000422: 36,3545 05261 TC TASKOVER
031746,000423:
031747,000424: 36,3546 04674 ENGOFTSK TC IBNKCALL # THIS CODING ALLOWS ENGINOFF ET AL TO BE
031748,000425: 36,3547 75551 CADR ENGINOFF # USED BOTH BY WAITLIST AND BY TC IBNKCALL
031749,000426: 36,3550 05261 TC TASKOVER
031750,000427:
031751,000428: 36,3551 34644 ENGINOFF CAF PRIO12 # MUST BE LOWER PRIO THAN CLOCKJOB
031752,000429: 36,3552 05105 TC FINDVAC
031753,000430: 36,3553 E7,1462 EBANK= TRKMKCNT
031754,000431: 36,3553 03227 74067 2CADR POSTBURN
031755,000432:
031756,000433: 36,3555 34753 ENGINOF2 CAF BIT1
031757,000434: 36,3556 05203 TC WAITLIST
031758,000435: 36,3557 E6,1422 EBANK= OMEGAQ
031759,000436: 36,3557 03612 74066 2CADR COASTSET
031760,000437:
031761,000438: 36,3561 40103 ENGINOF1 CS FLAGWRD7 # SET THE IDLE BIT.
031762,000439: 36,3562 74745 MASK IDLEFBIT
031763,000440: 36,3563 26103 ADS FLAGWRD7
031764,000441:
031765,000442: 36,3564 02657 TC NOULLAGE
031766,000443:
031767,000444: 36,3565 00006 ENGINOF4 EXTEND
031768,000445: 36,3566 30025 DCA TIME2
031769,000446: 36,3567 53342 DXCH TEVENT
031770,000447:
031771,000448: 36,3570 44745 ENGINOF3 CS ENGONBIT # INSURE ENGONFLG IS CLEAR.
031772,000449: 36,3571 70101 MASK FLAGWRD5
031773,000450: 36,3572 54101 TS FLAGWRD5
031774,000451: 36,3573 44355 CS PRIO30 # ENGINOF3 IS USED AS A PRE-ENGINE ARM
031775,000452: 36,3574 00006 EXTEND # SUBROUTINE.
031776,000453: 36,3575 02011 RAND DSALMOUT
031777,000454: 36,3576 64736 AD PRIO20 # TURN OFF THE ENGINE -- DPS OR APS
031778,000455: 36,3577 00006 EXTEND
031779,000456: 36,3600 01011 WRITE DSALMOUT
031780,000457:
031781,000458: 36,3601 40111 CS DAPBOOLS # TURN OFF TRIM GIMBAL
031782,000459: 36,3602 74736 MASK USEQRJTS
031783,000460: 36,3603 26111 ADS DAPBOOLS
031784,000461:
031785,000462: 36,3604 44737 CS HIRTHROT # ZERO AUTO-THROTTLE WHENEVER THE ENGINE
031786,000463: 36,3605 54055 TS THRUST # IS TURNED OFF.
031787,000464: 36,3606 34750 CAF BIT4 # THE HARDWARE DOES SO ONLY WHEN THE
031788,000465: 36,3607 00006 EXTEND # ENGINE IS DISARMED.
031789,000466: 36,3610 05014 WOR CHAN14
031790,000467:
031791,000468: 36,3611 04707 TC ISWRETRN
031792,000469: # Page 761
031793,000470: 36,3612 04674 COASTSET TC IBNKCALL # DO DAP COASTING INITIALIZATION
031794,000471: 36,3613 40205 CADR ALLCOAST
031795,000472: 36,3614 05261 TC TASKOVER
031796,000473:
031797,000474: 36,3615 E6,1422 EBANK= OMEGAQ
031798,000475: 36,3615 45020 UPDATEVG STQ CALL
031799,000476: 36,3616 03665 QTEMP1
031800,000477: 36,3617 56447 S40.8 # X-PRODUCT STEERING
031801,000478: 36,3620 43014 BON BON
031802,000479: 36,3621 01307 XDELVFLG
031803,000480: 36,3622 03665 QTEMP1
031804,000481: 36,3623 03705 NORMSW
031805,000482: 36,3624 75637 180SETUP
031806,000483: 36,3625 45345 DLOAD DSU
031807,000484: 36,3626 01234 PIPTIME
031808,000485: 36,3627 03763 TIGSAVE
031809,000486: 36,3630 50025 DSU BMN
031810,000487: 36,3631 03432 TNEWA
031811,000488: 36,3632 75662 GETRANS
031812,000489: 36,3633 43345 DLOAD DAD
031813,000490: 36,3634 03763 TIGSAVE
031814,000491: 36,3635 03432 TNEWA
031815,000492: 36,3636 03765 STORE TIGSAVEP
031816,000493: 36,3637 77776 180SETUP EXIT
031817,000494: 36,3640 10754 CCS PHASE2
031818,000495: 36,3641 13667 TCF NO.9
031819,000496: 36,3642 34737 CAF PRIO10
031820,000497: 36,3643 00004 INHINT
031821,000498: 36,3644 05105 TC FINDVAC
031822,000499: 36,3645 E7,1706 EBANK= VG
031823,000500: 36,3645 02707 56067 2CADR S40.9 # LAMBERT VTOGAIN
031824,000501:
031825,000502: 36,3647 05327 TC 2PHSCHNG
031826,000503: 36,3650 00172 OCT 00172 # 2.17SPOT FOR S40.9
031827,000504: 36,3651 10035 OCT 10035 # HERE AND REREADAC AFTER RESTART
031828,000505:
031829,000506: 36,3652 06042 ENDSTEER TC INTPRET
031830,000507: 36,3653 77745 DLOAD
031831,000508: 36,3654 03765 TIGSAVEP
031832,000509: 36,3655 27763 STOVL TIGSAVE
031833,000510: 36,3656 01220 RN
031834,000511: 36,3657 26323 STOVL RINIT
031835,000512: 36,3660 01226 VN
031836,000513: 36,3661 02331 STORE VINIT
031837,000514: 36,3662 45345 GETRANS DLOAD DSU
031838,000515: 36,3663 03631 TPASS4
031839,000516: 36,3664 01234 PIPTIME
031840,000517: 36,3665 37452 STCALL DELLT4
031841,000518: 36,3666 03665 QTEMP1
031842,000519:
031843,000520: # Page 762
031844,000521: 36,3667 06042 NO.9 TC INTPRET
031845,000522: 36,3670 77650 GOTO
031846,000523: 36,3671 03665 QTEMP1
031847,000524: 36,3672 06042 STEERING TC INTPRET
031848,000525:
031849,000526: 36,3673 77624 CALL
031850,000527: 36,3674 75615 UPDATEVG
031851,000528: 36,3675 77776 EXIT
031852,000529:
031853,000530: 36,3676 E7,1515 EBANK= DVCNTR
031854,000531: 36,3676 00004 NSTEER INHINT
031855,000532: 36,3677 35016 CA EBANK7
031856,000533: 36,3700 54003 TS EBANK
031857,000534: 36,3701 40076 CS FLAGWRD2 # CHECK IMPULSE SWITCH. IT IS SET EITHER
031858,000535: 36,3702 74743 MASK IMPULBIT # BY S40.13 IF TBURN<6 SECS OR BY S40.8 IF
031859,000536: 36,3703 10000 CCS A # STEERING IS ALMOST DONE.
031860,000537:
031861,000538: 36,3704 13711 TCF +5 # IMPULSW = 0 EXIT
031862,000539: 36,3705 40103 CS FLAGWRD7 # IMPULSW = 1 WHY? CHECK IDLEFLAG
031863,000540: 36,3706 74745 MASK IDLEFBIT # (IDLEFLAG = 0 --> DVMON ON)
031864,000541: 36,3707 10000 CCS A
031865,000542: 36,3710 13713 TCF +3 # DVMON ON --> THRUSTING --> IMPULSW VIA S40.8
031866,000543: 36,3711 04635 TC POSTJUMP # DVMON OFF --> IMPULSW ON VIA S40.13 --> EXIT
031867,000544: 36,3712 65746 CADR SERVEXIT
031868,000545:
031869,000546: 36,3713 04674 TC IBNKCALL
031870,000547: 36,3714 40166 CADR STOPRATE
031871,000548:
031872,000549: 36,3715 05516 TC DOWNFLAG # TURN OFF IMPULSW
031873,000550: 36,3716 00044 ADRES IMPULSW
031874,000551:
031875,000552: 36,3717 05504 TC UPFLAG
031876,000553: 36,3720 00161 ADRES IDLEFLAG # TURN OFF DVMON
031877,000554:
031878,000555: 36,3721 00004 INHINT
031879,000556: 36,3722 00006 EXTEND
031880,000557: 36,3723 31442 DCA TIG
031881,000558: 36,3724 52155 DXCH MPAC
031882,000559: 36,3725 00006 EXTEND
031883,000560: 36,3726 40025 DCS TIME2
031884,000561: 36,3727 20155 DAS MPAC
031885,000562: 36,3730 07262 TC TPAGREE
031886,000563: 36,3731 30155 CAE MPAC +1
031887,000564: 36,3732 03741 TC GETDT
031888,000565: 36,3733 05173 TC TWIDDLE
031889,000566: 36,3734 03546 ADRES ENGOFTSK
031890,000567: 36,3735 05327 TC 2PHSCHNG
031891,000568: 36,3736 40114 OCT 40114 # ENGOFTSK (ENGINOFF)
031892,000569: 36,3737 00035 OCT 00035 # SERVICER -- REREADAC
031893,000570: # Page 763
031894,000571: 36,3740 15155 TCF ENDOFJOB
031895,000572:
031896,000573: 36,3741 10000 GETDT CCS A
031897,000574: 36,3742 13745 TCF +3
031898,000575: 36,3743 13745 TCF +2
031899,000576: 36,3744 34755 CAF ZERO
031900,000577: 36,3745 64753 AD ONE
031901,000578: 36,3746 56001 XCH L
031902,000579: 36,3747 34755 CAF ZERO
031903,000580: 36,3750 53517 DXCH TGO
031904,000581: 36,3751 31517 CA TGO +1
031905,000582: 36,3752 00002 TC Q
031906,000583:
031907,000584: # **************************************
031908,000585:
031909,000586: 36,3753 00000 SEC15DP OCT 00000 # DON'T SEPARATE
031910,000587: 36,3754 02734 SEC15 DEC 1500 B-14 # DON'T SEPARATE
031911,000588: 36,3755 00000 05670 SEC30DP 2DEC 3000 B-28
031912,000589: 36,3757 00000 SEC45DP OCT 00000 # DON'T MOVE FROM JUST BEFORE SEC45
031913,000590: 36,3760 10624 SEC45 DEC 4500 B-14
031914,000591: 36,3761 00000 5SECDP OCT 00000 # DON'T MOVE FROM JUST BEFORE 5SEC
031915,000592: 36,3762 00764 5SEC DEC 500 B-14
031916,000593: 36,3763 05050 26SECS DEC 2600 B-14
031917,000594: 36,3764 04050 V16N40 VN 1640
031918,000595: 36,3765 04125 V16N85B VN 1685
031919,000596: 36,3766 04123 V1683 VN 1683
031920,000597: 36,3767 4777 SEC01 = 1SEC
031921,000598: 36,3767 36,2057 ACADN85 = P41TABLE +2
031922,000599:
031923,000600: 36,3767 E7,1622 EBANK= DELVIMU
031924,000601: 36,3767 03466 74067 ACADN83 2CADR CALCN83
031925,000602:
031926,000603: # ******************************************
031927,000604: # Page 764
031928,000605: # PROGRAM DESCRIPTION: S40.1 DATE: 15 NOV 66
031929,000606: # MOD N02 LOG SECTION P40-P47
031930,000607: # MOD BY ZELDIN AND ADAPTED BY TALAYCO
031931,000608:
031932,000609: # FUNCTIONAL DESCRIPTION
031933,000610: # COMPUTE INITIAL THRUST DIRECTION(UT) AND INITIAL VALUE OF VG
031934,000611: # VECTOR(VGTIG).
031935,000612:
031936,000613: # CALLING SEQUENCE
031937,000614: # L CALL
031938,000615: # L+1 S40.1
031939,000616:
031940,000617: # NORMAL EXIT MODE
031941,000618: # AT L+2 OF CALLING SEQUENCE (GOTO L+2) NORMAL RETURN OR
031942,000619: # ERROR RETURN IF NOSOFLAG =1
031943,000620:
031944,000621: # SUBROUTINES CALLED
031945,000622: # LEMPREC
031946,000623: # INITVEL
031947,000624: # CALCGRAV
031948,000625: # MIDGIM
031949,000626:
031950,000627: # ALARM OR ABORT EXIT MODES
031951,000628: # L+2 OF CALLING SEQUENCE, UNSOLVABLE CONIC IF NOSOFLAG=1
031952,000629:
031953,000630: # ERASABLE INITIALIZATION REQUIRED
031954,000631: # WEIGHT/G ANTICIPATED VEHICLE MASS DP B16 KGM
031955,000632: # XDELVFLG 1=DELTA-V MANEUVER, 0=AIMPT STEER
031956,000633: # F THRUST FOR ENGINE USED
031957,000634: # IF DELTA-V MANEUVER:
031958,000635: # DELVSIN SPECIFIED DELTA-V REQUIRED IN
031959,000636: # INERTIAL COORDS. OF ACTIVE VEHICLE
031960,000637: # AT TIME OF IGNITION VECTOR B7 M/CS
031961,000638: # DELVSAB MAG. OF DELVSIN DP B7 M/CS
031962,000639: # RTIG POSITION AT TIME OF IGNITION VECTOR B29 M
031963,000640: # VTIG VELOCITY AT TIME OF IGNITION VECTOR B7 M/CS.
031964,000641: # IF AIMPT STEER:
031965,000642: # TIG TIME OF IGNITION DP B28 CS
031966,000643: # RTARG POSITION TARGET TIME VECTOR B29 M
031967,000644: # CSTEER C FOR STEER LAW DP B2
031968,000645: # DLTARG TARGET TIME-IGNITION TIME DP B28 CS
031969,000646:
031970,000647: # OUTPUT
031971,000648: # UT DESIRED THRUST DIRECTION VECT. B2 M/(CS.CS)
031972,000649: # VGTIG INITIAL VALUE OF VELOCITY
031973,000650: # TO BE GAINED (INERT. COORD.) VECTOR B7 M/CS
031974,000651: # DELVLVC VGTIG IN LOC. VERT. COORDS. B7 M/CS
031975,000652: # BDT V REQUIRED AT TIG -V REQUIRED AT (TIG-2SEC)
031976,000653: # -GDT FOR S40.13 VECT B7 M/CS
031977,000654: # RTIG CALC IN S40.1B (AIMPT) FOR S40.2,3 VECTOR B27M
031978,000655: # POSITION AT TIME OF IGNITION
031979,000656:
031980,000657: # DEBRIS QTEMP1
031981,000658: # MPAC, QPRET
031982,000659: # PUSHLIST
031983,000660:
031984,000661: 14,2347 BANK 14
031985,000662: 27,2000 SETLOC P40S1
031986,000663: 27,2000 BANK
031987,000664: # Page 765
031988,000665: 27,2246 COUNT* $$/S40.1
031989,000666: 27,2246 71220 S40.1 STQ DLOAD
031990,000667: 27,2247 03632 QTEMP
031991,000668: 27,2250 03442 TIG
031992,000669: 27,2251 03763 STORE TIGSAVE
031993,000670: 27,2252 77614 DELVTEST BOFF
031994,000671: 27,2253 01347 XDELVFLG
031995,000672: 27,2254 56336 S40.1B
031996,000673: 27,2255 77201 CALCTHET SETPD VLOAD
031997,000674: 27,2256 00001 0
031998,000675: 27,2257 03650 VTIG
031999,000676: 27,2260 02331 STORE VINIT
032000,000677: 27,2261 53435 VXV UNIT
032001,000678: 27,2262 03642 RTIG
032002,000679: 27,2263 27673 STOVL UT # UP IN UT
032003,000680: 27,2264 03642 RTIG
032004,000681: 27,2265 02323 STORE RINIT
032005,000682: 27,2266 65236 VSQ PDDL
032006,000683: 27,2267 00045 36D
032007,000684: 27,2270 56205 DMP DDV
032008,000685: 27,2271 16412 THETACON
032009,000686: 27,2272 41205 DMP DMP
032010,000687: 27,2273 03664 DELVSAB
032011,000688: 27,2274 01244 WEIGHT/G
032012,000689: 27,2275 77671 DDV
032013,000690: 27,2276 03735 F
032014,000691: 27,2277 24017 STOVL 14D
032015,000692: 27,2300 03656 DELVSIN
032016,000693:
032017,000694: 27,2301 74241 DOT VXSC
032018,000695: 27,2302 03673 UT
032019,000696: 27,2303 03673 UT
032020,000697: 27,2304 41552 VSL2 PUSH # (DELTAV.UP)UP SCALED AT 2(+7) P.D.L. 0
032021,000698: 27,2305 65245 BVSU PDDL # DELTA VP SCALED AT 2(+7) P.D.L. 6
032022,000699: 27,2306 03656 DELVSIN
032023,000700: 27,2307 00017 14D
032024,000701: 27,2310 63356 SIN PDVL
032025,000702: 27,2311 00007 6D
032026,000703: 27,2312 53435 VXV UNIT
032027,000704: 27,2313 03673 UT
032028,000705: 27,2314 45561 VXSC STADR
032029,000706: 27,2315 50076 STOVL VGTIG # UNIT(VP X UP)SIN(THETAT/2) IN VGTIG.
032030,000707: 27,2316 65256 UNIT PDDL # UNIT(DELTA VP) IN P.D.L. 6
032031,000708: 27,2317 00017 14D
032032,000709: 27,2320 74346 COS VXSC
032033,000710: 27,2321 74255 VAD VXSC
032034,000711: 27,2322 03701 VGTIG
032035,000712: 27,2323 00045 36D
032036,000713: 27,2324 53352 VSL2 VAD
032037,000714: 27,2325 77626 STADR
032038,000715: # Page 766
032039,000716: 27,2326 74076 STORE VGTIG # VG IGNITION SCALED AT 2(+7) M/CS
032040,000717:
032041,000718: 27,2327 77656 UNIT
032042,000719: 27,2330 27673 STOVL UT # THRUST DIRECTION SCALED AT 2(+1)
032043,000720: 27,2331 03701 VGTIG
032044,000721: 27,2332 45006 PUSH CALL
032045,000722: 27,2333 15741 GET.LVC # VGTIG IN LV COOR AT 2(+7) M/CS IN DELVLVC
032046,000723: 27,2334 77650 GOTO
032047,000724: 27,2335 03632 QTEMP
032048,000725: 27,2336 77745 S40.1B DLOAD
032049,000726: 27,2337 03442 TIG
032050,000727: 27,2340 00041 STORE TDEC1
032051,000728: 27,2341 77621 BDSU
032052,000729: 27,2342 03631 TPASS4
032053,000730: 27,2343 37452 STCALL DELLT4 # INTERCEPT TIME -- TIG.
032054,000731: 27,2344 27056 LEMPREC
032055,000732: 27,2345 40375 VLOAD SETPD # LOAD STATE VECTOR AT TIG FOR INITVEL.
032056,000733: 27,2346 00001 RATT
032057,000734: 27,2347 00001 0
032058,000735: 27,2350 03642 STORE RTIG
032059,000736: 27,2351 02323 STORE RINIT
032060,000737: 27,2352 77656 UNIT
032061,000738: 27,2353 27537 STOVL UNIT/R/
032062,000739: 27,2354 00007 VATT
032063,000740: 27,2355 03650 STORE VTIG
032064,000741: 27,2356 02331 STORE VINIT
032065,000742: 27,2357 65345 DLOAD PDDL # NUMIT = 0
032066,000743: 27,2360 06524 ZEROVECS
032067,000744: 27,2361 16406 EPS1
032068,000745: 27,2362 43214 BOFF DAD
032069,000746: 27,2363 03745 NORMSW
032070,000747: 27,2364 56366 SMALLEPS
032071,000748: 27,2365 16410 EPS2 # EPSILON4 = 10 DEGREES OR 45 DEGREES.
032072,000749: 27,2366 66006 SMALLEPS PUSH SXA,1
032073,000750: 27,2367 02776 RTX1
032074,000751: 27,2370 45134 SXA,2 CALL
032075,000752: 27,2371 02777 RTX2
032076,000753: 27,2372 22000 INITVEL
032077,000754: 27,2373 41575 VLOAD PUSH
032078,000755: 27,2374 02366 DELVEET3 # VGTIG = VR-VN.
032079,000756: 27,2375 03701 STORE VGTIG
032080,000757: 27,2376 77656 UNIT # UT = UNIT (VGTIG)
032081,000758: 27,2377 17673 STODL UT
032082,000759: 27,2400 00045 36D
032083,000760: 27,2401 37664 STCALL VGDISP # CONVERT VGTIG (IN PUSHLIST) TO LOCAL
032084,000761: 27,2402 15741 GET.LVC # VERTICAL COORDINATES.
032085,000762: 27,2403 77650 GOTO
032086,000763: 27,2404 03632 QTEMP
032087,000764:
032088,000765: 27,2405 00707 03434 EPS1 2DEC* 2.777777778 E-2* # 10 DEGREES AT 1 REVOLUTION
032089,000766: # Page 767
032090,000767: 27,2407 03070 34344 EPS2 2DEC* 9.722222222 E-2* # 35 DEGREES AT 1 REVOLUTION.
032091,000768: 27,2411 00024 13714 THETACON 2DEC .31830989 B-8
032092,000769:
032093,000770: # Page 768
032094,000771: # SUBROUTINE NAME: S40.2,3 MOD. NO. 3, DATE APRIL 4, 1967
032095,000772: # MODIFICATION BY: JONATHON D. ADDELSTON (ADAMS ASSOCIATES)
032096,000773: # MOD. NO. 4: JULY 18, 1967: PETER ADLER (MIT/IL)
032097,000774: # MOD. NO. 5: OCTOBER 18, 1967: PETER ADLER (MIT/IL)
032098,000775: # ORIGINALLY BY: SAYDEAN ZELDIN (MIT INSTRUMENTATION LAB) AND RICHARD TALAYCO (SYSTEM DELVELOPMENT CORP)
032099,000776:
032100,000777: # S40.2,3 COMPUTES "POINTVSM" WHICH IS THE HALF-UNIT DESIRED THRUST VECTOR IN STABLE-MEMBER COORDINATES FROM "UT"
032101,000778: # WHICH IS THE SAME VECTOR IN REFERENCE COORDINATES. IT DETERMINES THE CORRECT VALUES FOR "SCAXIS" USING THE +X
032102,000779: # AXIS FOR DPS, APS, AND RCS BURNS. THE "WINGS-LEVEL HEADS-UP" LM ORIENTATION IS THEN COMPUTED IN REFERENCE
032103,000780: # COORDINATES. THESE VECTORS ALSO DEFINE THE "PREFERRED IMU ORIENTATION". UPON COMPLETION OF THIS CALCULATION,
032104,000781: # THE "PREFERRED ATTITUDE COMPUTED" FLAG IS SET (PFRATFLG).
032105,000782:
032106,000783: # CALLING SEQUENCE:
032107,000784: # L CALL # INTERPRETIVE CALL.
032108,000785: # L +1 S40.2,3
032109,000786: # L +2 (RETURN) # GIMBAL ANGLE VECTOR IN MPAC.
032110,000787:
032111,000788: # SUBROUTINES CALLED: NONE.
032112,000789:
032113,000790: # NORMAL RETURN: L +2 (SEE CALLING SEQUENCE ABOVE).
032114,000791:
032115,000792: # ALARM/ABORT MODES: NONE.
032116,000793:
032117,000794: # INPUT:
032118,000795: # 1. REFSMMAT MATRIX FROM REFERENCE TO STABLE-MEMBER COORDINATES SCALED AT 2.
032119,000796: # 2. UT HALF-UNIT DESIRED THRUST DIRECTION.
032120,000797: # 3. RTIG POSITION AT TIG IN REFERENCE COORDINATES.
032121,000798:
032122,000799: # OUTPUT:
032123,000800: # 1. `XSCREF' WINGS-LEVEL HEADS-UP LM ORIENTATION
032124,000801: # `YSCREF' IN REFERENCE COORDINATES
032125,000802: # `ZSCREF' (PREFERRED IMU ORIENTATION).
032126,000803: # 2. POINTVSM DESIRED THRUST DIRECTION IN STABLE-MEMBER COORDINATES.
032127,000804: # 3. SCAXIS HALF-UNIT OF AXIS TO ALIGN IN STABLE-MEMBER COORDINATES.
032128,000805: # 4. PFRATFLG INTERPRETIVE FLAG. ON: PREFERRED ORIENTATION COMPUTED; OFF: NOT COMPUTED.
032129,000806:
032130,000807: # DEBRIS: NONE
032131,000808: # Page 769
032132,000809:
032133,000810: 27,2413 COUNT* $$/S40.2
032134,000811: 27,2413 77775 S40.2,3 VLOAD # UT: DESIRED THRUST DIRECTION (HALF-UNIT)
032135,000812: 27,2414 03673 UT # (PUT INTO TOP OF PUSH-DOWN-LIST.)
032136,000813: 27,2415 76521 MXV VSL1 # TRANSFORM THRUST DIRECTION TO STABLE-
032137,000814: 27,2416 01734 REFSMMAT # MEMBER FROM REFERENCE COORDS (RESCALE).
032138,000815: 27,2417 27773 STOVL POINTVSM # SAVE FOR "VECPOINT" ROUTINE (LEMMANU).
032139,000816: 27,2420 06522 UNITX # SCAXIS SET TO +X, FOR P40 AND P42 AND
032140,000817: 27,2421 27765 STOVL SCAXIS # FOR P41 IF RCS NOT -X,+Y,-Y,+Z,-Z.
032141,000818: 27,2422 03673 UT # ASSUME +X BURN ALWAYS, EVEN FOR RCS.
032142,000819: 27,2423 03607 PLUSX STORE XSCREF # XSCREF = UT (DESIRED THRUST DIRECTION)
032143,000820: 27,2424 53435 VXV UNIT # RTIG = POSITION AT TIME-OF-IGNITION.
032144,000821: 27,2425 03642 RTIG # YSCREF = UNIT(UT X RTIG)
032145,000822: 27,2426 46125 PDDL BHIZ
032146,000823: 27,2427 00045 36D # TEST MAGNITUDE OF UT X RTIG
032147,000824: 27,2430 56441 FIXY # IF SMALL, USE UT X VTIG AS YSC
032148,000825: 27,2431 45575 STORY VLOAD STADR
032149,000826: 27,2432 74162 STORE YSCREF
032150,000827: 27,2433 76435 VXV VSL1 # COMPUTE (YSCREF X XCREF), BUT FOR A
032151,000828: 27,2434 03607 XSCREF # RIGHT HANDED SYSTEM, NEED (X CROSS Y).
032152,000829: 27,2435 77676 VCOMP # ZSCREF = - (YSCREF X XSCREF)
032153,000830: 27,2436 03623 STORE ZSCREF # = + (XSCREF X YSCREF)
032154,000831:
032155,000832: 27,2437 43414 SET RVQ
032156,000833: 27,2440 01073 PFRATFLG
032157,000834: 27,2441 47375 FIXY VLOAD VXV # IN THIS CASE,
032158,000835: 27,2442 03607 XSCREF # YSCREF = UNIT(XSCREF X VTIG)
032159,000836: 27,2443 03650 VTIG
032160,000837: 27,2444 41456 UNIT PUSH
032161,000838: 27,2445 77650 GOTO
032162,000839: 27,2446 56431 STORY
032163,000840: # Page 770
032164,000841: # SUBROUTINE S40.8
032165,000842: # MODIFIED APRIL 3, 1968 BY PETER ADLER, MIT/IL
032166,000843:
032167,000844: # DESCRIPTION
032168,000845: # S40.8 UPDATES THE VELOCITY-TO-BE-GAINED VECTOR, VG, (AND FOR LAMBERT TARGETTED BURNS ALSO EXTRAPOLATES VG
032169,000846: # USING THE BDT VECTOR) COMPUTES THE TIME FOR ISSUING THE ENGINE OFF COMMAND, TGO, AND CALLS THE ROUTINE
032170,000847: # "FINDCDUW", WHICH GENERATES STEERING COMMANDS FOR THE DAP.
032171,000848:
032172,000849: # CALLING SEQUENCE
032173,000850: # L-1 CALL
032174,000851: # L S40.8
032175,000852: # L+1 INTERPRETIVE RETURN
032176,000853:
032177,000854: # ALARM
032178,000855: # IF VG.DELVREF IS NEGATIVE (VG AND DELVREF OVER 90 DEGREES APART), BYPASS TGO AND STEERING COMPUTATIONS
032179,000856: # AND SET ALARM 1407. RETURN TO CALLER NORMALLY.
032180,000857:
032181,000858: # INPUT AND INITIALIZATION
032182,000859: # VGPREV REFERENCE 2(7) M/CS
032183,000860: # DELVREF REFERENCE 2(7) M/CS
032184,000861: # BDT REFERENCE 2(7) M/CS
032185,000862: # TDECAY TAIL-OFF TIME 2(28) CS
032186,000863: # XDELVFLG 1 = EXTERNAL DELTA-V; 0 = LAMBERT (AIMPOINT)
032187,000864: # STEERSW 1 = DO STEERING AND TGO COMPUTATIONS; 0 = VG UPDATE ONLY
032188,000865: # FIRSTFLG 1 = GONE TO LAMBERT AT LEAST ONCE; 0 = HAVEN'T GONE TO LAMBERT YET.
032189,000866:
032190,000867: # NOTE: VGTIG EQUALS VGPREV
032191,000868:
032192,000869: # OUTPUT
032193,000870: # STEERSW SEE INPUT
032194,000871: # INPULSW 1 = ENGINE OFF IN TGO CENTISECONDS; 0 = CONTINUE BURN
032195,000872: # TGO TIME TO CUT-OFF 2(28) CS
032196,000873: # SEE FINDCDUW FOR STEERING OUTPUTS.
032197,000874:
032198,000875: # SUBROUTINE CALLED
032199,000876: # FINDCDUW
032200,000877:
032201,000878: # DEBRIS
032202,000879: # MPACS, PUSHLIST
032203,000880:
032204,000881: 27,2447 COUNT* $$/S40.8
032205,000882: # Page 771
032206,000883: 27,2447 77614 S40.8 BOF # GENERATE VR IF NOT EXTERNAL DELTA-V BURN
032207,000884: 27,2450 01347 XDELVFLG
032208,000885: 27,2451 56731 RASTEER1
032209,000886: 27,2452 52375 VLOAD VSU
032210,000887: 27,2453 03701 VGPREV
032211,000888: 27,2454 03527 DELVREF
032212,000889: 27,2455 03707 VGAIN* STORE VG # VELOCITY TO BE GAINED SCALED AT (7) M/CS
032213,000890: 27,2456 76521 MXV VSL1
032214,000891: 27,2457 01734 REFSMMAT
032215,000892: 27,2460 03253 STORE UNFC/2
032216,000893: 27,2461 51575 BDTOK VLOAD ABVAL
032217,000894: 27,2462 03707 VG
032218,000895: 27,2463 03664 STORE VGDISP
032219,000896: 27,2464 77201 TGDCALC SETPD VLOAD
032220,000897: 27,2465 00001 0
032221,000898: 27,2466 03707 VG
032222,000899: 27,2467 27701 STOVL VGPREV
032223,000900: 27,2470 03527 DELVREF
032224,000901: 27,2471 57414 BOFF VCOMP
032225,000902: 27,2472 01344 STEERSW
032226,000903: 27,2473 00052 QPRET
032227,000904: 27,2474 77656 UNIT
032228,000905: 27,2475 41441 DOT PUSH
032229,000906: 27,2476 03707 VG
032230,000907: 27,2477 56244 BPL DDV
032231,000908: 27,2500 56526 ALARMIT # DELV IS MORE THAN 90 DEGREES FROM VG.
032232,000909: 27,2501 03743 VEX
032233,000910: 27,2502 41215 DAD DMP
032234,000911: 27,2503 06522 DPHALF
032235,000912: 27,2504 56261 SR DDV
032236,000913: 27,2505 20613 10D
032237,000914: 27,2506 00045 36D
032238,000915: 27,2507 43205 DMP DAD
032239,000916: 27,2510 16535 -FOURDT
032240,000917: 27,2511 03741 TDECAY
032241,000918: 27,2512 03517 STORE TGO
032242,000919: 27,2513 77615 DAD
032243,000920: 27,2514 01234 PIPTIME
032244,000921: 27,2515 17442 STODL TIG
032245,000922: 27,2516 03517 TGO
032246,000923: 27,2517 51025 DSU BPL
032247,000924: 27,2520 16537 FOURSECS # 400 CS
032248,000925: 27,2521 61100 FINDCDUW -2
032249,000926: 27,2522 43014 SET CLRGO
032250,000927: 27,2523 01066 IMPULSW
032251,000928: 27,2524 01224 STEERSW
032252,000929: 27,2525 00052 QPRET
032253,000930:
032254,000931: 27,2526 77776 ALARMIT EXIT
032255,000932:
032256,000933: # Page 772
032257,000934: 27,2527 05567 TC ALARM
032258,000935: 27,2530 01407 OCT 01407
032259,000936: 27,2531 06042 TC INTPRET
032260,000937: 27,2532 77650 GOTO # SKIP TGO COMPUTATION BUT CALL FINDCDUW.
032261,000938: 27,2533 61100 FINDCDUW -2 # FINDCDUW WILL EXIT TO UPDATEVG +3.
032262,000939:
032263,000940: 27,2534 77715 77777 -FOURDT 2DEC -800 B-18 # -4 (200 CS.) B(-18)
032264,000941: 27,2536 00000 00620 FOURSECS 2DEC 400 B-28 # 400 CS SCALED AT 2(+28) CS
032265,000942: 27,2540 E7,1742 2VEXHUST = VEX
032266,000943:
032267,000944: # Page 773
032268,000945: # NAME: S40.13 -- TIMEBURN
032269,000946:
032270,000947: # FUNCTION (1) DETERMINE WHETHER A GIVEN COMBINATION OF VELOCITY TO
032271,000948: # BE GAINED AND ENGINE CHOICE RESULT IN A BURN TIME
032272,000949: # SUFFICIENT TO ALLOW STEERING AT THE VEHICLE DURING THE
032273,000950: # BURN
032274,000951: # (2) THE MAGNITUDE OF THE RESULTING BURN TIME -- IF IT
032275,000952: # IS SHORT -- AND THE ASSOCIATED TIME OF THE ENGINE OFF
032276,000953: # SIGNAL
032277,000954:
032278,000955: # CALLING SEQUENCE VIA FINDVAC AS A NEW JOB
032279,000956:
032280,000957: # INPUT VGTIG -- VELOCITY TO BE GAINED VECTOR (METERS/CS) AT +7
032281,000958: # WEIGHT/G -- MASS OF VEHICLE IN KGM AT +16
032282,000959: # F -- APS ENGINE THRUST IN M.NEWTONS AT +7
032283,000960: # AND ALSO FOR RCS ENGINE
032284,000961: # MDOT -- RATE OF DECREASE OF VEHICLE MASS DURING ENGINE
032285,000962: # BURN IN KILOGRAMS/CS AT +3. THIS SCALING MAY
032286,000963: # REQUIRE MODIFICATION FOR SATURN BURNS.
032287,000964: # ENG1FLAG -- SWITCH TO DECIDE WHETHER APS OR DPS ENGINE IS USED
032288,000965: # =0 DPS
032289,000966: # =1 APS
032290,000967:
032291,000968: # OUTPUT IMPULSW ZERO FOR STEERING
032292,000969: # ONE FOR ATTITUDE HOLD
032293,000970: # NOTHROTL ZERO FOR THROTTLING
032294,000971: # ONE TO INHIBIT THROTTLING
032295,000972: # TGO TIME TO BURN IN CS
032296,000973: # THE QUANTITY M.NEWTON = 10000 NEWTONS WILL BE USED TO EXPRESS
032297,000974: # FORCE.
032298,000975:
032299,000976: 27,2540 E7,1516 EBANK= TGO
032300,000977: 27,2540 COUNT* $$/40.13
032301,000978: 27,2540 06042 S40.13 TC INTPRET
032302,000979: 27,2541 43001 SETPD CLEAR
032303,000980: 27,2542 00001 00D
032304,000981: 27,2543 01266 IMPULSW # ASSUME NO STEERING UNTIL FOUND OTHERWISE
032305,000982: 27,2544 51575 VLOAD ABVAL
032306,000983: 27,2545 03701 VGTIG # VELOCITY TO BE GAINED AT +7
032307,000984: 27,2546 41325 PDDL DMP # 00D = MAG OF VGTIG AT +7
032308,000985: 27,2547 21006 4SEC(17) # CORRECT VG FOR 4 SECS OF 2 JET ULLAGE
032309,000986: 27,2550 34021 FRCS2
032310,000987: 27,2551 72471 DDV SL1 # SCALE
032311,000988: 27,2552 01244 WEIGHT/G
032312,000989: 27,2553 41421 BDSU PUSH
032313,000990: 27,2554 43014 BOFF SET
032314,000991: 27,2555 05342 APSFLAG
032315,000992: 27,2556 56626 S40.13D # FOR DPS ENGINE
032316,000993: 27,2557 02463 NOTHROTL
032317,000994: 27,2560 56345 DLOAD DDV # 00D = MAG OF VGTIG CORRECTED
032318,000995: # In the following line in the original program listing, +24 is crossed
032319,000996: # out and +23 written in by hand.---RSB 2003
032320,000997: 27,2561 16001 K1VAL # M.NEWTONS-CS AT +23
032321,000998: 27,2562 01244 WEIGHT/G
032322,000999: 27,2563 50021 BDSU BMN
032323,001000: # Page 774
032324,001001: 27,2564 00001 00D
032325,001002: 27,2565 56610 S40.131 # TGO LESS THAN 100 CS
032326,001003: 27,2566 41325 PDDL DMP # 02D = TEMP1 AT +7
032327,001004: 27,2567 03737 MDOT
032328,001005:
032329,001006: # MDOT REPRESENTS THE RATE OF DECREAS OF VEHICLE MASS DURING ENGINE
032330,001007: # BURN IN KILOGRAMS/CS. WHEN SATURN IS USED, THE SCALING MAY
032331,001008: # REQUIRE ADJUSTMENT.
032332,001009:
032333,001010: 27,2570 16700 3.5SEC # 350 CS AT +14
032334,001011: 27,2571 65221 BDSU PDDL
032335,001012: 27,2572 01244 WEIGHT/G
032336,001013: 27,2573 03735 F
032337,001014: 27,2574 60405 DMP SR2 # SCALE
032338,001015: 27,2575 16702 5SECS
032339,001016: 27,2576 41471 DDV PUSH # 04D = TEMP2
032340,001017: 27,2577 51021 BDSU BPL
032341,001018: 27,2600 00003 02D
032342,001019: 27,2601 56626 S40.13D
032343,001020: 27,2602 55345 DLOAD BDDV
032344,001021: 27,2603 43205 DMP DAD
032345,001022: 27,2604 16702 5SECS
032346,001023: 27,2605 16676 1SEC2D # 100 CS AT +14
032347,001024: 27,2606 77650 GOTO
032348,001025: 27,2607 56616 S40.132
032349,001026: 27,2610 41345 S40.131 DLOAD DMP
032350,001027: 27,2611 01244 WEIGHT/G
032351,001028: # In the following line in the original program listing, PUSH is
032352,001029: # hand-circled.---RSB 2003
032353,001030: 27,2612 41542 SR1 PUSH
032354,001031: 27,2613 56215 DAD DDV
032355,001032: 27,2614 16003 K2VAL # M.NEWTON CS AT +24
032356,001033: 27,2615 16005 K3VAL # M.NEWTON (garbled) AT +10
032357,001034: 27,2616 77414 S40.132 SET EXIT
032358,001035: 27,2617 01066 IMPULSW
032359,001036: 27,2620 07262 S40.132* TC TPAGREE
032360,001037: 27,2621 30154 CA MPAC
032361,001038: # In the following line in the original program listing,
032362,001039: # TS TGO +1 is hand-written in the comment area.---RSB 2003
032363,001040: 27,2622 56001 XCH L
032364,001041: 27,2623 34755 CA ZERO
032365,001042: # In the original program listing, TS TGO is hand-written,
032366,001043: # seemingly between CA ZERO and DXCH TGO.---RSB 2003.
032367,001044: 27,2624 53517 DXCH TGO
032368,001045: 27,2625 12650 TCF S40.134
032369,001046:
032370,001047: 27,2626 41345 S40.13D DLOAD DMP # FOR DPS ENGINE
032371,001048: 27,2627 00001 00D
032372,001049: 27,2630 01244 WEIGHT/G
032373,001050: 27,2631 43006 PUSH BON
032374,001051: 27,2632 05302 APSFLAG
032375,001052: 27,2633 56671 APSTGO
032376,001053: 27,2634 43071 DDV CLEAR
032377,001054: 27,2635 16007 S40.136
032378,001055: 27,2636 02663 NOTHROTL
032379,001056: 27,2637 41400 BOV PUSH
032380,001057: # Page 775
032381,001058: 27,2640 56653 S40.130V
032382,001059: 27,2641 51025 S40.127 DSU BPL
032383,001060: 27,2642 16704 6SEC # 600.0 CS AT +14
032384,001061: 27,2643 56661 S40.138
032385,001062: 27,2644 52015 DAD GOTO
032386,001063: 27,2645 16704 6SEC
032387,001064: 27,2646 56616 S40.132
032388,001065: 27,2647 77776 S40.133 EXIT
032389,001066: 27,2650 05353 S40.134 TC PHASCHNG
032390,001067: 27,2651 00003 OCT 00003
032391,001068: 27,2652 05155 TC ENDOFJOB
032392,001069: 27,2653 40545 S40.130V DLOAD SR4 # RECOMPUTED TGO IN TIMER UNITS
032393,001070: 27,2654 77671 DDV
032394,001071: 27,2655 16011 S40.136_ # S40.136 SHIFTED LEFT 10
032395,001072: 27,2656 03517 STORE TGO
032396,001073: 27,2657 77776 EXIT
032397,001074: 27,2660 12650 TCF S40.134 # REJOIN COMMON CODING FOR RESTART PROTECT
032398,001075:
032399,001076: 27,2661 51025 S40.138 DSU BPL
032400,001077: 27,2662 16706 89SECS
032401,001078: 27,2663 56666 STORETGO
032402,001079: 27,2664 77614 SET
032403,001080: 27,2665 02463 NOTHROTL
032404,001081: 27,2666 77745 STORETGO DLOAD # LOAD TGO AT 2(14)
032405,001082: 27,2667 77776 EXIT
032406,001083: 27,2670 12620 TCF S40.132*
032407,001084:
032408,001085: 27,2671 62471 APSTGO DDV SL2
032409,001086: 27,2672 34007 FAPS
032410,001087: 27,2673 77650 GOTO
032411,001088: 27,2674 56667 STORETGO +1
032412,001089: 27,2675 00144 00000 1SEC2D 2DEC 100.0 B-14 # 100.0 CS AT +14
032413,001090: 27,2677 01274 00000 3.5SEC 2DEC 350.0 B-13 # 350 CS AT +13
032414,001091: 27,2701 00764 00000 5SECS 2DEC 500.0 B-14 # 500.0 CS AT +14
032415,001092: 27,2703 01130 00000 6SEC 2DEC 600.0 B-14 # 600.0 CS AT +14
032416,001093: 27,2705 21304 00000 89SECS 2DEC 8900.0 B-14
032417,001094:
032418,001095: # FUNCTION (1) GENERATES REQUIRED VELOCITY AND VELOCITY-TO-BE-GAINED
032419,001096: # VECTORS FOR USE DURING AIMPOINT MANEUVERS EVERY TWO
032420,001097: # COMPUTATION CYCLES (4 SECONDS).
032421,001098: # (2) UPDATES THE B VECTOR WHICH IS USED IN THE FINAL
032422,001099: # CALCULATION OF EXTRAPOLATING THE VELOCITY-TO-BE-GAINED
032423,001100: # THROUGH ONE 2-SECOND INTERVAL INTO THE FUTURE.
032424,001101:
032425,001102: # CALLING SEQUENCE VIA FINDVAC AS NEW JOB.
032426,001103:
032427,001104: # INPUT RN ACTIVE VEHICLE RADIUS VECTOR IN METERS AT +29
032428,001105: # VN ACTIVE VEHICLE VELOCITY VECTOR IN METERS/CS AT +7
032429,001106: # Page 776
032430,001107: # VPREV LAST COMPUTED VELOCITY REQUIRED VECTOR IN
032431,001108: # METERS/CS AT +7.
032432,001109: # TIG TIME OF IGNITION IN CS AT +28.
032433,001110: # DLTARG COMPUTATION CYCLE INTERVAL = 200 CS AT +28.
032434,001111: # PIPTIME TIME OF RN AND VN IN CS AT +28.
032435,001112: # GDT/2 HALF OF VELOCITY GAINED IN DELTA T TIME DUE TO
032436,001113: # ACELERATION OF GRAVITY IN METERS/CS AT +7.
032437,001114: # DELVREF CHANGE IN VELOCITY DURING LAST 2 SEC IN
032438,001115: # METERS/CS AT +7.
032439,001116:
032440,001117: # OUTPUT VGPREV VELOCITY TO BE GAINED VECTOR IN METERS/CS AT +7.
032441,001118: # VGDISP MAG OF VGPREV FOR DISPLAY PURPOSES.
032442,001119: # VRPREV VELOCTY REQUIRED VECTOR IN METERS/CS AT +7.
032443,001120: # BDT B VECTOR IN METERS/CS AT +7.
032444,001121:
032445,001122: # SUBROUTINES USED INITVEL
032446,001123:
032447,001124: 27,2707 E7,1700 EBANK= VGPREV
032448,001125: 27,2707 COUNT* $$/S40.9
032449,001126: 27,2707 06042 S40.9 TC INTPRET
032450,001127: 27,2710 77601 SETPD
032451,001128: 27,2711 00001 00D
032452,001129: 27,2712 71214 SET DLOAD
032453,001130: 27,2713 01072 AVFLAG # SET AVFLAG FOR LEM ACTIVE
032454,001131: 27,2714 06524 HI6ZEROS
032455,001132: 27,2715 77725 PDDL
032456,001133: 27,2716 16406 EPS1
032457,001134: 27,2717 43214 BOFF DAD # EPSILON4 = 10 OR 45 DEGREES.
032458,001135: 27,2720 03745 NORMSW
032459,001136: 27,2721 56723 EPSSMALL
032460,001137: 27,2722 16410 EPS2
032461,001138: 27,2723 45006 EPSSMALL PUSH CALL
032462,001139: 27,2724 22002 HAVEGUES
032463,001140: 27,2725 77776 ENDS40.9 EXIT
032464,001141: 27,2726 05353 TC PHASCHNG
032465,001142: 27,2727 00002 OCT 2
032466,001143: 27,2730 15155 TCF ENDOFJOB
032467,001144:
032468,001145: 27,2731 51575 RASTEER1 VLOAD ABVAL
032469,001146: 27,2732 01220 RN
032470,001147: 27,2733 53744 LXC,2 SL*
032471,001148: 27,2734 02777 RTX2
032472,001149: 27,2735 57576 0,2
032473,001150: 27,2736 27715 STOVL RMAG
032474,001151: 27,2737 03444 RTARG
032475,001152: 27,2740 47051 VSU RTB
032476,001153: 27,2741 01220 RN
032477,001154: 27,2742 21725 NORMUNX1
032478,001155: 27,2743 17656 STODL IC
032479,001156: 27,2744 00045 36D # C(36D) = ABVAL(C)
032480,001157: 27,2745 53674 XAD,2 SL*
032481,001158: 27,2746 00046 X1
032482,001159: # Page 777
032483,001160: 27,2747 57576 0,2
032484,001161: 27,2750 00037 STORE 30D
032485,001162: 27,2751 41301 NORM DMP
032486,001163: 27,2752 00050 X2
032487,001164: 27,2753 03715 RMAG
032488,001165: 27,2754 57101 NORM XAD,2
032489,001166: 27,2755 00047 X1
032490,001167: 27,2756 00046 X1
032491,001168: 27,2757 77734 SXA,2
032492,001169: 27,2760 03766 MUSCALE
032493,001170: 27,2761 17725 STODL R1C
032494,001171: 27,2762 00037 30D
032495,001172: 27,2763 65342 SR1 PDDL
032496,001173: 27,2764 03715 RMAG
032497,001174: 27,2765 65342 SR1 PDDL
032498,001175: 27,2766 03723 RTMAG
032499,001176: 27,2767 43342 SR1 DAD
032500,001177: 27,2770 45415 DAD STADR
032501,001178: 27,2771 74044 STORE SS # SS = (R1 + R2 + C)/2
032502,001179: 27,2772 41225 DSU DMP
032503,001180: 27,2773 00037 30D
032504,001181: 27,2774 03721 MU/A
032505,001182: 27,2775 77621 BDSU
032506,001183: 27,2776 03717 MUASTEER
032507,001184: # In the original program listing, the following line has a hand-written
032508,001185: # comment which appears to be something like
032509,001186: # (S - C) u
032510,001187: # ( u - --------- )
032511,001188: # 2 a
032512,001189: # where `u' represents a lower-case Greek MU. Other similar handwritten
032513,001190: # comments are included below without further apology.---RSB 2003.
032514,001191: 27,2777 45325 PDDL DSU
032515,001192: 27,3000 03733 SS
032516,001193: 27,3001 03715 RMAG # (S-R) is written in by hand.
032517,001194: 27,3002 70501 NORM SR1
032518,001195: 27,3003 00047 X1 # (S - R) u (S - C)
032519,001196: 27,3004 41271 DDV DMP # 2 ------- ( u - --------- )
032520,001197: 27,3005 03725 R1C # R C 2 a
032521,001198: 27,3006 53664 XSU,2 SL*
032522,001199: 27,3007 00046 X1
032523,001200: 27,3010 57575 1,2
032524,001201: 27,3011 77754 LXA,2 # 2 (S - R) u (S - C)
032525,001202: 27,3012 03766 MUSCALE # SQRT ( --------- (u - --------- ) )
032526,001203: 27,3013 75366 SQRT SIGN # R C 2 a
032527,001204: 27,3014 02673 GEOMSGN # (GEOMSGN = SGNA)
032528,001205: 27,3015 00041 STORE 32D # + OR - A
032529,001206: # 2 (S - R) u (S - C)
032530,001207: # A = SGNA (SQRT ( --------- (u - ---------) ) )
032531,001208: # R C 2 a
032532,001209: 27,3016 41345 DLOAD DMP
032533,001210: 27,3017 03733 SS
032534,001211: 27,3020 03721 MU/A # u S
032535,001212: 27,3021 77621 BDSU # u - ___
032536,001213: 27,3022 03717 MUASTEER # 2 a
032537,001214: 27,3023 45325 PDDL DSU
032538,001215: 27,3024 03733 SS
032539,001216: 27,3025 03723 RTMAG
032540,001217: 27,3026 70501 NORM SR1
032541,001218: 27,3027 00047 X1 # 2 (S - R T) u S
032542,001219: 27,3030 41271 DDV DMP # ----------- ( u - --- )
032543,001220: # R C 2 a
032544,001221: # Page 778
032545,001222: 27,3031 03725 R1C
032546,001223: 27,3032 53664 XSU,2 SL*
032547,001224: 27,3033 00046 X1
032548,001225: 27,3034 57575 1,2
032549,001226: 27,3035 65366 SQRT PDDL # -B (NO SIGN)
032550,001227: 27,3036 03733 SS
032551,001228: 27,3037 56225 DSU DDV
032552,001229: 27,3040 00037 30D
032553,001230: 27,3041 03733 SS
032554,001231: 27,3042 41566 SQRT PUSH
032555,001232: 27,3043 67542 SR1 ASIN # ASIN ( SQRT (S-C)/S ) )
032556,001233: 27,3044 65205 DMP PDDL
032557,001234: 27,3045 17216 2PI+3
032558,001235: 27,3046 56325 PDDL DDV
032559,001236: 27,3047 00037 30D
032560,001237: 27,3050 03733 SS
032561,001238: 27,3051 77600 BOV # SQRT (C/S) SQRT ( (S-C)/S )
032562,001239: 27,3052 57053 +1
032563,001240: 27,3053 41366 SQRT DMP # SQRT(C/S) SQRT((S-C)/S) = (1/S) SQRT(C(S-C))
032564,001241: 27,3054 44242 SR3 BDSU
032565,001242: 27,3055 65365 SIGN PDDL
032566,001243: 27,3056 02673 GEOMSGN # SGNA( ARCSIN( SQRT((S-C)/S) ) - (1/S) SQRT(C(S-C)) )
032567,001244: 27,3057 17216 2PI+3
032568,001245: 27,3060 45302 SR2 DSU # (C/S) (PI/2 - SGNA( ) )
032569,001246: 27,3061 65205 DMP PDDL
032570,001247: 27,3062 03733 SS
032571,001248: 27,3063 03733 SS # 3
032572,001249: 27,3064 75442 SR3 SQRT # S SQRT(S) = SQRT(S )
032573,001250: 27,3065 77605 DMP
032574,001251: 27,3066 52525 PDDL SL3 # 3
032575,001252: 27,3067 03717 MUASTEER # S
032576,001253: 27,3070 55366 SQRT BDDV # SQRT(---)
032577,001254: 27,3071 43225 DSU DAD # 2 u
032578,001255: 27,3072 03631 TPASS4 # TMIN ENERGY
032579,001256: 27,3073 01234 PIPTIME
032580,001257: 27,3074 14037 STODL 30D # (t - t )
032581,001258: 27,3075 77765 SIGN # M 2
032582,001259: 27,3076 00037 30D # B WITH SIGN
032583,001260: 27,3077 00037 STORE 30D
032584,001261: 27,3100 77214 BON VLOAD
032585,001262: 27,3101 03705 NORMSW
032586,001263: 27,3102 57123 180MESS
032587,001264: 27,3103 03656 IC
032588,001265: 27,3104 53451 VSU UNIT
032589,001266: 27,3105 03537 UNIT/R/
032590,001267: 27,3106 63361 VXSC PDVL # UNCM
032591,001268: 27,3107 00037 30D # B UNCM
032592,001269: 27,3110 03656 IC
032593,001270: 27,3111 53455 VAD UNIT
032594,001271: 27,3112 03537 UNIT/R/ # VNC
032595,001272: # Page 779
032596,001273: 27,3113 53361 GETVRVG1 VXSC VAD
032597,001274: 27,3114 00041 32D # A UNCP
032598,001275: 27,3115 53744 GETVRVG2 LXC,2 VSR*
032599,001276: 27,3116 02777 RTX2
032600,001277: 27,3117 57177 0 -1,2
032601,001278: 27,3120 02337 STORE VIPRIME
032602,001279: 27,3121 77650 GOTO
032603,001280: 27,3122 57166 ASTREND -2
032604,001281: 27,3123 50375 180MESS VLOAD DOT
032605,001282: 27,3124 03656 IC
032606,001283: 27,3125 03537 UNIT/R/
032607,001284: 27,3126 77240 BMN VLOAD
032608,001285: 27,3127 57146 NEGPROD
032609,001286: 27,3130 03656 IC
032610,001287: 27,3131 63362 VSR1 PDVL
032611,001288: 27,3132 03537 UNIT/R/
032612,001289: 27,3133 53362 VSR1 VAD
032613,001290: 27,3134 77656 UNIT
032614,001291: 27,3135 57406 PUSH VCOMP # FOR A
032615,001292: 27,3136 75235 VXV SIGN
032616,001293: 27,3137 02674 UN
032617,001294: 27,3140 02673 GEOMSGN
032618,001295: 27,3141 74256 UNIT VXSC
032619,001296: 27,3142 00037 30D
032620,001297: 27,3143 77715 PDVL # UNIT(IC-IR) +-B
032621,001298: 27,3144 77650 GOTO
032622,001299: 27,3145 57113 GETVRVG1
032623,001300: 27,3146 74575 NEGPROD VLOAD VSR1
032624,001301: 27,3147 03537 UNIT/R/
032625,001302: 27,3150 74515 PDVL VSR1
032626,001303: 27,3151 03656 IC
032627,001304: 27,3152 53451 VSU UNIT
032628,001305: 27,3153 77606 PUSH
032629,001306: 27,3154 75235 VXV SIGN
032630,001307: 27,3155 02674 UN # FOR B
032631,001308: 27,3156 02673 GEOMSGN
032632,001309: 27,3157 74256 UNIT VXSC
032633,001310: 27,3160 00041 32D
032634,001311: 27,3161 77715 PDVL
032635,001312: 27,3162 53361 VXSC VAD
032636,001313: 27,3163 00037 30D
032637,001314: 27,3164 77650 GOTO
032638,001315: 27,3165 57115 GETVRVG2
032639,001316: 27,3166 77651 VSU
032640,001317: 27,3167 03553 VN1
032641,001318: 27,3170 02366 ASTREND STORE DELVEET3
032642,001319: 27,3171 53135 FIRSTTME SLOAD BZE
032643,001320: 27,3172 03000 RTX2
032644,001321: 27,3173 57177 GETGOBL
032645,001322: 27,3174 52175 VLOAD GOTO # NO OBLATENESS COMP IF IN MOON SPHERE
032646,001323: # Page 780
032647,001324: 27,3175 02366 DELVEET3
032648,001325: 27,3176 57212 NOGOBL
032649,001326: # In the original program listing, VLOAD UNIT RN below is circled, and connected to the
032650,001327: # comment after 34D ("34D = /RN/ etc.") with an arrow.---RSB 2003.
032651,001328: 27,3177 53575 GETGOBL VLOAD UNIT # CALCULATE OBLATENESS TERM.
032652,001329: 27,3200 01220 RN
032653,001330: 27,3201 45345 DLOAD DSU
032654,001331: 27,3202 01234 PIPTIME # 2
032655,001332: 27,3203 03512 GOBLTIME # G = -(MU/R )(UNITGOBL)(T-TIG)
032656,001333: 27,3204 56205 DMP DDV # OBL
032657,001334: 27,3205 16023 EARTHMU
032658,001335: 27,3206 00043 34D # 34D = /RN/ (2) FROM UNIT OPERATION.
032659,001336: 27,3207 53361 VXSC VAD
032660,001337: 27,3210 03521 UNITGOBL
032661,001338: 27,3211 02366 DELVEET3 # OUTPUT FROM INITVEL VG = VR - VN
032662,001339: 27,3212 02366 NOGOBL STORE DELVEET3 # VG = VR + GOBL - VN
032663,001340: 27,3213 77650 GOTO
032664,001341: 27,3214 56455 VGAIN*
032665,001342:
032666,001343: 27,3215 31103 36652 2PI+3 2DEC 3.141592653 B-2
032667,001344:
032668,001345: # Page 781
032669,001346: # TRIMGIMB (FORMERLY S40.6)
032670,001347: # MOD 0 24 FEB 67 PETER ADLER
032671,001348:
032672,001349: # FUNCTION:
032673,001350: # TRIMS DPS ENGINE TO MINIMIZE THRUST/CG OFFSET. ENGINE IS GIMBALLED TO FULL + PITCH AND + ROLL (TO LOCK)
032674,001351: # FOR REFERENCE AND IS THEN BROUGHT BACK TO TRIM POSITION BY RUNNING FOR THE PROPER TIMES (TO BE
032675,001352: # SPECIFIED BY GAEC) IN - PITCH AND - ROLL.
032676,001353:
032677,001354: # CALLING SEQUENCE:
032678,001355: # VIA WAITLIST FROM R03
032679,001356:
032680,001357: # INPUT:
032681,001358: # PITTIME TIME TO RUN FROM FULL + PITCH TO TRIM (CS)
032682,001359: # ROLLTIME TIME TO RUN FROM FULL + ROLL TO TRIM (CS)
032683,001360:
032684,001361: # SUBROUTINES USED:
032685,001362: # WAITLIST, FIXDELAY, VARDELAY, FLAGUP, FLAGDOWN, NOVAC
032686,001363:
032687,001364: 27,3217 COUNT* $$/S40.6
032688,001365: 27,3217 E6,1401 EBANK= ROLLTIME # OCTAL MASKS: PRIO5=05000 EBANK5=02400
032689,001366:
032690,001367: 27,3217 05516 TRIMGIMB TC DOWNFLAG # GMBDRVSW FLAG IS SET WHEN EITHER ROLL OR
032691,001368: 27,3220 00137 ADRES GMBDRVSW # PITCH IS COMPLETED, WHICHEVER IS FIRST.
032692,001369:
032693,001370: 27,3221 45017 CS PRIO5 # TURN OFF - PITCH, - ROLL, IF ON.
032694,001371: 27,3222 00006 EXTEND
032695,001372: 27,3223 03012 WAND CHAN12
032696,001373: 27,3224 35014 CAF EBANK5 # TURN ON + PITCH, + ROLL.
032697,001374: 27,3225 00006 EXTEND
032698,001375: 27,3226 05012 WOR CHAN12
032699,001376: 27,3227 05221 TC FIXDELAY # WAIT ONE MINUT TO MAKE SURE ENGINE IS
032700,001377: 27,3230 13560 DEC 6000 B-14 # AT FULL + PITCH AND FULL + ROLL
032701,001378: 27,3231 45014 CS EBANK5 # TURN OFF + PITCH, + ROLL.
032702,001379: 27,3232 00006 EXTEND
032703,001380: 27,3233 03012 WAND CHAN12
032704,001381: 27,3234 35017 CAF PRIO5 # TURN ON - PITCH, - ROLL.
032705,001382: 27,3235 00006 EXTEND
032706,001383: 27,3236 05012 WOR CHAN12
032707,001384: 27,3237 31402 CAE PITTIME # GET TIME TO SHUT OFF - PITCH AND SET UP
032708,001385: 27,3240 05173 TC TWIDDLE # TWIDDLE-TASK TO TURN IT OFF THEN
032709,001386: 27,3241 03260 ADRES PITCHOFF
032710,001387:
032711,001388: 27,3242 31401 CAE ROLLTIME # GET TIME TO SHUT OFF - ROLL AND GO AWAY
032712,001389: 27,3243 05224 TC VARDELAY # UNTIL THEN
032713,001390: 27,3244 44740 CS BIT12
032714,001391: 27,3245 00006 EXTEND
032715,001392: 27,3246 03012 WAND CHAN12 # SHUT OFF ROLL
032716,001393: 27,3247 30102 ROLLOVER CA FLAGWRD6 # IF HERE INLINE (ROLL DONE) IS PITCH DONE
032717,001394: 27,3250 74742 MASK GMBDRBIT # IF HERE FROM PITCHOFF, IS ROLL DONE?
032718,001395: 27,3251 00006 EXTEND
032719,001396: 27,3252 13264 BZF PITCHOFF +4 # NO. SET FLAG, ROLL OR PITCH DONE.
032720,001397: 27,3253 34737 CAF PRIO10 # RETURN TO R03.
032721,001398: 27,3254 05072 TC NOVAC
032722,001399: 27,3255 E7,1471 EBANK= WHOCARES
032723,001400: # Page 782
032724,001401: 27,3255 02325 02067 2CADR TRIMDONE
032725,001402:
032726,001403: 27,3257 05261 TC TASKOVER
032727,001404: 27,3260 44742 PITCHOFF CS BIT10
032728,001405: 27,3261 00006 EXTEND
032729,001406: 27,3262 03012 WAND CHAN12 # SHUT OFF PITCH
032730,001407: 27,3263 13247 TCF ROLLOVER # SEE IF ROLL HAS FINISHED ALSO.
032731,001408: 27,3264 05504 TC UPFLAG # ROLL DONE; OR PITCH DONE; BUT NOT BOTH.
032732,001409: 27,3265 00137 ADRES GMBDRVSW
032733,001410: 27,3266 05261 TC TASKOVER
032734,001411:
032735,001412: # Page 783
032736,001413: # SUBROUTINE NAME: S41.1 MOD. NO. 0 DATE: FEBRUARY 28, 1967
032737,001414: # MOD. NO. 1 DATE: JANUARY 23, 1968, BY PETER ADLER (MIT/IL)
032738,001415:
032739,001416: # AUTHOR: JONATHON D. ADDLESTON (ADAMS ASSOCIATES)
032740,001417:
032741,001418: # S41.1 PERFORMS THE COORDINATE SYSTEM TRANSFORMATION FROM THE REFERENCE FRAME TO THE BODY OF THE LM.
032742,001419: # SPECIFICALLY, IT IS USED TO TRANSFORM A VELOCITY (SCALED AT 2(+7) METERS/CENTISECOND) FROM REFERENCE TO LM AXIS
032743,001420: # COORDINATES. FIRST THE VECTOR IS TRANSFORMED TO THE STABLE MEMBER COORDINATES BY THE MATRIX REFSMMAT. THIS
032744,001421: # LEAVES THE VECTOR IN MPAC, SCALED AT 2(+8) METERS/CENTISECOND. THEN
032745,001422: # THE SUBROUTINE CDUTRIG IS CALLED TO SET UP THE DOUBLE-PRECISION CDU VECTOR ALONG WITH ITS SINES AND COSINES.
032746,001423: # THE VECTOR IS THEN TRANSFORMED FROM STABLE MEMBER COORDINATES TO SPACECRAFT (OR LM) COORDINATES BY THE
032747,001424: # SUBROUTINE *SMNB*. FINALLY, THE VECTOR IS RESCALED TO 2(+7) METERS/CENTISECOND, AND CONTROL IS RETURNED BO THE
032748,001425: # CALLER WITH C(MPAC) = VELOCITY(LM).
032749,001426:
032750,001427: # CALLING SEQUENCE:
032751,001428: # L VLOAD CALL
032752,001429: # L +1 VELOCITY(REF) # SCALED AT 2(+7) M/CS IN REFERENCE COORDS.
032753,001430: # L +2 S41.1
032754,001431: # L +3 STORE VELOCITY(LM) # SCALED AT 2(+7) M/CS IN LM BODY AXIS SYS.
032755,001432:
032756,001433: # SUBROUTINES CALLED:
032757,001434: # 1. CDUTRIG,
032758,001435: # WHICH CALLS CDULOGIC.
032759,001436: # 2. *SMNB*
032760,001437:
032761,001438: # NORMAL RETURN: L +3 (SEE CALLING SEQUENCE, ABOVE.)
032762,001439:
032763,001440: # ALARM/ABORT MODES: NONE.
032764,001441:
032765,001442: # RESTART PROTECTION: NONE.
032766,001443:
032767,001444: # Page 784
032768,001445: # INPUT:
032769,001446: # 1. REFSMMAT.
032770,001447: # 2. CDUX, CDUY, CDUZ.
032771,001448: # 3. VELOCITY (REF) IN MPAC.
032772,001449:
032773,001450: # OUTPUT:
032774,001451: # 1. CSUSPCT: DOUBLE PRECISION CDU VECTOR, ORDERED Y,Z,X.
032775,001452: # 2. SINCDU: HALF SINES OF CDUSPCT COMPONENTS
032776,001453: # 3. COSCDU: HALF COSINES OF CDUSPOT COMPONENTS.
032777,001454: # 4. MPAC: VELOCITY(LM) (SCALED AT 2(+7) METERS/CENTISECOND)
032778,001455:
032779,001456: # DEBRIS: NONE.
032780,001457:
032781,001458: # CHECKOUT STATUS: CODED
032782,001459:
032783,001460: 27,3267 COUNT* $$/S41.1
032784,001461: 27,3267 76521 S41.1 MXV VSL1 # CONVERT VECTOR IN MPAC FROM REF AT 2(+7)
032785,001462: 27,3270 01734 REFSMMAT # TO SM AND RESCALE DUE TO HALF-UNIT MATRIX
032786,001463: 27,3271 77650 GOTO # CONVERT TO BODY AT 2(+7) USING PRESENT
032787,001464: 27,3272 47650 CDU*SMNB # CDU ANGLES. CDU*SMNB WILL RETURN
032788,001465: # VIA RVQ TO THE CALLER OF S41.1.
End of include-file P40-P47.agc. Parent file is MAIN.agc