Source Code
![]() |
These source-code files were transcribed from scans made from Don Eyles's personal
copy of Luminary 069. They were scanned at archive.org's Boston
facility, and the scanning was sponsored by Onno Hommes. The code was transcribed
from these scans by a team of volunteers who are referenced in the program
comments. Comments from the original source code are prefixed with a single '#' symbol,
whereas comments added later are prefixed by "##" or "###". In some cases, where
similar code blocks exist in previously-transcribed AGC programs (primarily
Luminary 99, from Apollo 11) those code blocks were used as a starting point and
then corrected to agree with the Luminary 69 scans. The full scans are available
at the Virtual AGC
project's collection at archive.org, while more-convenient reduced-size (but reduced-quality)
images are available at
the main Virtual AGC website. Report any errors noted by creating an
issue report at the Virtual AGC
project's GitHub repository. Notations on the program listing read, in part:GAP: ASSEMBLE REVISION 069 OF AGC PROGRAM LUMINARY BY NASA 2021112-011 19:02 NOV. 25,1968Note that the date is the date of the printout, not the date of the program revision. |
033305,000002: ## Copyright: Public domain.
033306,000003: ## Filename: P40-P47.agc
033307,000004: ## Purpose: The main source file for Luminary revision 069.
033308,000005: ## It is part of the source code for the original release
033309,000006: ## of the flight software for the Lunar Module's (LM) Apollo
033310,000007: ## Guidance Computer (AGC) for Apollo 10. The actual flown
033311,000008: ## version was Luminary 69 revision 2, which included a
033312,000009: ## newer lunar gravity model and only affected module 2.
033313,000010: ## This file is intended to be a faithful transcription, except
033314,000011: ## that the code format has been changed to conform to the
033315,000012: ## requirements of the yaYUL assembler rather than the
033316,000013: ## original YUL assembler.
033317,000014: ## Reference: pp. 759-788
033318,000015: ## Assembler: yaYUL
033319,000016: ## Contact: Ron Burkey <info@sandroid.org>.
033320,000017: ## Website: www.ibiblio.org/apollo/index.html
033321,000018: ## Mod history: 2016-12-13 MAS Created from Luminary 99.
033322,000019: ## 2016-12-15 MAS Updated from comment-proofed Luminary 99 version.
033323,000020: ## 2017-01-21 HG Transcribed
033324,000021: ## 2017-01-23 HG Fix operand FIRSTIME -> FIRSTTME
033325,000022: ## 2017-01-28 RSB Proofed comment text using octopus/prooferComments
033326,000023: ## and fixed errors found.
033327,000024: ## 2017-03-16 RSB Comment-text fixes identified in 5-way
033328,000025: ## side-by-side diff of Luminary 69/99/116/131/210.
033329,000026: ## 2017-08-16 RSB Fixed comment typo identified in AP11ROPE.
033330,000027: ## 2017-08-26 MAS Fixed an incorrect label found while transcribing
033331,000028: ## Zerlina 56 (it was unreferenced so caused no errors).
033332,000029:
![]() |
Page 759 |
033334,000031: # PROGRAM DESCRIPTION P40BOTH DECEMBER 22, 1966
033335,000032: # MOD 03 BY PETER ADLER MARCH 3, 1967
033336,000033: # CALLED VIA JOB FROM V37E
033337,000034:
033338,000035: # FUNCTIONAL DESCRIPTION
033339,000036:
033340,000037: # 1) TO COMPUTE A PREFERRED IMU ORIENTATION AND A PREFERRED VEHICLE ATTITUDE FOR A LM DPS
033341,000038: # THRUSTING MANEUVER.
033342,000039:
![]() |
(There is no item #2 in the original program listing.) |
033344,000041:
033345,000042: # 3) TO DO THE VEHICLE MANEUVER TO THE THRUSTING ATTITUDE.
033346,000043:
033347,000044: # 4) TO CONTROL THE PGNCS DURING COUNTDOWN, IGNITION, THRUSTING, AND THRUST TERMINATION OF A
033348,000045: # PGNCS CONTROLLED DPS MANEUVER.
033349,000046:
033350,000047: # 5) IN POSTBURN--ZERO RENDEZVOUS COUNTER, MAINTAIN VG CALCULATIONS FOR POSSIBLE RCS MANEUVER,
033351,000048: # SET MAXIMUM DEADBAND IN DAP, RESET STEERLAW CSTEER TO ZERO.
033352,000049:
033353,000050: # NOTE: P42, WHICH IS IN THIS LOG SECTION, DOES THE SAME FOR AN APS BURN, AND P41 DOES 1-3 FOR
033354,000051: # RCS PLUS DISPLAYS PARAMETERS FOR MANUAL CONTROL.
033355,000052:
033356,000053: # SUBROUTINES USED
033357,000054:
033358,000055: # R02 IMU STATUS CHECK
033359,000056: # S40.1 COMPUTATION OF THRUST DIRECTION
033360,000057: # S40.13 LENGTH OF BURN
033361,000058: # S40.2,3 PREFERRED IMU ORIENATTION
033362,000059: # S40.8 X PRODUCT STEERING
033363,000060: # S40.9 LAMBERT VTOGAIN
033364,000061: # R60LEM ATTITUDE MANEUVER
033365,000062: # LEMPREC EXTRAPOLATE STATE VECTOR
033366,000063: # PREREAD AVERAGE G, SERVICER
033367,000064: # ALLCOAST DAP COASTING INITIALIZATION
033368,000065: # CLOKTASK ERGO CLOCKJOB--COUNT DOWN
033369,000066: # PHASCHNG, INTPRET, FLAGUP, FLAGDOWN, WAITLIST, LONGCALL, GOFLASH, GOFLASHR, GOPERF1, ALARM,
033370,000067: # PRIOLARM, GOTOPOOH, ENDOFJOB, BANKCALL, SETMAXDB, SETMINDB, CHECKMM, FLATOUT, OUTFLAT,
033371,000068: # KILLTASK, SGNAGREE, TPAGREE, ETC.
033372,000069:
033373,000070: # RESTARTS VIA GROUP 4
033374,000071:
033375,000072: # DISPLAYS
033376,000073:
033377,000074: # V50N25 203 A/P TO PGNCS, AUTO THROTTLE MODE, AUTO ATTITUDE CONTROL
033378,000075: # V06N40 TTI, VG, DELTAVM (DISPLAYED ONCE/SECOND BY CLOKTASK)
033379,000076: # V50N99 PLEASE PERFORM ENGINE ON ENABLE
033380,000077: # V06N40 TG (TIME TO GO TO CUTOFF), VG, DELTAVM--ONCE/SECOND
033381,000078: # V16N40 FINAL VALUES OF TG, VG, DELTAVM
033382,000079: # V16N85 COMP OF VG (BODY AXES) FOR POSS. RCS MANUAL MANEUVER
033383,000080: # V05N09 POSSIBLE ALARMS
033384,000081: # V50N07 PLEASE SELECT P00
033385,000082:
![]() |
Page 760 |
033387,000084: # VIA R30
033388,000085:
033389,000086: # V06N44 HAPO, PERI, TFF
033390,000087: # V06N35 TIME TO PERIGEE, HMS
033391,000088:
033392,000089: # ALARM OR ABORT EXIT MODES
033393,000090:
033394,000091: # PROGRAM ALARM, FLASHING DISPLAY OF ALARM CODE 1706 IF P40 SELECTED WITH DESCENT UNIT STAGED.
033395,000092: # V34E (TERMINATE) IS THE ONLY RESPONSE ACCEPTED. TC GOTOPOOH.
033396,000093:
033397,000094: # PROGRAM ALARM, FLASH CODE 1703: TIG LESS THAN 45 SECS AWAY. V34E= GOTOPOOH OR V33E= SLIP
033398,000095: # TIG BY 45 SECS.
033399,000096:
033400,000097: # ERASABLE INITIALIZATION
033401,000098: # DEBRIS
033402,000099: # OUTPUT
033403,000100:
033404,000101: # SEE SUBROUTINES E.G.: S40.1, S40.2,3, S40.13, S40.8, S40.9, TRIMGIMB
033405,000102: # XDELVFLG = 1 FOR EXT DELV COMPUTATION
033406,000103: # = 0 FOR AIMPT (LAMBERT) COMP
033407,000104:
033408,000105: 27,2271 COUNT* $$/P40
033409,000106: 27,2271 E7,1453 EBANK= WHICH
033410,000107:
033411,000108: 36,3147 BANK 36
033412,000109: 36,2000 SETLOC P40S
033413,000110: 36,2000 BANK
033414,000111:
033415,000112: 36,3147 05353 P40LM TC PHASCHNG
033416,000113: 36,3150 04024 OCT 04024
033417,000114:
033418,000115: 36,3151 33131 CAF P40ADRES # INITIALIZATION FOR BURNBABY.
033419,000116: 36,3152 55453 TS WHICH
033420,000117:
033421,000118: 36,3153 30106 CA FLGWRD10
033422,000119: 36,3154 74737 MASK APSFLBIT
033423,000120: 36,3155 10000 CCS A
033424,000121: 36,3156 13722 TCF P40ALM
033425,000122: 36,3157 04616 TC BANKCALL # GO DO IMU STATUS CHECK ROUTINE.
033426,000123: 36,3160 11175 CADR R02BOTH
033427,000124:
033428,000125: 36,3161 40111 CS DAPBOOLS # INITIALIZE DVMON
033429,000126: 36,3162 74737 MASK CSMDOCKD
033430,000127: 36,3163 10000 CCS A
033431,000128: 36,3164 32020 CAF THRESH1
033432,000129: 36,3165 62021 AD THRESH3
033433,000130: 36,3166 55251 TS DVTHRUSH
033434,000131: 36,3167 34751 CAF FOUR
033435,000132: 36,3170 55513 TS DVCNTR
033436,000133:
![]() |
Page 761 |
033438,000135: 36,3171 06036 TC INTPRET # LOAD CONSTANTS FOR DPS BURN
033439,000136: 36,3172 43175 VLOAD CLEAR # LOAD F, MDOT, TDECAY
033440,000137: 36,3173 34001 FDPS
033441,000138: 36,3174 02663 NOTHROTL
033442,000139: 36,3175 03734 STORE F
033443,000140: 36,3176 77735 SLOAD
033444,000141: 36,3177 26002 DPSVEX
033445,000142: 36,3200 70476 P40IN DCOMP SR1
033446,000143: 36,3201 37742 STCALL VEX # LOAD EXHAUST VELOCITY FOR TGO COMP.
033447,000144: 36,3202 56271 S40.1 # COMPUTES UT AND VGTIG
033448,000145: 36,3203 77624 CALL
033449,000146: 36,3204 56436 S40.2,3 # COMPUTES PREFERRED IMU ORIENTATION
033450,000147: 36,3205 77776 EXIT
033451,000148:
033452,000149: 36,3206 00004 INHINT
033453,000150: 36,3207 04674 TC IBNKCALL
033454,000151: 36,3210 40142 CADR PFLITEDB # ZERO ATTITUDE ERRORS, SET DB TO ONE DEG.
033455,000152:
033456,000153: 36,3211 03213 TC P40SXT4
033457,000154:
033458,000155:
033459,000156: # ***********************
033460,000157: 36,3212 12124 TCF BURNBABY
033461,000158: # ***********************
033462,000159:
033463,000160:
033464,000161: 36,3213 00006 P40SXT4 EXTEND
033465,000162: 36,3214 23142 QXCH P40/RET
033466,000163: 36,3215 00003 P41MANU RELINT
033467,000164:
033468,000165: 36,3216 05516 TC DOWNFLAG # CLEAR 3AXISFLG -- R60 WILL USE VECPOINT.
033469,000166: 36,3217 00124 ADRES 3AXISFLG
033470,000167:
033471,000168: 36,3220 04616 TC BANKCALL
033472,000169: 36,3221 54101 CADR R60LEM # DO ATTITUDE MANEUVER ROUTINE
033473,000170: 36,3222 01142 TC P40/RET
033474,000171:
033475,000172:
033476,000173: 36,3223 E7,1460 EBANK= TRKMKCNT
033477,000174: 36,3223 30005 POSTBURN CA Z
033478,000175: 36,3224 55163 TS DISPDEX
033479,000176: 36,3225 00006 EXTEND
033480,000177: 36,3226 32055 DCA ACADN85
033481,000178: 36,3227 53253 DXCH AVEGEXIT
033482,000179: 36,3230 33743 CAF V16N40
033483,000180: 36,3231 04616 TC BANKCALL
033484,000181: 36,3232 20510 CADR GOFLASHR
033485,000182: 36,3233 03256 TC TERM40
033486,000183: 36,3234 13241 TCF TIGNOW
033487,000184: 36,3235 03223 TC POSTBURN
033488,000185:
![]() |
Page 762 |
033490,000187: 36,3236 05353 P40PHS1 TC PHASCHNG
033491,000188: 36,3237 00014 OCT 00014
033492,000189: 36,3240 15155 TCF ENDOFJOB
033493,000190:
033494,000191: 36,3241 00004 TIGNOW INHINT
033495,000192: 36,3242 04674 TC IBNKCALL
033496,000193: 36,3243 40153 CADR ZATTEROR
033497,000194: 36,3244 04674 TC IBNKCALL
033498,000195: 36,3245 40140 CADR SETMINDB
033499,000196: 36,3246 00003 RELINT
033500,000197: 36,3247 33744 CAF V16N85B
033501,000198: 36,3250 04616 TC BANKCALL
033502,000199: 36,3251 20340 CADR REFLASHR
033503,000200: 36,3252 03256 TC TERM40
033504,000201: 36,3253 13256 TCF TERM40
033505,000202: 36,3254 03247 TC -5
033506,000203:
033507,000204: 36,3255 13236 TCF P40PHS1
033508,000205:
033509,000206: 36,3256 00006 TERM40 EXTEND
033510,000207: 36,3257 32104 DCA SERVCADR
033511,000208: 36,3260 53253 DXCH AVEGEXIT
033512,000209: 36,3261 34755 CAF ZERO
033513,000210: 36,3262 55460 TS TRKMKCNT # ZERO RENDZVS CNTERS
033514,000211: 36,3263 30005 CA Z
033515,000212: 36,3264 55163 TS DISPDEX
033516,000213: 36,3265 00004 INHINT
033517,000214: 36,3266 04674 TC IBNKCALL
033518,000215: 36,3267 40123 CADR RESTORDB
033519,000216: 36,3270 00003 RELINT
033520,000217: 36,3271 06001 TC GOTOPOOH
033521,000218:
033522,000219: 36,3272 E7,1453 EBANK= WHICH
033523,000220: 36,3272 COUNT* $$/P41
033524,000221: 36,3272 33132 P41LM CAF P41ADRES # INITIALIZATION FOR BURNBABY
033525,000222: 36,3273 55453 TS WHICH
033526,000223:
033527,000224: 36,3274 04616 TC BANKCALL
033528,000225: 36,3275 11175 CADR R02BOTH
033529,000226:
033530,000227: 36,3276 06036 TC INTPRET # BOTH LM
033531,000228: 36,3277 71214 BON DLOAD # IF NJETSFLAG IS SET, LOAD 2 JET F
033532,000229: 36,3300 00700 NJETSFLG
033533,000230: 36,3301 75305 P41FJET1
033534,000231: 36,3302 34015 FRCS4 # IF NJETSFLAG IS CLEAR, LOAD 4 JET F
033535,000232:
033536,000233: 36,3303 37734 P41FJET STCALL F
033537,000234: 36,3304 75310 P41IN
033538,000235: 36,3305 77745 P41FJET1 DLOAD
033539,000236:
![]() |
Page 763 |
033541,000238: 36,3306 34017 FRCS2
033542,000239: 36,3307 03734 STORE F
033543,000240:
033544,000241: 36,3310 77624 P41IN CALL
033545,000242: 36,3311 56271 S40.1 # BOTH
033546,000243: 36,3312 77624 P41NORM CALL
033547,000244: 36,3313 56436 S40.2,3 # CALCULATE PREFERRED IMU ORIENTATION AND
033548,000245: 36,3314 77776 EXIT # SET PFRATFLG.
033549,000246:
033550,000247: 36,3315 00004 INHINT
033551,000248: 36,3316 04674 TC IBNKCALL
033552,000249: 36,3317 40153 CADR ZATTEROR # ZERO ATTITUDE ERRORS
033553,000250: 36,3320 04674 TC IBNKCALL
033554,000251: 36,3321 40140 CADR SETMINDB # SET 0.3 DEGREE DEADBAND
033555,000252: 36,3322 03213 TC P40SXT4
033556,000253:
033557,000254: 36,3323 06036 TC INTPRET
033558,000255: 36,3324 45175 VLOAD CALL # TRANSFORM VELOCITY-TO-BE-GAINED AT TIG
033559,000256: 36,3325 03705 VGTIG # FROM REFERENCE COORDINATES TO LM BODY-
033560,000257: 36,3326 57156 S41.1 # AXIS COORDINATES FOR V16N85 DISPLAY.
033561,000258: 36,3327 03500 STORE VGBODY # (SCALED AT 2 (+7) METERS/CENTISECOND)
033562,000259: 36,3330 77776 EXIT
033563,000260:
033564,000261: 36,3331 33744 CAF V16N85B
033565,000262: 36,3332 04616 TC BANKCALL
033566,000263: 36,3333 20324 CADR GODSPRET
033567,000264:
033568,000265:
033569,000266: 36,3334 35017 CAF PRIO5
033570,000267: 36,3335 55163 TS DISPDEX # FOR SAFETY ONLY
033571,000268: 36,3336 05105 TC FINDVAC
033572,000269: 36,3337 E7,1704 EBANK= VGPREV
033573,000270: 36,3337 03361 74067 2CADR DYNMDISP
033574,000271:
033575,000272: 36,3341 05327 TC 2PHSCHNG
033576,000273: 36,3342 00076 OCT 00076 # GROUP 6 RESTARTS AT REDO6.7
033577,000274: 36,3343 04024 OCT 04024 # GROUP 4 RESTARTS HERE
033578,000275:
033579,000276: # ***********************
033580,000277: 36,3344 12133 TCF B*RNB*B*
033581,000278: # ***********************
033582,000279:
033583,000280:
033584,000281: 36,3345 34777 BLNKWAIT CAF 1SEC
033585,000282: 36,3346 04616 TC BANKCALL
033586,000283: 36,3347 01735 CADR DELAYJOB
033587,000284:
033588,000285: 36,3350 31163 REDO6.7 CA DISPDEX # ON A RESTART, DO NOT PUT UP DISPLAY IF
033589,000286: 36,3351 64752 AD TWO # BLANKING (BETWEEN TIG-35 AND TIG-30)
033590,000287:
033591,000288: # ***********************
033592,000289:
![]() |
Page 764 |
033594,000291:
033595,000292: 36,3352 00006 EXTEND
033596,000293: 36,3353 13345 BZF BLNKWAIT
033597,000294:
033598,000295: 36,3354 33744 CAF V16N85B
033599,000296: 36,3355 04616 TC BANKCALL
033600,000297: 36,3356 20324 CADR GODSPRET
033601,000298:
033602,000299: 36,3357 35017 CAF PRIO5
033603,000300: 36,3360 05146 TC PRIOCHNG
033604,000301:
033605,000302: 36,3361 31163 DYNMDISP CA DISPDEX # A NON-POSITIVE DISPDEX INDICATES PAST
033606,000303: 36,3362 00006 EXTEND # TIG-35, SO SERVICER WILL BE DOING THE
033607,000304: 36,3363 65155 BZMF ENDOFJOB # UPDATING OF NOUN 85. STOP DYNMDISP.
033608,000305: 36,3364 06036 TC INTPRET
033609,000306: 36,3365 45175 VLOAD CALL
033610,000307: 36,3366 03705 VGPREV
033611,000308: 36,3367 57156 S41.1
033612,000309: 36,3370 03500 STORE VGBODY
033613,000310: 36,3371 77776 EXIT
033614,000311: 36,3372 34777 CAF 1SEC
033615,000312: 36,3373 04616 TC BANKCALL
033616,000313: 36,3374 01735 CADR DELAYJOB
033617,000314: 36,3375 13361 TCF DYNMDISP
033618,000315:
033619,000316: 36,3376 06036 CALCN85 TC INTPRET
033620,000317: 36,3377 77624 CALL
033621,000318: 36,3400 75611 UPDATEVG
033622,000319: 36,3401 45175 VLOAD CALL
033623,000320: 36,3402 03705 VGPREV
033624,000321: 36,3403 57156 S41.1
033625,000322: 36,3404 03500 STORE VGBODY
033626,000323: 36,3405 77776 EXIT
033627,000324: 36,3406 04635 TC POSTJUMP
033628,000325: 36,3407 77525 CADR SERVEXIT
033629,000326:
033630,000327: 36,3410 COUNT* $$/P42
033631,000328: 36,3410 E7,1453 EBANK= WHICH
033632,000329:
033633,000330: 36,3410 05353 P42LM TC PHASCHNG
033634,000331: 36,3411 04024 OCT 04024
033635,000332:
033636,000333: 36,3412 33133 CAF P42ADRES # INITIALIZATION FOR BURNBABY.
033637,000334: 36,3413 55453 TS WHICH
033638,000335:
033639,000336: 36,3414 40106 CS FLGWRD10
033640,000337: 36,3415 74737 MASK APSFLBIT
033641,000338: 36,3416 10000 CCS A
033642,000339: 36,3417 03722 TC P40ALM
033643,000340: 36,3420 04616 TC BANKCALL
033644,000341:
![]() |
Page 765 |
033646,000343: 36,3421 11175 CADR R02BOTH
033647,000344: 36,3422 36000 CAF THRESH2 # INITIALIZE DVMON
033648,000345: 36,3423 55251 TS DVTHRUSH
033649,000346: 36,3424 34751 CAF FOUR
033650,000347: 36,3425 55513 TS DVCNTR
033651,000348:
033652,000349: 36,3426 06036 TC INTPRET
033653,000350: 36,3427 77214 SET VLOAD # LOAD FAPS, MDOTAPS, AND ATDECAY INTO
033654,000351: 36,3430 01072 AVFLAG # F, MDOT, AND TDECAY BY VECTOR LOAD.
033655,000352: 36,3431 34007 FAPS
033656,000353: 36,3432 03734 STORE F
033657,000354: 36,3433 52135 SLOAD GOTO
033658,000355: 36,3434 26001 APSVEX
033659,000356: 36,3435 75200 P40IN
033660,000357:
033661,000358: 36,3436 E7,1453 EBANK= WHICH
033662,000359:
033663,000360: 36,3436 COUNT* $$/P47
033664,000361: 36,3436 04616 P47LM TC BANKCALL
033665,000362: 36,3437 11175 CADR R02BOTH
033666,000363: 36,3440 06036 TC INTPRET
033667,000364: 36,3441 77624 CALRB
033668,000365: 36,3442 27577 MIDTOAV2
033669,000366:
033670,000367: 36,3443 30155 CA MPAC +1
033671,000368: 36,3444 05173 TC TWIDDLE
033672,000369: 36,3445 03447 ADRES STARTP47
033673,000370:
033674,000371: 36,3446 15155 TCF ENDOFJOB
033675,000372:
033676,000373: 36,3447 05353 STARTP47 TC PHASCHNG
033677,000374: 36,3450 05014 OCT 05014
033678,000375: 36,3451 77777 OCT 77777
033679,000376:
033680,000377: 36,3452 00006 EXTEND
033681,000378: 36,3453 33747 DCA ACADN83
033682,000379: 36,3454 53253 DXCH AVEGEXIT
033683,000380: 36,3455 34736 CAF PRIO20
033684,000381: 36,3456 05105 TC FINDVAC
033685,000382: 36,3457 E7,1620 EBANK= DELVIMU
033686,000383: 36,3457 03513 74067 2CADR P47BODY
033687,000384: 36,3461 12333 TCF REDO4.2 # CHECKS PHASE 5 AND GOES TO PREREAD
033688,000385: # SEE TIG-30 IN BURNBABY.
033689,000386:
033690,000387: 36,3462 06036 CALCN83 TC INTPRET
033691,000388: 36,3463 53375 VLOAD VAD
033692,000389: 36,3464 03500 DELVCTL
033693,000390: 36,3465 03525 DELVREF
033694,000391: 36,3466 03654 STORE DELVSIN # TEMP STORAGE FOR RESTARTS
033695,000392:
![]() |
Page 766 |
033697,000394: 36,3467 77624 CALL
033698,000395: 36,3470 57156 S41.1
033699,000396: 36,3471 03621 STORE DELVIMU
033700,000397: 36,3472 77776 EXIT
033701,000398: 36,3473 05353 TC PHASCHNG
033702,000399: 36,3474 10035 OCT 10035 # REREADAC AND HERE
033703,000400:
033704,000401: 36,3475 06036 TC INTPRET
033705,000402: 36,3476 77775 VLOAD
033706,000403: 36,3477 03654 DELVSIN
033707,000404: 36,3500 03500 STORE DELVCTL
033708,000405: 36,3501 77776 EXIT
033709,000406:
033710,000407: 36,3502 04635 TC POSTJUMP
033711,000408: 36,3503 77525 CADR SERVEXIT
033712,000409:
033713,000410: 36,3504 33745 P47BOD CAF V1683
033714,000411: 36,3505 04616 TC BANKCALL
033715,000412: 36,3506 20510 CADR GOFLASHR
033716,000413: 36,3507 06001 TC GOTOPOOH
033717,000414: 36,3510 06001 TC GOTOPOOH
033718,000415:
033719,000416: 36,3511 13513 TCF P47BODY
033720,000417:
033721,000418: 36,3512 13236 TCF P40PHS1
033722,000419:
033723,000420: 36,3513 06036 P47BODY TC INTPRET
033724,000421: 36,3514 77775 VLOAD
033725,000422: 36,3515 06424 HI6ZEROS
033726,000423: 36,3516 03621 STORE DELVIMU
033727,000424: 36,3517 03500 STORE DELVCTL
033728,000425: 36,3520 77776 EXIT
033729,000426: 36,3521 03504 TC P47BOD
033730,000427:
033731,000428: 36,3522 COUNT* $$/P40
033732,000429: 36,3522 31515 IMPLBURN CA TGO +1
033733,000430: 36,3523 03710 TC GETDT
033734,000431: 36,3524 05173 TC TWIDDLE
033735,000432: 36,3525 03542 ADRES ENGOFTSK
033736,000433: 36,3526 05516 TC DOWNFLAG # TURN OFF IGNFLAG
033737,000434: 36,3527 00153 ADRES IGNFLAG
033738,000435: 36,3530 05516 TC DOWNFLAG # TURN OFF ASTNFLG
033739,000436: 36,3531 00154 ADRES ASTNFLAG
033740,000437: 36,3532 05516 TC DOWNFLAG # TURN OFF IMPULSW
033741,000438: 36,3533 00044 ADRES IMPULSW
033742,000439: 36,3534 05353 TC PHASCHNG # RESTART PROTECT ENGOFTSK (ENGINOFF)
033743,000440: 36,3535 40114 OCT 40114
033744,000441:
033745,000442: 36,3536 05221 TC FIXDELAY # WAIT HALF A SECOND
033746,000443: 36,3537 00062 DEC 50 B-14
033747,000444:
![]() |
Page 767 |
033749,000446: 36,3540 02656 TC NOULLAGE # TURN OFF ULLAGE
033750,000447:
033751,000448: 36,3541 05261 TC TASKOVER
033752,000449:
033753,000450: 36,3542 04674 ENGOFTSK TC IBNKCALL # THIS CODING ALLOWS ENGINOFF ET AL TO BE
033754,000451: 36,3543 75545 CADR ENGINOFF # USED BOTH BY WAITLIST AND BY TC IBNKCALL
033755,000452: 36,3544 05261 TC TASKOVER
033756,000453:
033757,000454: 36,3545 34644 ENGINOFF CAF PRIO12 # MUST BE LOWER PRIO THAN CLOCKJOB
033758,000455: 36,3546 05105 TC FINDVAC
033759,000456: 36,3547 E7,1460 EBANK= TRKMKCNT
033760,000457: 36,3547 03223 74067 2CADR POSTBURN
033761,000458:
033762,000459: 36,3551 34753 ENGINOF2 CAF BIT1
033763,000460: 36,3552 05203 TC WAITLIST
033764,000461: 36,3553 E6,1420 EBANK= OMEGAQ
033765,000462: 36,3553 03606 74066 2CADR COASTSET
033766,000463: 36,3555 40103 ENGINOF1 CS FLAGWRD7 # SET THE IDLE BIT.
033767,000464: 36,3556 74745 MASK IDLEFBIT
033768,000465: 36,3557 26103 ADS FLAGWRD7
033769,000466:
033770,000467: 36,3560 02656 TC NOULLAGE
033771,000468:
033772,000469: 36,3561 00006 ENGINOF4 EXTEND
033773,000470: 36,3562 30025 DCA TIME2
033774,000471: 36,3563 53345 DXCH TEVENT
033775,000472:
033776,000473: 36,3564 44745 ENGINOF3 CS ENGONBIT # INSURE ENGONFLG IS CLEAR.
033777,000474: 36,3565 70101 MASK FLAGWRD5
033778,000475: 36,3566 54101 TS FLAGWRD5
033779,000476: 36,3567 44355 CS PRIO30 # ENGINOF3 IS USED AS A PRE-ENGINE ARM
033780,000477: 36,3570 00006 EXTEND # SUBROUTINE.
033781,000478: 36,3571 02011 RAND DSALMOUT
033782,000479: 36,3572 64736 AD PRIO20 # TURN OFF THE ENGINE - DPS OR APS
033783,000480: 36,3573 00006 EXTEND
033784,000481: 36,3574 01011 WRITE DSALMOUT
033785,000482:
033786,000483: 36,3575 40111 CS DAPBOOLS # TURN OFF TRIM GIMBAL
033787,000484: 36,3576 74736 MASK USEQRJTS
033788,000485: 36,3577 26111 ADS DAPBOOLS
033789,000486:
033790,000487: 36,3600 44737 CS HIRTHROT # ZERO AUTO-THROTTLE WHENEVER THE ENGINE
033791,000488: 36,3601 54055 TS THRUST # IS TURNED OFF.
033792,000489: 36,3602 34750 CAF BIT4 # THE HARDWARE DOES SO ONLY WHEN THE
033793,000490: 36,3603 00006 EXTEND # ENGINE IS DISARMED.
033794,000491: 36,3604 05014 WOR CHAN14
033795,000492:
033796,000493: 36,3605 04707 TC ISWRETRN
033797,000494:
![]() |
Page 768 |
033799,000496: 36,3606 04674 COASTSET TC IBNKCALL # DO DAP COASTING INITIALIZATION
033800,000497: 36,3607 40204 CADR ALLCOAST
033801,000498: 36,3610 05261 TC TASKOVER
033802,000499:
033803,000500: 36,3611 E6,1420 EBANK= OMEGAQ
033804,000501: 36,3611 45020 UPDATEVG STQ CALL
033805,000502: 36,3612 03663 QTEMP1
033806,000503: 36,3613 56472 S40.8 # X-PRODUCT STEERING
033807,000504: 36,3614 43014 BON BOFSET
033808,000505: 36,3615 01307 XDELVFLG
033809,000506: 36,3616 03663 QTEMP1
033810,000507: 36,3617 01045 CYCLESW
033811,000508: 36,3620 03663 QTEMP1
033812,000509: 36,3621 77776 EXIT
033813,000510:
033814,000511: 36,3622 10755 CCS PHASE2
033815,000512: 36,3623 13636 TCF ENDSTEER # GROUP 2 ACTIVE --> LAMBERT STILL GOING.
033816,000513:
033817,000514: 36,3624 34737 CAF PRIO10
033818,000515: 36,3625 00004 INHINT
033819,000516: 36,3626 05105 TC FINDVAC
033820,000517: 36,3627 E7,1713 EBANK= VG
033821,000518: 36,3627 02745 56067 2CADR S40.9 # LAMBERT VTOGAIN
033822,000519:
033823,000520: 36,3631 05327 TC 2PHSCHNG
033824,000521: 36,3632 00172 OCT 00172 # 2.17SPOT FOR S40.9
033825,000522: 36,3633 10035 OCT 10035 # HERE AND REREADAC AFTER RESTART
033826,000523:
033827,000524: 36,3634 05516 TC DOWNFLAG
033828,000525: 36,3635 00043 ADRES CYCLESW # VG CALCULATION OMITTED
033829,000526: 36,3636 06036 ENDSTEER TC INTPRET
033830,000527: 36,3637 77650 GOTO
033831,000528: 36,3640 03663 QTEMP1
033832,000529:
033833,000530: 36,3641 06036 STEERING TC INTPRET
033834,000531:
033835,000532: 36,3642 77624 CALL
033836,000533: 36,3643 75611 UPDATEVG
033837,000534: 36,3644 77776 EXIT
033838,000535:
033839,000536: 36,3645 E7,1513 EBANK= DVCNTR
033840,000537: 36,3645 00004 NSTEER INHINT
033841,000538: 36,3646 35016 CA EBANK7
033842,000539: 36,3647 54003 TS EBANK
033843,000540: # PHASE CHANGE IN SERVERICER NEEDED HERE *********************************
033844,000541: 36,3650 40076 CS FLAGWRD2 # CHECK IMPULSE SWITCH. IT IS SET EITHER
033845,000542: 36,3651 74743 MASK IMPULBIT # BY S40.13 IF TBURN<6 SECS OR BY S40.8 IF
033846,000543: 36,3652 10000 CCS A # STEERING IS ALMOST DONE.
033847,000544:
033848,000545: 36,3653 13660 TCF +5 # IMPULSW = 0 EXIT
033849,000546:
![]() |
Page 769 |
033851,000548: 36,3654 40103 CS FLAGWRD7 # IMPULSW = 1 WHY? CHECK IDLEFLAG
033852,000549: 36,3655 74745 MASK IDLEFBIT # (IDLEFLAG = 0 --> DVMON ON)
033853,000550: 36,3656 10000 CCS A
033854,000551: 36,3657 13662 TCF +3 # DVMON ON-->THRUSTING-->IMPULSW VIA S40.8
033855,000552: 36,3660 04635 TC POSTJUMP # DVMON OFF-->IMPULSW ON VIA S40.13-->EXIT
033856,000553: 36,3661 77525 CADR SERVEXIT
033857,000554:
033858,000555: 36,3662 04674 TC IBNKCALL
033859,000556: 36,3663 40165 CADR STOPRATE
033860,000557:
033861,000558: 36,3664 05516 TC DOWNFLAG # TURN OFF IMPULSW
033862,000559: 36,3665 00044 ADRES IMPULSW
033863,000560:
033864,000561: 36,3666 05504 TC UPFLAG
033865,000562: 36,3667 00161 ADRES IDLEFLAG # TURN OFF DVMON
033866,000563:
033867,000564: 36,3670 00004 INHINT
033868,000565: 36,3671 00006 EXTEND
033869,000566: 36,3672 31440 DCA TIG
033870,000567: 36,3673 52155 DXCH MPAC
033871,000568: 36,3674 00006 EXTEND
033872,000569: 36,3675 40025 DCS TIME2
033873,000570: 36,3676 20155 DAS MPAC
033874,000571: 36,3677 07256 TC TPAGREE
033875,000572: 36,3700 30155 CAE MPAC +1
033876,000573: 36,3701 03710 TC GETDT
033877,000574: 36,3702 05173 TC TWIDDLE
033878,000575: 36,3703 03542 ADRES ENGOFTSK
033879,000576: 36,3704 05327 TC 2PHSCHNG
033880,000577: 36,3705 40114 OCT 40114 # ENGOFTSK (ENGINOFF)
033881,000578: 36,3706 00035 OCT 00035 # SERVICER--REREADAC
033882,000579:
033883,000580: 36,3707 15155 TCF ENDOFJOB
033884,000581:
033885,000582: 36,3710 10000 GETDT CCS A
033886,000583: 36,3711 13714 TCF +3
033887,000584: 36,3712 13714 TCF +2
033888,000585: 36,3713 34755 CAF ZERO
033889,000586: 36,3714 64753 AD ONE
033890,000587: 36,3715 56001 XCH L
033891,000588: 36,3716 34755 CAF ZERO
033892,000589: 36,3717 53515 DXCH TGO
033893,000590: 36,3720 31515 CA TGO +1
033894,000591: 36,3721 00002 TC Q
033895,000592: 36,3722 05567 P40ALM TC ALARM # ASTRONAUT DOESN'T AGREE WITH STAGE
033896,000593: 36,3723 01706 OCT 01706 # VERIFY DISCRETE. HE HAS SELECTED P40,
033897,000594: 36,3724 35006 CAF V05N09 # BUT THE DAP THINKS THAT THE DESCENT UNIT
033898,000595: 36,3725 04616 TC BANKCALL # IS GONE--A SITUATION THAT WOULD MAKE A
033899,000596: 36,3726 20351 CADR GOFLASH # DPS BURN EXCEEDINGLY DIFFICULT.
033900,000597:
![]() |
Page 770 |
033902,000599: 36,3727 16001 TCF GOTOPOOH # V34E TERMINATE
033903,000600: 36,3730 13724 TCF -4 # V33E PROCEED (ILLEGAL)
033904,000601: 36,3731 13724 TCF -5 # RECYCLE (ILLEGAL)
033905,000602:
033906,000603: # ************************************************************************
033907,000604:
033908,000605: 36,3732 00000 SEC15DP OCT 00000 # DON'T SEPARATE
033909,000606: 36,3733 02734 SEC15 DEC 1500 B-14 # DON'T SEPARATE
033910,000607: 36,3734 00000 05670 SEC30DP 2DEC 3000 B-28
033911,000608: 36,3736 00000 SEC45DP OCT 00000 # DON'T MOVE FROM JUST BEFORE SEC45
033912,000609: 36,3737 10624 SEC45 DEC 4500 B-14
033913,000610: 36,3740 00000 5SECDP OCT 00000 # DON'T MOVE FROM JUST BEFORE 5SEC
033914,000611: 36,3741 00764 5SEC DEC 500 B-14
033915,000612: 36,3742 05050 26SECS DEC 2600 B-14
033916,000613: 36,3743 04050 V16N40 VN 1640
033917,000614: 36,3744 04125 V16N85B VN 1685
033918,000615: 36,3745 04123 V1683 VN 1683
033919,000616: 36,3746 4777 SEC01 = 1SEC
033920,000617: 36,3746 36,2054 ACADN85 = P41TABLE +2
033921,000618:
033922,000619: 36,3746 E7,1620 EBANK= DELVIMU
033923,000620: 36,3746 03462 74067 ACADN83 2CADR CALCN83
033924,000621: # *************************************************
033925,000622:
![]() |
Page 771 |
033927,000624: # PROGRAM DESCRIPTION S40.1 DATE15NOV66
033928,000625: # MOD N02 LOG SECTION P40-P47
033929,000626: # MOD BY ZELDIN AND ADAPTED BY TALAYCO
033930,000627: # FUNCTIONAL DESCRIPTION
033931,000628: # COMPUTE INITIAL THRUST DIRECTION(UT) AND INITIAL VALUE OF VG
033932,000629: # VECTOR(VGTIG).
033933,000630: # CALLING SEQUENCE
033934,000631: # L CALL
033935,000632: # L+1 S40.1
033936,000633: # NORMAL EXIT MODE
033937,000634: # AT L+2 OF CALLING SEQUENCE (GOTO L+2) NORMAL RETURN OR
033938,000635: # ERROR RETURN IF NOSOFLAG =1
033939,000636: # SUBROUTINES CALLED
033940,000637: # LEMPREC
033941,000638: # INITVEL
033942,000639: # CALCGRAV
033943,000640: # MIDGIM
033944,000641: # ALARM OR ABORT EXIT MODES
033945,000642: # L+2 OF CALLING SEQUENCE,UNSOLVABLE CONIC IF NOSOFLAG=1
033946,000643: # ERASABLE INITIALIZATION REQUIRED
033947,000644: # WEIGHT/G ANTICIPATED VEHICLE MASS DP B16KGM
033948,000645: # XDELVFLG 1=DELTA-V MANEUVER,0=AIMPT STEER
033949,000646: # F THRUST FOR ENGINE USED
033950,000647: # IF DELTA-V MANEUVER
033951,000648: # DELVSIN SPECIFIED DELTA-V REQUIRED IN
033952,000649: # INERTIAL COORDS. OF ACTIVE VEHICLE
033953,000650: # AT TIME OF IGNITION VECTOR B7M/CS
033954,000651: # DELVSAB MAG. OF DELVSIN DP B7M/CS
033955,000652: # RTIG POSITION AT TIME OF IGNITION VECTOR B29M
033956,000653: # VTIG VELOCITY AT TIME OF IGNITION VECTOR B7M/CS
033957,000654: # IF AIMPT STEER
033958,000655: # TIG TIME OF IGNITION DP B28CS
033959,000656: # RTARG POSITION TARGET TIME VECTOR B29M
033960,000657: # CSTEER C FOR STEER LAW DP B2
033961,000658: # DLTARG TARGET TIME-IGNITION TIME DP B28CS
033962,000659: # OUTPUT
033963,000660: # UT DESIRED THRUST DIRECTION VECT. B2M/(CS.CS)
033964,000661: # VGTIG INITIAL VALUE OF VELOCITY
033965,000662: # TO BE GAINED (INERT. COORD.) VECTOR B7M/CS
033966,000663: # DELVLVC VGTIG IN LOC. VERT. COORDS. B7M/CS
033967,000664: # BDT V REQUIRED AT TIG -V REQUIRED AT (TIG-2SEC)
033968,000665: # -GDT FOR S40.13 VECT B7M/CS
033969,000666: # RTIG CALC IN S40.1B(AIMPT) FOR S40.2,3 VECTOR B29M
033970,000667: # POSITION AT TIME OF IGNITION
033971,000668: # DEBRIS QTEMP1
033972,000669: # MPAC,QPRET
033973,000670: # PUSHLIST
033974,000671:
033975,000672: 14,2347 BANK 14
033976,000673: 27,2000 SETLOC P40S1
033977,000674: 27,2000 BANK
033978,000675:
![]() |
Page 772 |
033980,000677: 27,2271 COUNT* $$/S40.1
033981,000678: 27,2271 44014 S40.1 CLEAR STQ
033982,000679: 27,2272 03264 FIRSTFLG
033983,000680: 27,2273 03630 QTEMP
033984,000681: 27,2274 77614 DELVTEST BOFF
033985,000682: 27,2275 01347 XDELVFLG
033986,000683: 27,2276 56363 S40.1B
033987,000684: 27,2277 77201 CALCTHET SETPD VLOAD
033988,000685: 27,2300 00001 0
033989,000686: 27,2301 03646 VTIG
033990,000687: 27,2302 02335 STORE VINIT
033991,000688: 27,2303 53435 VXV UNIT
033992,000689: 27,2304 03640 RTIG
033993,000690: 27,2305 27677 STOVL UT # UP IN UT
033994,000691: 27,2306 03640 RTIG
033995,000692: 27,2307 02327 STORE RINIT
033996,000693: 27,2310 65236 VSQ PDDL
033997,000694: 27,2311 00045 36D
033998,000695: 27,2312 56205 DMP DDV
033999,000696: 27,2313 16435 THETACON
034000,000697: 27,2314 41205 DMP DMP
034001,000698: 27,2315 03662 DELVSAB
034002,000699: 27,2316 01245 WEIGHT/G
034003,000700: 27,2317 77671 DDV
034004,000701: 27,2320 03734 F
034005,000702: 27,2321 24017 STOVL 14D
034006,000703: 27,2322 03654 DELVSIN
034007,000704:
034008,000705: 27,2323 74241 DOT VXSC
034009,000706: 27,2324 03677 UT
034010,000707: 27,2325 03677 UT
034011,000708: 27,2326 41552 VSL2 PUSH # (DELTAV.UP)UP SCALED AT 2(+7) P.D.L. 0
034012,000709: 27,2327 65245 BVSU PDDL # DELTA VP SCALED AT 2(+7) P.D.L. 6
034013,000710: 27,2330 03654 DELVSIN
034014,000711: 27,2331 00017 14D
034015,000712: 27,2332 63356 SIN PDVL
034016,000713: 27,2333 00007 6D
034017,000714: 27,2334 53435 VXV UNIT
034018,000715: 27,2335 03677 UT
034019,000716: 27,2336 45561 VXSC STADR
034020,000717: 27,2337 50072 STOVL VGTIG # UNIT(VPXUP)SIN(THETAT/2) IN VGTIG.
034021,000718: 27,2340 65256 UNIT PDDL # UNIT(DELTA VP) IN P.D.L. 6
034022,000719: 27,2341 00017 14D
034023,000720: 27,2342 74346 COS VXSC
034024,000721: 27,2343 74255 VAD VXSC
034025,000722: 27,2344 03705 VGTIG
034026,000723: 27,2345 00045 36D
034027,000724: 27,2346 53352 VSL2 VAD
034028,000725: 27,2347 77626 STADR
034029,000726: 27,2350 74072 STORE VGTIG # VG IGNITION SCALED AT 2(+7) M/CS
034030,000727:
![]() |
Page 773 |
034032,000729: 27,2351 77656 UNIT
034033,000730: 27,2352 27677 STOVL UT # THRUST DIRECTION SCALED AT 2(+1)
034034,000731: 27,2353 03705 VGTIG
034035,000732: 27,2354 45006 PUSH CALL
034036,000733: 27,2355 20021 GET.LVC # VGTIG IN LV COOR AT 2(+7) M/CS IN DELVLVC
034037,000734: 27,2356 77775 VLOAD
034038,000735: 27,2357 06424 ZEROVECS
034039,000736: 27,2360 03671 STORE BDT
034040,000737: 27,2361 77650 GOTO
034041,000738: 27,2362 03630 QTEMP
034042,000739: 27,2363 77745 S40.1B DLOAD
034043,000740: 27,2364 03440 TIG
034044,000741: 27,2365 00041 STORE TDEC1
034045,000742: 27,2366 77621 BDSU
034046,000743: 27,2367 03627 TPASS4
034047,000744: 27,2370 37450 STCALL DELLT4 # INTERCEPT TIME - TIG.
034048,000745: 27,2371 27057 LEMPREC
034049,000746: 27,2372 40375 VLOAD SETPD # LOAD STATE VECTOR AT TIG FOR INITVEL.
034050,000747: 27,2373 00001 RATT
034051,000748: 27,2374 00001 0
034052,000749: 27,2375 03640 STORE RTIG
034053,000750: 27,2376 26327 STOVL RINIT
034054,000751: 27,2377 00007 VATT
034055,000752: 27,2400 03646 STORE VTIG
034056,000753: 27,2401 02335 STORE VINIT
034057,000754: 27,2402 65345 DLOAD PDDL # NUMIT = 0
034058,000755: 27,2403 06424 ZEROVECS
034059,000756: 27,2404 16431 EPS1
034060,000757: 27,2405 43214 BOFF DAD
034061,000758: 27,2406 03745 NORMSW
034062,000759: 27,2407 56411 SMALLEPS
034063,000760: 27,2410 16433 EPS2 # EPSILON4 = 10 DEGREES OR 45 DEGREES.
034064,000761: 27,2411 66006 SMALLEPS PUSH SXA,1
034065,000762: 27,2412 03375 RTX1
034066,000763: 27,2413 45134 SXA,2 CALL
034067,000764: 27,2414 03376 RTX2
034068,000765: 27,2415 22000 INITVEL
034069,000766: 27,2416 41575 VLOAD PUSH
034070,000767: 27,2417 03366 DELVEET3 # VGTIG = VR - VN.
034071,000768: 27,2420 03705 STORE VGTIG
034072,000769: 27,2421 77656 UNIT # UT = UNIT (VGTIG)
034073,000770: 27,2422 17677 STODL UT
034074,000771: 27,2423 00045 36D
034075,000772: 27,2424 37662 STCALL VGDISP # CONVERT VGTIG (IN PUSHLIST ) TO LOCAL
034076,000773: 27,2425 20021 GET.LVC # VERTICAL COORDINATES.
034077,000774: 27,2426 77650 GOTO
034078,000775: 27,2427 03630 QTEMP
034079,000776:
034080,000777: 27,2430 00707 03434 EPS1 2DEC* 2.777777778 E-2* # 10 DEGREES AT 1 REVOLUTION.
034081,000778:
![]() |
Page 774 |
034083,000780: 27,2432 03070 34344 EPS2 2DEC* 9.722222222 E-2* # 35 DEGREES AT 1 REVOLUTION.
034084,000781: 27,2434 00024 13714 THETACON 2DEC .31830989 B-8
034085,000782:
![]() |
Page 775 |
034087,000784: # SUBROUTINE NAME: S40.2,3 MOD. NO. 3 DATE: APRIL 4, 1967
034088,000785:
034089,000786: # MODIFICATION BY: JONATHAN D. ADDELSTON (ADAMS ASSOCIATES)
034090,000787:
034091,000788: # MOD. NO. 4: JULY 18, 1967: PETER ADLER (MIT/IL)
034092,000789:
034093,000790: # MOD. NO. 5: OCTOBER 18, 1967: PETER ADLER (MIT/IL)
034094,000791:
034095,000792: # ORIGINALLY BY: SAYDEAN ZELDIN (MIT INSTRUMENTATION LAB) AND RICHARD TALAYCO (SYSTEM DEVELOPMENT CORP)
034096,000793:
034097,000794: # S40.2,3 COMPUTES "POINTVSM" WHICH IS THE HALF-UNIT DESIRED THRUST VECTOR IN STABLE-MEMBER COORDINATES FROM "UT"
034098,000795: # WHICH IS THE SAME VECTOR IN REFERENCE COORDINATES. IT DETERMINES THE CORRECT VALUES FOR "SCAXIS" USING THE +X
034099,000796: # AXIS FOR DPS, APS, AND RCS BURNS. THE "WINGS-LEVEL HEADS-UP" LM ORIENTATION IS THEN COMPUTED IN REFERENCE
034100,000797: # COORDINATES. THESE VECTORS ALSO DEFINE THE "PREFERRED IMU ORIENTATION". UPON COMPLETION OF THIS CALCULATION,
034101,000798: # THE "PREFERRED ATTITUDE COMPUTED" FLAG IS SET (PFRATFLG).
034102,000799:
034103,000800:
034104,000801: # CALLING SEQUENCE:
034105,000802: # L CALL INTERPRETIVE CALL.
034106,000803: # L +1 S40.2,3
034107,000804: # L +2 (RETURN) GIMBAL ANGLE VECTOR IN MPAC.
034108,000805:
034109,000806: # SUBROUTINES CALLED: NONE.
034110,000807:
034111,000808: # NORMAL RETURN: L +2 (SEE CALLING SEQUENCE ABOVE).
034112,000809:
034113,000810: # ALARM/ABORT MODES: NONE.
034114,000811:
034115,000812: # INPUT:
034116,000813:
034117,000814: # 1. REFSMMAT MATRIX FROM REFERENCE TO STABLE-MEMBER COORDINATES SCALED AT 2.
034118,000815: # 2. UT HALF-UNIT DESIRED THRUST DIRECTION.
034119,000816: # 3. RTIG POSITION AT TIG IN REFERENCE COORDINATES.
034120,000817:
034121,000818: # OUTPUT:
034122,000819:
034123,000820: # 1. : XSCREF : WINGS-LEVEL HEADS-UP LM ORIENTATION
034124,000821: # : YSCREF : IN REFERENCE COORDINATES
034125,000822: # : ZSCREF : (PREFERRED IMU ORIENTATION).
034126,000823: # 2. POINTVSM DESIRED THRUST DIRECTION IN STABLE-MEMBER COORDINATES.
034127,000824: # 3. SCAXIS HALF-UNIT OF AXIS TO ALIGN IN STABLE-MEMBER COORDINATES.
034128,000825: # 4. PFRATFLG INTERPRETIVE FLAG. ON: PREFERRED ORIENTATION COMPUTED; OFF: NOT COMPUTED.
034129,000826:
034130,000827: # DEBRIS: NONE.
034131,000828:
![]() |
Page 776 |
034133,000830:
034134,000831: 27,2436 COUNT* $$/S40.2
034135,000832: 27,2436 77775 S40.2,3 VLOAD # UT: DESIRED THRUST DIRECTION (HALF-UNIT)
034136,000833: 27,2437 03677 UT # (PUT INTO TOP OF PUSH-DOWN-LIST.)
034137,000834: 27,2440 76521 MXV VSL1 # TRANSFORM THRUST DIRECTION TO STABLE-
034138,000835: 27,2441 01734 REFSMMAT # MEMBER FROM REFERENCE COORDS (RESCALE).
034139,000836: 27,2442 27767 STOVL POINTVSM # SAVE FOR "VECPOINT" ROUTINE (LEMMANU).
034140,000837: 27,2443 06422 UNITX # SCAXIS SET TO +X, FOR P40 AND P42 AND
034141,000838: 27,2444 27761 STOVL SCAXIS # FOR P41 IF RCS NOT -X,+Y,-Y,+Z,-Z.
034142,000839:
034143,000840: 27,2445 03677 UT # ASSUME +X BURN ALWAYS, EVEN FOR RCS.
034144,000841: 27,2446 03605 PLUSX STORE XSCREF # XSCREF = UT (DESIRED THRUST DIRECTION.)
034145,000842: 27,2447 53435 VXV UNIT # RTIG = POSITION AT TIME-OF-IGNITION.
034146,000843: 27,2450 03640 RTIG # YSCREF = UNIT(UT X RTIG)
034147,000844: 27,2451 46125 PDDL BHIZ
034148,000845: 27,2452 00045 36D # TEST MAGNITUDE OF UT X RTIG
034149,000846: 27,2453 56464 FIXY # IF SMALL, USE UT X VTIG AS YSC
034150,000847: 27,2454 45575 STORY VLOAD STADR
034151,000848: 27,2455 74164 STORE YSCREF
034152,000849: 27,2456 76435 VXV VSL1 # COMPUTE (YSCREF X XSCREF),BUT FOR A
034153,000850: 27,2457 03605 XSCREF # RIGHT HANDED SYSTEM, NEED (X CROSS Y).
034154,000851: 27,2460 77676 VCOMP # ZSCREF = - (YSCREF X XSCREF)
034155,000852: 27,2461 03621 STORE ZSCREF # = + (XSCREF X YSCREF)
034156,000853:
034157,000854: 27,2462 43414 SET RVQ
034158,000855: 27,2463 01073 PFRATFLG
034159,000856: 27,2464 47375 FIXY VLOAD VXV # IN THIS CASE,
034160,000857: 27,2465 03605 XSCREF # YSCREF = UNIT(XSCREF X VTIG)
034161,000858: 27,2466 03646 VTIG
034162,000859: 27,2467 41456 UNIT PUSH
034163,000860: 27,2470 77650 GOTO
034164,000861: 27,2471 56454 STORY
034165,000862:
![]() |
Page 777 |
034167,000864: # SUBROUTINE S40.8
034168,000865:
034169,000866: # MODIFIED APRIL 3, 1968 BY PETER ADLER MIT/IL
034170,000867:
034171,000868: # DESCRIPTION
034172,000869:
034173,000870: # S40.8 UPDATES THE VELOCITY-TO-BE-GAINED VECTOR, VG, (AND FOR LAMBERT TARGETTED BURNS ALSO EXTRAPOLATES VG
034174,000871: # USING THE BDT VECTOR) COMPUTES THE TIME FOR ISSUING THE ENGINE OFF COMMAND, TGO, AND CALLS THE ROUTINE
034175,000872: # "FINDCDUW", WHICH GENERATES STEERING COMMANDS FOR THE DAP.
034176,000873:
034177,000874: # CALLING SEQUENCE
034178,000875:
034179,000876: # L-1 CALL
034180,000877: # L S40.8
034181,000878: # L+1 INTERPRETIVE RETURN
034182,000879:
034183,000880: # ALARM
034184,000881:
034185,000882: # IF VG . DELVREF IS NEGATIVE (VG AND DELVREF OVER 90 DEGREES APART), BYPASS TGO AND STEERING COMPUTATIONS
034186,000883: # AND SET ALARM 1407. RETURN TO CALLER NORMALLY.
034187,000884:
034188,000885: # INPUT AND INITIALIZATION
034189,000886:
034190,000887: # VGPREV REFERENCE 2(7) M/CS
034191,000888: # DELVREF REFERENCE 2(7) M/CS
034192,000889: # BDT REFERENCE 2(7) M/CS
034193,000890: # TDECAY TAIL-OFF TIME 2(28) CS
034194,000891: # XDELVFLG 1 = EXTERNAL DELTA-V; 0 = LAMBERT (AIMPOINT)
034195,000892: # STEERSW 1 = DO STEERING AND TGO COMPUTATIONS; 0 = VG UPDATE ONLY
034196,000893: # FIRSTFLG 1 = GONE TO LAMBERT AT LEAST ONCE; 0 = HAVEN'T GONE TO LAMBERT YET
034197,000894:
034198,000895: # NOTE: VGTIG EQUALS VGPREV
034199,000896:
034200,000897: # OUTPUT
034201,000898:
034202,000899: # STEERSW SEE INPUT
034203,000900: # IMPULSW 1 = ENGINE OFF IN TGO CENTISECONDS; 0 = CONTINUE BURN
034204,000901: # TGO TIME TO CUT-OFF 2(28) CS
034205,000902: # SEE FINDCDUW FOR STEERING OUTPUTS.
034206,000903:
034207,000904: # SUBROUTINE CALLED
034208,000905:
034209,000906: # FINDCDUW
034210,000907:
034211,000908: # DEBRIS
034212,000909:
034213,000910: # MPACS, PUSHLIST
034214,000911:
034215,000912: 27,2472 COUNT* $$/S40.8
034216,000913:
![]() |
Page 778 |
034218,000915: 27,2472 E6,1420 EBANK= OMEGAQ
034219,000916: 27,2472 43175 S40.8 VLOAD BON
034220,000917: 27,2473 03705 VGPREV
034221,000918: 27,2474 01307 XDELVFLG
034222,000919: 27,2475 56502 VGNEW
034223,000920: 27,2476 53214 BOFF VAD
034224,000921: 27,2477 03344 FIRSTFLG
034225,000922: 27,2500 56502 VGNEW
034226,000923: 27,2501 03671 BDT
034227,000924: 27,2502 77651 VGNEW VSU
034228,000925: 27,2503 03525 DELVREF
034229,000926: 27,2504 03714 VGAIN* STORE VG # VELOCITY TO BE GAINED SCALED AT (7)M/CS
034230,000927: 27,2505 76521 MXV VSL1
034231,000928: 27,2506 01734 REFSMMAT
034232,000929: 27,2507 03252 STORE UNFC/2
034233,000930: 27,2510 77214 BON VLOAD
034234,000931: 27,2511 03304 FIRSTFLG
034235,000932: 27,2512 56515 BDTOK
034236,000933: 27,2513 06424 HI6ZEROS
034237,000934: 27,2514 03671 STORE BDT
034238,000935: 27,2515 51575 BDTOK VLOAD ABVAL
034239,000936: 27,2516 03714 VG
034240,000937: 27,2517 03662 STORE VGDISP
034241,000938: 27,2520 77201 TGDCALC SETPD VLOAD
034242,000939: 27,2521 00001 0
034243,000940: 27,2522 03714 VG
034244,000941: 27,2523 27705 STOVL VGPREV
034245,000942: 27,2524 03525 DELVREF
034246,000943: 27,2525 57414 BOFF VCOMP
034247,000944: 27,2526 01344 STEERSW
034248,000945: 27,2527 00052 QPRET
034249,000946: 27,2530 77656 UNIT
034250,000947: 27,2531 41441 DOT PUSH
034251,000948: 27,2532 03714 VG
034252,000949: 27,2533 56244 BPL DDV
034253,000950: 27,2534 56562 ALARMIT # DELV IS MORE THAN 90 DEGREES FROM VG.
034254,000951: 27,2535 03742 VEX
034255,000952: 27,2536 41215 DAD DMP
034256,000953: 27,2537 06422 DPHALF
034257,000954: 27,2540 56261 SR DDV
034258,000955: 27,2541 20613 10D
034259,000956: 27,2542 00045 36D
034260,000957: 27,2543 43205 DMP DAD
034261,000958: 27,2544 16571 -FOURDT
034262,000959: 27,2545 03740 TDECAY
034263,000960: 27,2546 03515 STORE TGO
034264,000961: 27,2547 77615 DAD
034265,000962: 27,2550 01235 PIPTIME
034266,000963: 27,2551 17440 STODL TIG
034267,000964: 27,2552 03515 TGO
034268,000965:
![]() |
Page 779 |
034270,000967: 27,2553 51025 DSU BPL
034271,000968: 27,2554 16573 FOURSECS # 400 CS
034272,000969: 27,2555 61062 FINDCDUW -2
034273,000970: 27,2556 43014 SET CLRGO
034274,000971: 27,2557 01066 IMPULSW
034275,000972: 27,2560 01224 STEERSW
034276,000973: 27,2561 00052 QPRET
034277,000974:
034278,000975:
034279,000976: 27,2562 77776 ALARMIT EXIT
034280,000977: 27,2563 05567 TC ALARM
034281,000978: 27,2564 01407 OCT 01407
034282,000979: 27,2565 06036 TC INTPRET
034283,000980: 27,2566 77650 GOTO # SKIP TGO COMPUTATION BUT CALL FINDCDUW.
034284,000981: 27,2567 61062 FINDCDUW -2 # FINDCDUW WILL EXIT TO UPDATEVG +3.
034285,000982:
034286,000983: 27,2570 77715 77777 -FOURDT 2DEC -800 B-18 # -4 (200 CS.) B(-18)
034287,000984: 27,2572 00000 00620 FOURSECS 2DEC 400 B-28 # 400 CS SCALED AT 2(+28)CS
034288,000985: 27,2574 E7,1741 2VEXHUST = VEX
034289,000986:
![]() |
Page 780 |
034291,000988: # NAME S40.13 - TIMEBURN
034292,000989: # FUNCTION (1) DETERMINE WHETHER A GIVEN COMBINATION OF VELOCITY TO
034293,000990: # BE GAINED AND ENGINE CHOICE RESULT IN A BURN TIME
034294,000991: # SUFFICIENT TO ALLOW STEERING AT THE VEHICLE DURING THE
034295,000992: # BURN
034296,000993: # (2) THE MAGNITUDE OF THE RESULTING BURN TIME -- IF IT
034297,000994: # IS SHORT -- AND THE ASSOCIATED TIME OF THE ENGINE OFF
034298,000995: # SIGNAL
034299,000996: # CALLING SEQUENCE VIA FINDVAC AS A NEW JOB
034300,000997: # INPUT VGTIG VELOCITY TO BE GAINED VECTOR (METERS/CS) AT +7
034301,000998: # WEIGHT/G MASS OF VEHICLE IN KGM AT +16
034302,000999: # F APS ENGINE THRUST IN M.NEWTONS AT +7
034303,001000: # AND ALSO FOR RCS ENGINE
034304,001001: # MDOT RATE OF DECREASE OF VEHICLE MASS DURING ENGINE
034305,001002: # BURN IN KILOGRAMS/CS AT +3 . THIS SCALING MAY
034306,001003: # REQUIRE MODIFICATION FOR SATURN BURNS.
034307,001004: # ENG1FLAG SWITCH TO DECIDE WHETHER APS OR DPS ENGINE IS USED
034308,001005: # =0 DPS
034309,001006: # =1 APS
034310,001007: # OUTPUT IMPULSW ZERO FOR STEERING
034311,001008: # ONE FOR ATTITUDE HOLD
034312,001009: # NOTHROTL ZERO FOR THROTTLING
034313,001010: # ONE TO INHIBIT THROTTLING
034314,001011: # TGO TIME TO BURN IN CS
034315,001012: # THE QUANTITY M.NEWTON = 10000 NEWTONS WILL BE USED TO EXPRESS
034316,001013: # FORCE
034317,001014:
034318,001015:
034319,001016: 27,2574 E7,1514 EBANK= TGO
034320,001017: 27,2574 COUNT* $$/40.13
034321,001018: 27,2574 06036 S40.13 TC INTPRET
034322,001019: 27,2575 43001 SETPD CLEAR
034323,001020: 27,2576 00001 00D
034324,001021: 27,2577 01266 IMPULSW # ASSUME NO STEERING UNTIL FOUND OTHERWISE
034325,001022: 27,2600 51575 VLOAD ABVAL
034326,001023: 27,2601 03705 VGTIG # VELOCITY TO BE GAINED AT +7
034327,001024: 27,2602 41325 PDDL DMP # 00D = MAG OF VGTIG AT +7
034328,001025: 27,2603 16742 7SEC # 700 CS AT + 18
034329,001026: 27,2604 34017 FRCS2
034330,001027: 27,2605 62471 DDV SL2 # SCALE
034331,001028: 27,2606 01245 WEIGHT/G
034332,001029: 27,2607 41421 BDSU PUSH
034333,001030: 27,2610 43014 BOFF SET
034334,001031: 27,2611 05342 APSFLAG
034335,001032: 27,2612 56662 S40.13D # FOR DPS ENGINE
034336,001033: 27,2613 02463 NOTHROTL
034337,001034: 27,2614 56345 DLOAD DDV # 00D = MAG OF VGTIG CORRECTED
034338,001035: 27,2615 16001 K1VAL # M.NEWTONS-CS AT +24
034339,001036: 27,2616 01245 WEIGHT/G
034340,001037: 27,2617 50021 BDSU BMN
034341,001038:
![]() |
Page 781 |
034343,001040: 27,2620 00001 00D
034344,001041: 27,2621 56644 S40.131 # TGO LESS THAN 100 CS
034345,001042: 27,2622 41325 PDDL DMP # 02D = TEMP1 AT +7
034346,001043: 27,2623 03736 MDOT
034347,001044:
034348,001045: # MDOT REPRESENTS THE RATE OF DECREASE OF VEHICLE MASS DURING ENGINE
034349,001046: # BURN IN KILOGRAMS/CS . WHEN SATURN IS USED , THE SCALING MAY
034350,001047: # REQUIRE ADJUSTMENT
034351,001048:
034352,001049: 27,2624 16734 3.5SEC # 350 CS AT +14
034353,001050: 27,2625 65221 BDSU PDDL
034354,001051: 27,2626 01245 WEIGHT/G
034355,001052: 27,2627 03734 F
034356,001053: 27,2630 60405 DMP SR2 # SCALE
034357,001054: 27,2631 16736 5SECS
034358,001055: 27,2632 41471 DDV PUSH # 04D = TEMP2
034359,001056: 27,2633 51021 BDSU BPL
034360,001057: 27,2634 00003 02D
034361,001058: 27,2635 56662 S40.13D
034362,001059: 27,2636 55345 DLOAD BDDV
034363,001060: 27,2637 43205 DMP DAD
034364,001061: 27,2640 16736 5SECS
034365,001062: 27,2641 16732 1SEC2D # 100 CS AT +14
034366,001063: 27,2642 77650 GOTO
034367,001064: 27,2643 56652 S40.132
034368,001065: 27,2644 41345 S40.131 DLOAD DMP
034369,001066: 27,2645 01245 WEIGHT/G
034370,001067: 27,2646 41542 SR1 PUSH
034371,001068: 27,2647 56215 DAD DDV
034372,001069: 27,2650 16003 K2VAL # M.NEWTON CS AT +24
034373,001070: 27,2651 16005 K3VAL # M.NEWTON CS AT +10
034374,001071: 27,2652 77414 S40.132 SET EXIT
034375,001072: 27,2653 01066 IMPULSW
034376,001073: 27,2654 07256 S40.132* TC TPAGREE
034377,001074: 27,2655 30154 CA MPAC
034378,001075: 27,2656 56001 XCH L
034379,001076: 27,2657 34755 CA ZERO
034380,001077: 27,2660 53515 DXCH TGO
034381,001078: 27,2661 12704 TCF S40.134
034382,001079:
034383,001080: 27,2662 41345 S40.13D DLOAD DMP # FOR DPS ENGINE
034384,001081: 27,2663 00001 00D
034385,001082: 27,2664 01245 WEIGHT/G
034386,001083: 27,2665 43006 PUSH BON
034387,001084: 27,2666 05302 APSFLAG
034388,001085: 27,2667 56725 APSTGO
034389,001086: 27,2670 43071 DDV CLEAR
034390,001087: 27,2671 16007 S40.136
034391,001088: 27,2672 02663 NOTHROTL
034392,001089: 27,2673 41400 BOV PUSH
034393,001090:
![]() |
Page 782 |
034395,001092: 27,2674 56707 S40.130V
034396,001093: 27,2675 51025 S40.137 DSU BPL
034397,001094: 27,2676 16740 6SEC # 600.0 CS AT +14
034398,001095: 27,2677 56715 S40.138
034399,001096: 27,2700 52015 DAD GOTO
034400,001097: 27,2701 16740 6SEC
034401,001098: 27,2702 56652 S40.132
034402,001099: 27,2703 77776 S40.133 EXIT
034403,001100: 27,2704 05353 S40.134 TC PHASCHNG
034404,001101: 27,2705 00003 OCT 00003
034405,001102: 27,2706 05155 TC ENDOFJOB
034406,001103: 27,2707 40545 S40.130V DLOAD SR4 # RECOMPUTE TGO IN TIME2 UNITS
034407,001104: 27,2710 77671 DDV
034408,001105: 27,2711 16011 S40.136_ # S40.136 SHIFTED LEFT 10
034409,001106: 27,2712 03515 STORE TGO
034410,001107: 27,2713 77776 EXIT
034411,001108: 27,2714 12704 TCF S40.134 # REJOIN COMMON CODING FOR RESTART PROTECT
034412,001109:
034413,001110: 27,2715 51025 S40.138 DSU BPL
034414,001111: 27,2716 16744 89SECS
034415,001112: 27,2717 56722 STORETGO
034416,001113: 27,2720 77614 SET
034417,001114: 27,2721 02463 NOTHROTL
034418,001115: 27,2722 77745 STORETGO DLOAD # LOAD TGO AT 2(14)
034419,001116: 27,2723 77776 EXIT
034420,001117: 27,2724 12654 TCF S40.132*
034421,001118:
034422,001119: 27,2725 62471 APSTGO DDV SL2
034423,001120: 27,2726 34007 FAPS
034424,001121: 27,2727 77650 GOTO
034425,001122: 27,2730 56723 STORETGO +1
034426,001123: 27,2731 00144 00000 1SEC2D 2DEC 100.0 B-14 # 100.0 CS AT +14
034427,001124: 27,2733 01274 00000 3.5SEC 2DEC 350.0 B-13 # 350 CS AT +13
034428,001125: 27,2735 00764 00000 5SECS 2DEC 500.0 B-14 # 500.0 CS AT +14
034429,001126: 27,2737 01130 00000 6SEC 2DEC 600.0 B-14 # 600.0 CS AT +14
034430,001127: 27,2741 00053 30000 7SEC 2DEC 700.0 B-18 # 700.0 CS AT + 18
034431,001128: 27,2743 21304 00000 89SECS 2DEC 8900.0 B-14
034432,001129: # FUNCTION (1) GENERATES REQUIRED VELOCITY AND VELOCITY-TO-BE-GAINED
034433,001130: # VECTORS FOR USE DURING AIMPOINT MANEUVERS EVERY TWO
034434,001131: # COMPUTATION CYCLES (4 SECONDS).
034435,001132: # (2) UPDATES THE B VECTOR WHICH IS USED IN THE FINAL
034436,001133: # CALCULATION OF EXTRAPOLATING THE VELOCITY-TO-BE-GAINED
034437,001134: # THROUGH ONE 2-SECOND INTERVAL INTO THE FUTURE.
034438,001135: # CALLING SEQ VIA FINDVAC AS NEW JOB.
034439,001136:
![]() |
Page 783 |
034441,001138: # INPUT RN - ACTIVE VEHICLE RADIUS VECTOR IN METERS AT +29.
034442,001139: # VN - ACTIVE VEHICLE VELOCITY VECTOR IN METERS/CS AT +7
034443,001140: # VRPREV - LAST COMPUTED VELOCITY REQUIRED VECTOR IN
034444,001141: # METERS/CS AT +7.
034445,001142: # TIG - TIME OF IGNITION IN CS AT +28.
034446,001143: # DLTARG - COMPUTATION CYCLE INTERVAL = 200 CS AT +28.
034447,001144: # PIPTIME - TIME OF RN AND VN IN CS AT +28.
034448,001145: # GDT/2 - HALF OF VELOCITY GAINED IN DELTA T TIME DUE TO
034449,001146: # ACCERERATION OF GRAVITY IN METERS/CS AT +7.
034450,001147: # DELVREF - CHANGE IN VELOCITY DURING LAST 2 SEC IN
034451,001148: # METERS/CS AT +7.
034452,001149: # OUTPUT VGPREV - VELOCITY TO BE GAINED VECTOR IN METERS/CS AT +7.
034453,001150: # VGDISP - MAG OF VGPREV FOR DISPLAY PURPOSES.
034454,001151: # VRPREV - VELOCITY REQUIRED VECTOR IN METERS/CS AT +7.
034455,001152: # BDT - B VECTOR IN METERS/CS AT +7.
034456,001153: # SUBROUTINES USED - INITVEL
034457,001154:
034458,001155: 27,2745 E7,1704 EBANK= VGPREV
034459,001156: 27,2745 COUNT* $$/S40.9
034460,001157: 27,2745 06036 S40.9 TC INTPRET
034461,001158: 27,2746 77201 SETPD VLOAD
034462,001159: 27,2747 00001 00D
034463,001160: 27,2750 01221 RN # ACTIVE VEHICLE RADIUS VECTOR AT T1
034464,001161: 27,2751 26327 STOVL RINIT
034465,001162: 27,2752 01227 VN # ACTIVE VEHICLE VELOCITY VECTOR AT T1
034466,001163: 27,2753 16335 STODL VINIT
034467,001164: 27,2754 01235 PIPTIME
034468,001165: 27,2755 03730 STORE TNIT
034469,001166: 27,2756 77621 BDSU
034470,001167: 27,2757 03627 TPASS4
034471,001168: 27,2760 03450 STORE DELLT4 # T2 - T1
034472,001169: 27,2761 71214 SET DLOAD
034473,001170: 27,2762 01072 AVFLAG # SET AVFLAG FOR LEM ACTIVE
034474,001171: 27,2763 06424 HI6ZEROS
034475,001172: 27,2764 77725 PDDL
034476,001173: 27,2765 16431 EPS1
034477,001174: 27,2766 43214 BOFF DAD # EPSILON4 = 10 OR 45 DEGREES.
034478,001175: 27,2767 03745 NORMSW
034479,001176: 27,2770 56772 EPSSMALL
034480,001177: 27,2771 16433 EPS2
034481,001178: 27,2772 77606 EPSSMALL PUSH
034482,001179: 27,2773 45014 S40.92 BOFSET CALL
034483,001180: 27,2774 03044 FIRSTFLG
034484,001181: 27,2775 57102 INITINIT
034485,001182: 27,2776 22002 HAVEGUES
034486,001183: 27,2777 52375 VLOAD VSU
034487,001184: 27,3000 02343 VIPRIME
034488,001185: 27,3001 03722 VRPREV
034489,001186: 27,3002 45325 PDDL DSU
034490,001187: 27,3003 03730 TNIT
034491,001188: 27,3004 03732 TNITPREV
034492,001189:
![]() |
Page 784 |
034494,001191: 27,3005 74265 BDDV VXSC
034495,001192: 27,3006 17101 100B28
034496,001193: 27,3007 76451 VSU VSL1
034497,001194: 27,3010 01237 GDT/2
034498,001195: 27,3011 03671 STORE BDT
034499,001196: 27,3012 53135 FIRSTTME SLOAD BZE
034500,001197: 27,3013 03377 RTX2
034501,001198: 27,3014 57020 GETGOBL
034502,001199: 27,3015 52175 VLOAD GOTO # NO OBLATENESS COMP IF IN MOON SPHERE
034503,001200: 27,3016 03366 DELVEET3
034504,001201: 27,3017 57034 NOGOBL
034505,001202: 27,3020 53575 GETGOBL VLOAD UNIT # CALCULATE OBLATENESS TERM.
034506,001203: 27,3021 01221 RN
034507,001204: 27,3022 45345 DLOAD DSU
034508,001205: 27,3023 01235 PIPTIME # 2
034509,001206: 27,3024 03510 GOBLTIME # G = -(MU/R )(UNITGOBL)(T - TIG)
034510,001207: 27,3025 56205 DMP DDV # OBL
034511,001208: 27,3026 16013 EARTHMU
034512,001209: 27,3027 00043 34D # 34D = /RN/ (2) FROM UNIT OPERATION.
034513,001210: 27,3030 53361 VXSC VAD
034514,001211: 27,3031 03517 UNITGOBL
034515,001212: 27,3032 03366 DELVEET3 # OUTPUT FROM INITVEL VG = VR - VN
034516,001213: 27,3033 03366 STORE DELVEET3 # VG = VR + GOBL - VN
034517,001214: 27,3034 77646 NOGOBL ABVAL
034518,001215: 27,3035 17662 STODL VGDISP
034519,001216: 27,3036 03730 TNIT
034520,001217: 27,3037 03732 STORE TNITPREV
034521,001218: 27,3040 77776 EXIT
034522,001219: 27,3041 05353 TC PHASCHNG
034523,001220: 27,3042 05022 OCT 05022
034524,001221: 27,3043 14000 OCT 14000
034525,001222: 27,3044 06036 TC INTPRET
034526,001223: 27,3045 77775 VLOAD
034527,001224: 27,3046 02343 VIPRIME # VR(T)
034528,001225: 27,3047 03722 STORE VRPREV
034529,001226: 27,3050 77776 EXIT
034530,001227: 27,3051 05353 TC PHASCHNG
034531,001228: 27,3052 04022 OCT 04022
034532,001229: 27,3053 06036 TC INTPRET
034533,001230: 27,3054 77214 BON VLOAD
034534,001231: 27,3055 01305 CYCLESW
034535,001232: 27,3056 57064 S40.91
034536,001233: 27,3057 03366 DELVEET3
034537,001234: 27,3060 03705 STORE VGPREV
034538,001235: 27,3061 52014 SET GOTO
034539,001236: 27,3062 01065 CYCLESW
034540,001237: 27,3063 57074 ENDS40.9
034541,001238: 27,3064 53375 S40.91 VLOAD VAD # EXTRAPOLATE FOR V TO GAIN
034542,001239: 27,3065 03366 DELVEET3
034543,001240: 27,3066 03671 BDT
034544,001241:
![]() |
Page 785 |
034546,001243: 27,3067 77651 VSU
034547,001244: 27,3070 03525 DELVREF
034548,001245: 27,3071 03705 STORE VGPREV
034549,001246: 27,3072 77646 ABVAL
034550,001247: 27,3073 03662 STORE VGDISP # FOR DISPLAY PURPOSES
034551,001248: 27,3074 77776 ENDS40.9 EXIT
034552,001249: 27,3075 05353 TC PHASCHNG
034553,001250: 27,3076 00002 OCT 2
034554,001251: 27,3077 05155 TC ENDOFJOB
034555,001252: 27,3100 00000 00144 100B28 2DEC 100 B-28
034556,001253: 27,3102 77624 INITINIT CALL
034557,001254: 27,3103 22002 HAVEGUES
034558,001255: 27,3104 77650 GOTO
034559,001256: 27,3105 57012 FIRSTTME
034560,001257: # MOD 0 24 FEB 67 PETER ADLER
034561,001258: # FUNCTION:
034562,001259: # TRIMS DPS ENGINE TO MINIMIZE THRUST/CG OFFSET. ENGINE IS GIMBALLED TO FULL + PITCH AND + ROLL (TO LOCK)
034563,001260: # FOR REFERENCE AND IS THEN BROUGHT BACK TO TRIM POSITION BY RUNNING FOR THE PROPER TIMES (TO BE
034564,001261: # SPECIFIED BY GAEC) IN - PITCH AND - ROLL.
034565,001262: # CALLING SEQUENCE:
034566,001263: # VIA WAITLIST FROM R03
034567,001264: # INPUT:
034568,001265: # PITTIME TIME TO RUN FROM FULL + PITCH TO TRIM (CS)
034569,001266: # ROLLTIME TIME TO RUN FROM FULL + ROLL TO TRIM (CS)
034570,001267: # SUBROUTINES USED:
034571,001268: # WAITLIST, FIXDELAY, VARDELAY, FLAGUP, FLAGDOWN, NOVAC
034572,001269:
034573,001270: 27,3106 COUNT* $$/S40.6
034574,001271: 27,3106 E6,1401 EBANK= ROLLTIME # OCTAL MASKS: PRIO5=05000 EBANK5=02400
034575,001272:
034576,001273: 27,3106 05516 TRIMGIMB TC DOWNFLAG # GMBDRVSW FLAG IS SET WHEN EITHER ROLL OR
034577,001274: 27,3107 00137 ADRES GMBDRVSW # PITCH IS COMPLETED, WHICHEVER IS FIRST.
034578,001275:
034579,001276: 27,3110 45017 CS PRIO5 # TURN OFF - PITCH, - ROLL, IF ON.
034580,001277: 27,3111 00006 EXTEND
034581,001278: 27,3112 03012 WAND CHAN12
034582,001279: 27,3113 35014 CAF EBANK5 # TURN ON + PITCH, + ROLL.
034583,001280: 27,3114 00006 EXTEND
034584,001281: 27,3115 05012 WOR CHAN12
034585,001282: 27,3116 05221 TC FIXDELAY # WAIT ONE MINUTE TO MAKE SURE ENGINE IS
034586,001283: 27,3117 13560 DEC 6000 B-14 # AT FULL + PITCH AND FULL + ROLL
034587,001284: 27,3120 45014 CS EBANK5 # TURN OFF + PITCH, + ROLL.
034588,001285: 27,3121 00006 EXTEND
034589,001286: 27,3122 03012 WAND CHAN12
034590,001287: 27,3123 35017 CAF PRIO5 # TURN ON - PITCH, - ROLL.
034591,001288: 27,3124 00006 EXTEND
034592,001289: 27,3125 05012 WOR CHAN12
034593,001290: 27,3126 31402 CAE PITTIME # GET TIME TO SHUT OFF - PITCH AND SET UP
034594,001291: 27,3127 05173 TC TWIDDLE # TWIDDLE-TASK TO TURN IT OFF THEN
034595,001292:
![]() |
Page 786 |
034597,001294: 27,3130 03147 ADRES PITCHOFF
034598,001295:
034599,001296: 27,3131 31401 CAE ROLLTIME # GET TIME TO SHUT OFF - ROLL AND GO AWAY
034600,001297: 27,3132 05224 TC VARDELAY # UNTIL THEN
034601,001298: 27,3133 44740 CS BIT12
034602,001299: 27,3134 00006 EXTEND
034603,001300: 27,3135 03012 WAND CHAN12 # SHUT OFF ROLL
034604,001301: 27,3136 30102 ROLLOVER CA FLAGWRD6 # IF HERE INLINE (ROLL DONE) IS PITCH DONE
034605,001302: 27,3137 74742 MASK GMBDRBIT # IF HERE FROM PITCHOFF, IS ROLL DONE?
034606,001303: 27,3140 00006 EXTEND
034607,001304: 27,3141 13153 BZF PITCHOFF +4 # NO. SET FLAG, ROLL OR PITCH DONE.
034608,001305: 27,3142 34737 CAF PRIO10 # RETURN TO R03
034609,001306: 27,3143 05072 TC NOVAC
034610,001307: 27,3144 E7,1467 EBANK= WHOCARES
034611,001308: 27,3144 02320 02067 2CADR TRIMDONE
034612,001309: 27,3146 05261 TC TASKOVER
034613,001310: 27,3147 44742 PITCHOFF CS BIT10
034614,001311: 27,3150 00006 EXTEND
034615,001312: 27,3151 03012 WAND CHAN12 # SHUT OFF PITCH
034616,001313: 27,3152 13136 TCF ROLLOVER # SEE IF ROLL HAS FINISHED ALSO.
034617,001314: 27,3153 05504 TC UPFLAG # ROLL DONE; OR PITCH DONE; BUT NOT BOTH.
034618,001315: 27,3154 00137 ADRES GMBDRVSW
034619,001316: 27,3155 05261 TC TASKOVER
034620,001317:
![]() |
Page 787 |
034622,001319: # SUBROUTINE NAME: S41.1 MOD. NO. 0 DATE: FEBRUARY 28, 1967
034623,001320:
034624,001321: # MOD. NO. 1 DATE: JANUARY 23, 1968: BY PETER ADLER (MIT/IL)
034625,001322:
034626,001323: # AUTHOR: JONATHAN D. ADDELSTON (ADAMS ASSOCIATES)
034627,001324:
034628,001325: # S41.1 PERFORMS THE COORDINATE SYSTEM TRANFORMATION FROM THE REFERENCE FRAME TO THE BODY OF THE LM.
034629,001326: # SPECIFICALLY, IT IS USED TO TRANSFORM A VELOCITY (SCALED AT 2(+7) METERS/CENTISECOND) FROM REFERENCE TO LM AXIS
034630,001327: # COORDINATES. FIRST THE VECTOR IS TRANSFORMED TO THE STABLE MEMBER COORDINATES BY THE MATRIX REFSMMAT. THIS
034631,001328: # LEAVES THE VECTOR IN MPAC, SCALED AT 2(+8) METERS/CENTISECOND. THEN
034632,001329: # THE SUBROUTINE CDUTRIG IS CALLED TO SET UP THE DOUBLE-PRECISION CDU VECTOR ALONG WITH ITS SINES AND COSINES.
034633,001330: # THE VECTOR IS THEN TRANSFORMED FROM STABLE MEMBER COORDINATES TO SPACECRAFT (OR LM) COORDINATES BY THE
034634,001331: # SUBROUTINE *SMNB*. FINALLY( THE VECTOR IS RESCALED TO 2(+7) METERS/CENTISECOND, AND CONTROL IS RETURNED TO THE
034635,001332: # CALLER WITH C(MPAC) = VELOCITY(LM).
034636,001333:
034637,001334:
034638,001335: # CALLING SEQUENCE:
034639,001336: # L VLOAD CALL
034640,001337: # L +1 VELOCITY(REF) SCALED AT 2(+7)M/CS IN REFERENCE COORDS.
034641,001338: # L +2 S41.1
034642,001339: # L +3 STORE VELOCITY(LM) SCALED AT 2(+7)M/CS IN LM BODY AXIS SYS.
034643,001340:
034644,001341: # SUBROUTINES CALLED:
034645,001342:
034646,001343: # 1. CDUTRIG,
034647,001344: # WHICH CALLS CDULOGIC.
034648,001345: # 2. *SMNB*
034649,001346:
034650,001347: # NORMAL RETURN: L +3 (SEE CALLING SEQUENCE, ABOVE.)
034651,001348:
034652,001349: # ALARM/ABORT MODES: NONE.
034653,001350:
034654,001351: # RESTART PROTECTION: NONE.
034655,001352:
![]() |
Page 788 |
034657,001354: # INPUT:
034658,001355:
034659,001356: # 1. REFSMMAT.
034660,001357: # 2. CDUX, CDUY, CDUZ.
034661,001358: # 3. VELOCITY (REF) IN MPAC.
034662,001359:
034663,001360: # OUTPUT:
034664,001361:
034665,001362: # 1. CDUSPOT: DOUBLE PRECISION CDU VECTOR, ORDERED Y,Z,X.
034666,001363: # 2. SINCDU: HALF SINES OF CDUSPOT COMPONENTS.
034667,001364: # 3. COSCDU: HALF COSINES OF CDUSPOT COMPONENTS.
034668,001365: # 4. MPAC: VELOCITY(LM) (SCALED AT 2(+7) METERS/CENTISECOND)
034669,001366:
034670,001367: # DEBRIS: NONE.
034671,001368:
034672,001369: # CHECKOUT STATUS: CODED.
034673,001370:
034674,001371: 27,3156 COUNT* $$/S41.1
034675,001372: 27,3156 76521 S41.1 MXV VSL1 # CONVERT VECTOR IN MPAC FROM REF AT 2(+7)
034676,001373: 27,3157 01734 REFSMMAT # TO SM AND RESCALE DUE TO HALFUNIT MATRIX
034677,001374: 27,3160 77650 GOTO # CONVERT TO BODY AT 2(+7) USING PRESENT
034678,001375: 27,3161 47552 CDU*SMNB # CDU ANGLES. CDU*SMNB WILL RETURN
034679,001376: # VIA RVQ TO THE CALLER OF S41.1
End of include-file P40-P47.agc. Parent file is MAIN.agc