Source Code

009158,000001: # Copyright: Public domain. 009159,000002: # Filename: SXTMARK.agc 009160,000003: # Purpose: Part of the source code for Colossus, build 249. 009161,000004: # It is part of the source code for the Command Module's (CM) 009162,000005: # Apollo Guidance Computer (AGC), possibly for Apollo 8 and 9. 009163,000006: # Assembler: yaYUL 009164,000007: # Reference: pp. 218-231 of 1701.pdf. 009165,000008: # Contact: Ron Burkey <info@sandroid.org>. 009166,000009: # Website: www.ibiblio.org/apollo. 009167,000010: # Mod history: 08/07/04 RSB. Began data entry. 009168,000011: # 2010-10-24 JL Pseudo-label indentation fixes. 009169,000012: 009170,000013: # The contents of the "Colossus249" files, in general, are transcribed 009171,000014: # from a scanned document obtained from MIT's website, 009172,000015: # http://hrst.mit.edu/hrs/apollo/public/archive/1701.pdf. Notations on this 009173,000016: # document read, in part: 009174,000017: 009175,000018: # Assemble revision 249 of AGC program Colossus by NASA 009176,000019: # 2021111-041. October 28, 1968. 009177,000020: 009178,000021: # This AGC program shall also be referred to as 009179,000022: # Colossus 1A 009180,000023: 009181,000024: # Prepared by 009182,000025: # Massachusetts Institute of Technology 009183,000026: # 75 Cambridge Parkway 009184,000027: # Cambridge, Massachusetts 009185,000028: # under NASA contract NAS 9-4065. 009186,000029: 009187,000030: # Refer directly to the online document mentioned above for further information. 009188,000031: # Please report any errors (relative to 1701.pdf) to info@sandroid.org. 009189,000032: 009190,000033: # In some cases, where the source code for Luminary 131 overlaps that of 009191,000034: # Colossus 249, this code is instead copied from the corresponding Luminary 131 009192,000035: # source file, and then is proofed to incorporate any changes. 009193,000036: 009194,000037: # Page 218 009195,000038: # PROGRAM NAME: SXTMARK DATE: 5 APRIL 1967 009196,000039: # PROGRAM MODIFIED BY 256/278 PROGRAMMERS LOG SECTION SXTMARK 009197,000040: # MOD BY: R. MELANSON TO ADD DOCUMENTATION ASSEMBLY SUNDISK REV. 116 009198,000041: # 009199,000042: # FUNCTIONAL DESCRIPTION: 009200,000043: 009201,000044: # SXTMARK IS CALLED FROM INTERNAL ROUTINES WHICH MAY REQUIRE STAR OR LANDMARK MARKINGS BY THE ASTRONAUT. IF 009202,000045: # THE MARK SYSTEM IS NOT IN USE, SXTMARK RESERVES A VAC AREA FOR MARKING AND REQUESTS EXECUTIONOF THE MKVB51 009203,000046: # ROUTINE VIA THE EXECUTIVE JOB PRIORITY LIST. R21 USES THIS ROUTINE TO DETERMINE IF THE MARK SYSTEM CAN BE 009204,000047: # USED. IF YES, SXTMARK RETURNS TO R21 TO PERFORM ITS OWN MARK REQUESTS VIA THE V51 FLASH. 009205,000048: 009206,000049: # CALLING SEQUENCE: 009207,000050: 009208,000051: # CAF (NO. MARK REQUESTS IN BITS 1-3 OF A) 009209,000052: # TC BANKCALL 009210,000053: # CADR SXTMARK 009211,000054: 009212,000055: # NORMAL EXIT MODE: 009213,000056: 009214,000057: # SWRETURN 009215,000058: 009216,000059: # ALARM OR ABORT EXIT MODE: 009217,000060: 009218,000061: # ABORT 009219,000062: 009220,000063: # OUTPUT: 009221,000064: 009222,000065: # 1) MARKSTAT CONTAINS MARK VALUE (BITS 14-12) AND VAC AREA ADDRESS 009223,000066: # 2) QPRET = VAC AREA POINTER VALUE 009224,000067: # 3) 1ST WORD OF RESERVED VAC AREA SET TO +0 009225,000068: # 4) PRIO32 PLACED IN A REGISTER 009226,000069: 009227,000070: # ERASABLE INITIALIZATION: 009228,000071: 009229,000072: # 1) BITS 1-3 OF A = NO. MARKS REQUESTED 009230,000073: # 2) BITS 2,3 OF EXTVBACT = 0 009231,000074: # 3) A VAC AREA MUST BE AVAILABLE (WORD 1 = ADDRESS OF VAC AREA) 009232,000075: 009233,000076: # DEBRIS: 009234,000077: 009235,000078: # A,Q,L,RUPTREG1,MARKSTAT,QPRET,BIT2 OF EXTVBACT 009236,000079: 009237,000080: 13,2036 BANK 13 009238,000081: 07,2000 SETLOC SXTMARKE 009239,000082: 07,2000 BANK 009240,000083: 009241,000084: 07,2002 E7,1725 EBANK= MRKBUF1 009242,000085: 07,2002 COUNT 07/SXTMK 009243,000086: 009244,000087: 07,2002 00004 SXTMARK INHINT 009245,000088: 07,2003 54070 TS RUPTREG1 # NUMBER OF MARKS WANTED 009246,000089: 009247,000090: 07,2004 36211 CAF SIX # BIT2 = MARKING SYSTEM IN USE 009248,000091: 07,2005 71044 MASK EXTVBACT # BIT3 = EXTENDED VERB IN PROGRESS 009249,000092: 07,2006 10000 CCS A 009250,000093: 07,2007 02013 TC MKABORT 009251,000094: # Page 219 009252,000095: 07,2010 34711 CAF BIT2 # NOT SET 009253,000096: 07,2011 27044 ADS EXTVBACT # SET IT, RESET IN ENDMARK 009254,000097: 07,2012 02015 TC MARKOK # YES, FIND VAC AREA 009255,000098: 009256,000099: 07,2013 05604 MKABORT TC BAILOUT 009257,000100: 07,2014 01211 OCT 01211 009258,000101: 07,2015 10400 MARKOK CCS VAC1USE # FIND VAC AREA 009259,000102: 07,2016 02031 TC MKVACFND 009260,000103: 07,2017 10454 CCS VAC2USE 009261,000104: 07,2020 02031 TC MKVACFND 009262,000105: 07,2021 10530 CCS VAC3USE 009263,000106: 07,2022 02031 TC MKVACFND 009264,000107: 07,2023 10604 CCS VAC4USE 009265,000108: 07,2024 02031 TC MKVACFND 009266,000109: 07,2025 10660 CCS VAC5USE 009267,000110: 07,2026 02031 TC MKVACFND 009268,000111: 07,2027 05604 TC BAILOUT 009269,000112: 07,2030 01207 OCT 01207 009270,000113: 009271,000114: 07,2031 64711 MKVACFND AD TWO # ADDRESS OF VAC AREA 009272,000115: 07,2032 55330 TS MARKSTAT 009273,000116: 07,2033 50000 INDEX A 009274,000117: 07,2034 54052 TS QPRET # STORE NEXT AVAILABLE MARK SLOT 009275,000118: 009276,000119: 07,2035 34714 CAF ZERO # STORE VAC AREA OCCUPIED 009277,000120: 07,2036 51330 INDEX MARKSTAT 009278,000121: 07,2037 53777 TS 0 -1 009279,000122: 009280,000123: 07,2040 05253 TC CHECKMM # BACKUP MARK ROUTINE USES SXTMARK 009281,000124: 07,2041 00065 MM 53 B-14 009282,000125: 07,2042 12044 TCF +2 009283,000126: 07,2043 14570 TCF SWRETURN 009284,000127: 07,2044 05253 TC CHECKMM 009285,000128: 07,2045 00066 MM 54 B-14 009286,000129: 07,2046 12050 TCF +2 009287,000130: 07,2047 14570 TCF SWRETURN 009288,000131: 07,2050 34677 CAF BIT12 # DESIRED NUMBER OF MARKS IN 12-14 009289,000132: 07,2051 00006 EXTEND 009290,000133: 07,2052 70070 MP RUPTREG1 009291,000134: 07,2053 56001 XCH L 009292,000135: 07,2054 27330 ADS MARKSTAT 009293,000136: 009294,000137: 07,2055 37667 CAF PRIO32 # ENTER MARK JOB 009295,000138: 07,2056 05027 TC NOVAC 009296,000139: 07,2057 1330 EBANK= MARKSTAT 009297,000140: 07,2057 02346 16062 2CADR MKVB51 009298,000141: 009299,000142: 07,2061 00003 RELINT 009300,000143: 07,2062 14570 TCF SWRETURN # SAME AS MODEEXIT 009301,000144: 009302,000145: # Page 220 009303,000146: # PROGRAM NAME: MKRELEAS DATE: 5 APRIL 1967 009304,000147: # PROGRAM MODIFIED BY 256/278 PROGRAMMERS LOG SECTION SXTMARK 009305,000148: # MOD BY: R. MELANSON TO ADD DOCUMENTATION ASSEMBLY SUNDISK REV. 116 009306,000149: 009307,000150: # FUNCTIONAL DESCRIPTION: 009308,000151: 009309,000152: # MKRELEAS IS EXECUTED BY INTERNAL ROUTINES TO RELEASE THE MARK SYSTEM TO MAKE IT AVAILABLE TO OTHER INTERNAL 009310,000153: # SYSTEM ROUTINES. IT ALSO CLEARS THE COARSE OPTICS FLAG BIT AND DISABLES THE OPTICS ERROR COUNTER. 009311,000154: 009312,000155: # CALLING SEQUENCE: 009313,000156: 009314,000157: # TC BANKCALL 009315,000158: # CADR MKRELEAS 009316,000159: 009317,000160: # NORMAL EXIT MODE: 009318,000161: 009319,000162: # SWRETURN 009320,000163: 009321,000164: # ALARM OR EXIT MODE: NONE 009322,000165: 009323,000166: # OUTPUT: 009324,000167: 009325,000168: # 1) BIT9 OPTMODES SET TO 0 009326,000169: # 2) OPTIND SET TO -1 009327,000170: # 3) 1ST WORD OF VAC AREA SET TO VAC ADDRESS TO SIGNIFY AVAILABILITY 009328,000171: # 4) MARKSTAT CLEARED 009329,000172: # 5) BIT2 CHANNEL 12 SET TO 0 009330,000173: 009331,000174: # ERASABLE INITIALIZATION: NONE 009332,000175: 009333,000176: # DEBRIS: 009334,000177: 009335,000178: # A,MARKSTAT,BIT9,OPTMODES OPTIND,BIT2 CHANNEL 12 009336,000179: 009337,000180: 07,2063 34714 MKRELEAS CAF ZERO # SHOW MARK SYSTEM NOW AVAILABLE 009338,000181: 07,2064 57330 XCH MARKSTAT 009339,000182: 07,2065 10000 CCS A 009340,000183: 07,2066 50000 INDEX A 009341,000184: 07,2067 54000 TS 0 009342,000185: 07,2070 00004 MKRLEES INHINT 009343,000186: 07,2071 44702 CS BIT9 # COARSE OPTICS RETURN FLAG. 009344,000187: 07,2072 71331 MASK OPTMODES 009345,000188: 07,2073 55331 TS OPTMODES 009346,000189: 009347,000190: 07,2074 37716 CA NEGONE 009348,000191: 07,2075 55303 TS OPTIND # KILL COARSE OPTICS 009349,000192: 009350,000193: 07,2076 44711 CS BIT2 # DISABLE OPTICS ERROR COUNTER 009351,000194: 07,2077 00006 EXTEND 009352,000195: 07,2100 03012 WAND CHAN12 009353,000196: 009354,000197: 07,2101 00003 RELINT 009355,000198: 07,2102 04570 TC SWRETURN 009356,000199: # Page 221 009357,000200: # PROGRAM NAME: MARKRUPT DATE: 5 APRIL 1967 009358,000201: # PROGRAM MODIFIED BY 256/278 PROGRAMMERS LOG SECTION SXTMARK 009359,000202: # MOD BY: R. MELANSON TO ADD DOCUMENTATION ASSEMBLY SUNDISK REV. 116 009360,000203: 009361,000204: # FUNCTIONAL DESCRIPTION: 009362,000205: 009363,000206: # MARKRUPT STORES CDUS,OPTICS AND TIME AND TRANSFERS CONTROL TO THE MARKIT,MARK REJECT OR KEYCOM ROUTINES IF 009364,000207: # BITS IN CHANNEL 16 ARE SET AS REQUIRED. 009365,000208: 009366,000209: # CALLING SEQUENCE: 009367,000210: 009368,000211: # ROUTINE ENTERED VIA KEYRUPT2 WHEN MARK,MARK REJECT OR DSKY KEYS DEPRESSED BY THE OPERATOR. 009369,000212: 009370,000213: # NORMAL EXIT MODE: 009371,000214: 009372,000215: # MARKIT, MKREJECT, OR POSTJUMP ROUTINES (MARK, MARK REJECT, OR DSKY CODE) 009373,000216: 009374,000217: # ALARM OR ABORT EXIT MODE: 009375,000218: 009376,000219: # ALARM AND RESUME 009377,000220: 009378,000221: # OUTPUT: 009379,000222: 009380,000223: # RUPTSTOR+5 = CDUT, RUPTSTOR+3 = CDUS, RUPTSTOR+2 = CDUY, 009381,000224: # RUPTREG3 = CDUZ, RUPTSTOR+6 = CDUX, RUPTSTOR+1 AND SAMPTIME+1 = TIME1, 009382,000225: # RUPTSTOR AND SAMPTIME = TIME2 009383,000226: 009384,000227: # ERASABLE INITIALIZATION: 009385,000228: 009386,000229: # CDUT,CDUS,CDUY,CDUZ,CDUX,TIME2,TIME1,CHANNEL 16 BITS 6,7 OR 1-5. 009387,000230: 009388,000231: # DEBRIS: 009389,000232: 009390,000233: # A,QRUPT,RUPTREG3,SAMPTIME,SAMPTIME+1,RUPTSTOR TO RUPTSTOR+6 EXCEPT RUPTSTOR+4 (LOCATION 67) 009391,000234: 009392,000235: 07,2103 54016 MARKRUPT TS BANKRUPT # STORE CDUS AND OPTICS NOW 009393,000236: 07,2104 30035 CA CDUT 009394,000237: 07,2105 54362 TS MKCDUT 009395,000238: 07,2106 30036 CA CDUS 009396,000239: 07,2107 54360 TS MKCDUS 009397,000240: 07,2110 30033 CA CDUY 009398,000241: 07,2111 54357 TS MKCDUY 009399,000242: 07,2112 30034 CA CDUZ 009400,000243: 07,2113 54361 TS MKCDUZ 009401,000244: 07,2114 30032 CA CDUX 009402,000245: 07,2115 54363 TS MKCDUX 009403,000246: 07,2116 00006 EXTEND 009404,000247: 07,2117 30025 DCA TIME2 # GET TIME 009405,000248: 07,2120 52356 DXCH MKT2T1 009406,000249: 07,2121 00006 EXTEND 009407,000250: 07,2122 30356 DCA MKT2T1 009408,000251: 07,2123 52014 DXCH SAMPTIME # RUPT TIME FOR NOUN 65. 009409,000252: 009410,000253: 07,2124 56002 XCH Q 009411,000254: 07,2125 54012 TS QRUPT 009412,000255: 009413,000256: 07,2126 34705 CAF BIT6 # SEE IF MARK OR MKREJECT 009414,000257: # Page 222 009415,000258: 07,2127 00006 EXTEND 009416,000259: 07,2130 02016 RAND NAVKEYIN 009417,000260: 07,2131 10000 CCS A 009418,000261: 07,2132 02427 TC MARKIT # IT'S A MARK 009419,000262: 009420,000263: 07,2133 34704 CAF BIT7 # NOT A MARK, SEE IF MKREJECT 009421,000264: 07,2134 00006 EXTEND 009422,000265: 07,2135 02016 RAND NAVKEYIN 009423,000266: 07,2136 10000 CCS A 009424,000267: 07,2137 02300 TC MKREJECT # IT'S A MARK REJECT 009425,000268: 009426,000269: 07,2140 34362 KEYCALL CAF OCT37 # NOT MARK OR MKREJECT, SEE IF KEYCODE 009427,000270: 07,2141 00006 EXTEND 009428,000271: 07,2142 02016 RAND NAVKEYIN 009429,000272: 07,2143 00006 EXTEND 009430,000273: 07,2144 12147 BZF +3 # IF NO INBITS 009431,000274: 07,2145 04574 TC POSTJUMP 009432,000275: 07,2146 17622 CADR KEYCOM # IT'S A KEY CODE, NOT A MARK. 009433,000276: 009434,000277: 07,2147 05537 +3 TC ALARM # ALARM IF NO INBITS 009435,000278: 07,2150 00113 OCT 113 009436,000279: 07,2151 05222 TC RESUME 009437,000280: 009438,000281: # Page 223 009439,000282: # PROGRAM NAME: MARKCONT DATE: 19 SEPT 1967 009440,000283: # PROGRAM MODIFIED BY 258/278 PROGRAMMERS LOG SECTION SXTMARK 009441,000284: # MOD BY: R. MELANSON TO ADD DOCUMENTATION ASSEMBLY SUNDISK REV. 116 009442,000285: 009443,000286: # FUNCTIONAL DESCRIPTION: 009444,000287: 009445,000288: # MARKCONT IS USED TO PERFORM A SPECIAL MARK FUNCTION FOR R21, TO EXECUTE A SPECIAL DISPLAY OF OPTICS AND TIME OR 009446,000289: # TO PERFORM A MARK OF THE STAR OR LAND SIGHTING BASED UPON FLASHING V-N. 009447,000290: 009448,000291: # CALLING SEQUENCE: 009449,000292: 009450,000293: # FROM MARKDIF 009451,000294: 009452,000295: # NORMAL EXIT MODE: 009453,000296: 009454,000297: # TASKOVER 009455,000298: 009456,000299: # ALARM OR ABORT EXIT MODE: 009457,000300: 009458,000301: # ALARM AND TASKOVER 009459,000302: 009460,000303: # OUTPUT: 009461,000304: 009462,000305: # 1) FOR R21: 009463,000306: # EBANK=EBANK7 009464,000307: # MRKBUF1 TO MRKBUF1+6 = TIME2,TIME1,CDUY,OPTICX,CDUZ,OPTICSY,CDUX OF CURRENT R21 MARK FUNCTION 009465,000308: # MRKBUF2 TO MRKBUF2+6 CONTAINS PREVIOUS R21 MARK VALUES. 009466,000309: # 2) FOR SPECIAL DISPLAY JOB: 009467,000310: # RUPTREG1 AND MRKBUF1 = CDUS,RUPTREG2, AND MRKBUF1+1 = CDU5. 009468,000311: # RUPTREG3 AND MRKBUF1+2 = TIME2,RUPTREG4, AND MRKBUF1+3 = TIME1. 009469,000312: # 3) FOR NORMAL MARKING: 009470,000313: # DECREMENT BITS14-12 OF MARKSTAT BY 1, 009471,000314: # BIT10 MARKSTAT SET TO 1, INCREMENT QPRET BY 7, 009472,000315: # STORE TIME2,TIME1,CDUY,CDUS,CDUZ,CDUT, AND CDUX IN VAC+1 TO VAC+7. 009473,000316: 009474,000317: # ERASABLE INITIALIZATION: 009475,000318: 009476,000319: # 1) FOR R21: 009477,000320: # BIT14 OF STATE+2 =1, MRKBUF1 TO MRKBUF1+6, ITEMP1, RUPTREG3, 009478,000321: # RUPTSTOR TO RUPTSTOR+6 EXCEPT RUPTSTOR+4. 009479,000322: # 2) FOR SPECIAL DISPLAY JOB: 009480,000323: # BIT14 OF STATE+2 =0, MARKSTAT =+0, RUPTREG1,RUPTREG2,RUPTREG3 009481,000324: # RUPTREG4,RUPTSTOR,RUPTSTOR+1,RUPTSTOR+3,RUPTSTOR+5, 009482,000325: # BIT12 OF STATE+5 (V59 FLAG), MRKBUF1 THRU MRKBUF1+3 009483,000326: # 3) FOR NORMAL MARKING: 009484,000327: # BIT14 OF STATE+2 =0, MARKSTATE =VAC ADDRESS, A REG, ITEMP1, RUPTREG3, 009485,000328: # RUPTSTOR TO RUPTSTOR+6 EXCEPT RUPTSTOR+4. 009486,000329: 009487,000330: # DEBRIS: 009488,000331: 009489,000332: # 1) FOR R21: 009490,000333: # A, ITEMP1, MRKBUF1, MRKBUF2 009491,000334: # 2) FOR SPECIAL DISPLAY JOB: 009492,000335: # A,RUPTREG1,RUPTREG2,RUPTREG3,RUPTREG4,MPAC TO MPAC+3. 009493,000336: # 3) FOR NORMAL MARKING: 009494,000337: # A,MARKSTAT,ITEMP1,QPRET,VAC+1 TO VAC+7 OF VAC AREA IN USE. 009495,000338: 009496,000339: # Page 224 009497,000340: 07,2152 34675 MARKCONT CAF BIT14 009498,000341: 07,2153 70076 MASK STATE +2 # R21 MARK (SPECIAL MARKING FOR R21) 009499,000342: 07,2154 00006 EXTEND 009500,000343: 07,2155 12167 BZF MARKET # NOT SET THEREFORE REGULAR MARKING 009501,000344: 07,2156 36211 MARKIT1 CAF SIX # SPECIAL FOR R21 009502,000345: 07,2157 05475 TC GENTRAN # TRANSFER MRKBUF1 TO MRKBUF2 009503,000346: 07,2160 01725 ADRES MRKBUF1 009504,000347: 07,2161 01734 ADRES MRKBUF2 009505,000348: 009506,000349: 07,2162 36211 CAF SIX # TRANSFER CURRENT MARK DATE TO MARKBUF1 009507,000350: 07,2163 05475 TC GENTRAN 009508,000351: 07,2164 00355 ADRES MKT2T1 009509,000352: 07,2165 01725 ADRES MRKBUF1 009510,000353: 009511,000354: 07,2166 15213 TCF TASKOVER 009512,000355: 009513,000356: 07,2167 11330 MARKET CCS MARKSTAT # SEE IF MARKS CALLED FOR 009514,000357: 07,2170 02224 TC MARK2 # COLLECT MARKS 009515,000358: 009516,000359: 07,2171 34711 CAF TWO # IS MARKING SYSTEM IN USE (BIT2) 009517,000360: 07,2172 71044 MASK EXTVBACT 009518,000361: 07,2173 00006 EXTEND 009519,000362: 07,2174 12216 BZF MARKET3 # MARKING NOT CALLED FOR 009520,000363: 07,2175 34677 CAF BIT12 009521,000364: 07,2176 70101 MASK STATE +5 # V59FLAG 009522,000365: 07,2177 00006 EXTEND 009523,000366: 07,2200 12216 BZF MARKET3 # IF V59FLAG NOT SET-MARK UNCALLED FOR 009524,000367: 07,2201 34754 CAF PRIO5 # CALIBRATION MARK (SET) FOR P23 009525,000368: 07,2202 05027 TC NOVAC # SPECIAL DISPLAY JOB 009526,000369: 07,2203 E7,1725 EBANK= MRKBUF1 009527,000370: 07,2203 02405 76067 2CADR MARKDISP 009528,000371: 009529,000372: 07,2205 36211 CAF SIX 009530,000373: 07,2206 05475 TC GENTRAN # TRANSFER MARK DATE TO MARKDOWN 009531,000374: 07,2207 00355 ADRES MKT2T1 009532,000375: 07,2210 01674 ADRES MARKDOWN 009533,000376: 07,2211 36211 CAF SIX 009534,000377: 07,2212 05475 TC GENTRAN # TRANSFER MARK DATA TO MRKBUF1 FOR 009535,000378: 07,2213 00355 ADRES MKT2T1 # SPECIAL DISPLAY OF SHAFT AND TRUNNION 009536,000379: 07,2214 01725 ADRES MRKBUF1 # IF V59 ACTING 009537,000380: 07,2215 15213 TCF TASKOVER 009538,000381: 07,2216 05537 MARKET3 TC ALARM 009539,000382: 07,2217 00122 OCT 122 # MARKING NOT CALLED FOR 009540,000383: 07,2220 15213 TCF TASKOVER 009541,000384: 07,2221 05537 114ALM TC ALARM # MARK NOT WANTED 009542,000385: 07,2222 00114 OCT 114 009543,000386: 07,2223 15213 TCF TASKOVER 009544,000387: 009545,000388: # Page 225 009546,000389: # STORE MARK DATA IN MKVAC AND INCREMENT POINTER 009547,000390: 009548,000391: 07,2224 67711 MARK2 AD 74K # SEE IF MARKS WANTED-REDUCE MARKS WANTED 009549,000392: 07,2225 00006 EXTEND 009550,000393: 07,2226 62221 BZMF 114ALM # MARK NOT WANTED-ALARM 009551,000394: 07,2227 55330 TS MARKSTAT 009552,000395: 07,2230 40000 COM 009553,000396: 07,2231 74701 MASK BIT10 # SET BIT10 TO ENABLE REJECT 009554,000397: 07,2232 27330 ADS MARKSTAT 009555,000398: 009556,000399: 07,2233 74741 MASK LOW9 009557,000400: 07,2234 54061 TS ITEMP1 009558,000401: 07,2235 50000 INDEX A 009559,000402: 07,2236 56052 XCH QPRET # PICK UP MARK SLOT-POINTER 009560,000403: 07,2237 54062 TS ITEMP2 # SAVE CURRENT POINTER 009561,000404: 07,2240 64716 AD SEVEN # INCREMENT POINTER 009562,000405: 07,2241 50061 INDEX ITEMP1 009563,000406: 07,2242 54052 TS QPRET # STORE ADVANCED POINTER 009564,000407: 009565,000408: 07,2243 00006 VACSTOR EXTEND 009566,000409: 07,2244 30356 DCA MKT2T1 009567,000410: 07,2245 50062 INDEX ITEMP2 009568,000411: 07,2246 52001 DXCH 0 009569,000412: 07,2247 30357 CA MKCDUY 009570,000413: 07,2250 50062 INDEX ITEMP2 009571,000414: 07,2251 54002 TS 2 009572,000415: 07,2252 30360 CA MKCDUS 009573,000416: 07,2253 50062 INDEX ITEMP2 009574,000417: 07,2254 54003 TS 3 009575,000418: 07,2255 30361 CA MKCDUZ 009576,000419: 07,2256 50062 INDEX ITEMP2 009577,000420: 07,2257 54004 TS 4 009578,000421: 07,2260 30362 CA MKCDUT 009579,000422: 07,2261 50062 INDEX ITEMP2 009580,000423: 07,2262 54005 TS 5 009581,000424: 07,2263 30363 CA MKCDUX 009582,000425: 07,2264 50062 INDEX ITEMP2 009583,000426: 07,2265 54006 TS 6 009584,000427: 009585,000428: 07,2266 37671 CAF PRIO34 # IF ALL MARKS MADE FLASH VB50 009586,000429: 07,2267 71330 MASK MARKSTAT 009587,000430: 07,2270 00006 EXTEND 009588,000431: 07,2271 12273 BZF +2 009589,000432: 07,2272 15213 TCF TASKOVER 009590,000433: 07,2273 37667 CAF PRIO32 009591,000434: 07,2274 05027 TC NOVAC 009592,000435: 07,2275 1330 EBANK= MARKSTAT 009593,000436: 07,2275 02421 16062 2CADR MKVB50 009594,000437: 009595,000438: 07,2277 15213 TCF TASKOVER 009596,000439: 009597,000440: # Page 226 009598,000441: # PROGRAM NAME: MKREJECT DATE: 5 APRIL 1967 009599,000442: # PROGRAM MODIFIED BY 258/276 PROGRAMMERS LOG SECTION SXTMARK 009600,000443: # MOD BY: R. MELANSON TO ADD DOCUMENTATION ASSEMBLY SUNDISK REV. 116 009601,000444: 009602,000445: # FUNCTIONAL DESCRIPTION: 009603,000446: 009604,000447: # ROUTINE ALLOWS OPEATOR TO REJECT MARK MADE PRIOR TO ACCEPTANCE AND ALLOWS A NEW MARK TO BE MADE BY ASTRONAUT. 009605,000448: 009606,000449: # CALLING SEQUENCE: 009607,000450: 009608,000451: # FROM MARKRUPT IF BIT7 OF CHANNEL 16 IS 1. 009609,000452: 009610,000453: # NORMAL EXIT MODE: 009611,000454: 009612,000455: # RESUME 009613,000456: 009614,000457: # ALARM OR ABORT EXIT MODE: 009615,000458: 009616,000459: # ALARM AND RESUME 009617,000460: 009618,000461: # OUTPUT: 009619,000462: 009620,000463: # 1) FOR R21: 009621,000464: # MRKRUP1 SET TO -1 009622,000465: # 2) FOR NORMAL MARKING: 009623,000466: # BIT10 MARKSTAT =0, INCREMENT NO. MARKS BY 1, DECREMENT QPRET BY 7 009624,000467: 009625,000468: # ERASABLE INITIALIZATION: 009626,000469: 009627,000470: # 1) FOR R21: 009628,000471: # BIT14 OF STATE+2 SET TO 1 009629,000472: # 2) FOR NORMAL MARKING: 009630,000473: # BIT14 OF STATE+2 SET TO 0, MARKSTAT,QPRET 009631,000474: 009632,000475: # DEBRIS: 009633,000476: 009634,000477: # 1) FOR R21: 009635,000478: # A,MARKSTAT,EBANK 009636,000479: # 2) FOR NORMAL MARKING: 009637,000480: # A,MARKSTAT,ITEMP1,QPRET 009638,000481: 009639,000482: 07,2300 34675 MKREJECT CAF BIT14 009640,000483: 07,2301 70076 MASK STATE +2 # R21 MARK (SPECIAL MARKING FOR R21) 009641,000484: 07,2302 00006 EXTEND 009642,000485: 07,2303 12307 BZF MRKREJCT # NOT SET THEREFORE REGULAR REJECT 009643,000486: 07,2304 37716 CA NEGONE # -1 (FOR R22) 009644,000487: 07,2305 55725 TS MRKBUF1 # -0 IN TIME IS FLAG TO R22 SIGNIFYING A 009645,000488: 07,2306 05222 TC RESUME # REJECTED MARK 009646,000489: 07,2307 11330 MRKREJCT CCS MARKSTAT # SEE IF MARKS BEING ACCEPTED 009647,000490: 07,2310 02314 TC REJECT2 009648,000491: 07,2311 05537 TC ALARM # MARKS NOT BEING ACCEPTED 009649,000492: 07,2312 00112 OCT 112 009650,000493: 07,2313 05222 TC RESUME 009651,000494: 009652,000495: 07,2314 44701 REJECT2 CS BIT10 # SEE IF MARK HAD BEEN MADE SINCE LAST 009653,000496: 07,2315 71330 MASK MARKSTAT # REJECT, AND SET BIT10 TO ZERO TO 009654,000497: 07,2316 57330 XCH MARKSTAT # SHOW MARK REJECT 009655,000498: # Page 227 009656,000499: 07,2317 74701 MASK BIT10 009657,000500: 07,2320 10000 CCS A 009658,000501: 07,2321 02325 TC REJECT3 009659,000502: 009660,000503: 07,2322 05537 TC ALARM # DON'T ACCEPT TWO REJECTS TOGETHER 009661,000504: 07,2323 00110 OCT 110 009662,000505: 07,2324 05222 TC RESUME 009663,000506: 009664,000507: 07,2325 34741 REJECT3 CAF LOW9 # DECREMENT POINTER TO REJECT MARK 009665,000508: 07,2326 71330 MASK MARKSTAT 009666,000509: 07,2327 54061 TS ITEMP1 009667,000510: 07,2330 44716 CS SEVEN 009668,000511: 07,2331 50061 INDEX ITEMP1 009669,000512: 07,2332 26052 ADS QPRET # NEW POINTER 009670,000513: 009671,000514: 07,2333 34677 CAF BIT12 # INCREMENT MARKS WANTED AND IF FIELD 009672,000515: 07,2334 61330 AD MARKSTAT # IS NOW NON-ZERO, CHANGE TO VB51 TO 009673,000516: 07,2335 57330 XCH MARKSTAT # INDICATE MORE MARKS WANTED 009674,000517: 07,2336 77671 MASK PRIO34 # INDICATE MORE MARKS WANTED 009675,000518: 07,2337 10000 CCS A 009676,000519: 07,2340 05222 TC RESUME 009677,000520: 07,2341 37667 CAF PRIO32 009678,000521: 07,2342 05027 TC NOVAC 009679,000522: 07,2343 1330 EBANK= MARKSTAT 009680,000523: 07,2343 02346 16062 2CADR MKVB51 009681,000524: 009682,000525: 07,2345 05222 TC RESUME 009683,000526: 009684,000527: # Page 228 009685,000528: # PROGRAM DESCRIPTON MKVB51 AND MKVB50 009686,000529: 009687,000530: # AUTHOR: BARNERT DATE: 2-15-67 MOD: 0 009688,000531: # PURPOSE: FLASH V51N70,V51N43, OR V51 TO REQUEST MARKING, 009689,000532: # AND V50N25 R1=10 TO REQUEST TERMINATE MARKING. 009690,000533: 009691,000534: # CALLING SEQUENCE: AS JOB WITHIN SXTMARK 009692,000535: 009693,000536: # EXIT TO ENDMARK UPON RECEIPT OF V33, V34 CAUSES GOTOP00H, ENTER 009694,000537: # RECYCLES THE DISPLAY 009695,000538: 009696,000539: # NOTE: SXTMARK AUTOMATICALLY CHANGES FROM CALLING MKVB51 TO MKVB50 WHEN 009697,000540: # SUFFICIENT MARKS HAVE BEEN MADE, AND THE REVERSE WHEN A MARK 009698,000541: # REJECT REDUCES THE NUMBER MADE BELOW THAT REQUIRED 009699,000542: 009700,000543: # SUBROUTINES CALLED: BANKCALL, GOMARK2, GOODEND, ENDMARK, WAITLIST 009701,000544: 009702,000545: # ALARM OR ABORT MODES: NONE 009703,000546: 009704,000547: # ERASABLE USED: VERBREG, MARKSTAT, QPRET, DSPTEM1 009705,000548: 009706,000549: # OUTPUT MARKSTAT = VAC ADDRESS 009707,000550: 009708,000551: # QPRET = NO. MARKS 009709,000552: 009710,000553: 07,2346 04555 MKVB51 TC BANKCALL # CLEAR DISPLAY FOR MARK VERB 009711,000554: 07,2347 20464 CADR KLEENEX 009712,000555: 07,2350 32426 CAF VB51 # DISPLAY MARK VB51 009713,000556: 07,2351 04555 TC BANKCALL 009714,000557: 07,2352 20476 CADR GOMARK4 009715,000558: 07,2353 12356 TCF TERMSXT # VB34-TERMINATE 009716,000559: 07,2354 12367 TCF ENTANSWR # V33-PROCEED-MARKING DONE 009717,000560: 07,2355 12415 TCF MKVB5X # ENTER-RECYCLE TO INITIAL MARK DISPLAY 009718,000561: 009719,000562: 07,2356 05425 TERMSXT TC CLEARMRK # CLEAR MARK ACTIVITY. 009720,000563: 009721,000564: 07,2357 05253 TC CHECKMM 009722,000565: 07,2360 00003 MM 03 B-14 009723,000566: 07,2361 12363 TCF +2 009724,000567: 07,2362 02365 TC TERMP03 009725,000568: 07,2363 04574 TC POSTJUMP 009726,000569: 07,2364 30176 CADR TERM52 009727,000570: 009728,000571: 07,2365 05435 TERMP03 TC UPFLAG 009729,000572: 07,2366 00032 ADRES TRM03FLG 009730,000573: 07,2367 34741 ENTANSWR CAF LOW9 # PUT VAC ADR IN MARKSTAT AND NO. OF 009731,000574: 07,2370 71330 MASK MARKSTAT # MARKS MADE IN QPRET BEFORE LEAVING 009732,000575: 07,2371 55330 TS MARKSTAT # SXTMARK 009733,000576: 07,2372 40000 COM 009734,000577: 07,2373 51330 INDEX MARKSTAT 009735,000578: 07,2374 60052 AD QPRET 009736,000579: # Page 229 009737,000580: 07,2375 00006 EXTEND 009738,000581: 07,2376 62402 BZMF JAMIT # NO MARKS MADE, SHOW IT IN QPRET, R53 009739,000582: 07,2377 00006 EXTEND # WILL PICK IT UP AND RECYCLE 009740,000583: 07,2400 74677 MP BIT12 # THIS PUTS NUMBER MARKS-1 IN A 009741,000584: 07,2401 64712 AD ONE 009742,000585: 07,2402 51330 JAMIT INDEX MARKSTAT # STORE NO OF MARKS MADE 009743,000586: 07,2403 54052 TS QPRET 009744,000587: 07,2404 00004 INHINT # SERVICE OPTSTALL INTERFACE IWTH 009745,000588: 07,2405 34715 CAF FIVE 009746,000589: 07,2406 05140 TC WAITLIST 009747,000590: 07,2407 1330 EBANK= MARKSTAT 009748,000591: 07,2407 02412 16062 2CADR ENDMARKS 009749,000592: 009750,000593: 07,2411 05423 TC ENDMARK # KNOCKS DOWN MARKING FLAG + DOES ENDOFJOB 009751,000594: 009752,000595: 07,2412 34712 ENDMARKS CAF ONE 009753,000596: 07,2413 04633 TC IBNKCALL 009754,000597: 07,2414 17467 CADR GOODEND 009755,000598: 07,2415 37671 MKVB5X CAF PRIO34 009756,000599: 07,2416 71330 MASK MARKSTAT # RE-DISPLAY VB51 IF MORE MARKS WANTED 009757,000600: 07,2417 10000 CCS A # AND VB50 IF ALL IN 009758,000601: 07,2420 12346 TCF MKVB51 009759,000602: 07,2421 34333 MKVB50 CAF R1D1 # OCT 16 009760,000603: 07,2422 55045 TS DSPTEM1 009761,000604: 07,2423 32425 CAF V50N25 009762,000605: 07,2424 12351 TCF MKVB51 +3 009763,000606: 009764,000607: 07,2425 14431 V50N25 VN 5025 009765,000608: 07,2426 14600 VB51 VN 5100 009766,000609: 07,2427 4362 OCT37 = LOW5 009767,000610: 009768,000611: # PROGRAM NAME: MARKIT DATE: 19 SEPT 1967 009769,000612: 009770,000613: # CALLING SEQUENCE: 009771,000614: 009772,000615: # FROM MARKRUPT IF CHAN 16 BIT 6 = 1 009773,000616: 009774,000617: # EXIT 009775,000618: 009776,000619: # RESUME 009777,000620: 009778,000621: # INPUT 009779,000622: 009780,000623: # CDUCHKWD. ALSO ALL INITIALIZATION FOR MARKCONT 009781,000624: 009782,000625: # OUTPUT 009783,000626: 009784,000627: # MKT2T1,MKCDUX,MKCDUY,MKCDUZ,MKCDUS,MKCDUT 009785,000628: 009786,000629: # ALARM EXIT 009787,000630: 009788,000631: # NONE 009789,000632: 009790,000633: 07,2427 11341 MARKIT CCS CDUCHKWD 009791,000634: 07,2430 12433 TCF +3 # DELAY OF CDUCHKWD CS IF PNZ 009792,000635: # Page 230 009793,000636: 07,2431 12433 TCF +2 009794,000637: 07,2432 34714 CAF ZERO 009795,000638: 07,2433 64712 AD ONE # 10 MS IF NO CHECK 009796,000639: 07,2434 05140 TC WAITLIST 009797,000640: 07,2435 E7,1725 EBANK= MRKBUF1 009798,000641: 07,2435 02203 20067 2CADR MARKDIF 009799,000642: 009800,000643: 07,2437 15222 TCF RESUME 009801,000644: 009802,000645: 10,2000 SETLOC SXTMARK1 009803,000646: 10,2000 BANK 009804,000647: 009805,000648: 10,2203 COUNT 20/SXTMK 009806,000649: 009807,000650: # PROGRAM NAME: MARKDIF 009808,000651: 009809,000652: # CALLING SEQUENCE 009810,000653: 009811,000654: # WAITLIST FROM MARKIT 009812,000655: 009813,000656: # EXIT 009814,000657: 009815,000658: # TASKOVER TO IBNKCALL TO MARKCONT 009816,000659: 009817,000660: # INPUT 009818,000661: 009819,000662: # OUTPUT FROM MARKIT, INPUT TO MARKCONT, CDUCHKWD 009820,000663: 009821,000664: # OUTPUT 009822,000665: 009823,000666: # RUPTSTOR - RUPTSTOR+3, RUPTREG3, RUPTSTOR+5 - RUPTSTOR+6 009824,000667: 009825,000668: # ALARM EXIT 009826,000669: 009827,000670: # ALARM AND TASKOVER 009828,000671: 009829,000672: 10,2203 31341 MARKDIF CA CDUCHKWD # IF DELAY CHECK IS ZERO OR NEG, ACP MARK 009830,000673: 10,2204 00006 EXTEND 009831,000674: 10,2205 62216 BZMF MKACPT 009832,000675: 10,2206 44712 CS BIT1 009833,000676: 10,2207 54354 TS MKNDX # SET INDEX -1 009834,000677: 10,2210 30363 CA MKCDUX 009835,000678: 10,2211 02220 TC DIFCHK # SEE IF VEHICLE RATE TO MUCH AT MARK 009836,000679: 10,2212 30357 CA MKCDUY 009837,000680: 10,2213 02220 TC DIFCHK 009838,000681: 10,2214 30361 CA MKCDUZ 009839,000682: 10,2215 02220 TC DIFCHK 009840,000683: 009841,000684: 10,2216 04633 MKACPT TC IBNKCALL 009842,000685: 10,2217 16152 CADR MARKCONT # MARK DATA OK, WHAT DO WE DO WITH IT 009843,000686: 009844,000687: 10,2220 24354 DIFCHK INCR MKNDX # INCREMENT INDEX 009845,000688: 009846,000689: 10,2221 00006 EXTEND 009847,000690: 10,2222 50354 INDEX MKNDX 009848,000691: # Page 231 009849,000692: 10,2223 20032 MSU CDUX # GET MARK(ICDU) - CURRENT(ICDU) 009850,000693: 10,2224 10000 CCS A 009851,000694: 10,2225 12231 TCF +4 009852,000695: 10,2226 00002 TC Q 009853,000696: 10,2227 12231 TCF +2 009854,000697: 10,2230 00002 TC Q 009855,000698: 10,2231 67715 AD NEG2 # SEE IF DIFFERENCE GREATER THAN 3 BITS 009856,000699: 10,2232 00006 EXTEND 009857,000700: 10,2233 62230 BZMF -3 # NOT GREATER 009858,000701: 009859,000702: 10,2234 05537 TC ALARM # COUPLED WITH PROGRAM ALARM 009860,000703: 10,2235 00121 OCT 00121 009861,000704: 009862,000705: 10,2236 15213 TCF TASKOVER # DO NOT ACCEPT 009863,000706: End of include-file SXTMARK.agc. Parent file is MAIN.agc