Source Code

These source-code files were transcribed from scans made from Don Eyles's personal copy of BURST120 (SUNBURST 120). They were scanned at archive.org's Boston facility, and the scanning was sponsored by Mike Stewart. The code was transcribed from these scans by a team of volunteers who are referenced in the program comments. Comments from the original source code are in ALL-CAPS, whereas comments added later in transcription are in Mixed-Case. In some cases, where similar code blocks exist in previously-transcribed AGC programs (primarily Luminary 99, from Apollo 11) those code blocks were used as a starting point and then corrected to agree with the BURST120 scans. The full scans are available at the Virtual AGC project's collection at archive.org, while more-convenient reduced-size (but reduced-quality) images are available at the main Virtual AGC website. Report any errors noted by creating an issue report at the Virtual AGC project's GitHub repository. Notations on the program listing read, in part:

	YUL SYSTEM FOR AGC: REVISION 0 OF PROGRAM BURST120 
	BY NASA 2021106-031 DEC 7, 1967

	THIS LISTING IS A COPY OF A VERSION OF THE PROGRAM INTENDED 
	FOR USE IN THE ON-BOARD PRIMARY GUIDANCE COMPUTER IN THE 
	UNMANNED FLIGHT OF APOLLO LUNAR MODULE 1 --- THE AS206 MISSION.
Note that the date is the date of the printout, not the date of the program revision.

035591,000002:                                                                                                  ## Copyright:   Public domain.
035592,000003:                                                                                                  ## Filename:    PIPA_READER.agc
035593,000004:                                                                                                  ## Purpose:     A module for revision 0 of BURST120 (Sunburst). It 
035594,000005:                                                                                                  ##              is part of the source code for the Lunar Module's
035595,000006:                                                                                                  ##              (LM) Apollo Guidance Computer (AGC) for Apollo 5.
035596,000007:                                                                                                  ## Assembler:   yaYUL
035597,000008:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
035598,000009:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
035599,000010:                                                                                                  ## Mod history: 2016-09-30 RSB  Created draft version.
035600,000011:                                                                                                  ##              2016-10-29 MAS  Adapted from Luminary 099.
035601,000012:                                                                                                  ##              2016-10-31 RSB  Typos.
035602,000013:                                                                                                  ##              2016-12-06 RSB  Comment-proofing via octopus/ProoferComments;
035603,000014:                                                                                                  ##                              changes were made.
035604,000015:                                                                                                  ##              2017-03-14 RSB  Comment-text fixes noted in proofing Luminary 116.
035605,000016: 

Page 835

