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,1971
Note that the date is the date of the printout, not the date of the program revision.

006918,000002:                                                                                                  ## Copyright:   Public domain.
006919,000003:                                                                                                  ## Filename:    CHECK_EQUALS_LIST.agc
006920,000004:                                                                                                  ## Purpose:     A section of Luminary revision 210.
006921,000005:                                                                                                  ##              It is part of the source code for the Lunar Module's (LM)
006922,000006:                                                                                                  ##              Apollo Guidance Computer (AGC) for Apollo 15-17.
006923,000007:                                                                                                  ##              This file is intended to be a faithful transcription, except
006924,000008:                                                                                                  ##              that the code format has been changed to conform to the
006925,000009:                                                                                                  ##              requirements of the yaYUL assembler rather than the
006926,000010:                                                                                                  ##              original YUL assembler.
006927,000011:                                                                                                  ## Reference:   pp. 161-162
006928,000012:                                                                                                  ## Assembler:   yaYUL
006929,000013:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
006930,000014:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
006931,000015:                                                                                                  ## Mod history: 2016-11-17 JL   Created from Artemis072 version.
006932,000016:                                                                                                  ##              2016-11-20 HG   Transcribed
006933,000017:                                                                                                  ##              2016-12-23 RSB  Proofed comment text with octopus/ProoferComments
006934,000018:                                                                                                  ##                              and fixed all errors found.
006935,000019: 

Page 161

006937,000021:                                                                                                  #  THIS LIST IS MAINTAINED TO ENSURE THAT CERTAIN ERASABLE LOCATIONS
006938,000022:                                                                                                  #  ARE LOCATED AT A SPECIFIED DISTANCE FROM ANOTHER ERASABLE LOCATION
006939,000023:                                                                                                  #  AS REQUIRED BY THE STRUCTURE OF THE DOWNLINK LISTS:
006940,000024:                                                                                                  #        1. IF A LOCATION IS THE SECOND PART OF A DOWNLINK WORD, IT MUST
006941,000025:                                                                                                  #           BE CONTIGUOUS TO THE LOCATION THAT IS THE FIRST PART.
006942,000026:                                                                                                  #        2. IF A LOCATION IS NOT THE FIRST WORD OF AN NDNADR IT
006943,000027:                                                                                                  #           MUST BE AT A SPECIFIC NUMBER OF LOCATIONS FROM THE FIRST
006944,000028:                                                                                                  #           LOCATION IN THE INSTRUCTION.
006945,000029:                                                                                                  #        3. OTHER NAMES MAY BE GIVEN TO LOCATIONS IN THE DOWNLIND LISTS
006946,000030:                                                                                                  #           THAT ARE NOT REFERENCED IN THE LISTS. THESE MUST NOT BE MOVED.
006947,000031:                                                                                                  #  THIS IS ACCOMPLISHED USING THE INSTRUCTION    CHECK=   .
006948,000032:                                                                                                  #  THIS INSTRUCTION GIVES A CUSS IN THE ASSEMBLY IF THE LOCATION OF THE
006949,000033:                                                                                                  #  FIRST TAG FIELD IS NOT EQUAL TO THE LOCATION OF THE SECOND TAG FIELD.
006950,000034:                                                                                                  #  THE INSTRUCTION HAS NO OTHER EFFECT ON THE ASSEMBLY OR CODE.
006951,000035: 
006952,000036:                                                                                                  #  THIS LIST SHOULD BE UPDATED FOR ANY CHANGES TO THE DOWNLINK LISTS.
006953,000037: 
006954,000038:                                                                                                  #  THIS LIST IS MAINTAINED BY  SUMNER ROSENBERG
006955,000039: 
006956,000040: 
006957,000041: E7,1745                        TIME1              CHECK=   TIME2      +1                         
006958,000042: ???????                        CDUY               CHECK=   CDUX       +1                         
006959,000043: ???????                        CDUZ               CHECK=   CDUY       +1                         
006960,000044: ???????                        CDUT               CHECK=   CDUZ       +1                         
006961,000045: ???????                        PIPAX              CHECK=   CDUS       +1                         
006962,000046: ???????                        PIPAY              CHECK=   PIPAX      +1                         
006963,000047: ???????                        PIPAZ              CHECK=   PIPAY      +1                         
006964,000048: ???????                        DAPBOOLS           CHECK=   RADMODES   +1                         
006965,000049: ???????                        LASTXCMD           CHECK=   LASTYCMD   +1                         
006966,000050: ???????                        THETAD             CHECK=   REDOCTR    +1                         
006967,000051: ???????                        FAILREG            CHECK=   CHANBKUP   +1                         
006968,000052: ???????                        UPOLDMOD           CHECK=   COMPNUMB   +1                         
006969,000053: ???????                        UPVERB             CHECK=   UPOLDMOD   +1                         
006970,000054: ???????                        UPCOUNT            CHECK=   UPVERB     +1                         
006971,000055: ???????                        UPBUFF             CHECK=   UPCOUNT    +1                         
006972,000056: ???????                        SPIRAL             CHECK=   CURSOR     +1                         
006973,000057: ???????                        IMODES33           CHECK=   IMODES30   +1                         
006974,000058: ???????                        CSMMASS            CHECK=   LEMMASS    +1                         
006975,000059: ???????                        DNRRDOT            CHECK=   DNRRANGE   +1                         
006976,000060: ???????                        DNLRVELY           CHECK=   DNLRVELX   +1                         
006977,000061: ???????                        DNLRVELZ           CHECK=   DNLRVELY   +1                         
006978,000062: ???????                        DNLRALT            CHECK=   DNLRVELZ   +1                         
006979,000063: ???????                        DUMLOOPS           CHECK=   SERVDURN   +1                         
006980,000064: ???????                        ZNBSAV             CHECK=   YNBSAV     +6                         
006981,000065: ???????                        IGC                CHECK=   OGC        +2                         
006982,000066: ???????                        MGC                CHECK=   IGC        +2                         
006983,000067: ???????                        BESTJ              CHECK=   BESTI      +1                         
006984,000068: ???????                        OMEGAQ             CHECK=   OMEGAP     +1                         
006985,000069: ???????                        OMEGAR             CHECK=   OMEGAQ     +1                         
006986,000070: ???????                        ALPHAR             CHECK=   ALPHAQ     +1                         
006987,000071: 

