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.

005815,000002:                                                                                                  ## Copyright:   Public domain.
005816,000003:                                                                                                  ## Filename:    INTERRUPT_LEAD_INS.agc
005817,000004:                                                                                                  ## Purpose:     A section of Skylark revision 048.
005818,000005:                                                                                                  ##              It is part of the source code for the Apollo Guidance Computer (AGC)
005819,000006:                                                                                                  ##              for Skylab-2, Skylab-3, Skylab-4, and ASTP. No original listings of
005820,000007:                                                                                                  ##              this software are available; instead, this file was created via
005821,000008:                                                                                                  ##              disassembly of dumps of the core rope modules actually flown on
005822,000009:                                                                                                  ##              Skylab-2. Access to these modules was provided by the New Mexico
005823,000010:                                                                                                  ##              Museum of Space History.
005824,000011:                                                                                                  ## Assembler:   yaYUL
005825,000012:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
005826,000013:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
005827,000014:                                                                                                  ## Mod history: 2023-09-04 MAS  Created from Artemis 072.
005828,000015: 
005829,000016:    4000                                           SETLOC   4000                                  
005830,000017: 
005831,000018:    4000                                           COUNT*   $$/RUPTS                              
005832,000019: 
005833,000020:    4000           00004                           INHINT                                         #  GO
005834,000021:    4001           34051                           CAF      GOBB                                  
005835,000022:    4002           56006                           XCH      BBANK                                 
005836,000023:    4003           12471                           TCF      GOPROG                                
005837,000024: 
005838,000025:    4004           52011                           DXCH     ARUPT                                 #  T6RUPT
005839,000026:    4005           00006                           EXTEND                                         
005840,000027:    4006           30111                           DCA      T6LOC                                 
005841,000028:    4007           52006                           DTCB                                           
005842,000029: 
005843,000030:    4010           52011                           DXCH     ARUPT                                 #  T5RUPT
005844,000031:    4011           40030                           CS       TIME5                                 
005845,000032:    4012           65023                           AD       .5SEC                                 
005846,000033:    4013           14056                           TCF      T5RUPT                                
005847,000034: 
005848,000035:    4014           52011                           DXCH     ARUPT                                 #  T3RUPT
005849,000036:    4015           35267                           CAF      T3RPTBB                               
005850,000037:    4016           56006                           XCH      BBANK                                 
005851,000038:    4017           13370                           TCF      T3RUPT                                
005852,000039: 
005853,000040:    4020           52011                           DXCH     ARUPT                                 #  T4RUPT
005854,000041:    4021           34054                           CAF      T4RPTBB                               
005855,000042:    4022           56006                           XCH      BBANK                                 
005856,000043:    4023           12000                           TCF      T4RUPT                                
005857,000044: 
005858,000045:    4024           52011                           DXCH     ARUPT                                 #  KEYRUPT1
005859,000046:    4025           34052                           CAF      KEYRPTBB                              
005860,000047:    4026           56006                           XCH      BBANK                                 
005861,000048:    4027           13617                           TCF      KEYRUPT1                              
005862,000049: 
005863,000050:    4030           52011                           DXCH     ARUPT                                 #  KEYRUPT2
005864,000051:    4031           34052                           CAF      MKRUPTBB                              
005865,000052:    4032           56006                           XCH      BBANK                                 
005866,000053:    4033           12071                           TCF      MARKRUPT                              
005867,000054: 
005868,000055:    4034           52011                           DXCH     ARUPT                                 #  UPRUPT
005869,000056:    4035           34052                           CAF      UPRPTBB                               
005870,000057:    4036           56006                           XCH      BBANK                                 
005871,000058:    4037           13641                           TCF      UPRUPT                                
005872,000059: 
005873,000060:    4040           52011                           DXCH     ARUPT                                 #  DOWNRUPT
005874,000061:    4041           34051                           CAF      DWNRPTBB                              
005875,000062:    4042           56006                           XCH      BBANK                                 
005876,000063:    4043           14632                           TCF      DODOWNTM                              
005877,000064: 
005878,000065:    4044           52011                           DXCH     ARUPT                                 #  RADAR RUPT
005879,000066:    4045           34053                           CAF      RDRPTBB                               
005880,000067:    4046           56006                           XCH      BBANK                                 
005881,000068:    4047           12440                           TCF      VHFREAD                               
005882,000069: 
005883,000070:    4050           50017                           RESUME                                         
005884,000071: 
005885,000072:    4051  E3,1400                                  EBANK=   LST1                                  #  RESTART USES E0,E3
005886,000073:    4051           12063        GOBB               BBCON    GOPROG                                
005887,000074: 
005888,000075:    4052  E3,1400                                  EBANK=   LST1                                  
005889,000076:    4052     5267               T3RPTBB            EQUALS   WAITBB                                
005890,000077:    4052     4052               KEYRPTBB           =        MKRUPTBB                              
005891,000078: 
005892,000079:    4052  E7,1702                                  EBANK=   MRKBUF1                               
005893,000080:    4052           16067        MKRUPTBB           BBCON    MARKRUPT                              
005894,000081:    4053     4052               UPRPTBB            =        KEYRPTBB                              
005895,000082:    4053     4051               DWNRPTBB           =        GOBB                                  
005896,000083: 
005897,000084:    4053  E7,1663                                  EBANK=   RM                                    
005898,000085:    4053           56067        RDRPTBB            BBCON    VHFREAD                               
005899,000086:    4054     1312                                  EBANK=   DSRUPTSW                              
005900,000087:    4054           14062        T4RPTBB            BBCON    T4RUPT                                
005901,000088:    4055     0025                                  EBANK=   TIME1                                 
005902,000089:    4055           04060        T5RPTBB            BBCON    T5RUPT                                
005903,000090: 
005904,000091:    4056           00006        T5RUPT             EXTEND                                         
005905,000092:    4057           65342                           BZMF     NOQBRSM                               
005906,000093:    4060           00006                           EXTEND                                         
005907,000094:    4061           30113                           DCA      T5LOC                                 
005908,000095:    4062           52006                           DTCB                                           

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