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