Source Code
064438,000001: # Copyright: Public domain.
064439,000002: # Filename: ALARM_AND_ABORT.agc
064440,000003: # Purpose: Part of the source code for Comanche, build 055. It
064441,000004: # is part of the source code for the Command Module's
064442,000005: # (CM) Apollo Guidance Computer (AGC), Apollo 11.
064443,000006: # Assembler: yaYUL
064444,000007: # Reference: pp. 1493-1496
064445,000008: # Contact: Ron Burkey <info@sandroid.org>
064446,000009: # Website: http://www.ibiblio.org/apollo.
064447,000010: # Mod history: 2009-05-07 RSB Adapted from Colossus249 file of the same
064448,000011: # name, and page images. Corrected various
064449,000012: # typos in the transcription of program
064450,000013: # comments, and these should be back-ported
064451,000014: # to Colossus249.
064452,000015: # 2010-08-24 JL Fixed page numbers and some indents.
064453,000016:
064454,000017: # The contents of the "Comanche055" files, in general, are transcribed
064455,000018: # from scanned documents.
064456,000019:
064457,000020: # Assemble revision 055 of AGC program Comanche by NASA
064458,000021: # 2021113-051. April 1, 1969.
064459,000022:
064460,000023: # This AGC program shall also be referred to as Colossus 2A
064461,000024:
064462,000025: # Prepared by
064463,000026: # Massachusetts Institute of Technology
064464,000027: # 75 Cambridge Parkway
064465,000028: # Cambridge, Massachusetts
064466,000029:
064467,000030: # under NASA contract NAS 9-4065.
064468,000031:
064469,000032: # Refer directly to the online document mentioned above for further
064470,000033: # information. Please report any errors to info@sandroid.org.
064471,000034:
064472,000035: # Page 1493
064473,000036: # THE FOLLOWING SUBROUTINE MAY BE CALLED TO DISPLAY A NON-ABORTIVE ALARM CONDITION. IT MAY BE CALLED
064474,000037: # EITHER IN INTERRUPT OR UNDER EXECUTIVE CONTROL.
064475,000038:
064476,000039: # THE CALLING SEQUENCE IS AS FOLLOWS:
064477,000040: # TC ALARM
064478,000041: # OCT NNNNN
064479,000042: # # (RETURNS HERE)
064480,000043:
064481,000044: 5650 BLOCK 02
064482,000045: 4000 SETLOC FFTAG7
064483,000046: 4000 BANK
064484,000047:
064485,000048: 5650 0375 EBANK= FAILREG
064486,000049:
064487,000050: 5650 COUNT 02/ALARM
064488,000051:
064489,000052: # ALARM TURNS ON THE PROGRAM ALARM LIGHT, BUT DOES NOT DISPLAY.
064490,000053:
064491,000054: 5650 00004 ALARM INHINT
064492,000055:
064493,000056: 5651 30002 CA Q
064494,000057: 5652 55363 ALARM2 TS ALMCADR
064495,000058: 5653 50002 INDEX Q
064496,000059: 5654 30000 CA 0
064497,000060: 5655 54001 BORTENT TS L
064498,000061:
064499,000062: 5656 30006 PRIOENT CA BBANK
064500,000063: 5657 00006 +1 EXTEND
064501,000064: 5660 04007 ROR SUPERBNK # ADD SUPER BITS.
064502,000065: 5661 55364 TS ALMCADR +1
064503,000066:
064504,000067: 5662 30002 LARMENT CA Q # STORE RETURN FOR ALARM
064505,000068: 5663 54061 TS ITEMP1
064506,000069:
064507,000070: 5664 30164 CA LOC
064508,000071: 5665 54057 TS LOCALARM
064509,000072: 5666 30165 CA BANKSET
064510,000073: 5667 54060 TS BANKALRM
064511,000074:
064512,000075: 5670 10375 CHKFAIL1 CCS FAILREG # IS ANYTHING IN FAILREG
064513,000076: 5671 15674 TCF CHKFAIL2 # YES TRY NEXT REG
064514,000077: 5672 22375 LXCH FAILREG
064515,000078: 5673 15706 TCF PROGLARM # TURN ALARM LIGHT ON FOR FIRST ALARM
064516,000079:
064517,000080: 5674 10376 CHKFAIL2 CCS FAILREG +1
064518,000081: 5675 15700 TCF FAIL3
064519,000082: 5676 22376 LXCH FAILREG +1
064520,000083: 5677 15711 TCF MULTEXIT
064521,000084:
064522,000085: 5700 30377 FAIL3 CA FAILREG +2
064523,000086: # Page 1494
064524,000087: 5701 74777 MASK POSMAX
064525,000088: 5702 10000 CCS A
064526,000089: 5703 15715 TCF MULTFAIL
064527,000090: 5704 22377 LXCH FAILREG +2
064528,000091: 5705 15711 TCF MULTEXIT
064529,000092:
064530,000093: 5706 41036 PROGLARM CS DSPTAB +11D
064531,000094: 5707 77765 MASK OCT40400
064532,000095: 5710 27036 ADS DSPTAB +11D
064533,000096:
064534,000097: 5711 56061 MULTEXIT XCH ITEMP1 # OBTAIN RETURN ADDRESS IN A
064535,000098: 5712 00003 RELINT
064536,000099: 5713 50000 INDEX A
064537,000100: 5714 00001 TC 1
064538,000101:
064539,000102: 5715 30001 MULTFAIL CA L
064540,000103: 5716 65001 AD BIT15
064541,000104: 5717 54377 TS FAILREG +2
064542,000105:
064543,000106: 5720 15711 TCF MULTEXIT
064544,000107:
064545,000108: # PRIOLARM DISPLAYS V05N09 VIA PRIODSPR WITH 3 RETURNS TO THE USER FROM THE ASTRONAUT AT CALL LOC +1,+2,+3 AND
064546,000109: # AN IMMEDIATE RETURN TO THE USER AT CALL LOC +4. EXAMPLE FOLLOWS,
064547,000110: # CAF OCTXX # ALARM CODE
064548,000111: # TC BANKCALL
064549,000112: # CADR PRIOLARM
064550,000113: # ... ...
064551,000114: # ... ...
064552,000115: # ... ... # ASTRONAUT RETURN
064553,000116: # TC PHASCHNG # IMMEDIATE RETURN TO USER. RESTART
064554,000117: # OCT X.1 # PHASE CHANGE FOR PRIO DISPLAY
064555,000118:
064556,000119: 10,3766 BANK 10
064557,000120: 10,2000 SETLOC DISPLAYS
064558,000121: 10,2000 BANK
064559,000122:
064560,000123: 10,3766 COUNT 10/DSPLA
064561,000124: 10,3766 00004 PRIOLARM INHINT # * * * KEEP IN DISPLAY ROUTINE'S BANK
064562,000125: 10,3767 54001 TS L # SAVE ALARM CODE
064563,000126:
064564,000127: 10,3770 30133 CA BUF2 # 2 CADR OF PRIOLARM USER
064565,000128: 10,3771 55363 TS ALMCADR
064566,000129: 10,3772 30134 CA BUF2 +1
064567,000130: 10,3773 05657 TC PRIOENT +1 # * LEAVE L ALONE
064568,000131: 10,3774 77467 -2SEC DEC -200 B-14 # *** DON'T MOVE
064569,000132: 10,3775 35050 CAF V05N09
064570,000133: 10,3776 12726 TCF PRIODSPR
064571,000134:
064572,000135: # Page 1495
064573,000136:
064574,000137: 5721 BLOCK 02
064575,000138: 6000 SETLOC FFTAG13
064576,000139: 6000 BANK
064577,000140:
064578,000141: 7755 COUNT 02/ALARM
064579,000142:
064580,000143: 7755 00004 BAILOUT INHINT
064581,000144: 7756 30002 CA Q
064582,000145: 7757 55363 TS ALMCADR
064583,000146:
064584,000147: 7760 04662 TC BANKCALL
064585,000148: 7761 40000 CADR VAC5STOR
064586,000149:
064587,000150: 7762 51363 INDEX ALMCADR
064588,000151: 7763 30000 CAF 0
064589,000152: 7764 05655 TC BORTENT
064590,000153: 7765 40400 OCT40400 OCT 40400
064591,000154:
064592,000155: 7766 00004 INHINT
064593,000156: 7767 35016 WHIMPER CA TWO
064594,000157: 7770 60005 AD Z
064595,000158: 7771 54017 TS BRUPT
064596,000159: 7772 50017 RESUME
064597,000160: 7773 04701 TC POSTJUMP # RESUME SENDS CONTROL HERE
064598,000161: 7774 12651 CADR ENEMA
064599,000162:
064600,000163: 4000 SETLOC FFTAG7
064601,000164: 4000 BANK
064602,000165:
064603,000166: 5721 00004 P00DOO INHINT
064604,000167: 5722 30002 CA Q
064605,000168: 5723 55363 TS ALMCADR
064606,000169:
064607,000170: 5724 04662 TC BANKCALL
064608,000171: 5725 40000 CADR VAC5STOR # STORE ERASABLES FOR DEBUGGING PURPOSES.
064609,000172:
064610,000173: 5726 51363 INDEX ALMCADR
064611,000174: 5727 30000 CAF 0
064612,000175: 5730 05655 ABORT2 TC BORTENT
064613,000176: 5731 77770 OCT77770 OCT 77770 # DON'T MOVE
064614,000177: 5732 35012 CA V37FLBIT # IS AVERAGE G ON
064615,000178: 5733 70103 MASK FLAGWRD7
064616,000179: 5734 10000 CCS A
064617,000180: 5735 07766 TC WHIMPER -1 # YES. DON'T DO POODOO. DO BAILOUT.
064618,000181:
064619,000182: 5736 05560 TC DOWNFLAG
064620,000183: 5737 00067 ADRES STATEFLG
064621,000184:
064622,000185: 5740 05560 TC DOWNFLAG
064623,000186:
064624,000187: # Page 1496
064625,000188: 5741 00236 ADRES REINTFLG
064626,000189:
064627,000190: 5742 05560 TC DOWNFLAG
064628,000191: 5743 00054 ADRES NODOFLAG
064629,000192:
064630,000193: 5744 04662 TC BANKCALL
064631,000194: 5745 12501 CADR MR.KLEAN
064632,000195: 5746 07767 TC WHIMPER
064633,000196:
064634,000197: 5747 00004 CCSHOLE INHINT
064635,000198: 5750 30002 CA Q
064636,000199: 5751 55363 TS ALMCADR
064637,000200: 5752 04662 TC BANKCALL
064638,000201: 5753 40000 CADR VAC5STOR
064639,000202: 5754 35756 CA OCT1103
064640,000203: 5755 05730 TC ABORT2
064641,000204: 5756 01103 OCT1103 OCT 1103
064642,000205: 5757 00004 CURTAINS INHINT
064643,000206: 5760 30002 CA Q
064644,000207: 5761 05652 TC ALARM2
064645,000208: 5762 00217 OCT217 OCT 00217
064646,000209: 5763 01363 TC ALMCADR # RETURN TO USER
064647,000210:
064648,000211: 5764 5217 DOALARM EQUALS ENDOFJOB
064649,000212:
064650,000213: # CALLING SEQUENCE FOR VARALARM
064651,000214:
064652,000215: # CAF (ALARM)
064653,000216: # TC VARALARM
064654,000217:
064655,000218: # VARALARM TURNS ON PROGRAM ALARM LIGHT BUT DOES NOT DISPLAY
064656,000219:
064657,000220: 5764 00004 VARALARM INHINT
064658,000221:
064659,000222: 5765 54001 TS L # SAVE USER'S ALARM CODE
064660,000223:
064661,000224: 5766 30002 CA Q # SAVE USER'S Q
064662,000225: 5767 55363 TS ALMCADR
064663,000226:
064664,000227: 5770 05656 TC PRIOENT
064665,000228: 5771 00014 OCT14 OCT 14 # DON'T MOVE
064666,000229:
064667,000230: 5772 01363 TC ALMCADR # RETURN TO USER
064668,000231:
064669,000232: 5773 7755 ABORT EQUALS BAILOUT # *** TEMPORARY UNTIL ABORT CALLS OUT
End of include-file ALARM_AND_ABORT.agc. Parent file is MAIN.agc