Source Code

These source-code files were obtained by digitally photographing an Artemis 72 (Apollo 15-17 Command Module) program listing from a private collection and then modifying pre-existing Comanche 55 (Apollo 11) source files to incorporate changes. Photography was by Ron Burkey, and transcription was performed by a team of volunteers. Note that the page images presented online are of reduced quality, and that additional images may be available. Report any conversion errors or legibility problems in page images to info@sandroid.org. Notations on the program listing read, in part:

	GAP: ASSEMBLE REVISION 072 OF AGC PROGRAM ARTEMIS 
	BY NASA 2021114-011 11:40 FEB. 26, 1971
Note that the date is the date of the printout, not the date of the program revision.

063780,000002:                                                                                                  ## Copyright:   Public domain.
063781,000003:                                                                                                  ## Filename:    ALARM_AND_ABORT.agc
063782,000004:                                                                                                  ## Purpose:     Part of the source code for Artemis (i.e., Colossus 3),
063783,000005:                                                                                                  ##              build 072.  This is for the Command Module's (CM) 
063784,000006:                                                                                                  ##              Apollo Guidance Computer (AGC), for 
063785,000007:                                                                                                  ##              Apollo 15-17.
063786,000008:                                                                                                  ## Assembler:   yaYUL
063787,000009:                                                                                                  ## Contact:     Jim Lawton <jim DOT lawton AT gmail DOT com>
063788,000010:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
063789,000011:                                                                                                  ## Page Scans:  www.ibiblio.org/apollo/ScansForConversion/Artemis072/
063790,000012:                                                                                                  ## Mod history: 2009-08-18 JL   Adapted from corresponding Comanche 055 file.
063791,000013:                                                                                                  ##              2010-02-10 JL   Fixed error on p1488.
063792,000014:                                                                                                  ##              2010-02-20 RSB  Un-##'d this header.
063793,000015:                                                                                                  ##              2017-01-21 RSB  Proofed comment text by diff'ing vs Comanche 55
063794,000016:                                                                                                  ##                              and corrected errors found.
063795,000017: 

Page 1486

063797,000019: 
063798,000020:                                                                                                  #  THE FOLLOWING SUBROUTINE MAY BE CALLED TO DISPLAY A NON-ABORTIVE ALARM CONDITION. IT MAY BE CALLED
063799,000021:                                                                                                  #  EITHER IN INTERRUPT OR UNDER EXECUTIVE CONTROL.
063800,000022: 
063801,000023:                                                                                                  #        CALLING SEQUENCE IS AS FOLLOWS:
063802,000024: 
063803,000025:                                                                                                  #        TC      ALARM
063804,000026:                                                                                                  #        OCT     NNNNN
063805,000027:                                                                                                  #                                (RETURNS HERE)
063806,000028: 
063807,000029:    4000                                           SETLOC   FFTAG7                                
063808,000030:    4000                                           BANK                                           
063809,000031: 
063810,000032:    5671     0375                                  EBANK=   FAILREG                               
063811,000033: 
063812,000034:    5671                                           COUNT*   $$/ALARM                              
063813,000035: 
063814,000036:                                                                                                  #  ALARM TURNS ON THE PROGRAM ALARM LIGHT, BUT DOES NOT DISPLAY.
063815,000037: 
063816,000038:    5671           00004        ALARM              INHINT                                         
063817,000039: 
063818,000040:    5672           30002                           CA       Q                                     
063819,000041:    5673           55363        ALARM2             TS       ALMCADR                               
063820,000042:    5674           50002                           INDEX    Q                                     
063821,000043:    5675           30000                           CA       0                                     
063822,000044:    5676           54001        BORTENT            TS       L                                     
063823,000045: 
063824,000046:    5677           30006        PRIOENT            CA       BBANK                                 
063825,000047:    5700           00006                 +1        EXTEND                                         
063826,000048:    5701           04007                           ROR      SUPERBNK                              #  ADD SUPER BITS.
063827,000049:    5702           55364                           TS       ALMCADR    +1                         
063828,000050: 
063829,000051:    5703           30002        LARMENT            CA       Q                                     #  STORE RETURN FOR ALARM
063830,000052:    5704           54061                           TS       ITEMP1                                
063831,000053: 
063832,000054:    5705           10375        CHKFAIL1           CCS      FAILREG                               #  IS ANYTHING IN FAILREG
063833,000055:    5706           15712                           TCF      CHKFAIL2                              #  YES TRY NEXT REG
063834,000056:    5707           30001                           CA       L                                     
063835,000057:    5710           54375                           TS       FAILREG                               
063836,000058:    5711           15716                           TCF      PROGLARM                              #  TURN ALARM LIGHT ON FOR FIRST ALARM
063837,000059: 
063838,000060:    5712           10376        CHKFAIL2           CCS      FAILREG    +1                         
063839,000061:    5713           15716                           TCF      PROGLARM                              
063840,000062:    5714           30001                           CA       L                                     
063841,000063:    5715           54376                           TS       FAILREG    +1                         
063842,000064: 
063843,000065:    5716           22377        PROGLARM           LXCH     FAILREG    +2                         #  STORE AS "MOST RECENT" ALARM CODE
063844,000066: 
063845,000067:    5717           41241                           CS       DSPTAB     +11D                       #  TURN ON PROGRAM ALARM IF OFF
063846,000068:    5720           77716                           MASK     BIT15+9                               
063847,000069:    5721           27241                           ADS      DSPTAB     +11D                       
063848,000070: 
063849,000071:    5722           56061        MULTEXIT           XCH      ITEMP1                                #  OBTAIN RETURN ADDRESS IN A

