Source Code

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