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