Source Code
![]() |
These source-code files were transcribed from a printout in Don Eyles's personal
collection, scanned by archive.org, and financially sponsored by Linden Sims.
A team of volunteers performed the transcription and proof-reading. The scanned
page images are available at
the Virtual AGC Project website, as well as higher-quality (but much larger)
images at
the Virtual AGC Project's collection in the Internet Archive. Report any problems by creating
"issues" at
the Virtual AGC Project's GitHub Repository. Notations on the program listing read, in part: GAP: ASSEMBLE REVISION 56 OF AGC PROGRAM ZERLINA BY ZOROASTER 9:12 OCT. 21,1970Note that the date is the date of the printout, not the date of the program revision. |
034138,000002: ## Copyright: Public domain.
034139,000003: ## Filename: THE_LUNAR_LANDING.agc
034140,000004: ## Purpose: A log section of Zerlina 56, the final revision of
034141,000005: ## Don Eyles's offline development program for the variable
034142,000006: ## guidance period servicer. It also includes a new P66 with LPD
034143,000007: ## (Landing Point Designator) capability, based on an idea of John
034144,000008: ## Young's. Neither of these advanced features were actually flown,
034145,000009: ## but Zerlina was also the birthplace of other big improvements to
034146,000010: ## Luminary including the terrain model and new (Luminary 1E)
034147,000011: ## analog display programs. Zerlina was branched off of Luminary 145,
034148,000012: ## and revision 56 includes all changes up to and including Luminary
034149,000013: ## 183. It is therefore quite close to the Apollo 14 program,
034150,000014: ## Luminary 178, where not modified with new features.
034151,000015: ## Reference: pp. 771-778
034152,000016: ## Assembler: yaYUL
034153,000017: ## Contact: Ron Burkey <info@sandroid.org>.
034154,000018: ## Website: www.ibiblio.org/apollo/index.html
034155,000019: ## Mod history: 2017-07-28 MAS Created from Luminary 210.
034156,000020: ## 2017-08-24 MAS Updated for Zerlina 56.
034157,000021:
![]() |
Page 771 |
034159,000023: 32,2421 BANK 32
034160,000024: 32,2000 SETLOC F2DPS*32
034161,000025: 32,2000 BANK
034162,000026:
034163,000027: 32,2421 E7,1621 EBANK= E2DPS
034164,000028:
034165,000029: # ****************************************
034166,000030: # P63: THE LUNAR LANDING, BRAKING PHASE
034167,000031: # ****************************************
034168,000032:
034169,000033: 32,2421 COUNT* $$/P63
034170,000034:
034171,000035: 32,2421 05364 P63LM TC PHASCHNG
034172,000036: 32,2422 04024 OCT 04024
034173,000037:
034174,000038: 32,2423 04616 TC BANKCALL # DO IMU STATUS CHECK ROUTINE R02
034175,000039: 32,2424 11241 CADR R02BOTH
034176,000040:
034177,000041: 32,2425 32703 CAF P63ADRES # INITIALIZE WHICH FOR BURNBABY
034178,000042: 32,2426 55455 TS WHICH
034179,000043:
034180,000044: 32,2427 32000 CAF DPSTHRSH # INITIALIZE DVMON
034181,000045: 32,2430 55251 TS DVTHRUSH
034182,000046: 32,2431 34751 CAF FOUR
034183,000047: 32,2432 55513 TS DVCNTR
034184,000048:
034185,000049: 32,2433 44753 CS ONE # INITIALIZE WCHPHASE AND FLPASSO
034186,000050: 32,2434 55346 TS WCHPHASE
034187,000051:
034188,000052: 32,2435 34755 CA ZERO
034189,000053: 32,2436 55623 TS FLPASS0
034190,000054:
034191,000055: 32,2437 32713 CAF HLROFFF # SET LR CUTOFF ALTITUDE
034192,000056: 32,2440 55451 TS HLROFF
034193,000057:
034194,000058: 32,2441 44736 CS BIT14
034195,000059: 32,2442 00006 EXTEND
034196,000060: 32,2443 03012 WAND CHAN12 # REMOVE TRACK-ENABLE DISCRETE.
034197,000061:
034198,000062: 32,2444 06051 FLAGORGY TC INTPRET # DIONYSIAN FLAG WAVING
034199,000063: 32,2445 43014 CLEAR SET
034200,000064: 32,2446 00664 NOTERFLG # PERMIT TERRAIN MODEL
034201,000065: 32,2447 00466 ALW66FLG # PERMIT P66 SELECTION
034202,000066: 32,2450 43014 CLEAR CLEAR
034203,000067: 32,2451 02663 NOTHROTL
034204,000068: 32,2452 03271 REDFLAG
034205,000069: 32,2453 43014 CLEAR SET
034206,000070: 32,2454 05660 LRBYPASS
034207,000071: 32,2455 03067 MUNFLAG
034208,000072: 32,2456 43014 CLEAR CLEAR
![]() |
Page 772 |
034210,000074: 32,2457 00266 P25FLAG # TERMINATE P25 IF IT IS RUNNING.
034211,000075: 32,2460 00270 RNDVZFLG # TERMINATE P20 IF IT IS RUNNING
034212,000076:
034213,000077: # ****************************************
034214,000078:
034215,000079: 32,2461 77201 IGNALG SETPD VLOAD # FIRST SET UP INPUTS FOR RP-TO-R:-
034216,000080: 32,2462 00001 0 # AT 0D LANDING SITE IN MOON FIXED FRAME
034217,000081: 32,2463 02021 RLS # AT 6D ESTIMATED TIME OF LANDING
034218,000082: 32,2464 41525 PDDL PUSH # MPAC NON-ZERO TO INDICATE LUNAR CASE
034219,000083: 32,2465 02027 TLAND
034220,000084: 32,2466 37625 STCALL TPIP # ALSO SET TPIP FOR FIRST GUIDANCE PASS
034221,000085: 32,2467 55720 RP-TO-R
034222,000086: 32,2470 64312 VSL4 MXV
034223,000087: 32,2471 01732 REFSMMAT
034224,000088: 32,2472 37635 STCALL LAND
034225,000089: 32,2473 71426 GUIDINIT # GUIDINIT INITIALIZES WM AND /LAND/
034226,000090: 32,2474 45345 DLOAD DSU
034227,000091: 32,2475 02027 TLAND
034228,000092: 32,2476 24710 GUIDDURN
034229,000093: 32,2477 34041 STCALL TDEC1 # INTEGRATE STATE FORWARD TO THAT TIME
034230,000094: 32,2500 27056 LEMPREC
034231,000095: 32,2501 77331 SSP VLOAD
034232,000096: 32,2502 03647 NIGNLOOP
034233,000097: 32,2503 00050 40D
034234,000098: 32,2504 06516 UNITX
034235,000099: 32,2505 26561 STOVL CG
034236,000100: 32,2506 06514 UNITY
034237,000101: 32,2507 26567 STOVL CG +6
034238,000102: 32,2510 06512 UNITZ
034239,000103: 32,2511 16575 STODL CG +14
034240,000104: 32,2512 24706 99999CON
034241,000105: 32,2513 27665 STOVL DELTAH # INITIALIZE DELTAH FOR V16N68 DISPLAY
034242,000106: 32,2514 06520 ZEROVECS
034243,000107: 32,2515 17253 STODL UNFC/2 # INITIALIZE TRIM VELOCITY CORRECTION TERM
034244,000108: 32,2516 06520 HI6ZEROS
034245,000109: 32,2517 03643 STORE TTF/8
034246,000110:
034247,000111: 32,2520 77745 IGNALOOP DLOAD
034248,000112: 32,2521 00015 TAT
034249,000113: 32,2522 27557 STOVL PIPTIME1
034250,000114: 32,2523 00017 RATT1
034251,000115: 32,2524 64312 VSL4 MXV
![]() |
REFSMMAT below is circled in blue pen. |
034253,000117: 32,2525 01732 REFSMMAT
034254,000118: 32,2526 37517 STCALL R
034255,000119: 32,2527 71743 MUNGRAV
034256,000120: 32,2530 35236 STCALL G
034257,000121: 32,2531 62411 ?GUIDSUB # WHICH DELIVERS N PASSES OF GUIDANCE
034258,000122:
034259,000123: # DDUMCALC IS PROGRAMMED AS FOLLOWS:-
![]() |
Page 773 |
034261,000125: # 2 -
034262,000126: # (RIGNZ - RGU )/16 + 16(RGU )KIGNY/B8 + (RGU - RIGNX)KIGNX/B4 + (ABVAL(VGU) - VIGN)KIGNV/B4
034263,000127: # 2 1 0
034264,000128: # DDUM = -------------------------------------------------------------------------------------------
034265,000129: # 10
034266,000130: # 2 (VGU - 16 VGU KIGNX/B4)
034267,000131: # 2 0
034268,000132:
034269,000133: # THE NUMERATOR IS SCALED IN METERS AT 2(28). THE DENOMINATOR IS A VELOCITY IN UNITS OF 2(10)M/CS.
034270,000134: # THE QUOTIENT IS THUS A TIME IN UNITS OF 2(18) CENTISECONDS. THE FINAL SHIFT RESCALES TO UNITS OF 2(28) CS.
034271,000135: # THERE IS NO DAMPING FACTOR. THE CONSTANTS KIGNX/B4, KIGNY/B8 AND KIGNV/B4 ARE ALL NEGATIVE IN SIGN.
034272,000136:
034273,000137: 32,2532 55646 DDUMCALC TS NIGNLOOP
034274,000138: 32,2533 06051 TC INTPRET
034275,000139: 32,2534 57345 DLOAD DMPR # FORM DENOMINATOR FIRST
034276,000140: 32,2535 03627 VGU
034277,000141: 32,2536 02465 KIGNX/B4
034278,000142: 32,2537 44232 SL4R BDSU
034279,000143: 32,2540 03633 VGU +4
034280,000144: 32,2541 45325 PDDL DSU
![]() |
The value in the following line has a blue arrow drawn in pointing to it. |
034282,000146: 32,2542 02463 RIGNZ
034283,000147: 32,2543 02611 RGU +4
034284,000148: 32,2544 65222 SR4R PDDL
034285,000149: 32,2545 02607 RGU +2
034286,000150: 32,2546 57316 DSQ DMPR
![]() |
The value in the following line has a blue arrow drawn in pointing to it. |
034288,000152: 32,2547 02467 KIGNY/B8
034289,000153: 32,2550 65232 SL4R PDDL
034290,000154: 32,2551 02605 RGU
034291,000155: 32,2552 57225 DSU DMPR
![]() |
The values in the following two line have blue arrows drawn in pointing to them. |
034293,000157: 32,2553 02461 RIGNX
034294,000158: 32,2554 02465 KIGNX/B4
034295,000159: 32,2555 51515 PDVL ABVAL
034296,000160: 32,2556 03627 VGU
034297,000161: 32,2557 57225 DSU DMPR
![]() |
The values in the following two line have blue arrows drawn in pointing to them. |
034299,000163: 32,2560 02457 VIGN
034300,000164: 32,2561 02471 KIGNV/B4
034301,000165: 32,2562 43215 DAD DAD
034302,000166: 32,2563 56215 DAD DDV
034303,000167: 32,2564 77661 SRR
034304,000168: 32,2565 21613 10D
034305,000169:
034306,000170: 32,2566 43206 PUSH DAD
034307,000171: 32,2567 03557 PIPTIME1
034308,000172: 32,2570 14041 STODL TDEC1 # STORE NEW GUESS FOR NEXT INTEGRATION
034309,000173: 32,2571 45246 ABS DSU
034310,000174: 32,2572 24712 DDUMCRIT
034311,000175: 32,2573 45040 BMN CALL
034312,000176: 32,2574 64613 DDUMGOOD
034313,000177: 32,2575 27410 INTSTALL
034314,000178: 32,2576 43014 SET SET
![]() |
Page 774 |
034316,000180: 32,2577 01473 INTYPFLG
034317,000181: 32,2600 00063 MOONFLAG
034318,000182: 32,2601 77745 DLOAD
034319,000183: 32,2602 03557 PIPTIME1
034320,000184: 32,2603 25517 STOVL TET # HOPEFULLY ?GUIDSUB DID NOT
034321,000185: 32,2604 00017 RATT1 # CLOBBER RATT1 AND VATT1
034322,000186: 32,2605 25535 STOVL RCV
034323,000187: 32,2606 00025 VATT1
034324,000188: 32,2607 35543 STCALL VCV
034325,000189: 32,2610 27106 INTEGRVS
034326,000190: 32,2611 77650 GOTO
034327,000191: 32,2612 64520 IGNALOOP
034328,000192:
034329,000193: 32,2613 53575 DDUMGOOD VLOAD UNIT # INITIALIZE KALCMANU
034330,000194: 32,2614 03253 UNFC/2
034331,000195: 32,2615 27773 STOVL POINTVSM
034332,000196: 32,2616 06516 UNITX
034333,000197: 32,2617 27765 STOVL SCAXIS # NEXT COMPUTE DISTANCE LANDING SITE IS
034334,000198: 32,2620 03525 V # OUT OF LM'S ORBITAL PLANE AT IGNITION:
034335,000199: 32,2621 53435 VXV UNIT # SIGN IS + IF LANDING SITE IS TO THE
034336,000200: 32,2622 03517 R # RIGHT, NORTH; - IF TO THE LEFT, SOUTH.
034337,000201: 32,2623 72441 DOT SL1
034338,000202: 32,2624 03635 LAND
034339,000203: 32,2625 16603 STODL OUTOFPLN # NEXT COMPUTE TIG
034340,000204: 32,2626 03423 ZOOMTIME
034341,000205: 32,2627 44261 SR BDSU
034342,000206: 32,2630 20617 14D
034343,000207: 32,2631 00041 TDEC1
034344,000208: 32,2632 03442 STORE TIG
034345,000209: 32,2633 77776 EXIT
034346,000210: # ****************************************
034347,000211:
034348,000212: 32,2634 05364 IGNALGRT TC PHASCHNG # PREVENT REPEATING IGNALG
034349,000213: 32,2635 04024 OCT 04024
034350,000214:
034351,000215: 32,2636 44362 ASTNCLOK CS ASTNDEX
034352,000216: 32,2637 04616 TC BANKCALL
034353,000217: 32,2640 74663 CADR STCLOK2
034354,000218: 32,2641 15155 TCF ENDOFJOB # RETURN IN NEW JOB AND IN EBANK FIVE
034355,000219:
034356,000220: 32,2642 35016 ASTNRET CAF EBANK7
034357,000221: 32,2643 54003 TS EBANK
034358,000222:
034359,000223: 32,2644 00004 INHINT
034360,000224: 32,2645 04674 TC IBNKCALL
034361,000225: 32,2646 40143 CADR PFLITEDB
034362,000226: 32,2647 00003 RELINT
034363,000227:
034364,000228: 32,2650 04616 TC BANKCALL
034365,000229: 32,2651 54125 CADR R60LEM
034366,000230:
![]() |
Page 775 |
034368,000232: 32,2652 05364 TC PHASCHNG # PREVENT RECALLING R60
034369,000233: 32,2653 04024 OCT 04024
034370,000234:
034371,000235: 32,2654 34746 P63SPOT3 CA BIT6 # IS THE LR ANTENNA IN POSITION 1 YET
034372,000236: 32,2655 00006 EXTEND
034373,000237: 32,2656 02033 RAND CHAN33
034374,000238: 32,2657 00006 EXTEND
034375,000239: 32,2660 12666 BZF P63SPOT4 # BRANCH IF ANTENNA ALREADY IN POSITION 1
034376,000240:
034377,000241: 32,2661 32704 CAF CODE500 # ASTRONAUT: PLEASE CRANK THE
034378,000242: 32,2662 04616 TC BANKCALL # SILLY THING AROUND
034379,000243: 32,2663 20624 CADR GOPERF1
034380,000244: 32,2664 16001 TCF GOTOPOOH # TERMINATE
034381,000245: 32,2665 12654 TCF P63SPOT3 # PROCEED SEE IF HE'S LYING
034382,000246:
034383,000247: 32,2666 34752 P63SPOT4 CAF TWO # ENTER INITIALIZE LANDING RADAR
034384,000248: 32,2667 55677 TS STILBADH
034385,000249: 32,2670 55700 TS STILBADV
034386,000250: 32,2671 34755 CAF ZERO
034387,000251: 32,2672 55673 TS LRLCTR
034388,000252: 32,2673 55675 TS LRMCTR
034389,000253: 32,2674 55674 TS LRRCTR
034390,000254: 32,2675 55676 TS LRSCTR
034391,000255: 32,2676 55462 TS VSELECT
034392,000256:
034393,000257: 32,2677 34751 CA FOUR # INITIALIZE COUNTER TO ISSUE 511
034394,000258: 32,2700 55622 TS 511CTR # ALARM AFTER 10 SECONDS
034395,000259:
034396,000260: 32,2701 04635 TC POSTJUMP # OFF TO SEE THE WIZARD...
034397,000261: 32,2702 74130 CADR BURNBABY
034398,000262:
034399,000263:
034400,000264: # ----------------------------------------
034401,000265:
034402,000266: # CONSTANTS FOR P63LM AND IGNALG
034403,000267:
034404,000268:
034405,000269: 32,2703 02100 P63ADRES GENADR P63TABLE
034406,000270:
034407,000271:
034408,000272: 32,2704 4362 ASTNDEX = MD1 # OCT 25; INDEX FOR CLOKTASK
034409,000273:
034410,000274:
034411,000275: 32,2704 00500 CODE500 OCT 00500
034412,000276:
034413,000277:
034414,000278: 32,2705 00035 30373 99999CON 2DEC 30479.7 B-24
034415,000279:
![]() |
Page 776 |
034417,000281: 32,2707 00004 01610 GUIDDURN 2DEC +66440 B-28 # GUIDDURN +6.64400314E+ 2
034418,000282:
034419,000283: 32,2711 00000 00010 DDUMCRIT 2DEC +8 B-28 # CRITERION FOR IGNALG CONVERGENCE
034420,000284:
034421,000285:
034422,000286:
034423,000287: 32,2713 00364 HLROFFF DEC 15.24 B-10 # LOADED DP, BUT LOW ORDER DOESN'T MATTER
034424,000288:
034425,000289:
034426,000290: # ----------------------------------------
034427,000291:
![]() |
Page 777 |
034429,000293: # ****************************************
034430,000294: # P68: LANDING CONFIRMATION
034431,000295: # ****************************************
034432,000296:
034433,000297: 34,3351 BANK 34
034434,000298: 34,2000 SETLOC F2DPS*34
034435,000299: 34,2000 BANK
034436,000300:
034437,000301: 34,3351 COUNT* $$/P6567
034438,000302:
034439,000303: 34,3351 05364 LANDJUNK TC PHASCHNG
034440,000304: 34,3352 04024 OCT 04024
034441,000305:
034442,000306: 34,3353 00004 INHINT
034443,000307: 34,3354 04616 TC BANKCALL # ZERO ATTITUDE ERROR
034444,000308: 34,3355 40154 CADR ZATTEROR
034445,000309:
034446,000310: 34,3356 06051 TC INTPRET # TO INTERPRETIVE AS TIME IS NOT CRITICAL
034447,000311: 34,3357 77614 SET # PREVENT RCS JET FIRINGS IF MODE CONT IS
034448,000312: 34,3360 06460 PULSEFLG # IN ATT HOLD
034449,000313: 34,3361 43014 SET CLEAR
034450,000314: 34,3362 04067 SURFFLAG
034451,000315: 34,3363 04666 LETABORT
034452,000316: 34,3364 77214 SET VLOAD
034453,000317: 34,3365 05062 APSFLAG
034454,000318: 34,3366 01220 RN
034455,000319: 34,3367 16032 STODL ALPHAV
034456,000320: 34,3370 01234 PIPTIME
034457,000321: 34,3371 45014 SET CALL
034458,000322: 34,3372 01463 LUNAFLAG
034459,000323: 34,3373 26347 LAT-LONG
034460,000324: 34,3374 77201 SETPD VLOAD # COMPUTE RLS AND STORE IT AWAY
034461,000325: 34,3375 00001 0
034462,000326: 34,3376 01220 RN
034463,000327: 34,3377 65352 VSL2 PDDL
034464,000328: 34,3400 01234 PIPTIME
034465,000329: 34,3401 45006 PUSH CALL
034466,000330: 34,3402 51644 R-TO-RP
034467,000331: 34,3403 02021 STORE RLS
034468,000332: 34,3404 77776 EXIT
034469,000333: 34,3405 33425 CAF V06N43* # ASTRONAUT: NOW LOOK WHERE YOU ENDED UP
034470,000334: 34,3406 04616 TC BANKCALL
034471,000335: 34,3407 20477 CADR GOFLASH
034472,000336: 34,3410 16001 TCF GOTOPOOH # TERMINATE
034473,000337: 34,3411 13413 TCF +2 # PROCEED
034474,000338: 34,3412 13405 TCF -5 # RECYCLE
034475,000339:
034476,000340: 34,3413 06051 TC INTPRET
034477,000341: 34,3414 64375 VLOAD MXV # INITIALIZE GSAV AND (USING REFMF)
![]() |
Page 778 |
034479,000343: 34,3415 01220 RN # YNBSAV, ZNBSAV AND ATTFLAG FOR P57
034480,000344: 34,3416 01732 REFSMMAT
034481,000345: 34,3417 45056 UNIT CALL
034482,000346: 34,3420 47653 CDU*SMNB
034483,000347: 34,3421 36222 STCALL GSAV
034484,000348: 34,3422 33502 REFMF
034485,000349: 34,3423 77776 EXIT
034486,000350:
034487,000351: 34,3424 16001 TCF GOTOPOOH # ASTRONAUT: PLEASE SELECT P57
034488,000352:
034489,000353:
034490,000354: 34,3425 01453 V06N43* VN 0643
End of include-file THE_LUNAR_LANDING.agc. Parent file is MAIN.agc