Pre-launch Review
THE LUNAR LANDING
Scanned pages: 785-792
# Copyright: Public domain.# Filename: THE_LUNAR_LANDING.agc# Purpose: Part of the source code for Luminary 1A build 099.# It is part of the source code for the Lunar Module's (LM)# Apollo Guidance Computer (AGC), for Apollo 11.# Assembler: yaYUL# Contact: Hartmuth Gutsche<hgutsche@xplornet.com>.# Website: www.ibiblio.org/apollo.# Pages: 785-792# Mod history: 2009-05-20 HG Transcribed from page images.## This source code has been transcribed or otherwise adapted from# digitized images of a hardcopy from the MIT Museum. The digitization# was performed by Paul Fjeld, and arranged for by Deborah Douglas of# the Museum. Many thanks to both. The images (with suitable reduction# in storage size and consequent reduction in image quality as well) are# available online at www.ibiblio.org/apollo. If for some reason you# find that the images are illegible, contact me at info@sandroid.org# about getting access to the (much) higher-quality images which Paul# actually created.## Notations on the hardcopy document read, in part:## Assemble revision 001 of AGC program LMY99 by NASA 2021112-061# 16:27 JULY 14, 1969
# Page 785 BANK 32 SETLOC F2DPS*32 BANK
EBANK= E2DPS
# *************************************# P63: THE LUNAR LANDING, BRAKING PHASE# *************************************
COUNT* $$/P63
P63LM TC PHASCHNG OCT 04024
TC BANKCALL # DO IMU STATUS CHECK ROUTINE R02 CADR R02BOTH
CAF P63ADRES # INITIALIZE WHICH FOR BURNBABY TS WHICH
CAF DPSTHRSH # INITIALIZE DVMON TS DVTHRUSH CAF FOUR TS DVCNTR
CS ONE # INITIALIZE WCHPHASE AND FLPASS0 TS WCHPHASE
CA ZERO TS FLPASS0
CS BIT14 EXTEND WAND CHAN12 # REMOVE TRACK-ENABLE DISCRETE.
FLAGORGY TC INTPRET # DIONYSIAN FLAG WAVING CLEAR CLEAR NOTHROTL REDFLAG CLEAR SET LRBYPASS MUNFLAG CLEAR CLEAR P25FLAG # TERMINATE P25 IF IT IS RUNNING. RNDVZFLG # TERMINATE P20 IF IT IS RUNNING
# ********************************
IGNALG SETPD VLOAD # FIRST SET UP INPUTS FOR RP-TO-R:-# Page 786 0 # AT 0D LANDING SITE IN MOON FIXED FRAME RLS # AT 6D ESTIMATED TIME OF LANDING PDDL PUSH # MPAC NON-ZERO TO INDICATE LUNAR CASE TLAND STCALL TPIP # ALSO SET TPIP FOR FIRST GUIDANCE PASS RP-TO-R VSL4 MXV REFSMMAT STCALL LAND GUIDINIT # GUIDINIT INITIALIZES WM AND /LAND/ DLOAD DSU TLAND GUIDDURN STCALL TDEC1 # INTEGRATE STATE FORWARD TO THAT TIME LEMPREC SSP VLOAD NIGNLOOP 40D UNITX STOVL CG UNITY STOVL CG +6 UNITZ STODL CG +14 99999CON STOVL DELTAH # INITIALIZE DELTAH FOR V16N68 DISPLAY ZEROVECS STODL UNFC/2 # INITIALIZE TRIM VELOCITY CORRECTION TERM HI6ZEROS STORE TTF/8
IGNALOOP DLOAD TAT STOVL PIPTIME1 RATT1 VSL4 MXV REFSMMAT STCALL R MUNGRAV STCALL GDT/2 ?GUIDSUB # WHICH DELIVERS N PASSES OF GUIDANCE
# DDUMCALC IS PROGRAMMED AS FOLLOWS:-# 2 ___# (RIGNZ - RGU )/16 + 16(RGU )KIGNY/B8 + (RGU - RIGNX)KIGNX/B4 + (ABVAL(VGU) - VIGN)KIGNV/B4# 2 1 0# DDUM = -------------------------------------------------------------------------------------------# 10# 2 (VGU - 16 VGU KIGNX/B4)# 2 0# Page 787 new page is actually one line earlier but this would put the indices on a separate line# disconnected from their respective variables# THE NUMERATOR IS SCALED IN METERS AT 2(28). THE DENOMINATOR IS A VELOCITY IN UNITS OF 2(10) M/CS.# THE QUOTIENT IS THUS A TIME IN UNITS OF 2(18) CENTISECONDS. THE FINAL SHIFT RESCALES TO UNITS OF 2(28) CS.# THERE IS NO DAMPING FACTOR. THE CONSTANTS KIGNX/B4, KIGNY/B8 AND KIGNV/B4 ARE ALL NEGATIVE IN SIGN.
DDUMCALC TS NIGNLOOP TC INTPRET DLOAD DMPR # FORM DENOMINATOR FIRST VGU KIGNX/B4 SL4R BDSU VGU +4 PDDL DSU RIGNZ RGU +4 SR4R PDDL RGU +2 DSQ DMPR KIGNY/B8 SL4R PDDL RGU DSU DMPR RIGNX KIGNX/B4 PDVL ABVAL VGU DSU DMPR VIGN KIGNV/B4 DAD DAD DAD DDV SRR 10D
PUSH DAD PIPTIME1 STODL TDEC1 # STORE NEW GUESS FOR NEXT INTEGRATION ABS DSU DDUMCRIT BMN CALL DDUMGOOD INTSTALL SET SET INTYPFLG MOONFLAG DLOAD PIPTIME1 STOVL TET # HOPEFULLY ?GUIDSUB DID NOT RATT1 # CLOBBER RATT1 AND VATT1# Page 788 STOVL RCV VATT1 STCALL VCV INTEGRVS GOTO IGNALOOP
DDUMGOOD SLOAD SR ZOOMTIME 14D BDSU TDEC1 STOVL TIG # COMPUTE DISTANCE LANDING SITE WILL BE V # OUT OF LM'S ORBITAL PLANE AT IGNITION: VXV UNIT # SIGN IS + IF LANDING SITE IS TO THE R # RIGHT, NORTH; - IF TO THE LEFT, SOUTH. DOT SL1 LANDR60INIT STOVL OUTOFPLN # INITIALIZATION FOR CALCMANU UNFC/2 STORE R60VSAVE # STORE UNFC/2 TEMPORARILY IN R60SAVE EXIT # *******************************************
IGNALGRT TC PHASCHNG # PREVENT REPEATING IGNALG OCT 04024
ASTNCLOK CS ASTNDEX TC BANKCALL CADR STCLOK2 TCF ENDOFJOB # RETURN IN NEW JOB AND IN EBANK FIVE
ASTNRET TC INTPRET SSP RTB # GO PICK UP DISPLAY AT END OF R51: QMAJ # "PROCEED" WILL DO A FINE ALIGNMENT FCADR P63SPOT2 # " ENTER " WILL RETURN TO P63SPOT2 R51P63P63SPOT2 VLOAD UNIT # INITIALIZE KALCMANU FOR BURN ATTITUDE R60VSAVE STOVL POINTVSM UNITX STORE SCAXIS EXIT
CAF EBANK7 TS EBANK
INHINT TC IBNKCALL CADR PFLITEDB# Page 789 RELINT
TC BANKCALL CADR R60LEM
TC PHASCHNG # PREVENT RECALLING R60 OCT 04024
P63SPOT3 CA BIT6 # IS THE LR ANTENNA IN POSITION 1 YET EXTEND RAND CHAN33 EXTEND BZF P63SPOT4 # BRANCH IF ANTENNA ALREADY IN POSITION 1
CAF CODE500 # ASTRONAUT: PLEASE CRANK THE TC BANKCALL # SILLY THING AROUND CADR GOPERF1 TCF GOTOPOOH # TERMINATE TCF P63SPOT3 # PROCEED SEE IF HE'S LYING
P63SPOT4 TC BANKCALL # ENTER INITIALIZE LANDING RADAR CADR SETPOS1
TC POSTJUMP # OFF TO SEE THE WIZARD... CADR BURNBABY
# ---------------------------------
# CONSTANTS FOR P63LM AND IGNALG
P63ADRES GENADR P63TABLE
ASTNDEX = MD1 # OCT 25: INDEX FOR CLOKTASK
CODE500 OCT 00500
99999CON 2DEC 30479.7 B-24
GUIDDURN 2DEC +66440 # GUIDDURN +6.64400314 E+2DDUMCRIT 2DEC +8 B-28 # CRITERION FOR IGNALG CONVERGENCE
# Page 790# --------------------------------
# Page 791# *************************# P68: LANDING CONFIRMATION# *************************
BANK 31 SETLOC F2DPS*31 BANK
COUNT* $$/P6567
LANDJUNK TC PHASCHNG OCT 04024
INHINT TC BANKCALL # ZERO ATTITUDE ERROR CADR ZATTEROR
TC BANKCALL # SET 5 DEGREE DEADBAND CADR SETMAXDB
TC INTPRET # TO INTERPRETIVE AS TIME IS NOT CRITICAL SET CLEAR SURFFLAG LETABORT SET VLOAD APSFLAG RN STODL ALPHAV PIPTIME SET CALL LUNAFLAG LAT-LONG SETPD VLOAD # COMPUTE RLS AND STORE IT AWAY 0 RN VSL2 PDDL PIPTIME PUSH CALL R-TO-RP STORE RLS EXIT CAF V06N43* # ASTRONAUT: NOW LOOK WHERE YOU ENDED UP TC BANKCALL CADR GOFLASH TCF GOTOPOOH # TERMINATE TCF +2 # PROCEED TCF -5 # RECYCLE
TC INTPRET# Page 792 VLOAD # INITIALIZE GSAV AND (USING REFMF) UNITX # YNBSAV, ZNBSAV AND ATTFLAG FOR P57 STCALL GSAV REFMF EXIT
TCF GOTOPOOH # ASTRONAUT: PLEASE SELECT P57
V06N43* VN 0643