Page 162

006989,000073: ???????                        NEGTORKP           CHECK=   POSTORKP   +1                         
006990,000074: ???????                        NEGTORKU           CHECK=   POSTORKU   +1                         
006991,000075: ???????                        POSTORKV           CHECK=   NEGTORKU   +1                         
006992,000076: ???????                        NEGTORKV           CHECK=   POSTORKV   +1                         
006993,000077: ???????                        CDUYD              CHECK=   CDUXD      +1                         
006994,000078: ???????                        CDUZD              CHECK=   CDUYD      +1                         
006995,000079: ???????                        OMEGAQD            CHECK=   OMEGAPD    +1                         
006996,000080: ???????                        OMEGARD            CHECK=   OMEGAQD    +1                         
006997,000081: ???????                        AMG                CHECK=   AIG        +1                         
006998,000082: ???????                        TRKMKCNT           CHECK=   AOG        +1                         
006999,000083: ???????                        VSELECT            CHECK=   AOG        +1                         
007000,000084: ???????                        FORVMETR           CHECK=   LATVMETR   +1                         
007001,000085: ???????                        FLAGWRD0           CHECK=   STATE                                 
007002,000086: ???????                        FLGWRD12           CHECK=   RADMODES                              
007003,000087: ???????                        FLGWRD13           CHECK=   DAPBOOLS                              
007004,000088: ???????                        CPHI               CHECK=   THETAD                                
007005,000089: ???????                        CTHETA             CHECK=   THETAD     +1                         
007006,000090: ???????                        CPSI               CHECK=   THETAD     +2                         
007007,000091: ???????                        DELVX              CHECK=   DELV                                  
007008,000092: ???????                        DELVY              CHECK=   DELV       +2                         
007009,000093: ???????                        DELVZ              CHECK=   DELV       +4                         
007010,000094: ???????                        CTLIST             CHECK=   DNLSTCOD   +1                         
007011,000095: ???????                        CADRMARK           CHECK=   CADRFLSH   +1                         
007012,000096: ???????                        TEMPFLSH           CHECK=   CADRFLSH   +2                         
007013,000097: ???????                        STARCODE           CHECK=   AOTCODE                               
007014,000098: ???????                        TETCSM             CHECK=   T-OTHER                               
007015,000099: ???????                        TETOTHER           CHECK=   T-OTHER                               
007016,000100: ???????                        R(CSM)             CHECK=   R-OTHER                               
007017,000101: ???????                        V(CSM)             CHECK=   V-OTHER                               
007018,000102: ???????                        DOWNTORK           CHECK=   POSTORKP                              
007019,000103: ???????                        DCDU               CHECK=   CDUXD                                 
007020,000104: ???????                        DELVLVC            CHECK=   DELVSLV                               
007021,000105: ???????                        MARKCTR            CHECK=   TRKMKCNT                              
007022,000106: ???????                        VGPREV             CHECK=   VGTIG                                 
007023,000107: ???????                        CH6MASK            CHECK=   CH5MASK    +1                         

End of include-file CHECK_EQUALS_LIST.agc.  Parent file is MAIN.agc