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.

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

Page 835

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

Page 836

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

Page 837

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

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