Source Code
033871,000001: # Copyright: Public domain.
033872,000002: # Filename: THE_LUNAR_LANDING.agc
033873,000003: # Purpose: Part of the source code for Luminary 1A build 099.
033874,000004: # It is part of the source code for the Lunar Module's (LM)
033875,000005: # Apollo Guidance Computer (AGC), for Apollo 11.
033876,000006: # Assembler: yaYUL
033877,000007: # Contact: Hartmuth Gutsche<hgutsche@xplornet.com>.
033878,000008: # Website: www.ibiblio.org/apollo.
033879,000009: # Pages: 785-792
033880,000010: # Mod history: 2009-05-20 HG Transcribed from page images.
033881,000011:
033882,000012: # This source code has been transcribed or otherwise adapted from
033883,000013: # digitized images of a hardcopy from the MIT Museum. The digitization
033884,000014: # was performed by Paul Fjeld, and arranged for by Deborah Douglas of
033885,000015: # the Museum. Many thanks to both. The images (with suitable reduction
033886,000016: # in storage size and consequent reduction in image quality as well) are
033887,000017: # available online at www.ibiblio.org/apollo. If for some reason you
033888,000018: # find that the images are illegible, contact me at info@sandroid.org
033889,000019: # about getting access to the (much) higher-quality images which Paul
033890,000020: # actually created.
033891,000021:
033892,000022: # Notations on the hardcopy document read, in part:
033893,000023:
033894,000024: # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61
033895,000025: # 16:27 JULY 14, 1969
033896,000026:
033897,000027: # Page 785
033898,000028: 32,2776 BANK 32
033899,000029: 32,2000 SETLOC F2DPS*32
033900,000030: 32,2000 BANK
033901,000031:
033902,000032: 32,2776 E7,1621 EBANK= E2DPS
033903,000033:
033904,000034: # *************************************
033905,000035: # P63: THE LUNAR LANDING, BRAKING PHASE
033906,000036: # *************************************
033907,000037:
033908,000038: 32,2776 COUNT* $$/P63
033909,000039:
033910,000040: 32,2776 05353 P63LM TC PHASCHNG
033911,000041: 32,2777 04024 OCT 04024
033912,000042:
033913,000043: 32,3000 04616 TC BANKCALL # DO IMU STATUS CHECK ROUTINE R02
033914,000044: 32,3001 11254 CADR R02BOTH
033915,000045:
033916,000046: 32,3002 33253 CAF P63ADRES # INITIALIZE WHICH FOR BURNBABY
033917,000047: 32,3003 55455 TS WHICH
033918,000048:
033919,000049: 32,3004 32000 CAF DPSTHRSH # INITIALIZE DVMON
033920,000050: 32,3005 55251 TS DVTHRUSH
033921,000051: 32,3006 34751 CAF FOUR
033922,000052: 32,3007 55515 TS DVCNTR
033923,000053:
033924,000054: 32,3010 44753 CS ONE # INITIALIZE WCHPHASE AND FLPASS0
033925,000055: 32,3011 55351 TS WCHPHASE
033926,000056:
033927,000057: 32,3012 34755 CA ZERO
033928,000058: 32,3013 55623 TS FLPASS0
033929,000059:
033930,000060: 32,3014 44736 CS BIT14
033931,000061: 32,3015 00006 EXTEND
033932,000062: 32,3016 03012 WAND CHAN12 # REMOVE TRACK-ENABLE DISCRETE.
033933,000063:
033934,000064: 32,3017 06037 FLAGORGY TC INTPRET # DIONYSIAN FLAG WAVING
033935,000065: 32,3020 43014 CLEAR CLEAR
033936,000066: 32,3021 02663 NOTHROTL
033937,000067: 32,3022 03271 REDFLAG
033938,000068: 32,3023 43014 CLEAR SET
033939,000069: 32,3024 05660 LRBYPASS
033940,000070: 32,3025 03067 MUNFLAG
033941,000071: 32,3026 43014 CLEAR CLEAR
033942,000072: 32,3027 00266 P25FLAG # TERMINATE P25 IF IT IS RUNNING.
033943,000073: 32,3030 00270 RNDVZFLG # TERMINATE P20 IF IT IS RUNNING.
033944,000074:
033945,000075: # ********************************
033946,000076:
033947,000077: 32,3031 77201 IGNALG SETPD VLOAD # FIRST SET UP INPUTS FOR RP-TO-R:
033948,000078: # Page 786
033949,000079: 32,3032 00001 0 # AT 0D LANDING SITE IN MOON FIXED FRAME
033950,000080: 32,3033 02023 RLS # AT 6D ESTIMATED TIME OF LANDING
033951,000081: 32,3034 41525 PDDL PUSH # MPAC NON-ZERO TO INDICATE LUNAR CASE
033952,000082: 32,3035 02401 TLAND
033953,000083: 32,3036 37625 STCALL TPIP # ALSO SET TPIP FOR FIRST GUIDANCE PASS
033954,000084: 32,3037 55716 RP-TO-R
033955,000085: 32,3040 64312 VSL4 MXV
033956,000086: 32,3041 01734 REFSMMAT
033957,000087: 32,3042 37635 STCALL LAND
033958,000088: 32,3043 46432 GUIDINIT # GUIDINIT INITIALIZES WM AND /LAND/
033959,000089: 32,3044 45345 DLOAD DSU
033960,000090: 32,3045 02401 TLAND
033961,000091: 32,3046 25260 GUIDDURN
033962,000092: 32,3047 34041 STCALL TDEC1 # INTEGRATE STATE FORWARD TO THAT TIME
033963,000093: 32,3050 27057 LEMPREC
033964,000094: 32,3051 77331 SSP VLOAD
033965,000095: 32,3052 03647 NIGNLOOP
033966,000096: 32,3053 00050 40D
033967,000097: 32,3054 06520 UNITX
033968,000098: 32,3055 26603 STOVL CG
033969,000099: 32,3056 06516 UNITY
033970,000100: 32,3057 26611 STOVL CG +6
033971,000101: 32,3060 06514 UNITZ
033972,000102: 32,3061 16617 STODL CG +14
033973,000103: 32,3062 25256 99999CON
033974,000104: 32,3063 27665 STOVL DELTAH # INITIALIZE DELTAH FOR V16N68 DISPLAY
033975,000105: 32,3064 06522 ZEROVECS
033976,000106: 32,3065 17254 STODL UNFC/2 # INITIALIZE TRIM VELOCITY CORRECTION TERM
033977,000107: 32,3066 06522 HI6ZEROS
033978,000108: 32,3067 03643 STORE TTF/8
033979,000109:
033980,000110: 32,3070 77745 IGNALOOP DLOAD
033981,000111: 32,3071 00015 TAT
033982,000112: 32,3072 27561 STOVL PIPTIME1
033983,000113: 32,3073 00017 RATT1
033984,000114: 32,3074 64312 VSL4 MXV
033985,000115: 32,3075 01734 REFSMMAT
033986,000116: 32,3076 37521 STCALL R
033987,000117: 32,3077 67130 MUNGRAV
033988,000118: 32,3100 35237 STCALL GDT/2
033989,000119: 32,3101 62454 ?GUIDSUB # WHICH DELIVERS N PASSES OF GUIDANCE
033990,000120:
033991,000121: # DDUMCALC IS PROGRAMMED AS FOLLOWS:
033992,000122: # 2 ___
033993,000123: # (RIGNZ - RGU )/16 + 16(RGU )KIGNY/B8 + (RGU - RIGNX)KIGNX/B4 + (ABVAL(VGU) - VIGN)KIGNV/B4
033994,000124: # 2 1 0
033995,000125: # DDUM = -------------------------------------------------------------------------------------------
033996,000126: # 10
033997,000127: # 2 (VGU - 16 VGU KIGNX/B4)
033998,000128: # 2 0
033999,000129: # Page 787 new page is actually one line earlier but this would put the indices on a seperate line
034000,000130: # disconnected from their respective variables
034001,000131: # THE NUMERATOR IS SCALED IN METERS AT 2(28). THE DENOMINATOR IS A VELOCITY IN UNITS OF 2(10) M/CS.
034002,000132: # THE QUOTIENT IS THUS A TIME IN UNITS OF 2(18) CENTISECONDS. THE FINAL SHIFT RESCALES TO UNITS OF 2(28) CS.
034003,000133: # THERE IS NO DAMPING FACTOR. THE CONSTANTS KIGNX/B4, KIGNY/B8 AND KIGNV/B4 ARE ALL NEGATIVE IN SIGN.
034004,000134:
034005,000135: 32,3102 55646 DDUMCALC TS NIGNLOOP
034006,000136: 32,3103 06037 TC INTPRET
034007,000137: 32,3104 57345 DLOAD DMPR # FORM DENOMINATOR FIRST
034008,000138: 32,3105 03627 VGU
034009,000139: 32,3106 02501 KIGNX/B4
034010,000140: 32,3107 44232 SL4R BDSU
034011,000141: 32,3110 03633 VGU +4
034012,000142: 32,3111 45325 PDDL DSU
034013,000143: 32,3112 02477 RIGNZ
034014,000144: 32,3113 02643 RGU +4
034015,000145: 32,3114 65222 SR4R PDDL
034016,000146: 32,3115 02641 RGU +2
034017,000147: 32,3116 57316 DSQ DMPR
034018,000148: 32,3117 02503 KIGNY/B8
034019,000149: 32,3120 65232 SL4R PDDL
034020,000150: 32,3121 02637 RGU
034021,000151: 32,3122 57225 DSU DMPR
034022,000152: 32,3123 02475 RIGNX
034023,000153: 32,3124 02501 KIGNX/B4
034024,000154: 32,3125 51515 PDVL ABVAL
034025,000155: 32,3126 03627 VGU
034026,000156: 32,3127 57225 DSU DMPR
034027,000157: 32,3130 02473 VIGN
034028,000158: 32,3131 02505 KIGNV/B4
034029,000159: 32,3132 43215 DAD DAD
034030,000160: 32,3133 56215 DAD DDV
034031,000161: 32,3134 77661 SRR
034032,000162: 32,3135 21613 10D
034033,000163:
034034,000164: 32,3136 43206 PUSH DAD
034035,000165: 32,3137 03561 PIPTIME1
034036,000166: 32,3140 14041 STODL TDEC1 # STORE NEW GUESS FOR NEXT INTEGRATION
034037,000167: 32,3141 45246 ABS DSU
034038,000168: 32,3142 25262 DDUMCRIT
034039,000169: 32,3143 45040 BMN CALL
034040,000170: 32,3144 65163 DDUMGOOD
034041,000171: 32,3145 27414 INTSTALL
034042,000172: 32,3146 43014 SET SET
034043,000173: 32,3147 01473 INTYPFLG
034044,000174: 32,3150 00063 MOONFLAG
034045,000175: 32,3151 77745 DLOAD
034046,000176: 32,3152 03561 PIPTIME1
034047,000177: 32,3153 25517 STOVL TET # HOPEFULLY ?GUIDSUB DID NOT
034048,000178: 32,3154 00017 RATT1 # CLOBBER RATT1 AND VATT1
034049,000179: # Page 788
034050,000180: 32,3155 25535 STOVL RCV
034051,000181: 32,3156 00025 VATT1
034052,000182: 32,3157 35543 STCALL VCV
034053,000183: 32,3160 27107 INTEGRVS
034054,000184: 32,3161 77650 GOTO
034055,000185: 32,3162 65070 IGNALOOP
034056,000186:
034057,000187: 32,3163 54335 DDUMGOOD SLOAD SR
034058,000188: 32,3164 03423 ZOOMTIME
034059,000189: 32,3165 20617 14D
034060,000190: 32,3166 77621 BDSU
034061,000191: 32,3167 00041 TDEC1
034062,000192: 32,3170 27442 STOVL TIG # COMPUTE DISTANCE LANDING SITE WILL BE
034063,000193: 32,3171 03527 V # OUT OF LM'S ORBITAL PLANE AT IGNITION:
034064,000194: 32,3172 53435 VXV UNIT # SIGN IS + IF LANDING SITE IS TO THE
034065,000195: 32,3173 03521 R # RIGHT, NORTH; - IF TO THE LEFT, SOUTH.
034066,000196: 32,3174 72441 DOT SL1
034067,000197: 32,3175 03635 LAND
034068,000198: 32,3176 26627 R60INIT STOVL OUTOFPLN # INITIALIZATION FOR CALCMANU
034069,000199: 32,3177 03254 UNFC/2
034070,000200: 32,3200 02631 STORE R60VSAVE # STORE UNFC/2 TEMPORARILY IN R60SAVE
034071,000201: 32,3201 77776 EXIT
034072,000202: # *******************************************
034073,000203:
034074,000204: 32,3202 05353 IGNALGRT TC PHASCHNG # PREVENT REPEATING IGNALG
034075,000205: 32,3203 04024 OCT 04024
034076,000206:
034077,000207: 32,3204 44362 ASTNCLOK CS ASTNDEX
034078,000208: 32,3205 04616 TC BANKCALL
034079,000209: 32,3206 74664 CADR STCLOK2
034080,000210: 32,3207 15155 TCF ENDOFJOB # RETURN IN NEW JOB AND IN EBANK FIVE
034081,000211:
034082,000212: 32,3210 06037 ASTNRET TC INTPRET
034083,000213: 32,3211 47131 SSP RTB # GO PICK UP DISPLAY AT END OF R51:
034084,000214: 32,3212 02747 QMAJ # "PROCEED" WILL DO A FINE ALIGNMENT
034085,000215: 32,3213 65215 FCADR P63SPOT2 # "ENTER" WILL RETURN TO P63SPOT2
034086,000216: 32,3214 31135 R51P63
034087,000217: 32,3215 53575 P63SPOT2 VLOAD UNIT # INITIALIZE KALCMANU FOR BURN ATTITUDE
034088,000218: 32,3216 02631 R60VSAVE
034089,000219: 32,3217 27773 STOVL POINTVSM
034090,000220: 32,3220 06520 UNITX
034091,000221: 32,3221 03765 STORE SCAXIS
034092,000222: 32,3222 77776 EXIT
034093,000223:
034094,000224: 32,3223 35016 CAF EBANK7
034095,000225: 32,3224 54003 TS EBANK
034096,000226:
034097,000227: 32,3225 00004 INHINT
034098,000228: 32,3226 04674 TC IBNKCALL
034099,000229: 32,3227 40142 CADR PFLITEDB
034100,000230: # Page 789
034101,000231: 32,3230 00003 RELINT
034102,000232:
034103,000233: 32,3231 04616 TC BANKCALL
034104,000234: 32,3232 54123 CADR R60LEM
034105,000235:
034106,000236: 32,3233 05353 TC PHASCHNG # PREVENT RECALLING R60
034107,000237: 32,3234 04024 OCT 04024
034108,000238:
034109,000239: 32,3235 34746 P63SPOT3 CA BIT6 # IS THE LR ANTENNA IN POSITION 1 YET
034110,000240: 32,3236 00006 EXTEND
034111,000241: 32,3237 02033 RAND CHAN33
034112,000242: 32,3240 00006 EXTEND
034113,000243: 32,3241 13247 BZF P63SPOT4 # BRANCH IF ANTENNA ALREADY IN POSITION 1
034114,000244:
034115,000245: 32,3242 33254 CAF CODE500 # ASTRONAUT: PLEASE CRANK THE
034116,000246: 32,3243 04616 TC BANKCALL # SILLY THING AROUND
034117,000247: 32,3244 20623 CADR GOPERF1
034118,000248: 32,3245 16001 TCF GOTOP00H # TERMINATE
034119,000249: 32,3246 13235 TCF P63SPOT3 # PROCEED SEE IF HE'S LYING
034120,000250:
034121,000251: 32,3247 04616 P63SPOT4 TC BANKCALL # ENTER INITIALIZE LANDING RADAR
034122,000252: 32,3250 67721 CADR SETPOS1
034123,000253:
034124,000254: 32,3251 04635 TC POSTJUMP # OFF TO SEE THE WIZARD ...
034125,000255: 32,3252 74126 CADR BURNBABY
034126,000256:
034127,000257: # ---------------------------------
034128,000258:
034129,000259: # CONSTANTS FOR P63LM AND IGNALG
034130,000260:
034131,000261: 32,3253 02076 P63ADRES GENADR P63TABLE
034132,000262:
034133,000263: 32,3254 4362 ASTNDEX = MD1 # OCT 25: INDEX FOR CLOKTASK
034134,000264:
034135,000265: 32,3254 00500 CODE500 OCT 00500
034136,000266:
034137,000267: 32,3255 00035 30373 99999CON 2DEC 30479.7 B-24
034138,000268:
034139,000269: 32,3257 00004 01610 GUIDDURN 2DEC +66440 B-28 # GUIDDURN +6.64400314 E+2
034140,000270: 32,3261 00000 00010 DDUMCRIT 2DEC +8 B-28 # CRITERION FOR IGNALG CONVERGENCE
034141,000271:
034142,000272: # Page 790
034143,000273: # --------------------------------
034144,000274:
034145,000275: # Page 791
034146,000276: # *************************
034147,000277: # P68: LANDING CONFIRMATION
034148,000278: # *************************
034149,000279:
034150,000280: 31,2144 BANK 31
034151,000281: 31,2000 SETLOC F2DPS*31
034152,000282: 31,2000 BANK
034153,000283:
034154,000284: 31,2144 COUNT* $$/P6567
034155,000285:
034156,000286: 31,2144 05353 LANDJUNK TC PHASCHNG
034157,000287: 31,2145 04024 OCT 04024
034158,000288:
034159,000289: 31,2146 00004 INHINT
034160,000290: 31,2147 04616 TC BANKCALL # ZERO ATTITUDE ERROR
034161,000291: 31,2150 40153 CADR ZATTEROR
034162,000292:
034163,000293: 31,2151 04616 TC BANKCALL # SET 5 DEGREE DEADBAND
034164,000294: 31,2152 40127 CADR SETMAXDB
034165,000295:
034166,000296: 31,2153 06037 TC INTPRET # TO INTERPRETIVE AS TIME IS NOT CRITICAL
034167,000297: 31,2154 43014 SET CLEAR
034168,000298: 31,2155 04067 SURFFLAG
034169,000299: 31,2156 04666 LETABORT
034170,000300: 31,2157 77214 SET VLOAD
034171,000301: 31,2160 05062 APSFLAG
034172,000302: 31,2161 01221 RN
034173,000303: 31,2162 16032 STODL ALPHAV
034174,000304: 31,2163 01235 PIPTIME
034175,000305: 31,2164 45014 SET CALL
034176,000306: 31,2165 01463 LUNAFLAG
034177,000307: 31,2166 26351 LAT-LONG
034178,000308: 31,2167 77201 SETPD VLOAD # COMPUTE RLS AND STORE IT AWAY
034179,000309: 31,2170 00001 0
034180,000310: 31,2171 01221 RN
034181,000311: 31,2172 65352 VSL2 PDDL
034182,000312: 31,2173 01235 PIPTIME
034183,000313: 31,2174 45006 PUSH CALL
034184,000314: 31,2175 51670 R-TO-RP
034185,000315: 31,2176 02023 STORE RLS
034186,000316: 31,2177 77776 EXIT
034187,000317: 31,2200 32215 CAF V06N43* # ASTRONAUT: NOW LOOK WHERE TO ENDED UP
034188,000318: 31,2201 04616 TC BANKCALL
034189,000319: 31,2202 20476 CADR GOFLASH
034190,000320: 31,2203 16001 TCF GOTOP00H # TERMINATE
034191,000321: 31,2204 12206 TCF +2 # PROCEED
034192,000322: 31,2205 12200 TCF -5 # RECYCLE
034193,000323:
034194,000324: 31,2206 06037 TC INTPRET
034195,000325: # Page 792
034196,000326: 31,2207 77775 VLOAD # INITIALIZE GSAV AND (USING REFMF)
034197,000327: 31,2210 06520 UNITX # YNBSAV, ZNBSAV AND ATTFLAG FOR P57
034198,000328: 31,2211 36231 STCALL GSAV
034199,000329: 31,2212 33506 REFMF
034200,000330: 31,2213 77776 EXIT
034201,000331:
034202,000332: 31,2214 16001 TCF GOTOP00H # ASTRONAUT: PLEASE SELECT P57
034203,000333:
034204,000334: 31,2215 01453 V06N43* VN 0643
034205,000335:
End of include-file THE_LUNAR_LANDING.agc. Parent file is MAIN.agc