Source Code

These source-code files are part of a reconstructed copy of Sunrise 69, the final release of the Block I 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 1003133-18, 1003133-19, 1003133-20, and 1003733-071. Corresponding portions of code have been copied from Solarium 55 where applicable. Extensive use was also made of the AGC Information Series documents, which were specifically written about the Sunrise software.

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

004193,000002:                                                                                                  ## Copyright:   Public domain.
004194,000003:                                                                                                  ## Filename:    DOWN-TELEMETRY_PROGRAM.agc
004195,000004:                                                                                                  ## Purpose:     A section of Sunrise 69.
004196,000005:                                                                                                  ##              It is part of the reconstructed source code for the final
004197,000006:                                                                                                  ##              release of the Block I Command Module system test software. No
004198,000007:                                                                                                  ##              original listings of this program are available; instead, this
004199,000008:                                                                                                  ##              file was created via disassembly of dumps of Sunrise core rope
004200,000009:                                                                                                  ##              memory modules and comparison with the later Block I program
004201,000010:                                                                                                  ##              Solarium 55.
004202,000011:                                                                                                  ## Assembler:   yaYUL --block1
004203,000012:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
004204,000013:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
004205,000014:                                                                                                  ## Mod history: 2023-06-19 MAS  Created from Sunrise 45.
004206,000015: 
004207,000016:                                                                                                  ## Label names in this section were taken from the errata for AGC Information Series Issue 15.
004208,000017: 
004209,000018:                                                                                                  #  TELEMETRY PROCESSOR
004210,000019:                                                                                                  #  --------- ---------
004211,000020: 
004212,000021:                                                                                                  #        THE FOLLOWING TELEMETRY PROGRAM IS DESIGNED TO TRANSMIT TELEMETRY DATA VIA OUT4 WHEN AN ENDPULSE 
004213,000022:                                                                                                  #  FROM THE NORTH AMERICAN TELEMETRY PROGRAMMER TRIGGERS INTERRUPT 6, WHICH INITIATES THIS ROUTINE. IT OPERATES
004214,000023:                                                                                                  #  IN CONJUNCTION WITH (BUT ASYNCHRONOUSLY FROM) THE T4RUPT PROGRAM, WHICH IS INITATED EVERY 60 MS, VIA INTERRUPT
004215,000024:                                                                                                  #  3. 
004216,000025: 
004217,000026: 
004218,000027:    2301                                           BANK     1                                     
004219,000028:    2301           10675        DOWNRUPT           CCS      TELCOUNT                              #  PNZ IS NORMAL SETTING - +0 INDICATES
004220,000029:    2302           02311                           TC       DOWNTMOK                              #  TM FAILURE SINCE ENDPULSES ARE OCCURING
004221,000030:    2303           02361                           TC       TMFAIL                                #  TOO FREQUENTLY. THE COUNTER IS SET TO +7
004222,000031: 
004223,000032:    2304           44505                           CS       BIT10                                 #  BLOCK TM ENDPULSES UNTIL  ERROR RESET
004224,000033:    2305           70011                           MASK     OUT1                                  #  COMMAND IS GIVEN.
004225,000034:    2306           64505                           AD       BIT10                                 
004226,000035:    2307           50011                           TS       OUT1                                  
004227,000036: 
004228,000037:    2310           02213                           TC       NBRESUME                              #  BY DSRUPT EVERY 120 MS.
004229,000038: 
004230,000039:    2311           50675        DOWNTMOK           TS       TELCOUNT                              #  NORMAL MODE - STORE DECREMENTED COUNT.
004231,000040: 
004232,000041:    2312           10676                           CCS      DISPBUF                               
004233,000042:    2313           02315                           TC       +2                                    
004234,000043:    2314           02324                           TC       CHARTEST                              
004235,000044: 
004236,000045:    2315           35500                           CAF      ZERO                                  
004237,000046:    2316           30676                           XCH      DISPBUF                               
004238,000047: 
004239,000048:    2317           50014        DATADWNF           TS       OUT4                                  
004240,000049:    2320           44506                           CS       BIT9                                  
004241,000050:    2321           70011                           MASK     OUT1                                  
004242,000051:    2322           50011                           TS       OUT1                                  
004243,000052:    2323           02213                           TC       NBRESUME                              #  NO BANK SWITCH REQUIRED.
004244,000053: 
004245,000054:    2324           10702        CHARTEST           CCS      TMKEYBUF                              
004246,000055:    2325           02327                           TC       +2                                    
004247,000056:    2326           02332                           TC       DATA/ID                               
004248,000057: 
004249,000058:    2327           35500                           CAF      ZERO                                  
004250,000059:    2330           30702                           XCH      TMKEYBUF                              
004251,000060:    2331           02317                           TC       DATADWNF                              
004252,000061: 
004253,000062:    2332           10700        DATA/ID            CCS      IDPLACER                              
004254,000063:    2333           02335                           TC       +2                                    
004255,000064:    2334           02354                           TC       IDNEXT                                
004256,000065: 
004257,000066:    2335           50700                           TS       IDPLACER                              
004258,000067:    2336           10701                           CCS      TMINDEX                               
004259,000068:    2337           02341                           TC       +2                                    
004260,000069:    2340           32366                           CAF      DNLST1SZ                              
004261,000070:    2341           50701                           TS       TMINDEX                               
004262,000071: 
004263,000072:    2342           20000                           INDEX    A                                     
004264,000073:    2343           22367                           INDEX    DNLST1                                
004265,000074:    2344           40000                           CS       0                                     
004266,000075:    2345           40000                           COM                                            
004267,000076:    2346           50014                           TS       OUT4                                  
004268,000077:    2347           44506                           CS       BIT9                                  
004269,000078:    2350           70011                           MASK     OUT1                                  
004270,000079:    2351           64506                           AD       BIT9                                  
004271,000080:    2352           50011                           TS       OUT1                                  
004272,000081:    2353           02213                           TC       NBRESUME                              
004273,000082: 
004274,000083:    2354           60701        IDNEXT             AD       TMINDEX                               
004275,000084:    2355           50014                           TS       OUT4                                  
004276,000085:    2356           35501                           CAF      FOUR                                  
004277,000086:    2357           50700                           TS       IDPLACER                              
004278,000087:    2360           02320                           TC       DATADWNF   +1                         
004279,000088: 
004280,000089:                                                                                                  #        SUBROUTINE COMMON TO UPLINK AND DOWNLINK TO TURN ON THE TM FAIL LIGHT.
004281,000090: 
004282,000091:    2361           44513        TMFAIL             CS       BIT4                                  
004283,000092:    2362           70011                           MASK     OUT1                                  
004284,000093:    2363           64513                           AD       BIT4                                  
004285,000094:    2364           50011                           TS       OUT1                                  
004286,000095:    2365           00001                           TC       Q                                     
004287,000096: 
004288,000097:    2366           00037        DNLST1SZ           DEC      31         B-14                       
004289,000098: 
004290,000099:    2367           00036        DNLST1             ADRES    TIME1                                 
004291,000100:    2370           00035                           ADRES    TIME2                                 
004292,000101:    2371           00004                           ADRES    IN0                                   
004293,000102:    2372           00006                           ADRES    IN2                                   
004294,000103:    2373           00007                           ADRES    IN3                                   
004295,000104:    2374           00011                           ADRES    OUT1                                  
004296,000105:    2375           01273                           ADRES    RRECT                                 
004297,000106:    2376           01274                           ADRES    RRECT      +1                         
004298,000107:    2377           01275                           ADRES    RRECT      +2                         
004299,000108:    2400           01276                           ADRES    RRECT      +3                         
004300,000109:    2401           01277                           ADRES    RRECT      +4                         
004301,000110:    2402           01300                           ADRES    RRECT      +5                         
004302,000111:    2403           01327                           ADRES    TDELTAV                               
004303,000112:    2404           01330                           ADRES    TDELTAV    +1                         
004304,000113:    2405           01331                           ADRES    TDELTAV    +2                         
004305,000114:    2406           01332                           ADRES    TDELTAV    +3                         
004306,000115:    2407           01333                           ADRES    TDELTAV    +4                         
004307,000116:    2410           01334                           ADRES    TDELTAV    +5                         
004308,000117:    2411           01301                           ADRES    VRECT                                 
004309,000118:    2412           01302                           ADRES    VRECT      +1                         
004310,000119:    2413           01303                           ADRES    VRECT      +2                         
004311,000120:    2414           01304                           ADRES    VRECT      +3                         
004312,000121:    2415           01305                           ADRES    VRECT      +4                         
004313,000122:    2416           01306                           ADRES    VRECT      +5                         
004314,000123:    2417           01335                           ADRES    TNUV                                  
004315,000124:    2420           01336                           ADRES    TNUV       +1                         
004316,000125:    2421           01337                           ADRES    TNUV       +2                         
004317,000126:    2422           01340                           ADRES    TNUV       +3                         
004318,000127:    2423           01341                           ADRES    TNUV       +4                         
004319,000128:    2424           01342                           ADRES    TNUV       +5                         
004320,000129:    2425           00722                           ADRES    GYROD      +5                         
004321,000130:    2426           00720                           ADRES    GYROD      +3                         

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