Source Code
042179,000001: # Copyright: Public domain.
042180,000002: # Filename: TVCMASSPROP.agc
042181,000003: # Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
042182,000004: # It is part of the source code for the Command Module's (CM)
042183,000005: # Apollo Guidance Computer (AGC), for Apollo 11.
042184,000006: # Assembler: yaYUL
042185,000007: # Contact: Ron Burkey <info@sandroid.org>.
042186,000008: # Website: www.ibiblio.org/apollo.
042187,000009: # Pages: 951-955
042188,000010: # Mod history: 2009-05-13 RSB Adapted from the Colossus249/ file of the
042189,000011: # same name, using Comanche055 page images.
042190,000012:
042191,000013: # This source code has been transcribed or otherwise adapted from digitized
042192,000014: # images of a hardcopy from the MIT Museum. The digitization was performed
042193,000015: # by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
042194,000016: # thanks to both. The images (with suitable reduction in storage size and
042195,000017: # consequent reduction in image quality as well) are available online at
042196,000018: # www.ibiblio.org/apollo. If for some reason you find that the images are
042197,000019: # illegible, contact me at info@sandroid.org about getting access to the
042198,000020: # (much) higher-quality images which Paul actually created.
042199,000021:
042200,000022: # Notations on the hardcopy document read, in part:
042201,000023:
042202,000024: # Assemble revision 055 of AGC program Comanche by NASA
042203,000025: # 2021113-051. 10:28 APR. 1, 1969
042204,000026:
042205,000027: # This AGC program shall also be referred to as
042206,000028: # Colossus 2A
042207,000029:
042208,000030: # Page 951
042209,000031: # PROGRAM NAME....MASSPROP
042210,000032: # LOG SECTION....TVCMASSPROP PROGRAMMER...MELANSON (ENGEL, SCHLUNDT)
042211,000033:
042212,000034: # FUNCTIONAL DESCRIPTION:
042213,000035:
042214,000036: # MASSPROP OPERATES IN TWO MODES: (1) IF LEM MASS OR CONFIGURATION ARE UPDATED (MASSPROP DOES NOT TEST
042215,000037: # FOR THIS) THE ENTIRE PROGRAM MUST BE RUN THROUGH, BREAKPOINT VALUES AND DERIVATIVES OF THE OUTPUTS WITH
042216,000038: # RESPECT TO CSM MASS BEING CALCULATED PRIOR TO CALCULATION OF THE OUTPUTS. (2) OTHERWISE, THE OUTPUTS CAN BE
042217,000039: # CALCULATED USING PREVIOUSLY COMPUTED BREAKPOINT VALUES AND DERIVATIVES.
042218,000040:
042219,000041: # CALLING SEQUENCES
042220,000042:
042221,000043: # IF LEM MASS OR CONFIGURATION HAS BEEN UPDATED, TRANSFER TO MASSPROP, OTHERWISE TRANSFER TO FIXCW.
042222,000044: # L TC BANKCALL or IBNKCALL
042223,000045: # L+1 CADR MASSPROP
042224,000046: # OR
042225,000047: # L+1 CADR FIXCW
042226,000048: # L+2 RETURNS VIA Q
042227,000049:
042228,000050: # CALLED: IN PARTICULAR BY DONOUN47 (JOB) AND TVCEXECUTIVE (TASK)
042229,000051:
042230,000052: # JOBS OR TASKS INITIATED: NONE
042231,000053:
042232,000054: # SUBROUTINES CALLED: NONE
042233,000055:
042234,000056: # ERASABLE INITIALIZATION REQUIRED
042235,000057:
042236,000058: # LEMMASS MUST CONTAIN LEM MASS SCALED AT B+16 KILOGRAMS
042237,000059: # CSMMASS MUST CONTAIN CSM MASS SCALED AT B+16 KILOGRAMS
042238,000060: # DAPDATR1 MUST BE SET TO INDICATE VEHICLE CONFIGURATION.
042239,000061: # BITS (15,14,13) = ( 0 , 0 , 1 ) LEM OFF
042240,000062: # ( 0 , 1 , 0 ) LEM ON (ASCNT,DSCNT)
042241,000063: # ( 1 , 1 , 0 ) LEM ON (ASCNT ONLY)
042242,000064:
042243,000065: # ALARMS: NONE
042244,000066:
042245,000067: # EXIT: TC Q
042246,000068:
042247,000069: # OUTPUTS:
042248,000070:
042249,000071: # (1) IXX, SINGLE PRECISION SCALED AT B+20 IN KG-M SQ.
042250,000072: # (2) IAVG, SINGLE PRECISION SCALED AT B+20 IN KG-M SQ.
042251,000073: # (3) IAVG/TLX, SINGLE PRECISION, SCALED AT B+2 SEC-SQD
042252,000074: #
042253,000075: # THEY ARE STORED IN CONSECUTIVE REGISTERS IXX0, IXX1, IXX2
042254,000076: # CONVERSION FACTOR: (SLUG-FTSQ) = 0.737562 (KG-MSQ)
042255,000077: # Page 952
042256,000078:
042257,000079: # OUTPUTS ARE CALCULATED AS FOLLOWS:
042258,000080:
042259,000081: # (1) IF LEM DOCKED, LEMMASS IS FIRST ELIMINATED AS A PARAMETER
042260,000082:
042261,000083: # VARST0 = INTVALUE0 + LEMMASS(SLOPEVAL0) IXX BREAKPOINT VALUE
042262,000084: # VARST1 = INTVALUE1 + LEMMASS(SLOPEVAL1) IAVG BREAKPOINT VALUE
042263,000085: # VARST2 = INTVALUE2 + LEMMASS(SLOPEVAL2) IAVG/TLX BREAKPOINT VALUE
042264,000086:
042265,000087: # VARST3 = INTVALUE3 + LEMMASS(SLOPEVAL3) IAVG/TLX SLOPE FOR CSMMASS > 33956 LBS (SPS > 10000 LBS)
042266,000088: # VARST4 = INTVALUE4 + LEMMASS(SLOPEVAL4) IAVG SLOPE FOR CSMMASS > 33956 LBS (SPS > 10000 LBS)
042267,000089:
042268,000090: # VARST5 = INTVALUE5 + LEMMASS(SLOPEVAL5) IXX SLOPE FOR ALL VALUES OF CSMMASS
042269,000091:
042270,000092: # VARST6 = INTVALUE6 + LEMMASS(SLOPEVAL6) IAVG SLOPE FOR CSMMASS < 33956 LBS (SPS < 10000 LBS)
042271,000093: # VARST7 = INTVALUE7 + LEMMASS(SLOPEVAL7) IAVG/TLX SLOPE FOR CSMMASS < 33956 LBS (SPS < 10000 LBS)
042272,000094:
042273,000095: # VARST8 = INTVALUE8 + LEMMASS(SLOPEVAL8) IAVG DECREMENT TO BRKPT VALUE WHEN LEM DSCNT STAGE OFF
042274,000096: # VARST9 = INTVALUE9 + LEMMASS(SLOPEVAL9) IAVG/TLX DECREMENT TO BRKPT VALUE WHEN LEM DSCNT STAGE OFF
042275,000097:
042276,000098: # (2) IF LEM NOT DOCKED
042277,000099:
042278,000100: # VARST0 = NOLEMVAL0 WHERE THE MEANING AND SCALING OF VARST0
042279,000101: # . TO VARST9 ARE THE SAME AS GIVEN ABOVE
042280,000102: # .
042281,000103: # . NOTE... FOR THIS CASE, VARST8,9 HAVE NO
042282,000104: # VARST9 = NOLEMVAL9 MEANING (THEY ARE COMPUTED BUT NOT USED)
042283,000105:
042284,000106: # (3) THE FINAL OUTPUT CALCULATIONS ARE THEN DONE
042285,000107:
042286,000108: # IXX0 = VARST0 + (CSMMASS + NEGBPW)VARST5 IXX
042287,000109:
042288,000110: # IXX1 = VARST1 + (CSMMASS + NEGBPW)VARST(4 OR 6) IAVG
042289,000111:
042290,000112: # IXX2 = VARST2 + (CSMMASS + NEGBPW)VARST(3 OR 7) IAVG/TLX
042291,000113:
042292,000114: # THE DATA USED CAME FROM THE CSM/LM SPACECRAFT OPERATIONAL DATA BOOK
042293,000115: # VOL. 3, NASA DOCUMENT SNA-8-D-027 (MARCH 1968)
042294,000116:
042295,000117: # PERTINENT MASS DATA: CSM WEIGHT (FULL) 64100 LBS.
042296,000118: # (EMPTY) 23956 LBS.
042297,000119: # LEM WEIGHT (FULL) 32000 LBS.
042298,000120: # (EMPTY) 14116 LBS.
042299,000121:
042300,000122: # (WEIGHTS ARE FROM AMMENDMENT #1 (APRIL 24, 1968) TO ABOVE DATA BOOK)
042301,000123: # Page 953
042302,000124:
042303,000125: 25,3774 BANK 25
042304,000126: 05,2000 SETLOC DAPMASS
042305,000127: 05,2000 BANK
042306,000128: 05,3366 E6,1702 EBANK= BZERO
042307,000129: 05,3366 COUNT* $$/MASP
042308,000130:
042309,000131: 05,3366 34334 MASSPROP CAF NINE # MASSPROP USES TVC/RCS INTERRUPT TEMPS
042310,000132: 05,3367 55506 TS PHI333 # SET UP TEN PASSES
042311,000133:
042312,000134: 05,3370 31466 LEMTEST CAE DAPDATR1 # DETERMINE LEM STATUS
042313,000135: 05,3371 75003 MASK BIT13
042314,000136: 05,3372 00006 EXTEND
042315,000137: 05,3373 13377 BZF LEMYES
042316,000138:
042317,000139: 05,3374 51506 LEMNO INDEX PHI333 # LEM NOT ATTACHED
042318,000140: 05,3375 33463 CAF NOLEMVAL
042319,000141: 05,3376 13407 TCF STOINST
042320,000142:
042321,000143: 05,3377 31473 LEMYES CAE LEMMASS # LEM IS ATTACHED
042322,000144: 05,3400 60000 DOUBLE
042323,000145: 05,3401 00006 EXTEND
042324,000146: 05,3402 51506 INDEX PHI333
042325,000147: 05,3403 73505 MP SLOPEVAL
042326,000148: 05,3404 20001 DDOUBL
042327,000149: 05,3405 51506 INDEX PHI333
042328,000150: 05,3406 63473 AD INTVALUE
042329,000151:
042330,000152: 05,3407 51506 STOINST INDEX PHI333 # STORAGE INST BEGIN HERE
042331,000153: 05,3410 55511 TS VARST0
042332,000154: 05,3411 11506 CCS PHI333 # ARE ALL TEN PASSES COMPLETED
042333,000155: 05,3412 13367 TCF MASSPROP +1 # NO: GO DECREMENT PHI333
042334,000156:
042335,000157: 05,3413 11466 DXTEST CCS DAPDATR1 # IF NEG, BIT15 IS 1, LEM DSCNT STAGE OFF
042336,000158: 05,3414 13422 TCF FIXCW
042337,000159: 05,3415 13422 TCF FIXCW
042338,000160: 05,3416 53522 DXCH VARST0 +8D
042339,000161: 05,3417 21513 DAS VARST0 +1
042340,000162: 05,3420 33520 CA DXITFIX
042341,000163: 05,3421 27520 ADS VARST0 +7
042342,000164:
042343,000165: 05,3422 35016 FIXCW CAF BIT2 # COMPUTATION PHASE BEGINS HERE. SET UP
042344,000166: 05,3423 55506 TS PHI333 # THREE PASSES
042345,000167: 05,3424 55507 TS PSI333
042346,000168:
042347,000169: 05,3425 31474 CAE CSMMASS # GET DELTA CSM WEIGHT: SIGN DETERMINES
042348,000170: 05,3426 63517 AD NEGBPW # SLOPE LOCATIONS.
042349,000171: 05,3427 60000 DOUBLE
042350,000172: 05,3430 55510 TS TEMP333
042351,000173: # Page 954
042352,000174: 05,3431 00006 EXTEND
042353,000175: 05,3432 63435 BZMF PEGGY # DETERMINE CORRECT SLOPE
042354,000176: 05,3433 37715 CAF NEG2
042355,000177: 05,3434 55506 TS PHI333
042356,000178:
042357,000179: 05,3435 51506 PEGGY INDEX PHI333 # ALL IS READY: CALCULATE OUTPUTS NOW
042358,000180: 05,3436 31516 CAE VARST5 # GET SLOPE
042359,000181: 05,3437 00006 EXTEND
042360,000182: 05,3440 71510 MP TEMP333 # MULT BY DELTA CSM WEIGHT
042361,000183: 05,3441 60000 DOUBLE
042362,000184: 05,3442 51507 INDEX PSI333
042363,000185: 05,3443 61511 AD VARST0 # ADD BREAKPOINT VALUE
042364,000186: 05,3444 51507 INDEX PSI333
042365,000187: 05,3445 55470 TS IXX # ***** OUTPUTS (IXX0, IXX1, IXX2) *****
042366,000188:
042367,000189: 05,3446 11507 CCS PSI333 # BOOKKEEPING: MASSPROP FINISHED OR NOT
042368,000190: 05,3447 13457 TCF BOKKEP2 # NO: GO TAKE CARE OF INDEXING REGISTERS
042369,000191:
042370,000192: 05,3450 31466 CAE DAPDATR1 # UPDATE WEIGHT/G
042371,000193: 05,3451 75002 MASK BIT14
042372,000194: 05,3452 10000 CCS A
042373,000195: 05,3453 31473 CA LEMMASS
042374,000196: 05,3454 61474 AD CSMMASS
042375,000197: 05,3455 55475 TS WEIGHT/G # SCALED AT B+16 KILOGRAMS
042376,000198: 05,3456 00002 ENDMASSP TC Q
042377,000199:
042378,000200: 05,3457 55507 BOKKEP2 TS PSI333 # REDUCE PSI BY ONE
042379,000201: 05,3460 00006 EXTEND
042380,000202: 05,3461 27506 DIM PHI333
042381,000203: 05,3462 13435 TCF PEGGY
042382,000204:
042383,000205: # Page 955
042384,000206: 05,3463 00616 NOLEMVAL DEC 25445 B-20
042385,000207: 05,3464 02526 DEC 87450 B-20
042386,000208: 05,3465 02352 DEC .30715 B-2
042387,000209: 05,3466 01471 DEC 1.22877 E-5 B+12
042388,000210: 05,3467 00634 DEC 1.6096 B-6
042389,000211: 05,3470 00612 DEC 1.54 B-6
042390,000212: 05,3471 03706 DEC 7.77177 B-6
042391,000213: 05,3472 04425 DEC 3.46458 E-5 B+12
042392,000214:
042393,000215: 05,3473 00644 INTVALUE DEC 26850 B-20
042394,000216: 05,3474 03710 DEC 127518 B-20
042395,000217: 05,3475 04246 DEC .54059 B-2
042396,000218: 05,3476 02011 DEC .153964 E-4 B+12
042397,000219: 05,3477 77501 DEC -.742923 B-6
042398,000220: 05,3500 00612 DEC 1.5398 B-6
042399,000221: 05,3501 04656 DEC 9.68 B-6
042400,000222: 05,3502 10372 DEC .647625 E-4 B+12
042401,000223: 05,3503 77126 DEC -27228 B-20
042402,000224: 05,3504 76261 DEC -.206476 B-2
042403,000225:
042404,000226: 05,3505 00767 SLOPEVAL DEC 1.96307 B-6
042405,000227: 05,3506 15624 DEC 27.5774 B-6
042406,000228: 05,3507 03054 DEC 2.3548 E-5 B+12
042407,000229: 05,3510 04532 DEC 2.1777 E-9 B+26
042408,000230: 05,3511 10433 DEC 1.044 E-3 B+8
042409,000231: 05,3512 00000 DEC 0 B-14
042410,000232: 05,3513 22070 DEC 2.21068 E-3 B+8
042411,000233: 05,3514 03204 DEC 1.5166 E-9 B+26
042412,000234: 05,3515 77266 DEC -1.284 B-6
042413,000235: 05,3516 02476 DEC 2 E-5 B+12
042414,000236:
042415,000237: 05,3517 70364 NEGBPW DEC -15402.17 B-16
042416,000238: 05,3520 75420 DXITFIX DEC* -1.88275 E-5 B+12*
042417,000239:
End of include-file TVCMASSPROP.agc. Parent file is MAIN.agc