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