Source Code

009452,000001: # Copyright: Public domain. 009453,000002: # Filename: SXTMARK.agc 009454,000003: # Purpose: Part of the source code for Comanche, build 055. It 009455,000004: # is part of the source code for the Command Module's 009456,000005: # (CM) Apollo Guidance Computer (AGC), Apollo 11. 009457,000006: # Assembler: yaYUL 009458,000007: # Reference: pp. 222-235 009459,000008: # Contact: Ron Burkey <info@sandroid.org>, 009460,000009: # Fabrizio Bernardini <fabrizio@spacecraft.it> 009461,000010: # Website: http://www.ibiblio.org/apollo. 009462,000011: # Mod history: 16/05/09 FB Transcription Batch 2 Assignment. 009463,000012: 009464,000013: # The contents of the "Comanche055" files, in general, are transcribed 009465,000014: # from scanned documents. 009466,000015: 009467,000016: # Assemble revision 055 of AGC program Comanche by NASA 009468,000017: # 2021113-051. April 1, 1969. 009469,000018: 009470,000019: # This AGC program shall also be referred to as Colossus 2A 009471,000020: 009472,000021: # Prepared by 009473,000022: # Massachussets Institute of Technology 009474,000023: # 75 Cambridge Parkway 009475,000024: # Cambridge, Massachusetts 009476,000025: 009477,000026: # under NASA contract NAS 9-4065. 009478,000027: 009479,000028: # Refer directly to the online document mentioned above for further 009480,000029: # information. Please report any errors to info@sandroid.org. 009481,000030: 009482,000031: # Page 222 009483,000032: # PROGRAM NAME: SXTMARK DATE: 5 APRIL 1967 009484,000033: # PROGRAM MODIFIED BY 258/278 PROGRAMMERS LOG SECTION SXTMARK 009485,000034: # MOD BY: R. MELANSON TO ADD DOCUMENTATION ASSEMBLY SUNDISK REV. 116 009486,000035: # 009487,000036: # FUNCTIONAL DESCRIPTION: 009488,000037: 009489,000038: # SXTMARK IS CALLED FROM INTERNAL ROUTINES WHICH MAY REQUIRE STAR OR LANDMARK MARKINGS BY THE ASTRONAUT. IF 009490,000039: # THE MARK SYSTEM IS NOT IN USE, SXTMARK RESERVES A VAC AREA FOR MARKING AND REQUESTS EXECUTION OF THE MKVB51 009491,000040: # ROUTINE VIA THE EXECUTIVE JOB PRIORITY LIST. R21 USES THIS ROUTINE TO DETERMINE IF THE MARK SYSTEM CAN BE 009492,000041: # USED. IF YES, SXTMARK RETURNS TO R21 TO PERFORM ITS OWN MARK REQUESTS VIA THE V51 FLASH. 009493,000042: 009494,000043: # CALLING SEQUENCE: 009495,000044: 009496,000045: # CAF (NO. MARK REQUESTS IN BITS 1-3 OF A) 009497,000046: # TC BANKCALL 009498,000047: # CADR SXTMARK 009499,000048: 009500,000049: # NORMAL EXIT MODE: 009501,000050: 009502,000051: # SWRETURN 009503,000052: 009504,000053: # ALARM OR ABORT EXIT MODE: 009505,000054: 009506,000055: # ABORT 009507,000056: 009508,000057: # OUTPUT: 009509,000058: 009510,000059: # 1) MARKSTAT CONTAINS MARK VALUE (BITS 14-12) AND VAC AREA ADDRESS 009511,000060: # 2) QPRET = VAC AREA POINTER VALUE 009512,000061: # 3) 1ST WORD OF RESERVED VAC AREA SET TO +0 009513,000062: # 4) PRIO32 PLACED IN A REGISTER 009514,000063: 009515,000064: # ERASABLE INITIALIZATION: 009516,000065: 009517,000066: # 1) BITS 1-3 OF A = NO. MARKS REQUESTED 009518,000067: # 2) BITS 2,3 OF EXTVBACT = 0 009519,000068: # 3) A VAC AREA MUST BE AVAILABLE (WORD 1 = ADDRESS OF VAC AREA) 009520,000069: 009521,000070: # DEBRIS: 009522,000071: 009523,000072: # A,Q,L,RUPTREG1,MARKSTAT,QPRET,BIT2 OF EXTVBACT 009524,000073: 009525,000074: 13,2036 BANK 13 009526,000075: 07,2000 SETLOC SXTMARKE 009527,000076: 07,2000 BANK 009528,000077: 009529,000078: 07,2002 E7,1725 EBANK= MRKBUF1 009530,000079: 07,2002 COUNT 07/SXTMK 009531,000080: 009532,000081: 07,2002 00004 SXTMARK INHINT 009533,000082: 07,2003 54070 TS RUPTREG1 # NUMBER OF MARKS WANTED 009534,000083: 009535,000084: 07,2004 36211 CAF SIX # BIT2 = MARKING SYSTEM IN USE 009536,000085: 07,2005 71044 MASK EXTVBACT # BIT3 = EXTENDED VERB IN PROGRESS 009537,000086: 07,2006 10000 CCS A 009538,000087: 07,2007 02013 TC MKABORT 009539,000088: # Page 223 009540,000089: 07,2010 35016 CAF BIT2 # NOT SET 009541,000090: 07,2011 27044 ADS EXTVBACT # SET IT, RESET IN ENDMARK 009542,000091: 07,2012 02015 TC MARKOK # YES, FIND VAC AREA 009543,000092: 009544,000093: 07,2013 07755 MKABORT TC BAILOUT 009545,000094: 07,2014 01211 OCT 01211 009546,000095: 07,2015 10400 MARKOK CCS VAC1USE # FIND VAC AREA 009547,000096: 07,2016 02031 TC MKVACFND 009548,000097: 07,2017 10454 CCS VAC2USE 009549,000098: 07,2020 02031 TC MKVACFND 009550,000099: 07,2021 10530 CCS VAC3USE 009551,000100: 07,2022 02031 TC MKVACFND 009552,000101: 07,2023 10604 CCS VAC4USE 009553,000102: 07,2024 02031 TC MKVACFND 009554,000103: 07,2025 10660 CCS VAC5USE 009555,000104: 07,2026 02031 TC MKVACFND 009556,000105: 07,2027 07755 TC BAILOUT 009557,000106: 07,2030 01207 OCT 01207 009558,000107: 009559,000108: 07,2031 65016 MKVACFND AD TWO # ADDRESS OF VAC AREA 009560,000109: 07,2032 55330 TS MARKSTAT 009561,000110: 07,2033 50000 INDEX A 009562,000111: 07,2034 54052 TS QPRET # STORE NEXT AVAILABLE MARK SLOT 009563,000112: 009564,000113: 07,2035 35021 CAF ZERO # STORE VAC AREA OCCUPIED 009565,000114: 07,2036 51330 INDEX MARKSTAT 009566,000115: 07,2037 53777 TS 0 -1 009567,000116: 009568,000117: 07,2040 05364 TC CHECKMM # BACKUP MARK ROUTINE USES SXTMARK 009569,000118: 07,2041 00065 MM 53 B-14 009570,000119: 07,2042 12044 TCF +2 009571,000120: 07,2043 14675 TCF SWRETURN 009572,000121: 07,2044 05364 TC CHECKMM 009573,000122: 07,2045 00066 MM 54 B-14 009574,000123: 07,2046 12050 TCF +2 009575,000124: 07,2047 14675 TCF SWRETURN 009576,000125: 07,2050 35004 CAF BIT12 # DESIRED NUMBER OF MARKS IN 12-14 009577,000126: 07,2051 00006 EXTEND 009578,000127: 07,2052 70070 MP RUPTREG1 009579,000128: 07,2053 56001 XCH L 009580,000129: 07,2054 27330 ADS MARKSTAT 009581,000130: 009582,000131: 07,2055 37667 CAF PRIO32 # ENTER MARK JOB 009583,000132: 07,2056 05134 TC NOVAC 009584,000133: 07,2057 1330 EBANK= MARKSTAT 009585,000134: 07,2057 02347 16062 2CADR MKVB51 009586,000135: 009587,000136: 07,2061 00003 RELINT 009588,000137: 07,2062 14675 TCF SWRETURN # SAME AS MODEEXIT 009589,000138: 009590,000139: # Page 224 009591,000140: # PROGRAM NAME: MKRELEAS DATE: 5 APRIL 1967 009592,000141: # PROGRAM MODIFIED BY 248/278 PROGRAMMERS LOG SECTION SXTMARK 009593,000142: # MOD BY: R. MELANSON TO ADD DOCUMENTATION ASSEMBLY SUNDISK REV. 116 009594,000143: 009595,000144: # FUNCTIONAL DESCRIPTION: 009596,000145: 009597,000146: # MKRELEAS IS EXECUTED BY INTERNAL ROUTINES TO RELEASE THE MARK SYSTEM TO MAKE IT AVAILABLE TO OTHER INTERNAL 009598,000147: # SYSTEM ROUTINES. IT ALSO CLEARS THE COARSE OPTICS FLAG BIT AND DISABLES THE OPTICS ERROR COUNTER. 009599,000148: 009600,000149: # CALLING SEQUENCE: 009601,000150: 009602,000151: # TC BANKCALL 009603,000152: # CADR MKRELEAS 009604,000153: 009605,000154: # NORMAL EXIT MODE: 009606,000155: 009607,000156: # SWRETURN 009608,000157: 009609,000158: # ALARM OR EXIT MODE: NONE 009610,000159: 009611,000160: # OUTPUT: 009612,000161: 009613,000162: # 1) BIT9 OPTMODES SET TO 0 009614,000163: # 2) OPTIND SET TO -1 009615,000164: # 3) 1ST WORD OF VAC AREA SET TO VAC ADDRESS TO SIGNIFY AVAILABILITY 009616,000165: # 4) MARKSTAT CLEARED 009617,000166: # 5) BIT2 CHANNEL 12 SET TO 0 009618,000167: 009619,000168: # ERASABLE INITIALIZATION: NONE 009620,000169: 009621,000170: # DEBRIS: 009622,000171: 009623,000172: # A,MARKSTAT,BIT9,OPTMODES OPTIND,BIT2 CHANNEL 12 009624,000173: 009625,000174: 07,2063 35021 MKRELEAS CAF ZERO # SHOW MARK SYSTEM NOW AVAILABLE 009626,000175: 07,2064 57330 XCH MARKSTAT 009627,000176: 07,2065 75046 MASK LOW9 009628,000177: 07,2066 10000 CCS A 009629,000178: 07,2067 50000 INDEX A 009630,000179: 07,2070 54000 TS 0 009631,000180: 07,2071 00004 MKRLEES INHINT 009632,000181: 07,2072 45007 CS BIT9 # COARSE OPTICS RETURN FLAG. 009633,000182: 07,2073 71331 MASK OPTMODES 009634,000183: 07,2074 55331 TS OPTMODES 009635,000184: 009636,000185: 07,2075 37716 CA NEGONE 009637,000186: 07,2076 55303 TS OPTIND # KILL COARSE OPTICS 009638,000187: 009639,000188: 07,2077 45016 CS BIT2 # DISABLE OPTICS ERROR COUNTER 009640,000189: 07,2100 00006 EXTEND 009641,000190: 07,2101 03012 WAND CHAN12 009642,000191: 009643,000192: 07,2102 00003 RELINT 009644,000193: 07,2103 04675 TC SWRETURN 009645,000194: # Page 225 009646,000195: # PROGRAM NAME: MARKRUPT DATE: 5 APRIL 1967 009647,000196: # PROGRAM MODIFIED BY 258/278 PROGRAMMERS LOG SECTION SXTMARK 009648,000197: # MOD BY: R. MELANSON TO ADD DOCUMENTATION ASSEMBLY SUNDISK REV. 116 009649,000198: 009650,000199: # FUNCTIONAL DESCRIPTION: 009651,000200: 009652,000201: # MARKRUPT STORES CDUS,OPTICS AND TIME AND TRANSFERS CONTROL TO THE MARKIT,MARK REJECT OR KEYCOM ROUTINES IF 009653,000202: # BITS IN CHANNEL 16 ARE SET AS REQUIRED. 009654,000203: 009655,000204: # CALLING SEQUENCE: 009656,000205: 009657,000206: # ROUTINE ENTERED VIA KEYRUPT2 WHEN MARK,MARK REJECT OR DSKY KEYS DEPRESSED BY THE OPERATOR. 009658,000207: 009659,000208: # NORMAL EXIT MODE: 009660,000209: 009661,000210: # MARKIT, MKREJECT, OR POSTJUMP ROUTINES (MARK, MARK REJECT, OR DSKY CODE) 009662,000211: 009663,000212: # ALARM OR ABORT EXIT MODE: 009664,000213: 009665,000214: # ALARM AND RESUME 009666,000215: 009667,000216: # OUTPUT: 009668,000217: 009669,000218: # RUPTSTOR+5 = CDUT, RUPTSTOR+3 = CDUS, RUPTSTOR+2 = CDUY, 009670,000219: # RUPTREG3 = CDUZ, RUPTSTOR+6 = CDUX, RUPTSTOR+1 AND SAMPTIME+1 = TIME1, 009671,000220: # RUPTSTOR AND SAMPTIME = TIME2 009672,000221: 009673,000222: # ERASABLE INITIALIZATION: 009674,000223: 009675,000224: # CDUT,CDUS,CDUY,CDUZ,CDUX,TIME2,TIME1,CHANNEL 16 BITS 6,7 OR 1-5. 009676,000225: 009677,000226: # DEBRIS: 009678,000227: 009679,000228: # A,QRUPT,RUPTREG3,SAMPTIME,SAMPTIME+1,RUPTSTOR TO RUPTSTOR+6 EXCEPT RUPTSTOR+4 (LOCATION 67) 009680,000229: 009681,000230: 07,2104 54016 MARKRUPT TS BANKRUPT # STORE CDUS AND OPTICS NOW 009682,000231: 07,2105 30035 CA CDUT 009683,000232: 07,2106 54362 TS MKCDUT 009684,000233: 07,2107 30036 CA CDUS 009685,000234: 07,2110 54360 TS MKCDUS 009686,000235: 07,2111 30033 CA CDUY 009687,000236: 07,2112 54357 TS MKCDUY 009688,000237: 07,2113 30034 CA CDUZ 009689,000238: 07,2114 54361 TS MKCDUZ 009690,000239: 07,2115 30032 CA CDUX 009691,000240: 07,2116 54363 TS MKCDUX 009692,000241: 07,2117 00006 EXTEND 009693,000242: 07,2120 30025 DCA TIME2 # GET TIME 009694,000243: 07,2121 52356 DXCH MKT2T1 009695,000244: 07,2122 00006 EXTEND 009696,000245: 07,2123 30356 DCA MKT2T1 009697,000246: 07,2124 52014 DXCH SAMPTIME # RUPT TIME FOR NOUN 65. 009698,000247: 009699,000248: 07,2125 56002 XCH Q 009700,000249: 07,2126 54012 TS QRUPT 009701,000250: 009702,000251: 07,2127 35012 CAF BIT6 # SEE IF MARK OR MKREJECT 009703,000252: # Page 226 009704,000253: 07,2130 00006 EXTEND 009705,000254: 07,2131 02016 RAND NAVKEYIN 009706,000255: 07,2132 10000 CCS A 009707,000256: 07,2133 02430 TC MARKIT # IT'S A MARK 009708,000257: 009709,000258: 07,2134 35011 CAF BIT7 # NOT A MARK, SEE IF MKREJECT 009710,000259: 07,2135 00006 EXTEND 009711,000260: 07,2136 02016 RAND NAVKEYIN 009712,000261: 07,2137 10000 CCS A 009713,000262: 07,2140 02301 TC MKREJECT # IT'S A MARK REJECT 009714,000263: 009715,000264: 07,2141 34362 KEYCALL CAF OCT37 # NOT MARK OR MKREJECT, SEE IF KEYCODE 009716,000265: 07,2142 00006 EXTEND 009717,000266: 07,2143 02016 RAND NAVKEYIN 009718,000267: 07,2144 00006 EXTEND 009719,000268: 07,2145 12150 BZF +3 # IF NO INBITS 009720,000269: 07,2146 04701 TC POSTJUMP 009721,000270: 07,2147 17702 CADR KEYCOM # IT'S A KEY CODE, NOT A MARK. 009722,000271: 009723,000272: 07,2150 05650 +3 TC ALARM # ALARM IF NO INBITS 009724,000273: 07,2151 00113 OCT 113 009725,000274: 07,2152 05333 TC RESUME 009726,000275: 009727,000276: # Page 227 009728,000277: # PROGRAM NAME: MARKCONT DATE: 19 SEPT 1967 009729,000278: # PROGRAM MODIFIED BY 258/278 PROGRAMMERS LOG SECTION SXTMARK 009730,000279: # MOD BY: R. MELANSON TO ADD DOCUMENTATION ASSEMBLY SUNDISK REV. 116 009731,000280: 009732,000281: # FUNCTIONAL DESCRIPTION: 009733,000282: 009734,000283: # MARKCONT IS USED TO PERFORM A SPECIAL MARK FUNCTION FOR R21, TO EXECUTE A SPECIAL DISPLAY OF OPTICS AND TIME OR 009735,000284: # TO PERFORM A MARK OF THE STAR OR LAND SIGHTING BASED UPON FLASHING V-N. 009736,000285: 009737,000286: # CALLING SEQUENCE: 009738,000287: 009739,000288: # FROM MARKDIF 009740,000289: 009741,000290: # NORMAL EXIT MODE: 009742,000291: 009743,000292: # TASKOVER 009744,000293: 009745,000294: # ALARM OR ABORT EXIT MODE: 009746,000295: 009747,000296: # ALARM AND TASKOVER 009748,000297: 009749,000298: # OUTPUT: 009750,000299: 009751,000300: # 1) FOR R21: 009752,000301: # EBANK=EBANK7 009753,000302: # MRKBUF1 TO MRKBUF1+6 = TIME2,TIME1,CDUY,OPTICX,CDUZ,OPTICSY,CDUX OF CURRENT R21 MARK FUNCTION 009754,000303: # MRKBUF2 TO MRKBUF2+6 CONTAINS PREVIOUS R21 MARK VALUES. 009755,000304: # 2) FOR SPECIAL DISPLAY JOB: 009756,000305: # RUPTREG1 AND MRKBUF1 = CDUS,RUPTREG2, AND MRKBUF1+1 = CDUT. 009757,000306: # RUPTREG3 AND MRKBUF1+2 = TIME2,RUPTREG4, AND MRKBUF1+3 = TIME1. 009758,000307: # 3) FOR NORMAL MARKING: 009759,000308: # DECREMENT BITS14-12 OF MARKSTAT BY 1, 009760,000309: # BIT10 MARKSTAT SET TO 1, INCREMENT QPRET BY 7, 009761,000310: # STORE TIME2,TIME1,CDUY,CDUS,CDUZ,CDUT, AND CDUX IN VAC+1 TO VAC+7. 009762,000311: 009763,000312: # ERASABLE INITIALIZATION: 009764,000313: 009765,000314: # 1) FOR R21: 009766,000315: # BIT14 OF STATE+2 =1, MRKBUF1 TO MRKBUF1+6, ITEMP1, RUPTREG3, 009767,000316: # RUPTSTOR TO RUPTSTOR+6 EXCEPT RUPTSTOR+4. 009768,000317: # 2) FOR SPECIAL DISPLAY JOB: 009769,000318: # BIT14 OF STATE+2 =0, MARKSTAT =+0, RUPTREG1,RUPTREG2,RUPTREG3 009770,000319: # RUPTREG4,RUPTSTOR,RUPTSTOR+1,RUPTSTOR+3,RUPTSTOR+5, 009771,000320: # BIT12 OF STATE+5 (V59 FLAG), MRKBUF1 THRU MRKBUF1+3 009772,000321: # 3) FOR NORMAL MARKING: 009773,000322: # BIT14 OF STATE+2 =0, MARKSTATE =VAC ADDRESS, A REG, ITEMP1, RUPTREG3, 009774,000323: # RUPTSTOR TO RUPTSTOR+6 EXCEPT RUPTSTOR+4. 009775,000324: 009776,000325: # DEBRIS: 009777,000326: 009778,000327: # 1) FOR R21: 009779,000328: # A, ITEMP1, MRKBUF1, MRKBUF2 009780,000329: # 2) FOR SPECIAL DISPLAY JOB: 009781,000330: # A,RUPTREG1,RUPTREG2,RUPTREG3,RUPTREG4,MPAC TO MPAC+3. 009782,000331: # 3) FOR NORMAL MARKING: 009783,000332: # A,MARKSTAT,ITEMP1,QPRET,VAC+1 TO VAC+7 OF VAC AREA IN USE. 009784,000333: 009785,000334: # Page 228 009786,000335: 07,2153 35002 MARKCONT CAF BIT14 009787,000336: 07,2154 70076 MASK STATE +2 # R21 MARK (SPECIAL MARKING FOR R21) 009788,000337: 07,2155 00006 EXTEND 009789,000338: 07,2156 12170 BZF MARKET # NOT SET THEREFORE REGULAR MARKING 009790,000339: 07,2157 36211 MARKIT1 CAF SIX # SPECIAL FOR R21 009791,000340: 07,2160 05606 TC GENTRAN # TRANSFER MRKBUF1 TO MRKBUF2 009792,000341: 07,2161 01725 ADRES MRKBUF1 009793,000342: 07,2162 01734 ADRES MRKBUF2 009794,000343: 009795,000344: 07,2163 36211 CAF SIX # TRANSFER CURRENT MARK DATE TO MARKBUF1 009796,000345: 07,2164 05606 TC GENTRAN 009797,000346: 07,2165 00355 ADRES MKT2T1 009798,000347: 07,2166 01725 ADRES MRKBUF1 009799,000348: 009800,000349: 07,2167 15324 TCF TASKOVER 009801,000350: 009802,000351: 07,2170 11330 MARKET CCS MARKSTAT # SEE IF MARKS CALLED FOR 009803,000352: 07,2171 02225 TC MARK2 # COLLECT MARKS 009804,000353: 009805,000354: 07,2172 35016 CAF TWO # IS MARKING SYSTEM IN USE (BIT2) 009806,000355: 07,2173 71044 MASK EXTVBACT 009807,000356: 07,2174 00006 EXTEND 009808,000357: 07,2175 12217 BZF MARKET3 # MARKING NOT CALLED FOR 009809,000358: 07,2176 35004 CAF BIT12 009810,000359: 07,2177 70101 MASK STATE +5 # V59FLAG 009811,000360: 07,2200 00006 EXTEND 009812,000361: 07,2201 12217 BZF MARKET3 # IF V59FLAG NOT SET-MARK UNCALLED FOR 009813,000362: 07,2202 35061 CAF PRIO5 # CALIBRATION MARK (SET) FOR P23 009814,000363: 07,2203 05134 TC NOVAC # SPECIAL DISPLAY JOB 009815,000364: 07,2204 E7,1725 EBANK= MRKBUF1 009816,000365: 07,2204 02426 76067 2CADR MARKDISP 009817,000366: 009818,000367: 07,2206 36211 CAF SIX 009819,000368: 07,2207 05606 TC GENTRAN # TRANSFER MARK DATE TO MARKDOWN 009820,000369: 07,2210 00355 ADRES MKT2T1 009821,000370: 07,2211 01674 ADRES MARKDOWN 009822,000371: 07,2212 36211 CAF SIX 009823,000372: 07,2213 05606 TC GENTRAN # TRANSFER MARK DATA TO MRKBUF1 FOR 009824,000373: 07,2214 00355 ADRES MKT2T1 # SPECIAL DISPLAY OF SHAFT AND TRUNNION 009825,000374: 07,2215 01725 ADRES MRKBUF1 # IF V59 ACTING 009826,000375: 07,2216 15324 TCF TASKOVER 009827,000376: 07,2217 05650 MARKET3 TC ALARM 009828,000377: 07,2220 00122 OCT 122 # MARKING NOT CALLED FOR 009829,000378: 07,2221 15324 TCF TASKOVER 009830,000379: 07,2222 05650 114ALM TC ALARM # MARK NOT WANTED 009831,000380: 07,2223 00114 OCT 114 009832,000381: 07,2224 15324 TCF TASKOVER 009833,000382: 009834,000383: # Page 229 009835,000384: # STORE MARK DATA IN MKVAC AND INCREMENT POINTER 009836,000385: 009837,000386: 07,2225 67711 MARK2 AD 74K # SEE IF MARKS WANTED-REDUCE MARKS WANTED 009838,000387: 07,2226 00006 EXTEND 009839,000388: 07,2227 62222 BZMF 114ALM # MARK NOT WANTED-ALARM 009840,000389: 07,2230 55330 TS MARKSTAT 009841,000390: 07,2231 40000 COM 009842,000391: 07,2232 75006 MASK BIT10 # SET BIT10 TO ENABLE REJECT 009843,000392: 07,2233 27330 ADS MARKSTAT 009844,000393: 009845,000394: 07,2234 75046 MASK LOW9 009846,000395: 07,2235 54061 TS ITEMP1 009847,000396: 07,2236 50000 INDEX A 009848,000397: 07,2237 56052 XCH QPRET # PICK UP MARK SLOT-POINTER 009849,000398: 07,2240 54062 TS ITEMP2 # SAVE CURRENT POINTER 009850,000399: 07,2241 65023 AD SEVEN # INCREMENT POINTER 009851,000400: 07,2242 50061 INDEX ITEMP1 009852,000401: 07,2243 54052 TS QPRET # STORE ADVANCED POINTER 009853,000402: 009854,000403: 07,2244 00006 VACSTOR EXTEND 009855,000404: 07,2245 30356 DCA MKT2T1 009856,000405: 07,2246 50062 INDEX ITEMP2 009857,000406: 07,2247 52001 DXCH 0 009858,000407: 07,2250 30357 CA MKCDUY 009859,000408: 07,2251 50062 INDEX ITEMP2 009860,000409: 07,2252 54002 TS 2 009861,000410: 07,2253 30360 CA MKCDUS 009862,000411: 07,2254 50062 INDEX ITEMP2 009863,000412: 07,2255 54003 TS 3 009864,000413: 07,2256 30361 CA MKCDUZ 009865,000414: 07,2257 50062 INDEX ITEMP2 009866,000415: 07,2260 54004 TS 4 009867,000416: 07,2261 30362 CA MKCDUT 009868,000417: 07,2262 50062 INDEX ITEMP2 009869,000418: 07,2263 54005 TS 5 009870,000419: 07,2264 30363 CA MKCDUX 009871,000420: 07,2265 50062 INDEX ITEMP2 009872,000421: 07,2266 54006 TS 6 009873,000422: 009874,000423: 07,2267 37671 CAF PRIO34 # IF ALL MARKS MADE FLASH VB50 009875,000424: 07,2270 71330 MASK MARKSTAT 009876,000425: 07,2271 00006 EXTEND 009877,000426: 07,2272 12274 BZF +2 009878,000427: 07,2273 15324 TCF TASKOVER 009879,000428: 07,2274 37667 CAF PRIO32 009880,000429: 07,2275 05134 TC NOVAC 009881,000430: 07,2276 1330 EBANK= MARKSTAT 009882,000431: 07,2276 02422 16062 2CADR MKVB50 009883,000432: 009884,000433: 07,2300 15324 TCF TASKOVER 009885,000434: 009886,000435: # Page 230 009887,000436: # PROGRAM NAME: MKREJECT DATE: 5 APRIL 1967 009888,000437: # PROGRAM MODIFIED BY 258/276 PROGRAMMERS LOG SECTION SXTMARK 009889,000438: # MOD BY: R. MELANSON TO ADD DOCUMENTATION ASSEMBLY SUNDISK REV. 116 009890,000439: 009891,000440: # FUNCTIONAL DESCRIPTION: 009892,000441: 009893,000442: # ROUTINE ALLOWS OPEATOR TO REJECT MARK MADE PRIOR TO ACCEPTANCE AND ALLOWS A NEW MARK TO BE MADE BY ASTRONAUT. 009894,000443: 009895,000444: # CALLING SEQUENCE: 009896,000445: 009897,000446: # FROM MARKRUPT IF BIT7 OF CHANNEL 16 IS 1. 009898,000447: 009899,000448: # NORMAL EXIT MODE: 009900,000449: 009901,000450: # RESUME 009902,000451: 009903,000452: # ALARM OR ABORT EXIT MODE: 009904,000453: 009905,000454: # ALARM AND RESUME 009906,000455: 009907,000456: # OUTPUT: 009908,000457: 009909,000458: # 1) FOR R21: 009910,000459: # MRKRUP1 SET TO -1 009911,000460: # 2) FOR NORMAL MARKING: 009912,000461: # BIT10 MARKSTAT =0, INCREMENT NO. MARKS BY 1, DECREMENT QPRET BY 7 009913,000462: 009914,000463: # ERASABLE INITIALIZATION: 009915,000464: 009916,000465: # 1) FOR R21: 009917,000466: # BIT14 OF STATE+2 SET TO 1 009918,000467: # 2) FOR NORMAL MARKING: 009919,000468: # BIT14 OF STATE+2 SET TO 0, MARKSTAT,QPRET 009920,000469: 009921,000470: # DEBRIS: 009922,000471: 009923,000472: # 1) FOR R21: 009924,000473: # A,MARKSTAT,EBANK 009925,000474: # 2) FOR NORMAL MARKING: 009926,000475: # A,MARKSTAT,ITEMP1,QPRET 009927,000476: 009928,000477: 07,2301 35002 MKREJECT CAF BIT14 009929,000478: 07,2302 70076 MASK STATE +2 # R21 MARK (SPECIAL MARKING FOR R21) 009930,000479: 07,2303 00006 EXTEND 009931,000480: 07,2304 12310 BZF MRKREJCT # NOT SET THEREFORE REGULAR REJECT 009932,000481: 07,2305 37716 CA NEGONE # -1 (FOR R22) 009933,000482: 07,2306 55725 TS MRKBUF1 # -0 IN TIME IS FLAG TO R22 SIGNIFYING A 009934,000483: 07,2307 05333 TC RESUME # REJECTED MARK 009935,000484: 07,2310 11330 MRKREJCT CCS MARKSTAT # SEE IF MARKS BEING ACCEPTED 009936,000485: 07,2311 02315 TC REJECT2 009937,000486: 07,2312 05650 TC ALARM # MARKS NOT BEING ACCEPTED 009938,000487: 07,2313 00112 OCT 112 009939,000488: 07,2314 05333 TC RESUME 009940,000489: 009941,000490: 07,2315 45006 REJECT2 CS BIT10 # SEE IF MARK HAD BEEN MADE SINCE LAST 009942,000491: 07,2316 71330 MASK MARKSTAT # REJECT, AND SET BIT10 TO ZERO TO 009943,000492: 07,2317 57330 XCH MARKSTAT # SHOW MARK REJECT 009944,000493: # Page 231 009945,000494: 07,2320 75006 MASK BIT10 009946,000495: 07,2321 10000 CCS A 009947,000496: 07,2322 02326 TC REJECT3 009948,000497: 009949,000498: 07,2323 05650 TC ALARM # DON'T ACCEPT TWO REJECTS TOGETHER 009950,000499: 07,2324 00110 OCT 110 009951,000500: 07,2325 05333 TC RESUME 009952,000501: 009953,000502: 07,2326 35046 REJECT3 CAF LOW9 # DECREMENT POINTER TO REJECT MARK 009954,000503: 07,2327 71330 MASK MARKSTAT 009955,000504: 07,2330 54061 TS ITEMP1 009956,000505: 07,2331 45023 CS SEVEN 009957,000506: 07,2332 50061 INDEX ITEMP1 009958,000507: 07,2333 26052 ADS QPRET # NEW POINTER 009959,000508: 009960,000509: 07,2334 35004 CAF BIT12 # INCREMENT MARKS WANTED AND IF FIELD 009961,000510: 07,2335 61330 AD MARKSTAT # IS NOW NON-ZERO, CHANGE TO VB51 TO 009962,000511: 07,2336 57330 XCH MARKSTAT # INDICATE MORE MARKS WANTED 009963,000512: 07,2337 77671 MASK PRIO34 # INDICATE MORE MARKS WANTED 009964,000513: 07,2340 10000 CCS A 009965,000514: 07,2341 05333 TC RESUME 009966,000515: 07,2342 37667 CAF PRIO32 009967,000516: 07,2343 05134 TC NOVAC 009968,000517: 07,2344 1330 EBANK= MARKSTAT 009969,000518: 07,2344 02347 16062 2CADR MKVB51 009970,000519: 009971,000520: 07,2346 05333 TC RESUME 009972,000521: 009973,000522: # Page 232 009974,000523: # PROGRAM DESCRIPTON MKVB51 AND MKVB50 009975,000524: 009976,000525: # AUTHOR: BARNERT DATE: 2-15-67 MOD: 0 009977,000526: # PURPOSE: FLASH V51N70,V51N43, OR V51 TO REQUEST MARKING, 009978,000527: # AND V50N25 R1=16 TO REQUEST TERMINATE MARKING. 009979,000528: 009980,000529: # CALLING SEQUENCE: AS JOB WITHIN SXTMARK 009981,000530: 009982,000531: # EXIT TO ENDMARK UPON RECEIPT OF V33, V34 CAUSES GOTOP00H, ENTER 009983,000532: # RECYCLES THE DISPLAY 009984,000533: 009985,000534: # NOTE: SXTMARK AUTOMATICALLY CHANGES FROM CALLING MKVB51 TO MKVB50 WHEN 009986,000535: # SUFFICIENT MARKS HAVE BEEN MADE, AND THE REVERSE WHEN A MARK 009987,000536: # REJECT REDUCES THE NUMBER MADE BELOW THAT REQUIRED 009988,000537: 009989,000538: # SUBROUTINES CALLED: BANKCALL, GOMARK2, GOODEND, ENDMARK, WAITLIST 009990,000539: 009991,000540: # ALARM OR ABORT MODES: NONE 009992,000541: 009993,000542: # ERASABLE USED: VERBREG, MARKSTAT, QPRET, DSPTEM1 009994,000543: 009995,000544: # OUTPUT MARKSTAT = VAC ADDRESS 009996,000545: 009997,000546: # QPRET = NO. MARKS 009998,000547: 009999,000548: 07,2347 04662 MKVB51 TC BANKCALL # CLEAR DISPLAY FOR MARK VERB 010000,000549: 07,2350 20560 CADR KLEENEX 010001,000550: 07,2351 32427 CAF VB51 # DISPLAY MARK VB51 010002,000551: 07,2352 04662 TC BANKCALL 010003,000552: 07,2353 20572 CADR GOMARK4 010004,000553: 07,2354 12357 TCF TERMSXT # VB34-TERMINATE 010005,000554: 07,2355 12370 TCF ENTANSWR # V33-PROCEED-MARKING DONE 010006,000555: 07,2356 12416 TCF MKVB5X # ENTER-RECYCLE TO INITIAL MARK DISPLAY 010007,000556: 010008,000557: 07,2357 05536 TERMSXT TC CLEARMRK # CLEAR MARK ACTIVITY. 010009,000558: 010010,000559: 07,2360 05364 TC CHECKMM 010011,000560: 07,2361 00003 MM 03 B-14 010012,000561: 07,2362 12364 TCF +2 010013,000562: 07,2363 02366 TC TERMP03 010014,000563: 07,2364 04701 TC POSTJUMP 010015,000564: 07,2365 30205 CADR TERM52 010016,000565: 010017,000566: 07,2366 05546 TERMP03 TC UPFLAG 010018,000567: 07,2367 00032 ADRES TRM03FLG 010019,000568: 07,2370 35046 ENTANSWR CAF LOW9 # PUT VAC ADR IN MARKSTAT AND NO. OF 010020,000569: 07,2371 71330 MASK MARKSTAT # MARKS MADE IN QPRET BEFORE LEAVING 010021,000570: 07,2372 55330 TS MARKSTAT # SXTMARK 010022,000571: 07,2373 40000 COM 010023,000572: 07,2374 51330 INDEX MARKSTAT 010024,000573: 07,2375 60052 AD QPRET 010025,000574: # Page 233 010026,000575: 07,2376 00006 EXTEND 010027,000576: 07,2377 62403 BZMF JAMIT # NO MARKS MADE, SHOW IT IN QPRET, R53 010028,000577: 07,2400 00006 EXTEND # WILL PICK IT UP AND RECYCLE 010029,000578: 07,2401 75004 MP BIT12 # THIS PUTS NUMBER MARKS-1 IN A 010030,000579: 07,2402 65017 AD ONE 010031,000580: 07,2403 51330 JAMIT INDEX MARKSTAT # STORE NO OF MARKS MADE 010032,000581: 07,2404 54052 TS QPRET 010033,000582: 07,2405 00004 INHINT # SERVICE OPTSTALL INTERFACE WITH 010034,000583: 07,2406 35022 CAF FIVE 010035,000584: 07,2407 05245 TC WAITLIST 010036,000585: 07,2410 1330 EBANK= MARKSTAT 010037,000586: 07,2410 02413 16062 2CADR ENDMARKS 010038,000587: 010039,000588: 07,2412 05534 TC ENDMARK # KNOCKS DOWN MARKING FLAG + DOES ENDOFJOB 010040,000589: 010041,000590: 07,2413 35017 ENDMARKS CAF ONE 010042,000591: 07,2414 04740 TC IBNKCALL 010043,000592: 07,2415 17550 CADR GOODEND 010044,000593: 07,2416 37671 MKVB5X CAF PRIO34 010045,000594: 07,2417 71330 MASK MARKSTAT # RE-DISPLAY VB51 IF MORE MARKS WANTED 010046,000595: 07,2420 10000 CCS A # AND VB50 IF ALL IN 010047,000596: 07,2421 12347 TCF MKVB51 010048,000597: 07,2422 34333 MKVB50 CAF R1D1 # OCT 16 010049,000598: 07,2423 55045 TS DSPTEM1 010050,000599: 07,2424 32426 CAF V50N25 010051,000600: 07,2425 12352 TCF MKVB51 +3 010052,000601: 010053,000602: 07,2426 14431 V50N25 VN 5025 010054,000603: 07,2427 14600 VB51 VN 5100 010055,000604: 07,2430 4362 OCT37 = LOW5 010056,000605: 010057,000606: # PROGRAM NAME: MARKIT DATE: 19 SEPT 1967 010058,000607: 010059,000608: # CALLING SEQUENCE: 010060,000609: 010061,000610: # FROM MARKRUPT IF CHAN 16 BIT 6 = 1 010062,000611: 010063,000612: # EXIT 010064,000613: 010065,000614: # RESUME 010066,000615: 010067,000616: # INPUT 010068,000617: 010069,000618: # CDUCHKWD. ALSO ALL INITIALIZATION FOR MARKCONT 010070,000619: 010071,000620: # OUTPUT 010072,000621: 010073,000622: # MKT2T1,MKCDUX,MKCDUY,MKCDUZ,MKCDUS,MKCDUT 010074,000623: 010075,000624: # ALARM EXIT 010076,000625: 010077,000626: # NONE 010078,000627: 010079,000628: 07,2430 11341 MARKIT CCS CDUCHKWD 010080,000629: 07,2431 12434 TCF +3 # DELAY OF CDUCHKWD CS IF PNZ 010081,000630: # Page 234 010082,000631: 07,2432 12434 TCF +2 010083,000632: 07,2433 35021 CAF ZERO 010084,000633: 07,2434 65017 AD ONE # 10 MS IF NO CHECK 010085,000634: 07,2435 05245 TC WAITLIST 010086,000635: 07,2436 E7,1725 EBANK= MRKBUF1 010087,000636: 07,2436 02203 20067 2CADR MARKDIF 010088,000637: 010089,000638: 07,2440 15333 TCF RESUME 010090,000639: 010091,000640: 10,2000 SETLOC SXTMARK1 010092,000641: 10,2000 BANK 010093,000642: 010094,000643: 10,2203 COUNT 20/SXTMK 010095,000644: 010096,000645: # PROGRAM NAME: MARKDIF 010097,000646: 010098,000647: # CALLING SEQUENCE 010099,000648: 010100,000649: # WAITLIST FROM MARKIT 010101,000650: 010102,000651: # EXIT 010103,000652: 010104,000653: # TASKOVER TO IBNKCALL TO MARKCONT 010105,000654: 010106,000655: # INPUT 010107,000656: 010108,000657: # OUTPUT FROM MARKIT, INPUT TO MARKCONT, CDUCHKWD 010109,000658: 010110,000659: # OUTPUT 010111,000660: 010112,000661: # RUPTSTOR - RUPTSTOR+3, RUPTREG3, RUPTSTOR+5 - RUPTSTOR+6 010113,000662: 010114,000663: # ALARM EXIT 010115,000664: 010116,000665: # ALARM AND TASKOVER 010117,000666: 010118,000667: 10,2203 31341 MARKDIF CA CDUCHKWD # IF DELAY CHECK IS ZERO OR NEG, ACP MARK 010119,000668: 10,2204 00006 EXTEND 010120,000669: 10,2205 62216 BZMF MKACPT 010121,000670: 10,2206 45017 CS BIT1 010122,000671: 10,2207 54354 TS MKNDX # SET INDEX -1 010123,000672: 10,2210 30363 CA MKCDUX 010124,000673: 10,2211 02220 TC DIFCHK # SEE IF VEHICLE RATE TO MUCH AT MARK 010125,000674: 10,2212 30357 CA MKCDUY 010126,000675: 10,2213 02220 TC DIFCHK 010127,000676: 10,2214 30361 CA MKCDUZ 010128,000677: 10,2215 02220 TC DIFCHK 010129,000678: 010130,000679: 10,2216 04740 MKACPT TC IBNKCALL 010131,000680: 10,2217 16153 CADR MARKCONT # MARK DATA OK, WHAT DO WE DO WITH IT 010132,000681: 010133,000682: 10,2220 24354 DIFCHK INCR MKNDX # INCREMENT INDEX 010134,000683: 010135,000684: 10,2221 00006 EXTEND 010136,000685: 10,2222 50354 INDEX MKNDX 010137,000686: # Page 235 010138,000687: 10,2223 20032 MSU CDUX # GET MARK(ICDU) - CURRENT(ICDU) 010139,000688: 10,2224 10000 CCS A 010140,000689: 10,2225 12231 TCF +4 010141,000690: 10,2226 00002 TC Q 010142,000691: 10,2227 12231 TCF +2 010143,000692: 10,2230 00002 TC Q 010144,000693: 10,2231 67715 AD NEG2 # SEE IF DIFFERENCE GREATER THAN 3 BITS 010145,000694: 10,2232 00006 EXTEND 010146,000695: 10,2233 62230 BZMF -3 # NOT GREATER 010147,000696: 010148,000697: 10,2234 05650 TC ALARM # COUPLED WITH PROGRAM ALARM 010149,000698: 10,2235 00121 OCT 00121 010150,000699: 010151,000700: 10,2236 15324 TCF TASKOVER # DO NOT ACCEPT 010152,000701: 010153,000702: End of include-file SXTMARK.agc. Parent file is MAIN.agc