Page 1487

063851,000073:    5723           00003                           RELINT                                         
063852,000074:    5724           50000                           INDEX    A                                     
063853,000075:    5725           00001                           TC       1                                     
063854,000076: 
063855,000077:                                                                                                  #  PRIOLARM DISPLAYS V05N09 VIA PRIODSPR WITH 3 RETURNS TO THE USER FROM THE ASTRONAUT AT CALL LOC +1,+2,+3 AND
063856,000078:                                                                                                  #  AN IMMEDIATE RETURN TO THE USER AT CALL LOC +4. EXAMPLE FOLLOWS,
063857,000079:                                                                                                  #                CAF     OCTXX           ALARM CODE
063858,000080:                                                                                                  #                TC      BANKCALL
063859,000081:                                                                                                  #                CADR    PRIOLARM
063860,000082: 
063861,000083:                                                                                                  #                ...     ...
063862,000084:                                                                                                  #                ...     ...
063863,000085:                                                                                                  #                ...     ...             ASTRONAUT RETURN
063864,000086:                                                                                                  #                TC      PHASCHNG        IMMEDIATE RETURN TO USER. RESTART
063865,000087:                                                                                                  #                OCT     X.1             PHASE CHANGE FOR PRIO DISPLAY
063866,000088: 
063867,000089: 10,2000                                           SETLOC   DISPLAYS                              
063868,000090: 10,2000                                           BANK                                           
063869,000091: 
063870,000092: 10,3766                                           COUNT*   $$/DSPLA                              
063871,000093: 10,3766           00004        PRIOLARM           INHINT                                         #  * * * KEEP IN DISPLAY ROUTINES BANK
063872,000094: 10,3767           54001                           TS       L                                     #  SAVE ALARM CODE
063873,000095: 
063874,000096: 10,3770           30133                           CA       BUF2                                  #  2 CADR OF PRIOLARM USER
063875,000097: 10,3771           55363                           TS       ALMCADR                               
063876,000098: 10,3772           30134                           CA       BUF2       +1                         
063877,000099: 10,3773           05700                           TC       PRIOENT    +1                         #  * LEAVE L ALONE
063878,000100: 10,3774           77467        -2SEC              DEC      -200       B-14                       #  *** DONT MOVE
063879,000101: 10,3775           35023                           CAF      V05N09                                
063880,000102: 10,3776           12750                           TCF      PRIODSPR                              
063881,000103: 
063882,000104:    6000                                           SETLOC   FFTAG13                               
063883,000105:    6000                                           BANK                                           
063884,000106: 
063885,000107:    7706                                           COUNT*   $$/ALARM                              
063886,000108:    7706           00004        BAILOUT            INHINT                                         
063887,000109:    7707           30002                           CA       Q                                     
063888,000110:    7710           55363                           TS       ALMCADR                               
063889,000111: 
063890,000112:    7711           04636                           TC       BANKCALL                              
063891,000113:    7712           40000                           CADR     VAC5STOR                              
063892,000114: 
063893,000115:    7713           51363                           INDEX    ALMCADR                               
063894,000116:    7714           30000                           CAF      0                                     
063895,000117:    7715           05676                           TC       BORTENT                               
063896,000118:    7716           40400        BIT15+9            OCT      40400                                 
063897,000119: 
063898,000120:    7717           00004                 -1        INHINT                                         
063899,000121:    7720           34767        WHIMPER            CA       TWO                                   
063900,000122:    7721           60005                           AD       Z                                     

Page 1488

