Source Code

005973,000002: ## Copyright: Public domain. 005974,000003: ## Filename: DOWN-TELEMETRY_PROGRAM.agc 005975,000004: ## Purpose: Part of the source code for Solarium build 55. This 005976,000005: ## is for the Command Module's (CM) Apollo Guidance 005977,000006: ## Computer (AGC), for Apollo 6. 005978,000007: ## Assembler: yaYUL --block1 005979,000008: ## Contact: Jim Lawton <jim DOT lawton AT gmail DOT com> 005980,000009: ## Website: www.ibiblio.org/apollo/index.html 005981,000010: ## Page Scans: www.ibiblio.org/apollo/ScansForConversion/Solarium055/ 005982,000011: ## Mod history: 2009-09-29 JL Created. 005983,000012: ## 2016-08-19 RSB Typo. 005984,000013: ## 2016-12-28 RSB Proofed comment text using octopus/ProoferComments, 005985,000014: ## and fixed errors found. 005986,000015:

Page 151

005988,000017: 
005989,000018:                                                                                                  #  TELEMETRY PROCESSOR
005990,000019:                                                                                                  #  --------- ---------
005991,000020: 
005992,000021:                                                                                                  #        THE FOLLOWING TELEMETRY PROGRAM IS DESIGNED TO TRANSMIT TELEMETRY DATA VIA OUT4 WHEN AN ENDPULSE 
005993,000022:                                                                                                  #  FROM THE NORTH AMERICAN TELEMETRY PROGRAMMER TRIGGERS INTERRUPT 6, WHICH INITIATES THIS ROUTINE. IT OPERATES
005994,000023:                                                                                                  #  IN CONJUNCTION WITH (BUT ASYNCHRONOUSLY FROM) THE T4RUPT PROGRAM, WHICH IS INITATED EVERY 60 MS, VIA INTERRUPT
005995,000024:                                                                                                  #  3. 
005996,000025: 
005997,000026: 
005998,000027:    2377                                           BANK     1                                     
005999,000028:    2377           10670        DOWNRUPT           CCS      TELCOUNT                              #  PNZ IS NORMAL SETTING - +0 INDICATES
006000,000029:    2400           02407                           TC       DOWNTMOK                              #  TM FAILURE SINCE ENDPULSES ARE OCCURING
006001,000030:    2401           02571                           TC       TMFAIL                                #  TOO FREQUENTLY. THE COUNTER IS SET TO +7
006002,000031: 
006003,000032:    2402           44505                           CS       BIT10                                 #  BLOCK TM ENDPULSES UNTIL  ERROR RESET
006004,000033:    2403           70011                           MASK     OUT1                                  #  COMMAND IS GIVEN.
006005,000034:    2404           64505                           AD       BIT10                                 
006006,000035:    2405           50011                           TS       OUT1                                  
006007,000036: 
006008,000037:    2406           02266                           TC       NBRESUME                              #  BY DSRUPT EVERY 120 MS.
006009,000038: 
006010,000039:    2407           50670        DOWNTMOK           TS       TELCOUNT                              #  NORMAL MODE - STORE DECREMENTED COUNT.
006011,000040:    2410           00673                           TC       DNTMGOTO                              #  JUMP TO APPROPRIATE DOWNLINK PHASE.
006012,000041: 
006013,000042:                                                                                                  #        IN PHASE 7, SEND REQUIRED NUMBER OF DUMMY MARKS, ENTERING PHASE 1 WHEN FINISHED. ANY REAL MARKERS
006014,000043:                                                                                                  #  OCCURING HERE WILL NOT BE SENT UNTIL PHASE 3.
006015,000044: 
006016,000045:    2411           10676        DNPHASE7           CCS      MARKERCT                              #  REDUCE TO ZERO.
006017,000046:    2412           02541                           TC       DUMMARK                               
006018,000047: 
006019,000048:                                                                                                  #        PHASE 1 SENDS LIST ID AND SETS UP PHASE 2.
006020,000049: 
006021,000050:    2413           32553        DNPHASE1           CAF      LPHASE2                               
006022,000051:    2414           50673                           TS       DNTMGOTO                              
006023,000052:    2415           32561                           CAF      LTHCOMA                               #  NUMBER OF WORDS IN COMMON LIST A.
006024,000053:    2416           50674                           TS       TMINDEX                               
006025,000054:    2417           40672                           CS       DNLSTADR                              #  CHANGES IN DNLSTADR NOT HONORED UNTIL
006026,000055:    2420           40000                           COM                                            #  THIS PHASE.
006027,000056:    2421           50671                           TS       LDATALST                              
006028,000057:    2422           74302                           MASK     LOW11                                 
006029,000058:    2423           64170                           AD       60K                                   #  AT FOD'S REQUEST.
006030,000059:    2424           02545                           TC       W.O.=1                                
006031,000060: 

