Source Code

These source-code files are part of a reconstructed copy of Sunrise 45, the penultimate 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, and 1003133-20. 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.

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

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