Source Code
|
These source-code files are part of a reconstructed copy of LUM69 Revision 2, the
flown Apollo 10 Lunar Module (LM) Apollo Guidance Computer (AGC) software.
The reconstruction began with source code of Luminary 69 revision 0 previously transcribed from a digitized copy of that program. The code was then updated by back-porting the R-2 lunar potential model from previously-transcribed source code of Luminary 99. These required changes were described in the original Luminary memos 75 and 78. The reconstructed code was verified by matching memory-bank checksums to those listed in drawing 2021152G. Note that page numbers in the reconstructed code match those on the Luminary 069 printout, although the added code would likely have changed page numbers for a real LUM69 Revision 2 listing. Comments from the original source code are prefixed with a single '#' symbol, whereas comments added later are prefixed by "##" or "###". Report any errors noted by creating an issue report at the Virtual AGC project's GitHub repository. |
059100,000002: ## Copyright: Public domain.
059101,000003: ## Filename: ALARM_AND_ABORT.agc
059102,000004: ## Purpose: A section of LUM69 revision 2.
059103,000005: ## It is part of the reconstructed source code for the flown
059104,000006: ## version of the flight software for the Lunar Module's (LM)
059105,000007: ## Apollo Guidance Computer (AGC) for Apollo 10. The code has
059106,000008: ## been recreated from a copy of Luminary revsion 069, using
059107,000009: ## changes present in Luminary 099 which were described in
059108,000010: ## Luminary memos 75 and 78. The code has been adapted such
059109,000011: ## that the resulting bugger words exactly match those specified
059110,000012: ## for LUM69 revision 2 in NASA drawing 2021152B, which gives
059111,000013: ## relatively high confidence that the reconstruction is correct.
059112,000014: ## Reference: pp. 1375-1378
059113,000015: ## Assembler: yaYUL
059114,000016: ## Contact: Ron Burkey <info@sandroid.org>.
059115,000017: ## Website: www.ibiblio.org/apollo/index.html
059116,000018: ## Mod history: 2019-07-27 MAS Created from Luminary 69.
059117,000019:
|
Page 1375 |
059119,000021: # THE FOLLOWING SUBROUTINE MAY BE CALLED TO DISPLAY A NON-ABORTIVE ALARM CONDITION. IT MAY BE CALLED
059120,000022: # EITHER IN INTERRUPT OR UNDER EXECUTIVE CONTROL.
059121,000023:
059122,000024: # CALLING SEQUENCE IS AS FOLLOWS:
059123,000025: # TC ALARM
059124,000026: # OCT AAANN ALARM NO. NN IN GENERAL AREA AAA.
059125,000027: # (RETURNS HERE)
059126,000028:
059127,000029: 5567 BLOCK 02
059128,000030: 4000 SETLOC FFTAG7
059129,000031: 4000 BANK
059130,000032:
059131,000033: 5567 0375 EBANK= FAILREG
059132,000034:
059133,000035: 5567 COUNT* $$/ALARM
059134,000036: # ALARM TURNS ON THE PROGRAM ALARM LIGHT, BUT DOES NOT DISPLAY.
059135,000037:
059136,000038: 5567 00004 ALARM INHINT
059137,000039:
059138,000040: 5570 30002 CA Q
059139,000041: 5571 55363 ALARM2 TS ALMCADR
059140,000042: 5572 50002 INDEX Q
059141,000043: 5573 30000 CA 0
059142,000044: 5574 54001 BORTENT TS L
059143,000045:
059144,000046: 5575 30006 PRIOENT CA BBANK
059145,000047: 5576 00006 +1 EXTEND
059146,000048: 5577 04007 ROR SUPERBNK # ADD SUPER BITS.
059147,000049: 5600 55364 TS ALMCADR +1
059148,000050:
059149,000051: 5601 30002 LARMENT CA Q # STORE RETURN FOR ALARM
059150,000052: 5602 54061 TS ITEMP1
059151,000053:
059152,000054: 5603 10375 CHKFAIL1 CCS FAILREG # IS ANYTHING IN FAILREG
059153,000055: 5604 15607 TCF CHKFAIL2 # YES TRY NEXT REG
059154,000056: 5605 22375 LXCH FAILREG
059155,000057: 5606 15621 TCF PROGLARM # TURN ALARM LIGHT ON FOR FIRST ALARM
059156,000058:
059157,000059: 5607 10376 CHKFAIL2 CCS FAILREG +1
059158,000060: 5610 15613 TCF FAIL3
059159,000061: 5611 22376 LXCH FAILREG +1
059160,000062: 5612 15624 TCF MULTEXIT
059161,000063:
059162,000064: 5613 30377 FAIL3 CA FAILREG +2
059163,000065: 5614 74733 MASK POSMAX
059164,000066: 5615 10000 CCS A
059165,000067: 5616 15630 TCF MULTFAIL
059166,000068: 5617 22377 LXCH FAILREG +2
059167,000069: 5620 15624 TCF MULTEXIT
059168,000070:
|
Page 1376 |
059170,000072:
059171,000073: 5621 41036 PROGLARM CS DSPTAB +11D
059172,000074: 5622 75642 MASK OCT40400
059173,000075: 5623 27036 ADS DSPTAB +11D
059174,000076:
059175,000077: 5624 56061 MULTEXIT XCH ITEMP1 # OBTAIN RETURN ADDRESS IN A
059176,000078: 5625 00003 RELINT
059177,000079: 5626 50000 INDEX A
059178,000080: 5627 00001 TC 1
059179,000081:
059180,000082: 5630 30001 MULTFAIL CA L
059181,000083: 5631 64735 AD BIT15
059182,000084: 5632 54377 TS FAILREG +2
059183,000085:
059184,000086: 5633 15624 TCF MULTEXIT
059185,000087:
059186,000088: # PRIOLARM DISPLAYS V05N09 VIA PRIODSPR WITH 3 RETURNS TO THE USER FROM THE ASTRONAUT AT CALL LOC +1,+2,+3 AND
059187,000089: # AN IMMEDIATE RETURN TO THE USER AT CALL LOC +4. EXAMPLE FOLLOWS,
059188,000090: # CAF OCTXX ALARM CODE
059189,000091: # TC BANKCALL
059190,000092: # CADR PRIOLARM
059191,000093:
059192,000094: # ... ...
059193,000095: # ... ...
059194,000096: # ... ... ASTRONAUT RETURN
059195,000097: # TC PHASCHNG IMMEDIATE RETURN TO USER. RESTART
059196,000098: # OCT X.1 PHASE CHANGE FOR PRIO DISPLAY
059197,000099:
059198,000100: 10,3451 BANK 10
059199,000101: 10,2000 SETLOC DISPLAYS
059200,000102: 10,2000 BANK
059201,000103:
059202,000104: 10,3451 COUNT* $$/DSPLA
059203,000105: 10,3451 00004 PRIOLARM INHINT # * * * KEEP IN DISPLAY ROUTINES BANK
059204,000106: 10,3452 54001 TS L # SAVE ALARM CODE
059205,000107:
059206,000108: 10,3453 30133 CA BUF2 # 2 CADR OF PRIOLARM USER
059207,000109: 10,3454 55363 TS ALMCADR
059208,000110: 10,3455 30134 CA BUF2 +1
059209,000111: 10,3456 05576 TC PRIOENT +1 # * LEAVE L ALONE
059210,000112: 10,3457 77467 -2SEC DEC -200 B-14 # *** DONT MOVE
059211,000113: 10,3460 35006 CAF V05N09
059212,000114: 10,3461 12357 TCF PRIODSPR
059213,000115:
059214,000116: 5634 BLOCK 02
059215,000117: 4000 SETLOC FFTAG7
059216,000118: 4000 BANK
059217,000119:
059218,000120: 5634 COUNT* $$/ALARM
059219,000121: 5634 00004 BAILOUT INHINT
059220,000122: 5635 30002 CA Q
|
Page 1377 |
059222,000124: 5636 55363 TS ALMCADR
059223,000125:
059224,000126: 5637 50002 INDEX Q
059225,000127: 5640 30000 CAF 0
059226,000128: 5641 05574 TC BORTENT
059227,000129: 5642 40400 OCT40400 OCT 40400
059228,000130:
059229,000131: 5643 00004 INHINT
059230,000132: 5644 34752 WHIMPER CA TWO
059231,000133: 5645 60005 AD Z
059232,000134: 5646 54017 TS BRUPT
059233,000135: 5647 50017 RESUME
059234,000136: 5650 04635 TC POSTJUMP # RESUME SENDS CONTROL HERE
059235,000137: 5651 12766 CADR ENEMA
059236,000138: 5652 00004 POODOO INHINT
059237,000139: 5653 30002 CA Q
059238,000140: 5654 55363 ABORT2 TS ALMCADR
059239,000141: 5655 50002 INDEX Q
059240,000142: 5656 30000 CAF 0
059241,000143: 5657 05574 TC BORTENT
059242,000144: 5660 77770 OCT77770 OCT 77770 # DON'T MOVE
059243,000145:
059244,000146: 5661 34765 CAF OCT35 # 4.35SPOT FOR GOPOODOO
059245,000147: 5662 54001 TS L
059246,000148: 5663 40000 COM
059247,000149: 5664 52761 DXCH -PHASE4
059248,000150: 5665 00004 GOPOODOO INHINT
059249,000151: 5666 30103 CA FLAGWRD7 # IS SERVICER CURRENTLY IN OPERATION?
059250,000152: 5667 74746 MASK V37FLBIT
059251,000153: 5670 10000 CCS A
059252,000154: 5671 15675 TCF STRTIDLE
059253,000155: 5672 04616 TC BANKCALL
059254,000156: 5673 12643 CADR MR.KLEAN
059255,000157: 5674 15644 TCF WHIMPER
059256,000158: 5675 04635 STRTIDLE TC POSTJUMP # PUT SERVICER INTO ITS "GROUND" STATE
059257,000159: 5676 65711 CADR SERVIDLE # AND PROCEED TO GOTOPOOH.
059258,000160: 5677 00004 CCSHOLE INHINT
059259,000161: 5700 30002 CA Q
059260,000162: 5701 05654 TC ABORT2
059261,000163: 5702 01103 OCT21103 OCT 1103
059262,000164: 5703 00004 CURTAINS INHINT
059263,000165: 5704 30002 CA Q
059264,000166: 5705 05571 TC ALARM2
059265,000167: 5706 00217 OCT217 OCT 00217
059266,000168: 5707 01363 TC ALMCADR # RETURN TO USER
059267,000169:
059268,000170: 5710 00004 BAILOUT1 INHINT
059269,000171: 5711 53364 DXCH ALMCADR
059270,000172: 5712 35734 CAF ADR40400
059271,000173: 5713 54061 BOTHABRT TS ITEMP1
|
Page 1378 |
059273,000175: 5714 50002 INDEX Q
059274,000176: 5715 30000 CAF 0
059275,000177: 5716 54001 TS L
059276,000178: 5717 15603 TCF CHKFAIL1
059277,000179: 5720 00004 POODOO1 INHINT
059278,000180: 5721 53364 DXCH ALMCADR
059279,000181: 5722 35733 CAF ADR77770
059280,000182: 5723 15713 TCF BOTHABRT
059281,000183:
059282,000184: 5724 00004 ALARM1 INHINT
059283,000185: 5725 53364 DXCH ALMCADR
059284,000186: 5726 00004 ALMNCADR INHINT
059285,000187: 5727 50002 INDEX Q
059286,000188: 5730 30000 CA 0
059287,000189: 5731 54001 TS L
059288,000190: 5732 15601 TCF LARMENT
059289,000191:
059290,000192: 5733 15660 ADR77770 TCF OCT77770
059291,000193: 5734 15642 ADR40400 TCF OCT40400
059292,000194: 5735 5155 DOALARM EQUALS ENDOFJOB
059293,000195:
059294,000196: # CALLING SEQUENCE FOR VARALARM
059295,000197: # CAF (ALARM)
059296,000198: # TC VARALARM
059297,000199:
059298,000200: # VARALARM TURNS ON PROGRAM ALARM LIGHT BUT DOES NOT DISPLAY
059299,000201:
059300,000202: 5735 00004 VARALARM INHINT
059301,000203:
059302,000204: 5736 54001 TS L # SAVE USERS ALARM CODE
059303,000205:
059304,000206: 5737 30002 CA Q # SAVE USERS Q
059305,000207: 5740 55363 TS ALMCADR
059306,000208:
059307,000209: 5741 05575 TC PRIOENT
059308,000210: 5742 00014 OCT14 OCT 14 # DONT MOVE
059309,000211:
059310,000212: 5743 01363 TC ALMCADR # RETURN TO USER
059311,000213:
059312,000214: 5744 5644 ABORT EQUALS WHIMPER
059313,000215:
End of include-file ALARM_AND_ABORT.agc. Parent file is MAIN.agc