Source Code
These source-code files were transcribed from a printout in Don Eyles's personal
collection, scanned by archive.org, and financially sponsored by Linden Sims.
A team of volunteers performed the transcription and proof-reading. The scanned
page images are available at
the Virtual AGC Project website, as well as higher-quality (but much larger)
images at
the Virtual AGC Project's collection in the Internet Archive. Report any problems by creating
"issues" at
the Virtual AGC Project's GitHub Repository. Notations on the program listing read, in part: GAP: ASSEMBLE REVISION 56 OF AGC PROGRAM ZERLINA BY ZOROASTER 9:12 OCT. 21,1970Note that the date is the date of the printout, not the date of the program revision. |
059896,000002: ## Copyright: Public domain.
059897,000003: ## Filename: ALARM_AND_ABORT.agc
059898,000004: ## Purpose: A log section of Zerlina 56, the final revision of
059899,000005: ## Don Eyles's offline development program for the variable
059900,000006: ## guidance period servicer. It also includes a new P66 with LPD
059901,000007: ## (Landing Point Designator) capability, based on an idea of John
059902,000008: ## Young's. Neither of these advanced features were actually flown,
059903,000009: ## but Zerlina was also the birthplace of other big improvements to
059904,000010: ## Luminary including the terrain model and new (Luminary 1E)
059905,000011: ## analog display programs. Zerlina was branched off of Luminary 145,
059906,000012: ## and revision 56 includes all changes up to and including Luminary
059907,000013: ## 183. It is therefore quite close to the Apollo 14 program,
059908,000014: ## Luminary 178, where not modified with new features.
059909,000015: ## Reference: pp. 1369-1373
059910,000016: ## Assembler: yaYUL
059911,000017: ## Contact: Ron Burkey <info@sandroid.org>.
059912,000018: ## Website: www.ibiblio.org/apollo/index.html
059913,000019: ## Mod history: 2017-07-28 MAS Created from Luminary 210.
059914,000020: ## 2017-08-23 MAS Updated for Zerlina 56.
059915,000021: ## 2017-08-24 MAS Removed an extra CS BITS9+7 instruction.
059916,000022:
Page 1369 |
059918,000024: # THE FOLLOWING SUBROUTINE MAY BE CALLED TO DISPLAY A NON-ABORTIVE ALARM CONDITION. IT MAY BE CALLED
059919,000025: # EITHER IN INTERRUPT OR UNDER EXECUTIVE CONTROL.
059920,000026:
059921,000027: # CALLING SEQUENCE IS AS FOLLOWS:
059922,000028:
059923,000029: # TC ALARM
059924,000030: # OCT AAANN ALARM NO. NN IN GENERAL AREA AAA.
059925,000031: # (RETURNS HERE)
059926,000032:
059927,000033: 5600 BLOCK 02
059928,000034: 4000 SETLOC FFTAG7
059929,000035: 4000 BANK
059930,000036:
059931,000037: 5600 0375 EBANK= FAILREG
059932,000038:
059933,000039: 5600 COUNT* $$/ALARM
059934,000040: # ALARM TURNS ON THE PROGRAM ALARM LIGHT, BUT DOES NOT DISPLAY.
059935,000041:
059936,000042: 5600 00004 ALARM INHINT
059937,000043:
059938,000044: 5601 30002 CA Q
059939,000045: 5602 55363 ALARM2 TS ALMCADR
059940,000046: 5603 50002 INDEX Q
059941,000047: 5604 30000 CA 0
059942,000048: 5605 54001 BORTENT TS L
059943,000049:
059944,000050: 5606 30006 PRIOENT CA BBANK
059945,000051: 5607 00006 +1 EXTEND
059946,000052: 5610 04007 ROR SUPERBNK # ADD SUPER BITS.
059947,000053: 5611 55364 TS ALMCADR +1
059948,000054:
059949,000055: 5612 30002 LARMENT CA Q # STORE RETURN FOR ALARM
059950,000056: 5613 54061 TS ITEMP1
059951,000057:
059952,000058: 5614 10375 CHKFAIL1 CCS FAILREG # IS ANYTHING IN FAILREG
059953,000059: 5615 15621 TCF CHKFAIL2 # YES TRY NEXT REG
059954,000060: 5616 30001 CA L
059955,000061: 5617 54375 TS FAILREG
059956,000062: 5620 15625 TCF PROGLARM # TURN ALARM LIGHT ON FOR FIRST ALARM
059957,000063:
059958,000064: 5621 10376 CHKFAIL2 CCS FAILREG +1
059959,000065: 5622 15625 TCF PROGLARM
059960,000066: 5623 30001 CA L
059961,000067: 5624 54376 TS FAILREG +1
059962,000068:
059963,000069: 5625 22377 PROGLARM LXCH FAILREG +2 # STORE AS "MOST RECENT" ALARM CODE
059964,000070:
059965,000071: 5626 41035 CS DSPTAB +11D # TURN ON PROGRAM ALARM IF OFF
059966,000072: 5627 75643 MASK OCT40400
059967,000073: 5630 27035 ADS DSPTAB +11D
059968,000074:
Page 1370 |
059970,000076: 5631 56061 MULTEXIT XCH ITEMP1 # OBTAIN RETURN ADDRESS IN A
059971,000077: 5632 00003 RELINT
059972,000078: 5633 50000 INDEX A
059973,000079: 5634 00001 TC 1
059974,000080:
059975,000081: # PRIOLARM DISPLAYS V05N09 VIA PRIODSPR WITH 3 RETURNS TO THE USER FROM THE ASTRONAUT AT CALL LOC +1,+2,+3 AND
059976,000082: # AN IMMEDIATE RETURN TO THE USER AT CALL LOC +4. EXAMPLE FOLLOWS,
059977,000083: # CAF OCTXX ALARM CODE
059978,000084: # TC BANKCALL
059979,000085: # CADR PRIOLARM
059980,000086:
059981,000087: # ... ...
059982,000088: # ... ...
059983,000089: # ... ... ASTRONAUT RETURN
059984,000090: # TC PHASCHNG IMMEDIATE RETURN TO USER. RESTART
059985,000091: # OCT X.1 PHASE CHANGE FOR PRIO DISPLAY
059986,000092:
059987,000093: 10,3544 BANK 10
059988,000094: 10,2000 SETLOC DISPLAYS
059989,000095: 10,2000 BANK
059990,000096:
059991,000097: 10,3544 COUNT* $$/DSPLA
059992,000098: 10,3544 00004 PRIOLARM INHINT # * * * KEEP IN DISPLAY ROUTINES BANK
059993,000099: 10,3545 54001 TS L # SAVE ALARM CODE
059994,000100:
059995,000101: 10,3546 30133 CA BUF2 # 2 CADR OF PRIOLARM USER
059996,000102: 10,3547 55363 TS ALMCADR
059997,000103: 10,3550 30134 CA BUF2 +1
059998,000104: 10,3551 05607 TC PRIOENT +1 # * LEAVE L ALONE
059999,000105: 10,3552 77467 -2SEC DEC -200 B-14 # *** DONT MOVE
060000,000106: 10,3553 35006 CAF V05N09
060001,000107: 10,3554 12505 TCF PRIODSPR
060002,000108:
060003,000109: 5635 BLOCK 02
060004,000110: 4000 SETLOC FFTAG7
060005,000111: 4000 BANK
060006,000112:
060007,000113: 5635 COUNT* $$/ALARM
060008,000114: 5635 00004 BAILOUT INHINT
060009,000115: 5636 30002 CA Q
060010,000116: 5637 55363 TS ALMCADR
060011,000117:
060012,000118: 5640 50002 INDEX Q
060013,000119: 5641 30000 CAF 0
060014,000120: 5642 05605 TC BORTENT
060015,000121: 5643 40400 OCT40400 OCT 40400
060016,000122:
060017,000123: 5644 00004 INHINT
060018,000124: 5645 34752 WHIMPER CA TWO
060019,000125: 5646 60005 AD Z
Page 1371 |
060021,000127: 5647 54017 TS BRUPT
060022,000128: 5650 50017 RESUME
060023,000129: 5651 04635 TC POSTJUMP # RESUME SENDS CONTROL HERE
060024,000130: 5652 13001 CADR ENEMA
060025,000131: 5653 00004 POODOO INHINT
060026,000132: 5654 30002 CA Q
060027,000133: 5655 55363 ABORT2 TS ALMCADR
060028,000134: 5656 50002 INDEX Q
060029,000135: 5657 30000 CAF 0
060030,000136: 5660 05605 TC BORTENT
060031,000137: 5661 77770 OCT77770 OCT 77770 # DON'T MOVE
060032,000138:
060033,000139: 5662 34765 CAF OCT35 # 4.35SPOT FOR GOPOODOO
060034,000140: 5663 54001 TS L
060035,000141: 5664 40000 COM
060036,000142: 5665 52760 DXCH -PHASE4
060037,000143: 5666 00004 GOPOODOO INHINT
060038,000144: 5667 04616 TC BANKCALL # RESET STATEFLG, REINTFLG, AND NODOFLAG.
060039,000145: 5670 27746 CADR FLAGS
060040,000146: 5671 30103 CA FLAGWRD7 # IS SERVICER CURRENTLY IN OPERATION?
060041,000147: 5672 74746 MASK V37FLBIT
060042,000148: 5673 10000 CCS A
060043,000149: 5674 15702 TCF STRTIDLE
060044,000150: 5675 04616 TC BANKCALL # TERMINATE GRPS 1, 3, 5, AND 6
060045,000151: 5676 12666 CADR V37KLEAN
060046,000152: 5677 04616 TC BANKCALL # TERMINATE GRPS 2, 4, 1, 3, 5, AND 6
060047,000153: 5700 12657 CADR MR.KLEAN # (I.E., GRP 4 LAST)
060048,000154: 5701 15645 TCF WHIMPER
060049,000155: 5702 35744 STRTIDLE CAF BBSERVDL
060050,000156: 5703 04727 TC SUPERSW
060051,000157: 5704 04616 TC BANKCALL # PUT SERVICER INTO ITS "GROUND" STATE
060052,000158: 5705 67546 CADR SERVIDLE # AND PROCEED TO GOTOPOOH.
060053,000159: 5706 00004 CCSHOLE INHINT
060054,000160: 5707 30002 CA Q
060055,000161: 5710 05655 TC ABORT2
060056,000162: 5711 21103 OCT21103 OCT 21103
060057,000163: 5712 00004 CURTAINS INHINT
060058,000164: 5713 30002 CA Q
060059,000165: 5714 05602 TC ALARM2
060060,000166: 5715 00217 OCT217 OCT 00217
060061,000167: 5716 01363 TC ALMCADR # RETURN TO USER
060062,000168:
060063,000169: 5717 00004 BAILOUT1 INHINT
060064,000170: 5720 53364 DXCH ALMCADR
060065,000171: 5721 35743 CAF ADR40400
060066,000172: 5722 54061 BOTHABRT TS ITEMP1
060067,000173: 5723 50002 INDEX Q
060068,000174: 5724 30000 CAF 0
060069,000175: 5725 54001 TS L
060070,000176: 5726 15614 TCF CHKFAIL1
060071,000177:
Page 1372 |
060073,000179: 5727 00004 POODOO1 INHINT
060074,000180: 5730 53364 DXCH ALMCADR
060075,000181: 5731 35742 CAF ADR77770
060076,000182: 5732 15722 TCF BOTHABRT
060077,000183:
060078,000184: 5733 00004 ALARM1 INHINT
060079,000185: 5734 53364 DXCH ALMCADR
060080,000186: 5735 00004 ALMNCADR INHINT
060081,000187: 5736 50002 INDEX Q
060082,000188: 5737 30000 CA 0
060083,000189: 5740 54001 TS L
060084,000190: 5741 15612 TCF LARMENT
060085,000191:
060086,000192: 5742 15661 ADR77770 TCF OCT77770
060087,000193: 5743 15643 ADR40400 TCF OCT40400
060088,000194: 5744 5155 DOALARM EQUALS ENDOFJOB
060089,000195: 5744 E7,1513 EBANK= DVCNTR
060090,000196: 5744 66067 BBSERVDL BBCON SERVIDLE
060091,000197: # CALLING SEQUENCE FOR VARALARM
060092,000198:
060093,000199: # CAF (ALARM)
060094,000200: # TC VARALARM
060095,000201:
060096,000202: # VARALARM TURNS ON PROGRAM ALARM LIGHT BUT DOES NOT DISPLAY
060097,000203: 5745 00004 VARALARM INHINT
060098,000204:
060099,000205: 5746 54001 TS L # SAVE USERS ALARM CODE
060100,000206:
060101,000207: 5747 30002 CA Q # SAVE USERS Q
060102,000208: 5750 55363 TS ALMCADR
060103,000209:
060104,000210: 5751 05606 TC PRIOENT
060105,000211: 5752 00014 OCT14 OCT 14 # DONT MOVE
060106,000212:
060107,000213: 5753 01363 TC ALMCADR # RETURN TO USER
060108,000214:
060109,000215: 5754 5645 ABORT EQUALS WHIMPER
060110,000216: 13,3746 BANK 13
060111,000217: 13,2000 SETLOC ABTFLGS
060112,000218: 13,2000 BANK
060113,000219: 13,3746 COUNT* $$/ALARM
060114,000220:
060115,000221: 13,3746 44747 FLAGS CS STATEBIT
060116,000222: 13,3747 70077 MASK FLAGWRD3
060117,000223: 13,3750 54077 TS FLAGWRD3
060118,000224: 13,3751 44745 CS REINTBIT
060119,000225: 13,3752 70106 MASK FLGWRD10
060120,000226: 13,3753 54106 TS FLGWRD10
060121,000227: 13,3754 44753 CS NODOBIT
060122,000228: 13,3755 70076 MASK FLAGWRD2
Page 1373 |
060124,000230: 13,3756 54076 TS FLAGWRD2
060125,000231: 13,3757 00002 TC Q
End of include-file ALARM_AND_ABORT.agc. Parent file is MAIN.agc