Page 152

006033,000062: 
006034,000063:                                                                                                  #        PHASE 2 SENDS COMMON LIST A: DSPTAB, T2, T1, I/O, CDUS, ETC. NO MARKERS ARE INTERSPERSED WITH THE DATA.
006035,000064: 
006036,000065:    2425           10674        DNPHASE2           CCS      TMINDEX                               #  SEE IF MORE DATA TO BE SENT.
006037,000066:    2426           02505                           TC       PHASE2A                               
006038,000067: 
006039,000068:    2427           32554                           CAF      LPHASE3                               #  IF NOT, BEGIN PHASE 3.
006040,000069:    2430           50673                           TS       DNTMGOTO                              
006041,000070:    2431           34473                           CAF      NOMRKRS                               #  NUMBER OF MARKERS/SECOND.
006042,000071:    2432           50676                           TS       MARKERCT                              
006043,000072:    2433           32563                           CAF      LTHLSTA                               #  NUMBER WORDS IN PARTICULAR LISTS A.
006044,000073:    2434           50674                           TS       TMINDEX                               
006045,000074: 
006046,000075:                                                                                                  #        PHASE 3 - SEND DOWN PARTICULAR LIST A WITH REAL MARKERS INTER-LEAVED.
006047,000076: 
006048,000077:    2435           10675        DNPHASE3           CCS      TMMARKER                              #  SEE IF ANY MARKERS TO BE SENT.
006049,000078:    2436           02536                           TC       DOMARKER                              
006050,000079: 
006051,000080:    2437           10674                           CCS      TMINDEX                               #  SEND DOWN PART. LIST A ENTRY IF ANY.
006052,000081:    2440           02517                           TC       PHASE36A                              #  (COMMON TO PHASES 3 AND 6.)
006053,000082: 
006054,000083:    2441           32555                           CAF      LPHASE4                               #  END OF PHASE 3, START PHASE 4.
006055,000084:    2442           50673                           TS       DNTMGOTO                              
006056,000085: 
006057,000086:                                                                                                  #        PHASE 4: SEND DUMMY MARKERS UNTIL MARKERCT = 0.
006058,000087: 
006059,000088:    2443           10676        DNPHASE4           CCS      MARKERCT                              #  (NONE MAY BE REQUIRED)
006060,000089:    2444           02541                           TC       DUMMARK                               
006061,000090: 
006062,000091:    2445           32556                           CAF      LPHASE5                               #  END OF PHASE 4 - BEGIN PHASE 5.
006063,000092:    2446           50673                           TS       DNTMGOTO                              
006064,000093:    2447           32562                           CAF      LTHCOMB                               #  NUMBER OF WORDS IN COMMON LIST B - 1.
006065,000094: 
006066,000095:                                                                                                  #        PHASE 5: SEND COMMON LIST B WITH NO MARKERS INTER-LEAVED.
006067,000096: 
006068,000097:    2450           50674        PHASE5A            TS       TMINDEX                               #  (ENTERS HERE FIRST TIME ONLY).
006069,000098:    2451           20000                           INDEX    A                                     
006070,000099:    2452           22612                           INDEX    COMLSTB                               
006071,000100:    2453           40000                           CS       0                                     
006072,000101:    2454           02511                           TC       DATADWNF                              
006073,000102: 
006074,000103:    2455           10674        DNPHASE5           CCS      TMINDEX                               #  NORMAL PHASE 5 ENTRY.
006075,000104:    2456           02450                           TC       PHASE5A                               
006076,000105: 

Page 153

