Source Code

These source-code files were obtained by digitally photographing an Artemis 72 program listing from a private collection and then modifying pre-existing Comanche 55 (Apollo 11) source files to incorporate changes. Note that the page images presented online are of reduced quality, and that additional images may be available. Report any conversion errors or legibility problems in page images to info@sandroid.org. Notations on the program listing read, in part:

	GAP: ASSEMBLE REVISION 072 OF AGC PROGRAM ARTEMIS 
	BY NASA 2021114-011 11:40 FEB. 26, 1971

	THIS AGC PROGRAM SHALL ALSO BE REFERRED TO AS
				COLOSSUS 3
	THIS PROGRAM IS INTENDED FOR USE IN THE CM AS SPECIFIED
	IN REPORT R-577.  THIS PROGRAM WAS PREPARED UNDER OSR
	PROJECT 55-23890, SPONSORED BY THE MANNED SPACECRAFT
	CENTER OF THE NATIONAL AERONAUTICS AND SPACE
	ADMINISTRATION THROUGH CONTRACT NAS 9-4065 WITH THE
	CHARLES STARK DRAPER LABORATORY, MASSACHUSETTS INSTITUTE OF
	TECHNOLOGY, CAMBRIDGE, MASS.

061647,000002:                                                                                                 #  Copyright:     Public domain.
061648,000003:                                                                                                 #  Filename:      KEYRUPT_UPRUPT.agc
061649,000004:                                                                                                 #  Purpose:       Part of the source code for Artemis (i.e., Colossus 3),
061650,000005:                                                                                                 #                 build 072.  This is for the Command Module's (CM)
061651,000006:                                                                                                 #                 Apollo Guidance Computer (AGC), we believe for
061652,000007:                                                                                                 #                 Apollo 15-17.
061653,000008:                                                                                                 #  Assembler:     yaYUL
061654,000009:                                                                                                 #  Contact:       Jim Lawton <jim DOT lawton AT gmail DOT com>
061655,000010:                                                                                                 #  Website:       www.ibiblio.org/apollo/index.html
061656,000011:                                                                                                 #  Page scans:    www.ibiblio.org/apollo/ScansForConversion/Artemis072/
061657,000012:                                                                                                 #  Mod history:   2009-08-18 JL   Adapted from corresponding Comanche 055 file.
061658,000013:                                                                                                 #                 2009-09-03 JL   Fixed error in conversion.
061659,000014:                                                                                                 #                 2010-02-20 RSB  Un-##'d this header.
061660,000015: 
061661,000016:                                                                                                 # # Page 1445
061662,000017: 
061663,000018: 07,2000                                          SETLOC   KEYRUPT                               
061664,000019: 07,2000                                          BANK                                           
061665,000020: 07,3666                                          COUNT*   $$/KEYUP                              
061666,000021: 
061667,000022: 07,3666           54016        KEYRUPT1          TS       BANKRUPT                              
061668,000023: 07,3667           56002                          XCH      Q                                     
061669,000024: 07,3670           54012                          TS       QRUPT                                 
061670,000025: 07,3671           04366                          TC       LODSAMPT                              #  TIME IS SNATCHED IN RUPT FOR NOUN 65.
061671,000026: 07,3672           34342                          CAF      LOW5                                  
061672,000027: 07,3673           00006                          EXTEND                                         
061673,000028: 07,3674           02015                          RAND     MNKEYIN                               #  CHECK IF KEYS 5M-1M ON
061674,000029: 07,3675           54073        KEYCOM            TS       RUPTREG4                              
061675,000030: 07,3676           40101                          CS       FLAGWRD5                              
061676,000031: 07,3677           74752                          MASK     DSKYBIT                               
061677,000032: 07,3700           26101                          ADS      FLAGWRD5                              
061678,000033: 
061679,000034: 07,3701           05120        ACCEPTUP          TC       NOVAC30                               #  (NOTE: RUPTREG4 = KEYTEMP1)
061680,000035: 07,3702     1202                                 EBANK=   DSPCOUNT                              
061681,000036: 07,3702           02000 60102                    2CADR    CHARIN                                
061682,000037: 
061683,000038: 07,3704           30073                          CA       RUPTREG4                              
061684,000039: 07,3705           50064                          INDEX    LOCCTR                                
061685,000040: 07,3706           54154                          TS       MPAC                                  #  LEAVE 5 BIT KEY CODE IN MPAC FOR CHARIN
061686,000041: 07,3707           05323                          TC       RESUME                                
061687,000042: 
061688,000043:                                                                                                 # # Page 1446
061689,000044: 
061690,000045:                                                                                                 #  UPRUPT PROGRAM
061691,000046: 
061692,000047: 07,3710           54016        UPRUPT            TS       BANKRUPT                              
061693,000048: 07,3711           56002                          XCH      Q                                     
061694,000049: 07,3712           54012                          TS       QRUPT                                 
061695,000050: 07,3713           04366                          TC       LODSAMPT                              #  TIME IS SNATCHED IN RUPT FOR NOUN 65.
061696,000051: 07,3714           34772                          CAF      ZERO                                  
061697,000052: 07,3715           56045                          XCH      INLINK                                
061698,000053: 07,3716           54073                          TS       KEYTEMP1                              
061699,000054: 07,3717           30075                          CA       FLAGWRD1                              
061700,000055: 07,3720           74755                          MASK     NOP01BIT                              #  IF = , MISSION IS IN
061701,000056: 07,3721           10000                          CCS      A                                     #  PRELAUNCH AND UPLINK DATA SUM IS ENABLED
061702,000057: 07,3722           13726                          TCF      +4                                    #  IF FLGAWORD1 BIT 12 =1, IT IS NOT
061703,000058: 07,3723           30073                          CA       KEYTEMP1                              #  ALLOWED.
061704,000059: 07,3724           27116                          ADS      UPSUM                                 
061705,000060: 07,3725           25117                          INCR     UPSUM      +1                         
061706,000061: 07,3726           34766                          CAF      BIT3                                  #  TURN ON UPACT LIGHT
061707,000062: 07,3727           00006                          EXTEND                                         #  (BIT 3 OF CHANNEL 11)
061708,000063: 07,3730           05011                          WOR      DSALMOUT                              
061709,000064: 07,3731           34342        UPRPT1            CAF      LOW5                                  #  TEST FOR TRIPLE CHAR REDUNDANCY
061710,000065: 07,3732           70073                          MASK     KEYTEMP1                              #  LOW5 OF WORD
061711,000066: 07,3733           56073                          XCH      KEYTEMP1                              #  LOW5 INTO KEYTEMP1
061712,000067: 07,3734           00006                          EXTEND                                         
061713,000068: 07,3735           74757                          MP       BIT10                                 #  SHIFT RIGHT 5
061714,000069: 07,3736           55137                          TS       KEYTEMP2                              
061715,000070: 07,3737           74342                          MASK     LOW5                                  #  MID 5
061716,000071: 07,3740           63774                          AD       HI10                                  
061717,000072: 07,3741           03771                          TC       UPTEST                                
061718,000073: 07,3742           34757                          CAF      BIT10                                 
061719,000074: 07,3743           00006                          EXTEND                                         
061720,000075: 07,3744           71137                          MP       KEYTEMP2                              #  SHIFT RIGHT 5
061721,000076: 07,3745           74342                          MASK     LOW5                                  #  HIGH 5
061722,000077: 07,3746           40000                          COM                                            
061723,000078: 07,3747           03771                          TC       UPTEST                                
061724,000079: 
061725,000080: 07,3750           45000        UPOK              CS       ELRCODE                               #  CODE IS GOOD. IF CODE = 'ERROR RESET',
061726,000081: 07,3751           60073                          AD       KEYTEMP1                              #  CLEAR UPLOCKFL (SET BIT4 OF FLAGWRD7 = 0)
061727,000082: 07,3752           00006                          EXTEND                                         #  IF CODE DOES NOT = 'ERROR RESET', ACCEPT
061728,000083: 07,3753           13761                          BZF      CLUPLOCK                              #  CODE ONLY IF UPLOCKFL IS CLEAR (=0).
061729,000084: 
061730,000085: 07,3754           34765                          CAF      UPLOCBIT                              #  TEST UPLOCKFL FOR 0 OR 1
061731,000086: 07,3755           70103                          MASK     FLAGWRD7                              
061732,000087: 07,3756           10000                          CCS      A                                     
061733,000088: 07,3757           05323                          TC       RESUME                                #  UPLOCKFL = 1
061734,000089: 07,3760           03701                          TC       ACCEPTUP                              #  UPLOCKFL = 0
061735,000090: 
061736,000091: 07,3761           44765        CLUPLOCK          CS       UPLOCBIT                              #  CLEAR UPLOCKFL (I.E., SET BIT 4 OF
061737,000092: 07,3762           70103                          MASK     FLAGWRD7                              #  FLAGWRD7 = 0)
061738,000093: 07,3763           54103                          TS       FLAGWRD7                              
061739,000094: 07,3764           03701                          TC       ACCEPTUP                              
061740,000095:                                                                                                 # # Page 1447
061741,000096:                                                                                                 #  CODE IS BAD
061742,000097: 07,3765           40103        TMFAIL2           CS       FLAGWRD7                              #  LOCK OUT FURTHER UPLINK ACTIVITY
061743,000098: 07,3766           74765                          MASK     UPLOCBIT                              #  (BY SETTING UPLOCKFL = 1) UNTIL
061744,000099: 07,3767           26103                          ADS      FLAGWRD7                              #  'ERROR RESET' IS SENT VIA UPLINK.
061745,000100: 07,3770           05323                          TC       RESUME                                
061746,000101: 07,3771           60073        UPTEST            AD       KEYTEMP1                              
061747,000102: 07,3772           10000                          CCS      A                                     
061748,000103: 07,3773           03765                          TC       TMFAIL2                               
061749,000104: 07,3774           77740        HI10              OCT      77740                                 
061750,000105: 07,3775           03765                          TC       TMFAIL2                               
061751,000106: 07,3776           00002                          TC       Q                                     
061752,000107: 
061753,000108: 07,3777     5000               ELRCODE           EQUALS   OCT22                                 
061754,000109: 
061755,000110:                                                                                                 #  'UPLINK ACTIVITY LIGHT' IS TURNED OFF BY .....
061756,000111:                                                                                                 #         1.      VBRELDSP
061757,000112:                                                                                                 #         2.      ERROR RESET
061758,000113:                                                                                                 #         3.      UPDATE PROGRAM (P27) ENTERED BY V70,V71,V72, AND V73.
061759,000114: 
061760,000115:                                                                                                 #                                       _
061761,000116:                                                                                                 #  THE RECEPTION OF A BAD CODE (I.E., CCC FAILURE) LOCKS OUT FURTHER UPLINK ACTIVITY BY SETTING BIT4 OF FLAGWRD7 = 1.
061762,000117:                                                                                                 #  THIS INDICATION WILL BE TRANSFERRED TO THE GROUND BY THE DOWNLINK WHICH DOWNLINKS ALL FLAGWORDS.
061763,000118:                                                                                                 #  WHEN UPLINK ACTIVITY IS LOCKED OUT, IT CAN BE ALLOWED WHEN THE GROUND UPLINKS AN 'ERROR RESET' CODE.
061764,000119:                                                                                                 #  (IT IS RECOMMENDED THAT THE 'ERROR LIGHT RESET' CODE IS PRECEEDED BY 16 BITS THE FIRST OF WHICH IS 1 FOLLOWED
061765,000120:                                                                                                 #  BY 15 ZEROS. THIS WILL ELIMINATE EXTRANEOUS BITS FROM INLINK WHICH MAY HAVE BEEN LEFT OVER FROM THE ORIGINAL
061766,000121:                                                                                                 #  FAILURE).
061767,000122: 
061768,000123:                                                                                                 #  UPLINK ACTIVITY IS ALSO ALLOWED (UNLOCKED) DURING FRESH START WHEN FRESH START SETS BIT4 OF FLAGWRD7 = 0.

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