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