Source Code
|
These source-code files are part of a reconstructed copy of Luminary 163, the
first (unflown) release of the Apollo 14 Lunar Module (LM) Apollo Guidance
Computer (AGC) software.
The reconstruction began with reconstructed source code for Luminary 173. Changes between revision 163 and 173 were backed out, as described by Luminary memos 157 and 158. The reconstruction was verified by matching memory-bank checksums to those listed in drawing 2021152N. Note that page numbers in the reconstructed code match those for the baseline log section mentioned in each file's changelog; the page numbers for a real Luminary 163 listing would be different. Comments from the original source code are prefixed with a single '#' symbol, whereas comments added later are prefixed by "##" or "###". Report any errors noted by creating an issue report at the Virtual AGC project's GitHub repository. |
031930,000002: ## Copyright: Public domain.
031931,000003: ## Filename: P40-P47.agc
031932,000004: ## Purpose: A section of Luminary revision 163.
031933,000005: ## It is part of the reconstructed source code for the first
031934,000006: ## (unflown) release of the flight software for the Lunar
031935,000007: ## Module's (LM) Apollo Guidance Computer (AGC) for Apollo 14.
031936,000008: ## The code has been recreated from a reconstructed copy of
031937,000009: ## Luminary 173, as well as Luminary memos 157 amd 158.
031938,000010: ## It has been adapted such that the resulting bugger words
031939,000011: ## exactly match those specified for Luminary 163 in NASA
031940,000012: ## drawing 2021152N, which gives relatively high confidence
031941,000013: ## that the reconstruction is correct.
031942,000014: ## Reference: pp. 738-770
031943,000015: ## Assembler: yaYUL
031944,000016: ## Contact: Ron Burkey <info@sandroid.org>.
031945,000017: ## Website: www.ibiblio.org/apollo/index.html
031946,000018: ## Mod history: 2019-08-21 MAS Created from Luminary 173. Removed S40RET tag
031947,000019: ## in UPDATEVG. Changed references to S40RET to
031948,000020: ## QPRET. Removed GOFIND tag in ALARMIT, changed
031949,000021: ## the CALL FINDCDUW -2 to GOTO, and removed the
031950,000022: ## GOTO S40RET. Moved ALARMIT back to bank 27.
031951,000023: ## Changed reference to GOFIND to FINDCDUW -2.
031952,000024:
|
Page 738 |
031954,000026: # PROGRAM DESCRIPTION P40BOTH DECEMBER 22, 1966
031955,000027: # MOD 03 BY PETER ADLER MARCH 3, 1967
031956,000028: # CALLED VIA JOB FROM V37E
031957,000029:
031958,000030: # FUNCTIONAL DESCRIPTION
031959,000031:
031960,000032: # 1) TO COMPUTE A PREFERRED IMU ORIENTATION AND A PREFERRED VEHICLE ATTITUDE FOR A LM DPS
031961,000033: # THRUSTING MANEUVER.
031962,000034:
|
(There is no item #2 in the original program listing.) |
031964,000036:
031965,000037: # 3) TO DO THE VEHICLE MANEUVER TO THE THRUSTING ATTITUDE.
031966,000038:
031967,000039: # 4) TO CONTROL THE PGNCS DURING COUNTDOWN, IGNITION, THRUSTING, AND THRUST TERMINATION OF A
031968,000040: # PGNCS CONTROLLED DPS MANEUVER.
031969,000041:
031970,000042: # 5) IN POSTBURN--ZERO RENDEZVOUS COUNTER, MAINTAIN VG CALCULATIONS FOR POSSIBLE RCS MANEUVER,
031971,000043: # SET MAXIMUM DEADBAND IN DAP, RESET STEERLAW CSTEER TO ZERO.
031972,000044:
031973,000045: # NOTE: P42, WHICH IS IN THIS LOG SECTION, DOES THE SAME FOR AN APS BURN, AND P41 DOES 1-3 FOR
031974,000046: # RCS PLUS DISPLAYS PARAMETERS FOR MANUAL CONTROL.
031975,000047:
031976,000048: # SUBROUTINES USED
031977,000049:
031978,000050: # R02 IMU STATUS CHECK
031979,000051: # S40.1 COMPUTATION OF THRUST DIRECTION
031980,000052: # S40.13 LENGTH OF BURN
031981,000053: # S40.2,3 PREFERRED IMU ORIENATTION
031982,000054: # S40.8 X PRODUCT STEERING
031983,000055: # S40.9 LAMBERT VTOGAIN
031984,000056: # R60LEM ATTITUDE MANEUVER
031985,000057: # LEMPREC EXTRAPOLATE STATE VECTOR
031986,000058: # PREREAD AVERAGE G, SERVICER
031987,000059: # ALLCOAST DAP COASTING INITIALIZATION
031988,000060: # CLOKTASK ERGO CLOCKJOB--COUNT DOWN
031989,000061: # PHASCHNG, INTPRET, FLAGUP, FLAGDOWN, WAITLIST, LONGCALL, GOFLASH, GOFLASHR, GOPERF1, ALARM,
031990,000062: # PRIOLARM, GOTOPOOH, ENDOFJOB, BANKCALL, SETMAXDB, SETMINDB, CHECKMM, FLATOUT, OUTFLAT,
031991,000063: # KILLTASK, SGNAGREE, TPAGREE, ETC.
031992,000064:
031993,000065: # RESTARTS VIA GROUP 4
031994,000066:
031995,000067: # DISPLAYS
031996,000068:
031997,000069: # V50N25 203 A/P TO PGNCS, AUTO THROTTLE MODE, AUTO ATTITUDE CONTROL
031998,000070: # V06N40 TTI, VG, DELTAVM (DISPLAYED ONCE/SECOND BY CLOKTASK)
031999,000071: # V50N99 PLEASE PERFORM ENGINE ON ENABLE
032000,000072: # V06N40 TG (TIME TO GO TO CUTOFF), VG, DELTAVM--ONCE/SECOND
032001,000073: # V16N40 FINAL VALUES OF TG, VG, DELTAVM
032002,000074: # V16N85 COMP OF VG (BODY AXES) FOR POSS. RCS MANUAL MANEUVER
032003,000075: # V05N09 POSSIBLE ALARMS
032004,000076: # V50N07 PLEASE SELECT P00
032005,000077:
|
Page 739 |
032007,000079: # VIA R30
032008,000080:
032009,000081: # V06N44 HAPO, PERI, TFF
032010,000082: # V06N35 TIME TO PERIGEE, HMS
032011,000083:
032012,000084: # ALARM OR ABORT EXIT MODES
032013,000085:
032014,000086: # PROGRAM ALARM, FLASHING DISPLAY OF ALARM CODE 1706 IF P40 SELECTED WITH DESCENT UNIT STAGED.
032015,000087: # V34E (TERMINATE) IS THE ONLY RESPONSE ACCEPTED. TC GOTOPOOH.
032016,000088:
032017,000089: # PROGRAM ALARM, FLASH CODE 1703: TIG LESS THAN 45 SECS AWAY. V34E= GOTOPOOH OR V33E= SLIP
032018,000090: # TIG BY 45 SECS.
032019,000091:
032020,000092: # ERASABLE INITIALIZATION
032021,000093: # DEBRIS
032022,000094: # OUTPUT
032023,000095:
032024,000096: # SEE SUBROUTINES E.G.: S40.1, S40.2,3, S40.13, S40.8, S40.9, TRIMGIMB
032025,000097: # XDELVFLG = 1 FOR EXT DELV COMPUTATION
032026,000098: # = 0 FOR AIMPT (LAMBERT) COMP
032027,000099:
032028,000100: 27,2246 COUNT* $$/P40
032029,000101: 27,2246 E7,1455 EBANK= WHICH
032030,000102:
032031,000103: 36,3154 BANK 36
032032,000104: 36,2000 SETLOC P40S
032033,000105: 36,2000 BANK
032034,000106:
032035,000107: 36,3154 05364 P40LM TC PHASCHNG
032036,000108: 36,3155 04024 OCT 04024
032037,000109:
032038,000110: 36,3156 33140 CAF P40ADRES # INITIALIZATION FOR BURNBABY.
032039,000111: 36,3157 55455 TS WHICH
032040,000112:
032041,000113: 36,3160 30106 CA FLGWRD10
032042,000114: 36,3161 74737 MASK APSFLBIT
032043,000115: 36,3162 10000 CCS A
032044,000116: 36,3163 13126 TCF P40ALM
032045,000117: 36,3164 04616 TC BANKCALL # GO DO IMU STATUS CHECK ROUTINE.
032046,000118: 36,3165 11241 CADR R02BOTH
032047,000119:
032048,000120: 36,3166 40111 CS DAPBOOLS # INITIALIZE DVMON
032049,000121: 36,3167 74737 MASK CSMDOCKD
032050,000122: 36,3170 10000 CCS A
032051,000123: 36,3171 32022 CAF THRESH1
032052,000124: 36,3172 62023 AD THRESH3
032053,000125: 36,3173 55250 TS DVTHRUSH
032054,000126: 36,3174 34751 CAF FOUR
032055,000127: 36,3175 55515 TS DVCNTR
|
Page 740 |
032057,000129: 36,3176 06042 TC INTPRET # LOAD CONSTANTS FOR DPS BURN
032058,000130: 36,3177 43175 VLOAD CLEAR # LOAD F, MDOT, TDECAY
032059,000131: 36,3200 34001 FDPS
032060,000132: 36,3201 02663 NOTHROTL
032061,000133: 36,3202 03735 STORE F
032062,000134: 36,3203 77735 SLOAD
032063,000135: 36,3204 26002 DPSVEX
032064,000136: 36,3205 70476 P40IN DCOMP SR1
032065,000137: 36,3206 37743 STCALL VEX # LOAD EXHAUST VELOCITY FOR TGO COMP.
032066,000138: 36,3207 56246 S40.1 # COMPUTES UT AND VGTIG
032067,000139: 36,3210 77624 CALL
032068,000140: 36,3211 56413 S40.2,3 # COMPUTES PREFERRED IMU ORIENTATION
032069,000141: 36,3212 77776 EXIT
032070,000142:
032071,000143: 36,3213 00004 INHINT
032072,000144: 36,3214 04674 TC IBNKCALL
032073,000145: 36,3215 40143 CADR PFLITEDB # ZERO ATTITUDE ERRORS, SET DB TO ONE DEG.
032074,000146:
032075,000147: 36,3216 03220 TC P40SXT4
032076,000148:
032077,000149: # ***********************
032078,000150: 36,3217 12130 TCF BURNBABY
032079,000151: # ***********************
032080,000152:
032081,000153: 36,3220 00006 P40SXT4 EXTEND
032082,000154: 36,3221 23141 QXCH P40/RET
032083,000155: 36,3222 00003 P41MANU RELINT
032084,000156:
032085,000157: 36,3223 05527 TC DOWNFLAG # CLEAR 3AXISFLG -- R60 WILL USE VECPOINT.
032086,000158: 36,3224 00124 ADRES 3AXISFLG
032087,000159:
032088,000160: 36,3225 04616 TC BANKCALL
032089,000161: 36,3226 54125 CADR R60LEM # DO ATTITUDE MANEUVER ROUTINE
032090,000162: 36,3227 01141 TC P40/RET
032091,000163:
032092,000164:
032093,000165: 36,3230 E7,1462 EBANK= TRKMKCNT
032094,000166: 36,3230 30005 POSTBURN CA Z
032095,000167: 36,3231 55162 TS DISPDEX
032096,000168: 36,3232 00006 EXTEND
032097,000169: 36,3233 32060 DCA ACADN85
032098,000170: 36,3234 53252 DXCH AVEGEXIT
032099,000171: 36,3235 33760 CAF V16N40
032100,000172: 36,3236 04616 TC BANKCALL
032101,000173: 36,3237 20636 CADR GOFLASHR
032102,000174: 36,3240 03263 TC TERM40
032103,000175: 36,3241 13246 TCF TIGNOW
032104,000176: 36,3242 03230 TC POSTBURN
032105,000177:
|
Page 741 |
032107,000179: 36,3243 05364 P40PHS1 TC PHASCHNG
032108,000180: 36,3244 00014 OCT 00014
032109,000181: 36,3245 15155 TCF ENDOFJOB
032110,000182:
032111,000183: 36,3246 00004 TIGNOW INHINT
032112,000184: 36,3247 04674 TC IBNKCALL
032113,000185: 36,3250 40154 CADR ZATTEROR
032114,000186: 36,3251 04674 TC IBNKCALL
032115,000187: 36,3252 40141 CADR SETMINDB
032116,000188: 36,3253 00003 RELINT
032117,000189: 36,3254 33761 CAF V16N85B
032118,000190: 36,3255 04616 TC BANKCALL
032119,000191: 36,3256 20463 CADR REFLASHR
032120,000192: 36,3257 03263 TC TERM40
032121,000193: 36,3260 13263 TCF TERM40
032122,000194: 36,3261 03254 TC -5
032123,000195:
032124,000196: 36,3262 13243 TCF P40PHS1
032125,000197:
032126,000198: 36,3263 00006 TERM40 EXTEND
032127,000199: 36,3264 32110 DCA SERVCADR
032128,000200: 36,3265 53252 DXCH AVEGEXIT
032129,000201: 36,3266 34755 CAF ZERO
032130,000202: 36,3267 55462 TS TRKMKCNT # ZERO RENDZVS CNTERS
032131,000203: 36,3270 30005 CA Z
032132,000204: 36,3271 55162 TS DISPDEX
032133,000205: 36,3272 00004 INHINT
032134,000206: 36,3273 04674 TC IBNKCALL
032135,000207: 36,3274 40115 CADR RESTORDB
032136,000208: 36,3275 00003 RELINT
032137,000209: 36,3276 06001 TC GOTOPOOH
032138,000210:
032139,000211: 36,3277 E7,1455 EBANK= WHICH
032140,000212: 36,3277 COUNT* $$/P41
032141,000213: 36,3277 33141 P41LM CAF P41ADRES # INITIALIZATION FOR BURNBABY
032142,000214: 36,3300 55455 TS WHICH
032143,000215:
032144,000216: 36,3301 04616 TC BANKCALL
032145,000217: 36,3302 11241 CADR R02BOTH
032146,000218:
032147,000219: 36,3303 34755 CA ZERO # ZERO DVTOTAL FOR NOUN 40 DISPLAY
032148,000220: 36,3304 55507 TS DVTOTAL
032149,000221: 36,3305 55510 TS DVTOTAL +1
032150,000222: 36,3306 35017 CAF PRIO5
032151,000223: 36,3307 55162 TS DISPDEX # FOR SAFETY
032152,000224: 36,3310 05105 TC FINDVAC
032153,000225: 36,3311 E7,1700 EBANK= VGPREV
032154,000226: 36,3311 03374 74067 2CADR DYNMDISP
032155,000227:
032156,000228: 36,3313 05340 TC 2PHSCHNG
|
Page 742 |
032158,000230: 36,3314 00116 OCT 00116 # GROUP 6 RESTART AT FKP5RST, PRIO 17
032159,000231: 36,3315 04024 OCT 04024 # GROUP 4 RESTART HERE, PRIO 13
032160,000232:
032161,000233: 36,3316 06042 TC INTPRET # BOTH LM
032162,000234: 36,3317 71214 BON DLOAD # IF NJETSFLAG IS SET, LOAD 2 JET F
032163,000235: 36,3320 00700 NJETSFLG
032164,000236: 36,3321 75325 P41FJET1
032165,000237: 36,3322 34017 FRCS4 # IF NJETSFLAG IS CLEAR, LOAD 4 JET F
032166,000238:
032167,000239: 36,3323 37735 P41FJET STCALL F
032168,000240: 36,3324 75330 P41IN
032169,000241:
032170,000242: 36,3325 77745 P41FJET1 DLOAD
032171,000243: 36,3326 34021 FRCS2
032172,000244: 36,3327 03735 STORE F
032173,000245:
032174,000246: 36,3330 77624 P41IN CALL
032175,000247: 36,3331 56246 S40.1 # BOTH
032176,000248: 36,3332 77624 P41NORM CALL
032177,000249: 36,3333 56413 S40.2,3 # CALCULATE PREFERRED IMU ORIENTATION AND
032178,000250: 36,3334 77776 EXIT # SET PFRATFLG.
032179,000251:
032180,000252: 36,3335 00004 INHINT
032181,000253: 36,3336 04674 TC IBNKCALL
032182,000254: 36,3337 40154 CADR ZATTEROR # ZERO ATTITUDE ERRORS
032183,000255: 36,3340 04674 TC IBNKCALL
032184,000256: 36,3341 40141 CADR SETMINDB # SET 0.3 DEGREE DEADBAND
032185,000257: 36,3342 03220 TC P40SXT4
032186,000258:
032187,000259: 36,3343 06042 TC INTPRET
032188,000260: 36,3344 45175 VLOAD CALL # TRANSFORM VELOCITY-TO-BE-GAINED AT TIG
032189,000261: 36,3345 03701 VGTIG # FROM REFERENCE COORDINATES TO LM BODY-
032190,000262: 36,3346 57273 S41.1 # AXIS COORDINATES FOR V16N85 DISPLAY.
032191,000263: 36,3347 03502 STORE VGBODY # (SCALED AT 2 (+7) METERS/CENTISECOND)
032192,000264: 36,3350 77776 EXIT
032193,000265:
032194,000266: 36,3351 33761 CAF V16N85B
032195,000267: 36,3352 04616 TC BANKCALL
032196,000268: 36,3353 20447 CADR GODSPRET
032197,000269:
032198,000270:
032199,000271: 36,3354 05340 TC 2PHSCHNG
032200,000272: 36,3355 00076 OCT 00076 # GROUP 6 RESTARTS AT REDO6.7
032201,000273: 36,3356 04024 OCT 04024 # GROUP 4 RESTARTS HERE
032202,000274:
032203,000275: # ***********************
032204,000276: 36,3357 12137 TCF B*RNB*B*
032205,000277: # ***********************
032206,000278:
|
Page 743 |
032208,000280: 36,3360 34777 BLNKWAIT CAF 1SEC
032209,000281: 36,3361 04616 TC BANKCALL
032210,000282: 36,3362 01736 CADR DELAYJOB
032211,000283:
032212,000284: 36,3363 31162 REDO6.7 CA DISPDEX # ON A RESTART, DO NOT PUT UP DISPLAY IF
032213,000285: 36,3364 64752 AD TWO # BLANKING (BETWEEN TIG-35 AND TIG-30)
032214,000286: # ***********************
032215,000287:
032216,000288: 36,3365 00006 EXTEND
032217,000289: 36,3366 13360 BZF BLNKWAIT
032218,000290:
032219,000291: 36,3367 33761 CAF V16N85B
032220,000292: 36,3370 04616 TC BANKCALL
032221,000293: 36,3371 20447 CADR GODSPRET
032222,000294:
032223,000295: 36,3372 35017 FKP5RST CAF PRIO5
032224,000296: 36,3373 05146 TC PRIOCHNG
032225,000297:
032226,000298: 36,3374 31162 DYNMDISP CA DISPDEX # A NON-POSITIVE DISPDEX INDICATES PAST
032227,000299: 36,3375 00006 EXTEND # TIG-35, SO SERVICER WILL BE DOING THE
032228,000300: 36,3376 65155 BZMF ENDOFJOB # UPDATING OF NOUN 85. STOP DYNMDISP.
032229,000301: 36,3377 00006 EXTEND
032230,000302: 36,3400 41442 DCS TIG
032231,000303: 36,3401 53454 DXCH TTOGO # UPDATE TFI DISPLAY (NOUN 40)
032232,000304: 36,3402 00006 EXTEND
032233,000305: 36,3403 30025 DCA TIME2
032234,000306: 36,3404 21454 DAS TTOGO
032235,000307: 36,3405 06042 TC INTPRET
032236,000308: 36,3406 45175 VLOAD CALL
032237,000309: 36,3407 03701 VGPREV
032238,000310: 36,3410 57273 S41.1 # CONVERT VG FROM REF TO BODY
032239,000311: 36,3411 03502 STORE VGBODY
032240,000312: 36,3412 77776 EXIT
032241,000313: 36,3413 34777 CAF 1SEC
032242,000314: 36,3414 04616 TC BANKCALL
032243,000315: 36,3415 01736 CADR DELAYJOB
032244,000316: 36,3416 13374 TCF DYNMDISP # RECYCLE ONCE A SECOND
032245,000317:
032246,000318:
032247,000319: 36,3417 COUNT $$/P41
032248,000320: 32,2550 BANK 32
032249,000321: 32,2000 SETLOC P40S4
032250,000322: 32,2000 BANK
032251,000323:
032252,000324: 32,2550 06042 CALCN85 TC INTPRET
032253,000325: 32,2551 77624 CALL
032254,000326: 32,2552 75620 UPDATEVG
032255,000327: 32,2553 45175 VLOAD CALL
032256,000328: 32,2554 03701 VGPREV
|
Page 744 |
032258,000330: 32,2555 57273 S41.1
032259,000331: 32,2556 03502 STORE VGBODY
032260,000332: 32,2557 77776 EXIT
032261,000333: 32,2560 04635 TC POSTJUMP
032262,000334: 32,2561 65636 CADR SERVEXIT
032263,000335:
032264,000336: 36,3417 BANK 36
032265,000337: 36,2000 SETLOC P40S
032266,000338: 36,2000 BANK
032267,000339:
032268,000340: 36,3417 COUNT* $$/P42
032269,000341: 36,3417 E7,1455 EBANK= WHICH
032270,000342:
032271,000343: 36,3417 05364 P42LM TC PHASCHNG
032272,000344: 36,3420 04024 OCT 04024
032273,000345:
032274,000346: 36,3421 33142 CAF P42ADRES # INITIALIZATION FOR BURNBABY.
032275,000347: 36,3422 55455 TS WHICH
032276,000348:
032277,000349: 36,3423 40106 CS FLGWRD10
032278,000350: 36,3424 74737 MASK APSFLBIT
032279,000351: 36,3425 10000 CCS A
032280,000352: 36,3426 03126 TC P40ALM
032281,000353: 36,3427 04616 P42STAGE TC BANKCALL
032282,000354: 36,3430 11241 CADR R02BOTH
032283,000355: 36,3431 36000 CAF THRESH2 # INITIALIZE DVMON
032284,000356: 36,3432 55250 TS DVTHRUSH
032285,000357: 36,3433 34751 CAF FOUR
032286,000358: 36,3434 55515 TS DVCNTR
032287,000359:
032288,000360: 36,3435 06042 TC INTPRET
032289,000361: 36,3436 77214 SET VLOAD # LOAD FAPS, MDOTAPS, AND ATDECAY INTO
032290,000362: 36,3437 01072 AVFLAG # F, MDOT, AND TDECAY BY VECTOR LOAD.
032291,000363: 36,3440 34007 FAPS
032292,000364: 36,3441 03735 STORE F
032293,000365: 36,3442 52135 SLOAD GOTO
032294,000366: 36,3443 26001 APSVEX
032295,000367: 36,3444 75205 P40IN
032296,000368:
032297,000369: 36,3445 E7,1455 EBANK= WHICH
032298,000370:
032299,000371: 36,3445 COUNT* $$/P47
032300,000372: 36,3445 04616 P47LM TC BANKCALL
032301,000373: 36,3446 11241 CADR R02BOTH
032302,000374: 36,3447 06042 TC INTPRET
032303,000375: 36,3450 77624 CALRB
032304,000376: 36,3451 27547 MIDTOAV2
032305,000377:
032306,000378: 36,3452 30155 CA MPAC +1
032307,000379: 36,3453 05204 TC TWIDDLE
|
Page 745 |
032309,000381: 36,3454 03456 ADRES STARTP47
032310,000382:
032311,000383: 36,3455 15155 TCF ENDOFJOB
032312,000384:
032313,000385: 36,3456 05364 STARTP47 TC PHASCHNG
032314,000386: 36,3457 05014 OCT 05014
032315,000387: 36,3460 77777 OCT 77777
032316,000388:
032317,000389: 36,3461 00006 EXTEND
032318,000390: 36,3462 33764 DCA ACADN83
032319,000391: 36,3463 53252 DXCH AVEGEXIT
032320,000392: 36,3464 34736 CAF PRIO20
032321,000393: 36,3465 05105 TC FINDVAC
032322,000394: 36,3466 E7,1622 EBANK= DELVIMU
032323,000395: 36,3466 03522 74067 2CADR P47BODY
032324,000396:
032325,000397: 36,3470 12344 TCF REDO4.2 # CHECKS PHASE 5 AND GOES TO PREREAD
032326,000398: # SEE TIG-30 IN BURNBABY.
032327,000399:
032328,000400: 36,3471 06042 CALCN83 TC INTPRET
032329,000401: 36,3472 53375 VLOAD VAD
032330,000402: 36,3473 03502 DELVCTL
032331,000403: 36,3474 03527 DELVREF
032332,000404: 36,3475 03656 STORE DELVSIN # TEMP STORAGE FOR RESTARTS
032333,000405: 36,3476 77624 CALL
032334,000406: 36,3477 57273 S41.1
032335,000407: 36,3500 03623 STORE DELVIMU
032336,000408: 36,3501 77776 EXIT
032337,000409: 36,3502 05364 TC PHASCHNG
032338,000410: 36,3503 10035 OCT 10035 # REREADAC AND HERE
032339,000411:
032340,000412: 36,3504 06042 TC INTPRET
032341,000413: 36,3505 77775 VLOAD
032342,000414: 36,3506 03656 DELVSIN
032343,000415: 36,3507 03502 STORE DELVCTL
032344,000416: 36,3510 77776 EXIT
032345,000417:
032346,000418: 36,3511 04635 TC POSTJUMP
032347,000419: 36,3512 65636 CADR SERVEXIT
032348,000420:
032349,000421: 36,3513 33762 P47BOD CAF V1683
032350,000422: 36,3514 04616 TC BANKCALL
032351,000423: 36,3515 20636 CADR GOFLASHR
032352,000424: 36,3516 06001 TC GOTOPOOH
032353,000425: 36,3517 06001 TC GOTOPOOH
032354,000426:
032355,000427: 36,3520 13522 TCF P47BODY
032356,000428:
032357,000429: 36,3521 13243 TCF P40PHS1
032358,000430:
032359,000431: 36,3522 06042 P47BODY TC INTPRET
032360,000432: 36,3523 77775 VLOAD
|
Page 746 |
032362,000434: 36,3524 06520 HI6ZEROS
032363,000435: 36,3525 03623 STORE DELVIMU
032364,000436: 36,3526 03502 STORE DELVCTL
032365,000437: 36,3527 77776 EXIT
032366,000438: 36,3530 03513 TC P47BOD
032367,000439:
032368,000440: 36,3531 COUNT* $$/P40
032369,000441: 36,3531 31517 IMPLBURN CA TGO +1
032370,000442: 36,3532 03744 TC GETDT
032371,000443: 36,3533 05204 TC TWIDDLE
032372,000444: 36,3534 03551 ADRES ENGOFTSK
032373,000445: 36,3535 05527 TC DOWNFLAG # TURN OFF IGNFLAG
032374,000446: 36,3536 00153 ADRES IGNFLAG
032375,000447: 36,3537 05527 TC DOWNFLAG # TURN OFF ASTNFLG
032376,000448: 36,3540 00154 ADRES ASTNFLAG
032377,000449: 36,3541 05527 TC DOWNFLAG # TURN OFF IMPULSW
032378,000450: 36,3542 00044 ADRES IMPULSW
032379,000451: 36,3543 05364 TC PHASCHNG # RESTART PROTECT ENGOFTSK (ENGINOFF)
032380,000452: 36,3544 40114 OCT 40114
032381,000453:
032382,000454: 36,3545 05232 TC FIXDELAY # WAIT HALF A SECOND
032383,000455: 36,3546 00062 DEC 50 B-14
032384,000456:
032385,000457: 36,3547 02660 TC NOULLAGE # TURN OFF ULLAGE
032386,000458:
032387,000459: 36,3550 05272 TC TASKOVER
032388,000460:
032389,000461: 36,3551 04674 ENGOFTSK TC IBNKCALL # THIS CODING ALLOWS ENGINOFF ET AL TO BE
032390,000462: 36,3552 75554 CADR ENGINOFF # USED BOTH BY WAITLIST AND BY TC IBNKCALL
032391,000463: 36,3553 05272 TC TASKOVER
032392,000464:
032393,000465: 36,3554 34644 ENGINOFF CAF PRIO12 # MUST BE LOWER PRIO THAN CLOCKJOB
032394,000466: 36,3555 05105 TC FINDVAC
032395,000467: 36,3556 E7,1462 EBANK= TRKMKCNT
032396,000468: 36,3556 03230 74067 2CADR POSTBURN
032397,000469:
032398,000470:
032399,000471: 36,3560 34753 ENGINOF2 CAF BIT1
032400,000472: 36,3561 05214 TC WAITLIST
032401,000473: 36,3562 E6,1422 EBANK= OMEGAQ
032402,000474: 36,3562 03615 74066 2CADR COASTSET
032403,000475:
032404,000476: 36,3564 40103 ENGINOF1 CS FLAGWRD7 # SET THE IDLE BIT.
032405,000477: 36,3565 74745 MASK IDLEFBIT
032406,000478: 36,3566 26103 ADS FLAGWRD7
032407,000479:
032408,000480: 36,3567 02660 TC NOULLAGE
032409,000481:
032410,000482: 36,3570 00006 ENGINOF4 EXTEND
032411,000483: 36,3571 30025 DCA TIME2
|
Page 747 |
032413,000485: 36,3572 53342 DXCH TEVENT
032414,000486:
032415,000487: 36,3573 44745 ENGINOF3 CS ENGONBIT # INSURE ENGONFLG IS CLEAR.
032416,000488: 36,3574 70101 MASK FLAGWRD5
032417,000489: 36,3575 54101 TS FLAGWRD5
032418,000490: 36,3576 44355 CS PRIO30 # ENGINOF3 IS USED AS A PRE-ENGINE ARM
032419,000491: 36,3577 00006 EXTEND # SUBROUTINE.
032420,000492: 36,3600 02011 RAND DSALMOUT
032421,000493: 36,3601 64736 AD PRIO20 # TURN OFF THE ENGINE - DPS OR APS
032422,000494: 36,3602 00006 EXTEND
032423,000495: 36,3603 01011 WRITE DSALMOUT
032424,000496:
032425,000497: 36,3604 40111 CS DAPBOOLS # TURN OFF TRIM GIMBAL
032426,000498: 36,3605 74736 MASK USEQRJTS
032427,000499: 36,3606 26111 ADS DAPBOOLS
032428,000500:
032429,000501: 36,3607 44737 CS HIRTHROT # ZERO AUTO-THROTTLE WHENEVER THE ENGINE
032430,000502: 36,3610 54055 TS THRUST # IS TURNED OFF.
032431,000503: 36,3611 34750 CAF BIT4 # THE HARDWARE DOES SO ONLY WHEN THE
032432,000504: 36,3612 00006 EXTEND # ENGINE IS DISARMED.
032433,000505: 36,3613 05014 WOR CHAN14
032434,000506:
032435,000507: 36,3614 04707 TC ISWRETRN
032436,000508: 36,3615 04674 COASTSET TC IBNKCALL # DO DAP COASTING INITIALIZATION
032437,000509: 36,3616 40205 CADR ALLCOAST
032438,000510: 36,3617 05272 TC TASKOVER
032439,000511:
032440,000512: 36,3620 E6,1422 EBANK= OMEGAQ
032441,000513: 36,3620 45020 UPDATEVG STQ CALL
032442,000514: 36,3621 03665 QTEMP1
032443,000515: 36,3622 56447 S40.8 # X-PRODUCT STEERING
032444,000516: 36,3623 43014 BON BON # WILL RETURN HERE FROM S40.8
032445,000517: 36,3624 01307 XDELVFLG
032446,000518: 36,3625 03665 QTEMP1
032447,000519: 36,3626 03705 NORMSW
032448,000520: 36,3627 75642 180SETUP
032449,000521: 36,3630 45345 DLOAD DSU
032450,000522: 36,3631 01234 PIPTIME
032451,000523: 36,3632 03763 TIGSAVE
032452,000524: 36,3633 50025 DSU BMN
032453,000525: 36,3634 03432 TNEWA
032454,000526: 36,3635 75665 GETRANS
032455,000527: 36,3636 43345 DLOAD DAD
032456,000528: 36,3637 03763 TIGSAVE
032457,000529: 36,3640 03432 TNEWA
032458,000530: 36,3641 03765 STORE TIGSAVEP
032459,000531: 36,3642 77776 180SETUP EXIT
032460,000532: 36,3643 10754 CCS PHASE2
032461,000533: 36,3644 13672 TCF NO.9
032462,000534: 36,3645 34737 CAF PRIO10
|
Page 748 |
032464,000536: 36,3646 00004 INHINT
032465,000537: 36,3647 05105 TC FINDVAC
032466,000538: 36,3650 E7,1706 EBANK= VG
032467,000539: 36,3650 02713 56067 2CADR S40.9 # LAMBERT VTOGAIN
032468,000540:
032469,000541: 36,3652 05340 TC 2PHSCHNG
032470,000542: 36,3653 00172 OCT 00172 # 2.17SPOT FOR S40.9
032471,000543: 36,3654 10035 OCT 10035 # HERE AND REREADAC AFTER RESTART
032472,000544:
032473,000545: 36,3655 06042 ENDSTEER TC INTPRET
032474,000546: 36,3656 77745 DLOAD
032475,000547: 36,3657 03765 TIGSAVEP
032476,000548: 36,3660 27763 STOVL TIGSAVE
032477,000549: 36,3661 01220 RN
032478,000550: 36,3662 26323 STOVL RINIT
032479,000551: 36,3663 01226 VN
032480,000552: 36,3664 02331 STORE VINIT
032481,000553: 36,3665 45345 GETRANS DLOAD DSU
032482,000554: 36,3666 03631 TPASS4
032483,000555: 36,3667 01234 PIPTIME
032484,000556: 36,3670 37452 STCALL DELLT4
032485,000557: 36,3671 03665 QTEMP1
032486,000558:
032487,000559: 36,3672 06042 NO.9 TC INTPRET
032488,000560: 36,3673 77650 GOTO
032489,000561: 36,3674 03665 QTEMP1
032490,000562: 36,3675 06042 STEERING TC INTPRET
032491,000563:
032492,000564: 36,3676 77624 CALL
032493,000565: 36,3677 75620 UPDATEVG
032494,000566: 36,3700 77776 EXIT
032495,000567:
032496,000568: 36,3701 E7,1515 EBANK= DVCNTR
032497,000569: 36,3701 00004 NSTEER INHINT
032498,000570: 36,3702 35016 CA EBANK7
032499,000571: 36,3703 54003 TS EBANK
032500,000572: 36,3704 40076 CS FLAGWRD2 # CHECK IMPULSE SWITCH. IT IS SET EITHER
032501,000573: 36,3705 74743 MASK IMPULBIT # BY S40.13 IF TBURN<6 SECS OR BY S40.8 IF
032502,000574: 36,3706 10000 CCS A # STEERING IS ALMOST DONE.
032503,000575:
032504,000576: 36,3707 13714 TCF +5 # IMPULSW = 0 EXIT
032505,000577: 36,3710 40103 CS FLAGWRD7 # IMPULSW = 1 WHY? CHECK IDLEFLAG
032506,000578: 36,3711 74745 MASK IDLEFBIT # (IDLEFLAG = 0 --> DVMON ON)
032507,000579: 36,3712 10000 CCS A
032508,000580: 36,3713 13716 TCF +3 # DVMON ON-->THRUSTING-->IMPULSW VIA S40.8
032509,000581: 36,3714 04635 TC POSTJUMP # DVMON OFF-->IMPULSW ON VIA S40.13-->EXIT
032510,000582: 36,3715 65636 CADR SERVEXIT
032511,000583:
032512,000584: 36,3716 04674 TC IBNKCALL
032513,000585: 36,3717 40166 CADR STOPRATE
032514,000586:
|
Page 749 |
032516,000588: 36,3720 05527 TC DOWNFLAG # TURN OFF IMPULSW
032517,000589: 36,3721 00044 ADRES IMPULSW
032518,000590:
032519,000591: 36,3722 05515 TC UPFLAG
032520,000592: 36,3723 00161 ADRES IDLEFLAG # TURN OFF DVMON
032521,000593:
032522,000594: 36,3724 00004 INHINT
032523,000595: 36,3725 00006 EXTEND
032524,000596: 36,3726 31442 DCA TIG
032525,000597: 36,3727 52155 DXCH MPAC
032526,000598: 36,3730 00006 EXTEND
032527,000599: 36,3731 40025 DCS TIME2
032528,000600: 36,3732 20155 DAS MPAC
032529,000601: 36,3733 07262 TC TPAGREE
032530,000602: 36,3734 30155 CAE MPAC +1
032531,000603: 36,3735 03744 TC GETDT
032532,000604: 36,3736 05204 TC TWIDDLE
032533,000605: 36,3737 03551 ADRES ENGOFTSK
032534,000606: 36,3740 05340 TC 2PHSCHNG
032535,000607: 36,3741 40114 OCT 40114 # ENGOFTSK (ENGINOFF)
032536,000608: 36,3742 00035 OCT 00035 # SERVICER--REREADAC
032537,000609: 36,3743 15155 TCF ENDOFJOB
032538,000610:
032539,000611: 36,3744 10000 GETDT CCS A
032540,000612: 36,3745 13750 TCF +3
032541,000613: 36,3746 13750 TCF +2
032542,000614: 36,3747 34755 CAF ZERO
032543,000615: 36,3750 64753 AD ONE
032544,000616: 36,3751 56001 XCH L
032545,000617: 36,3752 34755 CAF ZERO
032546,000618: 36,3753 53517 DXCH TGO
032547,000619: 36,3754 31517 CA TGO +1
032548,000620: 36,3755 00002 TC Q
032549,000621:
032550,000622:
032551,000623: # ************************************************************************
032552,000624:
032553,000625: 36,3756 00000 5SECDP OCT 00000 # DON'T MOVE FROM JUST BEFORE 5SEC
032554,000626: 36,3757 00764 5SEC DEC 500 B-14
032555,000627: 36,3760 04050 V16N40 VN 1640
032556,000628: 36,3761 04125 V16N85B VN 1685
032557,000629: 36,3762 04123 V1683 VN 1683
032558,000630: 36,3763 4777 SEC01 = 1SEC
032559,000631: 36,3763 36,2057 ACADN85 = P41TABLE +2
032560,000632:
032561,000633: 36,3763 E7,1622 EBANK= DELVIMU
032562,000634: 36,3763 03471 74067 ACADN83 2CADR CALCN83
032563,000635:
032564,000636: # *************************************************
032565,000637:
|
Page 750 |
032567,000639: # PROGRAM DESCRIPTION S40.1 DATE15NOV66
032568,000640: # MOD N02 LOG SECTION P40-P47
032569,000641: # MOD BY ZELDIN AND ADAPTED BY TALAYCO
032570,000642: # FUNCTIONAL DESCRIPTION
032571,000643: # COMPUTE INITIAL THRUST DIRECTION(UT) AND INITIAL VALUE OF VG
032572,000644: # VECTOR(VGTIG).
032573,000645: # CALLING SEQUENCE
032574,000646: # L CALL
032575,000647: # L+1 S40.1
032576,000648: # NORMAL EXIT MODE
032577,000649: # AT L+2 OF CALLING SEQUENCE (GOTO L+2) NORMAL RETURN OR
032578,000650: # ERROR RETURN IF NOSOFLAG =1
032579,000651: # SUBROUTINES CALLED
032580,000652: # LEMPREC
032581,000653: # INITVEL
032582,000654: # CALCGRAV
032583,000655: # MIDGIM
032584,000656: # ALARM OR ABORT EXIT MODES
032585,000657: # L+2 OF CALLING SEQUENCE,UNSOLVABLE CONIC IF NOSOFLAG=1
032586,000658: # ERASABLE INITIALIZATION REQUIRED
032587,000659: # WEIGHT/G ANTICIPATED VEHICLE MASS DP B16KGM
032588,000660: # XDELVFLG 1=DELTA-V MANEUVER,0=AIMPT STEER
032589,000661: # F THRUST FOR ENGINE USED
032590,000662: # IF DELTA-V MANEUVER
032591,000663: # DELVSIN SPECIFIED DELTA-V REQUIRED IN
032592,000664: # INERTIAL COORDS. OF ACTIVE VEHICLE
032593,000665: # AT TIME OF IGNITION VECTOR B7M/CS
032594,000666: # DELVSAB MAG. OF DELVSIN DP B7M/CS
032595,000667: # RTIG POSITION AT TIME OF IGNITION VECTOR B29M
032596,000668: # VTIG VELOCITY AT TIME OF IGNITION VECTOR B7M/CS
032597,000669: # IF AIMPT STEER
032598,000670: # TIG TIME OF IGNITION DP B28CS
032599,000671: # RTARG POSITION TARGET TIME VECTOR B29M
032600,000672: # CSTEER C FOR STEER LAW DP B2
032601,000673: # DLTARG TARGET TIME-IGNITION TIME DP B28CS
032602,000674: # OUTPUT
032603,000675: # UT DESIRED THRUST DIRECTION VECT. B2M/(CS.CS)
032604,000676: # VGTIG INITIAL VALUE OF VELOCITY
032605,000677: # TO BE GAINED (INERT. COORD.) VECTOR B7M/CS
032606,000678: # DELVLVC VGTIG IN LOC. VERT. COORDS. B7M/CS
032607,000679: # BDT V REQUIRED AT TIG -V REQUIRED AT (TIG-2SEC)
032608,000680: # -GDT FOR S40.13 VECT B7M/CS
032609,000681: # RTIG CALC IN S40.1B(AIMPT) FOR S40.2,3 VECTOR B29M
032610,000682: # POSITION AT TIME OF IGNITION
032611,000683: # DEBRIS QTEMP1
032612,000684: # MPAC, QPRET
032613,000685: # PUSHLIST
032614,000686: 14,2347 BANK 14
032615,000687: 27,2000 SETLOC P40S1
032616,000688: 27,2000 BANK
032617,000689:
|
Page 751 |
032619,000691: 27,2246 COUNT* $$/S40.1
032620,000692: 27,2246 71220 S40.1 STQ DLOAD
032621,000693: 27,2247 03632 QTEMP
032622,000694: 27,2250 03442 TIG
032623,000695: 27,2251 03763 STORE TIGSAVE
032624,000696: 27,2252 77614 DELVTEST BOFF
032625,000697: 27,2253 01347 XDELVFLG
032626,000698: 27,2254 56336 S40.1B
032627,000699: 27,2255 77201 CALCTHET SETPD VLOAD
032628,000700: 27,2256 00001 0
032629,000701: 27,2257 03650 VTIG
032630,000702: 27,2260 02331 STORE VINIT
032631,000703: 27,2261 53435 VXV UNIT
032632,000704: 27,2262 03642 RTIG
032633,000705: 27,2263 27673 STOVL UT # UP IN UT
032634,000706: 27,2264 03642 RTIG
032635,000707: 27,2265 02323 STORE RINIT
032636,000708: 27,2266 65236 VSQ PDDL
032637,000709: 27,2267 00045 36D
032638,000710: 27,2270 56205 DMP DDV
032639,000711: 27,2271 16412 THETACON
032640,000712: 27,2272 41205 DMP DMP
032641,000713: 27,2273 03664 DELVSAB
032642,000714: 27,2274 01244 WEIGHT/G
032643,000715: 27,2275 77671 DDV
032644,000716: 27,2276 03735 F
032645,000717: 27,2277 24017 STOVL 14D
032646,000718: 27,2300 03656 DELVSIN
032647,000719:
032648,000720: 27,2301 74241 DOT VXSC
032649,000721: 27,2302 03673 UT
032650,000722: 27,2303 03673 UT
032651,000723: 27,2304 41552 VSL2 PUSH # (DELTAV.UP)UP SCALED AT 2(+7) P.D.L. 0
032652,000724: 27,2305 65245 BVSU PDDL # DELTA VP SCALED AT 2(+7) P.D.L. 6
032653,000725: 27,2306 03656 DELVSIN
032654,000726: 27,2307 00017 14D
032655,000727: 27,2310 63356 SIN PDVL
032656,000728: 27,2311 00007 6D
032657,000729: 27,2312 53435 VXV UNIT
032658,000730: 27,2313 03673 UT
032659,000731: 27,2314 45561 VXSC STADR
032660,000732: 27,2315 50076 STOVL VGTIG # UNIT(VPXUP)SIN(THETAT/2) IN VGTIG.
032661,000733: 27,2316 65256 UNIT PDDL # UNIT(DELTA VP) IN P.D.L. 6
032662,000734: 27,2317 00017 14D
032663,000735: 27,2320 74346 COS VXSC
032664,000736: 27,2321 74255 VAD VXSC
032665,000737: 27,2322 03701 VGTIG
032666,000738: 27,2323 00045 36D
032667,000739: 27,2324 53352 VSL2 VAD
032668,000740: 27,2325 77626 STADR
|
Page 752 |
032670,000742: 27,2326 74076 STORE VGTIG # VG IGNITION SCALED AT 2(+7)M/CS
032671,000743:
032672,000744: 27,2327 77656 UNIT
032673,000745: 27,2330 27673 STOVL UT # THRUST DIRECTION SCALED AT 2(+1)
032674,000746: 27,2331 03701 VGTIG
032675,000747: 27,2332 45006 PUSH CALL
032676,000748: 27,2333 15741 GET.LVC # VGTIG IN LV COOR AT 2(+7) M/CS IN DELVLVC
032677,000749: 27,2334 77650 GOTO
032678,000750: 27,2335 03632 QTEMP
032679,000751: 27,2336 77745 S40.1B DLOAD
032680,000752: 27,2337 03442 TIG
032681,000753: 27,2340 00041 STORE TDEC1
032682,000754: 27,2341 77621 BDSU
032683,000755: 27,2342 03631 TPASS4
032684,000756: 27,2343 37452 STCALL DELLT4 # INTERCEPT TIME - TIG.
032685,000757: 27,2344 27056 LEMPREC
032686,000758: 27,2345 40375 VLOAD SETPD # LOAD STATE VECTOR AT TIG FOR INITVEL.
032687,000759: 27,2346 00001 RATT
032688,000760: 27,2347 00001 0
032689,000761: 27,2350 03642 STORE RTIG
032690,000762: 27,2351 02323 STORE RINIT
032691,000763: 27,2352 77656 UNIT
032692,000764: 27,2353 27537 STOVL UNIT/R/
032693,000765: 27,2354 00007 VATT
032694,000766: 27,2355 03650 STORE VTIG
032695,000767: 27,2356 02331 STORE VINIT
032696,000768: 27,2357 65345 DLOAD PDDL # NUMIT = 0
032697,000769: 27,2360 06520 ZEROVECS
032698,000770: 27,2361 16406 EPS1
032699,000771: 27,2362 43214 BOFF DAD
032700,000772: 27,2363 03745 NORMSW
032701,000773: 27,2364 56366 SMALLEPS
032702,000774: 27,2365 16410 EPS2 # EPSILON4 = 10 DEGREES OR 45 DEGREES.
032703,000775: 27,2366 66006 SMALLEPS PUSH SXA,1
032704,000776: 27,2367 02776 RTX1
032705,000777: 27,2370 45134 SXA,2 CALL
032706,000778: 27,2371 02777 RTX2
032707,000779: 27,2372 22000 INITVEL
032708,000780: 27,2373 41575 VLOAD PUSH
032709,000781: 27,2374 02366 DELVEET3 # VGTIG = VR - VN.
032710,000782: 27,2375 03701 STORE VGTIG
032711,000783: 27,2376 77656 UNIT # UT = UNIT (VGTIG)
032712,000784: 27,2377 17673 STODL UT
032713,000785: 27,2400 00045 36D
032714,000786: 27,2401 37664 STCALL VGDISP # CONVERT VGTIG (IN PUSHLIST ) TO LOCAL
032715,000787: 27,2402 15741 GET.LVC # VERTICAL COORDINATES.
032716,000788: 27,2403 77650 GOTO
032717,000789: 27,2404 03632 QTEMP
032718,000790:
032719,000791: 27,2405 00707 03434 EPS1 2DEC* 2.777777778 E-2* # 10 DEGREES AT 1 REVOLUTION.
032720,000792:
|
Page 753 |
032722,000794: 27,2407 03070 34344 EPS2 2DEC* 9.722222222 E-2* # 35 DEGREES AT 1 REVOLUTION.
032723,000795:
032724,000796: 27,2411 00024 13714 THETACON 2DEC .31830989 B-8
032725,000797:
|
Page 754 |
032727,000799: # SUBROUTINE NAME: S40.2,3 MOD. NO. 3 DATE: APRIL 4, 1967
032728,000800:
032729,000801: # MODIFICATION BY: JONATHAN D. ADDELSTON (ADAMS ASSOCIATES)
032730,000802:
032731,000803: # MOD. NO. 4: JULY 18, 1967: PETER ADLER (MIT/IL)
032732,000804:
032733,000805: # MOD. NO. 5: OCTOBER 18, 1967: PETER ADLER (MIT/IL)
032734,000806:
032735,000807: # ORIGINALLY BY: SAYDEAN ZELDIN (MIT INSTRUMENTATION LAB) AND RICHARD TALAYCO (SYSTEM DEVELOPMENT CORP)
032736,000808:
032737,000809: # S40.2,3 COMPUTES "POINTVSM" WHICH IS THE HALF-UNIT DESIRED THRUST VECTOR IN STABLE-MEMBER COORDINATES FROM "UT"
032738,000810: # WHICH IS THE SAME VECTOR IN REFERENCE COORDINATES. IT DETERMINES THE CORRECT VALUES FOR "SCAXIS" USING THE +X
032739,000811: # AXIS FOR DPS, APS, AND RCS BURNS. THE "WINGS-LEVEL HEADS-UP" LM ORIENTATION IS THEN COMPUTED IN REFERENCE
032740,000812: # COORDINATES. THESE VECTORS ALSO DEFINE THE "PREFERRED IMU ORIENTATION". UPON COMPLETION OF THIS CALCULATION,
032741,000813: # THE "PREFERRED ATTITUDE COMPUTED" FLAG IS SET (PFRATFLG).
032742,000814:
032743,000815:
032744,000816: # CALLING SEQUENCE:
032745,000817: # L CALL INTERPRETIVE CALL.
032746,000818: # L +1 S40.2,3
032747,000819: # L +2 (RETURN) GIMBAL ANGLE VECTOR IN MPAC.
032748,000820:
032749,000821: # SUBROUTINES CALLED: NONE.
032750,000822:
032751,000823: # NORMAL RETURN: L +2 (SEE CALLING SEQUENCE ABOVE).
032752,000824:
032753,000825: # ALARM/ABORT MODES: NONE.
032754,000826:
032755,000827: # INPUT:
032756,000828:
032757,000829: # 1. REFSMMAT MATRIX FROM REFERENCE TO STABLE-MEMBER COORDINATES SCALED AT 2.
032758,000830: # 2. UT HALF-UNIT DESIRED THRUST DIRECTION.
032759,000831: # 3. RTIG POSITION AT TIG IN REFERENCE COORDINATES.
032760,000832:
032761,000833: # OUTPUT:
032762,000834:
032763,000835: # 1. : XSCREF : WINGS-LEVEL HEADS-UP LM ORIENTATION
032764,000836: # : YSCREF : IN REFERENCE COORDINATES
032765,000837: # : ZSCREF : (PREFERRED IMU ORIENTATION).
032766,000838: # 2. POINTVSM DESIRED THRUST DIRECTION IN STABLE-MEMBER COORDINATES.
032767,000839: # 3. SCAXIS HALF-UNIT OF AXIS TO ALIGN IN STABLE-MEMBER COORDINATES.
032768,000840: # 4. PFRATFLG INTERPRETIVE FLAG. ON: PREFERRED ORIENTATION COMPUTED; OFF: NOT COMPUTED.
032769,000841:
032770,000842: # DEBRIS: NONE.
032771,000843:
|
Page 755 |
032773,000845: 27,2413 COUNT* $$/S40.2
032774,000846: 27,2413 77775 S40.2,3 VLOAD # UT: DESIRED THRUST DIRECTION (HALF-UNIT)
032775,000847: 27,2414 03673 UT # (PUT INTO TOP OF PUSH-DOWN-LIST.)
032776,000848: 27,2415 76521 MXV VSL1 # TRANSFORM THRUST DIRECTION TO STABLE-
032777,000849: 27,2416 01732 REFSMMAT # MEMBER FROM REFERENCE COORDS (RESCALE).
032778,000850: 27,2417 27773 STOVL POINTVSM # SAVE FOR "VECPOINT" ROUTINE (LEMMANU).
032779,000851: 27,2420 06516 UNITX # SCAXIS SET TO +X, FOR P40 AND P42 AND
032780,000852: 27,2421 27765 STOVL SCAXIS # FOR P41 IF RCS NOT -X,+Y,-Y,+Z,-Z.
032781,000853:
032782,000854: 27,2422 03673 UT # ASSUME +X BURN ALWAYS, EVEN FOR RCS.
032783,000855: 27,2423 03607 PLUSX STORE XSCREF # XSCREF = UT (DESIRED THRUST DIRECTION.)
032784,000856: 27,2424 53435 VXV UNIT # RTIG = POSITION AT TIME-OF-IGNITION.
032785,000857: 27,2425 03642 RTIG # YSCREF = UNIT(UT X RTIG)
032786,000858: 27,2426 46125 PDDL BHIZ
032787,000859: 27,2427 00045 36D # TEST MAGNITUDE OF UT X RTIG
032788,000860: 27,2430 56441 FIXY # IF SMALL, USE UT X VTIG AS YSC
032789,000861: 27,2431 45575 STORY VLOAD STADR
032790,000862: 27,2432 74162 STORE YSCREF
032791,000863: 27,2433 76435 VXV VSL1 # COMPUTE (YSCREF X XSCREF),BUT FOR A
032792,000864: 27,2434 03607 XSCREF # RIGHT HANDED SYSTEM, NEED (X CROSS Y).
032793,000865: 27,2435 77676 VCOMP # ZSCREF = - (YSCREF X XSCREF)
032794,000866: 27,2436 03623 STORE ZSCREF # = + (XSCREF X YSCREF)
032795,000867:
032796,000868: 27,2437 43414 SET RVQ
032797,000869: 27,2440 01073 PFRATFLG
032798,000870: 27,2441 47375 FIXY VLOAD VXV # IN THIS CASE,
032799,000871: 27,2442 03607 XSCREF # YSCREF = UNIT(XSCREF X VTIG)
032800,000872: 27,2443 03650 VTIG
032801,000873: 27,2444 41456 UNIT PUSH
032802,000874: 27,2445 77650 GOTO
032803,000875: 27,2446 56431 STORY
032804,000876:
|
Page 756 |
032806,000878: # SUBROUTINE S40.8
032807,000879:
032808,000880: # MODIFIED APRIL 3, 1968 BY PETER ADLER MIT/IL
032809,000881:
032810,000882: # DESCRIPTION
032811,000883:
032812,000884: # S40.8 UPDATES THE VELOCITY-TO-BE-GAINED VECTOR, VG, (AND FOR LAMBERT TARGETTED BURNS ALSO EXTRAPOLATES VG
032813,000885: # USING THE BDT VECTOR) COMPUTES THE TIME FOR ISSUING THE ENGINE OFF COMMAND, TGO, AND CALLS THE ROUTINE
032814,000886: # "FINDCDUW", WHICH GENERATES THE STEERING COMMANDS FOR THE DAP.
032815,000887:
032816,000888: # CALLING SEQUENCE
032817,000889:
032818,000890: # L-1 CALL
032819,000891: # L S40.8
032820,000892: # L+1 INTERPRETIVE RETURN
032821,000893:
032822,000894: # ALARM
032823,000895:
032824,000896: # IF VG . DELVREF IS NEGATIVE (VG AND DELVREF OVER 90 DEGREES APART), BYPASS TGO AND STEERING COMPUTATIONS
032825,000897: # AND SET ALARM 1407. RETURN TO CALLER NORMALLY.
032826,000898:
032827,000899: # INPUT AND INITIALIZATION
032828,000900:
032829,000901: # VGPREV REFERENCE 2(7) M/CS
032830,000902: # DELVREF REFERENCE 2(7) M/CS
032831,000903: # BDT REFERENCE 2(7) M/CS
032832,000904: # TDECAY TAIL-OFF TIME 2(28) CS
032833,000905: # XDELVFLG 1 = EXTERNAL DELTA-V; 0 = LAMBERT (AIMPOINT)
032834,000906: # STEERSW 1 = DO STEERING AND TGO COMPUTATIONS; 0 = VG UPDATE ONLY
032835,000907: # FIRSTFLG 1 = GONE TO LAMBERT AT LEAST ONCE; 0 = HAVEN'T GONE TO LAMBERT YET
032836,000908:
032837,000909: # NOTE: VGTIG EQUALS VGPREV
032838,000910:
032839,000911: # OUTPUT
032840,000912:
032841,000913: # STEERSW SEE INPUT
032842,000914: # IMPULSW 1 = ENGINE OFF IN TGO CENTISECONDS; 0 = CONTINUE BURN
032843,000915: # TGO TIME TO CUT-OFF 2(28) CS
032844,000916: # SEE FINDCDUW FOR STEERING OUTPUTS.
032845,000917:
032846,000918: # SUBROUTINE CALLED
032847,000919:
032848,000920: # FINDCDUW
032849,000921:
032850,000922: # DEBRIS
032851,000923:
032852,000924: # MPACS, PUSHLIST
032853,000925:
032854,000926: 27,2447 COUNT* $$/S40.8
|
Page 757 |
032856,000928: 27,2447 77614 S40.8 BOF # GENERATE VR IF NOT EXTERNAL DELTA-V BURN
032857,000929: 27,2450 01347 XDELVFLG
032858,000930: 27,2451 56735 RASTEER1
032859,000931: 27,2452 52375 VLOAD VSU
032860,000932: 27,2453 03701 VGPREV
032861,000933: 27,2454 03527 DELVREF
032862,000934: 27,2455 03707 VGAIN* STORE VG # VELOCITY TO BE GAINED SCALED AT (7)M/CS
032863,000935: 27,2456 76521 MXV VSL1
032864,000936: 27,2457 01732 REFSMMAT
032865,000937: 27,2460 03253 STORE UNFC/2
032866,000938: 27,2461 51575 BDTOK VLOAD ABVAL
032867,000939: 27,2462 03707 VG
032868,000940: 27,2463 03664 STORE VGDISP
032869,000941: 27,2464 77776 EXIT
032870,000942: 27,2465 05364 TC PHASCHNG
032871,000943: 27,2466 10035 OCT 10035
032872,000944: 27,2467 06042 TC INTPRET
032873,000945: 27,2470 77201 TGDCALC SETPD VLOAD
032874,000946: 27,2471 00001 0
032875,000947: 27,2472 03707 VG
032876,000948: 27,2473 27701 STOVL VGPREV
032877,000949: 27,2474 03527 DELVREF
032878,000950: 27,2475 57414 BOFF VCOMP
032879,000951: 27,2476 01344 STEERSW
032880,000952: 27,2477 00052 QPRET
032881,000953: 27,2500 77656 UNIT
032882,000954: 27,2501 41441 DOT PUSH
032883,000955: 27,2502 03707 VG
032884,000956: 27,2503 56244 BPL DDV
032885,000957: 27,2504 56532 ALARMIT # DELV IS MORE THAN 90 DEGREES FROM VG.
032886,000958: 27,2505 03743 VEX
032887,000959: 27,2506 41215 DAD DMP
032888,000960: 27,2507 06516 DPHALF
032889,000961: 27,2510 56261 SR DDV
032890,000962: 27,2511 20613 10D
032891,000963: 27,2512 00045 36D
032892,000964: 27,2513 43205 DMP DAD
032893,000965: 27,2514 16541 -FOURDT
032894,000966: 27,2515 03741 TDECAY
032895,000967: 27,2516 03517 STORE TGO
032896,000968: 27,2517 77615 DAD
032897,000969: 27,2520 01234 PIPTIME
032898,000970: 27,2521 17442 STODL TIG
032899,000971: 27,2522 03517 TGO
032900,000972: 27,2523 51025 DSU BPL
032901,000973: 27,2524 16543 FOURSECS # 400 CS
032902,000974: 27,2525 61072 FINDCDUW -2
032903,000975: 27,2526 43014 SET CLRGO
032904,000976: 27,2527 01066 IMPULSW
032905,000977: 27,2530 01224 STEERSW
032906,000978: 27,2531 00052 QPRET
032907,000979:
|
Page 758 |
032909,000981: 27,2532 77776 ALARMIT EXIT
032910,000982: 27,2533 05600 TC ALARM
032911,000983: 27,2534 01407 OCT 01407
032912,000984: 27,2535 06042 TC INTPRET
032913,000985: 27,2536 77650 GOTO
032914,000986: 27,2537 61072 FINDCDUW -2
032915,000987:
032916,000988: 27,2540 77715 77777 -FOURDT 2DEC -800 B-18 # -4 (200 CS.) B (-18)
032917,000989:
032918,000990: 27,2542 00000 00620 FOURSECS 2DEC 400 B-28 # 400 CS SCALED AT 2(+28) CS
032919,000991:
032920,000992: 27,2544 E7,1742 2VEXHUST = VEX
032921,000993:
|
Page 759 |
032923,000995: # NAME S40.13 - TIMEBURN
032924,000996: # FUNCTION (1) DETERMINE WHETHER A GIVEN COMBINATION OF VELOCITY TO
032925,000997: # BE GAINED AND ENGINE CHOICE RESULT IN A BURN TIME
032926,000998: # SUFFICIENT TO ALLOW STEERING AT THE VEHICLE DURING THE
032927,000999: # BURN
032928,001000: # (2) THE MAGNITUDE OF THE RESULTING BURN TIME -- IF IT
032929,001001: # IS SHORT -- AND THE ASSOCIATED TIME OF THE ENGINE OFF
032930,001002: # SIGNAL
032931,001003: # CALLING SEQUENCE VIA FINDVAC AS A NEW JOB
032932,001004: # INPUT VGTIG VELOCITY TO BE GAINED VECTOR (METERS/CS) AT +7
032933,001005: # WEIGHT/G MASS OF VEHICLE IN KGM AT +16
032934,001006: # F APS ENGINE THRUST IN M.NEWTONS AT +7
032935,001007: # AND ALSO FOR RCS ENGINE
032936,001008: # MDOT RATE OF DECREASE OF VEHICLE MASS DURING ENGINE
032937,001009: # BURN IN KILOGRAMS/CS AT +3 . THIS SCALING MAY
032938,001010: # REQUIRE MODIFICATION FOR SATURN BURNS.
032939,001011: # ENG1FLAG SWITCH TO DECIDE WHETHER APS OR DPS ENGINE IS USED
032940,001012: # =0 DPS
032941,001013: # =1 APS
032942,001014: # OUTPUT IMPULSW ZERO FOR STEERING
032943,001015: # ONE FOR ATTITUDE HOLD
032944,001016: # NOTHROTL ZERO FOR THROTTLING
032945,001017: # ONE TO INHIBIT THROTTLING
032946,001018: # TGO TIME TO BURN IN CS
032947,001019: # THE QUANTITY M.NEWTON = 10000 NEWTONS WILL BE USED TO EXPRESS
032948,001020: # FORCE
032949,001021:
032950,001022: 27,2544 E7,1516 EBANK= TGO
032951,001023: 27,2544 COUNT* $$/40.13
032952,001024: 27,2544 06042 S40.13 TC INTPRET
032953,001025: 27,2545 43001 SETPD CLEAR
032954,001026: 27,2546 00001 00D
032955,001027: 27,2547 01266 IMPULSW # ASSUME NO STEERING UNTIL FOUND OTHERWISE
032956,001028: 27,2550 51575 VLOAD ABVAL
032957,001029: 27,2551 03701 VGTIG # VELOCITY TO BE GAINED AT +7
032958,001030: 27,2552 41325 PDDL DMP # 00D = MAG OF VGTIG AT +7
032959,001031: 27,2553 21000 4SEC(17) # CORRECT VG FOR 4 SECS OF 2 JET ULLAGE
032960,001032: 27,2554 34021 FRCS2
032961,001033: 27,2555 72471 DDV SL1 # SCALE
032962,001034: 27,2556 01244 WEIGHT/G
032963,001035: 27,2557 41421 BDSU PUSH
032964,001036: 27,2560 43014 BOFF SET
032965,001037: 27,2561 05342 APSFLAG
032966,001038: 27,2562 56632 S40.13D # FOR DPS ENGINE
032967,001039: 27,2563 02463 NOTHROTL
032968,001040: 27,2564 56345 DLOAD DDV # 00D = MAG OF VGTIG CORRECTED
032969,001041: 27,2565 16001 K1VAL # M.NEWTONS-CS AT +24
032970,001042: 27,2566 01244 WEIGHT/G
032971,001043: 27,2567 50021 BDSU BMN
|
Page 760 |
032973,001045: 27,2570 00001 00D
032974,001046: 27,2571 56614 S40.131 # TGO LESS THAN 100 CS
032975,001047: 27,2572 41325 PDDL DMP # 02D = TEMP1 AT +7
032976,001048: 27,2573 03737 MDOT
032977,001049:
032978,001050: # MDOT REPRESENTS THE RATE OF DECREASE OF VEHICLE MASS DURING ENGINE
032979,001051: # BURN IN KILOGRAMS/CS . WHEN SATURN IS USED , THE SCALING MAY
032980,001052: # REQUIRE ADJUSTMENT
032981,001053:
032982,001054: 27,2574 16704 3.5SEC # 350 CS AT +14
032983,001055: 27,2575 65221 BDSU PDDL
032984,001056: 27,2576 01244 WEIGHT/G
032985,001057: 27,2577 03735 F
032986,001058: 27,2600 60405 DMP SR2 # SCALE
032987,001059: 27,2601 16706 5SECS
032988,001060: 27,2602 41471 DDV PUSH # 04D = TEMP2
032989,001061: 27,2603 51021 BDSU BPL
032990,001062: 27,2604 00003 02D
032991,001063: 27,2605 56632 S40.13D
032992,001064: 27,2606 55345 DLOAD BDDV
032993,001065: 27,2607 43205 DMP DAD
032994,001066: 27,2610 16706 5SECS
032995,001067: 27,2611 16702 1SEC2D # 100 CS AT +14
032996,001068: 27,2612 77650 GOTO
032997,001069: 27,2613 56622 S40.132
032998,001070: 27,2614 41345 S40.131 DLOAD DMP
032999,001071: 27,2615 01244 WEIGHT/G
033000,001072: 27,2616 41542 SR1 PUSH
033001,001073: 27,2617 56215 DAD DDV
033002,001074: 27,2620 16003 K2VAL # M.NEWTON CS AT +24
033003,001075: 27,2621 16005 K3VAL # M.NEWTON CS AT +10
033004,001076: 27,2622 77414 S40.132 SET EXIT
033005,001077: 27,2623 01066 IMPULSW
033006,001078: 27,2624 07262 S40.132* TC TPAGREE
033007,001079: 27,2625 30154 CA MPAC
033008,001080: 27,2626 56001 XCH L
033009,001081: 27,2627 34755 CA ZERO
033010,001082: 27,2630 53517 DXCH TGO
033011,001083: 27,2631 12654 TCF S40.134
033012,001084:
033013,001085: 27,2632 41345 S40.13D DLOAD DMP # FOR DPS ENGINE
033014,001086: 27,2633 00001 00D
033015,001087: 27,2634 01244 WEIGHT/G
033016,001088: 27,2635 43006 PUSH BON
033017,001089: 27,2636 05302 APSFLAG
033018,001090: 27,2637 56675 APSTGO
033019,001091: 27,2640 43071 DDV CLEAR
033020,001092: 27,2641 16007 S40.136
033021,001093: 27,2642 02663 NOTHROTL
033022,001094: 27,2643 41400 BOV PUSH
|
Page 761 |
033024,001096: 27,2644 56657 S40.130V
033025,001097: 27,2645 51025 S40.137 DSU BPL
033026,001098: 27,2646 16710 6SEC # 600.0 CS AT +14
033027,001099: 27,2647 56665 S40.138
033028,001100: 27,2650 52015 DAD GOTO
033029,001101: 27,2651 16710 6SEC
033030,001102: 27,2652 56622 S40.132
033031,001103: 27,2653 77776 S40.133 EXIT
033032,001104: 27,2654 05364 S40.134 TC PHASCHNG
033033,001105: 27,2655 00003 OCT 00003
033034,001106: 27,2656 05155 TC ENDOFJOB
033035,001107: 27,2657 40545 S40.130V DLOAD SR4 # RECOMPUTE TGO IN TIME2 UNITS
033036,001108: 27,2660 77671 DDV
033037,001109: 27,2661 16011 S40.136_ # S40.136 SHIFTED LEFT 10
033038,001110: 27,2662 03517 STORE TGO
033039,001111: 27,2663 77776 EXIT
033040,001112: 27,2664 12654 TCF S40.134 # REJOIN COMMON CODING FOR RESTART PROTECT
033041,001113:
033042,001114: 27,2665 51025 S40.138 DSU BPL
033043,001115: 27,2666 16712 89SECS
033044,001116: 27,2667 56672 STORETGO
033045,001117: 27,2670 77614 SET
033046,001118: 27,2671 02463 NOTHROTL
033047,001119: 27,2672 77745 STORETGO DLOAD # LOAD TGO AT 2(14)
033048,001120: 27,2673 77776 EXIT
033049,001121: 27,2674 12624 TCF S40.132*
033050,001122:
033051,001123: 27,2675 62471 APSTGO DDV SL2
033052,001124: 27,2676 34007 FAPS
033053,001125: 27,2677 77650 GOTO
033054,001126: 27,2700 56673 STORETGO +1
033055,001127: 27,2701 00144 00000 1SEC2D 2DEC 100.0 B-14 # 100.0 CS AT +14
033056,001128:
033057,001129: 27,2703 01274 00000 3.5SEC 2DEC 350.0 B-13 # 350 CS AT +13
033058,001130:
033059,001131: 27,2705 00764 00000 5SECS 2DEC 500.0 B-14 # 500.0 CS AT +14
033060,001132:
033061,001133: 27,2707 01130 00000 6SEC 2DEC 600.0 B-14 # 600.0 CS AT +14
033062,001134:
033063,001135: 27,2711 21304 00000 89SECS 2DEC 8900.0 B-14
033064,001136:
033065,001137: # FUNCTION (1) GENERATES REQUIRED VELOCITY AND VELOCITY-TO-BE-GAINED
033066,001138: # VECTORS FOR USE DURING AIMPOINT MANEUVERS EVERY TWO
033067,001139: # COMPUTATION CYCLES (4 SECONDS).
033068,001140: # (2) UPDATES THE B VECTOR WHICH IS USED IN THE FINAL
033069,001141: # CALCULATION OF EXTRAPOLATING THE VELOCITY-TO-BE-GAINED
033070,001142: # THROUGH ONE 2-SECOND INTERVAL INTO THE FUTURE.
033071,001143: # CALLING SEQ VIA FINDVAC AS NEW JOB.
|
Page 762 |
033073,001145: # INPUT RN - ACTIVE VEHICLE RADIUS VECTOR IN METERS AT +29.
033074,001146: # VN - ACTIVE VEHICLE VELOCITY VECTOR IN METERS/CS AT +7
033075,001147: # VRPREV - LAST COMPUTED VELOCITY REQUIRED VECTOR IN
033076,001148: # METERS/CS AT +7.
033077,001149: # TIG - TIME OF IGNITION IN CS AT +28.
033078,001150: # DLTARG - COMPUTATION CYCLE INTERVAL = 200 CS AT +28.
033079,001151: # PIPTIME - TIME OF RN AND VN IN CS AT +28.
033080,001152: # GDT/2 - HALF OF VELOCITY GAINED IN DELTA T TIME DUE TO
033081,001153: # ACCERERATION OF GRAVITY IN METERS/CS AT +7.
033082,001154: # DELVREF - CHANGE IN VELOCITY DURING LAST 2 SEC IN
033083,001155: # METERS/CS AT +7.
033084,001156: # OUTPUT VGPREV - VELOCITY TO BE GAINED VECTOR IN METERS/CS AT +7.
033085,001157: # VGDISP - MAG OF VGPREV FOR DISPLAY PURPOSES.
033086,001158: # VRPREV - VELOCITY REQUIRED VECTOR IN METERS/CS AT +7.
033087,001159: # BDT - B VECTOR IN METERS/CS AT +7.
033088,001160: # SUBROUTINES USED - INITVEL
033089,001161: 27,2713 E7,1700 EBANK= VGPREV
033090,001162: 27,2713 COUNT* $$/S40.9
033091,001163: 27,2713 06042 S40.9 TC INTPRET
033092,001164: 27,2714 77601 SETPD
033093,001165: 27,2715 00001 00D
033094,001166: 27,2716 71214 SET DLOAD
033095,001167: 27,2717 01072 AVFLAG # SET AVFLAG FOR LEM ACTIVE
033096,001168: 27,2720 06520 HI6ZEROS
033097,001169: 27,2721 77725 PDDL
033098,001170: 27,2722 16406 EPS1
033099,001171: 27,2723 43214 BOFF DAD # EPSILON4 = 10 OR 45 DEGREES.
033100,001172: 27,2724 03745 NORMSW
033101,001173: 27,2725 56727 EPSSMALL
033102,001174: 27,2726 16410 EPS2
033103,001175: 27,2727 45006 EPSSMALL PUSH CALL
033104,001176: 27,2730 22002 HAVEGUES
033105,001177: 27,2731 77776 ENDS40.9 EXIT
033106,001178: 27,2732 05364 TC PHASCHNG
033107,001179: 27,2733 00002 OCT 2
033108,001180: 27,2734 15155 TCF ENDOFJOB
033109,001181:
033110,001182:
033111,001183: 27,2735 51575 RASTEER1 VLOAD ABVAL
033112,001184: 27,2736 01220 RN
033113,001185: 27,2737 53744 LXC,2 SL*
033114,001186: 27,2740 02777 RTX2
033115,001187: 27,2741 57576 0,2
033116,001188: 27,2742 27715 STOVL RMAG
033117,001189: 27,2743 03444 RTARG
033118,001190: 27,2744 47051 VSU RTB
033119,001191: 27,2745 01220 RN
033120,001192: 27,2746 21725 NORMUNX1
033121,001193: 27,2747 17656 STODL IC
033122,001194: 27,2750 00045 36D # C(36D) = ABVAL(C)
|
Page 763 |
033124,001196: 27,2751 53674 XAD,2 SL*
033125,001197: 27,2752 00046 X1
033126,001198: 27,2753 57576 0,2
033127,001199: 27,2754 00037 STORE 30D
033128,001200: 27,2755 41301 NORM DMP
033129,001201: 27,2756 00050 X2
033130,001202: 27,2757 03715 RMAG
033131,001203: 27,2760 57101 NORM XAD,2
033132,001204: 27,2761 00047 X1
033133,001205: 27,2762 00046 X1
033134,001206: 27,2763 77734 SXA,2
033135,001207: 27,2764 03766 MUSCALE
033136,001208: 27,2765 17725 STODL R1C # 2(+58 -X)
033137,001209: 27,2766 00037 30D
033138,001210: 27,2767 65342 SR1 PDDL
033139,001211: 27,2770 03715 RMAG
033140,001212: 27,2771 65342 SR1 PDDL
033141,001213: 27,2772 03723 RTMAG
033142,001214: 27,2773 43342 SR1 DAD
033143,001215: 27,2774 45415 DAD STADR
033144,001216: 27,2775 74044 STORE SS # SS = (R1 + R2 +C )/2
033145,001217: 27,2776 41225 DSU DMP
033146,001218: 27,2777 00037 30D
033147,001219: 27,3000 03721 MU/A
033148,001220: 27,3001 77621 BDSU
033149,001221: 27,3002 03717 MUASTEER
033150,001222: 27,3003 45325 PDDL DSU
033151,001223: 27,3004 03733 SS
033152,001224: 27,3005 03715 RMAG
033153,001225: 27,3006 70501 NORM SR1
033154,001226: 27,3007 00047 X1
033155,001227: 27,3010 41271 DDV DMP
033156,001228: 27,3011 03725 R1C
033157,001229: 27,3012 53664 XSU,2 SL*
033158,001230: 27,3013 00046 X1
033159,001231: 27,3014 57575 1,2
033160,001232: 27,3015 77754 LXA,2
033161,001233: 27,3016 03766 MUSCALE
033162,001234: 27,3017 75366 SQRT SIGN
033163,001235: 27,3020 02673 GEOMSGN
033164,001236: 27,3021 00041 STORE 32D # + OR - A
033165,001237: 27,3022 41345 DLOAD DMP
033166,001238: 27,3023 03733 SS
033167,001239: 27,3024 03721 MU/A
033168,001240: 27,3025 77621 BDSU
033169,001241: 27,3026 03717 MUASTEER
033170,001242: 27,3027 45325 PDDL DSU
033171,001243: 27,3030 03733 SS
033172,001244: 27,3031 03723 RTMAG
033173,001245: 27,3032 70501 NORM SR1
|
Page 764 |
033175,001247: 27,3033 00047 X1
033176,001248: 27,3034 41271 DDV DMP
033177,001249: 27,3035 03725 R1C
033178,001250: 27,3036 53664 XSU,2 SL*
033179,001251: 27,3037 00046 X1
033180,001252: 27,3040 57575 1,2
033181,001253: 27,3041 65366 SQRT PDDL # -B (NO SIGN)
033182,001254: 27,3042 03733 SS
033183,001255: 27,3043 56225 DSU DDV
033184,001256: 27,3044 00037 30D
033185,001257: 27,3045 03733 SS
033186,001258: 27,3046 41566 SQRT PUSH
033187,001259: 27,3047 67542 SR1 ASIN
033188,001260: 27,3050 65205 DMP PDDL
033189,001261: 27,3051 17222 2PI+3
033190,001262: 27,3052 56325 PDDL DDV
033191,001263: 27,3053 00037 30D
033192,001264: 27,3054 03733 SS
033193,001265: 27,3055 77600 BOV
033194,001266: 27,3056 57057 +1
033195,001267: 27,3057 41366 SQRT DMP
033196,001268: 27,3060 44242 SR3 BDSU
033197,001269: 27,3061 65365 SIGN PDDL
033198,001270: 27,3062 02673 GEOMSGN
033199,001271: 27,3063 17222 2PI+3
033200,001272: 27,3064 45302 SR2 DSU
033201,001273: 27,3065 65205 DMP PDDL
033202,001274: 27,3066 03733 SS
033203,001275: 27,3067 03733 SS
033204,001276: 27,3070 75442 SR3 SQRT
033205,001277: 27,3071 77605 DMP
033206,001278: 27,3072 52525 PDDL SL3
033207,001279: 27,3073 03717 MUASTEER
033208,001280: 27,3074 55366 SQRT BDDV
033209,001281: 27,3075 43225 DSU DAD
033210,001282: 27,3076 03631 TPASS4
033211,001283: 27,3077 01234 PIPTIME
033212,001284: 27,3100 14037 STODL 30D
033213,001285: 27,3101 77765 SIGN
033214,001286: 27,3102 00037 30D # B WITH SIGN
033215,001287: 27,3103 00037 STORE 30D
033216,001288: 27,3104 77214 BON VLOAD
033217,001289: 27,3105 03705 NORMSW
033218,001290: 27,3106 57127 180MESS
033219,001291: 27,3107 03656 IC
033220,001292: 27,3110 53451 VSU UNIT
033221,001293: 27,3111 03537 UNIT/R/
033222,001294: 27,3112 63361 VXSC PDVL
033223,001295: 27,3113 00037 30D
033224,001296: 27,3114 03656 IC
|
Page 765 |
033226,001298: 27,3115 53455 VAD UNIT
033227,001299: 27,3116 03537 UNIT/R/
033228,001300: 27,3117 53361 GETVRVG1 VXSC VAD
033229,001301: 27,3120 00041 32D
033230,001302: 27,3121 53744 GETVRVG2 LXC,2 VSR*
033231,001303: 27,3122 02777 RTX2
033232,001304: 27,3123 57177 0 -1,2
033233,001305: 27,3124 02337 STORE VIPRIME
033234,001306: 27,3125 77650 GOTO
033235,001307: 27,3126 57172 ASTREND -2
033236,001308: 27,3127 50375 180MESS VLOAD DOT
033237,001309: 27,3130 03656 IC
033238,001310: 27,3131 03537 UNIT/R/
033239,001311: 27,3132 77240 BMN VLOAD
033240,001312: 27,3133 57152 NEGPROD
033241,001313: 27,3134 03656 IC
033242,001314: 27,3135 63362 VSR1 PDVL
033243,001315: 27,3136 03537 UNIT/R/
033244,001316: 27,3137 53362 VSR1 VAD
033245,001317: 27,3140 77656 UNIT
033246,001318: 27,3141 57406 PUSH VCOMP # FOR A
033247,001319: 27,3142 75235 VXV SIGN
033248,001320: 27,3143 02674 UN
033249,001321: 27,3144 02673 GEOMSGN
033250,001322: 27,3145 74256 UNIT VXSC
033251,001323: 27,3146 00037 30D
033252,001324: 27,3147 77715 PDVL # UNIT(IC-IR) +-B
033253,001325: 27,3150 77650 GOTO
033254,001326: 27,3151 57117 GETVRVG1
033255,001327: 27,3152 74575 NEGPROD VLOAD VSR1
033256,001328: 27,3153 03537 UNIT/R/
033257,001329: 27,3154 74515 PDVL VSR1
033258,001330: 27,3155 03656 IC
033259,001331: 27,3156 53451 VSU UNIT
033260,001332: 27,3157 77606 PUSH
033261,001333: 27,3160 75235 VXV SIGN
033262,001334: 27,3161 02674 UN # FOR B
033263,001335: 27,3162 02673 GEOMSGN
033264,001336: 27,3163 74256 UNIT VXSC
033265,001337: 27,3164 00041 32D
033266,001338: 27,3165 77715 PDVL
033267,001339: 27,3166 53361 VXSC VAD
033268,001340: 27,3167 00037 30D
033269,001341: 27,3170 77650 GOTO
033270,001342: 27,3171 57121 GETVRVG2
033271,001343: 27,3172 77651 VSU
033272,001344: 27,3173 03553 VN1
033273,001345: 27,3174 02366 ASTREND STORE DELVEET3
033274,001346: 27,3175 53135 FIRSTTME SLOAD BZE
033275,001347: 27,3176 03000 RTX2
|
Page 766 |
033277,001349: 27,3177 57203 GETGOBL
033278,001350: 27,3200 52175 VLOAD GOTO # NO OBLATENESS COMP IF IN MOON SPHERE
033279,001351: 27,3201 02366 DELVEET3
033280,001352: 27,3202 57216 NOGOBL
033281,001353: 27,3203 53575 GETGOBL VLOAD UNIT # CALCULATE OBLATENESS TERM.
033282,001354: 27,3204 01220 RN
033283,001355: 27,3205 45345 DLOAD DSU
033284,001356: 27,3206 01234 PIPTIME # 2
033285,001357: 27,3207 03512 GOBLTIME # G = -(MU/R )(UNITGOBL)(T - TIG)
033286,001358: 27,3210 56205 DMP DDV # OBL
033287,001359: 27,3211 16023 EARTHMU
033288,001360: 27,3212 00043 34D # 34D = /RN/ (2) FROM UNIT OPERATION.
033289,001361: 27,3213 53361 VXSC VAD
033290,001362: 27,3214 03521 UNITGOBL
033291,001363: 27,3215 02366 DELVEET3 # OUTPUT FROM INITVEL VG = VR - VN
033292,001364: 27,3216 02366 NOGOBL STORE DELVEET3 # VG = VR + GOBL - VN
033293,001365: 27,3217 77650 GOTO
033294,001366: 27,3220 56455 VGAIN*
033295,001367:
033296,001368:
033297,001369: 27,3221 31103 36652 2PI+3 2DEC 3.141592653 B-2
033298,001370:
033299,001371:
|
Page 767 |
033301,001373: # TRIMGIMB (FORMERLY S40.6)
033302,001374: # MOD 0 24 FEB 67 PETER ADLER
033303,001375: # FUNCTION:
033304,001376: # TRIMS DPS ENGINE TO MINIMIZE THRUST/CG OFFSET. ENGINE IS GIMBALLED TO FULL + PITCH AND + ROLL (TO LOCK)
033305,001377: # FOR REFERENCE AND IS THEN BROUGHT BACK TO TRIM POSITION BY RUNNING FOR THE PROPER TIMES (TO BE
033306,001378: # SPECIFIED BY GAEC) IN - PITCH AND - ROLL.
033307,001379: # CALLING SEQUENCE:
033308,001380: # VIA WAITLIST FROM R03
033309,001381: # INPUT:
033310,001382: # PITTIME TIME TO RUN FROM FULL + PITCH TO TRIM (CS)
033311,001383: # ROLLTIME TIME TO RUN FROM FULL + ROLL TO TRIM (CS)
033312,001384: # SUBROUTINES USED:
033313,001385: # WAITLIST, FIXDELAY, VARDELAY, FLAGUP, FLAGDOWN, NOVAC
033314,001386:
033315,001387: 27,3223 COUNT* $$/S40.6
033316,001388: 27,3223 E6,1401 EBANK= ROLLTIME # OCTAL MASKS: PRIO5=05000 EBANK5=02400
033317,001389:
033318,001390: 27,3223 05527 TRIMGIMB TC DOWNFLAG # GMBDRVSW FLAG IS SET WHEN EITHER ROLL OR
033319,001391: 27,3224 00137 ADRES GMBDRVSW # PITCH IS COMPLETED, WHICHEVER IS FIRST.
033320,001392:
033321,001393: 27,3225 45017 CS PRIO5 # TURN OFF - PITCH, - ROLL, IF ON.
033322,001394: 27,3226 00006 EXTEND
033323,001395: 27,3227 03012 WAND CHAN12
033324,001396: 27,3230 35014 CAF EBANK5 # TURN ON + PITCH, + ROLL.
033325,001397: 27,3231 00006 EXTEND
033326,001398: 27,3232 05012 WOR CHAN12
033327,001399: 27,3233 05232 TC FIXDELAY # WAIT ONE MINUTE TO MAKE SURE ENGINE IS
033328,001400: 27,3234 13560 DEC 6000 B-14 # AT FULL + PITCH AND FULL + ROLL
033329,001401: 27,3235 45014 CS EBANK5 # TURN OFF + PITCH, + ROLL.
033330,001402: 27,3236 00006 EXTEND
033331,001403: 27,3237 03012 WAND CHAN12
033332,001404: 27,3240 35017 CAF PRIO5 # TURN ON - PITCH, - ROLL.
033333,001405: 27,3241 00006 EXTEND
033334,001406: 27,3242 05012 WOR CHAN12
033335,001407: 27,3243 31402 CAE PITTIME # GET TIME TO SHUT OFF - PITCH AND SET UP
033336,001408: 27,3244 05204 TC TWIDDLE # TWIDDLE-TASK TO TURN IT OFF THEN
033337,001409: 27,3245 03264 ADRES PITCHOFF
033338,001410:
033339,001411: 27,3246 31401 CAE ROLLTIME # GET TIME TO SHUT OFF - ROLL AND GO AWAY
033340,001412: 27,3247 05235 TC VARDELAY # UNTIL THEN
033341,001413: 27,3250 44740 CS BIT12
033342,001414: 27,3251 00006 EXTEND
033343,001415: 27,3252 03012 WAND CHAN12 # SHUT OFF ROLL
033344,001416: 27,3253 30102 ROLLOVER CA FLAGWRD6 # IF HERE INLINE (ROLL DONE) IS PITCH DONE
033345,001417: 27,3254 74742 MASK GMBDRBIT # IF HERE FROM PITCHOFF, IS ROLL DONE?
033346,001418: 27,3255 00006 EXTEND
033347,001419: 27,3256 13270 BZF PITCHOFF +4 # NO. SET FLAG, ROLL OR PITCH DONE.
033348,001420: 27,3257 34737 CAF PRIO10 # RETURN TO R03
033349,001421: 27,3260 05072 TC NOVAC
033350,001422: 27,3261 E7,1471 EBANK= WHOCARES
|
Page 768 |
033352,001424: 27,3261 02330 02067 2CADR TRIMDONE
033353,001425:
033354,001426: 27,3263 05272 TC TASKOVER
033355,001427: 27,3264 44742 PITCHOFF CS BIT10
033356,001428: 27,3265 00006 EXTEND
033357,001429: 27,3266 03012 WAND CHAN12 # SHUT OFF PITCH
033358,001430: 27,3267 13253 TCF ROLLOVER # SEE IF ROLL HAS FINISHED ALSO.
033359,001431: 27,3270 05515 TC UPFLAG # ROLL DONE; OR PITCH DONE; BUT NOT BOTH.
033360,001432: 27,3271 00137 ADRES GMBDRVSW
033361,001433: 27,3272 05272 TC TASKOVER
033362,001434:
|
Page 769 |
033364,001436: # SUBROUTINE NAME: S41.1 MOD. NO. 0 DATE: FEBRUARY 28, 1967
033365,001437:
033366,001438: # MOD. NO. 1 DATE: JANUARY 23, 1968: BY PETER ADLER (MIT/IL)
033367,001439:
033368,001440: # AUTHOR: JONATHAN D. ADDELSTON (ADAMS ASSOCIATES)
033369,001441:
033370,001442: # S41.1 PERFORMS THE COORDINATE SYSTEM TRANFORMATION FROM THE REFERENCE FRAME TO THE BODY OF THE LM.
033371,001443: # SPECIFICALLY, IT IS USED TO TRANSFORM A VELOCITY (SCALED AT 2(+7) METERS/CENTISECOND) FROM REFERENCE TO LM AXIS
033372,001444: # COORDINATES. FIRST THE VECTOR IS TRANSFORMED TO THE STABLE MEMBER COORDINATES BY THE MATRIX REFSMMAT. THIS
033373,001445: # LEAVES THE VECTOR IN MPAC, SCALED AT 2(+8) METERS/CENTISECOND. THEN
033374,001446: # THE SUBROUTINE CDUTRIG IS CALLED TO SET UP THE DOUBLE-PRECISION CDU VECTOR ALONG WITH ITS SINES AND COSINES.
033375,001447: # THE VECTOR IS THEN TRANSFORMED FROM STABLE MEMBER COORDINATES TO SPACECRAFT (OR LM) COORDINATES BY THE
033376,001448: # SUBROUTINE *SMNB*. FINALLY( THE VECTOR IS RESCALED TO 2(+7) METERS/CENTISECOND, AND CONTROL IS RETURNED TO THE
033377,001449: # CALLER WITH C(MPAC) = VELOCITY(LM).
033378,001450:
033379,001451:
033380,001452: # CALLING SEQUENCE:
033381,001453: # L VLOAD CALL
033382,001454: # L +1 VELOCITY(REF) SCALED AT 2(+7)M/CS IN REFERENCE COORDS.
033383,001455: # L +2 S41.1
033384,001456: # L +3 STORE VELOCITY(LM) SCALED AT 2(+7)M/CS IN LM BODY AXIS SYS.
033385,001457:
033386,001458: # SUBROUTINES CALLED:
033387,001459:
033388,001460: # 1. CDUTRIG,
033389,001461: # WHICH CALLS CDULOGIC.
033390,001462: # 2. *SMNB*
033391,001463:
033392,001464: # NORMAL RETURN: L +3 (SEE CALLING SEQUENCE, ABOVE.)
033393,001465:
033394,001466: # ALARM/ABORT MODES: NONE.
033395,001467:
033396,001468: # RESTART PROTECTION: NONE.
033397,001469:
|
Page 770 |
033399,001471: # INPUT:
033400,001472:
033401,001473: # 1. REFSMMAT.
033402,001474: # 2. CDUX, CDUY, CDUZ.
033403,001475: # 3. VELOCITY (REF) IN MPAC.
033404,001476:
033405,001477: # OUTPUT:
033406,001478:
033407,001479: # 1. CDUSPOT: DOUBLE PRECISION CDU VECTOR, ORDERED Y,Z,X.
033408,001480: # 2. SINCDU: HALF SINES OF CDUSPOT COMPONENTS.
033409,001481: # 3. COSCDU: HALF COSINES OF CDUSPOT COMPONENTS.
033410,001482: # 4. MPAC: VELOCITY(LM) (SCALED AT 2(+7) METERS/CENTISECOND)
033411,001483:
033412,001484: # DEBRIS: NONE.
033413,001485:
033414,001486: # CHECKOUT STATUS: CODED.
033415,001487:
033416,001488: 27,3273 COUNT* $$/S41.1
033417,001489: 27,3273 76521 S41.1 MXV VSL1 # CONVERT VECTOR IN MPAC FROM REF AT 2(+7)
033418,001490: 27,3274 01732 REFSMMAT # TO SM AND RESCALE DUE TO HALFUNIT MATRIX
033419,001491: 27,3275 77650 GOTO # CONVERT TO BODY AT 2(+7) USING PRESENT
033420,001492: 27,3276 47653 CDU*SMNB # CDU ANGLES. CDU*SMNB WILL RETURN
033421,001493: # VIA RVQ TO THE CALLER OF S41.1
End of include-file P40-P47.agc. Parent file is MAIN.agc