006078,000107: 
006079,000108:                                                                                                  #        AT END OF PHASE 5, BEGIN PHASE 6. THE ADDRESS OF PARTICULAR LIST B IMMEDIATELY PRECEEDS
006080,000109:                                                                                                  #  PARTICULAR LIST A.
006081,000110: 
006082,000111:    2457           32557                           CAF      LPHASE6                               
006083,000112:    2460           50673                           TS       DNTMGOTO                              
006084,000113:    2461           32564                           CAF      LTHLSTB                               #  NUMBER OF WORDS IN PARTICULAR LISTS B.
006085,000114:    2462           50674                           TS       TMINDEX                               
006086,000115:    2463           34473                           CAF      NOMRKRS                               
006087,000116:    2464           50676                           TS       MARKERCT                              
006088,000117: 
006089,000118:    2465           32570                           CAF      LISTBANK                              #  GET ADDRESS OF PART. LIST B.
006090,000119:    2466           30015                           XCH      BANKREG                               
006091,000120:    2467           30671                           XCH      LDATALST                              
006092,000121:    2470           64335                           AD       MINUS1                                
006093,000122:    2471           20000                           INDEX    A                                     
006094,000123:    2472           40000                           CS       0                                     #  SO WE CAN RUN IN ERASABLE.
006095,000124:    2473           40000                           COM                                            
006096,000125:    2474           30671                           XCH      LDATALST                              
006097,000126:    2475           50015                           TS       BANKREG                               
006098,000127: 
006099,000128:                                                                                                  #        PHASE 6: PARTICULAR LIST B AND REAL MARKERS.
006100,000129: 
006101,000130:    2476           10675        DNPHASE6           CCS      TMMARKER                              
006102,000131:    2477           02536                           TC       DOMARKER                              
006103,000132: 
006104,000133:    2500           10674                           CCS      TMINDEX                               
006105,000134:    2501           02517                           TC       PHASE36A                              
006106,000135: 
006107,000136:    2502           32560                           CAF      LPHASE7                               #  SWITCH TO PHASE 7 TO SUPPLY REQUIRED
006108,000137:    2503           50673                           TS       DNTMGOTO                              #  NUMBER OF DUMMY MARKS.
006109,000138:    2504           02411                           TC       DNPHASE7                              
006110,000139: 

Page 154

006112,000141: 
006113,000142:                                                                                                  #        OUT OF SEQUENCE ROUTINES.
006114,000143: 
006115,000144:    2505           50674        PHASE2A            TS       TMINDEX                               #  SELECT DATA WORD FOR COMMON LIST A IN
006116,000145:    2506           20000                           INDEX    A                                     #  IN FIXED-FIXED.
006117,000146:    2507           22576                           INDEX    COMLSTA                               
006118,000147:    2510           40000                           CS       0                                     
006119,000148:    2511           40000        DATADWNF           COM                                            #  PHASE 5 (COMMON LIST B) EXITS HERE.
006120,000149:    2512           50014                           TS       OUT4                                  
006121,000150:    2513           44506                           CS       BIT9                                  
006122,000151:    2514           70011                           MASK     OUT1                                  
006123,000152:    2515           50011                           TS       OUT1                                  
006124,000153:    2516           02266                           TC       NBRESUME                              #  NO BANK SWITCH REQUIRED.
006125,000154: 
006126,000155:    2517           50674        PHASE36A           TS       TMINDEX                               #  PHASES 3 AND 6 (PARTICULAR DATA LISTS)
006127,000156:    2520           32570                           CAF      LISTBANK                              #  EXIT HERE
006128,000157:    2521           30015                           XCH      BANKREG                               
006129,000158:    2522           50030                           TS       BANKRUPT                              #  PARTICULAR LISTS IN SWITCHED BANK.
006130,000159: 
006131,000160:    2523           10671                           CCS      LDATALST                              #  (SAVES 2 MCT).
006132,000161:    2524           60674                           AD       TMINDEX                               
006133,000162:    2525           20000                           INDEX    A                                     
006134,000163:    2526           20001                           INDEX    1                                     #  (1 COMPENSATES FOR ABOVE CCS.)
006135,000164:    2527           40000                           CS       0                                     
006136,000165:    2530           40000                           COM                                            
006137,000166:    2531           50014                           TS       OUT4                                  
006138,000167:    2532           44506                           CS       BIT9                                  
006139,000168:    2533           70011                           MASK     OUT1                                  
006140,000169:    2534           50011                           TS       OUT1                                  
006141,000170:    2535           02264                           TC       RESUME                                
006142,000171: 
006143,000172:    2536           10676        DOMARKER           CCS      MARKERCT                              #  COME HERE TO SHIP DOWN REAL MARKER.
006144,000173:    2537           02541                           TC       +2                                    #  PROTECT AGAINST TOO MANY TMMARKERS
006145,000174:    2540           00001                           TC       Q                                     #    BEING SENT DOWN WITHIN ONE SECOND
006146,000175:    2541           50676        DUMMARK            TS       MARKERCT                              #  REDUCE MARKERCT (NEVER IS ZERO ABOVE).
006147,000176:    2542           35501                           CAF      ZERO                                  
006148,000177:    2543           30675                           XCH      TMMARKER                              
006149,000178:    2544           62565                           AD       DN74K                                 #  AT FOD'S REQUEST.
006150,000179:    2545           50014        W.O.=1             TS       OUT4                                  #  PHASE 1 EXITS HERE.
006151,000180:    2546           44506                           CS       BIT9                                  
006152,000181:    2547           70011                           MASK     OUT1                                  
006153,000182:    2550           64506                           AD       BIT9                                  
006154,000183:    2551           50011                           TS       OUT1                                  
006155,000184:    2552           02266                           TC       NBRESUME                              
006156,000185: 

