Source Code

These source-code files were transcribed from a printout in Don Eyles's personal collection, scanned by archive.org, and financially sponsored by Peter McDermott. A team of volunteers performed the transcription and proof-reading. The scanned page images are available at the Virtual AGC Project website, as well as higher-quality (but much larger) images at the Virtual AGC Project's collection in the Internet Archive. Report any problems by creating "issues" at the Virtual AGC Project's GitHub Repository.

Notations on the program listing read, in part:

	YUL SYSTEM FOR AGC: NEW PROGRAM SHEPATIN BY EYLES
	DEC 13, 1966

	THIS PROGRAM WAS ASSEMBLED AS A VERSION OF REVISION 37 
        OF PROGRAM SUNBURST BY LEM GROUP
Note that the date is the date of the printout, not the date of the program revision.

039098,000002:                                                                                                  ## Copyright:   Public domain.
039099,000003:                                                                                                  ## Filename:    THRUST_MAGNITUDE_FILTER.agc
039100,000004:                                                                                                  ## Purpose:     A section of Sunburst revision 37, or Shepatin revision 0.
039101,000005:                                                                                                  ##              It is part of an early development version of the software
039102,000006:                                                                                                  ##              for Apollo Guidance Computer (AGC) on the unmanned Lunar
039103,000007:                                                                                                  ##              Module (LM) flight Apollo 5. Sunburst 37 was the program
039104,000008:                                                                                                  ##              upon which Don Eyles's offline development program Shepatin
039105,000009:                                                                                                  ##              was based; the listing herein transcribed was actually for
039106,000010:                                                                                                  ##              the equivalent revision 0 of Shepatin.
039107,000011:                                                                                                  ##              This file is intended to be a faithful transcription, except
039108,000012:                                                                                                  ##              that the code format has been changed to conform to the
039109,000013:                                                                                                  ##              requirements of the yaYUL assembler rather than the
039110,000014:                                                                                                  ##              original YUL assembler.
039111,000015:                                                                                                  ## Reference:   pp. 862-863
039112,000016:                                                                                                  ## Assembler:   yaYUL
039113,000017:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
039114,000018:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
039115,000019:                                                                                                  ## Mod history: 2017-05-24 MAS  Created from Sunburst 120.
039116,000020:                                                                                                  ##              2017-06-08 HG   Transcribed
039117,000021:                                                                                                  ##              2017-06-23 RSB  Proofed comment text with
039118,000022:                                                                                                  ##                              octopus/ProoferComments.
039119,000023: 

Page 862

039121,000025:                                                                                                  #  PROGRAM NAME - ATMAG
039122,000026: 
039123,000027:                                                                                                  #  MODIFICATION BY - BERMAN AND CATTANACH
039124,000028: 
039125,000029:                                                                                                  #  FUNCTIONAL DESCRIPTION -
039126,000030: 
039127,000031:                                                                                                  #      THE THRUST MAGNITUDE FILTER CONVERTS ABDELV TO M/CS, INVERTS AND COMBINES IT WITH TWO PRECEDING
039128,000032:                                                                                                  #  INPUTS TO PRODUCE THE INVERTED EXHAUST VELOCITY, BURN UP TIME, AND ANTICIPATED THRUST ACCELERATION FOR
039129,000033:                                                                                                  #  THE NEXT TIME INCREMENT.  THRUST MAGNITUDE FILTER IS BYPASSED UNTIL AFTER THE MAIN ENGINE GOES ON.
039130,000034: 
039131,000035:                                                                                                  #  CALLING SEQUENCE - ATMAG IS ENTERED BY EXTEND                AND        EXTEND
039132,000036:                                                                                                  #                                        DCA     ATMAGAD                   DCA     ATMAG4
039133,000037:                                                                                                  #                                        DXCH    AVGEXIT                   DXCH    AVGEXIT
039134,000038:                                                                                                  #  NORMAL EXIT - FROM ATMAG BY GOTO
039135,000039: 
039136,000040:                                                                                                  #                                    ASCENT
039137,000041: 
039138,000042:                                                                                                  #  OUTPUT - INVERTED EXHAUST VELOCITY, BURN UP TIME, AND ANTICIPATED THRUST ACCELERATION
039139,000043: 
039140,000044:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED - THIS IS DONE BY PRE-APS PROGRAMS
039141,000045: 
039142,000046:                                                                                                  #  DEBRIS - ABDVCONV, 1/DV1, 1/DV2, 1/VE, TBUP, AT.
039143,000047: 
039144,000048:                                                                                                  #  ALARM OR ABORT EXIT MODES -
039145,000049: 
039146,000050:                                                                                                  #  SUBROUTINES CALLED - NONE
039147,000051: 
039148,000052: 32,2713                                           BANK     32                                    
039149,000053: 
039150,000054: 32,2713  E4,1452                                  EBANK=   TCO                                   #  EBANK4
039151,000055: 
039152,000056: 32,2713           06103        ATMAG              TC       INTPRET                               
039153,000057: 32,2714           45345                           DLOAD    DSU                                   
039154,000058: 32,2715           02165                                    ABDVCONV                              #  ABDVCONV (PIPA READING CONVERTED TO
039155,000059: 32,2716           24766                                    DVMIN                                 #  M/CS) IS INVERTED AND SCALED AT 2**-5
039156,000060: 32,2717           67240                           BMN      SLOAD                                 #  AS INPUT TO FILTER
039157,000061: 32,2720           64762                                    FILTEND                               
039158,000062: 32,2721           24765                                    BIT6H                                 
039159,000063: 
039160,000064: 32,2722           77471                           DDV      EXIT                                  
039161,000065: 32,2723           02165                                    ABDVCONV                              
039162,000066: 
039163,000067: 32,2724           52145                           DXCH     MPAC                                  
039164,000068: 32,2725           53563                           DXCH     1/DV2                                 
039165,000069: 32,2726           53561                           DXCH     1/DV1                                 
039166,000070: 32,2727           52145                           DXCH     MPAC                                  #  MPAC=1/DV0*2**-5
039167,000071: 
039168,000072: 32,2730           06103                           TC       INTPRET                               
039169,000073: 32,2731           45206                           PUSH     DSU                                   #  PUSH DOWN 1/DVO                       2
039170,000074: 
039171,000075: 32,2732           02163                                    1/DV2                                 #  MPAC = (1/DV0-1/DV2)*2**-5
039172,000076: 32,2733           54206                           PUSH     SLR                                   #                                        4
039173,000077: 32,2734           21211                                    8D                                    #  MPAC = (1/DV0-1/DV2)*2**3 = 1/VE*2**4
039174,000078: 

