Source Code
These source-code files are part of a reconstructed copy of Aurora 88, the
final release of the Lunar Module (LM) Apollo Guidance Computer (AGC) system
test software.
They have been created via disassembly of binary dumps of original core rope memory modules, part numbers 2003972-011, 2003972-091, and 2003972-111, belonging to Steve Jurvetson. Since only binary dumps (rather than listings) of Aurora 88 are available as source material, all comments and labels are approximate. They have been taken from other AGC programs where possible, or, in some places, written from scratch to match what we believe would have been in the original listing. |
013383,000002: ## Copyright: Public domain.
013384,000003: ## Filename: ALARM_AND_ABORT.agc
013385,000004: ## Purpose: A section of Aurora 88.
013386,000005: ## It is part of the reconstructed source code for the final
013387,000006: ## release of the Lunar Module system test software. No original
013388,000007: ## listings of this program are available; instead, this file
013389,000008: ## was created via disassembly of dumps of Aurora 88 core rope
013390,000009: ## modules and comparison with other AGC programs.
013391,000010: ## Assembler: yaYUL
013392,000011: ## Contact: Ron Burkey <info@sandroid.org>.
013393,000012: ## Website: www.ibiblio.org/apollo/index.html
013394,000013: ## Mod history: 2023-06-30 MAS Created from Aurora 12.
013395,000014:
013396,000015: # THE FOLLOWING SUBROUTINE MAY BE CALLED TO DISPLAY A NON-ABORTIVE ALARM CONDITION. IT MAY BE CALLED
013397,000016: # EITHER IN INTERRUPT OR UNDER EXECUTIVE CONTROL.
013398,000017:
013399,000018: # CALLING SEQUENCE IS AS FOLLOWS:
013400,000019:
013401,000020: # TC ALARM
013402,000021: # OCT AAANN ALARM NO. NN IN GENERAL AREA AAA.
013403,000022: # (RETURNS HERE)
013404,000023:
013405,000024: 5315 SETLOC ENDPINBF
013406,000025: 5315 1363 EBANK= FAILREG
013407,000026:
013408,000027: 5315 00004 ALARM INHINT
013409,000028: 5316 56002 XCH Q
013410,000029: 5317 54077 TS RUPTREG4
013411,000030:
013412,000031: 5320 11363 CCS FAILREG # SEE IF ONE FAILURE HAS OCCURRED SINCE
013413,000032: # THE LAST ERROR RESET.
013414,000033: 5321 05327 TC MULTFAIL # YES - INDICATE MULTIPLE FAILURES.
013415,000034: 5322 05332 TC NEWALARM # FIRST SINCE RESET.
013416,000035:
013417,000036: 5323 30077 MULTEXIT CA RUPTREG4 # FREE RUPTREG4 BEFORE RELINT.
013418,000037: 5324 00003 RELINT
013419,000038: 5325 50000 INDEX A
013420,000039: 5326 00001 TC 1 # RETURN TO CALLER.
013421,000040:
013422,000041: 5327 66042 MULTFAIL AD OCT40001 # BIT 15 = 1 INDICATES MULTIPLE FAILURES.
013423,000042: 5330 55363 TS FAILREG
013424,000043: 5331 05323 TC MULTEXIT
013425,000044:
013426,000045: 5332 05342 NEWALARM TC PROGLARM # TURN ON THE PROGRAM ALARM LIGHT.
013427,000046:
013428,000047: 5333 34450 CAF PRIO37
013429,000048: 5334 04276 TC NOVAC
013430,000049: 5335 02773 02002 2CADR DOALARM # CALL (SEPARATE) JOB FOR DISPLAY.
013431,000050:
013432,000051: 5337 50077 INDEX RUPTREG4
013433,000052: 5340 30000 CAF 0
013434,000053: 5341 05330 TC MULTFAIL +1
013435,000054:
013436,000055: 5342 45347 PROGLARM CS OCT40400 # TURN ON PROGRAM ALARM LIGHT VIA OUT0.
013437,000056: 5343 70322 MASK DSPTAB +11D
013438,000057: 5344 65347 AD OCT40400
013439,000058: 5345 54322 TS DSPTAB +11D
013440,000059: 5346 00002 TC Q
013441,000060:
013442,000061: 5347 40400 OCT40400 OCT 40400
013443,000062:
013444,000063: # THE FOLLOWING ROUTINE IS CALLED TO INITIATE AN ABORT. FAILREG IS SET (ACCORDING TO THE MULTIPLE
013445,000064: # FAILURES CONVENTION) AND A RE-START IS INITIATED BY TC-SELF. THIS IS CALLED ONLY UNDER RARE CIRCUMSTANCES.
013446,000065:
013447,000066: 5350 00004 ABORT INHINT # MAY BE CALLED IN INTERRUPT OR UNDER EXEC
013448,000067: 5351 50002 INDEX Q # PICK UP FAILURE CODE.
013449,000068: 5352 30000 CAF 0
013450,000069: 5353 54065 TS ITEMP1
013451,000070:
013452,000071: 5354 11363 CCS FAILREG # SEE IF THIS IS A MULTIPLE FAILURE.
013453,000072: 5355 05360 TC SETMULTF # SET BIT 15 TO INDICATE YES.
013454,000073: 5356 05362 TC NEWABORT # FIRST FAILURE.
013455,000074:
013456,000075: 5357 05357 WHIMPER TC WHIMPER # NOT WITH A BANG...
013457,000076:
013458,000077: 5360 66042 SETMULTF AD OCT40001 # RESTORE AND SET BIT 15.
013459,000078: 5361 05364 TC +3
013460,000079:
013461,000080: 5362 05342 NEWABORT TC PROGLARM # FIRST FAILURE - TURN ON ALARM LIGHT.
013462,000081: 5363 56065 XCH ITEMP1
013463,000082: 5364 55363 +3 TS FAILREG
013464,000083: 5365 05357 TC WHIMPER # UNIVERSAL ABORT LOCATION.
013465,000084:
013466,000085: 5366 56002 CCSHOLE XCH Q
013467,000086: 5367 55364 TS SFAIL
013468,000087:
013469,000088: 5370 05350 TC ABORT
013470,000089: 5371 01103 OCT 1103
013471,000090:
013472,000091: 5372 ENDFAILF EQUALS
013473,000092:
013474,000093: # JOB WHICH CALLS NVSUB FOR ALARM DISPLAY.
013475,000094:
013476,000095: 01,2773 SETLOC ENDWAITS
013477,000096:
013478,000097: 01,2773 05221 DOALARM TC GRABWAIT # DISPLAY FAILREG.
013479,000098: 01,2774 32777 CAF FAILDISP
013480,000099: 01,2775 05234 TC NVSBWAIT
013481,000100:
013482,000101: 01,2776 04352 TC EJFREE # FREE DISPLAY AND END JOB.
013483,000102:
013484,000103: 01,2777 00531 FAILDISP OCT 00531
013485,000104:
013486,000105: 01,3000 ENDFAILS EQUALS
End of include-file ALARM_AND_ABORT.agc. Parent file is MAIN.agc