Source Code
These source-code files are part of a reconstructed copy of Artemis 071, the
first release of the Apollo 15 through 17 Command Module (CM) Apollo Guidance
Computer (AGC) software.
The reconstruction began with source code of Artemis 072 previously transcribed from a digitized copy of that program. The code was then updated by undoing changes between the two versions. The reconstruction was verified by matching memory-bank checksums to those listed in drawing 2021154-. Note that page numbers in the reconstructed code match those on the Artemis 072 printout, although the changed code would likely have changed page numbers for a real Artemis 071 listing. Comments from the original source code are prefixed with a single '#' symbol, whereas comments added later are prefixed by "##" or "###". Report any errors noted by creating an issue report at the Virtual AGC project's GitHub repository. |
005885,000002: ## Copyright: Public domain.
005886,000003: ## Filename: CHECK_EQUALS_LIST.agc
005887,000004: ## Purpose: A section of Artemis revision 071.
005888,000005: ## It is part of the reconstructed source code for the first
005889,000006: ## release of the flight software for the Command Module's
005890,000007: ## (CM) Apollo Guidance Computer (AGC) for Apollo 15 through
005891,000008: ## 17. The code has been recreated from a copy of Artemis 072.
005892,000009: ## It has been adapted such that the resulting bugger words
005893,000010: ## exactly match those specified for Artemis 071 in NASA
005894,000011: ## drawing 2021154-, which gives relatively high confidence
005895,000012: ## that the reconstruction is correct.
005896,000013: ## Reference: 135
005897,000014: ## Assembler: yaYUL
005898,000015: ## Contact: Ron Burkey <info@sandroid.org>.
005899,000016: ## Website: www.ibiblio.org/apollo/index.html
005900,000017: ## Mod history: 2019-08-14 MAS Created from Artemis 072.
005901,000018:
Page 135 |
005903,000020: # ********** CHECK EQUALS LIST **********
005904,000021:
005905,000022: # THIS LIST IS MAINTAINED TO ENSURE THAT CERTAIN ERASABLE LOCATIONS
005906,000023: # ARE LOCATED AT A SPECIFIED DISTANCE FROM ANOTHER ERASABLE LOCATION
005907,000024: # AS REQUIRED BY THE STRUCTURE OF THE DOWNLINK LISTS:
005908,000025: # 1. IF A LOCATION IS THE SECOND PART OF A DOWNLINK WORD, IT MUST
005909,000026: # BE CONTIGUOUS TO THE LOCATION THAT IS THE FIRST PART.
005910,000027: # 2. IF A LOCATION IS NOT THE FIRST WORD OF AN NDNADR IT
005911,000028: # MUST BE AT A SPECIFIC NUMBER OF LOCATIONS FROM THE FIRST
005912,000029: # LOCATION IN THE INSTRUCTION.
005913,000030: # 3. OTHER NAMES MAY BE GIVEN TO LOCATIONS IN THE DOWNLINK LISTS
005914,000031: # THAT ARE NOT REFERENCED IN THE LISTS.THESE MUST NOT BE MOVED.
005915,000032: # THIS IS ACCOMPLISHED USING THE INSTRUCTION CHECK= .
005916,000033: # THIS INSTRUCTION GIVES A CUSS IN THE ASSEMBLY IF THE LOCATION OF THE
005917,000034: # FIRST TAG FIELD IS NOT EQUAL TO THE LOCATION OF THE SECOND TAG FIELD.
005918,000035: # THE INSTRUCTION HAS NO OTHER EFFECT ON THE ASSEMBLY OR CODE.
005919,000036:
005920,000037: # THIS LIST SHOULD BE UPDATED FOR ANY CHANGES TO THE DOWNLINK LISTS.
005921,000038:
005922,000039: # THIS LIST IS MAINTAINED BY SUMNER ROSENBERG
005923,000040:
005924,000041:
005925,000042: E7,1426 TIME1 CHECK= TIME2 +1
005926,000043: ??????? CDUY CHECK= CDUX +1
005927,000044: ??????? CDUT CHECK= CDUZ +1
005928,000045: ??????? PIPAX CHECK= CDUS +1
005929,000046: ??????? PIPAY CHECK= PIPAX +1
005930,000047: ??????? PIPAZ CHECK= PIPAY +1
005931,000048: ??????? UPOLDMOD CHECK= COMPNUMB +1
005932,000049: ??????? UPVERB CHECK= UPOLDMOD +1
005933,000050: ??????? UPCOUNT CHECK= UPVERB +1
005934,000051: ??????? BESTJ CHECK= BESTI +1
005935,000052: ??????? FAILREG CHECK= C31FLWRD +1
005936,000053: ??????? TRKMKCNT CHECK= VHFCNT +1
005937,000054: ??????? OPTION2 CHECK= OPTION1 +1
005938,000055: ??????? THETAD CHECK= REDOCTR +1
005939,000056: ??????? IMODES33 CHECK= IMODES30 +1
005940,000057: ??????? HOLDFLAG CHECK= OPTMODES +1
005941,000058: ??????? RRATE CHECK= RANGE +2
005942,000059: ??????? HPERX CHECK= HAPOX +2
005943,000060: ??????? TCSI CHECK= TCDH +2
005944,000061: ??????? IGC CHECK= OGC +2
005945,000062: ??????? MGC CHECK= IGC +2
005946,000063: ??????? YACTOFF CHECK= PACTOFF +1
005947,000064: ??????? DAPDATR2 CHECK= DAPDATR1 +1
005948,000065: ??????? CSMMASS CHECK= LEMMASS +1
005949,000066: ??????? AK1 CHECK= AK +1
005950,000067: ??????? AK2 CHECK= AK1 +1
005951,000068: ??????? RCSFLAGS CHECK= AK2 +1
005952,000069:
Page 136 |
005954,000071: ??????? WBODY CHECK= OMEGAC
005955,000072: ??????? ADOT CHECK= OGARATE
005956,000073: ??????? ADOT1 CHECK= ADOT +2
005957,000074: ??????? ADOT2 CHECK= ADOT1 +2
005958,000075: ??????? ERRORY CHECK= ERRORX +1
005959,000076: ??????? ERRORZ CHECK= ERRORY +1
005960,000077: ??????? THETADX CHECK= ERRORZ +1
005961,000078: ??????? THETADY CHECK= THETADX +1
005962,000079: ??????? THETADZ CHECK= THETADY +1
005963,000080: ??????? YCMD CHECK= PCMD +1
005964,000081: ??????? BETA/180 CHECK= ALFA/180 +1
005965,000082: ??????? PREL CHECK= CMDAPMOD +1
005966,000083: ??????? QREL CHECK= PREL +1
005967,000084: ??????? RREL CHECK= QREL +1
005968,000085: ??????? ROLLTM CHECK= PAXERR1 +1
005969,000086: ??????? ROLLC CHECK= ROLLTM +1
005970,000087: ??????? LNG(SPL) CHECK= LAT(SPL) +2
005971,000088: ??????? RM CHECK= MARKDOWN +7
005972,000089: ??????? RDOT CHECK= LATANG +2
005973,000090: ??????? THETAH CHECK= RDOT +2
005974,000091: ??????? GAMMAEI CHECK= VPRED +2
005975,000092: ??????? STATE CHECK= FLAGWRD0
005976,000093: ??????? CMTMTIME CHECK= UPBUFF
005977,000094: ??????? SW/NDX CHECK= UPBUFF +1
005978,000095: ??????? ENDBUF CHECK= UPBUFF +16D
005979,000096: ??????? V1 CHECK= UPBUFF +17D
005980,000097: ??????? A0 CHECK= UPBUFF +19D
005981,000098: ??????? DNLSTADR CHECK= DNLSTCOD
005982,000099: ??????? CTLIST CHECK= DNLSTCOD +1
005983,000100: ??????? TEMPFLSH CHECK= CADRFLSH +2
005984,000101: ??????? LANDLAT CHECK= LAT
005985,000102: ??????? TLIFTOFF CHECK= TEVENT
005986,000103: ??????? CPHI CHECK= THETAD
005987,000104: ??????? RDOTREF CHECK= THETAD
005988,000105: ??????? CTHETA CHECK= THETAD +1
005989,000106: ??????? CPSI CHECK= THETAD +2
005990,000107: ??????? VREF CHECK= THETAD +2
005991,000108: ??????? DELVX CHECK= DELV
005992,000109: ??????? DELVY CHECK= DELV +2
005993,000110: ??????? DELVZ CHECK= DELV +4
005994,000111: ??????? TETLEM CHECK= T-OTHER
005995,000112: ??????? TETOTHER CHECK= T-OTHER
005996,000113: ??????? RRATE2 CHECK= RTHETA
005997,000114: ??????? PAXERR CHECK= AK
005998,000115: ??????? OMEGAXC CHECK= OMEGAC
005999,000116: ??????? TVCRCS CHECK= OMEGAC
006000,000117: ??????? ASPS(TM) CHECK= WBODY
006001,000118: ??????? OMEGAYC CHECK= OMEGAC +2
006002,000119: ??????? WBODY1 CHECK= WBODY +2
006003,000120: ??????? WBODY2 CHECK= WBODY1 +2
006004,000121:
Page 137 |
006006,000123: ??????? OMEGAZC CHECK= OMEGAC +4
006007,000124: ??????? OGARATE CHECK= OMEGAB
006008,000125: ??????? OMEGAXB CHECK= OMEGAB
006009,000126: ??????? XPIPBUF CHECK= ADOT
006010,000127: ??????? YPIPBUF CHECK= XPIPBUF +1
006011,000128: ??????? ZPIPBUF CHECK= YPIPBUF +1
006012,000129: ??????? XOLDBUF CHECK= ZPIPBUF +1
006013,000130: ??????? YOLDBUF CHECK= XOLDBUF +1
006014,000131: ??????? ZOLDBUF CHECK= YOLDBUF +1
006015,000132: ??????? OMEGAYB CHECK= OMEGAB +2
006016,000133: ??????? OMEGAZB CHECK= OMEGAB +4
006017,000134: ??????? VDT/180 CHECK= ERRORX
006018,000135: ??????? -VT/180E CHECK= ERRORY
006019,000136: ??????? QAXERR CHECK= THETADX
006020,000137: ??????? RAXERR CHECK= THETADY
006021,000138: ??????? Q7 CHECK= THETADZ
006022,000139: ??????? DELVLVC CHECK= DELVSLV
006023,000140: ??????? SPRTETIG CHECK= TIG
006024,000141: ??????? DELVSIN CHECK= DELVEET3
006025,000142: ??????? VGTEMP CHECK= DELVEET3
006026,000143: ??????? VGPREV CHECK= VGTIG
006027,000144: ??????? LEWD CHECK= VIO
006028,000145: ??????? L/DCALC CHECK= TTE
006029,000146: ??????? VL CHECK= VPRED
006030,000147: ??????? GAMMAL CHECK= GAMMAEI
006031,000148: ??????? PREDANG CHECK= GAMMAEI
006032,000149: ??????? JJ CHECK= GAMMAEI +1
006033,000150: ??????? VTEMP CHECK= MARKTIME +2
006034,000151: ??????? VMAGI CHECK= VGTIG +2
006035,000152: ??????? VGTLI CHECK= VMAGI +2
006036,000153:
Page 138 |
006038,000155: ??????? ASKEP CHECK= ASPS
006039,000156: ??????? ASP1 CHECK= ASPS +1
006040,000157: ??????? ASPUP CHECK= ASPS +2
006041,000158: ??????? ASPDWN CHECK= ASPS +3
006042,000159: ??????? ASP3 CHECK= ASPS +4
006043,000160: ??????? DUMMYAD CHECK= ROO +3
End of include-file CHECK_EQUALS_LIST.agc. Parent file is MAIN.agc