Source Code

These source-code files are part of a reconstructed copy of Comanche 45, the second release, though not the final mission release, of the Apollo 10 Command Module (CM) Apollo Guidance Computer (AGC) software. Comanche 45 was preceded by Comanche 44 and followed by Comanche 45/2 (the flown release). The reconstruction is believed to be exactly accurate, but in the absence of an actual Apollo-era listing of Comanche 45, some explanation of the reconstruction process is needed to insure confidence in that accuracy.

The starting point was the source code of Comanche 44 (itself previously accurately reconstructed). Comanche 44 source code was then modified by incorporating changes known from contemporary documentation to have been made between revisions 44 and 45. The now-reconstructed Comanche 45 source code was verified by assembling it and checking that the assembled code had the expected known-correct memory-bank checksums. Note that page numbers in the reconstructed code tend to match those in the Comanche 55, the most-similar revision of Comanche for which we have access to an actual non-reconstructed hardcopy; the source code would likely have different page numbers in a contemporary Comanche 45 listing.

Annotations that were not present in the contemporary source code have been added to the reconstructed code to justify each change relative to Comanche 44. Here's a guide to the Apollo documentation referenced in those annotations:
There is also a detailed commentary about the reconstruction process.

Comments expected to have been present in the original source code are prefixed with a single '#' symbol, whereas comments added later are prefixed by "##" or "###". Report any errors noted by creating an issue report at the Virtual AGC Project's GitHub repository.

040725,000002:                                                                                                  ## Copyright:   Public domain.
040726,000003:                                                                                                  ## Filename:    S-BAND_ANTENNA_FOR_CM.agc
040727,000004:                                                                                                  ## Purpose:     A section of Comanche revision 045.
040728,000005:                                                                                                  ##              It is part of the reconstructed source code for the
040729,000006:                                                                                                  ##              second release of the flight software for the Command
040730,000007:                                                                                                  ##              Module's (CM) Apollo Guidance Computer (AGC) for Apollo 10.
040731,000008:                                                                                                  ##              The code has been recreated from a copy of Comanche 055. It
040732,000009:                                                                                                  ##              has been adapted such that the resulting bugger words
040733,000010:                                                                                                  ##              exactly match those specified for Comanche 45 in NASA drawing
040734,000011:                                                                                                  ##              2021153D, which gives relatively high confidence that the
040735,000012:                                                                                                  ##              reconstruction is correct.
040736,000013:                                                                                                  ## Assembler:   yaYUL
040737,000014:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
040738,000015:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
040739,000016:                                                                                                  ## Mod history: 2020-12-06 MAS  Created from Comanche 44.
040740,000017: 

Page 934

040742,000019: 23,3205                                           BANK     23                                    
040743,000020: 42,2000                                           SETLOC   SBAND                                 
040744,000021: 42,2000                                           BANK                                           
040745,000022: 
040746,000023: 42,3652                                           COUNT*   $$/R05                                
040747,000024: 42,3652  E4,1417                                  EBANK=   EMSALT                                
040748,000025: 
040749,000026: 42,3652           04662        SBANDANT           TC       BANKCALL                              #  V 64 E GETS US HERE
040750,000027: 42,3653           17653                           CADR     R02BOTH                               #  CHECK IF IMU IS ON AND ALIGNED
040751,000028: 42,3654           06006                           TC       INTPRET                               
040752,000029: 42,3655           45034                           RTB      CALL                                  
040753,000030: 42,3656           45510                                    LOADTIME                              #  PICKUP CURRENT TIME SCALED B-28
040754,000031: 42,3657           47477                                    CDUTRIG                               #  COMPUTE SINES AND COSINES OF CDU ANGLES
040755,000032: 42,3660           34041                           STCALL   TDEC1                                 #  ADVANCE INTEGRATION TO TIME IN TDEC1
040756,000033: 42,3661           27114                                    CSMCONIC                              #  USING CONIC INTEGRATION
040757,000034: 42,3662           46135                           SLOAD    BHIZ                                  #  ORIGIN OF REFERENCE INERTIAL SYSTEM IS
040758,000035: 42,3663           00050                                    X2                                    #  EARTH = 0, MOON = 2
040759,000036: 42,3664           65677                                    EISOI                                 
040760,000037: 42,3665           77775                           VLOAD                                          
040761,000038: 42,3666           00001                                    RATT                                  
040762,000039: 42,3667           00003                           STORE    RCM                                   #  MOVE RATT TO PREVENT WIPEOUT
040763,000040: 42,3670           45145                           DLOAD    CALL                                  #  MOON, PUSH ON
040764,000041: 42,3671           00015                                    TAT                                   #  GET ORIGINAL TIME
040765,000042: 42,3672           54115                                    LUNPOS                                #  COMPUTE POSITION VECTOR OF MOON
040766,000043: 42,3673           57455                           VAD      VCOMP                                 #  R= -(REM+RCM) = NEG. OF S/C POS. VEC
040767,000044: 42,3674           00003                                    RCM                                   
040768,000045: 42,3675           77650                           GOTO                                           
040769,000046: 42,3676           65701                                    EISOI      +2                         
040770,000047: 42,3677           57575        EISOI              VLOAD    VCOMP                                 #  EARTH, R= -RCM
040771,000048: 42,3700           00001                                    RATT                                  
040772,000049: 42,3701           64201                           SETPD    MXV                                   #  RCS TO STABLE MEMBER- B-1X B-29X B+1
040773,000050: 42,3702           00003                                    2D                                    #  2D
040774,000051: 42,3703           01736                                    REFSMMAT                              #  STABLE MEMBER.  B-1X B-29X B+1= B-29
040775,000052: 42,3704           65372                           VSL1     PDDL                                  #  8D
040776,000053: 42,3705           15335                                    HI6ZEROS                              
040777,000054: 42,3706           24025                           STOVL    YAWANG                                #  ZERO OUT YAWANG, SET UP FOR SMNB
040778,000055: 42,3707           00003                                    RCM                                   #  TRANSFORMATION.  SM COORD.  SCALED B-29
040779,000056: 42,3710           77624                           CALL                                           
040780,000057: 42,3711           47644                                    *SMNB*                                
040781,000058: 42,3712           00003                           STORE    R                                     #  SAVE NAV. BASE COORDINATES
040782,000059: 42,3713           63256                           UNIT     PDVL                                  #  14D
040783,000060: 42,3714           00003                                    R                                     
040784,000061: 42,3715           72431                           VPROJ    VSL2                                  #  COMPUTE PROJECTION OF VECTOR INTO CM
040785,000062: 42,3716           15327                                    HIUNITZ                               #  XY-PLANE, R-(R.UZ)UZ
040786,000063: 42,3717           40045                           BVSU     BOV                                   #  CLEAR OVERFLOW INDICATOR IF SET
040787,000064: 42,3720           00003                                    R                                     
040788,000065: 42,3721           65722                                    COVCNV                                
040789,000066: 42,3722           40056        COVCNV             UNIT     BOV                                   #  TEST OVERFLOW FOR INDICATION OF NULL
040790,000067: 42,3723           65737                                    NOADJUST                              #  VECTOR
040791,000068: 42,3724           50206                           PUSH     DOT                                   #  20D