Page 155

006158,000187: 
006159,000188:                                                                                                  #  CONSTANTS.
006160,000189: 
006161,000190:    2553           02425        LPHASE2            ADRES    DNPHASE2                              #  ADDRESSES FOR DNTMGOTO.
006162,000191:    2554           02435        LPHASE3            ADRES    DNPHASE3                              
006163,000192:    2555           02443        LPHASE4            ADRES    DNPHASE4                              
006164,000193:    2556           02455        LPHASE5            ADRES    DNPHASE5                              
006165,000194:    2557           02476        LPHASE6            ADRES    DNPHASE6                              
006166,000195:    2560           02411        LPHASE7            ADRES    DNPHASE7                              
006167,000196: 
006168,000197:    2561           00032        LTHCOMA            DEC      26         B-14                       #  LENGTH OF COMMON LIST A.
006169,000198:    2562           00015        LTHCOMB            DEC      13         B-14                       #  LENGTH OF COMMON LIST B - 1.
006170,000199:    2563           00025        LTHLSTA            DEC      21         B-14                       #  PARTICULAR LIST A.
006171,000200:    2564           00040        LTHLSTB            DEC      32         B-14                       #  PARTICULAR LIST B.
006172,000201:    2565           74000        DN74K              OCT      74000                                 
006173,000202:    2566     4473               NOMRKRS            EQUALS   THREE                                 
006174,000203: 
006175,000204:    2566           06067        LDNLST1            ADRES    501LSTA1                              
006176,000205:    2567           06001        LDNLST2            ADRES    501LSTA2                              
006177,000206:    2570           20067        LISTBANK           CADR     501LSTA1                              
006178,000207: 
006179,000208:                                                                                                  #        SUBROUTINE COMMON TO UPLINK AND DOWNLINK TO TURN ON THE TM FAIL LIGHT.
006180,000209: 
006181,000210:    2571           44513        TMFAIL             CS       BIT4                                  
006182,000211:    2572           70011                           MASK     OUT1                                  
006183,000212:    2573           64513                           AD       BIT4                                  
006184,000213:    2574           50011                           TS       OUT1                                  
006185,000214:    2575           00001                           TC       Q                                     
006186,000215: 

Page 156

