Source Code

These source-code files are part of a reconstructed copy of Sundial E, the final release of the Block II Command Module (CM) Apollo Guidance Computer (AGC) system test software.

They have been created via disassembly of binary dumps of original core rope memory modules, part numbers 2003053-121, 2003053-151, and 2003972-211, belonging to the MIT Museum.

Since only binary dumps (rather than listings) of Sundial 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.

011873,000002:                                                                                                  ## Copyright:   Public domain.
011874,000003:                                                                                                  ## Filename:    DOWN-TELEMETRY_PROGRAM.agc
011875,000004:                                                                                                  ## Purpose:     A section of Sundial E.
011876,000005:                                                                                                  ##              It is part of the reconstructed source code for the final
011877,000006:                                                                                                  ##              release of the Block II Command Module system test software. No
011878,000007:                                                                                                  ##              original listings of this program are available; instead, this
011879,000008:                                                                                                  ##              file was created via disassembly of dumps of Sundial core rope
011880,000009:                                                                                                  ##              modules and comparison with other AGC programs.
011881,000010:                                                                                                  ## Assembler:   yaYUL
011882,000011:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
011883,000012:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
011884,000013:                                                                                                  ## Mod history: 2023-06-22 MAS  Created from Aurora 12.
011885,000014:                                                                                                  ##              2023-06-30 MAS  Updated for Sundial E.
011886,000015: 
011887,000016: 05,3517                                           SETLOC   ENDPINS2                              
011888,000017: 05,3517  E7,1430                                  EBANK=   DNTMBUFF                              
011889,000018: 
011890,000019:                                                                                                  #        THIS ROUTINE IS INITITATED EVERY 20MS BY AN INTERRUPT TRIGGERED
011891,000020:                                                                                                  #  BY THE RECEIPT OF AN ENDPULSE FROM THE SPACECRAFT TELEMETRY PROGRAMMER.
011892,000021: 
011893,000022: 05,3517           54016        DODOWNTM           TS       BANKRUPT                              #  DO APPROPRIATE TM PHASE.
011894,000023: 05,3520           51426                           INDEX    DNTMGOTO                              
011895,000024: 05,3521           10000                           TCF      0                                     
011896,000025: 
011897,000026: 05,3522           30413        DNPHASE1           CA       DNLSTADR                              #  ONCE PER CYCLE (1 SECOND), AN ID IS SENT
011898,000027: 05,3523           55425                           TS       LDATALST                              #  AND THE DATA LIST SWITCHED TO THAT
011899,000028: 05,3524           76426                           MASK     LOW10                                 #  SELECTED BY A MISSION OR TEST PROGRAM.
011900,000029: 05,3525           00006                           EXTEND                                         
011901,000030: 05,3526           01034                           WRITE    DNTM1                                 
011902,000031: 05,3527           47644                           CS       BIT7                                  #  WORD ORDER BIT IS 0 FOR ID OWRD ONLY.
011903,000032: 05,3530           00006                           EXTEND                                         
011904,000033: 05,3531           03013                           WAND     13                                    
011905,000034: 
011906,000035: 05,3532           33662                           CAF      LDNPHAS2                              #  SWITCH TO PHASE 2.
011907,000036: 05,3533           55426                           TS       DNTMGOTO                              
011908,000037: 05,3534           33671                           CAF      LOWIDCOD                              #  SPECIAL ID CODE IN L.
011909,000038: 05,3535           13621                           TCF      TMEXITL                               
011910,000039: 
011911,000040: 05,3536           37644        DNPHASE2           CAF      BIT7                                  #  SET WORD ORDER BACK TO 1 FOR REMAINDER
011912,000041: 05,3537           00006                           EXTEND                                         #  OF CYCLE AND SET UP TO PICK UP 12 PAIRS
011913,000042: 05,3540           05013                           WOR      13                                    #  FROM ANYWHERE IN COMMON ERASABLE OR E7.
011914,000043: 
011915,000044: 05,3541           37657                           CAF      ZERO                                  
011916,000045: 05,3542           54065                           TS       ITEMP1                                #  TAKE SNAPSHOT OF 12 DP WORDS.
011917,000046: 05,3543           37654                           CAF      TEN                                   
011918,000047: 
011919,000048: 05,3544           54066        LOOP               TS       ITEMP2                                #  THESE 12 DP WORDS ARE READ INTO AN
011920,000049: 05,3545           61425                           AD       LDATALST                              #  INTERMEDIATE BUFFER SO THEY REFER TO THE
011921,000050: 05,3546           00006                           EXTEND                                         #  SAME POINT IN THE EXECUTION OF A MISSION
011922,000051: 05,3547           50000                           INDEX    A                                     #  PROGRAM. THE WORDS MAY BE IN NON-
011923,000052: 05,3550           50032                           INDEX    26D                                   
011924,000053: 05,3551           30001                           DCA      0                                     #  12 OF THE DATA LIST ARE USED AS
011925,000054: 05,3552           50065                           INDEX    ITEMP1                                #  ADDRESSES OF THE DESIRED DATA.
011926,000055: 05,3553           53431                           DXCH     DNTMBUFF                              
011927,000056: 
011928,000057: 05,3554           37651                           CAF      TWO                                   
011929,000058: 05,3555           26065                           ADS      ITEMP1                                
011930,000059: 05,3556           10066                           CCS      ITEMP2                                
011931,000060: 05,3557           13544                           TCF      LOOP                                  
011932,000061: 
011933,000062: 05,3560           33670                           CAF      DEC11                                 #  SET UP TO SEND 11 REMAINING WORDS
011934,000063: 05,3561           55427                           TS       TMINDEX                               
011935,000064: 05,3562           33663                           CAF      LDNPHASX                              
011936,000065: 05,3563           55426                           TS       DNTMGOTO                              
011937,000066: 
011938,000067: 05,3564           00006                           EXTEND                                         
011939,000068: 05,3565           51425                           INDEX    LDATALST                              
011940,000069: 05,3566           50045                           INDEX    37D                                   
011941,000070: 05,3567           30001                           DCA      0                                     
011942,000071: 05,3570           13616                           TCF      DNTMEXIT                              
011943,000072: 
011944,000073: 05,3571           55427        DNPHASXA           TS       TMINDEX                               
011945,000074: 05,3572           00006                           EXTEND                                         
011946,000075: 05,3573           50000                           INDEX    A                                     #  SENDS SNAPSHOT BUFFER.
011947,000076: 05,3574           53701                           INDEX    FIXLISTB                              
011948,000077: 05,3575           30001                           DCA      0                                     
011949,000078: 05,3576           13616                           TCF      DNTMEXIT                              
011950,000079: 
011951,000080: 05,3577           11427        DNPHASEX           CCS      TMINDEX                               #  AT END OF SNAPSHOT TRANSMISSION, SET UP
011952,000081: 05,3600           13571                           TCF      DNPHASXA                              #  TO SEND 26 PRS FROM ANY ERASABLE LOC AS
011953,000082: 
011954,000083: 05,3601           33664                           CAF      LDNPHAS3                              #  SPECIFIED BY WORDS 1 - 26 OF THE DATA
011955,000084: 05,3602           55426                           TS       DNTMGOTO                              #  LIST.
011956,000085: 05,3603           33667                           CAF      NOGENWDS                              
011957,000086: 
011958,000087: 05,3604           55427        PHASE3A            TS       TMINDEX                               #  GET DP WORD FROM ANY EBANK.
011959,000088: 05,3605           61425                           AD       LDATALST                              
011960,000089: 05,3606           00006                           EXTEND                                         
011961,000090: 05,3607           50000                           INDEX    A                                     
011962,000091: 05,3610           30001                           DCA      0                                     #  THIS GETS THE ADDRESS - MUST USE DCA
011963,000092: 05,3611           54003                           TS       EBANK                                 
011964,000093: 05,3612           75466                           MASK     LOW8                                  
011965,000094: 05,3613           00006                           EXTEND                                         
011966,000095: 05,3614           50000                           INDEX    A                                     
011967,000096: 05,3615           31401                           DCA      3400                                  #  (NOTE ASSEMBLY AS DCA 1400)
011968,000097: 05,3616           00006        DNTMEXIT           EXTEND                                         #  GENERAL DNTM EXIT LOCATION.
011969,000098: 05,3617           01034                           WRITE    DNTM1                                 
011970,000099: 05,3620           30001                           CA       L                                     
011971,000100: 05,3621           00006        TMEXITL            EXTEND                                         
011972,000101: 05,3622           01035                           WRITE    DNTM2                                 
011973,000102: 05,3623           14513                           TCF      NOQRSM                                
011974,000103: 
011975,000104: 05,3624           11427        DNPHASE3           CCS      TMINDEX                               
011976,000105: 05,3625           13604                           TCF      PHASE3A                               
011977,000106: 
011978,000107: 05,3626           33665                           CAF      LDNPHAS4                              #  SEND FIXED FORMAT LIST OF DSPTAB AND
011979,000108: 05,3627           55426                           TS       DNTMGOTO                              #  T2, T1.
011980,000109: 05,3630           36162                           CAF      SIX                                   
011981,000110: 
011982,000111: 05,3631           55427        PHASE4A            TS       TMINDEX                               
011983,000112: 05,3632           00006                           EXTEND                                         #  FIXED DATA LIST FOR DSPTAB AND TIME.
011984,000113: 05,3633           50000                           INDEX    A                                     
011985,000114: 05,3634           53672                           INDEX    FIXLIST                               
011986,000115: 05,3635           30001                           DCA      0                                     
011987,000116: 05,3636           13616                           TCF      DNTMEXIT                              
011988,000117: 05,3637           11427        DNPHASE4           CCS      TMINDEX                               
011989,000118: 05,3640           13631                           TCF      PHASE4A                               
011990,000119: 
011991,000120: 05,3641           33666                           CAF      LPHASE5                               #  SET UP FOR CHANNEL TRANSMISSION.
011992,000121: 05,3642           55426                           TS       DNTMGOTO                              
011993,000122: 05,3643           36165                           CAF      THREE                                 #  FOUR PAIRS OF CHANNELS.
011994,000123: 
011995,000124: 05,3644           55427        PHASE5A            TS       TMINDEX                               
011996,000125: 05,3645           00006                           EXTEND                                         
011997,000126: 05,3646           50000                           INDEX    A                                     
011998,000127: 05,3647           53720                           INDEX    FIXLSTCL                              
011999,000128: 05,3650           00000                           READ     0                                     
012000,000129: 05,3651           54001                           TS       L                                     
012001,000130: 05,3652           00006                           EXTEND                                         
012002,000131: 05,3653           51427                           INDEX    TMINDEX                               
012003,000132: 05,3654           53714                           INDEX    FIXLSTCA                              
012004,000133: 05,3655           00000                           READ     0                                     
012005,000134: 05,3656           13616                           TCF      DNTMEXIT                              
012006,000135: 05,3657           11427        DNPHASE5           CCS      TMINDEX                               
012007,000136: 05,3660           13644                           TCF      PHASE5A                               
012008,000137: 05,3661           13522                           TCF      DNPHASE1                              #  START NEXT CYCLE.
012009,000138:                                                                                                  #        CONSTNATS AND FIXED FORMAT DATA LIST.
012010,000139: 05,3662           03536        LDNPHAS2           ADRES    DNPHASE2                              
012011,000140: 05,3663           03577        LDNPHASX           ADRES    DNPHASEX                              
012012,000141: 05,3664           03624        LDNPHAS3           ADRES    DNPHASE3                              
012013,000142: 05,3665           03637        LDNPHAS4           ADRES    DNPHASE4                              
012014,000143: 05,3666           03657        LPHASE5            ADRES    DNPHASE5                              
012015,000144: 
012016,000145: 05,3667           00031        NOGENWDS           DEC      25         B-14                       #  26 WORDS SENT DURING PHASE 3.
012017,000146: 05,3670           00013        DEC11              DEC      11         B-14                       
012018,000147: 05,3671           00437        LOWIDCOD           OCT      00437                                 #  FOD'S CHOICE.
012019,000148: 
012020,000149: 05,3672           00024        FIXLIST            ADRES    TIME2                                 #  FIXED-FORMAT PORTION INCLUDES BUFFER,
012021,000150: 05,3673           00321                           ADRES    DSPTAB     +10D                       #  DSPTAB, AND TIME.
012022,000151: 05,3674           00317                           ADRES    DSPTAB     +8D                        
012023,000152: 05,3675           00315                           ADRES    DSPTAB     +6                         
012024,000153: 05,3676           00313                           ADRES    DSPTAB     +4                         
012025,000154: 05,3677           00311                           ADRES    DSPTAB     +2                         
012026,000155: 05,3700           00307                           ADRES    DSPTAB                                
012027,000156: 
012028,000157: 05,3701           01454        FIXLISTB           ADRES    DNTMBUFF   +20D                       
012029,000158: 05,3702           01452                           ADRES    DNTMBUFF   +18D                       
012030,000159: 05,3703           01450                           ADRES    DNTMBUFF   +16D                       
012031,000160: 05,3704           01446                           ADRES    DNTMBUFF   +14D                       
012032,000161: 05,3705           01444                           ADRES    DNTMBUFF   +12D                       
012033,000162: 05,3706           01442                           ADRES    DNTMBUFF   +10D                       
012034,000163: 05,3707           01440                           ADRES    DNTMBUFF   +8D                        
012035,000164: 05,3710           01436                           ADRES    DNTMBUFF   +6D                        
012036,000165: 05,3711           01434                           ADRES    DNTMBUFF   +4D                        
012037,000166: 05,3712           01432                           ADRES    DNTMBUFF   +2D                        
012038,000167: 05,3713           01430                           ADRES    DNTMBUFF                              
012039,000168: 
012040,000169: 05,3714           00032        FIXLSTCA           OCT      32                                    #  CHANNEL ADDRESSES.
012041,000170: 05,3715           00030                           OCT      30                                    
012042,000171: 05,3716           00013                           OCT      13                                    
012043,000172: 05,3717           00011                           OCT      11                                    
012044,000173: 
012045,000174: 05,3720           00033        FIXLSTCL           OCT      33                                    
012046,000175: 05,3721           00031                           OCT      31                                    
012047,000176: 05,3722           00014                           OCT      14                                    
012048,000177: 05,3723           00012                           OCT      12                                    
012049,000178:                                                                                                  #        NOMINAL SUNDIAL DOWNLIST.
012050,000179: 05,3724           00342        NOMDNLST           ECADR    UPLOCK                                
012051,000180: 05,3725           02635                           ECADR    PIPAE                                 
012052,000181: 05,3726           02633                           ECADR    PIPAN                                 
012053,000182: 05,3727           02741                           ECADR    WPLATT                                
012054,000183: 05,3730           02737                           ECADR    WPLATI                                
012055,000184: 05,3731           02735                           ECADR    WPLATO                                
012056,000185: 05,3732           02641                           ECADR    VLAUN                                 
012057,000186: 05,3733           02631                           ECADR    ANGX                                  
012058,000187: 05,3734           02627                           ECADR    ANGY                                  
012059,000188: 05,3735           02623                           ECADR    ANGZ                                  
012060,000189: 05,3736           02705                           ECADR    GAZIMUTH                              
012061,000190: 05,3737           02637                           ECADR    DRIFTT                                
012062,000191: 05,3740           02635                           ECADR    DRIFTI                                
012063,000192: 05,3741           02633                           ECADR    DRIFTO                                
012064,000193: 05,3742           00365                           ECADR    MARKSTAT                              
012065,000194: 05,3743           00402                           ECADR    THETAD     +2                         
012066,000195: 05,3744           00400                           ECADR    THETAD                                
012067,000196: 05,3745           00363                           ECADR    IMUCADR                               
012068,000197: 05,3746           00356                           ECADR    DESOPMOD                              
012069,000198: 05,3747           00354                           ECADR    OPTMODES                              
012070,000199: 05,3750           01362                           ECADR    REDOCTR                               #  INCLUDES FAILREG.
012071,000200: 05,3751           00063                           ECADR    STATE      +2                         
012072,000201: 05,3752           00061                           ECADR    STATE                                 
012073,000202: 05,3753           00035                           ECADR    OPTY                                  
012074,000203: 05,3754           00034                           ECADR    CDUZ                                  
012075,000204: 05,3755           00032                           ECADR    CDUX                                  
012076,000205: 05,3756           00403                           ADRES    DESOPTT                               
012077,000206: 05,3757           00361                           ADRES    IMODES30                              
012078,000207: 05,3760           01364                           ADRES    SFAIL                                 
012079,000208: 05,3761           01360                           ADRES    SELFRET                               
012080,000209: 05,3762           00411                           ADRES    DELVX      +4                         
012081,000210: 05,3763           00407                           ADRES    DELVX      +2                         
012082,000211: 05,3764           00405                           ADRES    DELVX                                 
012083,000212: 05,3765           00150                           ADRES    LOC                                   
012084,000213: 05,3766           00152                           ADRES    PUSHLOC                               
012085,000214: 05,3767           00043                           ADRES    BMAGY                                 
012086,000215: 05,3770           00041                           ADRES    PIPAZ                                 
012087,000216: 05,3771           00037                           ADRES    PIPAX                                 
012088,000217: 05,3772                        ENDDNTMS           EQUALS                                         

End of include-file DOWN-TELEMETRY_PROGRAM.agc.  Parent file is MAIN.agc