063902,000124:    7722           54017                           TS       BRUPT                                 
063903,000125:    7723           50017                           RESUME                                         
063904,000126:    7724           04655                           TC       POSTJUMP                              #  RESUME SENDS CONTROL HERE
063905,000127:    7725           12712                           CADR     ENEMA                                 
063906,000128: 
063907,000129:    4000                                           SETLOC   FFTAG7                                
063908,000130:    4000                                           COUNT*   $$/ALARM                              
063909,000131:    4000                                           BANK                                           
063910,000132: 
063911,000133:    5726           00004        POODOO             INHINT                                         
063912,000134:    5727           30002                           CA       Q                                     
063913,000135:    5730           55363                           TS       ALMCADR                               
063914,000136: 
063915,000137:    5731           04636                           TC       BANKCALL                              
063916,000138:    5732           40000                           CADR     VAC5STOR                              #  STORE ERASABLES FOR DEBUGGING PURPOSES.
063917,000139: 
063918,000140:    5733           51363                           INDEX    ALMCADR                               
063919,000141:    5734           30000                           CAF      0                                     
063920,000142:    5735           05676        ABORT2             TC       BORTENT                               
063921,000143: 
063922,000144:    5736           77770        OCT77770           OCT      77770                                 #  DONT MOVE
063923,000145:    5737           34763                           CA       V37FLBIT                              #  IS AVERAGE G ON
063924,000146:    5740           70103                           MASK     FLAGWRD7                              
063925,000147:    5741           10000                           CCS      A                                     
063926,000148:    5742           07717                           TC       WHIMPER    -1                         #  YES.  DONT DO POODOO.  DO BAILOUT.
063927,000149: 
063928,000150:    5743           44753                           CS       BIT14                                 #  DISREGARD ENTRY SETTING
063929,000151:    5744           71247                           MASK     EXTVBACT                              #  EXTENDED VBS ACTIVE?
063930,000152:    5745           10000                           CCS      A                                     
063931,000153:    5746           17717                           TCF      WHIMPER    -1                         #  YES  DONT DO POODOO  DO BAILOUT
063932,000154: 
063933,000155:    5747           05561                           TC       DOWNFLAG                              
063934,000156:    5750           00067                           ADRES    STATEFLG                              
063935,000157: 
063936,000158:    5751           05561                           TC       DOWNFLAG                              
063937,000159:    5752           00236                           ADRES    AUTOSEQ                               
063938,000160: 
063939,000161:    5753           05561                           TC       DOWNFLAG                              
063940,000162:    5754           00230                           ADRES    REINTFLG                              
063941,000163: 
063942,000164:    5755           05561                           TC       DOWNFLAG                              
063943,000165:    5756           00176                           ADRES    UTFLAG                                
063944,000166:    5757           05561                           TC       DOWNFLAG                              
063945,000167:    5760           00010                           ADRES    RNDVZFLG                              
063946,000168:    5761           05561                           TC       DOWNFLAG                              
063947,000169:    5762           00031                           ADRES    TRACKFLG                              #  FORCE STOPRATE
063948,000170:    5763           05561                           TC       DOWNFLAG                              
063949,000171:    5764           00054                           ADRES    NODOFLAG                              
063950,000172: 
063951,000173:    5765           04636                           TC       BANKCALL                              

Page 1489

063953,000175:    5766           12536                           CADR     MR.KLEAN                              
063954,000176:    5767           07720                           TC       WHIMPER                               
063955,000177: 
063956,000178:    5770     5205               DOALARM            EQUALS   ENDOFJOB                              
063957,000179: 
063958,000180:                                                                                                  #  CALLING SEQUENCE FOR VARALARM
063959,000181:                                                                                                  #                CAF     (ALARM)
063960,000182:                                                                                                  #                TC      VARALARM
063961,000183: 
063962,000184:                                                                                                  #  VARALARM TURNS ON PROGRAM ALARM LIGHT BUT DOES NOT DISPLAY
063963,000185: 
063964,000186:    5770           00004        VARALARM           INHINT                                         
063965,000187: 
063966,000188:    5771           54001                           TS       L                                     #  SAVE USERS ALARM CODE
063967,000189: 
063968,000190:    5772           30002                           CA       Q                                     #  SAVE USERS Q
063969,000191:    5773           55363                           TS       ALMCADR                               
063970,000192: 
063971,000193:    5774           05677                           TC       PRIOENT                               
063972,000194:    5775           00014        OCT14              OCT      14                                    #  DONT MOVE
063973,000195: 
063974,000196:    5776           01363                           TC       ALMCADR                               #  RETURN TO USER
063975,000197: 
063976,000198:    5777     7706               ABORT              EQUALS   BAILOUT                               #  *** TEMPORARY UNTIL ABORT CALLS OUT

End of include-file ALARM_AND_ABORT.agc.  Parent file is MAIN.agc