006188,000217: 
006189,000218:                                                                                                  #        COMMON LISTS A AND B.
006190,000219: 
006191,000220:    2576           00051        COMLSTA            ADRES    CDUZ                                  #  27
006192,000221:    2577           00050                           ADRES    CDUY                                  #  26
006193,000222:    2600           00047                           ADRES    CDUX                                  #  25
006194,000223:    2601           00647                           ADRES    FLAGWRD2                              #  24
006195,000224:    2602           00646                           ADRES    FLAGWRD1                              #  23
006196,000225:    2603           00645                           ADRES    STATE                                 #  22
006197,000226:    2604           00011                           ADRES    OUT1                                  #  21
006198,000227:    2605           00007                           ADRES    IN3                                   #  20
006199,000228:    2606           00006                           ADRES    IN2                                   #  19
006200,000229:    2607           00004                           ADRES    IN0                                   #  18
006201,000230:    2610           00036                           ADRES    TIME1                                 #  17
006202,000231:    2611           00035                           ADRES    TIME2                                 #  16
006203,000232: 
006204,000233:    2612           00725        COMLSTB            ADRES    DSPTAB     +13D                       #  15/65
006205,000234:    2613           00724                           ADRES    DSPTAB     +12D                       #  14/64
006206,000235:    2614           00723                           ADRES    DSPTAB     +11D                       #  13/63
006207,000236:    2615           00722                           ADRES    DSPTAB     +10D                       #  12/62
006208,000237:    2616           00721                           ADRES    DSPTAB     +9D                        #  11/61
006209,000238:    2617           00720                           ADRES    DSPTAB     +8D                        #  10/60
006210,000239:    2620           00717                           ADRES    DSPTAB     +7                         #  9/59
006211,000240:    2621           00716                           ADRES    DSPTAB     +6                         #  8/58
006212,000241:    2622           00715                           ADRES    DSPTAB     +5                         #  7/57
006213,000242:    2623           00714                           ADRES    DSPTAB     +4                         #  6/56
006214,000243:    2624           00713                           ADRES    DSPTAB     +3                         #  5/55
006215,000244:    2625           00712                           ADRES    DSPTAB     +2                         #  4/54
006216,000245:    2626           00711                           ADRES    DSPTAB     +1                         #  3/53
006217,000246:    2627           00710                           ADRES    DSPTAB                                #  2/52
006218,000247: 

Page 157

006220,000249: 
006221,000250:                                                                                                  #        PARTICULAR DATA LISTS FOR FLIGHT 501. LIST 1 PROVIDES DATA FOR THE ENTIRE FLIGHT EXCEPT DURING
006222,000251:                                                                                                  #  STATE VECTOR UPDATES, FOR WHICH LIST 2 IS USED.
006223,000252: 
006224,000253: 10,6000                                           SETLOC   20000                                 
006225,000254: 
006226,000255: 10,6000           06006                           ADRES    501LSTB2                              
006227,000256: 10,6001           01117        501LSTA2           ADRES    COMPNUMB                              
006228,000257: 10,6002           01116                           ADRES    UPOLDMD                               
006229,000258: 10,6003           06114                           ADRES    DNSPARE                               
006230,000259: 10,6004           06114                           ADRES    DNSPARE                               
006231,000260: 10,6005           06114                           ADRES    DNSPARE                               
006232,000261: 10,6006           01115        501LSTB2           ADRES    STBUFF     +13D                       
006233,000262: 10,6007           01114                           ADRES    STBUFF     +12D                       
006234,000263: 10,6010           01113                           ADRES    STBUFF     +11D                       
006235,000264: 10,6011           01112                           ADRES    STBUFF     +10D                       
006236,000265: 10,6012           01111                           ADRES    STBUFF     +9D                        
006237,000266: 10,6013           01110                           ADRES    STBUFF     +8D                        
006238,000267: 10,6014           01107                           ADRES    STBUFF     +7                         
006239,000268: 10,6015           01106                           ADRES    STBUFF     +6                         
006240,000269: 10,6016           01105                           ADRES    STBUFF     +5                         
006241,000270: 10,6017           01104                           ADRES    STBUFF     +4                         
006242,000271: 10,6020           01103                           ADRES    STBUFF     +3                         
006243,000272: 10,6021           01102                           ADRES    STBUFF     +2                         
006244,000273: 10,6022           01101                           ADRES    STBUFF     +1                         
006245,000274: 10,6023           01100                           ADRES    STBUFF                                
006246,000275: 10,6024           01123                           ADRES    STCNTR                                
006247,000276: 10,6025           06114                           ADRES    DNSPARE                               
006248,000277: 10,6026           01211        501LSTB1           ADRES    TAVEGON    +1                         #  COMMON TO LISTS 1 AND 2
006249,000278: 10,6027           01210                           ADRES    TAVEGON                               
006250,000279: 10,6030           01227                           ADRES    VAVEGON    +5                         
006251,000280: 10,6031           01226                           ADRES    VAVEGON    +4                         
006252,000281: 10,6032           01225                           ADRES    VAVEGON    +3                         
006253,000282: 10,6033           01224                           ADRES    VAVEGON    +2                         
006254,000283: 10,6034           01223                           ADRES    VAVEGON    +1                         
006255,000284: 10,6035           01222                           ADRES    VAVEGON                               
006256,000285: 10,6036           01221                           ADRES    RAVEGON    +5                         
006257,000286: 10,6037           01220                           ADRES    RAVEGON    +4                         
006258,000287: 10,6040           01217                           ADRES    RAVEGON    +3                         
006259,000288: 10,6041           01216                           ADRES    RAVEGON    +2                         
006260,000289: 10,6042           01215                           ADRES    RAVEGON    +1                         
006261,000290: 10,6043           01214                           ADRES    RAVEGON                               
006262,000291: 10,6044           01463                           ADRES    TCUTOFF    +1                         #  EVENT TIME
006263,000292: 10,6045           01462                           ADRES    TCUTOFF                               
006264,000293: 10,6046           01467                           ADRES    TIME1GR                               
006265,000294: 10,6047           01466                           ADRES    TIME2GR                               
006266,000295: 
006267,000296: 10,6050           01465                           ADRES    PIPTIME    +1                         
006268,000297: 10,6051           01464                           ADRES    PIPTIME                               
006269,000298: 10,6052           01000                           ADRES    VN         +5                         
006270,000299: 10,6053           00777                           ADRES    VN         +4                         

