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