Source Code
062618,000001: # Copyright: Public domain.
062619,000002: # Filename: KEYRUPT_UPRUPT.agc
062620,000003: # Purpose: Part of the source code for Comanche, build 055. It
062621,000004: # is part of the source code for the Command Module's
062622,000005: # (CM) Apollo Guidance Computer (AGC), Apollo 11.
062623,000006: # Assembler: yaYUL
062624,000007: # Reference: pp. 1449-1451
062625,000008: # Contact: Ron Burkey <info@sandroid.org>
062626,000009: # Website: http://www.ibiblio.org/apollo.
062627,000010: # Mod history: 2009-05-07 RSB Adapted from Colossus249 file of the same
062628,000011: # name, and page images. Corrected various
062629,000012: # typos in the transcription of program
062630,000013: # comments, and these should be back-ported
062631,000014: # to Colossus249.
062632,000015:
062633,000016: # The contents of the "Comanche055" files, in general, are transcribed
062634,000017: # from scanned documents.
062635,000018:
062636,000019: # Assemble revision 055 of AGC program Comanche by NASA
062637,000020: # 2021113-051. April 1, 1969.
062638,000021:
062639,000022: # This AGC program shall also be referred to as Colossus 2A
062640,000023:
062641,000024: # Prepared by
062642,000025: # Massachussets Institute of Technology
062643,000026: # 75 Cambridge Parkway
062644,000027: # Cambridge, Massachusetts
062645,000028:
062646,000029: # under NASA contract NAS 9-4065.
062647,000030:
062648,000031: # Refer directly to the online document mentioned above for further
062649,000032: # information. Please report any errors to info@sandroid.org.
062650,000033:
062651,000034: # Page 1449
062652,000035: 14,3761 BANK 14
062653,000036: 07,2000 SETLOC KEYRUPT
062654,000037: 07,2000 BANK
062655,000038: 07,3673 COUNT* $$/KEYUP
062656,000039:
062657,000040: 07,3673 54016 KEYRUPT1 TS BANKRUPT
062658,000041: 07,3674 56002 XCH Q
062659,000042: 07,3675 54012 TS QRUPT
062660,000043: 07,3676 04414 TC LODSAMPT # TIME IS SNATCHED IN RUPT FOR NOUN 65.
062661,000044: 07,3677 34362 CAF LOW5
062662,000045: 07,3700 00006 EXTEND
062663,000046: 07,3701 02015 RAND MNKEYIN # CHECK IF KEYS 5M-1M ON
062664,000047: 07,3702 54073 KEYCOM TS RUPTREG4
062665,000048: 07,3703 40101 CS FLAGWRD5
062666,000049: 07,3704 75001 MASK BIT15
062667,000050: 07,3705 26101 ADS FLAGWRD5
062668,000051:
062669,000052: 07,3706 34371 ACCEPTUP CAF CHRPRIO # (NOTE: RUPTREG4 = KEYTEMP1)
062670,000053: 07,3707 05134 TC NOVAC
062671,000054: 07,3710 0777 EBANK= DSPCOUNT
062672,000055: 07,3710 02000 60101 2CADR CHARIN
062673,000056:
062674,000057: 07,3712 30073 CA RUPTREG4
062675,000058: 07,3713 50064 INDEX LOCCTR
062676,000059: 07,3714 54154 TS MPAC # LEAVE 5 BIT KEY CODE IN MPAC FOR CHARIN
062677,000060: 07,3715 05333 TC RESUME
062678,000061:
062679,000062: # Page 1450
062680,000063: # UPRUPT PROGRAM
062681,000064:
062682,000065: 07,3716 54016 UPRUPT TS BANKRUPT
062683,000066: 07,3717 56002 XCH Q
062684,000067: 07,3720 54012 TS QRUPT
062685,000068: 07,3721 04414 TC LODSAMPT # TIME IS SNATCHED IN RUPT FOR NOUN 65.
062686,000069: 07,3722 35021 CAF ZERO
062687,000070: 07,3723 56045 XCH INLINK
062688,000071: 07,3724 54073 TS KEYTEMP1
062689,000072: 07,3725 35015 CAF BIT3 # TURN ON UPACT LIGHT
062690,000073: 07,3726 00006 EXTEND # (BIT 3 OF CHANNEL 11)
062691,000074: 07,3727 05011 WOR DSALMOUT
062692,000075: 07,3730 34362 UPRPT1 CAF LOW5 # TEST FOR TRIPLE CHAR REDUNDANCY
062693,000076: 07,3731 70073 MASK KEYTEMP1 # LOW5 OF WORD
062694,000077: 07,3732 56073 XCH KEYTEMP1 # LOW5 INTO KEYTEMP1
062695,000078: 07,3733 00006 EXTEND
062696,000079: 07,3734 75006 MP BIT10 # SHIFT RIGHT 5
062697,000080: 07,3735 54734 TS KEYTEMP2
062698,000081: 07,3736 74362 MASK LOW5 # MID 5
062699,000082: 07,3737 63773 AD HI10
062700,000083: 07,3740 03770 TC UPTEST
062701,000084: 07,3741 35006 CAF BIT10
062702,000085: 07,3742 00006 EXTEND
062703,000086: 07,3743 70734 MP KEYTEMP2 # SHIFT RIGHT 5
062704,000087: 07,3744 74362 MASK LOW5 # HIGH 5
062705,000088: 07,3745 40000 COM
062706,000089: 07,3746 03770 TC UPTEST
062707,000090:
062708,000091: 07,3747 43776 UPOK CS ELRCODE # CODE IS GOOD. IF CODE = `ERROR RESET',
062709,000092: 07,3750 60073 AD KEYTEMP1 # CLEAR UPLOCKFL (SET BIT4 OF FLAGWRD7 = 0)
062710,000093: 07,3751 00006 EXTEND # IF CODE DOES NOT = `ERROR RESET', ACCEPT
062711,000094: 07,3752 13760 BZF CLUPLOCK # CODE ONLY IF UPLOCKFL IS CLEAR (=0).
062712,000095:
062713,000096: 07,3753 35014 CAF BIT4 # TEST UPLOCKFL FOR 0 OR 1
062714,000097: 07,3754 70103 MASK FLAGWRD7
062715,000098: 07,3755 10000 CCS A
062716,000099: 07,3756 05333 TC RESUME # UPLOCKFL = 1
062717,000100: 07,3757 03706 TC ACCEPTUP # UPLOCKFL = 0
062718,000101:
062719,000102: 07,3760 45014 CLUPLOCK CS BIT4 # CLEAR UPLOCKFL (I.E., SET BIT 4 OF
062720,000103: 07,3761 70103 MASK FLAGWRD7 # FLAGWRD7 = 0)
062721,000104: 07,3762 54103 TS FLAGWRD7
062722,000105: 07,3763 03706 TC ACCEPTUP
062723,000106:
062724,000107: # CODE IS BAD
062725,000108: 07,3764 40103 TMFAIL2 CS FLAGWRD7 # LOCK OUT FURTHER UPLINK ACTIVITY
062726,000109: 07,3765 75014 MASK BIT4 # (BY SETTING UPLOCKFL = 1) UNTIL
062727,000110: 07,3766 26103 ADS FLAGWRD7 # `ERROR RESET' IS SENT VIA UPLINK.
062728,000111: 07,3767 05333 TC RESUME
062729,000112: 07,3770 60073 UPTEST AD KEYTEMP1
062730,000113: # Page 1451
062731,000114: 07,3771 10000 CCS A
062732,000115: 07,3772 03764 TC TMFAIL2
062733,000116: 07,3773 77740 HI10 OCT 77740
062734,000117: 07,3774 03764 TC TMFAIL2
062735,000118: 07,3775 00002 TC Q
062736,000119:
062737,000120: 07,3776 00022 ELRCODE OCT 22
062738,000121:
062739,000122: # `UPLINK ACTIVITY LIGHT' IS TURNED OFF BY .....
062740,000123: # 1. VBRELDSP
062741,000124: # 2. ERROR RESET
062742,000125: # 3. UPDATE PROGRAM (P27) ENTERED BY V70,V71,V72, AND V73.
062743,000126:
062744,000127: # THE RECEPTION OF A BAD CODE (I.E., CCC FAILURE) LOCKS OUT FURTHER UPLINK ACTIVITY BY SETTING BIT4 OF FLAGWRD7 = 1.
062745,000128: # THIS INDICATION WILL BE TRANSFERRED TO THE GROUND BY THE DOWNLINK WHICH DOWNLINKS ALL FLAGWORDS.
062746,000129: # WHEN UPLINK ACTIVITY IS LOCKED OUT, IT CAN BE ALLOWED WHEN THE GROUND UPLINKS AND `ERROR RESET' CODE.
062747,000130: # (IT IS RECOMMENDED THAT THE `ERROR LIGHT RESET' CODE IS PRECEEDED BY 16 BITS THE FIRST OF WHICH IS 1 FOLLOWED
062748,000131: # BY 15 ZEROS. THIS WILL ELIMINATE EXTRANEOUS BITS FROM INLINK WHICH MAY HAVE BEEN LEFT OVER FROM THE ORIGINAL
062749,000132: # FAILURE).
062750,000133:
062751,000134: # UPLINK ACTIVITY IS ALSO ALLOWED (UNLOCKED) DURING FRESH START WHEN FRESH START SETS BIT4 OF FLAGWRD7 = 0.
062752,000135:
062753,000136:
End of include-file KEYRUPT_UPRUPT.agc. Parent file is MAIN.agc