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