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.

019616,000002:                                                                                                  ## Copyright:   Public domain.
019617,000003:                                                                                                  ## Filename:    R36.agc
019618,000004:                                                                                                  ## Purpose:     A section of Skylark revision 048.
019619,000005:                                                                                                  ##              It is part of the source code for the Apollo Guidance Computer (AGC)
019620,000006:                                                                                                  ##              for Skylab-2, Skylab-3, Skylab-4, and ASTP. No original listings of
019621,000007:                                                                                                  ##              this software are available; instead, this file was created via
019622,000008:                                                                                                  ##              disassembly of dumps of the core rope modules actually flown on
019623,000009:                                                                                                  ##              Skylab-2. Access to these modules was provided by the New Mexico
019624,000010:                                                                                                  ##              Museum of Space History.
019625,000011:                                                                                                  ## Assembler:   yaYUL
019626,000012:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
019627,000013:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
019628,000014:                                                                                                  ## Mod history: 2024-02-26 MAS  Created.
019629,000015: 
019630,000016:                                                                                                  ## All code in this file was part of the P34-P35, P74-P75 log section in Artemis.
019631,000017:                                                                                                  ## It has been moved to its own log section to match Skylark bank ordering.
019632,000018: 
019633,000019:                                                                                                  #  PROGRAM DESCRIPTION
019634,000020:                                                                                                  #  SUBROUTINE NAME       R36  OUT-OF-PLANE RENDEZVOUS ROUTINE
019635,000021:                                                                                                  #  MOD NO.  3      DATE    18 NOVEMBER 1969
019636,000022:                                                                                                  #  MOD BY   T.E.CROCKER
019637,000023: 
019638,000024:                                                                                                  #  FUNCTIONAL DESCRIPTION
019639,000025: 
019640,000026:                                                                                                  #  TO DISPLAY AT ASTRONAUT REQUEST LGC CALCULATED RENDEZVOUS
019641,000027:                                                                                                  #        OUT-OF-PLANE PARAMETERS (YDOT CSM,YDOT LEM,Y).  
019642,000028: 
019643,000029:                                                                                                  #  CALLING SEQUENCE
019644,000030: 
019645,000031:                                                                                                  #  ASTRONAUT REQUEST THROUGH DSKY  V 90 E
019646,000032: 
019647,000033:                                                                                                  #  SUBROUTINES CALLED
019648,000034: 
019649,000035:                                                                                                  #  EXDSPRET  TIMEOPT
019650,000036:                                                                                                  #  GOMARKF   VEHOPT
019651,000037:                                                                                                  #  CSMCONIC
019652,000038:                                                                                                  #  LEMCONIC
019653,000039:                                                                                                  #  LOADTIME
019654,000040: 
019655,000041:                                                                                                  #  NORMAL EXIT MODES
019656,000042: 
019657,000043:                                                                                                  #  ASTRONAUT REQUEST THROUGH DSKY TO TERMINATE PROGRAM V 34 E
019658,000044: 
019659,000045:                                                                                                  #  ALARM OR ABORT EXIT MODES
019660,000046: 
019661,000047:                                                                                                  #  NONE
019662,000048: 
019663,000049:                                                                                                  #  OUTPUT
019664,000050:                                                                                                  #  
019665,000051:                                                                                                  #  DECIMAL DISPLAY OF YDOT CSM, YDOT LEM, Y, TIME.
019666,000052:                                                                                                  #  DISPLAYED VALUES YDOT, YDOT, Y ARE STORED IN ERASABLE
019667,000053:                                                                                                  #  REGISTERS RRATE, RRATE2, RANGE RESPECTIVELY.
019668,000054: 
019669,000055:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED
019670,000056: 
019671,000057:                                                                                                  #  CSM AND LEM STATE VECTORS
019672,000058: 
019673,000059:                                                                                                  #  DEBRIS
019674,000060: 
019675,000061:                                                                                                  #  CENTRALS A,Q,L
019676,000062: 
019677,000063:                                                                                                  #  OTHER  THOSE USED BY THE ABOVE LISTED SUBROUTINES
019678,000064: 
019679,000065: 23,2000                                           SETLOC   R36CM                                 
019680,000066: 23,2000                                           BANK                                           
019681,000067: 
019682,000068: 23,2330  E7,1412                                  EBANK=   TIG                                   
019683,000069: 23,2330                                           COUNT*   $$/R36                                
019684,000070: 
019685,000071: 23,2330           06006        R36                TC       INTPRET                               
019686,000072: 
019687,000073: 23,2331           45145                           DLOAD    CALL                                  
019688,000074: 23,2332           03413                                    TIG                                   
019689,000075: 23,2333           46523                                    TIMEOPT                               
019690,000076: 23,2334           77624        R36A               CALL                                           
019691,000077: 23,2335           11414                                    LEMPREC                               
019692,000078: 23,2336           63375                           VLOAD    PDVL                                  #  VL TO PDLO
019693,000079: 23,2337           00007                                    VATT                                  
019694,000080: 23,2340           00001                                    RATT                                  
019695,000081: 23,2341           63256                           UNIT     PDVL                                  #  UNIT RL TO PDL0, VL TO MPAC
019696,000082: 23,2342           77626                           STADR                                          
019697,000083: 23,2343           75567                           STORE    VPASS36                               #  VL TO VPASS36
019698,000084: 23,2344           53435                           VXV      UNIT                                  #  VL(MPAC) X RL(PDL0)
019699,000085: 23,2345           77626                           STADR                                          
019700,000086: 23,2346           61561                           STODL    UNP36                                 #  UNIT(VL X RL) TO UNP36
019701,000087: 23,2347           00015                                    TAT                                   
019702,000088: 23,2350           34041                           STCALL   TDEC1                                 
019703,000089: 23,2351           11400                                    CSMPREC                               
019704,000090: 23,2352           63375                           VLOAD    PDVL                                  #  VC TO PDL0
019705,000091: 23,2353           00007                                    VATT                                  
019706,000092: 23,2354           00001                                    RATT                                  
019707,000093: 23,2355           00007                           STORE    6D                                    #  RC TO PDL6
019708,000094: 23,2356           63256                           UNIT     PDVL                                  #  UNIT(RC) TO PDL0, VC TO MPAC
019709,000095: 23,2357           77626                           STADR                                          
019710,000096: 23,2360           77762                           STORE    12D                                   #  VC TO PDL12
019711,000097: 23,2361           53435                           VXV      UNIT                                  #  VC(MPAC) X RC(PDL0)
019712,000098: 23,2362           77626                           STADR                                          
019713,000099: 23,2363           51553                           STOVL    UNA36                                 #  UNIT(VC X RC) TO UNA36
019714,000100: 23,2364           00007                                    6D                                    #  RC TO MPAC
019715,000101: 23,2365           72441                           DOT      SL1                                   
019716,000102: 23,2366           02216                                    UNP36                                 #  RC . UNIT(VL X RL)
019717,000103: 23,2367           26202                           STOVL    RANGE                                 #   EQUALS RANGE
019718,000104: 23,2370           00015                                    12D                                   #  VC TO MPAC
019719,000105: 23,2371           72441                           DOT      SL1                                   
019720,000106: 23,2372           02216                                    UNP36                                 #  VC . UNIT(VL X RL)
019721,000107: 23,2373           26204                           STOVL    RRATE                                 #   EQUALS R. RATE OF CSM
019722,000108: 23,2374           02210                                    VPASS36                               #  VL TO MPAC
019723,000109: 23,2375           72441                           DOT      SL1                                   
019724,000110: 23,2376           02224                                    UNA36                                 
019725,000111: 23,2377           02206                           STORE    RRATE2                                #  VL . UNIT(VC X RC)
019726,000112: 23,2400           77776                           EXIT                                           #   EQUALS R. RATE OF LEM
019727,000113: 23,2401           32433                           CAF      V06N96                                #  DISPLAY Y, YDOTCM,YDOTLM
019728,000114: 23,2402           04647                           TC       BANKCALL                              
019729,000115: 23,2403           20456                           CADR     GOMARKF                               
019730,000116: 23,2404           15537                           TCF      ENDEXT                                #  T OR
019731,000117: 23,2405           15537                           TCF      ENDEXT                                #   P....EXIT R36
019732,000118:                                                                                                  #    R...DISPLAY TIME
019733,000119: 23,2406           06006                           TC       INTPRET                               
019734,000120: 23,2407           77624                           CALL                                           
019735,000121: 23,2410           46524                                    TIMEOPT    +1                         
019736,000122: 23,2411           77650                           GOTO                                           
019737,000123: 23,2412           46334                                    R36A                                  
019738,000124: 23,2413           01420        V06N16N            VN       0616                                  
019739,000125: 23,2414           77420        VEHOPT             STQ      EXIT                                  #  ALLOW VEHICLE OPTION
019740,000126: 23,2415           00734                                    VEHRET                                
019741,000127: 23,2416           00006                           EXTEND                                         
019742,000128: 23,2417           35001                           DCA      TWO                                   
019743,000129: 23,2420           53246                           DXCH     OPTIONX                               
019744,000130: 23,2421           32432                           CAF      OPTIONVN                              
019745,000131: 23,2422           04647                           TC       BANKCALL                              
019746,000132: 23,2423           20456                           CADR     GOXDSPF                               
019747,000133: 23,2424           05537                           TC       ENDEXT                                
019748,000134: 23,2425           02427                           TC       +2                                    
019749,000135: 23,2426           02421                           TC       -5                                    
019750,000136: 
019751,000137: 23,2427           06006                           TC       INTPRET                               
019752,000138: 23,2430           77650                           GOTO                                           
019753,000139: 23,2431           00734                                    VEHRET                                
019754,000140: 23,2432           01014        OPTIONVN           VN       0412                                  
019755,000141: 23,2433           01540        V06N96             VN       0696                                  
019756,000142: 

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