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. |
009110,000002: ## Copyright: Public domain.
009111,000003: ## Filename: KEYRUPT_UPRUPT.agc
009112,000004: ## Purpose: A module for revision 0 of BURST120 (Sunburst).
009113,000005: ## It is part of the source code for the Lunar Module's (LM)
009114,000006: ## Apollo Guidance Computer (AGC) for Apollo 5.
009115,000007: ## Assembler: yaYUL
009116,000008: ## Contact: Ron Burkey <info@sandroid.org>.
009117,000009: ## Website: www.ibiblio.org/apollo/index.html
009118,000010: ## Mod history: 2016-09-30 RSB Created draft version.
009119,000011: ## 2016-10-06 RSB Transcription completed.
009120,000012: ## 2016-10-31 RSB Typos.
009121,000013: ## 2016-12-04 RSB Proofed with octopus/ProoferComments and fixed various
009122,000014: ## comments, but the proofing process is not completed.
009123,000015: ## 2016-12-05 RSB Comment-proofing pass with octopus/ProoferComments completed;
009124,000016: ## changes made.
009125,000017: ## 2021-05-30 ABS UPCK -> UPOK
009126,000018:
Page 228 |
009128,000020: 13,3474 BANK 13
009129,000021: 13,3474 54016 KEYRUPT1 TS BANKRUPT
009130,000022: 13,3475 56002 XCH Q
009131,000023: 13,3476 54012 TS QRUPT
009132,000024: 13,3477 04605 TC LODSAMPT # TIME IS SNATCHED IN RUPT FOR NOUN 65.
009133,000025: 13,3500 34556 CAF LOW5
009134,000026: 13,3501 00006 EXTEND
009135,000027: 13,3502 02015 RAND MNKEYIN
009136,000028: 13,3503 54073 KEYCOM TS RUPTREG4
009137,000029: 13,3504 35210 CAF CHRPRIO
009138,000030: 13,3505 05505 TC NOVAC
009139,000031: 13,3506 0270 EBANK= DSPCOUNT
009140,000032: 13,3506 02002 10060 2CADR CHARIN
009141,000033:
009142,000034: 13,3510 30073 CA RUPTREG4
009143,000035: 13,3511 50064 INDEX LOCCTR
009144,000036: 13,3512 54144 TS MPAC # LEAVE 5 BIT KEY CDE IN MPAC FOR CHARIN
009145,000037: 13,3513 05733 TC RESUME
009146,000038:
Page 229 |
009148,000040: # UPRUPT PROGRAM
009149,000041:
009150,000042: 13,3514 54016 UPRUPT TS BANKRUPT
009151,000043: 13,3515 56002 XCH Q
009152,000044: 13,3516 54012 TS QRUPT
009153,000045: 13,3517 04605 TC LODSAMPT # TIME IS SNATCHED IN RUPT FOR NOUN 65.
009154,000046: 13,3520 37767 CAF ZERO
009155,000047: 13,3521 56045 XCH INLINK
009156,000048: 13,3522 54073 TS KEYTEMP1
009157,000049: 13,3523 37761 CAF BIT3 # TURN ON UPACT LIGHT
009158,000050: 13,3524 00006 EXTEND # (BIT 3 OF CHANNEL 11)
009159,000051: 13,3525 05011 WOR DSALMOUT
009160,000052: 13,3526 34556 UPRPT1 CAF LOW5 # TEST FOR TRIPLE CHAR REDUNDANCY
009161,000053: 13,3527 70073 MASK KEYTEMP1 # LOW5 OF WORD
009162,000054: 13,3530 56073 XCH KEYTEMP1 # LOW5 INTO KEYTEMP1
009163,000055: 13,3531 56021 XCH SR # WHOLE WORD INTO SR
009164,000056: 13,3532 55076 TS KEYTEMP2 # ORIGINAL SR INTO KEYTEMP2
009165,000057: 13,3533 03577 TC SRGHT5
009166,000058: 13,3534 74556 MASK LOW5 # MID 5
009167,000059: 13,3535 63611 AD HI10
009168,000060: 13,3536 03606 TC UPTEST
009169,000061: 13,3537 03577 TC SRGHT5
009170,000062: 13,3540 74556 MASK LOW5 # HIGH 5
009171,000063: 13,3541 40000 COM
009172,000064: 13,3542 03606 TC UPTEST
009173,000065: 13,3543 03573 UPOK TC RESTORSR # CODE IS GOOD
009174,000066: 13,3544 43550 CS ELRCODE # IF CODE = ERROR LIGHT RESET, PUT +0
009175,000067: 13,3545 60073 AD KEYTEMP1 # INTO BIT1 OF UPLOCK.
009176,000068: 13,3546 10000 CCS A # IF CODE NOT= ELR, PASS CODE ONLY IF
009177,000069: 13,3547 03556 TC TSTUPLOK # BIT1 OF UPLOCK = 0.
009178,000070: 13,3550 00022 ELRCODE OCT 22
009179,000071: 13,3551 03556 TC TSTUPLOK
009180,000072: 13,3552 47761 CS BIT3
009181,000073: 13,3553 70075 MASK FLAGWRD1
009182,000074: 13,3554 54075 TS FLAGWRD1
009183,000075: 13,3555 03562 TC ACCEPTUP
009184,000076: 13,3556 37761 TSTUPLOK CAF BIT3
009185,000077: 13,3557 70075 MASK FLAGWRD1
009186,000078: 13,3560 10000 CCS A
009187,000079: 13,3561 05733 TC RESUME # BIT1 OF UPLOCK = 1.
009188,000080: 13,3562 56073 ACCEPTUP XCH KEYTEMP1 # BIT1 OF UPLOCK = 0.
009189,000081: 13,3563 03503 TC KEYCOM
009190,000082:
009191,000083: 13,3564 03573 TMFAIL2 TC RESTORSR # CODE IS BAD
009192,000084: 13,3565 47761 CS BIT3
009193,000085: 13,3566 70075 MASK FLAGWRD1
009194,000086: 13,3567 67761 AD BIT3
009195,000087: 13,3570 54075 TS FLAGWRD1
009196,000088: 13,3571 05733 TMFAIL1 TC TMALM
009197,000089: 13,3572 05733 TC RESUME
009198,000090:
Page 230 |
009200,000092: 13,3573 57076 RESTORSR XCH KEYTEMP2
009201,000093: 13,3574 60000 DOUBLE
009202,000094: 13,3575 54021 TS SR
009203,000095: 13,3576 00002 TC Q
009204,000096:
009205,000097: 13,3577 5733 TMALM = RESUME # FOR NOW
009206,000098:
009207,000099: 13,3577 40021 SRGHT5 CS SR
009208,000100: 13,3600 40021 CS SR
009209,000101: 13,3601 40021 CS SR
009210,000102: 13,3602 40021 CS SR
009211,000103: 13,3603 40021 CS SR
009212,000104: 13,3604 40000 CS A
009213,000105: 13,3605 00002 TC Q # DELIVERS WORD UNCOMPLEMENTED
009214,000106:
009215,000107: 13,3606 60073 UPTEST AD KEYTEMP1
009216,000108: 13,3607 10000 CCS A
009217,000109: 13,3610 03564 TC TMFAIL2
009218,000110: 13,3611 77740 HI10 OCT 77740
009219,000111: 13,3612 03564 TC TMFAIL2
009220,000112: 13,3613 00002 TC Q
009221,000113:
009222,000114: # UPACT IS TURNED OFF BY VBRELDSP, ALSO BY ERROR LIGHT RESET.
Page 231 |
009224,000116: # THE RECEPTION OF A BAD CODE BY UPLINK LOCKS OUT FURTHER UPLINK ACTIVITY
009225,000117: # BY PLACING A 1 INTO BIT1 OF UPLOCK. BIT9 (ALONG WITH BIT11) OF TMKEYBUF
009226,000118: # IS SET TO 1 TO SEND AN INDICATION OF THIS SITUATION DOWN THE DOWNLINK.
009227,000119: # THE UPLINK INTERLOCK IS ALLOWED WHEN AN ERROR LIGHT RESET CODE IS SENT
009228,000120: # UP THE UPLINK, OR WHEN A FRESH START IS PERFORMED.
009229,000121:
End of include-file KEYRUPT,_UPRUPT.agc. Parent file is MAIN.agc