Source Code
![]() |
These source-code files were transcribed from scans made from Don Eyles's personal
copy of Luminary 069. They were scanned at archive.org's Boston
facility, and the scanning was sponsored by Onno Hommes. 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 prefixed with a single '#' symbol,
whereas comments added later are prefixed by "##" or "###". 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 Luminary 69 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:GAP: ASSEMBLE REVISION 069 OF AGC PROGRAM LUMINARY BY NASA 2021112-011 19:02 NOV. 25,1968Note that the date is the date of the printout, not the date of the program revision. |
059554,000002: ## Copyright: Public domain.
059555,000003: ## Filename: ALARM_AND_ABORT.agc
059556,000004: ## Purpose: The main source file for Luminary revision 069.
059557,000005: ## It is part of the source code for the original release
059558,000006: ## of the flight software for the Lunar Module's (LM) Apollo
059559,000007: ## Guidance Computer (AGC) for Apollo 10. The actual flown
059560,000008: ## version was Luminary 69 revision 2, which included a
059561,000009: ## newer lunar gravity model and only affected module 2.
059562,000010: ## This file is intended to be a faithful transcription, except
059563,000011: ## that the code format has been changed to conform to the
059564,000012: ## requirements of the yaYUL assembler rather than the
059565,000013: ## original YUL assembler.
059566,000014: ## Reference: pp. 1375-1378
059567,000015: ## Assembler: yaYUL
059568,000016: ## Contact: Ron Burkey <info@sandroid.org>.
059569,000017: ## Website: www.ibiblio.org/apollo/index.html
059570,000018: ## Mod history: 2016-12-13 MAS Created from Luminary 99.
059571,000019: ## 2016-12-18 MAS Updated from comment-proofed Luminary 99 version.
059572,000020: ## 2017-01-04 RRB Updated for Luminary 69.
059573,000021: ## 2017-01-28 RSB Proofed comment text using octopus/prooferComments
059574,000022: ## but no errors found.
059575,000023:
![]() |
Page 1375 |
059577,000025: # THE FOLLOWING SUBROUTINE MAY BE CALLED TO DISPLAY A NON-ABORTIVE ALARM CONDITION. IT MAY BE CALLED
059578,000026: # EITHER IN INTERRUPT OR UNDER EXECUTIVE CONTROL.
059579,000027:
059580,000028: # CALLING SEQUENCE IS AS FOLLOWS:
059581,000029: # TC ALARM
059582,000030: # OCT AAANN ALARM NO. NN IN GENERAL AREA AAA.
059583,000031: # (RETURNS HERE)
059584,000032:
059585,000033: 5567 BLOCK 02
059586,000034: 4000 SETLOC FFTAG7
059587,000035: 4000 BANK
059588,000036:
059589,000037: 5567 0375 EBANK= FAILREG
059590,000038:
059591,000039: 5567 COUNT* $$/ALARM
059592,000040: # ALARM TURNS ON THE PROGRAM ALARM LIGHT, BUT DOES NOT DISPLAY.
059593,000041:
059594,000042: 5567 00004 ALARM INHINT
059595,000043:
059596,000044: 5570 30002 CA Q
059597,000045: 5571 55363 ALARM2 TS ALMCADR
059598,000046: 5572 50002 INDEX Q
059599,000047: 5573 30000 CA 0
059600,000048: 5574 54001 BORTENT TS L
059601,000049:
059602,000050: 5575 30006 PRIOENT CA BBANK
059603,000051: 5576 00006 +1 EXTEND
059604,000052: 5577 04007 ROR SUPERBNK # ADD SUPER BITS.
059605,000053: 5600 55364 TS ALMCADR +1
059606,000054:
059607,000055: 5601 30002 LARMENT CA Q # STORE RETURN FOR ALARM
059608,000056: 5602 54061 TS ITEMP1
059609,000057:
059610,000058: 5603 10375 CHKFAIL1 CCS FAILREG # IS ANYTHING IN FAILREG
059611,000059: 5604 15607 TCF CHKFAIL2 # YES TRY NEXT REG
059612,000060: 5605 22375 LXCH FAILREG
059613,000061: 5606 15621 TCF PROGLARM # TURN ALARM LIGHT ON FOR FIRST ALARM
059614,000062:
059615,000063: 5607 10376 CHKFAIL2 CCS FAILREG +1
059616,000064: 5610 15613 TCF FAIL3
059617,000065: 5611 22376 LXCH FAILREG +1
059618,000066: 5612 15624 TCF MULTEXIT
059619,000067:
059620,000068: 5613 30377 FAIL3 CA FAILREG +2
059621,000069: 5614 74733 MASK POSMAX
059622,000070: 5615 10000 CCS A
059623,000071: 5616 15630 TCF MULTFAIL
059624,000072: 5617 22377 LXCH FAILREG +2
059625,000073: 5620 15624 TCF MULTEXIT
059626,000074:
![]() |
Page 1376 |
059628,000076:
059629,000077: 5621 41036 PROGLARM CS DSPTAB +11D
059630,000078: 5622 75642 MASK OCT40400
059631,000079: 5623 27036 ADS DSPTAB +11D
059632,000080:
059633,000081: 5624 56061 MULTEXIT XCH ITEMP1 # OBTAIN RETURN ADDRESS IN A
059634,000082: 5625 00003 RELINT
059635,000083: 5626 50000 INDEX A
059636,000084: 5627 00001 TC 1
059637,000085:
059638,000086: 5630 30001 MULTFAIL CA L
059639,000087: 5631 64735 AD BIT15
059640,000088: 5632 54377 TS FAILREG +2
059641,000089:
059642,000090: 5633 15624 TCF MULTEXIT
059643,000091:
059644,000092: # PRIOLARM DISPLAYS V05N09 VIA PRIODSPR WITH 3 RETURNS TO THE USER FROM THE ASTRONAUT AT CALL LOC +1,+2,+3 AND
059645,000093: # AN IMMEDIATE RETURN TO THE USER AT CALL LOC +4. EXAMPLE FOLLOWS,
059646,000094: # CAF OCTXX ALARM CODE
059647,000095: # TC BANKCALL
059648,000096: # CADR PRIOLARM
059649,000097:
059650,000098: # ... ...
059651,000099: # ... ...
059652,000100: # ... ... ASTRONAUT RETURN
059653,000101: # TC PHASCHNG IMMEDIATE RETURN TO USER. RESTART
059654,000102: # OCT X.1 PHASE CHANGE FOR PRIO DISPLAY
059655,000103:
059656,000104: 10,3451 BANK 10
059657,000105: 10,2000 SETLOC DISPLAYS
059658,000106: 10,2000 BANK
059659,000107:
059660,000108: 10,3451 COUNT* $$/DSPLA
059661,000109: 10,3451 00004 PRIOLARM INHINT # * * * KEEP IN DISPLAY ROUTINES BANK
059662,000110: 10,3452 54001 TS L # SAVE ALARM CODE
059663,000111:
059664,000112: 10,3453 30133 CA BUF2 # 2 CADR OF PRIOLARM USER
059665,000113: 10,3454 55363 TS ALMCADR
059666,000114: 10,3455 30134 CA BUF2 +1
059667,000115: 10,3456 05576 TC PRIOENT +1 # * LEAVE L ALONE
059668,000116: 10,3457 77467 -2SEC DEC -200 B-14 # *** DONT MOVE
059669,000117: 10,3460 35006 CAF V05N09
059670,000118: 10,3461 12357 TCF PRIODSPR
059671,000119:
059672,000120: 5634 BLOCK 02
059673,000121: 4000 SETLOC FFTAG7
059674,000122: 4000 BANK
059675,000123:
059676,000124: 5634 COUNT* $$/ALARM
059677,000125: 5634 00004 BAILOUT INHINT
059678,000126: 5635 30002 CA Q
![]() |
Page 1377 |
059680,000128: 5636 55363 TS ALMCADR
059681,000129:
059682,000130: 5637 50002 INDEX Q
059683,000131: 5640 30000 CAF 0
059684,000132: 5641 05574 TC BORTENT
059685,000133: 5642 40400 OCT40400 OCT 40400
059686,000134:
059687,000135: 5643 00004 INHINT
059688,000136: 5644 34752 WHIMPER CA TWO
059689,000137: 5645 60005 AD Z
059690,000138: 5646 54017 TS BRUPT
059691,000139: 5647 50017 RESUME
059692,000140: 5650 04635 TC POSTJUMP # RESUME SENDS CONTROL HERE
059693,000141: 5651 12766 CADR ENEMA
059694,000142: 5652 00004 POODOO INHINT
059695,000143: 5653 30002 CA Q
059696,000144: 5654 55363 ABORT2 TS ALMCADR
059697,000145: 5655 50002 INDEX Q
059698,000146: 5656 30000 CAF 0
059699,000147: 5657 05574 TC BORTENT
059700,000148: 5660 77770 OCT77770 OCT 77770 # DON'T MOVE
059701,000149:
059702,000150: 5661 34765 CAF OCT35 # 4.35SPOT FOR GOPOODOO
059703,000151: 5662 54001 TS L
059704,000152: 5663 40000 COM
059705,000153: 5664 52761 DXCH -PHASE4
059706,000154: 5665 00004 GOPOODOO INHINT
059707,000155: 5666 30103 CA FLAGWRD7 # IS SERVICER CURRENTLY IN OPERATION?
059708,000156: 5667 74746 MASK V37FLBIT
059709,000157: 5670 10000 CCS A
059710,000158: 5671 15675 TCF STRTIDLE
059711,000159: 5672 04616 TC BANKCALL
059712,000160: 5673 12643 CADR MR.KLEAN
059713,000161: 5674 15644 TCF WHIMPER
059714,000162: 5675 04635 STRTIDLE TC POSTJUMP # PUT SERVICER INTO ITS "GROUND" STATE
059715,000163: 5676 65711 CADR SERVIDLE # AND PROCEED TO GOTOPOOH.
059716,000164: 5677 00004 CCSHOLE INHINT
059717,000165: 5700 30002 CA Q
059718,000166: 5701 05654 TC ABORT2
059719,000167: 5702 01103 OCT21103 OCT 1103
059720,000168: 5703 00004 CURTAINS INHINT
059721,000169: 5704 30002 CA Q
059722,000170: 5705 05571 TC ALARM2
059723,000171: 5706 00217 OCT217 OCT 00217
059724,000172: 5707 01363 TC ALMCADR # RETURN TO USER
059725,000173:
059726,000174: 5710 00004 BAILOUT1 INHINT
059727,000175: 5711 53364 DXCH ALMCADR
059728,000176: 5712 35734 CAF ADR40400
059729,000177: 5713 54061 BOTHABRT TS ITEMP1
![]() |
Page 1378 |
059731,000179: 5714 50002 INDEX Q
059732,000180: 5715 30000 CAF 0
059733,000181: 5716 54001 TS L
059734,000182: 5717 15603 TCF CHKFAIL1
059735,000183: 5720 00004 POODOO1 INHINT
059736,000184: 5721 53364 DXCH ALMCADR
059737,000185: 5722 35733 CAF ADR77770
059738,000186: 5723 15713 TCF BOTHABRT
059739,000187:
059740,000188: 5724 00004 ALARM1 INHINT
059741,000189: 5725 53364 DXCH ALMCADR
059742,000190: 5726 00004 ALMNCADR INHINT
059743,000191: 5727 50002 INDEX Q
059744,000192: 5730 30000 CA 0
059745,000193: 5731 54001 TS L
059746,000194: 5732 15601 TCF LARMENT
059747,000195:
059748,000196: 5733 15660 ADR77770 TCF OCT77770
059749,000197: 5734 15642 ADR40400 TCF OCT40400
059750,000198: 5735 5155 DOALARM EQUALS ENDOFJOB
059751,000199:
059752,000200: # CALLING SEQUENCE FOR VARALARM
059753,000201: # CAF (ALARM)
059754,000202: # TC VARALARM
059755,000203:
059756,000204: # VARALARM TURNS ON PROGRAM ALARM LIGHT BUT DOES NOT DISPLAY
059757,000205:
059758,000206: 5735 00004 VARALARM INHINT
059759,000207:
059760,000208: 5736 54001 TS L # SAVE USERS ALARM CODE
059761,000209:
059762,000210: 5737 30002 CA Q # SAVE USERS Q
059763,000211: 5740 55363 TS ALMCADR
059764,000212:
059765,000213: 5741 05575 TC PRIOENT
059766,000214: 5742 00014 OCT14 OCT 14 # DONT MOVE
059767,000215:
059768,000216: 5743 01363 TC ALMCADR # RETURN TO USER
059769,000217:
059770,000218: 5744 5644 ABORT EQUALS WHIMPER
059771,000219:
End of include-file ALARM_AND_ABORT.agc. Parent file is MAIN.agc