Source Code
These source-code files were obtained by digitally photographing
a Solarium 55 (Apollo 6) program listing from the American Computer Museum in
Bozeman, Montana. Photography was by Ron Burkey, with assistance from
museum curator George Keremedjiev and Montana
State University curator Kim Scott. The listing originally belonged to Eldon C. Hall,
who donated it to the museum. Volunteers then manually typed in the
source code or else modified similar pre-existing Colossus 249
(Apollo 9) source files to incorporate changes, although this transcription was
principally done by Jim Lawton and corrected by Ron Burkey.
Notations on the program listing read, in part:YUL SYSTEM FOR AGC4: REVISION 0 OF PROGRAM SOLRUM55 BY NASA 1021108-021 DEC. 4, 1966Note that the date is the date of the printout, not the date of the program revision. Due to statements by Jay Sampson, the original contractor from AC Electronics who created Solarium 54 (Apollo 4) from the earlier Corona (AS-202 mission) program, it is believed that Solarium 54 and Solarium 55 (Apollo 6) are actually identical programs. The change in numbering, from 54 to 55, is believed to be for some administrative purpose. Thus, it is believed that the source-code represented here is equally appropriate for both Apollo 4 and Apollo 6 missions. |
011475,000002: ## Copyright: Public domain.
011476,000003: ## Filename: ALARM_AND_DISPLAY_PROCEDURES.agc
011477,000004: ## Purpose: Part of the source code for Solarium build 55. This
011478,000005: ## is for the Command Module's (CM) Apollo Guidance
011479,000006: ## Computer (AGC), for Apollo 6.
011480,000007: ## Assembler: yaYUL --block1
011481,000008: ## Contact: Jim Lawton <jim DOT lawton AT gmail DOT com>
011482,000009: ## Website: www.ibiblio.org/apollo/index.html
011483,000010: ## Page Scans: www.ibiblio.org/apollo/ScansForConversion/Solarium055/
011484,000011: ## Mod history: 2009-09-15 JL Created.
011485,000012: ## 2016-12-28 RSB Proofed comment text using octopus/ProoferComments,
011486,000013: ## and fixed errors found.
011487,000014:
Page 293 |
011489,000016:
011490,000017: # THE FOLLOWING SUBROUTINE MAY BE CALLED TO DISPLAY A NON-ABORTIVE ALARM CONDITION. IT MAY BE CALLED
011491,000018: # EITHER IN INTERRUPT OR UNDER EXECUTIVE CONTROL.
011492,000019:
011493,000020: # CALLING SEQUENCE IS AS FOLLOWS:
011494,000021:
011495,000022: # TC ALARM
011496,000023: # OCT AAANN ALARM NO. NN IN GENERAL AREA AAA.
011497,000024: # (RETURNS HERE)
011498,000025:
011499,000026: 3007 BANK 1
011500,000027: 3007 20017 ALARM INHINT
011501,000028: 3010 30001 XCH Q
011502,000029: 3011 50577 TS ITEMP1
011503,000030:
011504,000031: 3012 11763 CCS FAILREG # SEE IF ONE FAILURE HAS OCCURRED SINCE
011505,000032: # THE LAST ERROR RESET.
011506,000033: 3013 03021 TC MULTFAIL # YES - INDICATE MULTIPLE FAILURES.
011507,000034: 3014 03024 TC NEWALARM # FIRST SINCE RESET.
011508,000035: 3015 30577 MULTEXIT XCH ITEMP1 # FREE ITEMP1 BEFORE RELINT.
011509,000036:
011510,000037: 3016 20016 ENDALARM RELINT
011511,000038: 3017 20000 INDEX A
011512,000039: 3020 00001 TC 1 # RETURN TO CALLER.
011513,000040:
011514,000041: 3021 64664 MULTFAIL AD CSQ # BIT 15 = 1 INDICATES MULTIPLE FAILURES.
011515,000042: 3022 51763 TS FAILREG # CSQ = BIT15 + BIT1.
011516,000043: 3023 03015 TC MULTEXIT
011517,000044:
011518,000045: 3024 30577 NEWALARM XCH ITEMP1 # SAVE RETURN ADDRESS FOR CALL TO NOVAC.
011519,000046: 3025 51763 TS FAILREG
011520,000047:
011521,000048: 3026 03036 TC PROGLARM # TURN ON THE PROGRAM ALARM LIGHT.
011522,000049:
011523,000050: 3027 32172 CAF PRIO37
011524,000051: 3030 02052 TC NOVAC
011525,000052: 3031 23725 CADR DOALARM # CALL (SEPARATE) JOB FOR DISPLAY.
011526,000053:
011527,000054: 3032 21763 INDEX FAILREG # (RETURN ADDRESS AT THIS POINT).
011528,000055: 3033 30000 CAF 0
011529,000056: 3034 31763 XCH FAILREG # SET FAILREG AND GET BACK RETURN ADDRESS.
011530,000057: 3035 03016 NEWALM2 TC ENDALARM
011531,000058:
Page 294 |
011533,000060:
011534,000061: # JOB WHICH CALLS NVSUB FOR ALARM DISPLAY.
011535,000062:
011536,000063: 11,7725 BANK 11
011537,000064: 11,7725 03302 DOALARM TC GRABDSP # DISPLAY FAILREG.
011538,000065: 11,7726 03310 TC PREGBSY
011539,000066: 11,7727 33043 CAF FAILDISP
011540,000067: 11,7730 03100 TC NVSUB
011541,000068: 11,7731 03315 TC PRENVBSY
011542,000069: 11,7732 03362 TC FREEDSP
011543,000070: 11,7733 02124 TC ENDOFJOB
011544,000071:
011545,000072:
011546,000073:
011547,000074: 3036 SETLOC NEWALM2 +1
011548,000075:
011549,000076: 3036 44516 PROGLARM CS ONE # TURNS ON PROGRAM FAIL LIGHT ON THE
011550,000077: 3037 70011 MASK OUT1 # PANEL. CALLED ONLY BY ALARM AND ABORT.
011551,000078: 3040 64516 AD ONE
011552,000079: 3041 50011 TS OUT1
011553,000080: 3042 00001 TC Q
011554,000081:
011555,000082: 3043 00531 FAILDISP OCT 00531
011556,000083:
Page 295 |
011558,000085:
011559,000086: # THE FOLLOWING ROUTINE IS CALLED TO INITIATE AN ABORT. FAILREG IS SET (ACCORDING TO THE MULTIPLE
011560,000087: # FAILURES CONVENTION) AND A RE-START IS INITIATED BY TC-SELF. THIS IS CALLED ONLY UNDER RARE CIRCUMSTANCES.
011561,000088:
011562,000089: 3044 20017 ABORT INHINT # MAY BE CALLED IN INTERRUPT OR UNDER EXEC
011563,000090: 3045 20001 INDEX Q # PICK UP FAILURE CODE.
011564,000091: 3046 30000 CAF 0
011565,000092: 3047 50577 TS ITEMP1
011566,000093:
011567,000094: 3050 11763 CCS FAILREG # SEE IF THIS IS A MULTIPLE FAILURE.
011568,000095: 3051 03054 TC SETMULTF # SET BIT 15 TO INDICATE YES.
011569,000096: 3052 03056 TC NEWABORT # FIRST FAILURE.
011570,000097:
011571,000098: 3053 03053 WHIMPER TC WHIMPER # NOT WITH A BANG...
011572,000099:
011573,000100: 3054 64664 SETMULTF AD CSQ # RESTORE AND SET BIT15
011574,000101: 3055 03060 TC +3
011575,000102:
011576,000103: 3056 03036 NEWABORT TC PROGLARM # FIRST FAILURE - TURN ON ALARM LIGHT.
011577,000104: 3057 30577 XCH ITEMP1
011578,000105: 3060 51763 +3 TS FAILREG
011579,000106: 3061 03053 TC WHIMPER # UNIVERSAL ABORT LOCATION.
011580,000107:
011581,000108: 3062 30001 CCSHOLE XCH Q
011582,000109: 3063 51764 TS SFAIL
011583,000110: 3064 03044 TC ABORT
011584,000111: 3065 01103 OCT 1103
011585,000112:
011586,000113: # MISSION PROGRAM DETECTED FAILURES (ERROR RETURNS TO IMUSTALL, ETC.)
011587,000114:
011588,000115: 3066 30001 CURTAINS XCH Q # PROGRAM DETECTED FLUSH.
011589,000116: 3067 05720 TC POSTJUMP
011590,000117: 3070 10777 CADR THATSALL # FRESH START AND PROGRAM ALARM.
011591,000118:
011592,000119: 3071 ENDFAILF EQUALS
End of include-file ALARM_AND_DISPLAY_PROCEDURES.agc. Parent file is MAIN.agc