035607,000018:                                                                                                  #  *****  PIPA READER *****
035608,000019: 
035609,000020:                                                                                                  #                  MOD NO. 00  BY D. LICKLY  DEC.9 1966
035610,000021: 
035611,000022:                                                                                                  #  FUNCTIONAL DESCRIPTION
035612,000023: 
035613,000024:                                                                                                  #     SUBROUTINE TO READ PIPA COUNTERS, TRYING TO BE VERY CAREFUL SO THAT IT WILL BE RESTARTABLE.
035614,000025:                                                                                                  #     PIPA READINGS ARE STORED IN THE VECTOR DELV. THE HIGH ORDER PART OF EACH COMPONENT CONTAINS THE PIPA READING,
035615,000026:                                                                                                  #     RESTARTS BEGIN AT REREADAC.
035616,000027: 
035617,000028: 
035618,000029:                                                                                                  #     AT THE END OF THE PIPA READER THE CDUS ARE READ AND STORED AS A
035619,000030:                                                                                                  #  VECTOR IN CDUTEMP.  THE HIGH ORDER PART OF EACH COMPONENT CONTAINS
035620,000031:                                                                                                  #  THE CDU READING IN 2S COMP IN THE ORDER CDUX,Y,Z.  THE THRUST
035621,000032:                                                                                                  #  VECTOR ESTIMATOR IN FINDCDUD REQUIRES THE CDUS BE READ AT PIPTIME.
035622,000033: 
035623,000034:                                                                                                  #  CALLING SEQUENCE AND EXIT
035624,000035: 
035625,000036:                                                                                                  #     CALL VIA TC, ISWCALL, ETC.
035626,000037: 
035627,000038:                                                                                                  #     EXIT IS VIA Q.
035628,000039: 
035629,000040: 
035630,000041:                                                                                                  #  INPUT
035631,000042: 
035632,000043:                                                                                                  #     INPUT IS THROUGH THE COUNTERS PIPAX, PIPAY, PIPAZ, AND TIME2.
035633,000044: 
035634,000045:                                                                                                  #  OUTPUT
035635,000046: 
035636,000047:                                                                                                  #     HIGH ORDER COMPONENTS OF THE VECTOR DELV CONTAIN THE PIPA READINGS.
035637,000048:                                                                                                  #     PIPTIME CONTAINS TIME OF PIPA READING.
035638,000049: 
035639,000050: 
035640,000051:                                                                                                  #  DEBRIS (ERASABLE LOCATIONS DESTROYED BY PROGRAM)
035641,000052: 
035642,000053:                                                                                                  #           TEMX   TEMY   TEMZ   PIPAGE
035643,000054: 
035644,000055: 
035645,000056: 30,2574                                           BANK     30                                    
035646,000057: 30,2574           00006        PIPASR             EXTEND                                         
035647,000058: 30,2575           30025                           DCA      TIME2                                 
035648,000059: 30,2576           53307                           DXCH     PIPTIME                               #  CURRENT TIME  POSITIVE VALUE.
035649,000060: 
035650,000061: 30,2577           47767                           CS       ZERO                                  #  INITIALIZE THESE AT NEG ZERO.
035651,000062: 30,2600           55155                           TS       TEMX                                  
035652,000063: 30,2601           55156                           TS       TEMY                                  
035653,000064: 30,2602           55157                           TS       TEMZ                                  
035654,000065: 

Page 836

035656,000067: 30,2603           37767                           CA       ZERO                                  
035657,000068: 30,2604           54407                           TS       DELVZ                                 #  OTHER DELVS OK INCLUDING LOW ORDER
035658,000069: 30,2605           54405                           TS       DELVY                                 
035659,000070: 
035660,000071: 30,2606           55331                           TS       CDUTEMP    +1                         #  INITIALIZE THESE FOR FINDCDUD
035661,000072: 30,2607           55333                           TS       CDUTEMP    +3                         
035662,000073: 30,2610           55335                           TS       CDUTEMP    +5                         
035663,000074: 
035664,000075: 30,2611           55161                           TS       PIPAGE                                #  SHOW PIPA READING IN PROGRESS
035665,000076: 
035666,000077: 30,2612           00006        REPIP1             EXTEND                                         
035667,000078: 30,2613           40040                           DCS      PIPAX                                 #  X AND Y PIPS READ
035668,000079: 30,2614           53156                           DXCH     TEMX                                  
035669,000080: 30,2615           52040                           DXCH     PIPAX                                 #  PIPAS SET TO NEG ZERO AS READ.
035670,000081: 30,2616           54403                           TS       DELVX                                 
035671,000082: 30,2617           22405                           LXCH     DELVY                                 
035672,000083: 
035673,000084: 30,2620           40041        REPIP3             CS       PIPAZ                                 #  REPEAT PROCESS FOR Z PIP
035674,000085: 30,2621           57157                           XCH      TEMZ                                  
035675,000086: 30,2622           56041                           XCH      PIPAZ                                 
035676,000087: 30,2623           54407        DODELVZ            TS       DELVZ                                 
035677,000088: 
035678,000089: 30,2624           30032        REPIP4             CA       CDUX                                  #  READ CDUS INTO HIGH ORDER CDUTEMPS
035679,000090: 30,2625           55330                           TS       CDUTEMP                               
035680,000091: 30,2626           30033                           CA       CDUY                                  
035681,000092: 30,2627           55332                           TS       CDUTEMP    +2                         
035682,000093: 30,2630           30034                           CA       CDUZ                                  
035683,000094: 30,2631           55334                           TS       CDUTEMP    +4                         
035684,000095: 
035685,000096: 30,2632           00002                           TC       Q                                     
035686,000097: 
035687,000098: 
035688,000099: 
035689,000100: 30,2633           11110        REREADAC           CCS      PHASE5                                #  COMES HERE ON RESARTS.   IS PHASE 5 ON?
035690,000101: 30,2634           12636                           TCF      +2                                    #  YES..  GO ON.
035691,000102: 30,2635           15727                           TCF      TASKOVER                              #  NO.. HAVE BEEN TO AVGEND SINCE GOJAM.
035692,000103: 
035693,000104: 30,2636           11161                           CCS      PIPAGE                                #  WAS 1 READING THE PIPS WHEN GOJAM OCCURD
035694,000105: 30,2637           12064                           TCF      PIPREAD                               #  PIP READING NOT STARTED. GO TO BEGINNING
035695,000106: 30,2640           32676                           CAF      DONEADR                               #  SET UP RETURN FROM PIPASR
035696,000107: 30,2641           54002                           TS       Q                                     
035697,000108: 
035698,000109: 30,2642           10407                           CCS      DELVZ                                 
035699,000110: 30,2643           12624                           TCF      REPIP4                                #  Z DONE, GO DO CDUS
035700,000111: 30,2644           12647                           TCF      +3                                    #  Z NOT DONE, CHECK Y.
035701,000112: 30,2645           12624                           TCF      REPIP4                                
035702,000113: 30,2646           12624                           TCF      REPIP4                                
035703,000114: 
035704,000115: 30,2647           22007                           ZL                                             
035705,000116: 30,2650           10405                           CCS      DELVY                                 

