Source Code
![]() |
These source-code files derive from a printout of Luminary 210 (Apollo 15-17
Lunar Module guidance computer program), from the personal library of
original AGC developer Don Eyles, digitally photographed at archive.org,
financially sponsored by Jim Lawton, and transcribed to source code by a
team of volunteers. This colorized, syntax-highlighted form was created
by assembling that transcribed source code. Note that the full page images
are available on the
Virtual AGC project page at archive.org, while reduced-size images
are presented at the VirtualAGC project website. Report or fix any
transcription errors at
the Virtual AGC project code repository. Notations on the program listing read, in part: GAP: ASSEMBLE REVISION 210 OF AGC PROGRAM LUMINARY BY NASA 2021112-161 17:11 MAR. 19,1971Note that the date is the date of the printout, not the date of the program revision. |
006915,000002: ## Copyright: Public domain.
006916,000003: ## Filename: CHECK_EQUALS_LIST.agc
006917,000004: ## Purpose: A section of Luminary revision 210.
006918,000005: ## It is part of the source code for the Lunar Module's (LM)
006919,000006: ## Apollo Guidance Computer (AGC) for Apollo 15-17.
006920,000007: ## This file is intended to be a faithful transcription, except
006921,000008: ## that the code format has been changed to conform to the
006922,000009: ## requirements of the yaYUL assembler rather than the
006923,000010: ## original YUL assembler.
006924,000011: ## Reference: pp. 161-162
006925,000012: ## Assembler: yaYUL
006926,000013: ## Contact: Ron Burkey <info@sandroid.org>.
006927,000014: ## Website: www.ibiblio.org/apollo/index.html
006928,000015: ## Mod history: 2016-11-17 JL Created from Artemis072 version.
006929,000016: ## 2016-11-20 HG Transcribed
006930,000017: ## 2016-12-23 RSB Proofed comment text with octopus/ProoferComments
006931,000018: ## and fixed all errors found.
006932,000019:
![]() |
Page 161 |
006934,000021: # THIS LIST IS MAINTAINED TO ENSURE THAT CERTAIN ERASABLE LOCATIONS
006935,000022: # ARE LOCATED AT A SPECIFIED DISTANCE FROM ANOTHER ERASABLE LOCATION
006936,000023: # AS REQUIRED BY THE STRUCTURE OF THE DOWNLINK LISTS:
006937,000024: # 1. IF A LOCATION IS THE SECOND PART OF A DOWNLINK WORD, IT MUST
006938,000025: # BE CONTIGUOUS TO THE LOCATION THAT IS THE FIRST PART.
006939,000026: # 2. IF A LOCATION IS NOT THE FIRST WORD OF AN NDNADR IT
006940,000027: # MUST BE AT A SPECIFIC NUMBER OF LOCATIONS FROM THE FIRST
006941,000028: # LOCATION IN THE INSTRUCTION.
006942,000029: # 3. OTHER NAMES MAY BE GIVEN TO LOCATIONS IN THE DOWNLIND LISTS
006943,000030: # THAT ARE NOT REFERENCED IN THE LISTS. THESE MUST NOT BE MOVED.
006944,000031: # THIS IS ACCOMPLISHED USING THE INSTRUCTION CHECK= .
006945,000032: # THIS INSTRUCTION GIVES A CUSS IN THE ASSEMBLY IF THE LOCATION OF THE
006946,000033: # FIRST TAG FIELD IS NOT EQUAL TO THE LOCATION OF THE SECOND TAG FIELD.
006947,000034: # THE INSTRUCTION HAS NO OTHER EFFECT ON THE ASSEMBLY OR CODE.
006948,000035:
006949,000036: # THIS LIST SHOULD BE UPDATED FOR ANY CHANGES TO THE DOWNLINK LISTS.
006950,000037:
006951,000038: # THIS LIST IS MAINTAINED BY SUMNER ROSENBERG
006952,000039:
006953,000040:
006954,000041: E7,1745 TIME1 CHECK= TIME2 +1
006955,000042: ??????? CDUY CHECK= CDUX +1
006956,000043: ??????? CDUZ CHECK= CDUY +1
006957,000044: ??????? CDUT CHECK= CDUZ +1
006958,000045: ??????? PIPAX CHECK= CDUS +1
006959,000046: ??????? PIPAY CHECK= PIPAX +1
006960,000047: ??????? PIPAZ CHECK= PIPAY +1
006961,000048: ??????? DAPBOOLS CHECK= RADMODES +1
006962,000049: ??????? LASTXCMD CHECK= LASTYCMD +1
006963,000050: ??????? THETAD CHECK= REDOCTR +1
006964,000051: ??????? FAILREG CHECK= CHANBKUP +1
006965,000052: ??????? UPOLDMOD CHECK= COMPNUMB +1
006966,000053: ??????? UPVERB CHECK= UPOLDMOD +1
006967,000054: ??????? UPCOUNT CHECK= UPVERB +1
006968,000055: ??????? UPBUFF CHECK= UPCOUNT +1
006969,000056: ??????? SPIRAL CHECK= CURSOR +1
006970,000057: ??????? IMODES33 CHECK= IMODES30 +1
006971,000058: ??????? CSMMASS CHECK= LEMMASS +1
006972,000059: ??????? DNRRDOT CHECK= DNRRANGE +1
006973,000060: ??????? DNLRVELY CHECK= DNLRVELX +1
006974,000061: ??????? DNLRVELZ CHECK= DNLRVELY +1
006975,000062: ??????? DNLRALT CHECK= DNLRVELZ +1
006976,000063: ??????? DUMLOOPS CHECK= SERVDURN +1
006977,000064: ??????? ZNBSAV CHECK= YNBSAV +6
006978,000065: ??????? IGC CHECK= OGC +2
006979,000066: ??????? MGC CHECK= IGC +2
006980,000067: ??????? BESTJ CHECK= BESTI +1
006981,000068: ??????? OMEGAQ CHECK= OMEGAP +1
006982,000069: ??????? OMEGAR CHECK= OMEGAQ +1
006983,000070: ??????? ALPHAR CHECK= ALPHAQ +1
006984,000071:
![]() |
Page 162 |
006986,000073: ??????? NEGTORKP CHECK= POSTORKP +1
006987,000074: ??????? NEGTORKU CHECK= POSTORKU +1
006988,000075: ??????? POSTORKV CHECK= NEGTORKU +1
006989,000076: ??????? NEGTORKV CHECK= POSTORKV +1
006990,000077: ??????? CDUYD CHECK= CDUXD +1
006991,000078: ??????? CDUZD CHECK= CDUYD +1
006992,000079: ??????? OMEGAQD CHECK= OMEGAPD +1
006993,000080: ??????? OMEGARD CHECK= OMEGAQD +1
006994,000081: ??????? AMG CHECK= AIG +1
006995,000082: ??????? TRKMKCNT CHECK= AOG +1
006996,000083: ??????? VSELECT CHECK= AOG +1
006997,000084: ??????? FORVMETR CHECK= LATVMETR +1
006998,000085: ??????? FLAGWRD0 CHECK= STATE
006999,000086: ??????? FLGWRD12 CHECK= RADMODES
007000,000087: ??????? FLGWRD13 CHECK= DAPBOOLS
007001,000088: ??????? CPHI CHECK= THETAD
007002,000089: ??????? CTHETA CHECK= THETAD +1
007003,000090: ??????? CPSI CHECK= THETAD +2
007004,000091: ??????? DELVX CHECK= DELV
007005,000092: ??????? DELVY CHECK= DELV +2
007006,000093: ??????? DELVZ CHECK= DELV +4
007007,000094: ??????? CTLIST CHECK= DNLSTCOD +1
007008,000095: ??????? CADRMARK CHECK= CADRFLSH +1
007009,000096: ??????? TEMPFLSH CHECK= CADRFLSH +2
007010,000097: ??????? STARCODE CHECK= AOTCODE
007011,000098: ??????? TETCSM CHECK= T-OTHER
007012,000099: ??????? TETOTHER CHECK= T-OTHER
007013,000100: ??????? R(CSM) CHECK= R-OTHER
007014,000101: ??????? V(CSM) CHECK= V-OTHER
007015,000102: ??????? DOWNTORK CHECK= POSTORKP
007016,000103: ??????? DCDU CHECK= CDUXD
007017,000104: ??????? DELVLVC CHECK= DELVSLV
007018,000105: ??????? MARKCTR CHECK= TRKMKCNT
007019,000106: ??????? VGPREV CHECK= VGTIG
007020,000107: ??????? CH6MASK CHECK= CH5MASK +1
End of include-file CHECK_EQUALS_LIST.agc. Parent file is MAIN.agc