Page 158

006272,000301: 10,6054           00776                           ADRES    VN         +3                         
006273,000302: 10,6055           00775                           ADRES    VN         +2                         
006274,000303: 10,6056           00774                           ADRES    VN         +1                         
006275,000304: 10,6057           00773                           ADRES    VN                                    
006276,000305: 10,6060           00772                           ADRES    RN         +5                         
006277,000306: 10,6061           00771                           ADRES    RN         +4                         
006278,000307: 10,6062           00770                           ADRES    RN         +3                         
006279,000308: 10,6063           00767                           ADRES    RN         +2                         
006280,000309: 10,6064           00766                           ADRES    RN         +1                         
006281,000310: 10,6065           00765                           ADRES    RN                                    
006282,000311: 
006283,000312: 10,6066           06026                           ADRES    501LSTB1                              
006284,000313: 10,6067           01457        501LSTA1           ADRES    TFF        +1                         
006285,000314: 10,6070           01456                           ADRES    TFF                                   
006286,000315: 10,6071           01113                           ADRES    VRECT      +5                         
006287,000316: 10,6072           01112                           ADRES    VRECT      +4                         
006288,000317: 10,6073           01111                           ADRES    VRECT      +3                         
006289,000318: 10,6074           01110                           ADRES    VRECT      +2                         
006290,000319: 10,6075           01107                           ADRES    VRECT      +1                         
006291,000320: 10,6076           01106                           ADRES    VRECT                                 
006292,000321: 10,6077           01105                           ADRES    RRECT      +5                         
006293,000322: 10,6100           01104                           ADRES    RRECT      +4                         
006294,000323: 10,6101           01103                           ADRES    RRECT      +3                         
006295,000324: 10,6102           01102                           ADRES    RRECT      +2                         
006296,000325: 10,6103           01101                           ADRES    RRECT      +1                         
006297,000326: 10,6104           01100                           ADRES    RRECT                                 
006298,000327: 10,6105           00702                           ADRES    THETAD     +2                         
006299,000328: 10,6106           00701                           ADRES    THETAD     +1                         
006300,000329: 10,6107           00700                           ADRES    THETAD                                
006301,000330: 10,6110           01005                           ADRES    DELVX      +4                         
006302,000331: 10,6111           01003                           ADRES    DELVX      +2                         
006303,000332: 10,6112           01001                           ADRES    DELVX                                 
006304,000333: 10,6113           01075                           ADRES    REDOCNTR                              
006305,000334: 
006306,000335: 10,6114           52525        DNSPARE            OCT      52525                                 #  AT FOD'S REQUEST.

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