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