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