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. |
011202,000002: ## Copyright: Public domain.
011203,000003: ## Filename: AOTMARK.agc
011204,000004: ## Purpose: A section of LUM69 revision 2.
011205,000005: ## It is part of the reconstructed source code for the flown
011206,000006: ## version of the flight software for the Lunar Module's (LM)
011207,000007: ## Apollo Guidance Computer (AGC) for Apollo 10. The code has
011208,000008: ## been recreated from a copy of Luminary revsion 069, using
011209,000009: ## changes present in Luminary 099 which were described in
011210,000010: ## Luminary memos 75 and 78. The code has been adapted such
011211,000011: ## that the resulting bugger words exactly match those specified
011212,000012: ## for LUM69 revision 2 in NASA drawing 2021152B, which gives
011213,000013: ## relatively high confidence that the reconstruction is correct.
011214,000014: ## Reference: pp. 259-276
011215,000015: ## Assembler: yaYUL
011216,000016: ## Contact: Ron Burkey <info@sandroid.org>.
011217,000017: ## Website: www.ibiblio.org/apollo/index.html
011218,000018: ## Mod history: 2019-07-27 MAS Created from Luminary 69.
011219,000019:
|
Page 259 |
011221,000021: 12,2000 BANK 12
011222,000022: 07,2000 SETLOC AOTMARK1
011223,000023: 07,2000 BANK
011224,000024:
011225,000025: 07,2000 E7,1547 EBANK= XYMARK
011226,000026: 07,2000 COUNT* $$/MARK
011227,000027:
011228,000028: 07,2000 00004 AOTMARK INHINT
011229,000029: 07,2001 11312 CCS MARKSTAT # SEE IF AOTMARK BUSY
011230,000030: 07,2002 02004 TC +2 # MARK SYSTEM BUSY-DO ALARM
011231,000031: 07,2003 02006 TC EXTVBCHK
011232,000032: 07,2004 05652 TC POODOO
011233,000033: 07,2005 00105 OCT 00105
011234,000034:
011235,000035: 07,2006 36241 EXTVBCHK CAF SIX # SEE IF EXT. VERB WORKING
011236,000036: 07,2007 71044 MASK EXTVBACT
011237,000037: 07,2010 10000 CCS A
011238,000038: 07,2011 12044 TCF MKABORT # YES-ABORT
011239,000039:
011240,000040: 07,2012 34752 CAF BIT2 # NO-DISALLOW SOME EXTENDED VERB ACTION
011241,000041: 07,2013 27044 ADS EXTVBACT # BIT2 RESET IN ENDMARK
011242,000042: 07,2014 10400 MKVAC CCS VAC1USE # LOOK FOR A VAC AREA-DO ABORT IF
011243,000043: 07,2015 12031 TCF MKVACFND # NONE AVAILABLE
011244,000044: 07,2016 10454 CCS VAC2USE
011245,000045: 07,2017 12031 TCF MKVACFND
011246,000046: 07,2020 10530 CCS VAC3USE
011247,000047: 07,2021 12031 TCF MKVACFND
011248,000048: 07,2022 10604 CCS VAC4USE
011249,000049: 07,2023 12031 TCF MKVACFND
011250,000050: 07,2024 10660 CCS VAC5USE
011251,000051: 07,2025 12031 TCF MKVACFND
011252,000052: 07,2026 52134 DXCH BUF2
011253,000053: 07,2027 05710 TC BAILOUT1 # ALL VAC AREAS OCCUPIED - ABORT.
011254,000054: 07,2030 01207 OCT 01207
011255,000055:
011256,000056: 07,2031 64752 MKVACFND AD TWO
011257,000057: 07,2032 55312 TS MARKSTAT # STORE VAC ADR IN LOW 9 OF MARKSTAT
011258,000058:
011259,000059: 07,2033 34755 CAF ZERO
011260,000060: 07,2034 51312 INDEX MARKSTAT
011261,000061: 07,2035 53777 TS 0 -1 # ZERO IN VACUSE REG TO SHOW VAC OCCUPIED
011262,000062:
011263,000063: 07,2036 35025 CAF PRIO15
011264,000064: 07,2037 05105 TC FINDVAC # SET UP JOB FOR GETDAT
011265,000065: 07,2040 E7,1547 EBANK= XYMARK
011266,000066: 07,2040 02060 16067 2CADR GETDAT
011267,000067:
011268,000068: 07,2042 00003 RELINT
011269,000069: 07,2043 14631 TCF SWRETURN
011270,000070:
|
Page 260 |
011272,000072: 07,2044 52134 MKABORT DXCH BUF2
011273,000073: 07,2045 05710 TC BAILOUT1 # CONFLICT WITH EXTENDED VERB
011274,000074: 07,2046 01211 OCT 01211
011275,000075:
011276,000076: 07,2047 34755 MKRELEAS CAF ZERO
011277,000077: 07,2050 57312 XCH MARKSTAT # SET MARKSTAT TO ZERO
011278,000078: 07,2051 75004 MASK LOW9 # PICK UP VAC AREA ADR
011279,000079: 07,2052 10000 CCS A
011280,000080: 07,2053 50000 INDEX A
011281,000081: 07,2054 54000 TS 0 # SHOW MKVAC AREA AVAILABLE
011282,000082: 07,2055 34753 CAF ONE
011283,000083: 07,2056 04674 TC IBNKCALL
011284,000084: 07,2057 17640 CADR GOODEND # GO WAKE UP CALLING JOB
011285,000085:
|
Page 261 |
011287,000087: 07,2060 41312 GETDAT CS MARKSTAT # SET BIT12 TO DISCOURAGE MARKRUPT
011288,000088: 07,2061 74740 MASK BIT12 # BIT12 RESET AT GETMARK
011289,000089: 07,2062 27312 ADS MARKSTAT
011290,000090:
011291,000091: 07,2063 32330 CAF V01N71 # DISPLAY DETENT AND STAR CODE
011292,000092: 07,2064 04616 TC BANKCALL
011293,000093: 07,2065 20212 CADR GOMARKF
011294,000094:
011295,000095: 07,2066 06001 TC GOTOPOOH # V34-TERMINATE
011296,000096: 07,2067 12071 TCF DODAT # V33-PROCEED-USE THIS STAR FOR MARKS
011297,000097: 07,2070 12060 ENTERDAT TCF GETDAT # ENTER-REDISPLAY STAR CODE
011298,000098:
011299,000099: 07,2071 37743 DODAT CAF HIGH9 # PICK DETENT CODE FROM BITS7-9 OF AOTCODE
011300,000100: 07,2072 70735 MASK AOTCODE # AND SEE IF CODE IS 1,2 OR 3
011301,000101: 07,2073 00006 EXTEND
011302,000102: 07,2074 74743 MP BIT9
011303,000103: 07,2075 55547 TS XYMARK # STORE DETENT
011304,000104:
011305,000105: 07,2076 00006 EXTEND
011306,000106: 07,2077 62060 BZMF GETDAT # NO GOOD-MAKE REQUEST AGAIN
011307,000107:
011308,000108: 07,2100 74751 MASK BIT3 # SEE IF DETENT CODE 4 OR 5
011309,000109: 07,2101 00006 EXTEND
011310,000110: 07,2102 12123 BZF CODE123 # NOT 4 OR 5, MUST BE 1,2 OR 3
011311,000111:
011312,000112: 07,2103 COUNT* $$/COAS
011313,000113:
011314,000114: 07,2103 32331 CODE4OR5 CAF V06N87* # CODE 4 OR 5, GET OPTIC AXIS CALIBRATIONS
011315,000115: 07,2104 04616 TC BANKCALL # AZ AND EL OF SIGHTING DEVICE FROM ASTRO
011316,000116: 07,2105 20212 CADR GOMARKF
011317,000117:
011318,000118: 07,2106 06001 TC GOTOPOOH # V34-TERMINATE
011319,000119: 07,2107 12111 TCF +2 # PROCEED
011320,000120: 07,2110 12103 TCF CODE4OR5 # ON ENTER, RECYCLE
011321,000121: 07,2111 00006 EXTEND
011322,000122: 07,2112 31350 DCA AZ # PICK UP AZ AND EL IN SP 2S COMP
011323,000123: 07,2113 50120 INDEX FIXLOC
011324,000124: 07,2114 52011 DXCH 8D # STORE IN 8D AND 9D OF LOCAL VAC
011325,000125: 07,2115 34753 CAF BIT1 # IF CODE 4, REAR AOT POSITIONS USED
011326,000126: 07,2116 71547 MASK XYMARK # SO CALC APPARENT ROTATION
011327,000127: 07,2117 00006 EXTEND # IF CODE 5, BACKUP, ZERO ROTATION
011328,000128: 07,2120 12133 BZF CODE4 # REAR AOT DETENTS TO BE USED
011329,000129: 07,2121 34755 CAF ZERO # BACKUP SYSTEM TO BE USED
011330,000130: 07,2122 12137 TCF CODE5
011331,000131:
011332,000132: 07,2123 COUNT* $$/MARK
011333,000133:
011334,000134: 07,2123 51547 CODE123 INDEX XYMARK # INDEX DET CODE 1,2 OR 3
011335,000135: 07,2124 31406 CA AOTEL -1
011336,000136: 07,2125 50120 INDEX FIXLOC
011337,000137:
|
Page 262 |
011339,000139: 07,2126 54011 TS 9D # STORE ELEVATION IN VAC+9D
011340,000140:
011341,000141: 07,2127 51547 INDEX XYMARK # INDEX DET CODE 1,2 OR 3
011342,000142: 07,2130 31403 CA AOTAZ -1
011343,000143: 07,2131 50120 INDEX FIXLOC
011344,000144: 07,2132 54010 TS 8D # STORE AZIMUTH IN VAC+8D
011345,000145:
011346,000146: 07,2133 31405 CODE4 CA AOTAZ +1 # COMPENSATION FOR APPARENT RATATION OF
011347,000147: 07,2134 00006 EXTEND # AOT FIELD OF VIEW IN LEFT AND RIGTHT
011348,000148: 07,2135 50120 INDEX FIXLOC # DETENTS IS STORED IN VAC +10D IN SP
011349,000149: 07,2136 20010 MSU 8D # PRECISION ONES COMPLEMENT
011350,000150: 07,2137 50120 CODE5 INDEX FIXLOC
011351,000151: 07,2140 54012 TS 10D # ROT ANGLE
011352,000152:
011353,000153: 07,2141 06036 TC INTPRET # COMPUTE X AND Y PLANE VECTORS
011354,000154:
|
Page 263 |
011356,000156: # THE OPTAXIS SUBROUTINE COMPUTES THE X AND Y MARK PLANE VECS AND
011357,000157: # AND ROTATES THEM THRU THE APPARENT FIELD OF VIEW ROTATION UNIQUE TO AOT
011358,000158: # OPTAXIS USES OANB TO COMPUTE THE OPTIC AXIS
011359,000159: # INPUT-AZIMUTH ANGLE IN SINGLE PREC AT CDU SCALE IN 8D OF JOB VAC
011360,000160: # ELEVATION ANGLE IN SINGLE PREC AT CDU SCALE IN 9D OF JOB VAC
011361,000161: # ROTATION ANGLE IN SINGLE PREC 1S COMP SCALED BY PI IN 10D OF VAC
011362,000162: # OUTPUT-OPTIC AXIS VEC IN NB COORDS IN SCAXIS
011363,000163: # X-MARK PLANE 1/4VEC IN NB COORDS AT 18D OF JOB VAC
011364,000164: # Y-MARK PLANE 1/4VEC IN NB COORDS AT 12D OF JOB VAC
011365,000165:
011366,000166: 07,2142 77624 OPTAXIS CALL # GO COMPUTE OA AND X AND Y PLANE VECS
011367,000167: 07,2143 13370 OANB
011368,000168: 07,2144 70535 SLOAD SR1 # LOAD APP ROTATION IN ONES COMP
011369,000169: 07,2145 00013 10D # RESCALE BY 2PI
011370,000170: 07,2146 73406 PUSH SIN # 1/2SIN(ROT) 0-1
011371,000171: 07,2147 71525 PDDL COS
011372,000172: 07,2150 74206 PUSH VXSC # 1/2COS(ROT) 2-3
011373,000173: 07,2151 00023 18D
011374,000174: 07,2152 74325 PDDL VXSC # 1/4COS(ROT)UYP 4-9
011375,000175: 07,2153 00001 0
011376,000176: 07,2154 00031 24D # 1/4SIN(ROT)UXP
011377,000177: 07,2155 45445 BVSU STADR # UP 4-9
011378,000178: 07,2156 63762 STODL 12D # YPNB=1/4(COS(ROT)UYP-SIN(ROT)UXP)
011379,000179: 07,2157 65361 VXSC PDDL # UP 2-3 UP 0-1 FOR EXCHANGE
011380,000180: 07,2160 00031 24D # 1/4COS(ROT)UXP PUSH 0-5
011381,000181: 07,2161 53361 VXSC VAD # 1/4SIN(ROT)UYP
011382,000182: 07,2162 00023 18D # UP 0-5
011383,000183: 07,2163 77626 STADR
011384,000184: 07,2164 53754 STOVL 18D # XPNB=1/4(COS(ROT)UXP+SIN(ROT)UYP)
011385,000185: 07,2165 22275 LO6ZEROS # INITIALIZE AVE STAR VEC ACCUMULATOR
011386,000186: 07,2166 02715 STORE STARAD +6
011387,000187: 07,2167 77776 EXIT
011388,000188: 07,2170 12202 TCF GETMKS
011389,000189:
|
Page 264 |
011391,000191: # THE OANB SUBROUTINE COMPUTES THE OPTIC AXIS OF THE SIGHTING INSTRUMENT
011392,000192: # FROM AZIMUTH AND ELEVATION INPUT FROM THE ASTRONAUT.
011393,000193: # INPUT- AZIMUTH ANGLE IN SINGLE PREC 2S COMP IN 8D OF JOB VAC
011394,000194: # ELEVATION ANGLE IN SINGLE PREC 2S COMP IN 9D OF VAC
011395,000195: # OUTPUT-OPTIC AXIS IN NB COORDS. IN SCAXIS
011396,000196: # X-PLANE 1/2VEC IN NB COORDS AT 24D OF VAC
011397,000197: # Y-PLANE 1/2VEC IN NB COORDS AT 18D OF VAC
011398,000198:
011399,000199: 05,3370 BANK 05
011400,000200: 05,2000 SETLOC AOTMARK2
011401,000201: 05,2000 BANK
011402,000202:
011403,000203: 05,3370 COUNT* $$/MARK
011404,000204:
011405,000205: 05,3370 44001 OANB SETPD STQ
011406,000206: 05,3371 00001 0
011407,000207: 05,3372 02736 GCTR # STORE RETURN
011408,000208: 05,3373 47135 SLOAD RTB
011409,000209: 05,3374 00012 9D # PICK UP SP ELV
011410,000210: 05,3375 21465 CDULOGIC
011411,000211: 05,3376 71406 PUSH COS
011412,000212: 05,3377 73525 PDDL SIN # 1/2COS(ELV) PD 0-1
011413,000213: 05,3400 77626 STADR
011414,000214: 05,3401 60016 STODL SCAXIS # OAX=1/2SIN(ELV)
011415,000215: 05,3402 00011 8D # PICK UP AZ SP
011416,000216: 05,3403 77634 RTB
011417,000217: 05,3404 21465 CDULOGIC
011418,000218: 05,3405 71406 PUSH COS
011419,000219: 05,3406 00025 STORE 20D # STORE UYP(Y) 20-21
011420,000220: 05,3407 73525 PDDL SIN # 1/2COS(AZ) PD 2-3
011421,000221: 05,3410 57406 PUSH DCOMP # PUSH 1/2SIN(AZ) 4-5
011422,000222: 05,3411 14027 STODL 22D # STORE UYP(Z) 22-23
011423,000223: 05,3412 22275 LO6ZEROS
011424,000224: 05,3413 14023 STODL 18D # STORE UYP(X) 18-19 UP 4-5
011425,000225: 05,3414 72405 DMP SL1
011426,000226: 05,3415 00001 0
011427,000227: 05,3416 17763 STODL SCAXIS +2 # OAY=1/2COS(ELV)SIN(AZ)
011428,000228: 05,3417 72405 DMP SL1 # UP 2-3
011429,000229: 05,3420 77626 STADR # UP 0-1
011430,000230: 05,3421 50012 STOVL SCAXIS +4 # OAZ=1/2COS(ELV)COS(AZ)
011431,000231: 05,3422 00023 18D # LOAD UYP VEC
011432,000232: 05,3423 53435 VXV UNIT
011433,000233: 05,3424 03761 SCAXIS # UXP VEC=UYP X OA
011434,000234: 05,3425 00031 STORE 24D # STORE UXP
011435,000235: 05,3426 77650 GOTO
011436,000236: 05,3427 02736 GCTR
011437,000237:
|
Page 265 |
011439,000239: # SURFSTAR COMPUTES A STAR VECTOR IN SM COORDINATES FOR LUNAR
011440,000240: # SURFACE ALIGNMENT AND EXITS TO AVEIT TO AVERAGE STAR VECTORS.
011441,000241: # GIVEN X-MARK PLANE 1/4 VEC IN NB AT 18D OF LOCAL VAC
011442,000242: # Y-MARK PLANE 1/4 VEC IN NB AT 12D OF LOCAL VAC
011443,000243: # CURSOR SP 2COMP AT POSITION 1 OF INDEXED MARKVAC
011444,000244: # SPIRAL SP 2COMP AT POSITION 3 OF INDEXED MARKVAC
011445,000245: # CDUY,Z,X AT POSITIONS 0,2,4 OF INDEXED MARKVAC
011446,000246: 15,2000 BANK 15
011447,000247: 15,2000 SETLOC P50S
011448,000248: 15,2000 BANK
011449,000249: 15,2000 COUNT* $$/R59
011450,000250:
011451,000251: 15,2000 77773 SURFSTAR VLOAD*
011452,000252: 15,2001 00001 0,1 # PUT X-MARK CDUS IN CDUSPOT FOR TRG*NBSM
011453,000253: 15,2002 00767 STORE CDUSPOT
011454,000254: 15,2003 47133 SLOAD* RTB
011455,000255: 15,2004 00002 1,1 # PICK UP YROT
011456,000256: 15,2005 21465 CDULOGIC
011457,000257: 15,2006 00031 STORE 24D # STORE CURSOR FOR SPIRAL COMP (REVS)
011458,000258: 15,2007 77654 BZE
011459,000259: 15,2010 16171 YZCHK # IF YROT ZERO-SEE IF SROT ZERO
011460,000260: 15,2011 71406 JUSTZY PUSH COS
011461,000261: 15,2012 73525 PDDL SIN # 1/2COS(YROT) 0-1
011462,000262: 15,2013 65361 VXSC PDDL # UP 0-1 1/8SIN(YROT)UXP 0-5
011463,000263: 15,2014 00023 18D
011464,000264: 15,2015 52361 VXSC VSU # UP 0-5
011465,000265: 15,2016 00015 12D # UYP
011466,000266: 15,2017 47256 UNIT VXV
011467,000267: 15,2020 03761 SCAXIS
011468,000268: 15,2021 41456 UNIT PUSH
011469,000269: 15,2022 47133 SLOAD* RTB
011470,000270: 15,2023 00004 3,1 # PICK UP SPIRAL
011471,000271: 15,2024 21465 CDULOGIC
011472,000272: 15,2025 00033 STORE 26D # STORE SPIRAL (REVS)
011473,000273: 15,2026 43225 DSU DAD
011474,000274: 15,2027 00031 24D
011475,000275: 15,2030 32047 ABOUTONE
011476,000276: 15,2031 77605 DMP
011477,000277: 15,2032 32534 DP1/12
011478,000278: 15,2033 00033 STORE 26D # SEP=(360 + SPIRAL - CURSOR)/12
011479,000279: 15,2034 74356 SIN VXSC # UP 0-5
011480,000280: 15,2035 65372 VSL1 PDDL # 1/2SIN(SEP)(UPP X OA) 0-5
011481,000281: 15,2036 00033 26D
011482,000282: 15,2037 74346 COS VXSC
011483,000283: 15,2040 03761 SCAXIS
011484,000284: 15,2041 53372 VSL1 VAD # UP 0-5
011485,000285: 15,2042 45056 JUSTOA UNIT CALL
011486,000286: 15,2043 47570 TRG*NBSM
011487,000287: 15,2044 34031 STCALL 24D # STAR VEC IN SM
011488,000288: 15,2045 16276 AVEIT # GO AVERAGE
011489,000289:
|
Page 266 |
011491,000291: 15,2046 37777 37775 ABOUTONE 2DEC .99999999
011492,000292: 15,2050 15,2533 DP1/12 EQUALS DEG30 # .08333333
011493,000293: 07,2171 BANK 7
011494,000294: 07,2000 SETLOC AOTMARK1
011495,000295: 07,2000 BANK
011496,000296: 07,2171 COUNT* $$/MARK
011497,000297: 07,2171 53133 YZCHK SLOAD* BZE # YROT ZERO AND IF SROT ZERO FORCE STAR
011498,000298: 07,2172 00004 3,1 # ALONG OPTIC AXIS
011499,000299: 07,2173 16177 YSZERO
011500,000300: 07,2174 52145 DLOAD GOTO
011501,000301: 07,2175 00031 24D
011502,000302: 07,2176 32011 JUSTZY # SROT NOT ZERO-CONTINUE NORMALLY
011503,000303: 07,2177 52175 YSZERO VLOAD GOTO
011504,000304: 07,2200 03761 SCAXIS
011505,000305: 07,2201 32042 JUSTOA
011506,000306:
|
Page 267 |
011508,000308: # THE GETMKS ROUTINE INITIALIZES THE SIGHTING MARK PROCEDURE
011509,000309:
011510,000310: 07,2202 34755 GETMKS CAF ZERO # INITIALIZE MARK ID REGISTER AND MARK CNT
011511,000311: 07,2203 55547 TS XYMARK
011512,000312: 07,2204 55546 TS MARKCNTR
011513,000313: 07,2205 35004 CAF LOW9 # ZERO BITS10 TO 15 RETAINING MKVAC ADR
011514,000314: 07,2206 71312 MASK MARKSTAT
011515,000315: 07,2207 55312 TS MARKSTAT
011516,000316: 07,2210 32621 CAF MKVB54* # DISPLAY VB54 INITIALLY
011517,000317: 07,2211 04616 PASTIT TC BANKCALL
011518,000318: 07,2212 20223 CADR GOMARK4
011519,000319:
011520,000320: 07,2213 06001 TC GOTOPOOH # VB34 TERMINATE-THIS RELEASES MKVAC AREA
011521,000321: 07,2214 12216 TCF MARKCHEX # VB33-PROCEED, GOT MARKS, COMPUTE LOS
011522,000322: 07,2215 12060 TCF GETDAT # ENTER- RECYCLE TO V01N71
011523,000323:
011524,000324: 07,2216 41312 MARKCHEX CS MARKSTAT # SET BIT12 TO DISCOURAGE MARKRUPT
011525,000325: 07,2217 74740 MASK BIT12
011526,000326: 07,2220 27312 ADS MARKSTAT
011527,000327: 07,2221 75004 MASK LOW9
011528,000328: 07,2222 55547 TS XYMARK # JAM MARK VAC ADR IN XYMARK FOR AVESTAR
011529,000329: 07,2223 34755 CAF ZERO
011530,000330: 07,2224 55550 TS MKDEX # SET MKDEX ZERO FOR LOS VEC CNTR
011531,000331: 07,2225 31312 CA MARKSTAT
011532,000332: 07,2226 75015 MASK PRIO3 # SEE IF LAST MK PARI COMPLETE
011533,000333: 07,2227 54001 TS L
011534,000334: 07,2230 35015 CAF PRIO3 # BITS10 AND 11
011535,000335: 07,2231 00006 EXTEND
011536,000336: 07,2232 06001 RXOR LCHAN
011537,000337: 07,2233 00006 EXTEND
011538,000338: 07,2234 12241 BZF AVESTAR # LAST PAIR COMPLETE-GO COMPUTE LOS
011539,000339: 07,2235 11546 CNTCHK CCS MARKCNTR # NO PAIR SHOWING-SEE IF PAIR IN HOLD
011540,000340: 07,2236 12240 TCF +2 # PAIR BURIED-DECREMENT COUNTER
011541,000341: 07,2237 12325 TCF MKALARM # NO PAIR-ALARM
011542,000342: 07,2240 55546 TS MARKCNTR # STORE DECREMENTED COUNTER
011543,000343:
011544,000344: 07,2241 34740 AVESTAR CAF BIT12 # INITIALIZE MKDEX FOR STAR LOS COUNTER
011545,000345: 07,2242 27550 ADS MKDEX # MKDEX WAS INITIALIZED ZERO IN MARKCHEX
011546,000346: 07,2243 41546 CS MARKCNTR
011547,000347: 07,2244 00006 EXTEND
011548,000348: 07,2245 76241 MP SIX # GET C(L) = - 6 MARKCNTR
011549,000349: 07,2246 41547 CS XYMARK
011550,000350: 07,2247 60001 AD L # ADD - MARK VAC ADR SET IN MARKCHEX
011551,000351: 07,2250 50120 INDEX FIXLOC
011552,000352: 07,2251 54046 TS X1 # JAM - CDU ADR OF X-MARK IN X1
011553,000353:
011554,000354: 07,2252 30120 CA FIXLOC # SET PD POINTER TO ZERO
011555,000355: 07,2253 54166 TS PUSHLOC
011556,000356:
011557,000357: 07,2254 06036 TC INTPRET
011558,000358:
|
Page 268 |
011560,000360: 07,2255 76614 BON VLOAD*
011561,000361: 07,2256 04307 SURFFLAG # IF ON SURFACE COMPUTE VEC AT SURFSTAR
011562,000362: 07,2257 32000 SURFSTAR
011563,000363: 07,2260 00002 1,1 # PUT Y-MARK CDUS IN CDUSPOT FOR TRG*NBSM
011564,000364: 07,2261 24767 STOVL CDUSPOT
011565,000365: 07,2262 00015 12D # LOAD Y-PLANE VECTOR IN NB
011566,000366: 07,2263 77624 CALL
011567,000367: 07,2264 47570 TRG*NBSM # CONVERT IT TO STABLE MEMBER
011568,000368: 07,2265 76606 PUSH VLOAD*
011569,000369: 07,2266 00001 0,1 # PUT X-MARK CDUS IN CDUSPOT FOR TRG*NBSM
011570,000370: 07,2267 24767 STOVL CDUSPOT
011571,000371: 07,2270 00023 18D # LOAD X-PLANE VECTOR IN NB
011572,000372: 07,2271 77624 CALL
011573,000373: 07,2272 47570 TRG*NBSM # CONVERT IT TO STABLE-MEMBER
011574,000374: 07,2273 53435 VXV UNIT # UNIT(XPSM * YPSM)
011575,000375: 07,2274 77626 STADR
011576,000376: 07,2275 77746 STORE 24D
011577,000377:
011578,000378: 07,2276 63335 AVEIT SLOAD PDVL # N(NUMBER OF VECS) IN 0-1
011579,000379: 07,2277 03551 MKDEX
011580,000380: 07,2300 00031 24D # LOAD CURRENT VECTOR
011581,000381: 07,2301 70322 VSR3 V/SC
011582,000382: 07,2302 00001 0
011583,000383: 07,2303 14031 STODL 24D # VEC/N
011584,000384: 07,2304 00001 0
011585,000385: 07,2305 56225 DSU DDV
011586,000386: 07,2306 16623 DP1/8 # (N-1)/N
011587,000387: 07,2307 53361 VXSC VAD
011588,000388: 07,2310 02715 STARAD +6 # ADD VEC TO PREVIOUSLY AVERAGED VECTOR
011589,000389: 07,2311 00031 24D # (N-1)/N AVESTVEC + VEC/N
011590,000390: 07,2312 02715 STORE STARAD +6 # AVERAGE STAR VECTOR
011591,000391: 07,2313 02767 STORE STARSAV2
011592,000392: 07,2314 77776 EXIT
011593,000393: 07,2315 11546 CCS MARKCNTR # SEE IF ANOTHER MARK PAIR IN MKVAC
011594,000394: 07,2316 12240 TCF AVESTAR -1 # THERE IS-GO GET IT-DECREMENT COUNTER
011595,000395: 07,2317 34756 ENDMARKS CAF FIVE # NO MORE MARKS-TERMINATE AOTMARK
011596,000396: 07,2320 00004 INHINT
011597,000397: 07,2321 05203 TC WAITLIST
011598,000398: 07,2322 E7,1547 EBANK= XYMARK
011599,000399: 07,2322 02047 16067 2CADR MKRELEAS
011600,000400:
011601,000401: 07,2324 05472 TC ENDMARK
011602,000402:
011603,000403: 07,2325 05567 MKALARM TC ALARM # NOT A PAIR TO PROCESS-DO GETMKS
011604,000404: 07,2326 00111 OCT 111
011605,000405: 07,2327 12202 TCF GETMKS
011606,000406:
011607,000407: 07,2330 00307 V01N71 VN 171
011608,000408: 07,2331 01527 V06N87* VN 687
011609,000409:
|
Page 269 |
011611,000411: # MARKRUPT IS ENTERED FROM INTERUPT LEAD-INS AND PROCESSES CHANNEL 16
011612,000412: # CAUSED BY X,Y MARK OR MARK REJECT OR BY THE RATE OF DESCENT SWITCH
011613,000413:
011614,000414: 07,2332 54016 MARKRUPT TS BANKRUPT
011615,000415: 07,2333 30033 CA CDUY # STORE CDUS AND TIME NOW-THEN SEE IF
011616,000416: 07,2334 54063 TS ITEMP3 # WE NEED THEM
011617,000417: 07,2335 30034 CA CDUZ
011618,000418: 07,2336 54064 TS ITEMP4
011619,000419: 07,2337 30032 CA CDUX
011620,000420: 07,2340 54065 TS ITEMP5
011621,000421: 07,2341 00006 EXTEND
011622,000422: 07,2342 30025 DCA TIME2
011623,000423: 07,2343 52062 DXCH ITEMP1
011624,000424: 07,2344 56002 XCH Q
011625,000425: 07,2345 54012 TS QRUPT
011626,000426:
011627,000427: 07,2346 32624 CAF OCT34 # SEE IF X OR Y MARK OR MKREJECT
011628,000428: 07,2347 00006 EXTEND
011629,000429: 07,2350 02016 RAND NAVKEYIN
011630,000430: 07,2351 10000 CCS A
011631,000431: 07,2352 12354 TCF +2 # ITS A LIVE ONE-SEE IF ITS WANTED
011632,000432: 07,2353 12404 TCF SOMEKEY # ITS SOME OTHER KEY
011633,000433:
011634,000434: 07,2354 34740 CAF BIT12 # ARE WE ASKING FOR A MARK
011635,000435: 07,2355 71312 MASK MARKSTAT
011636,000436: 07,2356 10000 CCS A
011637,000437: 07,2357 05270 TC RESUME # DONT WANT MARK OR MKREJECT-DO NOTHING
011638,000438:
011639,000439: 07,2360 11312 CCS MARKSTAT # ARE MARKS BEING ACCEPTED
011640,000440: 07,2361 12365 TCF FINDKEY # THEY ARE-WHICH ONE IS IT
011641,000441: 07,2362 05567 TC ALARM # MARKS NOT BEING ACCEPTED-DO ALARM
011642,000442: 07,2363 00112 OCT 112
011643,000443: 07,2364 05270 TC RESUME
011644,000444:
011645,000445: 07,2365 34747 FINDKEY CAF BIT5 # SEE IF MARK REJECT
011646,000446: 07,2366 00006 EXTEND
011647,000447: 07,2367 02016 RAND NAVKEYIN
011648,000448: 07,2370 10000 CCS A
011649,000449: 07,2371 12461 TCF MKREJ # ITS A MARK REJECT
011650,000450:
011651,000451: 07,2372 34750 CAF BIT4 # SEE IF Y MARK
011652,000452: 07,2373 00006 EXTEND
011653,000453: 07,2374 02016 RAND NAVKEYIN
011654,000454: 07,2375 10000 CCS A
011655,000455:
011656,000456: 07,2376 12422 TCF YMKRUPT # ITS A Y MARK
011657,000457:
011658,000458: 07,2377 34751 CAF BIT3 # SEE IF X MARK
011659,000459: 07,2400 00006 EXTEND
011660,000460: 07,2401 02016 RAND NAVKEYIN
011661,000461:
|
Page 270 |
011663,000463: 07,2402 10000 CCS A
011664,000464: 07,2403 12416 TCF XMKRUPT # ITS A X MARK
011665,000465:
011666,000466: 07,2404 34776 SOMEKEY CAF OCT140 # NOT MARK OR MKREJECT-SEE IF DESCENT BITS
011667,000467: 07,2405 00006 EXTEND
011668,000468: 07,2406 02016 RAND NAVKEYIN
011669,000469: 07,2407 00006 EXTEND
011670,000470: 07,2410 12413 BZF +3 # IF NO BITS
011671,000471:
011672,000472: 07,2411 04635 TC POSTJUMP # IF DESCENT BITS
011673,000473: 07,2412 40115 CADR DESCBITS
011674,000474:
011675,000475: 07,2413 05567 TC ALARM # NO INBITS IN CHANNEL 16
011676,000476: 07,2414 00113 OCT 113
011677,000477:
011678,000478: 07,2415 05270 TC RESUME
011679,000479:
011680,000480: 07,2416 34755 XMKRUPT CAF ZERO
011681,000481: 07,2417 54070 TS RUPTREG1 # SET X MARK STORE INDEX TO ZERO
011682,000482: 07,2420 34742 CAF BIT10
011683,000483: 07,2421 12425 TCF +4
011684,000484: 07,2422 34753 YMKRUPT CAF ONE
011685,000485: 07,2423 54070 TS RUPTREG1 # SET Y MARK STORE INDEX TO ONE
011686,000486: 07,2424 34741 CAF BIT11
011687,000487: 07,2425 55547 TS XYMARK # SET MARK IDENTIFIATION
011688,000488:
011689,000489: 07,2426 02514 TC MARKTYPE # SEE IF SURFACE MARK
011690,000490: 07,2427 12521 TCF SURFSTOR # SURFACE MARK-JUST STORE CDUS
011691,000491:
011692,000492: 07,2430 34736 CAF BIT14 # GOT A MARK-SEE IF MARK PAIR MADE
011693,000493: 07,2431 71312 MASK MARKSTAT
011694,000494: 07,2432 00006 EXTEND
011695,000495: 07,2433 12444 BZF VERIFYMK # NOT A PAIR, NORMAL PROCEDURE
011696,000496: 07,2434 41546 CS MARKCNTR # GOT A PAIR, SEE IF ANOTHER CAN BE MADE
011697,000497: 07,2435 64751 AD FOUR # IF SO, INCREMENT POINTER,CLEAR BITS10,11
011698,000498: 07,2436 00006 EXTEND
011699,000499: 07,2437 62454 BZMF 5MKALARM # HAVE FIVE MARK PAIRS-DONT ALLOW MARK
011700,000500: 07,2440 25546 INCR MARKCNTR # OK FOR ANOTHER PAIR, INCR POINTER
011701,000501: 07,2441 47710 CS PRIO23 # CLEAR BITS10,11,14 FOR NEXT PAIR
011702,000502: 07,2442 71312 MASK MARKSTAT
011703,000503: 07,2443 55312 TS MARKSTAT
011704,000504:
011705,000505: 07,2444 31547 VERIFYMK CA XYMARK
011706,000506: 07,2445 71312 MASK MARKSTAT
011707,000507: 07,2446 10000 CCS A
011708,000508: 07,2447 12451 TCF +2 # THIS MARK NOT DESIRED
011709,000509: 07,2450 12526 TCF VACSTOR # MARK DESIRED - STORE CDUS
011710,000510: 07,2451 05567 TC ALARM
011711,000511: 07,2452 00114 OCT 114
011712,000512: 07,2453 05270 TC RESUME # RESUME-DISPLAY UNCHANGED-WAIT FOR ACTION
011713,000513:
|
Page 271 |
011715,000515: 07,2454 05567 5MKALARM TC ALARM # ATTEMPTING TO MAKE MORE THAN 5 MK PAIRS
011716,000516: 07,2455 00107 OCT 107
011717,000517: 07,2456 02514 TC MARKTYPE # SEE IF SURFACE MARK
011718,000518: 07,2457 12627 TCF DSPV6N79 # IT IS
011719,000519: 07,2460 05270 TC RESUME # DONT CHANGE DISPLAY-DO NOTHING
011720,000520:
|
Page 272 |
011722,000522: 07,2461 02514 MKREJ TC MARKTYPE # SEE IF SURFACE
011723,000523: 07,2462 12507 TCF SURFREJ # SURFACE-JUST CHECK MARK COUNTER
011724,000524:
011725,000525: 07,2463 35015 CAF PRIO3 # INFLIGHT-SEE IF MARKS MADE
011726,000526: 07,2464 71312 MASK MARKSTAT
011727,000527: 07,2465 10000 CCS A
011728,000528: 07,2466 12472 TCF REJECT # MARKS MADE-REJECT ONE
011729,000529: 07,2467 05567 REJALM TC ALARM # NO MARK TO REJECT-BAD PROCEDURE-ALARM
011730,000530: 07,2470 00115 OCT 115
011731,000531: 07,2471 05270 TC RESUME # DESIRED ACTION DISPLAYED
011732,000532:
011733,000533: 07,2472 44355 REJECT CS PRIO30 # ZERO BIT14,SHOW REJ.,SEE IF MARK SINCE
011734,000534: 07,2473 71312 MASK MARKSTAT # LAST REJECT
011735,000535: 07,2474 64737 AD BIT13
011736,000536: 07,2475 57312 XCH MARKSTAT
011737,000537: 07,2476 74737 MASK BIT13
011738,000538: 07,2477 10000 CCS A
011739,000539: 07,2500 12505 TCF REJECT2 # ANOTHER REJECT SET BIT 10+11 TO ZERO
011740,000540:
011741,000541: 07,2501 41547 CS XYMARK # MARK MADE SINCE REJECT-REJECT MARK IN 1D
011742,000542: 07,2502 71312 RENEWMK MASK MARKSTAT
011743,000543: 07,2503 55312 TS MARKSTAT
011744,000544: 07,2504 12577 TCF REMARK # GO REQUEST NEW MARK ACTION
011745,000545:
011746,000546: 07,2505 45015 REJECT2 CS PRIO3 # ON SECOND REJECT-DISPLAY VB53 AGAIN
011747,000547: 07,2506 12502 TCF RENEWMK
011748,000548:
011749,000549: 07,2507 11546 SURFREJ CCS MARKCNTR # IF MARK DECREMENT COUNTER
011750,000550: 07,2510 12512 TCF +2
011751,000551: 07,2511 12467 TCF REJALM # NO MARKS TO REJECT-ALARM
011752,000552: 07,2512 55546 TS MARKCNTR
011753,000553: 07,2513 05270 TC RESUME
011754,000554:
|
Page 273 |
011756,000556:
011757,000557:
011758,000558: # MARKTYPE TESTS TO SEE IF LEM ON LUNAR SURFACE. IF IT IS RETURN TO LOC+1
011759,000559:
011760,000560: 07,2514 40104 MARKTYPE CS FLAGWRD8 # SURFFLAG*******TEMPORARY*****
011761,000561: 07,2515 74744 MASK BIT8
011762,000562: 07,2516 10000 CCS A
011763,000563: 07,2517 24002 INCR Q # IF SURFACE MARK REUTNR TO LOC +1
011764,000564: 07,2520 00002 TC Q # IF INFLIGHT MARK RETURN TO LOC +2
011765,000565:
011766,000566: 07,2521 34755 SURFSTOR CAF ZERO # FOR SURFACE MARK ZERO MARK KIND INDEX
011767,000567: 07,2522 54070 TS RUPTREG1
011768,000568:
011769,000569: 07,2523 41312 CS MARKSTAT # SET BITS10,11 TO SHOW SURFACE MARK
011770,000570: 07,2524 75015 MASK PRIO3 # FOR MARKCHEX
011771,000571: 07,2525 27312 ADS MARKSTAT
011772,000572:
011773,000573: 07,2526 35004 VACSTOR CAF LOW9
011774,000574: 07,2527 71312 MASK MARKSTAT # STORE MARK VAC ADR IN RUPTREG2
011775,000575: 07,2530 54071 TS RUPTREG2
011776,000576: 07,2531 00006 EXTEND
011777,000577: 07,2532 30062 DCA ITEMP1 # PICK UP MARKTIME
011778,000578: 07,2533 53560 DXCH TSIGHT # STORE LAST MARK TIME
011779,000579: 07,2534 31546 CA MARKCNTR # 6 X MARKCNTR FOR STORE INDEX
011780,000580: 07,2535 00006 EXTEND
011781,000581: 07,2536 76241 MP SIX
011782,000582: 07,2537 56001 XCH L # GET INDEX FROM LOW ORDER PART
011783,000583: 07,2540 60071 AD RUPTREG2 # SET CDU STORE INDEX TO MARKVAC
011784,000584: 07,2541 26070 ADS RUPTREG1 # INCREMENT VAC PICKUP BY MARK FOR FLIGHT
011785,000585: 07,2542 55550 TS MKDEX # STORE HERE IN CASE OF SURFACE MARK
011786,000586: 07,2543 30063 CA ITEMP3
011787,000587: 07,2544 50070 INDEX RUPTREG1
011788,000588: 07,2545 54000 TS 0 # STORE CDUY
011789,000589: 07,2546 30064 CA ITEMP4
011790,000590: 07,2547 50070 INDEX RUPTREG1
011791,000591: 07,2550 54002 TS 2 # STORE CDUZ
011792,000592: 07,2551 30065 CA ITEMP5
011793,000593: 07,2552 50070 INDEX RUPTREG1
011794,000594: 07,2553 54004 TS 4 # STORE CDUX
011795,000595: 07,2554 02514 TC MARKTYPE # IF SURFACE MARK- JUST DO SURFJOB
011796,000596: 07,2555 12604 TCF SURFJOB
011797,000597:
011798,000598: 07,2556 34737 CAF BIT13 # CLEAR BIT13 TO SHOW MARK MADE
011799,000599: 07,2557 61547 AD XYMARK # SET MARK ID IN MARKSTAT
011800,000600: 07,2560 40000 COM
011801,000601: 07,2561 71312 MASK MARKSTAT
011802,000602: 07,2562 61547 AD XYMARK
011803,000603: 07,2563 55312 TS MARKSTAT
011804,000604: 07,2564 75015 MASK PRIO3 # SEE IF X, Y MARK MADE
011805,000605: 07,2565 54001 TS L
011806,000606:
|
Page 274 |
011808,000608: 07,2566 35015 CA PRIO3
011809,000609: 07,2567 00006 EXTEND
011810,000610: 07,2570 06001 RXOR LCHAN
011811,000611: 07,2571 10000 CCS A
011812,000612: 07,2572 12577 TCF REMARK # NOT PAIR YET, DISPLAY MARK ACTION
011813,000613: 07,2573 41312 CS MARKSTAT # MARK PAIR COMPLETE-SET BIT14
011814,000614: 07,2574 74736 MASK BIT14
011815,000615: 07,2575 27312 ADS MARKSTAT
011816,000616: 07,2576 12577 TCF REMARK # GO DISPLAY V54
011817,000617:
|
Page 275 |
011819,000619: 07,2577 35015 REMARK CAF PRIO3 # BITS 10 AND 11
011820,000620: 07,2600 71312 MASK MARKSTAT
011821,000621: 07,2601 00006 EXTEND
011822,000622: 07,2602 74746 MP BIT6 # SHIFT MARK IDS TO BE 0 TO 3 FOR INDEX
011823,000623: 07,2603 55550 TS MKDEX # STORE VERB INDEX
011824,000624: 07,2604 35025 SURFJOB CAF PRIO15
011825,000625: 07,2605 05072 TC NOVAC # ENTER JOB TO CHANGE DISPLAY TO
011826,000626: 07,2606 E7,1547 EBANK= XYMARK # REQUEST NEXT ACTION
011827,000627: 07,2606 02611 16067 2CADR CHANGEVB
011828,000628:
011829,000629: 07,2610 05270 TC RESUME
011830,000630:
011831,000631: 07,2611 02514 CHANGEVB TC MARKTYPE
011832,000632: 07,2612 12627 TCF DSPV6N79 # SURFACE-DISPLAY V 06 N 79
011833,000633: 07,2613 51550 INDEX MKDEX # INFLIGHT-PICK UP MARK VB INDEX
011834,000634: 07,2614 32616 CAF MKVB54
011835,000635: 07,2615 02211 TC PASTIT # PASTE UP NEXT MK VERB DISPLAY
011836,000636:
011837,000637: # THE FOUR MKVBS ARE INDEXED-THEIR ORDER CANNOT BE CHANGED
011838,000638:
011839,000639: 07,2616 15507 MKVB54 VN 5471 # MAKE X OR Y MARK
011840,000640: 07,2617 15307 MKVB53 VN 5371 # MAKE Y MARK
011841,000641: 07,2620 15107 MKVB52 VN 5271 # MAKE X MARK
011842,000642: 07,2621 15507 MKVB54* VN 5471 # MAKE X OR Y MARK
011843,000643: 07,2622 04000 00000 DP1/8 2DEC .125
011844,000644: 07,2624 00034 OCT34 OCT 34
011845,000645: 07,2625 01507 V06N71 VN 671
011846,000646: 07,2626 01517 V06N79* VN 679
011847,000647:
|
Page 276 |
011849,000649: # ROUTINE TO REQUEST CURSOR AND SPIRAL MEASUREMENTS
011850,000650: 07,2627 COUNT* $$/R59
011851,000651:
011852,000652: 07,2627 32626 DSPV6N79 CAF V06N79* # CURSOR-SPIRAL DISPLAY
011853,000653: 07,2630 04616 TC BANKCALL
011854,000654: 07,2631 20212 CADR GOMARKF
011855,000655:
011856,000656: 07,2632 16001 TCF GOTOPOOH # V34-TERMINATE
011857,000657: 07,2633 12641 TCF SURFEND # V33-PROCEED, END MARKING
011858,000658: 07,2634 34746 CAF BIT6 # IF V32(OCT40) IN MPAC DO RECYCLE
011859,000659: 07,2635 70154 MASK MPAC # OTHERWISE IT IS LOAD VB ENTER SO
011860,000660: 07,2636 10000 CCS A # RE-DISPLAY V06N79
011861,000661: 07,2637 12645 TCF SURFAGAN # VB32-RECYCLE
011862,000662: 07,2640 12627 TCF DSPV6N79 # ENTER
011863,000663:
011864,000664: 07,2641 44736 SURFEND CS BIT14 # SET BIT14 TO SHOW MARK END
011865,000665: 07,2642 71312 MASK MARKSTAT
011866,000666: 07,2643 64736 AD BIT14
011867,000667: 07,2644 55312 TS MARKSTAT
011868,000668:
011869,000669: 07,2645 31045 SURFAGAN CA CURSOR
011870,000670: 07,2646 51550 INDEX MKDEX # HOLDS VAC AREA POINTER FOR SURF MARKING
011871,000671: 07,2647 54001 TS 1 # STORE CURSOR SP 2COMP
011872,000672: 07,2650 31046 CA SPIRAL
011873,000673: 07,2651 51550 INDEX MKDEX
011874,000674: 07,2652 54003 TS 3 # STORE SPIRAL
011875,000675:
011876,000676: 07,2653 41312 CS MARKSTAT # IF BIT 14 SET-END MARKING
011877,000677: 07,2654 74736 MASK BIT14
011878,000678: 07,2655 00006 EXTEND
011879,000679: 07,2656 12216 BZF MARKCHEX
011880,000680: 07,2657 31546 CA MARKCNTR # THIS IS RECYCLE-SEE IF 5 MARKS ALREADY
011881,000681: 07,2660 64753 AD ONE
011882,000682: 07,2661 40000 COM
011883,000683: 07,2662 64756 AD FIVE
011884,000684: 07,2663 00006 EXTEND
011885,000685: 07,2664 62454 BZMF 5MKALARM # CANT RECYCLE-TO MANY MARKS-ALARM
011886,000686: 07,2665 25546 INCR MARKCNTR # OF FOR RECYCLE-INCR COUNTER
011887,000687: 07,2666 12205 TCF GETMKS +3 # GO DISPLAY MARK VB
End of include-file AOTMARK.agc. Parent file is MAIN.agc