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