Source Code
These source-code files were transcribed from scans made from Don Eyles's personal
copy of BURST120 (SUNBURST 120). They were scanned at archive.org's Boston
facility, and the scanning was sponsored by Mike Stewart. The code was transcribed
from these scans by a team of volunteers who are referenced in the program
comments. Comments from the original source code are in ALL-CAPS, whereas
comments added later in transcription are in Mixed-Case. In some cases, where
similar code blocks exist in previously-transcribed AGC programs (primarily
Luminary 99, from Apollo 11) those code blocks were used as a starting point and
then corrected to agree with the BURST120 scans. The full scans are available
at the Virtual AGC
project's collection at archive.org, while more-convenient reduced-size (but reduced-quality)
images are available at
the main Virtual AGC website. Report any errors noted by creating an
issue report at the Virtual AGC
project's GitHub repository. Notations on the program listing read, in part:YUL SYSTEM FOR AGC: REVISION 0 OF PROGRAM BURST120 BY NASA 2021106-031 DEC 7, 1967 THIS LISTING IS A COPY OF A VERSION OF THE PROGRAM INTENDED FOR USE IN THE ON-BOARD PRIMARY GUIDANCE COMPUTER IN THE UNMANNED FLIGHT OF APOLLO LUNAR MODULE 1 --- THE AS206 MISSION.Note that the date is the date of the printout, not the date of the program revision. |
012761,000002: ## Copyright: Public domain.
012762,000003: ## Filename: ALARM_AND_ABORT.agc
012763,000004: ## Purpose: A module for revision 0 of BURST120 (Sunburst). It
012764,000005: ## is part of the source code for the Lunar Module's
012765,000006: ## (LM) Apollo Guidance Computer (AGC) for Apollo 5.
012766,000007: ## Assembler: yaYUL
012767,000008: ## Contact: Ron Burkey <info@sandroid.org>.
012768,000009: ## Website: www.ibiblio.org/apollo/index.html
012769,000010: ## Mod history: 2016-09-30 RSB Created draft version.
012770,000011: ## 2016-10-14 RSB Transcribed.
012771,000012: ## 2016-10-31 RSB Typos.
012772,000013: ## 2016-12-05 RSB Comment-proofing pass with octopus/ProoferComments completed;
012773,000014: ## changes made.
012774,000015:
Page 313 |
012776,000017: # PROGRAM DESCRIPTION DATE- 9 FEB 1967
012777,000018: # PROGRAM WRITTEN BY M.HAMILTON LOG SECTION-ALARM AND ABORT
012778,000019: # MOD BY- R.MELANSON TO ADD DOCUMENTATION ASSEMBLY SUNBURST REV 107
012779,000020:
012780,000021: # FUNCTIONAL DESCRIPTION-
012781,000022: # TO ILLUMINATE THE PROGRAM ALARM LAMP AND DISPLAY OCTAL ALARM OR ABORT
012782,000023: # CODES VIA VERB 15 NOUN 50. OCTAL CODES SUPPLIED BY CALLING ROUTINE.
012783,000024:
012784,000025: # CALLING SEQUENCE-
012785,000026: # L TC ALARM OR ABORT (IN TASK OR JOB)
012786,000027: # L+1 OCT (OCTAL CODE IDENTIFYING CAUSE OF ALARM OR ABORT)
012787,000028:
012788,000029: # NORMAL EXIT MODE-
012789,000030: # TO L+2 OF CALLING SEQUENCE IF ALARM
012790,000031: # (TC TRAP) TO RESTART IF ABORT
012791,000032:
012792,000033: # ALARM OR ABORT EXIT MODE- NONE
012793,000034:
012794,000035: # OUTPUT-
012795,000036: # ALARM OR ABORT OCTAL CODE IN ONE OF FAILREG REGISTERS FOR DISPLAY.
012796,000037:
012797,000038: # ERASABLE INITIALIZATION-
012798,000039: # FAILREG THRU FAILREG +2 ZEROED BY FRESH START.
012799,000040:
012800,000041: # DEBRIS-
012801,000042: # Q,A,L,ALMCADR,ALMCADR +1,RUPTREG4
012802,000043:
012803,000044: 4736 BLOCK 2
012804,000045:
012805,000046: 4736 00004 CCSHOLE INHINT
012806,000047: 4737 30002 CA Q
012807,000048: 4740 55363 TS ALMCADR
012808,000049:
012809,000050: 4741 06003 TC ABORT2
012810,000051: 4742 01103 OCT 1103
012811,000052:
012812,000053: 4743 00004 CURTAINS INHINT # SAVE 2CADR OF USER FOR CURTAINS DISPLAY
012813,000054: 4744 30002 CA Q
012814,000055: 4745 55363 TS ALMCADR
012815,000056:
012816,000057: 4746 04760 TC ALARM2
012817,000058: 4747 00310 OCT 00310
012818,000059:
012819,000060: 4750 00004 JETENTRY INHINT
012820,000061: 4751 34754 CAF CURTBB
012821,000062: 4752 56006 XCH BBANK
012822,000063: 4753 12007 TCF FORGETIT
012823,000064:
012824,000065: 4754 E3,1400 EBANK= LST1
012825,000066: 4754 16063 CURTBB BBCON FORGETIT
012826,000067: 07,2103 BANK 07
Page 314 |
012828,000069: 07,2103 04632 LARMLARM TC GRABDSP
012829,000070: 07,2104 15567 TCF ENDOFJOB
012830,000071: 07,2105 12107 TCF DOALARM +1
012831,000072:
012832,000073: 07,2106 04644 DOALARM TC GRABWAIT # DISPLAY FAILREG.
012833,000074: 07,2107 32112 CAF FAILDISP
012834,000075: 07,2110 04657 TC NVSBWAIT
012835,000076:
012836,000077: 07,2111 05566 TC EJFREE # FREE DISPLAY AND END JOB.
012837,000078:
012838,000079: 07,2112 01550 FAILDISP OCT 01550 # MONITOR DISPLAYS 3 FAILREG REGS
012839,000080:
012840,000081: 07,2113 04755 JETABORT TC ALARM
012841,000082: 07,2114 00312 OCT 00312
012842,000083:
012843,000084: 07,2115 14750 TCF JETENTRY
012844,000085:
012845,000086: # ALARM IS CALLED EITHER IN INTERRUPT OR UNDER EXECUTIVE CONTROL
012846,000087:
012847,000088: # CALLING SEQUENCE,
012848,000089:
012849,000090: # TC ALARM
012850,000091: # OCT AAANN ALARM NO. NN IN GENERAL AREA AAA.
012851,000092:
012852,000093: # (RETURNS HERE)
012853,000094:
012854,000095:
012855,000096: 4755 BLOCK 02
012856,000097: 4755 00004 ALARM INHINT
012857,000098:
012858,000099: 4756 30002 CA Q
012859,000100: 4757 55363 TS ALMCADR
012860,000101:
012861,000102: 4760 50002 ALARM2 INDEX Q
012862,000103: 4761 30000 CA 0
012863,000104: 4762 54001 BORTENT TS L # STORE RETURN -1 IN L
012864,000105:
012865,000106: 4763 30006 CA BBANK
012866,000107: 4764 55364 TS ALMCADR +1
012867,000108:
012868,000109: 4765 30002 CA Q
012869,000110: 4766 54073 TS RUPTREG4
012870,000111:
012871,000112: 4767 11360 CHKFAIL1 CCS FAILREG # IS ANYTHING IN FAILREG
012872,000113: 4770 14773 TCF CHKFAIL2 # YES TRY NEXT REG
012873,000114: 4771 23360 LXCH FAILREG
012874,000115: 4772 15005 TCF PROGLARM # TURN ALARM LIGHT ON FOR FIRST ALARM
012875,000116:
012876,000117: 4773 11361 CHKFAIL2 CCS FAILREG +1
Page 315 |
012878,000119: 4774 14777 TCF FAIL3
012879,000120: 4775 23361 LXCH FAILREG +1
012880,000121: 4776 15010 TCF ARMDSPON # LIGHT ALREADY ON
012881,000122:
012882,000123: 4777 31362 FAIL3 CA FAILREG +2
012883,000124: 5000 77743 MASK POSMAX
012884,000125: 5001 10000 CCS A
012885,000126: 5002 15020 TCF MULTFAIL
012886,000127: 5003 23362 LXCH FAILREG +2
012887,000128: 5004 15010 TCF ARMDSPON # LAST DISPLAY TURN ON UNTIL ERR RESET
012888,000129:
012889,000130: 5005 40326 PROGLARM CS DSPTAB +11D
012890,000131: 5006 76006 MASK OCT40400
012891,000132: 5007 26326 ADS DSPTAB +11D
012892,000133:
012893,000134: 5010 35660 ARMDSPON CAF PRIO37
012894,000135: 5011 05505 TC NOVAC
012895,000136: 5012 1360 EBANK= FAILREG
012896,000137: 5012 02103 16062 2CADR LARMLARM
012897,000138:
012898,000139: 5014 56073 MULTEXIT XCH RUPTREG4
012899,000140: 5015 00003 RELINT
012900,000141: 5016 50000 INDEX A
012901,000142: 5017 00001 TC 1
012902,000143:
012903,000144: 5020 30001 MULTFAIL CA L
012904,000145: 5021 67745 AD BIT15
012905,000146: 5022 57362 XCH FAILREG +2
012906,000147: 5023 77743 MASK POSMAX
012907,000148: 5024 55361 TS FAILREG +1
012908,000149:
012909,000150: 5025 15014 TCF MULTEXIT
012910,000151:
012911,000152: 6000 BLOCK 03
012912,000153: 6000 00004 ABORT INHINT
012913,000154: 6001 30002 CA Q
012914,000155: 6002 55363 TS ALMCADR
012915,000156:
012916,000157: 6003 50002 ABORT2 INDEX Q
012917,000158: 6004 30000 CAF 0
012918,000159: 6005 04762 TC BORTENT
012919,000160: 6006 40400 OCT40400 OCT 40400
012920,000161: 6007 47750 CS BIT12 # PUT RESTARTABILITY FLAG DOWN & GENERATE
012921,000162: 6010 70075 MASK FLAGWRD1 # A RESTART TO YIELD A FAKESTRT.
012922,000163: 6011 54075 TS FLAGWRD1
012923,000164: 6012 16012 WHIMPER TCF WHIMPER
012924,000165:
End of include-file ALARM_AND_ABORT.agc. Parent file is MAIN.agc