Source Code

These source code files are an attempted reconstruction of Sundance revision 306, the Apollo 9 LM (Lunar Module) AGC (Apollo Guidance Computer) flight software, created from binary dumps of original core rope program modules, as follows:
  • B1 — Revision 292
  • B2 — Revision 302
  • B3 — Revision 302
  • B4 — Revision 302
  • B5 — Revision 292
  • B6 — Revision 306
These dumps were then modified using memos, checklists, observed address changes, and the Sundance GSOPs to get the entire program to match Sundance revision 306 as closely as possible. Without more information, it is not possible to say how close it actually is; however, this code should be quite close. It is capable of flying the whole Apollo 9 mission using the original checklists and padload. Since only binary dumps (rather than listings) of Sundance are available as source material, all comments and labels are approximate. They have been taken from other AGC programs where possible, or, in some places, written from scratch to match what we believe would have been in the original listing.

019608,000002:                                                                                                  ## Copyright:   Public domain.
019609,000003:                                                                                                  ## Filename:    RADAR_LEADIN_ROUTINES.agc
019610,000004:                                                                                                  ## Purpose:     A section of an attempt to reconstruct Sundance revision 306
019611,000005:                                                                                                  ##              as closely as possible with available information. Sundance
019612,000006:                                                                                                  ##              306 is the source code for the Lunar Module's (LM) Apollo
019613,000007:                                                                                                  ##              Guidance Computer (AGC) for Apollo 9. This program was created
019614,000008:                                                                                                  ##              using the mixed-revision SundanceXXX as a starting point, and
019615,000009:                                                                                                  ##              pulling back features from Luminary 69 believed to have been
019616,000010:                                                                                                  ##              added based on memos, checklists, observed address changes,
019617,000011:                                                                                                  ##              or the Sundance GSOPs.
019618,000012:                                                                                                  ## Assembler:   yaYUL
019619,000013:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
019620,000014:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
019621,000015:                                                                                                  ## Mod history: 2020-07-24 MAS  Created from SundanceXXX.
019622,000016: 
019623,000017: 
019624,000018: 
019625,000019: 25,2000                                           BANK     25                                    
019626,000020: 25,2000                                           SETLOC   RRLEADIN                              
019627,000021: 25,2000                                           BANK                                           
019628,000022: 
019629,000023: 25,2000  E4,1606                                  EBANK=   RSTACK                                
019630,000024: 
019631,000025:                                                                                                  #  RADAR SAMPLING LOOP.
019632,000026: 
019633,000027: 25,2000                                           COUNT*   $$/RLEAD                              
019634,000028: 25,2000           11525        RADSAMP            CCS      RSAMPDT                               #  TIMES NORMAL ONCE-PER-SECOND SAMPLING.
019635,000029: 25,2001           12003                           TCF      +2                                    
019636,000030: 25,2002           15331                           TCF      TASKOVER                              #  +0 INSERTED MANUALLY TERMINATES TEST.
019637,000031: 
019638,000032: 25,2003           05252                           TC       WAITLIST                              
019639,000033: 25,2004  E4,1606                                  EBANK=   RSTACK                                
019640,000034: 25,2004           02000 52064                     2CADR    RADSAMP                               
019641,000035: 
019642,000036: 25,2006           37665                           CAF      PRIO25                                
019643,000037: 25,2007           05142                           TC       NOVAC                                 
019644,000038: 25,2010  E4,1606                                  EBANK=   RSTACK                                
019645,000039: 25,2010           02020 52064                     2CADR    DORSAMP                               
019646,000040: 
019647,000041: 25,2012           35011                           CAF      BIT14                                 #  FOR CYCLIC SAMPLING, RTSTDEX=
019648,000042: 25,2013           00006                           EXTEND                                         #  RTSTLOC/2 + RTSTBASE
019649,000043: 25,2014           71524                           MP       RTSTLOC                               
019650,000044: 25,2015           61523                           AD       RTSTBASE                              #  0 FOR RR, 2 FOR LR.
019651,000045: 25,2016           55521                           TS       RTSTDEX                               
019652,000046: 25,2017           15331                           TCF      TASKOVER                              
019653,000047: 
019654,000048:                                                                                                  #  DO THE ACTUAL RADAR SAMPLE.
019655,000049: 
019656,000050: 25,2020           02040        DORSAMP            TC       VARADAR                               #  SELECTS VARIABLE RADAR CHANNEL.
019657,000051: 25,2021           04655                           TC       BANKCALL                              
019658,000052: 25,2022           17623                           CADR     RADSTALL                              
019659,000053: 
019660,000054: 25,2023           25526                           INCR     RFAILCNT                              #  ADVANCE FAIL COUNTER BUT ACCEPT BAD DATA
019661,000055: 
019662,000056: 25,2024           00004        DORSAMP2           INHINT                                         
019663,000057: 25,2025           53105                           DXCH     SAMPLSUM                              
019664,000058: 25,2026           51524                           INDEX    RTSTLOC                               
019665,000059: 25,2027           53607                           DXCH     RSTACK                                
019666,000060: 
019667,000061: 25,2030           41524                           CS       RTSTLOC                               #  CYCLE RTSTLOC.
019668,000062: 25,2031           61522                           AD       RTSTMAX                               
019669,000063: 25,2032           00006                           EXTEND                                         
019670,000064: 
019671,000065: 25,2033           12036                           BZF      +3                                    
019672,000066: 25,2034           31524                           CA       RTSTLOC                               
019673,000067: 25,2035           65025                           AD       TWO                                   #  STORAGE IS DP
019674,000068: 25,2036           55524                           TS       RTSTLOC                               
019675,000069: 25,2037           15225                           TCF      ENDOFJOB                              #  CONTINUOUS SAMPLING AND 2N TRIES - GONE.
019676,000070: 
019677,000071:                                                                                                  #  VARIABLE RADAR DATA CALLER FOR ONE MEASUREMENT ONLY.
019678,000072: 
019679,000073: 25,2040           35026        VARADAR            CAF      ONE                                   #  WILL BE SENT TO RADAR ROUTINE IN A BY
019680,000074: 25,2041           54133                           TS       BUF2                                  #  SWCALL.
019681,000075: 25,2042           51521                           INDEX    RTSTDEX                               
019682,000076: 25,2043           32045                           CAF      RDRLOCS                               
019683,000077: 25,2044           14661                           TCF      SWCALL                                #  NOT TOUCHING Q.
019684,000078: 
019685,000079: 25,2045           53057        RDRLOCS            CADR     RRRANGE                               #  = 0
019686,000080: 25,2046           53055                           CADR     RRRDOT                                #  = 1
019687,000081: 25,2047           53053                           CADR     LRVELX                                #  = 2
019688,000082: 25,2050           53051                           CADR     LRVELY                                #  = 3
019689,000083: 25,2051           53047                           CADR     LRVELZ                                #  = 4
019690,000084: 25,2052           53045                           CADR     LRALT                                 #  = 5
019691,000085: 
019692,000086: 

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