Source Code
|
This is a reconstructed version of Luminary 130, the initial AGC program released
in November 1969 for the Apollo 13 LM. Three more releases
followed before the flown revision was finally manufactured in February 1970.
This reconstruction was created from a previous transcription of the original listing of Luminary 131, combined with Luminary memo #129 which describes the small difference between the Luminary 130 and 131. The reconstructed source code was verified by matching memory-bank checksums to those listed for Luminary 130 in drawing 2021152G. In this source code, program comments from the original (Luminary 131) code are prefixed with '#', while those added later by the Virtual AGC project are prefixed with '##'. |
010131,000002: ## Copyright: Public domain.
010132,000003: ## Filename: AOTMARK.agc
010133,000004: ## Purpose: A section of the reconstructed source code for Luminary 130.
010134,000005: ## This was the original program released for the Apollo 13 LM,
010135,000006: ## although several more revisions would follow. It has been
010136,000007: ## reconstructed from a listing of Luminary 131, from which it
010137,000008: ## differs on only two lines in P70-P71. The difference is
010138,000009: ## described in detail in Luminary memo #129, which was used
010139,000010: ## to perform the reconstruction. This file is intended to be a
010140,000011: ## faithful reconstruction, except that the code format has been
010141,000012: ## changed to conform to the requirements of the yaYUL assembler
010142,000013: ## rather than the original YUL assembler.
010143,000014: ## Reference: pp. 245-262
010144,000015: ## Contact: Ron Burkey <info@sandroid.org>.
010145,000016: ## Website: www.ibiblio.org/apollo/index.html
010146,000017: ## Mod history: 05/07/03 RSB. Began transcribing.
010147,000018: ## 05/14/05 RSB. Corrected website reference above.
010148,000019: ## 2010-08-24 JL Fixed page 264 number.
010149,000020: ## 2017-01-06 RSB Page numbers now agree with those on the
010150,000021: ## original harcopy, as opposed to the PDF page
010151,000022: ## numbers in 1701.pdf.
010152,000023: ## 2017-02-22 RSB Proofed comment text using octopus/ProoferComments.
010153,000024: ## 2017-03-06 RSB Some comment-text fixes identified while proofing
010154,000025: ## Luminary 116.
010155,000026: ## 2017-03-14 RSB Comment-text fixes identified in 5-way
010156,000027: ## side-by-side diff of Luminary 69/99/116/131/210.
010157,000028: ## 2017-08-19 MAS Fixed a typo found while transcribing Zerlina 56.
010158,000029: ## 2018-09-04 MAS Copied from Luminary 131 for Luminary 130.
010159,000030:
|
Page 245 |
010161,000032: 12,2000 BANK 12
010162,000033: 07,2000 SETLOC AOTMARK1
010163,000034: 07,2000 BANK
010164,000035:
010165,000036: 07,2000 E7,1551 EBANK= XYMARK
010166,000037: 07,2000 COUNT* $$/MARK
010167,000038:
010168,000039: 07,2000 00004 AOTMARK INHINT
010169,000040: 07,2001 11307 CCS MARKSTAT # SEE IF AOTMARK BUSY
010170,000041: 07,2002 02004 TC +2 # MARK SYSTEM BUSY - DO ALARM
010171,000042: 07,2003 02006 TC EXTVBCHK
010172,000043: 07,2004 05642 TC POODOO
010173,000044: 07,2005 20105 OCT 20105
010174,000045:
010175,000046: 07,2006 36245 EXTVBCHK CAF SIX # SEE IF EXT. VERB WORKING
010176,000047: 07,2007 71043 MASK EXTVBACT
010177,000048: 07,2010 10000 CCS A
010178,000049: 07,2011 12044 TCF MKABORT # YES - ABORT
010179,000050:
010180,000051: 07,2012 34752 CAF BIT2 # NO - DISALLOW SOME EXTENDED VERB ACTION
010181,000052: 07,2013 27043 ADS EXTVBACT # BIT2 RESET IN ENDMARK
010182,000053: 07,2014 10400 MKVAC CCS VAC1USE # LOOK FOR A VAC AREA - DO ABORT IF
010183,000054: 07,2015 12031 TCF MKVACFND # NONE AVAILABLE
010184,000055: 07,2016 10454 CCS VAC2USE
010185,000056: 07,2017 12031 TCF MKVACFND
010186,000057: 07,2020 10530 CCS VAC3USE
010187,000058: 07,2021 12031 TCF MKVACFND
010188,000059: 07,2022 10604 CCS VAC4USE
010189,000060: 07,2023 12031 TCF MKVACFND
010190,000061: 07,2024 10660 CCS VAC5USE
010191,000062: 07,2025 12031 TCF MKVACFND
010192,000063: 07,2026 52134 DXCH BUF2
010193,000064: 07,2027 05706 TC BAILOUT1 # ALL VAC AREAS OCCUPIED - ABORT.
010194,000065: 07,2030 31207 OCT 31207
010195,000066:
010196,000067: 07,2031 64752 MKVACFND AD TWO
010197,000068: 07,2032 55307 TS MARKSTAT # STORE VAC ADR INLOW 9 OF MARKSTAT
010198,000069:
010199,000070: 07,2033 34755 CAF ZERO
010200,000071: 07,2034 51307 INDEX MARKSTAT
010201,000072: 07,2035 53777 TS 0 -1 # ZERO IN VACUSE REG TO SHOW VAC OCCUPIED
010202,000073:
010203,000074: 07,2036 35025 CAF PRIO15
010204,000075: 07,2037 05105 TC FINDVAC # SET UP JOB FOR GETDAT
010205,000076: 07,2040 E7,1551 EBANK= XYMARK
010206,000077: 07,2040 02063 16067 2CADR GETDAT
010207,000078:
010208,000079: 07,2042 00003 RELINT
010209,000080: 07,2043 14631 TCF SWRETURN
|
Page 246 |
010211,000082: 07,2044 52134 MKABORT DXCH BUF2
010212,000083: 07,2045 05706 TC BAILOUT1 # CONFLICT WITH EXTENDED VERB
010213,000084: 07,2046 31211 OCT 31211
010214,000085:
010215,000086: 07,2047 34755 MKRELEAS CAF ZERO
010216,000087: 07,2050 57307 XCH MARKSTAT # SET MARKSTAT TO ZERO
010217,000088: 07,2051 75004 MASK LOW9 # PICK UP VAC AREA ADR
010218,000089: 07,2052 10000 CCS A
010219,000090: 07,2053 50000 INDEX A
010220,000091: 07,2054 54000 TS 0 # SHOW MKVAC AREA AVAILABLE
010221,000092: 07,2055 34753 CAF ONE
010222,000093: 07,2056 04674 TC IBNKCALL
010223,000094: 07,2057 17656 CADR GOODEND # GO WAKE UP CALLING JOB
010224,000095:
|
Page 247 |
010226,000097: 07,2060 34755 KILLAOT CAF ZERO
010227,000098: 07,2061 55043 TS EXTVBACT # TERMINATE AOTMARK - ALLOW EXT VERB
010228,000099: 07,2062 06001 TC GOTOPOOH
010229,000100: 07,2063 41307 GETDAT CS MARKSTAT # SET BIT12 TO DISCOURAGE MARKRUPT
010230,000101: 07,2064 74740 MASK BIT12 # BIT12 RESET AT GETMARK
010231,000102: 07,2065 27307 ADS MARKSTAT
010232,000103:
010233,000104: 07,2066 32330 CAF V01N71 # DISPLAY DETENT AND STAR CODE
010234,000105: 07,2067 04616 TC BANKCALL
010235,000106: 07,2070 20334 CADR GOMARKF
010236,000107:
010237,000108: 07,2071 12060 TCF KILLAOT # V34 - DOES GOTOPOOH
010238,000109: 07,2072 12074 TCF DODAT # V33 - PROCEED - USE THIS STAR FOR MARKS
010239,000110: 07,2073 12063 ENTERDAT TCF GETDAT # ENTER - REDISPLAY STAR CODE
010240,000111:
010241,000112: 07,2074 37747 DODAT CAF HIGH9 # PICK DETENT CODE FROM BITS7-9 OF AOTCODE
010242,000113: 07,2075 70734 MASK AOTCODE # AND SEE IF CODE 1 TO 6
010243,000114: 07,2076 00006 EXTEND
010244,000115: 07,2077 74743 MP BIT9
010245,000116: 07,2100 55551 TS XYMARK # STORE DETENT
010246,000117:
010247,000118: 07,2101 00006 EXTEND
010248,000119: 07,2102 62063 BZMF GETDAT # COAS CALIBRATION CODE - NO GOOD HERE
010249,000120:
010250,000121: 07,2103 65650 AD NEG7 # SEE IF DETENT 7 FOR COAS
010251,000122: 07,2104 00006 EXTEND
010252,000123: 07,2105 12107 BZF CODE7
010253,000124:
010254,000125: 07,2106 12123 TCF CODE1TO6
010255,000126:
010256,000127: 07,2107 32331 CODE7 CAF V06N87* # CODE 7, COAS SIGHTING, GET OPTIC AXIS
010257,000128: 07,2110 04616 TC BANKCALL # AZ AND EL OF SIGHTING DEVICE FROM ASTRO
010258,000129: 07,2111 20334 CADR GOMARKF
010259,000130:
010260,000131: 07,2112 12060 TCF KILLAOT # V34 - DOES GOTOPOOH
010261,000132: 07,2113 12115 TCF +2 # PROCEED
010262,000133: 07,2114 12107 TCF CODE7 # ON ENTER, RECYCLE
010263,000134: 07,2115 00006 EXTEND
010264,000135: 07,2116 31345 DCA AZ # PICK UP AZ AND EL IN SP 2S COMP
010265,000136: 07,2117 50120 INDEX FIXLOC
010266,000137: 07,2120 52011 DXCH 8D # STORE IN 8D AND 9D OF LOCAL VAC
010267,000138: 07,2121 34755 CAF ZERO # BACKUP SYSTEM TO BE USED
010268,000139: 07,2122 12137 TCF COASCODE # ZERO APPARENT ROTATION
010269,000140:
010270,000141: 07,2123 51551 CODE1TO6 INDEX XYMARK # INDEX AOT POSITION BY DET CODE
010271,000142: 07,2124 31411 CA AOTEL -1
010272,000143: 07,2125 50120 INDEX FIXLOC
010273,000144: 07,2126 54011 TS 9D # STORE ELEVATION IN VAC+9D
010274,000145:
010275,000146: 07,2127 51551 INDEX XYMARK # INDEX DET CODE 1,2 OR 3
|
Page 248 |
010277,000148: 07,2130 31403 CA AOTAZ -1
010278,000149: 07,2131 50120 INDEX FIXLOC
010279,000150: 07,2132 54010 TS 8D # STORE AZIMUTH IN VAC+8D
010280,000151:
010281,000152: 07,2133 31405 CA AOTAZ +1 # COMPENSATION FOR APPARENT ROTATION OF
010282,000153: 07,2134 00006 EXTEND # AOT FIELD OF VIEW IN LEFT AND RIGTHT
010283,000154: 07,2135 50120 INDEX FIXLOC # DETENTS IS STORED IN VAC +10D IN SP
010284,000155: 07,2136 20010 MSU 8D # PRECISION ONES COMPLEMENT
010285,000156: 07,2137 50120 COASCODE INDEX FIXLOC
010286,000157: 07,2140 54012 TS 10D # ROT ANGLE
010287,000158:
010288,000159: 07,2141 06042 TC INTPRET # COMPUTE X AND Y PLANE VECTORS
010289,000160:
|
Page 249 |
010291,000162: # THE OPTAXIS SUBROUTINE COMPUTES THE X AND Y MARK PLANE VECS AND
010292,000163: # AND ROTATES THEM THRU THE APPARENT FIELD OF VIEW ROTATION UNIQUE TO AOT
010293,000164: # OPTAXIS USES OANB TO COMPUTE THE OPTIC AXIS
010294,000165:
010295,000166: # INPUT - AZIMUTH ANGLE IN SINGLE PREC AT CDU SCALE IN 8D OF JOB VAC
010296,000167: # ELEVATION ANGLE IN SINGLE PREC AT CDU SCALE IN 9D OF JOB VAC
010297,000168: # ROTATION ANGLE IN SINGLE PREC 1S COMPSCALED BY PI IN 10D OF VAC
010298,000169:
010299,000170: # OUTPUT - OPTIC AXIS VEC IN NB COORDS IN SCAXIS
010300,000171: # X-MARK PLANE 1/4VEC IN NB COORDS AT 18D OF JOB VAC
010301,000172: # Y-MARK PLANE 1/4VEC IN NB COORDS AT 12D OF JOB VAC
010302,000173:
010303,000174: 07,2142 77624 OPTAXIS CALL # GO COMPUTE OA AND X AND Y PLANE VECS
010304,000175: 07,2143 10522 OANB
010305,000176: 07,2144 70535 SLOAD SR1 # LOAD APP ROTATION IN ONES COMP
010306,000177: 07,2145 00013 10D # RESCALE BY 2PI
010307,000178: 07,2146 73406 PUSH SIN # 1/2SIN(ROT) 0-1
010308,000179: 07,2147 71525 PDDL COS
010309,000180: 07,2150 74206 PUSH VXSC # 1/2COS(ROT) 2-3
010310,000181: 07,2151 00023 18D
010311,000182: 07,2152 74325 PDDL VXSC # 1/4COS(ROT)UYP 4-9
010312,000183: 07,2153 00001 0
010313,000184: 07,2154 00031 24D # 1/4SIN(ROT)UXP
010314,000185: 07,2155 45445 BVSU STADR # UP 4-9
010315,000186: 07,2156 63762 STODL 12D # YPNB=1/4(COS(ROT)UYP-SIN(ROT)UXP)
010316,000187: 07,2157 65361 VXSC PDDL # UP 2-3 UP 0-1 FOR EXCHANGE
010317,000188: 07,2160 00031 24D # 1/4COS(ROT)UXP PUSH 0-5
010318,000189: 07,2161 53361 VXSC VAD # 1/4SIN(ROT)UYP
010319,000190: 07,2162 00023 18D # UP 0-5
010320,000191: 07,2163 77626 STADR
010321,000192: 07,2164 53754 STOVL 18D # XPNB=1/4(COS(ROT)UXP+SIN(ROT)UYP)
010322,000193: 07,2165 24007 LO6ZEROS # INITIALIZE AVE STAR VEC ACCUMULATOR
010323,000194: 07,2166 02715 STORE STARAD +6
010324,000195: 07,2167 77776 EXIT
010325,000196: 07,2170 12202 TCF GETMKS
010326,000197:
|
Page 250 |
010328,000199: # THE OANB SUBROUTINE COMPUTES THE OPTIC AXIS OF THE SIGHTING INSTRUMENT
010329,000200: # FROM AZIMUTH AND ELEVATION INPUT FROM THE ASTRONAUT.
010330,000201:
010331,000202: # INPUT - AZIMUTH ANGLE IN SINGLE PREC 2S COMP IN 8D OF JOB VAC
010332,000203: # ELEVATION ANGLE IN SINGLE PREC 2S COMP IN 9D OF VAC
010333,000204:
010334,000205: # OUTPUT - OPTIC AXIS IN NB COORDS. IN SCAXIS
010335,000206: # X-PLANE 1/2VEC IN NB COORDS AT 24D OF VAC
010336,000207: # Y-PLANE 1/2VEC IN NB COORDS AT 18D OF VAC
010337,000208:
010338,000209: 05,3413 BANK 05
010339,000210: 04,2000 SETLOC AOTMARK2
010340,000211: 04,2000 BANK
010341,000212:
010342,000213: 04,2522 COUNT* $$/MARK
010343,000214:
010344,000215: 04,2522 44001 OANB SETPD STQ
010345,000216: 04,2523 00001 0
010346,000217: 04,2524 02736 GCTR # STORE RETURN
010347,000218: 04,2525 47135 SLOAD RTB
010348,000219: 04,2526 00012 9D # PICK UP SP ELV
010349,000220: 04,2527 21577 CDULOGIC
010350,000221: 04,2530 71406 PUSH COS
010351,000222: 04,2531 73525 PDDL SIN # 1/2COS(ELV) PD 0-1
010352,000223: 04,2532 77626 STADR
010353,000224: 04,2533 60012 STODL SCAXIS # OAX=1/2SIN(ELV)
010354,000225: 04,2534 00011 8D # PICK UP AZ SP
010355,000226: 04,2535 77634 RTB
010356,000227: 04,2536 21577 CDULOGIC
010357,000228: 04,2537 71406 PUSH COS
010358,000229: 04,2540 00025 STORE 20D # STORE UYP(Y) 20-21
010359,000230: 04,2541 73525 PDDL SIN # 1/2COS(AZ) PD 2-3
010360,000231: 04,2542 57406 PUSH DCOMP # PUSH 1/2SIN(AZ) 4-5
010361,000232: 04,2543 14027 STODL 22D # STORE UYP(Z) 22-23
010362,000233: 04,2544 24007 LO6ZEROS
010363,000234: 04,2545 14023 STODL 18D # STORE UYP(X) 18-19 UP 4-5
010364,000235: 04,2546 72405 DMP SL1
010365,000236: 04,2547 00001 0
010366,000237: 04,2550 17767 STODL SCAXIS +2 # OAY=1/2COS(ELV)SIN(AZ)
010367,000238: 04,2551 72405 DMP SL1 # UP 2-3
010368,000239: 04,2552 77626 STADR # UP 0-1
010369,000240: 04,2553 50006 STOVL SCAXIS +4 # OAZ=1/2COS(ELV)COS(AZ)
010370,000241: 04,2554 00023 18D # LOAD UYP VEC
010371,000242: 04,2555 53435 VXV UNIT
010372,000243: 04,2556 03765 SCAXIS # UXP VEC=UYP X OA
010373,000244: 04,2557 00031 STORE 24D # STORE UXP
010374,000245: 04,2560 77650 GOTO
010375,000246: 04,2561 02736 GCTR
|
Page 251 |
010377,000248: # SURFSTAR COMPUTES A STAR VECTOR IN SM COORDINATES FOR LUNAR
010378,000249: # SURFACE ALIGNMENT AND EXITS TO AVEIT TO AVERAGE STAR VECTORS.
010379,000250: #
010380,000251: # GIVEN X-MARK PLANE 1/4 VEC IN NB AT 18D OF LOCAL VAC
010381,000252: # Y-MARK PLANE 1/4 VEC IN NB AT 12D OF LOCAL VAC
010382,000253: # CURSOR SP 2COMP AT POSITION 1 OF INDEXED MARKVAC
010383,000254: # SPIRAL SP 2COMP AT POSITION 3 OF INDEXED MARKVAC
010384,000255: # CDUY,Z,X AT POSITIONS 0,2,4 OF INDEXED MARKVAC
010385,000256:
010386,000257: 15,2000 BANK 15
010387,000258: 15,2000 SETLOC P50S
010388,000259: 15,2000 BANK
010389,000260: 15,2000 COUNT* $$/R59
010390,000261:
010391,000262: 15,2000 77773 SURFSTAR VLOAD*
010392,000263: 15,2001 00001 0,1 # PUT X-MARK CDUS IN CDUSPOT FOR TRG*NBSM
010393,000264: 15,2002 00766 STORE CDUSPOT
010394,000265: 15,2003 47133 SLOAD* RTB
010395,000266: 15,2004 00002 1,1 # PICK UP YROT
010396,000267: 15,2005 21577 CDULOGIC
010397,000268: 15,2006 00031 STORE 24D # STORE CURSOR FOR SPIRAL COMP (REVS)
010398,000269: 15,2007 77654 BZE
010399,000270: 15,2010 16171 YZCHK # IF YROT ZERO - SEE IF SROT ZERO
010400,000271: 15,2011 71406 JUSTZY PUSH COS
010401,000272: 15,2012 73525 PDDL SIN # 1/2COS(YROT) 0-1
010402,000273: 15,2013 65361 VXSC PDDL # UP 0-1 1/8SIN(YROT)UXP 0-5
010403,000274: 15,2014 00023 18D
010404,000275: 15,2015 52361 VXSC VSU # UP 0-5
010405,000276: 15,2016 00015 12D # UYP
010406,000277: 15,2017 47256 UNIT VXV
010407,000278: 15,2020 03765 SCAXIS
010408,000279: 15,2021 41456 UNIT PUSH
010409,000280: 15,2022 47133 SLOAD* RTB
010410,000281: 15,2023 00004 3,1 # PICK UP SPIRAL
010411,000282: 15,2024 21577 CDULOGIC
010412,000283: 15,2025 00033 STORE 26D # STORE SPIRAL (REVS)
010413,000284: 15,2026 43225 DSU DAD
010414,000285: 15,2027 00031 24D
010415,000286: 15,2030 32047 ABOUTONE
010416,000287: 15,2031 77605 DMP
010417,000288: 15,2032 32466 DP1/12
010418,000289: 15,2033 00033 STORE 26D # SEP=(360 + SPIRAL -CURSOR)/12
010419,000290: 15,2034 74356 SIN VXSC # UP 0-5
010420,000291: 15,2035 65372 VSL1 PDDL # 1/2SIN(SEP)(UPP X OA) 0-5
010421,000292: 15,2036 00033 26D
010422,000293: 15,2037 74346 COS VXSC
010423,000294: 15,2040 03765 SCAXIS
010424,000295: 15,2041 53372 VSL1 VAD # UP 0-5
010425,000296: 15,2042 45056 JUSTOA UNIT CALL
010426,000297: 15,2043 47666 TRG*NBSM
010427,000298: 15,2044 34031 STCALL 24D # STAR VEC IN SM
010428,000299: 15,2045 16276 AVEIT # GO AVERAGE
|
Page 252 |
010430,000301: 15,2046 37777 37775 ABOUTONE 2DEC .99999999
010431,000302:
010432,000303: 15,2050 15,2465 DP1/12 EQUALS DEG30 # .08333333
010433,000304: 07,2171 BANK 7
010434,000305: 07,2000 SETLOC AOTMARK1
010435,000306: 07,2000 BANK
010436,000307: 07,2171 COUNT* $$/MARK
010437,000308: 07,2171 53133 YZCHK SLOAD* BZE # YROT ZERO AND IF SROT ZERO FORCE STAR
010438,000309: 07,2172 00004 3,1 # ALONG OPTIC AXIS
010439,000310: 07,2173 16177 YSZERO
010440,000311: 07,2174 52145 DLOAD GOTO
010441,000312: 07,2175 00031 24D
010442,000313: 07,2176 32011 JUSTZY # SROT NOT ZERO - CONTINUE NORMALLY
010443,000314: 07,2177 52175 YSZERO VLOAD GOTO
010444,000315: 07,2200 03765 SCAXIS
010445,000316: 07,2201 32042 JUSTOA
010446,000317:
|
Page 253 |
010448,000319: # THE GETMKS ROUTINE INITIALIZES THE SIGHTING MARK PROCEDURE
010449,000320:
010450,000321: 07,2202 34755 GETMKS CAF ZERO # INITIALIZE MARK ID REGISTER AND MARK CNT
010451,000322: 07,2203 55551 TS XYMARK
010452,000323: 07,2204 55550 TS MARKCNTR
010453,000324: 07,2205 35004 CAF LOW9 # ZERO BITS10 TO 15 RETAINING MKVAC ADR
010454,000325: 07,2206 71307 MASK MARKSTAT
010455,000326: 07,2207 55307 TS MARKSTAT
010456,000327: 07,2210 32620 CAF MKVB54* # DISPLAY VB54 INITIALLY
010457,000328: 07,2211 04616 PASTIT TC BANKCALL
010458,000329: 07,2212 20345 CADR GOMARK4
010459,000330:
010460,000331: 07,2213 12060 TCF KILLAOT # V34 - DOES GOTOPOOH
010461,000332: 07,2214 12216 TCF MARKCHEX # VB33 - PROCEED, GOT MARKS, COMPUTE LOS
010462,000333: 07,2215 12063 TCF GETDAT # ENTER - RECYCLE TO V01N71
010463,000334:
010464,000335: 07,2216 41307 MARKCHEX CS MARKSTAT # SET BIT12 TO DISCOURAGE MARKRUPT
010465,000336: 07,2217 74740 MASK BIT12
010466,000337: 07,2220 27307 ADS MARKSTAT
010467,000338: 07,2221 75004 MASK LOW9
010468,000339: 07,2222 55551 TS XYMARK # JAM MARK VAC ADR IN XYMARK FOR AVESTAR
010469,000340: 07,2223 34755 CAF ZERO
010470,000341: 07,2224 55552 TS MKDEX # SET MKDEX ZERO FOR LOS VEC CNTR
010471,000342: 07,2225 31307 CA MARKSTAT
010472,000343: 07,2226 75015 MASK PRIO3 # SEE IF LAST MK PARI COMPLETE
010473,000344: 07,2227 54001 TS L
010474,000345: 07,2230 35015 CAF PRIO3 # BITS10 AND 11
010475,000346: 07,2231 00006 EXTEND
010476,000347: 07,2232 06001 RXOR LCHAN
010477,000348: 07,2233 00006 EXTEND
010478,000349: 07,2234 12241 BZF AVESTAR # LAST PAIR COMPLETE - GO COMPUTE LOS
010479,000350: 07,2235 11550 CNTCHK CCS MARKCNTR # NO PAIR SHOWING - SEE IF PAIR IN HOLD
010480,000351: 07,2236 12240 TCF +2 # PAIR BURIED - DECREMENT COUNTER
010481,000352: 07,2237 12325 TCF MKALARM # NO PAIR - ALARM
010482,000353: 07,2240 55550 TS MARKCNTR # STORE DECREMENTED COUNTER
010483,000354:
010484,000355: 07,2241 34740 AVESTAR CAF BIT12 # INITIALIZE MKDEX FOR STAR LOS COUNTER
010485,000356: 07,2242 27552 ADS MKDEX # MKDEX WAS INITIALIZED ZERO IN MARKCHEX
010486,000357: 07,2243 41550 CS MARKCNTR
010487,000358: 07,2244 00006 EXTEND
010488,000359: 07,2245 76245 MP SIX # GET C(L) = -6 MARKCNTR
010489,000360: 07,2246 41551 CS XYMARK
010490,000361: 07,2247 60001 AD L # ADD - MARK VAC ADR SET IN MARKCHEX
010491,000362: 07,2250 50120 INDEX FIXLOC
010492,000363: 07,2251 54046 TS X1 # JAM - CDU ADR OF X-MARK IN X1
010493,000364:
010494,000365: 07,2252 30120 CA FIXLOC # SET PD POINTER TO ZERO
010495,000366: 07,2253 54166 TS PUSHLOC
010496,000367:
010497,000368: 07,2254 06042 TC INTPRET
|
Page 254 |
010499,000370: 07,2255 76614 BON VLOAD*
010500,000371: 07,2256 04307 SURFFLAG # IF ON SURFACE COMPUTE VEC AT SURFSTAR
010501,000372: 07,2257 32000 SURFSTAR
010502,000373: 07,2260 00002 1,1 # PUT Y-MARK CDUS IN CDUSPOT FOR TRG*NBSM
010503,000374: 07,2261 24766 STOVL CDUSPOT
010504,000375: 07,2262 00015 12D # LOAD Y-PLANE VECTOR IN NB
010505,000376: 07,2263 77624 CALL
010506,000377: 07,2264 47666 TRG*NBSM # CONVERT IT TO STABLE MEMBER
010507,000378: 07,2265 76606 PUSH VLOAD*
010508,000379: 07,2266 00001 0,1 # PUT X-MARK CDUS IN CDUSPOT FOR TRG*NBSM
010509,000380: 07,2267 24766 STOVL CDUSPOT
010510,000381: 07,2270 00023 18D # LOAD X-PLANE VECTOR IN NB
010511,000382: 07,2271 77624 CALL
010512,000383: 07,2272 47666 TRG*NBSM # CONVERT IT TO STABLE-MEMBER
010513,000384: 07,2273 53435 VXV UNIT # UNIT(XPSM * YPSM)
010514,000385: 07,2274 77626 STADR
010515,000386: 07,2275 77746 STORE 24D
010516,000387:
010517,000388: 07,2276 63335 AVEIT SLOAD PDVL # N(NUMBER OF VECS) IN 0-1
010518,000389: 07,2277 03553 MKDEX
010519,000390: 07,2300 00031 24D # LOAD CURRENT VECTOR
010520,000391: 07,2301 70322 VSR3 V/SC
010521,000392: 07,2302 00001 0
010522,000393: 07,2303 14031 STODL 24D # VEC/N
010523,000394: 07,2304 00001 0
010524,000395: 07,2305 56225 DSU DDV
010525,000396: 07,2306 16622 DP1/8 # (N-1)/N
010526,000397: 07,2307 53361 VXSC VAD
010527,000398: 07,2310 02715 STARAD +6 # ADD VEC TO PREVIOUSLY AVERAGED VECTOR
010528,000399: 07,2311 00031 24D # (N-1)/N AVESTVEC + VEC/N
010529,000400: 07,2312 02715 STORE STARAD +6 # AVERAGE STAR VECTOR
010530,000401: 07,2313 02767 STORE STARSAV2
010531,000402: 07,2314 77776 EXIT
010532,000403: 07,2315 11550 CCS MARKCNTR # SEE IF ANOTHER MARK PAIR IN MKVAC
010533,000404: 07,2316 12240 TCF AVESTAR -1 # THERE IS - GO GET IT - DECREMENT COUNTER
010534,000405: 07,2317 34756 ENDMARKS CAF FIVE # NO MORE MARKS - TERMINATE AOTMARK
010535,000406: 07,2320 00004 INHINT
010536,000407: 07,2321 05203 TC WAITLIST
010537,000408: 07,2322 E7,1551 EBANK= XYMARK
010538,000409: 07,2322 02047 16067 2CADR MKRELEAS
010539,000410:
010540,000411: 07,2324 05472 TC ENDMARK
010541,000412:
010542,000413: 07,2325 05567 MKALARM TC ALARM # NOT A PAIR TO PROCESS - DO GETMKS
010543,000414: 07,2326 00111 OCT 111
010544,000415: 07,2327 12202 TCF GETMKS
010545,000416:
010546,000417: 07,2330 00307 V01N71 VN 171
010547,000418: 07,2331 01527 V06N87* VN 687
010548,000419:
|
Page 255 |
010550,000421: # MARKRUPT IS ENTERED FROM INTERUPT LEAD-INS AND PROCESSES CHANNEL 16
010551,000422: # CAUSED BY X,Y MARK OR MARK REJECT OR BY THE RATE OF DESCENT SWITCH
010552,000423:
010553,000424: 07,2332 54016 MARKRUPT TS BANKRUPT
010554,000425: 07,2333 30033 CA CDUY # STORE CDUS AND TIME NOW - THEN SEE IF
010555,000426: 07,2334 54063 TS ITEMP3 # WE NEED THEM
010556,000427: 07,2335 30034 CA CDUZ
010557,000428: 07,2336 54064 TS ITEMP4
010558,000429: 07,2337 30032 CA CDUX
010559,000430: 07,2340 54065 TS ITEMP5
010560,000431: 07,2341 00006 EXTEND
010561,000432: 07,2342 30025 DCA TIME2
010562,000433: 07,2343 52062 DXCH ITEMP1
010563,000434: 07,2344 56002 XCH Q
010564,000435: 07,2345 54012 TS QRUPT
010565,000436:
010566,000437: 07,2346 34776 CAF OCT140 # SEE IF ROD INPUT HAS BEEN MADE
010567,000438: 07,2347 00006 EXTEND
010568,000439: 07,2350 02016 RAND NAVKEYIN
010569,000440: 07,2351 10000 CCS A
010570,000441: 07,2352 12403 TCF SOMEKEY # YES
010571,000442:
010572,000443: 07,2353 34740 CAF BIT12 # ARE WE ASKING FOR A MARK
010573,000444: 07,2354 71307 MASK MARKSTAT
010574,000445: 07,2355 10000 CCS A
010575,000446: 07,2356 05270 TC RESUME # DONT WANT MARK OR MKREJECT - DO NOTHING
010576,000447:
010577,000448: 07,2357 11307 CCS MARKSTAT # ARE MARKS BEING ACCEPTED
010578,000449: 07,2360 12364 TCF FINDKEY # THEY ARE - WHICH ONE IS IT
010579,000450: 07,2361 05567 TC ALARM # MARKS NOT BEING ACCEPTED - DO ALARM
010580,000451: 07,2362 00112 OCT 112
010581,000452: 07,2363 05270 TC RESUME
010582,000453:
010583,000454: 07,2364 34747 FINDKEY CAF BIT5 # SEE IF MARK REJECT
010584,000455: 07,2365 00006 EXTEND
010585,000456: 07,2366 02016 RAND NAVKEYIN
010586,000457: 07,2367 10000 CCS A
010587,000458: 07,2370 12460 TCF MKREJ # ITS A MARK REJECT
010588,000459:
010589,000460: 07,2371 34750 CAF BIT4 # SEE IF Y MARK
010590,000461: 07,2372 00006 EXTEND
010591,000462: 07,2373 02016 RAND NAVKEYIN
010592,000463: 07,2374 10000 CCS A
010593,000464:
010594,000465: 07,2375 12421 TCF YMKRUPT # ITS A Y MARK
010595,000466:
010596,000467: 07,2376 34751 CAF BIT3 # SEE IF X MARK
010597,000468: 07,2377 00006 EXTEND
010598,000469: 07,2400 02016 RAND NAVKEYIN
010599,000470: 07,2401 10000 CCS A
010600,000471:
|
Page 256 |
010602,000473: 07,2402 12415 TCF XMKRUPT # ITS A X MARK
010603,000474:
010604,000475: 07,2403 34776 SOMEKEY CAF OCT140 # NOT MARK OR MKREJECT - SEE IF DESCENT BITS
010605,000476: 07,2404 00006 EXTEND
010606,000477: 07,2405 02016 RAND NAVKEYIN
010607,000478: 07,2406 00006 EXTEND
010608,000479: 07,2407 12412 BZF +3 # IF NO BITS
010609,000480:
010610,000481: 07,2410 04635 TC POSTJUMP # IF DESCENT BITS
010611,000482: 07,2411 46455 CADR DESCBITS
010612,000483:
010613,000484: 07,2412 05567 TC ALARM # NO INBITS IN CHANNEL 16
010614,000485: 07,2413 00113 OCT 113
010615,000486:
010616,000487: 07,2414 05270 TC RESUME
010617,000488:
010618,000489: 07,2415 34755 XMKRUPT CAF ZERO
010619,000490: 07,2416 54070 TS RUPTREG1 # SET X MARK STORE INDEX TO ZERO
010620,000491: 07,2417 34742 CAF BIT10
010621,000492: 07,2420 12424 TCF +4
010622,000493: 07,2421 34753 YMKRUPT CAF ONE
010623,000494: 07,2422 54070 TS RUPTREG1 # SET Y MARK STORE INDEX TO ONE
010624,000495: 07,2423 34741 CAF BIT11
010625,000496: 07,2424 55551 TS XYMARK # SET MARK IDENTIFIATION
010626,000497:
010627,000498: 07,2425 02513 TC MARKTYPE # SEE IF SURFACE MARK
010628,000499: 07,2426 12520 TCF SURFSTOR # SURFACE MARK - JUST STORE CDUS
010629,000500:
010630,000501: 07,2427 34736 CAF BIT14 # GOT A MARK - SEE IF MARK PAIR MADE
010631,000502: 07,2430 71307 MASK MARKSTAT
010632,000503: 07,2431 00006 EXTEND
010633,000504: 07,2432 12443 BZF VERIFYMK # NOT A PAIR, NORMAL PROCEDURE
010634,000505: 07,2433 41550 CS MARKCNTR # GOT A PAIR, SEE IF ANOTHER CAN BE MADE
010635,000506: 07,2434 64751 AD FOUR # IF SO, INCREMENT POINTER, CLEAR BITS 10,11
010636,000507: 07,2435 00006 EXTEND
010637,000508: 07,2436 62453 BZMF 5MKALARM # HAVE FIVE MARK PAIRS - DONT ALLOW MARK
010638,000509: 07,2437 25550 INCR MARKCNTR # OK FOR ANOTHER PAIR, INCR POINTER
010639,000510: 07,2440 47714 CS PRIO23 # CLEAR BITS 10,11,14 FOR NEXT PAIR
010640,000511: 07,2441 71307 MASK MARKSTAT
010641,000512: 07,2442 55307 TS MARKSTAT
010642,000513:
010643,000514: 07,2443 31551 VERIFYMK CA XYMARK
010644,000515: 07,2444 71307 MASK MARKSTAT
010645,000516: 07,2445 10000 CCS A
010646,000517: 07,2446 12450 TCF +2 # THIS MARK NOT DESIRED
010647,000518: 07,2447 12525 TCF VACSTOR # MARK DESIRED - STORE CDUS
010648,000519: 07,2450 05567 TC ALARM
010649,000520: 07,2451 00114 OCT 114
010650,000521: 07,2452 05270 TC RESUME # RESUME - DISPLAY UNCHANGED - WAIT FOR ACTION
010651,000522:
|
Page 257 |
010653,000524: 07,2453 05567 5MKALARM TC ALARM # ATTEMPTING TO MAKE MORE THAN 5 MK PAIRS
010654,000525: 07,2454 00107 OCT 107
010655,000526: 07,2455 02513 TC MARKTYPE # SEE IF SURFACE MARK
010656,000527: 07,2456 12626 TCF DSPV6N79 # IT IS
010657,000528: 07,2457 05270 TC RESUME # DONT CHANGE DISPLAY - DO NOTHING
010658,000529:
|
Page 258 |
010660,000531: 07,2460 02513 MKREJ TC MARKTYPE # SEE IF SURFACE
010661,000532: 07,2461 12506 TCF SURFREJ # SURFACE - JUST CHECK MARK COUNTER
010662,000533:
010663,000534: 07,2462 35015 CAF PRIO3 # INFLIGHT - SEE IF MARKS MADE
010664,000535: 07,2463 71307 MASK MARKSTAT
010665,000536: 07,2464 10000 CCS A
010666,000537: 07,2465 12471 TCF REJECT # MARKS MADE - REJECT ONE
010667,000538: 07,2466 05567 REJALM TC ALARM # NO MARK TO REJECT - BAD PROCEDURE - ALARM
010668,000539: 07,2467 00115 OCT 115
010669,000540: 07,2470 05270 TC RESUME # DESIRED ACTION DISPLAYED
010670,000541:
010671,000542: 07,2471 44355 REJECT CS PRIO30 # ZERO BIT14, SHOW REJ.,SEE IF MARK SINCE
010672,000543: 07,2472 71307 MASK MARKSTAT # LAST REJECT
010673,000544: 07,2473 64737 AD BIT13
010674,000545: 07,2474 57307 XCH MARKSTAT
010675,000546: 07,2475 74737 MASK BIT13
010676,000547: 07,2476 10000 CCS A
010677,000548: 07,2477 12504 TCF REJECT2 # ANOTHER REJECT SET BIT 10+11 TO ZERO
010678,000549:
010679,000550: 07,2500 41551 CS XYMARK # MARK MADE SINCE REJECT - REJECT MARK IN 1D
010680,000551: 07,2501 71307 RENEWMK MASK MARKSTAT
010681,000552: 07,2502 55307 TS MARKSTAT
010682,000553: 07,2503 12576 TCF REMARK # GO REQUEST NEW MARK ACTION
010683,000554:
010684,000555: 07,2504 45015 REJECT2 CS PRIO3 # ON SECOND REJECT - DISPLAY VB53 AGAIN
010685,000556: 07,2505 12501 TCF RENEWMK
010686,000557:
010687,000558: 07,2506 11550 SURFREJ CCS MARKCNTR # IF MARK DECREMENT COUNTER
010688,000559: 07,2507 12511 TCF +2
010689,000560: 07,2510 12466 TCF REJALM # NO MARKS TO REJECT - ALARM
010690,000561: 07,2511 55550 TS MARKCNTR
010691,000562: 07,2512 05270 TC RESUME
010692,000563:
|
Page 259 |
010694,000565: # MARKTYPE TESTS TO SEE IF LEM ON LUNAR SURFACE. IF IT IS RETURN TO LOC+1
010695,000566:
010696,000567: 07,2513 40104 MARKTYPE CS FLAGWRD8 # SURFFLAG *******TEMPORARY*****
010697,000568: 07,2514 74744 MASK BIT8
010698,000569: 07,2515 10000 CCS A
010699,000570: 07,2516 24002 INCR Q # IF SURFACE MARK REUTNR TO LOC +1
010700,000571: 07,2517 00002 TC Q # IF INFLIGHT MARK RETURN TO LOC +2
010701,000572:
010702,000573: 07,2520 34755 SURFSTOR CAF ZERO # FOR SURFACE MARK ZERO MARK KIND INDEX
010703,000574: 07,2521 54070 TS RUPTREG1
010704,000575:
010705,000576: 07,2522 41307 CS MARKSTAT # SET BITS 10,11 TO SHOW SURFACE MARK
010706,000577: 07,2523 75015 MASK PRIO3 # FOR MARKCHEX
010707,000578: 07,2524 27307 ADS MARKSTAT
010708,000579:
010709,000580: 07,2525 35004 VACSTOR CAF LOW9
010710,000581: 07,2526 71307 MASK MARKSTAT # STORE MARK VAC ADR IN RUPTREG2
010711,000582: 07,2527 54071 TS RUPTREG2
010712,000583: 07,2530 00006 EXTEND
010713,000584: 07,2531 30062 DCA ITEMP1 # PICK UP MARKTIME
010714,000585: 07,2532 53562 DXCH TSIGHT # STORE LAST MARK TIME
010715,000586: 07,2533 31550 CA MARKCNTR # 6 X MARKCNTR FOR STORE INDEX
010716,000587: 07,2534 00006 EXTEND
010717,000588: 07,2535 76245 MP SIX
010718,000589: 07,2536 56001 XCH L # GET INDEX FROM LOW ORDER PART
010719,000590: 07,2537 60071 AD RUPTREG2 # SET CDU STORE INDEX TO MARKVAC
010720,000591: 07,2540 26070 ADS RUPTREG1 # INCREMENT VAC PICKUP BY MARK FOR FLIGHT
010721,000592: 07,2541 55552 TS MKDEX # STORE HERE IN CASE OF SURFACE MARK
010722,000593: 07,2542 30063 CA ITEMP3
010723,000594: 07,2543 50070 INDEX RUPTREG1
010724,000595: 07,2544 54000 TS 0 # STORE CDUY
010725,000596: 07,2545 30064 CA ITEMP4
010726,000597: 07,2546 50070 INDEX RUPTREG1
010727,000598: 07,2547 54002 TS 2 # STORE CDUZ
010728,000599: 07,2550 30065 CA ITEMP5
010729,000600: 07,2551 50070 INDEX RUPTREG1
010730,000601: 07,2552 54004 TS 4 # STORE CDUX
010731,000602: 07,2553 02513 TC MARKTYPE # IF SURFACE MARK - JUST DO SURFJOB
010732,000603: 07,2554 12603 TCF SURFJOB
010733,000604:
010734,000605: 07,2555 34737 CAF BIT13 # CLEAR BIT13 TO SHOW MARK MADE
010735,000606: 07,2556 61551 AD XYMARK # SET MARK ID IN MARKSTAT
010736,000607: 07,2557 40000 COM
010737,000608: 07,2560 71307 MASK MARKSTAT
010738,000609: 07,2561 61551 AD XYMARK
010739,000610: 07,2562 55307 TS MARKSTAT
010740,000611: 07,2563 75015 MASK PRIO3 # SEE IF X, Y MARK MADE
010741,000612: 07,2564 54001 TS L
010742,000613:
|
Page 260 |
010744,000615: 07,2565 35015 CA PRIO3
010745,000616: 07,2566 00006 EXTEND
010746,000617: 07,2567 06001 RXOR LCHAN
010747,000618: 07,2570 10000 CCS A
010748,000619: 07,2571 12576 TCF REMARK # NOT PAIR YET, DISPLAY MARK ACTION
010749,000620: 07,2572 41307 CS MARKSTAT # MARK PAIR COMPLETE - SET BIT14
010750,000621: 07,2573 74736 MASK BIT14
010751,000622: 07,2574 27307 ADS MARKSTAT
010752,000623: 07,2575 12576 TCF REMARK # GO DISPLAY V54
010753,000624:
|
Page 261 |
010755,000626: 07,2576 35015 REMARK CAF PRIO3 # BITS 10 AND 11
010756,000627: 07,2577 71307 MASK MARKSTAT
010757,000628: 07,2600 00006 EXTEND
010758,000629: 07,2601 74746 MP BIT6 # SHIFT MARK IDS TO BE 0 TO 3 FOR INDEX
010759,000630: 07,2602 55552 TS MKDEX # STORE VERB INDEX
010760,000631: 07,2603 35025 SURFJOB CAF PRIO15
010761,000632: 07,2604 05072 TC NOVAC # ENTER JOB TO CHANGE DISPLAY TO
010762,000633: 07,2605 E7,1551 EBANK= XYMARK # REQUEST NEXT ACTION
010763,000634: 07,2605 02610 16067 2CADR CHANGEVB
010764,000635:
010765,000636: 07,2607 05270 TC RESUME
010766,000637:
010767,000638: 07,2610 02513 CHANGEVB TC MARKTYPE
010768,000639: 07,2611 12626 TCF DSPV6N79 # SURFACE - DISPLAY V 06 N79
010769,000640: 07,2612 51552 INDEX MKDEX # INFLIGHT - PICK UP MARK VB INDEX
010770,000641: 07,2613 32615 CAF MKVB54
010771,000642: 07,2614 02211 TC PASTIT # PASTE UP NEXT MK VERB DISPLAY
010772,000643:
010773,000644: # THE FOUR MKVBS ARE INDEXED - THEIR ORDER CANNOT BE CHANGED
010774,000645:
010775,000646: 07,2615 15507 MKVB54 VN 5471 # MAKE X OR Y MARK
010776,000647: 07,2616 15307 MKVB53 VN 5371 # MAKE Y MARK
010777,000648: 07,2617 15107 MKVB52 VN 5271 # MAKE X MARK
010778,000649: 07,2620 15507 MKVB54* VN 5471 # MAKE X OR Y MARK
010779,000650: 07,2621 04000 00000 DP1/8 2DEC .125
010780,000651:
010781,000652: 07,2623 00034 OCT34 OCT 34
010782,000653: 07,2624 01507 V06N71 VN 671
010783,000654: 07,2625 01517 V06N79* VN 679
010784,000655:
|
Page 262 |
010786,000657: # ROUTINE TO REQUEST CURSOR AND SPIRAL MEASUREMENTS
010787,000658: 07,2626 COUNT* $$/R59
010788,000659:
010789,000660: 07,2626 32625 DSPV6N79 CAF V06N79* # CURSOR - SPIRAL DISPLAY
010790,000661: 07,2627 04616 TC BANKCALL
010791,000662: 07,2630 20334 CADR GOMARKF
010792,000663:
010793,000664: 07,2631 12060 TCF KILLAOT # V34 - DOES GOTOPOOH
010794,000665: 07,2632 12640 TCF SURFEND # V33 - PROCEED, END MARKING
010795,000666: 07,2633 34746 CAF BIT6 # IF V32 (OCT40) IN MPAC DO RECYCLE
010796,000667: 07,2634 70154 MASK MPAC # OTHERWISE IT IS LOAD VB ENTER SO
010797,000668: 07,2635 10000 CCS A # RE-DISPLAY V06N79
010798,000669: 07,2636 12644 TCF SURFAGAN # VB32 - RECYCLE
010799,000670: 07,2637 12626 TCF DSPV6N79 # ENTER
010800,000671:
010801,000672: 07,2640 44736 SURFEND CS BIT14 # SET BIT14 TO SHOW MARK END
010802,000673: 07,2641 71307 MASK MARKSTAT
010803,000674: 07,2642 64736 AD BIT14
010804,000675: 07,2643 55307 TS MARKSTAT
010805,000676:
010806,000677: 07,2644 31235 SURFAGAN CA CURSOR
010807,000678: 07,2645 51552 INDEX MKDEX # HOLDS VAC AREA POINTER FOR SURF MARKING
010808,000679: 07,2646 54001 TS 1 # STORE CURSOR SP 2COMP
010809,000680: 07,2647 31237 CA SPIRAL
010810,000681: 07,2650 51552 INDEX MKDEX
010811,000682: 07,2651 54003 TS 3 # STORE SPIRAL
010812,000683:
010813,000684: 07,2652 41307 CS MARKSTAT # IF BIT 14 SET - END MARKING
010814,000685: 07,2653 74736 MASK BIT14
010815,000686: 07,2654 00006 EXTEND
010816,000687: 07,2655 12216 BZF MARKCHEX
010817,000688: 07,2656 31550 CA MARKCNTR # THIS IS RECYCLE - SEE IF 5 MARKS ALREADY
010818,000689: 07,2657 64753 AD ONE
010819,000690: 07,2660 40000 COM
010820,000691: 07,2661 64756 AD FIVE
010821,000692: 07,2662 00006 EXTEND
010822,000693: 07,2663 62453 BZMF 5MKALARM # CANT RECYCLE - TO MANY MARKS - ALARM
010823,000694: 07,2664 25550 INCR MARKCNTR # OF FOR RECYCLE - INCR COUNTER
010824,000695: 07,2665 12205 TCF GETMKS +3 # GO DISPLAY MARK VB
010825,000696:
End of include-file AOTMARK.agc. Parent file is MAIN.agc