Source Code

These source-code files are part of a reconstructed copy of Skylark 048, the Block II Command Module (CM) Apollo Guidance Computer (AGC) software for the Skylab-2, Skylab-3, Skylab-4, and Apollo-Soyuz Test Project missions.

They have been created via disassembly of binary dumps of the original core rope memory modules actually flown on Skylab-2, part numbers 2010802-541, 2010802-551, 2010802-561, 2010802-571, 2010802-581, and 2010802-591. Access to these modules was provided by the New Mexico Museum of Space History, who we are much indebted to.

The source code for the Apollo 15, 16, and 17 software, Artemis 072, was used as a starting point. Heavy use was made of TRW 4900.5-244, Programmed Guidance Equations for Skylark Command Module Earth Orbital Program, dated 14 February 1972. This document contains pseudocode of essentially all of Skylark, using original program labels which have been copied for this source reconstruction.

Since only binary dumps (rather than listings) of Skylark are available as source material, all comments and labels are approximate. They have been taken from the Programmed Guidance Equations or other AGC programs where possible, or, in some places, written from scratch to match what we believe would have been in the original listing.

001035,000002:                                                                                                  ## Copyright:   Public domain.
001036,000003:                                                                                                  ## Filename:    TAGS_FOR_RELATIVE_SETLOC_AND_BLANK_BANK_CARDS.agc
001037,000004:                                                                                                  ## Purpose:     A section of Skylark revision 048.
001038,000005:                                                                                                  ##              It is part of the source code for the Apollo Guidance Computer (AGC)
001039,000006:                                                                                                  ##              for Skylab-2, Skylab-3, Skylab-4, and ASTP. No original listings of
001040,000007:                                                                                                  ##              this software are available; instead, this file was created via
001041,000008:                                                                                                  ##              disassembly of dumps of the core rope modules actually flown on
001042,000009:                                                                                                  ##              Skylab-2. Access to these modules was provided by the New Mexico
001043,000010:                                                                                                  ##              Museum of Space History.
001044,000011:                                                                                                  ## Assembler:   yaYUL
001045,000012:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
001046,000013:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
001047,000014:                                                                                                  ## Mod history: 2023-09-04 MAS  Created from Artemis 072.
001048,000015:                                                                                                  ##              2024-03-05 MAS  Updated for Skylark 48.
001049,000016: 
001050,000017:                                                                                                  ## This log section has received many changes to match Skylark. Unfortunately,
001051,000018:                                                                                                  ## the names of all of the new tags, their relative ordering in the banks,
001052,000019:                                                                                                  ## and exactly which pieces of code are associated with which tag is not
001053,000020:                                                                                                  ## known at this time. As such, best guesses have been used, and changes from
001054,000021:                                                                                                  ## Artemis have been minimized wherever possible.
001055,000022: 
001056,000023: ???????                        FIXED              MEMORY   120000     -          167777          
001057,000024: ???????                                           COUNT    BANKSUM                               
001058,000025: 
001059,000026:                                                                                                  #  MODULE 1 CONTAINS BANKS 0 THROUGH 5
001060,000027: 
001061,000028:    4000                                           BLOCK    02                                    
001062,000029:    4000                        FFTAG1             EQUALS                                         
001063,000030:    4000                        FFTAG2             EQUALS                                         
001064,000031:    4000                        FFTAG3             EQUALS                                         
001065,000032:    4000                        FFTAG4             EQUALS                                         
001066,000033:    4000                        FFTAG5             EQUALS                                         
001067,000034:    4000                        FFTAG7             EQUALS                                         
001068,000035:    4000                        FFTAG8             EQUALS                                         
001069,000036:    4000                        EXECF2             EQUALS                                         
001070,000037:    4000                        WAITF2             EQUALS                                         
001071,000038:    4000                        FFTAG10            EQUALS                                         
001072,000039:    4000                        FFTAG12            EQUALS                                         
001073,000040:    4000                        P30SUBS            EQUALS                                         
001074,000041:    4000                        STOPRAT            EQUALS                                         
001075,000042:    4000                                           BNKSUM   02                                    
001076,000043: 
001077,000044:    6000                                           BLOCK    03                                    
001078,000045:    6000                        INTERF3            EQUALS                                         
001079,000046:    6000                        FFTAG6             EQUALS                                         
001080,000047:    6000                        FFTAG13            EQUALS                                         
001081,000048:    6000                                           BNKSUM   03                                    
001082,000049: 
001083,000050: 00,2000                                           BANK     00                                    
001084,000051: 00,2000                        DLAYJOB            EQUALS                                         
001085,000052: 00,2000                        INTERB0            EQUALS                                         
001086,000053: 00,2000                                           BNKSUM   00                                    
001087,000054: 
001088,000055: 01,2000                                           BANK     01                                    
001089,000056: 01,2000                        RESTART            EQUALS                                         
001090,000057: 01,2000                        R02                EQUALS                                         
001091,000058: 01,2000                                           BNKSUM   01                                    
001092,000059: 
001093,000060: 
001094,000061: 01,2000                        INTERB1            EQUALS                                         
001095,000062: 01,2000                        EXECB1             EQUALS                                         
001096,000063: 04,2000                                           BANK     4                                     
001097,000064: 04,2000                        VERB37             EQUALS                                         
001098,000065: 04,2000                        P50S4              EQUALS                                         
001099,000066: 
001100,000067: 04,2000                        MIDDGIM            EQUALS                                         
001101,000068: 04,2000                        C13BANK            EQUALS                                         #  C13STALL - CHANGE CODE IF THIS IS MOVED
001102,000069: 04,2000                        P60S6              EQUALS                                         
001103,000070: 04,2000                        P37LOC             EQUALS                                         
001104,000071: 04,2000                        INTINIT1           EQUALS                                         
001105,000072: 04,2000                                           BNKSUM   04                                    
001106,000073: 
001107,000074: 05,2000                                           BANK     5                                     
001108,000075: 05,2000                        FRANDRES           EQUALS                                         
001109,000076: 05,2000                        DOWNTELM           EQUALS                                         
001110,000077: 05,2000                        DAPMASS            EQUALS                                         
001111,000078: 05,2000                        CONICS4            EQUALS                                         
001112,000079: 05,2000                        P76LOC             EQUALS                                         
001113,000080: 05,2000                                           BNKSUM   05                                    
001114,000081: 
001115,000082:                                                                                                  #  MODULE 2 CONTAINS BANKS 6 THROUGH 13
001116,000083: 
001117,000084: 06,2000                                           BANK     6                                     
001118,000085: 06,2000                        IMUCOMP            EQUALS                                         
001119,000086: 06,2000                        T4RUP              EQUALS                                         
001120,000087: 06,2000                        CSIPROG            EQUALS                                         
001121,000088: 06,2000                        P60S7              EQUALS                                         
001122,000089: 06,2000                        INTPRET2           EQUALS                                         
001123,000090: 06,2000                                           BNKSUM   06                                    
001124,000091: 
001125,000092: 07,2000                                           BANK     7                                     
001126,000093: 07,2000                        SXTMARKE           EQUALS                                         
001127,000094: 07,2000                        MODESW             EQUALS                                         
001128,000095: 07,2000                        KEYRUPT            EQUALS                                         
001129,000096: 07,2000                        CSIPROG6           EQUALS                                         
001130,000097: 07,2000                        P55LOC             EQUALS                                         
001131,000098: 07,2000                                           BNKSUM   07                                    
001132,000099: 
001133,000100: 10,2000                                           BANK     10                                    
001134,000101: 10,2000                        DISPLAYS           EQUALS                                         
001135,000102: 10,2000                        PHASETAB           EQUALS                                         
001136,000103: 10,2000                        COMGEOM2           EQUALS                                         
001137,000104: 10,2000                        P60S4              EQUALS                                         
001138,000105: 10,2000                        OPTDRV             EQUALS                                         
001139,000106: 10,2000                        KALCMON3           EQUALS                                         
001140,000107: 10,2000                        CONICS5            EQUALS                                         
001141,000108: 10,2000                                           BNKSUM   10                                    
001142,000109: 
001143,000110: 11,2000                                           BANK     11                                    
001144,000111: 11,2000                        ORBITAL            EQUALS                                         
001145,000112: 11,2000                        ORBITAL1           EQUALS                                         #  CONSTANTS
001146,000113: 11,2000                        INTVEL             EQUALS                                         
001147,000114: 11,2000                        S52/2              EQUALS                                         
001148,000115: 11,2000                        CONICS2            EQUALS                                         
001149,000116: 11,2000                        CONICS3            EQUALS                                         
001150,000117: 11,2000                        LATLONG            EQUALS                                         
001151,000118: 11,2000                        P50LOC                                                            
001152,000119: 11,2000                                           BNKSUM   11                                    
001153,000120: 
001154,000121: 12,2000                                           BANK     12                                    
001155,000122: 12,2000                        CONICS             EQUALS                                         
001156,000123: 12,2000                        E/PROG             EQUALS                                         
001157,000124: 12,2000                        E/PROG1            EQUALS                                         
001158,000125: 12,2000                        SR52/1             EQUALS                                         
001159,000126: 12,2000                                           BNKSUM   12                                    
001160,000127: 
001161,000128: 13,2000                                           BANK     13                                    
001162,000129: 13,2000                        DKDAPS             EQUALS                                         
001163,000130: 13,2000                        INTINIT            EQUALS                                         
001164,000131: 13,2000                                           BNKSUM   13                                    
001165,000132: 
001166,000133:                                                                                                  #  SPACER
001167,000134: 
001168,000135:                                                                                                  #           MODULE 3 CONTAINS BANKS 14 THROUGH 21
001169,000136: 
001170,000137: 14,2000                                           BANK     14                                    
001171,000138: 14,2000                        P50S               EQUALS                                         
001172,000139: 14,2000                        RT53               EQUALS                                         
001173,000140: 14,2000                        P50S1              EQUALS                                         
001174,000141: 14,2000                        DAPS9              EQUALS                                         
001175,000142: 14,2000                                           BNKSUM   14                                    
001176,000143: 
001177,000144: 15,2000                                           BANK     15                                    
001178,000145: 15,2000                        STARTAB            EQUALS                                         
001179,000146: 15,2000                        ETRYDAP            EQUALS                                         
001180,000147: 15,2000                        CDHTAGS            EQUALS                                         
001181,000148: 15,2000                        CONICS1            EQUALS                                         
001182,000149: 15,2000                                           BNKSUM   15                                    
001183,000150: 
001184,000151: 16,2000                                           BANK     16                                    
001185,000152: 16,2000                        P40S1              EQUALS                                         
001186,000153: 16,2000                        DAPROLL            EQUALS                                         
001187,000154: 16,2000                        P50S2              EQUALS                                         
001188,000155: 16,2000                        INTVEL1            EQUALS                                         
001189,000156: 16,2000                                           BNKSUM   16                                    
001190,000157: 
001191,000158: 17,2000                                           BANK     17                                    
001192,000159: 17,2000                        EXTVRBS1           EQUALS                                         
001193,000160: 17,2000                        DAPS4              EQUALS                                         
001194,000161: 17,2000                        DAPS5              EQUALS                                         
001195,000162: 17,2000                        DAPS7              EQUALS                                         
001196,000163: 17,2000                        P50S3              EQUALS                                         
001197,000164: 17,2000                        INTINIT3           EQUALS                                         
001198,000165: 17,2000                                           BNKSUM   17                                    
001199,000166: 
001200,000167: 20,2000                                           BANK     20                                    
001201,000168: 20,2000                        DAPS6              EQUALS                                         
001202,000169: 20,2000                        DAPS1              EQUALS                                         
001203,000170: 20,2000                        DAPS2              EQUALS                                         
001204,000171: 20,2000                        MANUSTUF           EQUALS                                         
001205,000172: 20,2000                        VAC5LOC            EQUALS                                         
001206,000173: 20,2000                        P29TAG2            EQUALS                                         
001207,000174: 20,2000                                           BNKSUM   20                                    
001208,000175: 
001209,000176: 21,2000                                           BANK     21                                    
001210,000177: 21,2000                        DAPS3              EQUALS                                         
001211,000178: 21,2000                        MYSUBS             EQUALS                                         
001212,000179: 21,2000                                           BNKSUM   21                                    
001213,000180: 
001214,000181:                                                                                                  #  MODULE 4 CONTAINS BANKS 22 THROUGH 27
001215,000182: 
001216,000183: 22,2000                                           BANK     22                                    
001217,000184: 22,2000                        RTBCODES           EQUALS                                         
001218,000185: 22,2000                        RTBCODE1           EQUALS                                         
001219,000186: 22,2000                        DAPS8              EQUALS                                         
001220,000187: 22,2000                        APOPERI            EQUALS                                         
001221,000188: 22,2000                        KALCMON2           EQUALS                                         
001222,000189: 22,2000                        KALCMON1           EQUALS                                         
001223,000190: 22,2000                        P38TAG             EQUALS                                         
001224,000191: 22,2000                        P11THREE           EQUALS                                         
001225,000192: 22,2000                                           BNKSUM   22                                    
001226,000193: 
001227,000194: 23,2000                                           BANK     23                                    
001228,000195: 23,2000                        P20S2              EQUALS                                         
001229,000196: 23,2000                        INFLIGHT           EQUALS                                         
001230,000197: 23,2000                        COMGEOM1           EQUALS                                         
001231,000198: 23,2000                        POWFLITE           EQUALS                                         
001232,000199: 23,2000                        POWFLIT1           EQUALS                                         
001233,000200: 23,2000                        POWFLIT2           EQUALS                                         
001234,000201: 23,2000                        R30LOC             EQUALS                                         
001235,000202: 23,2000                        R36CM              EQUALS                                         
001236,000203: 23,2000                        P20S5              EQUALS                                         
001237,000204: 23,2000                                           BNKSUM   23                                    
001238,000205: 
001239,000206: 24,2000                                           BANK     24                                    
001240,000207: 24,2000                        P40S               EQUALS                                         
001241,000208: 24,2000                                           BNKSUM   24                                    
001242,000209: 
001243,000210: 25,2000                                           BANK     25                                    
001244,000211: 25,2000                        REENTRY            EQUALS                                         
001245,000212: 25,2000                                           BNKSUM   25                                    
001246,000213: 
001247,000214: 26,2000                                           BANK     26                                    
001248,000215: 26,2000                        INTPRET1           EQUALS                                         
001249,000216: 26,2000                        REENTRY1           EQUALS                                         
001250,000217: 26,2000                        P60S               EQUALS                                         
001251,000218: 26,2000                        P60S1              EQUALS                                         
001252,000219: 26,2000                        P60S2              EQUALS                                         
001253,000220: 26,2000                        P60S3              EQUALS                                         
001254,000221: 26,2000                        PLANTIN            EQUALS                                         #  LUNAR ROT
001255,000222: 26,2000                        EPHEM              EQUALS                                         
001256,000223: 26,2000                        P05P06             EQUALS                                         
001257,000224: 26,2000                        P30S1A             EQUALS                                         
001258,000225: 26,2000                        P11FOUR            EQUALS                                         
001259,000226: 26,2000                                           BNKSUM   26                                    
001260,000227: 
001261,000228: 27,2000                                           BANK     27                                    
001262,000229: 27,2000                        TOF-FF             EQUALS                                         
001263,000230: 27,2000                        MANUVER            EQUALS                                         
001264,000231: 27,2000                        MANUVER1           EQUALS                                         
001265,000232: 27,2000                        P40S5              EQUALS                                         
001266,000233: 27,2000                        VECPT              EQUALS                                         
001267,000234: 27,2000                        MGIM               EQUALS                                         
001268,000235: 27,2000                        UPDATE2            EQUALS                                         
001269,000236: 27,2000                        R22S1              EQUALS                                         
001270,000237: 27,2000                        P60S5              EQUALS                                         
001271,000238: 27,2000                        CDHTAG             EQUALS                                         
001272,000239: 27,2000                        ORBITAL2           EQUALS                                         
001273,000240: 27,2000                        P20S6              EQUALS                                         
001274,000241: 27,2000                        TOF-FF1            EQUALS                                         
001275,000242: 27,2000                                           BNKSUM   27                                    
001276,000243: 
001277,000244:                                                                                                  #  MODULE 5 CONTAINS BANKS 30 THROUGH 35
001278,000245: 
001279,000246: 30,2000                                           BANK     30                                    
001280,000247: 30,2000                        LOWSUPER           EQUALS                                         
001281,000248: 30,2000                        P20S1              EQUALS                                         
001282,000249: 30,2000                        P40S3              EQUALS                                         
001283,000250: 30,2000                        P29TAG1            EQUALS                                         
001284,000251: 30,2000                                           BNKSUM   30                                    
001285,000252: 
001286,000253: 31,2000                                           BANK     31                                    
001287,000254: 31,2000                        CSI/CDH1           EQUALS                                         
001288,000255: 31,2000                        R34                EQUALS                                         
001289,000256: 31,2000                        CDHTAG2            EQUALS                                         
001290,000257: 31,2000                        R31                EQUALS                                         
001291,000258: 31,2000                        MEASINC3           EQUALS                                         
001292,000259: 31,2000                        V89TAG             EQUALS                                         
001293,000260: 31,2000                        P40S4              EQUALS                                         
001294,000261: 31,2000                        NCPROGS2           EQUALS                                         
001295,000262: 31,2000                                           BNKSUM   31                                    
001296,000263: 
001297,000264: 32,2000                                           BANK     32                                    
001298,000265: 32,2000                        NCPROGS            EQUALS                                         
001299,000266: 32,2000                                           BNKSUM   32                                    
001300,000267: 
001301,000268: 33,2000                                           BANK     33                                    
001302,000269: 33,2000                        TESTLEAD           EQUALS                                         
001303,000270: 33,2000                        IMUCAL             EQUALS                                         
001304,000271: 33,2000                        IMUCAL3            EQUALS                                         
001305,000272: 33,2000                        P11TWO             EQUALS                                         
001306,000273: 33,2000                                           BNKSUM   33                                    
001307,000274: 
001308,000275: 34,2000                                           BANK     34                                    
001309,000276: 34,2000                        P11ONE             EQUALS                                         
001310,000277: 34,2000                        P20S3              EQUALS                                         
001311,000278: 34,2000                        P20S4              EQUALS                                         
001312,000279: 34,2000                                           BNKSUM   34                                    
001313,000280: 
001314,000281: 35,2000                                           BANK     35                                    
001315,000282: 35,2000                        CSI/CDH            EQUALS                                         
001316,000283: 35,2000                        P30S1              EQUALS                                         
001317,000284: 35,2000                        P20S8              EQUALS                                         
001318,000285: 35,2000                        INTINIT2           EQUALS                                         
001319,000286: 35,2000                                           BNKSUM   35                                    
001320,000287: 
001321,000288:                                                                                                  #  MODULE 6 CONTAINS BANKS 36 THROUGH 43
001322,000289: 
001323,000290: 36,2000                                           BANK     36                                    
001324,000291: 36,2000                        DELRSPL1           EQUALS                                         
001325,000292: 36,2000                        MEASINC            EQUALS                                         
001326,000293: 36,2000                        MEASINC1           EQUALS                                         
001327,000294: 36,2000                        P20S7              EQUALS                                         
001328,000295: 36,2000                        S3435LOC           EQUALS                                         
001329,000296: 36,2000                                           BNKSUM   36                                    
001330,000297: 
001331,000298: 37,2000                                           BANK     37                                    
001332,000299: 37,2000                        P20S               EQUALS                                         
001333,000300: 37,2000                        BODYATT            EQUALS                                         
001334,000301: 37,2000                        RENDEZ             EQUALS                                         
001335,000302: 37,2000                        SERVICES           EQUALS                                         
001336,000303: 37,2000                        CDHTAG3            EQUALS                                         
001337,000304: 37,2000                                           BNKSUM   37                                    
001338,000305: 
001339,000306: 40,2000                                           BANK     40                                    
001340,000307: 40,2000                        PINSUPER           EQUALS                                         
001341,000308: 40,2000                        PINBALL1           EQUALS                                         
001342,000309: 40,2000                                           BNKSUM   40                                    
001343,000310: 
001344,000311: 41,2000                                           BANK     41                                    
001345,000312: 41,2000                        PINBALL2           EQUALS                                         
001346,000313: 41,2000                        EXTVBS2            EQUALS                                         
001347,000314: 41,2000                                           BNKSUM   41                                    
001348,000315: 
001349,000316: 42,2000                                           BANK     42                                    
001350,000317: 42,2000                        PINBALL3           EQUALS                                         
001351,000318: 42,2000                        EXTVBS             EQUALS                                         
001352,000319: 42,2000                        UPDATE3            EQUALS                                         
001353,000320: 42,2000                                           BNKSUM   42                                    
001354,000321: 
001355,000322: 43,2000                                           BANK     43                                    
001356,000323: 43,2000                        SELFCHEC           EQUALS                                         
001357,000324: 43,2000                        EXTVERBS           EQUALS                                         
001358,000325: 43,2000                                           BNKSUM   43                                    
001359,000326: 
001360,000327: 43,2000  26,3203               HI6ZEROS           EQUALS   ZEROVECS                              #  ZERO VECTOR ALWAYS IN HIGH MEMORY
001361,000328: 43,2000  06,3725               LO6ZEROS           EQUALS   ZEROVEC                               #  ZERO VECTOR ALWAYS IN LOW MEMORY
001362,000329: 43,2000  26,3201               HIDPHALF           EQUALS   UNITX                                 
001363,000330: 43,2000  06,3723               LODPHALF           EQUALS   XUNIT                                 
001364,000331: 43,2000  26,3173               HIDP1/4            EQUALS   DP1/4TH                               
001365,000332: 43,2000  15,3411               LODP1/4            EQUALS   D1/4                                  #  2DEC .25
001366,000333: 43,2000  26,3201               HIUNITX            EQUALS   UNITX                                 
001367,000334: 43,2000  26,3177               HIUNITY            EQUALS   UNITY                                 
001368,000335: 43,2000  26,3175               HIUNITZ            EQUALS   UNITZ                                 
001369,000336: 43,2000  06,3723               LOUNITX            EQUALS   XUNIT                                 #  2DEC .5
001370,000337: 43,2000  06,3721               LOUNITY            EQUALS   YUNIT                                 #  2DEC 0
001371,000338: 43,2000  06,3717               LOUNITZ            EQUALS   ZUNIT                                 #  2DEC 0
001372,000339: 43,2000  11,3741               3/4LOWDP           EQUALS   3/4                                   #  2DEC 3.0 B-2
001373,000340: 43,2000  30,2000                                  SBANK=   LOWSUPER                              
001374,000341: 
001375,000342:                                                                                                  #  ROPE SPECIFIC ASSIGNS OBVIATING NEED TO CHECK COMPUTER FLAG IN DETVRUZVING INTEGRATION AREA ENTRIES
001376,000343: 43,2000  04,3414               OTHPREC            EQUALS   LEMPREC                               
001377,000344: 43,2000  04,3340               ATOPOTH            EQUALS   ATOPLEM                               
001378,000345: 43,2000  04,3305               ATOPTHIS           EQUALS   ATOPCSM                               
001379,000346: 
001380,000347: 
001381,000348: 43,2000  04,3314               MOVATHIS           EQUALS   MOVEACSM                              
001382,000349: 43,2000  31,2031               STATEST            EQUALS   V83CALL                               #  * TEMPORARY
001383,000350: 43,2000  04,3400               THISPREC           EQUALS   CSMPREC                               
001384,000351: 43,2000  26,3201               THISAXIS           =        UNITX                                 
001385,000352: 43,2000     5053               ERASID             EQUALS   LOW10                                 #  DOWNLINK ERASABLE DUMP ID
001386,000353: 43,2000     6214               DELAYNUM           EQUALS   THREE                                 
001387,000354: 
001388,000355:                                                                                                  #  ****************************************************************************************************************

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