Page 935

040793,000070: 42,3725           15333                                    HIUNITX                               #  COMPUTE YAW ANGLE = ACOS (URP.UX)
040794,000071: 42,3726           65552                           SL1      ACOS                                  #  REVOLUTIONS SCALED B0
040795,000072: 42,3727           50315                           PDVL     DOT                                   #  22D YAWANG
040796,000073: 42,3730           00017                                    URP                                   
040797,000074: 42,3731           15331                                    HIUNITY                               #  COMPUTE FOLLOWING- URP.UY
040798,000075: 42,3732           51152                           SL1      BPL                                   #  POSITIVE
040799,000076: 42,3733           65737                                    NOADJUST                              #  YES, 0-180 DEGREES
040800,000077: 42,3734           45345                           DLOAD    DSU                                   #  NO, 181-360 DEGREES 20D
040801,000078: 42,3735           15343                                    DPPOSMAX                              #  COMPUTE 2 PI MINUS YAW ANGLE
040802,000079: 42,3736           77606                           PUSH                                           #  22D YAWANG
040803,000080: 42,3737           50375        NOADJUST           VLOAD    DOT                                   #  COMPUTE PITCH ANGLE
040804,000081: 42,3740           00011                                    UR                                    #  ACOS (UR.UZ) - PI/2
040805,000082: 42,3741           15327                                    HIUNITZ                               
040806,000083: 42,3742           65552                           SL1      ACOS                                  #  REVOLUTIONS B0
040807,000084: 42,3743           77625                           DSU                                            
040808,000085: 42,3744           15325                                    HIDP1/4                               
040809,000086: 42,3745           16321                           STODL    RHOSB                                 
040810,000087: 42,3746           00025                                    YAWANG                                
040811,000088: 42,3747           02323                           STORE    GAMMASB                               #  PATCH FOR CHECKOUT
040812,000089: 42,3750           77776                           EXIT                                           
040813,000090: 42,3751           31044                           CA       EXTVBACT                              #  IS BIT 5 STILL ON
040814,000091: 42,3752           75013                           MASK     BIT5                                  
040815,000092: 42,3753           00006                           EXTEND                                         
040816,000093: 42,3754           15534                           BZF      ENDEXT                                #  NO, WE HAVE BEEN ANSWERED
040817,000094: 42,3755           33771                           CAF      V06N51                                #  DISPLAY ANGLES
040818,000095: 42,3756           04662                           TC       BANKCALL                              
040819,000096: 42,3757           20600                           CADR     GOMARKFR                              
040820,000097: 42,3760           05625                           TC       B5OFF                                 #  TERMINATE
040821,000098: 42,3761           05625                           TC       B5OFF                                 
040822,000099: 42,3762           05217                           TC       ENDOFJOB                              #  RECYCLE
040823,000100: 42,3763           35015                           CAF      BIT3                                  #  IMMEDIATE RETURN
040824,000101: 42,3764           05526                           TC       BLANKET                               #  BLANK R3
040825,000102: 42,3765           35017                           CAF      BIT1                                  #  DELAY MINIMUM TIME TO ALLOW DISPLAY IN
040826,000103: 42,3766           04662                           TC       BANKCALL                              
040827,000104: 42,3767           01732                           CADR     DELAYJOB                              
040828,000105: 42,3770           13654                           TCF      SBANDANT   +2                         
040829,000106: 42,3771           01463        V06N51             VN       0651                                  
040830,000107: 42,3772                        RCM                EQUALS   2D                                    
040831,000108: 42,3772                        UR                 EQUALS   8D                                    
040832,000109: 42,3772                        URP                EQUALS   14D                                   
040833,000110: 42,3772                        YAWANG             EQUALS   20D                                   
040834,000111: 42,3772                        PITCHANG           EQUALS   22D                                   
040835,000112: 42,3772  0000002               R                  EQUALS   RCM                                   
040836,000113: 42,3772  30,2000                                  SBANK=   LOWSUPER                              
040837,000114: 

End of include-file S-BAND_ANTENNA_FOR_CM.agc.  Parent file is MAIN.agc