Page 863

039176,000080: 32,2735           16025                           STODL    1/VE                                  #  INVERTED EXHAUST VELOCITY              2
039177,000081: 
039178,000082: 32,2736           43342                           SR1      DAD                                   #  MPAC = (1/DV0-1/DV2)*2**-6
039179,000083: 32,2737           02161                                    1/DV1                                 #  MPAC = (1/DV0+2/DV1-1/DV2)*2**-6
039180,000084: 32,2740           43362                           SR1R     DAD                                   #  MPAC = (5/DV0+2/DV1-1/DV2)*2**-7       0
039181,000085: 32,2741           41205                           DMP      DMP                                   
039182,000086: 
039183,000087: 32,2742           24665                                    DP2/3H                                #  (5/6DV0+1/3DV1-1/6DV2)*2**-5
039184,000088: 32,2743           24770                                    DTASC1                                #  MPAC = (1/DV3*2**-5) * (DELTAT*2**-8) =
039185,000089:                                                                                                  #         DELTAT/DV3*2**-13
039186,000090: 32,2744           77671                           DDV                                            
039187,000091: 32,2745           02025                                    1/VE                                  #  (TBUP/VE*2**-13)/(1/VE*2**4)=TBUP*2**-17
039188,000092: 32,2746           16027                           STODL    TBUP                                  #  BURN UP TIME
039189,000093: 
039190,000094: 32,2747           02161                                    1/DV1                                 #  MPAC = 2**-5/DV1
039191,000095: 32,2750           45342                           SR1      DSU                                   #  MPAC = 2**-6/DV1
039192,000096: 32,2751           00001                                    00D                                   #  MPAC = (-2/DV0+1/DV1)*2**-6
039193,000097: 32,2752           43342                           SR1      DAD                                   #  MPAC = (-2/DV0+1/DV1)*2**-7
039194,000098: 32,2753           02163                                    1/DV2                                 #  MPAC = (-2/DV0+1/DV1+4/DV2)*2**-7
039195,000099: 
039196,000100: 32,2754           41205                           DMP      DMP                                   #  MPAC = (-2/3DV0+1/3DV1+4/3DV2)*2**-6 =
039197,000101: 32,2755           24665                                    DP2/3H                                #         1/DV3*2**-6
039198,000102: 32,2756           24770                                    DTASC1                                #  MPAC = (1/DV3*2**-6)*(DELTAT*2**-8) =
039199,000103:                                                                                                  #  DELTA/DV3*2**-14 = 1/AT*2**-14
039200,000104: 32,2757           77665                           BDDV                                           
039201,000105: 32,2760           35445                                    D1/32                                 #  MPAC = 2**-5/(1/AT*2**-14) = AT*2**9
039202,000106: 32,2761           02023                           STORE    AT                                    #  ANTICIPATED THRUST ACCELERATION
039203,000107: 
039204,000108: 32,2762           77650        FILTEND            GOTO                                           
039205,000109: 32,2763           64120                                    ASCENT                                
039206,000110: 
039207,000111: 32,2764           00040        BIT6H              OCT      40                                    
039208,000112: 32,2765           00017 13412  DVMIN              2DEC     .03                                   
039209,000113: 32,2767           31000 00000  DTASC1             2DEC     200        B-28                       

End of include-file THRUST_MAGNITUDE_FILTER.agc.  Parent file is MAIN.agc