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.

048787,000002:                                                                                                  ## Copyright:   Public domain.
048788,000003:                                                                                                  ## Filename:    INTERPRETIVE_CONSTANTS.agc
048789,000004:                                                                                                  ## Purpose:     A section of Skylark revision 048.
048790,000005:                                                                                                  ##              It is part of the source code for the Apollo Guidance Computer (AGC)
048791,000006:                                                                                                  ##              for Skylab-2, Skylab-3, Skylab-4, and ASTP. No original listings of
048792,000007:                                                                                                  ##              this software are available; instead, this file was created via
048793,000008:                                                                                                  ##              disassembly of dumps of the core rope modules actually flown on
048794,000009:                                                                                                  ##              Skylab-2. Access to these modules was provided by the New Mexico
048795,000010:                                                                                                  ##              Museum of Space History.
048796,000011:                                                                                                  ## Assembler:   yaYUL
048797,000012:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
048798,000013:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
048799,000014:                                                                                                  ## Mod history: 2023-09-04 MAS  Created from Artemis 072.
048800,000015: 
048801,000016: 26,2000                                           SETLOC   INTPRET1                              
048802,000017: 26,2000                                           BANK                                           
048803,000018: 
048804,000019: 26,3173                                           COUNT*   $$/ICONS                              
048805,000020: 26,3173           10000 00000  DP1/4TH            2DEC     .25                                   
048806,000021: 26,3175           00000 00000  UNITZ              2DEC     0          B-28                       
048807,000022: 26,3177           00000 00000  UNITY              2DEC     0          B-28                       
048808,000023: 26,3201           20000 00000  UNITX              2DEC     .5                                    
048809,000024: 26,3203           00000 00000  ZEROVECS           2DEC     0          B-28                       
048810,000025: 26,3205           00000 00000                     2DEC     0          B-28                       
048811,000026: 26,3207           00000 00000                     2DEC     0          B-28                       
048812,000027: 26,3211  26,3201               DPHALF             =        UNITX                                 
048813,000028: 26,3211           37777        DPPOSMAX           OCT      37777                                 
048814,000029: 26,3212           37777                           OCT      37777                                 
048815,000030: 
048816,000031: 
048817,000032:                                                                                                  #  INTERPRETIVE CONSTANTS IN THE OTHER HALF-MEMORY
048818,000033: 
048819,000034: 06,2000                                           SETLOC   INTPRET2                              
048820,000035: 06,2000                                           BANK                                           
048821,000036: 
048822,000037: 06,3717                                           COUNT*   $$/ICONS                              
048823,000038: 06,3717           00000 00000  ZUNIT              2DEC     0          B-28                       
048824,000039: 06,3721           00000 00000  YUNIT              2DEC     0          B-28                       
048825,000040: 06,3723           20000 00000  XUNIT              2DEC     .5                                    
048826,000041: 06,3725           00000 00000  ZEROVEC            2DEC     0          B-28                       
048827,000042: 06,3727           00000 00000                     2DEC     0          B-28                       
048828,000043: 06,3731           00000 00000                     2DEC     0          B-28                       
048829,000044: 
048830,000045: 06,3733           77777                           OCT      77777                                 #  -0, -6, -12 MUST REMAIN IN THIS ORDER
048831,000046: 06,3734           77771        DEC-6              DEC      -6         B-14                       
048832,000047: 06,3735           77763        DEC-12             DEC      -12        B-14                       
048833,000048: 06,3736           37777 37777  LODPMAX            2OCT     3777737777                            #  THESE TWO CONSTANTS MUST REMAIN
048834,000049: 06,3740           37777 37777  LODPMAX1           2OCT     3777737777                            #  ADJACENT AND THE SAME FOR INTEGRATION
048835,000050: 
048836,000051: 06,3742  06,3725               ZERODP             =        ZEROVEC                               
048837,000052: 06,3742  06,3723               HALFDP             =        XUNIT                                 

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