Page 837

035707,000118: 30,2651           12654                           TCF      +3                                    
035708,000119: 30,2652           12663                           TCF      CHKTEMX                               #  Y NOT DONE, CHECK X.
035709,000120: 30,2653           12654                           TCF      +1                                    
035710,000121: 30,2654           22041                           LXCH     PIPAZ                                 #  Y DONE, ZERO Z PIP.
035711,000122: 
035712,000123: 30,2655           11157                           CCS      TEMZ                                  
035713,000124: 30,2656           41157                           CS       TEMZ                                  #  TEMZ NOT = -0, CONTAINS -PIPAZ VALUE.
035714,000125: 30,2657           12623                           TCF      DODELVZ                               
035715,000126: 30,2660           12656                           TCF      -2                                    
035716,000127: 30,2661           22407                           LXCH     DELVZ                                 #  TEMZ = -0, L HAS ZPIP VALUE.
035717,000128: 30,2662           12624                           TCF      REPIP4                                
035718,000129: 
035719,000130: 30,2663           11155        CHKTEMX            CCS      TEMX                                  #  HAS THIS CHANGED
035720,000131: 30,2664           41155                           CS       TEMX                                  #  YES
035721,000132: 30,2665           12670                           TCF      +3                                    #  YES
035722,000133: 30,2666           12664                           TCF      -2                                    #  YES
035723,000134: 30,2667           12612                           TCF      REPIP1                                #  NO
035724,000135: 30,2670           54403                           TS       DELVX                                 
035725,000136: 
035726,000137: 30,2671           41156                           CS       TEMY                                  
035727,000138: 30,2672           54405                           TS       DELVY                                 
035728,000139: 
035729,000140: 30,2673           47767                           CS       ZERO                                  #  ZERO X AND Y PIPS
035730,000141: 30,2674           52040                           DXCH     PIPAX                                 #  L STILL ZERO FROM ABOVE
035731,000142: 
035732,000143: 30,2675           12620                           TCF      REPIP3                                
035733,000144: 
035734,000145: 30,2676           02065        DONEADR            GENADR   PIPSDONE                              

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