Source Code
These source-code files are part of a reconstructed copy of Comanche 72, the
first release of the Apollo Guidance Computer (AGC) Command Module (CM) software
for Apollo 13.
They have been adapted from sources files created from a listing of Comanche 55. These source files were updated to match binary dumps of a set of Comanche 67 rope modules. They were then further modified by applying known changes between Comanche 67 and Comanche 72. A binary dump of module B2 of Comanche 72, part number 2010802-021, was also used to validate changes made to banks 05-13. The resulting code assembles to have identical memory-bank checksums as those specified in NASA drawing 2021153G; this gives reasonably high confidence that the changes that have been made are correct. In places where ambiguity exists, this ambiguity is discussed in "## Reconstruction:" comments. Since no contemporary listings of Comanche 72 are available as source material, all comments and labels are approximate. They have been taken from other AGC programs where possible, or, in some places, written from scratch to match what we believe would have been in the original listing. |
009103,000002: ## Copyright: Public domain.
009104,000003: ## Filename: SXTMARK.agc
009105,000004: ## Purpose: A section of Comanche revision 072.
009106,000005: ## It is part of the reconstructed source code for the first
009107,000006: ## release of the software for the Command Module's (CM) Apollo
009108,000007: ## Guidance Computer (AGC) for Apollo 13. No original listings
009109,000008: ## of this program are available; instead, this file was recreated
009110,000009: ## from a printout of Comanche 055, binary dumps of a set of
009111,000010: ## Comanche 067 rope modules, and changelogs between Comanche 067
009112,000011: ## and 072. It has been adapted such that the resulting bugger words
009113,000012: ## exactly match those specified for Comanche 072 in NASA drawing
009114,000013: ## 2021153G, which gives relatively high confidence that the
009115,000014: ## reconstruction is correct.
009116,000015: ## Assembler: yaYUL
009117,000016: ## Contact: Ron Burkey <info@sandroid.org>.
009118,000017: ## Website: www.ibiblio.org/apollo/index.html
009119,000018: ## Mod history: 2024-05-13 MAS Created from Comanche 067.
009120,000019:
009121,000020: # PROGRAM NAME - SXTMARK DATE - 5 APRIL 1967
009122,000021: # PROGRAM MODIFIED BY 258/278 PROGRAMMERS LOG SECTION SXTMARK
009123,000022: # MOD BY - R. MELANSON TO ADD DOCUMENTATION ASSEMBLY SUNDISK REV. 116
009124,000023: #
009125,000024: # FUNCTIONAL DESCRIPTION-
009126,000025:
009127,000026: # SXTMARK IS CALLED FROM INTERNAL ROUTINES WHICH MAY REQUIRE STAR OR LANDMARK MARKINGS BY THE ASTRONAUT. IF
009128,000027: # THE MARK SYSTEM IS NOT IN USE, SXTMARK RESERVES A VAC AREA FOR MARKING AND REQUESTS EXECUTION OF THE MKVB51
009129,000028: # ROUTINE VIA THE EXECUTIVE JOB PRIORITY LIST. R21 USES THIS ROUTINE TO DETERMINE IF THE MARK SYSTEM CAN BE
009130,000029: # USED. IF YES, SXTMARK RETURNS TO R21 TO PERFORM ITS OWN MARK REQUESTS VIA THE V51 FLASH.
009131,000030:
009132,000031: # CALLING SEQUENCE-
009133,000032:
009134,000033: # CAF (NO. MARK REQUESTS IN BITS 1-3 OF A)
009135,000034: # TC BANKCALL
009136,000035: # CADR SXTMARK
009137,000036:
009138,000037: # NORMAL EXIT MODE-
009139,000038:
009140,000039: # SWRETURN
009141,000040:
009142,000041: # ALARM OR ABORT EXIT MODE-
009143,000042:
009144,000043: # ABORT
009145,000044:
009146,000045: # OUTPUT-
009147,000046:
009148,000047: # 1) MARKSTAT CONTAINS MARK VALUE (BITS 14-12) AND VAC AREA ADDRESS
009149,000048: # 2) QPRET = VAC AREA POINTER VALUE
009150,000049: # 3) 1ST WORD OF RESERVED VAC AREA SET TO +0
009151,000050: # 4) PRIO32 PLACED IN A REGISTER
009152,000051:
009153,000052: # ERASABLE INITIALIZATION-
009154,000053:
009155,000054: # 1) BITS 1-3 OF A = NO. MARKS REQUESTED
009156,000055: # 2) BITS 2,3 OF EXTVBACT = 0
009157,000056: # 3) A VAC AREA MUST BE AVAILABLE (WORD 1 = ADDRESS OF VAC AREA)
009158,000057:
009159,000058: # DEBRIS-
009160,000059:
009161,000060: # A,Q,L,RUPTREG1,MARKSTAT,QPRET,BIT2 OF EXTVBACT
009162,000061:
009163,000062: 13,2036 BANK 13
009164,000063: 07,2000 SETLOC SXTMARKE
009165,000064: 07,2000 BANK
009166,000065:
009167,000066: 07,2002 E7,1725 EBANK= MRKBUF1
009168,000067: 07,2002 COUNT 07/SXTMK
009169,000068:
009170,000069: 07,2002 00004 SXTMARK INHINT
009171,000070: 07,2003 54070 TS RUPTREG1 # NUMBER OF MARKS WANTED
009172,000071:
009173,000072: 07,2004 36211 CAF SIX # BIT2 = MARKING SYSTEM IN USE
009174,000073: 07,2005 71044 MASK EXTVBACT # BIT3 = EXTENDED VERB IN PROGRESS
009175,000074: 07,2006 10000 CCS A
009176,000075: 07,2007 02013 TC MKABORT # SET THEREFORE ABORT
009177,000076: 07,2010 35032 CAF BIT2 # NOT SET
009178,000077: 07,2011 27044 ADS EXTVBACT # SET IT, RESET IN ENDMARK
009179,000078: 07,2012 02015 TC MARKOK # YES, FIND VAC AREA
009180,000079:
009181,000080: 07,2013 07755 MKABORT TC BAILOUT
009182,000081: 07,2014 31211 OCT 31211
009183,000082: 07,2015 10400 MARKOK CCS VAC1USE # FIND VAC AREA
009184,000083: 07,2016 02031 TC MKVACFND
009185,000084: 07,2017 10454 CCS VAC2USE
009186,000085: 07,2020 02031 TC MKVACFND
009187,000086: 07,2021 10530 CCS VAC3USE
009188,000087: 07,2022 02031 TC MKVACFND
009189,000088: 07,2023 10604 CCS VAC4USE
009190,000089: 07,2024 02031 TC MKVACFND
009191,000090: 07,2025 10660 CCS VAC5USE
009192,000091: 07,2026 02031 TC MKVACFND
009193,000092: 07,2027 07755 TC BAILOUT
009194,000093: 07,2030 31207 OCT 31207
009195,000094:
009196,000095: 07,2031 65032 MKVACFND AD TWO # ADDRESS OF VAC AREA
009197,000096: 07,2032 55330 TS MARKSTAT
009198,000097: 07,2033 50000 INDEX A
009199,000098: 07,2034 54052 TS QPRET # STORE NEXT AVAILABLE MARK SLOT
009200,000099:
009201,000100: 07,2035 35035 CAF ZERO # SHOW VAC AREA OCCUPIED
009202,000101: 07,2036 51330 INDEX MARKSTAT
009203,000102: 07,2037 53777 TS 0 -1
009204,000103:
009205,000104: 07,2040 05400 TC CHECKMM # BACKUP MARK ROUTINE USES SXTMARK
009206,000105: 07,2041 00065 MM 53 B-14
009207,000106: 07,2042 12044 TCF +2
009208,000107: 07,2043 14711 TCF SWRETURN
009209,000108: 07,2044 05400 TC CHECKMM
009210,000109: 07,2045 00066 MM 54 B-14
009211,000110: 07,2046 12050 TCF +2
009212,000111: 07,2047 14711 TCF SWRETURN
009213,000112: 07,2050 35020 CAF BIT12 # DESIRED NUMBER OF MARKS IN 12-14
009214,000113: 07,2051 00006 EXTEND
009215,000114: 07,2052 70070 MP RUPTREG1
009216,000115: 07,2053 56001 XCH L
009217,000116: 07,2054 27330 ADS MARKSTAT
009218,000117:
009219,000118: 07,2055 37667 CAF PRIO32 # ENTER MARK JOB
009220,000119: 07,2056 05150 TC NOVAC
009221,000120: 07,2057 1330 EBANK= MARKSTAT
009222,000121: 07,2057 02347 16062 2CADR MKVB51
009223,000122:
009224,000123: 07,2061 00003 RELINT
009225,000124: 07,2062 14711 TCF SWRETURN # SAME AS MODEEXIT
009226,000125:
009227,000126: # PROGRAM NAME - MKRELEAS DATE - 5 APRIL 1967
009228,000127: # PROGRAM MODIFIED BY 258/278 PROGRAMMERS LOG SECTION SXTMARK
009229,000128: # MOD BY - R. MELANSON TO ADD DOCUMENTATION ASSEMBLY SUNDISK REV. 116
009230,000129:
009231,000130: # FUNCTIONAL DESCRIPTION-
009232,000131:
009233,000132: # MKRELEAS IS EXECUTED BY INTERNAL ROUTINES TO RELEASE THE MARK SYSTEM TO MAKE IT AVAILABLE TO OTHER INTERNAL
009234,000133: # SYSTEM ROUTINES. IT ALSO CLEARS THE COARSE OPTICS FLAG BIT AND DISABLES THE OPTICS ERROR COUNTER.
009235,000134:
009236,000135: # CALLING SEQUENCE-
009237,000136:
009238,000137: # TC BANKCALL
009239,000138: # CADR MKRELEAS
009240,000139:
009241,000140: # NORMAL EXIT MODE-
009242,000141:
009243,000142: # SWRETURN
009244,000143:
009245,000144: # ALARM OR ABORT EXIT MODE- NONE
009246,000145:
009247,000146: # OUTPUT-
009248,000147:
009249,000148: # 1) BIT9 OPTMODES SET TO 0
009250,000149: # 2) OPTIND SET TO -1
009251,000150: # 3) 1ST WORD OF VAC AREA SET TO VAC ADDRESS TO SIGNIFY AVAILABILITY.
009252,000151: # 4) MARKSTAT CLEARED
009253,000152: # 5) BIT2 CHANNEL 12 SET TO 0
009254,000153:
009255,000154: # ERASABLE INITIALIZATION- NONE
009256,000155:
009257,000156: # DEBRIS-
009258,000157:
009259,000158: # A,MARKSTAT,BIT9 OPTMODES,OPTIND,BIT2 CHANNEL 12
009260,000159:
009261,000160: 07,2063 35035 MKRELEAS CAF ZERO # SHOW MARK SYSTEM NOW AVAILABLE
009262,000161: 07,2064 57330 XCH MARKSTAT
009263,000162: 07,2065 75062 MASK LOW9
009264,000163: 07,2066 10000 CCS A
009265,000164: 07,2067 50000 INDEX A
009266,000165: 07,2070 54000 TS 0
009267,000166: 07,2071 00004 MKRLEES INHINT
009268,000167: 07,2072 45023 CS BIT9 # COARSE OPTICS RETURN FLAG.
009269,000168: 07,2073 71331 MASK OPTMODES
009270,000169: 07,2074 55331 TS OPTMODES
009271,000170:
009272,000171: 07,2075 37716 CA NEGONE
009273,000172: 07,2076 55303 TS OPTIND # KILL COARS OPTICS
009274,000173:
009275,000174: 07,2077 45032 CS BIT2 # DISABLE OPTICS ERROR COUNTER
009276,000175: 07,2100 00006 EXTEND
009277,000176: 07,2101 03012 WAND CHAN12
009278,000177:
009279,000178: 07,2102 00003 RELINT
009280,000179: 07,2103 04711 TC SWRETURN
009281,000180: # PROGRAM NAME - MARKRUPT DATE - 5 APRIL 1967
009282,000181: # PROGRAM MODIFIED BY 258/278 PROGRAMMERS LOG SECTION SXTMARK
009283,000182: # MOD BY - R. MELANSON TO ADD DOCUMENTATION ASSEMBLY SUNDISK REV. 116
009284,000183:
009285,000184: # FUNCTIONAL DESCRIPTION-
009286,000185: # MARKRUPT STORES CDUS,OPTICS AND TIME AND TRANSFERS CONTROL TO THE MARKIT,MARK REJECT OR KEYCOM ROUTINES IF
009287,000186: # BITS IN CHANNEL 16 ARE SET AS REQUIRED.
009288,000187:
009289,000188: # CALLING SEQUENCE-
009290,000189: # ROUTINE ENTERED VIA KEYRUPT2 WHEN MARK,MARK REJECT OR DSKY KEYS DEPRESSED BY THE OPERATOR.
009291,000190:
009292,000191: # NORMAL EXIT MODE-
009293,000192: # MARKIT, MKREJECT OR POSTJUMP ROUTINES (MARK, MARK REJECT OR DSKY CODE)
009294,000193:
009295,000194: # ALARM OR ABORT EXIT MODE-
009296,000195: # ALARM AND RESUME
009297,000196:
009298,000197: # OUTPUT-
009299,000198: # RUPTSTOR+5 = CDUT, RUPTSTOR+3 = CDUS, RUPTSTOR+2 = CDUY,
009300,000199: # RUPTREG3 = CDUZ, RUPTSTOR+6 = CDUX, RUPTSTOR+1 AND SAMPTIME+1 = TIME1,
009301,000200: # RUPTSTOR AND SAMPTIME = TIME2
009302,000201:
009303,000202: # ERASABLE INITIALIZATION-
009304,000203: # CDUT,CDUS,CDUY,CDUZ,CDUX,TIME2,TIME1,CHANNEL 16 BITS 6,7 OR 1-5
009305,000204:
009306,000205: # DEBRIS-
009307,000206: # A,QRUPT,RUPTREG3,SAMPTIME,SAMPTIME+1,RUPTSTOR TO RUPTSTOR+6 EXCEPT RUPTSTOR+4 (LOCATION 67)
009308,000207:
009309,000208: 07,2104 54016 MARKRUPT TS BANKRUPT # STORE CDUS AND OPTICS NOW
009310,000209: 07,2105 30035 CA CDUT
009311,000210: 07,2106 54361 TS MKCDUT
009312,000211: 07,2107 30036 CA CDUS
009313,000212: 07,2110 54357 TS MKCDUS
009314,000213: 07,2111 30033 CA CDUY
009315,000214: 07,2112 54356 TS MKCDUY
009316,000215: 07,2113 30034 CA CDUZ
009317,000216: 07,2114 54360 TS MKCDUZ
009318,000217: 07,2115 30032 CA CDUX
009319,000218: 07,2116 54362 TS MKCDUX
009320,000219: 07,2117 00006 EXTEND
009321,000220: 07,2120 30025 DCA TIME2 # GET TIME
009322,000221: 07,2121 52355 DXCH MKT2T1
009323,000222: 07,2122 00006 EXTEND
009324,000223: 07,2123 30355 DCA MKT2T1
009325,000224: 07,2124 52014 DXCH SAMPTIME # RUPT TIME FOR NOUN 65.
009326,000225:
009327,000226: 07,2125 56002 XCH Q
009328,000227: 07,2126 54012 TS QRUPT
009329,000228:
009330,000229: 07,2127 35026 CAF BIT6 # SEE IF MARK OR MKREJECT
009331,000230: 07,2130 00006 EXTEND
009332,000231: 07,2131 02016 RAND NAVKEYIN
009333,000232: 07,2132 10000 CCS A
009334,000233: 07,2133 02430 TC MARKIT # ITS A MARK
009335,000234:
009336,000235: 07,2134 35025 CAF BIT7 # NOT A MARK, SEE IF MKREJECT
009337,000236: 07,2135 00006 EXTEND
009338,000237: 07,2136 02016 RAND NAVKEYIN
009339,000238: 07,2137 10000 CCS A
009340,000239: 07,2140 02301 TC MKREJECT # ITS A MARK REJECT
009341,000240:
009342,000241: 07,2141 34362 KEYCALL CAF OCT37 # NOT MARK OR MKREJECT, SEE IF KEYCODE
009343,000242: 07,2142 00006 EXTEND
009344,000243: 07,2143 02016 RAND NAVKEYIN
009345,000244: 07,2144 00006 EXTEND
009346,000245: 07,2145 12150 BZF +3 # IF NO INBITS
009347,000246: 07,2146 04715 TC POSTJUMP
009348,000247: 07,2147 17702 CADR KEYCOM # IT,S A KEY CODE, NOT A MARK.
009349,000248:
009350,000249: 07,2150 05664 +3 TC ALARM # ALARM IF NO INBITS
009351,000250: 07,2151 00113 OCT 113
009352,000251: 07,2152 05347 TC RESUME
009353,000252:
009354,000253: # PROGRAM NAME - MARKCONT DATE - 19 SEPT 1967
009355,000254: # PROGRAM MODIFIED BY 258/278 PROGRAMMERS LOG SECTION SXTMARK
009356,000255: # MOD BY - R. MELANSON TO ADD DOCUMENTATION ASSEMBLY SUNDISK REV. 116
009357,000256:
009358,000257: # FUNCTIONAL DESCRIPTION-
009359,000258: # MARKCONT IS USED TO PERFORM A SPECIAL MARK FUNCTION FOR R21, TO EXECUTE A SPECIAL DISPLAY OF OPTICS AND TIME OR
009360,000259: # TO PERFORM A MARK OF A STAR OR LAND SIGHTING BASED UPON FLASHING V-N.
009361,000260:
009362,000261: # CALLING SEQUENCE-
009363,000262:
009364,000263: # FROM MARKDIF
009365,000264:
009366,000265: # NORMAL EXIT MODE-
009367,000266: # TASKOVER
009368,000267:
009369,000268: # ALARM OR ABORT EXIT MODE-
009370,000269: # ALARM AND TASKOVER
009371,000270:
009372,000271: # OUTPUT-
009373,000272: # 1) FOR R21-
009374,000273: # EBANK=EBANK7
009375,000274: # MRKBUF1 TO MRKBUF1+6 = TIME2,TIME1,CDUY,OPTICX,CDUZ,OPTICSY,CDUX OF CURRENT R21 MARK FUNCTION.
009376,000275: # MRKBUF2 TO MRKBUF2+6 CONTAINS PREVIOUS R21 MARK VALUES.
009377,000276: # 2) FOR SPECIAL DISPLAY JOB-
009378,000277: # RUPTREG1 AND MRKBUF1 = CDUS,RUPTREG2 AND MRKBUF1+1 = CDUT.
009379,000278: # RUPTREG3 AND MRKBUF1+2 = TIME2,RUPTREG4 AND MRKBUF1+3 = TIME1
009380,000279: # 3) FOR NORMAL MARKING-
009381,000280: # DECREMENT BITS14-12 OF MARKSTAT BY 1,
009382,000281: # BIT10 MARKSTAT SET TO 1, INCREMENT QPRET BY 7,
009383,000282: # STORE TIME2,TIME1,CDUY,CDUS,CDUZ,CDUT AND CDUX IN VAC+1 TO VAC+7
009384,000283:
009385,000284: # ERASABLE INITIALIZATION-
009386,000285: # 1) FOR R21-
009387,000286: # BIT14 OF STATE+2 =1, MRKBUF1 TO MRKBUF1+6, ITEMP1, RUPTREG3,
009388,000287: # RUPTSTOR TO RUPTSTOR+6 EXCEPT RUPTSTOR+4
009389,000288: # 2) FOR SPECIAL DISPLAY JOB-
009390,000289: # BIT14 OF STATE+2 =0, MARKSTAT =+0, RUPTREG1,RUPTREG2,RUPTREG3
009391,000290: # RUPTREG4,RUPTSTOR,RUPTSTOR+1,RUPTSTOR+3,RUPTSTOR+5,
009392,000291: # BIT12 OF STATE+5 (V59 FLAG), MRKBUF1 THRU MRKBUF1+3
009393,000292: # 3) FOR NORMAL MARKING-
009394,000293: # BIT14 OF STATE+2 =0, MARKSTAT =VAC ADDRESS,A REG,ITEMP1,RUPTREG3,
009395,000294: # RUPTSTOR TO RUPTSTOR+6 EXCEPT RUPTSTOR+4
009396,000295:
009397,000296: # DEBRIS-
009398,000297: # 1) FOR R21-
009399,000298: # A, ITEMP1, MRKBUF1, MRKBUF2
009400,000299: # 2) FOR SPECIAL DISPLAY JOB-
009401,000300: # A,RUPTREG1,RUPTREG2,RUPTREG3,RUPTREG4,MPAC TO MPAC+3
009402,000301: # 3) FOR NORMAL MARKING-
009403,000302: # A,MARKSTAT,ITEMP1,QPRET,VAC+1 TO VAC+7 OF VAC AREA IN USE
009404,000303:
009405,000304: 07,2153 35016 MARKCONT CAF BIT14
009406,000305: 07,2154 70076 MASK STATE +2 # R21 MARK (SPECIAL MARKING FOR R21)
009407,000306: 07,2155 00006 EXTEND
009408,000307: 07,2156 12170 BZF MARKET # NOT SET THEREFORE REGULAR MARKING
009409,000308: 07,2157 36211 MARKIT1 CAF SIX # SPECIAL FOR R21
009410,000309: 07,2160 05622 TC GENTRAN # TRANSFER MRKBUF1 TO MRKBUF2
009411,000310: 07,2161 01725 ADRES MRKBUF1
009412,000311: 07,2162 01734 ADRES MRKBUF2
009413,000312:
009414,000313: 07,2163 36211 CAF SIX # TRANSFER CURRENT MARK DATA TO MARKBUF1
009415,000314: 07,2164 05622 TC GENTRAN
009416,000315: 07,2165 00354 ADRES MKT2T1
009417,000316: 07,2166 01725 ADRES MRKBUF1
009418,000317:
009419,000318: 07,2167 15340 TCF TASKOVER
009420,000319:
009421,000320: 07,2170 11330 MARKET CCS MARKSTAT # SEE IF MARKS CALLED FOR
009422,000321: 07,2171 02225 TC MARK2 # COLLECT MARKS
009423,000322:
009424,000323: 07,2172 35032 CAF TWO # IS MARKING SYSTEM IN USE (BIT2)
009425,000324: 07,2173 71044 MASK EXTVBACT
009426,000325: 07,2174 00006 EXTEND
009427,000326: 07,2175 12217 BZF MARKET3 # MARKING NOT CALLED FOR
009428,000327: 07,2176 35020 CAF BIT12
009429,000328: 07,2177 70101 MASK STATE +5 # V59FLAG
009430,000329: 07,2200 00006 EXTEND
009431,000330: 07,2201 12217 BZF MARKET3 # IF V59FLAG NOT SET-MARK UNCALLED FOR
009432,000331: 07,2202 35075 CAF PRIO5 # CALIBRATION MARK (SET) FOR P23
009433,000332: 07,2203 05150 TC NOVAC # SPECIAL DISPLAY JOB
009434,000333: 07,2204 E7,1725 EBANK= MRKBUF1
009435,000334: 07,2204 02437 76067 2CADR MARKDISP
009436,000335:
009437,000336: 07,2206 36211 CAF SIX
009438,000337: 07,2207 05622 TC GENTRAN # TRANSFER MARK DATA TO MARKDOWN
009439,000338: 07,2210 00354 ADRES MKT2T1
009440,000339: 07,2211 01674 ADRES MARKDOWN
009441,000340: 07,2212 36211 CAF SIX
009442,000341: 07,2213 05622 TC GENTRAN # TRANSFER MARK DATA TO MRKBUF1 FOR
009443,000342: 07,2214 00354 ADRES MKT2T1 # SPECIAL DISPLAY OF SHAFT AND TRUNNION
009444,000343: 07,2215 01725 ADRES MRKBUF1 # IF V59 ACTING
009445,000344: 07,2216 15340 TCF TASKOVER
009446,000345: 07,2217 05664 MARKET3 TC ALARM
009447,000346: 07,2220 00122 OCT 122 # MARKING NOT CALLED FOR
009448,000347: 07,2221 15340 TCF TASKOVER
009449,000348: 07,2222 05664 114ALM TC ALARM # MARK NOT WANTED
009450,000349: 07,2223 00114 OCT 114
009451,000350: 07,2224 15340 TCF TASKOVER
009452,000351:
009453,000352: # STORE MARK DATA IN MKVAC AND INCREMENT POINTER
009454,000353:
009455,000354: 07,2225 67711 MARK2 AD 74K # SEE IF MARKS WANTED-REDUCE MARKS WANTED
009456,000355: 07,2226 00006 EXTEND
009457,000356: 07,2227 62222 BZMF 114ALM # MARK NOT WANTED-ALARM
009458,000357: 07,2230 55330 TS MARKSTAT
009459,000358: 07,2231 40000 COM
009460,000359: 07,2232 75022 MASK BIT10 # SET BIT10 TO ENABLE REJECT
009461,000360: 07,2233 27330 ADS MARKSTAT
009462,000361:
009463,000362: 07,2234 75062 MASK LOW9
009464,000363: 07,2235 54061 TS ITEMP1
009465,000364: 07,2236 50000 INDEX A
009466,000365: 07,2237 56052 XCH QPRET # PICK UP MARK SLOT-POINTER
009467,000366: 07,2240 54062 TS ITEMP2 # SAVE CURRENT POINTER
009468,000367: 07,2241 65037 AD SEVEN # INCREMENT POINTER
009469,000368: 07,2242 50061 INDEX ITEMP1
009470,000369: 07,2243 54052 TS QPRET # STORE ADVANCED POINTER
009471,000370:
009472,000371: 07,2244 00006 VACSTOR EXTEND
009473,000372: 07,2245 30355 DCA MKT2T1
009474,000373: 07,2246 50062 INDEX ITEMP2
009475,000374: 07,2247 52001 DXCH 0
009476,000375: 07,2250 30356 CA MKCDUY
009477,000376: 07,2251 50062 INDEX ITEMP2
009478,000377: 07,2252 54002 TS 2
009479,000378: 07,2253 30357 CA MKCDUS
009480,000379: 07,2254 50062 INDEX ITEMP2
009481,000380: 07,2255 54003 TS 3
009482,000381: 07,2256 30360 CA MKCDUZ
009483,000382: 07,2257 50062 INDEX ITEMP2
009484,000383: 07,2260 54004 TS 4
009485,000384: 07,2261 30361 CA MKCDUT
009486,000385: 07,2262 50062 INDEX ITEMP2
009487,000386: 07,2263 54005 TS 5
009488,000387: 07,2264 30362 CA MKCDUX
009489,000388: 07,2265 50062 INDEX ITEMP2
009490,000389: 07,2266 54006 TS 6
009491,000390:
009492,000391: 07,2267 37671 CAF PRIO34 # IF ALL MARKS MADE FLASH VB50
009493,000392: 07,2270 71330 MASK MARKSTAT
009494,000393: 07,2271 00006 EXTEND
009495,000394: 07,2272 12274 BZF +2
009496,000395: 07,2273 15340 TCF TASKOVER
009497,000396: 07,2274 37667 CAF PRIO32
009498,000397: 07,2275 05150 TC NOVAC
009499,000398: 07,2276 1330 EBANK= MARKSTAT
009500,000399: 07,2276 02422 16062 2CADR MKVB50
009501,000400:
009502,000401: 07,2300 15340 TCF TASKOVER
009503,000402:
009504,000403: # PROGRAM NAME - MKREJECT DATE - 5 APRIL 1967
009505,000404: # PROGRAM MODIFIED BY 258/278 PROGRAMMERS LOG SECTION SXTMARK
009506,000405: # MOD BY - R. MELANSON TO ADD DOCUMENTATION ASSEMBLY SUNDISK REV. 116
009507,000406:
009508,000407: # FUNCTIONAL DESCRIPTION-
009509,000408: # ROUTINE ALLOWS OPERATOR TO REJECT MARK MADE PRIOR TO ACCEPTANCE AND ALLOWS A NEW MARK TO BE MADE BY ASTRONAUT
009510,000409:
009511,000410: # CALLING SEQUENCE-
009512,000411: # FROM MARKRUPT IF BIT7 OF CHANNEL 16 IS 1.
009513,000412:
009514,000413: # NORMAL EXIT MODE-
009515,000414: # RESUME
009516,000415:
009517,000416: # ALARM OR ABORT EXIT MODE-
009518,000417: # ALARM AND RESUME
009519,000418:
009520,000419: # OUTPUT-
009521,000420: # 1) FOR R21-
009522,000421: # MRKBUF1 SET TO -1
009523,000422: # 2) FOR NORMAL MARKING-
009524,000423: # BIT10 MARKSTAT =0, INCREMENT NO. MARKS BY 1, DECREMENT QPRET BY 7
009525,000424:
009526,000425: # ERASABLE INITIALIZATION-
009527,000426: # 1) FOR R21-
009528,000427: # BIT14 OF STATE+2 SET TO 1
009529,000428: # 2) FOR NORMAL MARKING-
009530,000429: # BIT14 OF STATE+2 SET TO 0, MARKSTAT,QPRET
009531,000430:
009532,000431: # DEBRIS-
009533,000432: # 1) FOR R21-
009534,000433: # A,MARKSTAT,EBANK
009535,000434: # 2) FOR NORMAL MARKING-
009536,000435: # A,MARKSTAT,ITEMP1,QPRET
009537,000436:
009538,000437: 07,2301 35016 MKREJECT CAF BIT14
009539,000438: 07,2302 70076 MASK STATE +2 # R21 MARK (SPECIAL MARKING FOR R21)
009540,000439: 07,2303 00006 EXTEND
009541,000440: 07,2304 12310 BZF MRKREJCT # NOT SET THEREFORE REGULAR REJECT
009542,000441: 07,2305 37716 CA NEGONE # -1 (FOR R22)
009543,000442: 07,2306 55725 TS MRKBUF1 # -0 IN TIME IS FLAG TO R22 SIGNIFYING A
009544,000443: 07,2307 05347 TC RESUME # REJECTED MARK
009545,000444: 07,2310 11330 MRKREJCT CCS MARKSTAT # SEE IF MARKS BEING ACCEPTED
009546,000445: 07,2311 02315 TC REJECT2
009547,000446: 07,2312 05664 TC ALARM # MARKS NOT BEING ACCEPTED
009548,000447: 07,2313 00112 OCT 112
009549,000448: 07,2314 05347 TC RESUME
009550,000449:
009551,000450: 07,2315 45022 REJECT2 CS BIT10 # SEE IF MARK HAD BEEN MADE SINCE LAST
009552,000451: 07,2316 71330 MASK MARKSTAT # REJECT, AND SET BIT10 TO ZERO TO
009553,000452: 07,2317 57330 XCH MARKSTAT # SHOW MARK REJECT
009554,000453: 07,2320 75022 MASK BIT10
009555,000454: 07,2321 10000 CCS A
009556,000455: 07,2322 02326 TC REJECT3
009557,000456:
009558,000457: 07,2323 05664 TC ALARM # DONT ACCEPT TWO REJECTS TOGETHER
009559,000458: 07,2324 00110 OCT 110
009560,000459: 07,2325 05347 TC RESUME
009561,000460:
009562,000461: 07,2326 35062 REJECT3 CAF LOW9 # DECREMENT POINTER TO REJECT MARK
009563,000462: 07,2327 71330 MASK MARKSTAT
009564,000463: 07,2330 54061 TS ITEMP1
009565,000464: 07,2331 45037 CS SEVEN
009566,000465: 07,2332 50061 INDEX ITEMP1
009567,000466: 07,2333 26052 ADS QPRET # NEW POINTER
009568,000467:
009569,000468: 07,2334 35020 CAF BIT12 # INCREMENT MARKS WANTED AND IF FIELD
009570,000469: 07,2335 61330 AD MARKSTAT # IS NOW NON-ZERO, CHANGE TO VB51 TO
009571,000470: 07,2336 57330 XCH MARKSTAT # INDICATE MORE MARKS WANTED
009572,000471: 07,2337 77671 MASK PRIO34 # INDICATE MORE MARKS WANTED
009573,000472: 07,2340 10000 CCS A
009574,000473: 07,2341 05347 TC RESUME
009575,000474: 07,2342 37667 CAF PRIO32
009576,000475: 07,2343 05150 TC NOVAC
009577,000476: 07,2344 1330 EBANK= MARKSTAT
009578,000477: 07,2344 02347 16062 2CADR MKVB51
009579,000478:
009580,000479: 07,2346 05347 TC RESUME
009581,000480:
009582,000481: # PROGRAM DESCRIPTION MKVB51 AND MKVB50
009583,000482:
009584,000483: # AUTHOR-BARNERT DATE-2-15-67 MOD-0
009585,000484: # PURPOSE FLASH V51N70,V51N43, OR V51 TO REQUEST MARKING,
009586,000485: # AND V50N25 R1=16 TO REQUEST TERMINATE MARKING
009587,000486:
009588,000487: # CALLING SEQUENCE AS JOB WITHIN SXTMARK
009589,000488:
009590,000489: # EXIT TO ENDMARK UPON RECEIPT OF V33, V34 CAUSES GOTOPOOH, ENTER
009591,000490: # RECYCLES THE DISPLAY
009592,000491:
009593,000492: # NOTE- SXTMARK AUTOMATICALLY CHANGES FROM CALLING MKVB51 TO MKVB50 WHEN
009594,000493: # SUFFICIENT MARKS HAVE BEEN MADE, AND THE REVERSE WHEN A MARK
009595,000494: # REJECT REDUCES THE NUMBER MADE BELOW THAT REQUIRED
009596,000495:
009597,000496: # SUBROUTINES CALLED- BANKCALL, GOMARK2, GOODEND, ENDMARK, WAITLIST
009598,000497:
009599,000498: # ALARM OR ABORT MODES - NONE
009600,000499:
009601,000500: # ERASABLE USED-VERBREG,MARKSTAT,QPRET,DSPTEM1
009602,000501:
009603,000502: # OUTPUT MARKSTAT = VAC ADDRESS
009604,000503:
009605,000504: # QPRET = NO. MARKS
009606,000505:
009607,000506: 07,2347 04676 MKVB51 TC BANKCALL # CLEAR DISPLAY FOR MARK VERB
009608,000507: 07,2350 20560 CADR KLEENEX
009609,000508: 07,2351 32427 CAF VB51 # DISPLAY MARK VB51
009610,000509: 07,2352 04676 TC BANKCALL
009611,000510: 07,2353 20572 CADR GOMARK4
009612,000511: 07,2354 12357 TCF TERMSXT # VB34-TERMINATE
009613,000512: 07,2355 12370 TCF ENTANSWR # V33-PROCEED-MARKING DONE
009614,000513: 07,2356 12416 TCF MKVB5X # ENTER-RECYCLE TO INITIAL MARK DISPLAY
009615,000514:
009616,000515: 07,2357 05552 TERMSXT TC CLEARMRK # CLEAR MARK ACTIVITY.
009617,000516:
009618,000517: 07,2360 05400 TC CHECKMM
009619,000518: 07,2361 00003 MM 03 B-14
009620,000519: 07,2362 12364 TCF +2
009621,000520: 07,2363 02366 TC TERMP03
009622,000521: 07,2364 04715 TC POSTJUMP
009623,000522: 07,2365 30207 CADR TERM52
009624,000523:
009625,000524: 07,2366 05562 TERMP03 TC UPFLAG
009626,000525: 07,2367 00032 ADRES TRM03FLG
009627,000526: 07,2370 35062 ENTANSWR CAF LOW9 # PUT VAC ADR IN MARKSTAT AND NO. OF
009628,000527: 07,2371 71330 MASK MARKSTAT # MARKS MADE IN QPRET BEFORE LEAVING
009629,000528: 07,2372 55330 TS MARKSTAT # SXTMARK
009630,000529: 07,2373 40000 COM
009631,000530: 07,2374 51330 INDEX MARKSTAT
009632,000531: 07,2375 60052 AD QPRET
009633,000532: 07,2376 00006 EXTEND
009634,000533: 07,2377 62403 BZMF JAMIT # NO MARKS MADE, SHOW IT IN QPRET, R53
009635,000534: 07,2400 00006 EXTEND # WILL PICK IT UP AND RECYCLE
009636,000535: 07,2401 75020 MP BIT12 # THIS PUTS NUMBER MARKS-1 IN A
009637,000536: 07,2402 65033 AD ONE
009638,000537: 07,2403 51330 JAMIT INDEX MARKSTAT # STORE NO OF MARKS MADE
009639,000538: 07,2404 54052 TS QPRET
009640,000539: 07,2405 00004 INHINT # SERVICE OPTSTALL INTERFACE WITH
009641,000540: 07,2406 35036 CAF FIVE
009642,000541: 07,2407 05261 TC WAITLIST
009643,000542: 07,2410 1330 EBANK= MARKSTAT
009644,000543: 07,2410 02413 16062 2CADR ENDMARKS
009645,000544:
009646,000545: 07,2412 05550 TC ENDMARK # KNOCKS DOWN MARKING FLAG + DOES ENDOFJOB
009647,000546:
009648,000547: 07,2413 35033 ENDMARKS CAF ONE
009649,000548: 07,2414 04754 TC IBNKCALL
009650,000549: 07,2415 17550 CADR GOODEND
009651,000550: 07,2416 37671 MKVB5X CAF PRIO34
009652,000551: 07,2417 71330 MASK MARKSTAT # RE-DISPLAY VB51 IF MORE MARKS WANTED
009653,000552: 07,2420 10000 CCS A # AND VB50 IF ALL IN
009654,000553: 07,2421 12347 TCF MKVB51
009655,000554: 07,2422 34333 MKVB50 CAF R1D1 # OCT 16
009656,000555: 07,2423 55045 TS DSPTEM1
009657,000556: 07,2424 32426 CAF V50N25
009658,000557: 07,2425 12352 TCF MKVB51 +3
009659,000558:
009660,000559: 07,2426 14431 V50N25 VN 5025
009661,000560: 07,2427 14600 VB51 VN 5100
009662,000561: 07,2430 4362 OCT37 = LOW5
009663,000562:
009664,000563: # PROGRAM NAME - MARKIT DATE - 19 SEPT 1967
009665,000564:
009666,000565: # CALLING SEQUENCE
009667,000566: # FROM MARKRUPT IF CHAN 16 BIT 6 = 1
009668,000567:
009669,000568: # EXIT
009670,000569: # RESUME
009671,000570:
009672,000571: # INPUT
009673,000572: # CDUCHKWD. ALSO ALL INITIALIZATION FOR MARKCONT
009674,000573:
009675,000574: # OUTPUT
009676,000575: # MKT2T1,MKCDUX,MKCDUY,MKCDUZ,MKCDUS,MKCDUT
009677,000576:
009678,000577: # ALARM EXIT
009679,000578: # NONE
009680,000579:
009681,000580: 07,2430 11341 MARKIT CCS CDUCHKWD
009682,000581: 07,2431 12434 TCF +3 # DELAY OF CDUCHKWD CS IF PNZ
009683,000582: 07,2432 12434 TCF +2
009684,000583: 07,2433 35035 CAF ZERO
009685,000584: 07,2434 65033 AD ONE # 10 MS IF NO CHECK
009686,000585: 07,2435 05261 TC WAITLIST
009687,000586: 07,2436 E7,1725 EBANK= MRKBUF1
009688,000587: 07,2436 02203 20067 2CADR MARKDIF
009689,000588:
009690,000589: 07,2440 15347 TCF RESUME
009691,000590:
009692,000591: 10,2000 SETLOC SXTMARK1
009693,000592: 10,2000 BANK
009694,000593:
009695,000594: 10,2203 COUNT 10/SXTMK
009696,000595:
009697,000596: # PROGRAM NAME - MARKDIF DATE- 19 SEPT 1967
009698,000597:
009699,000598: # CALLING SEQUENCE
009700,000599: # WAITLIST FROM MARKIT
009701,000600:
009702,000601: # EXIT
009703,000602: # TASKOVER OT IBNKCALL TO MARKCONT
009704,000603:
009705,000604: # INPUT
009706,000605: # OUTPUT FROM MARKIT, INPUT TO MARKCONT, CDUCHKWD
009707,000606:
009708,000607: # OUTPUT
009709,000608: # RUPTSTOR - RUPTSTOR+3, RUPTREG3, RUPTSTOR+5 - RUPTSTOR+6
009710,000609:
009711,000610: # ALARM EXIT
009712,000611: # ALARM AND TASKOVER
009713,000612:
009714,000613: 10,2203 31341 MARKDIF CA CDUCHKWD # IF DELAY CHECK IS ZERO OR NEG, ACP MARK
009715,000614: 10,2204 00006 EXTEND
009716,000615: 10,2205 62216 BZMF MKACPT
009717,000616: 10,2206 45033 CS BIT1
009718,000617: 10,2207 54353 TS MKNDX # SET INDEX -1
009719,000618: 10,2210 30362 CA MKCDUX
009720,000619: 10,2211 02220 TC DIFCHK # SEE IF VEHICLE RATE TO MUCH AT MARK
009721,000620: 10,2212 30356 CA MKCDUY
009722,000621: 10,2213 02220 TC DIFCHK
009723,000622: 10,2214 30360 CA MKCDUZ
009724,000623: 10,2215 02220 TC DIFCHK
009725,000624:
009726,000625: 10,2216 04754 MKACPT TC IBNKCALL
009727,000626: 10,2217 16153 CADR MARKCONT # MARK DATA OK, WHAT DO WE DO WITH IT
009728,000627:
009729,000628: 10,2220 24353 DIFCHK INCR MKNDX # INCREMENT INDEX
009730,000629:
009731,000630: 10,2221 00006 EXTEND
009732,000631: 10,2222 50353 INDEX MKNDX
009733,000632: 10,2223 20032 MSU CDUX # GET MARK(ICDU) - CURRENT(ICDU)
009734,000633: 10,2224 10000 CCS A
009735,000634: 10,2225 12231 TCF +4
009736,000635: 10,2226 00002 TC Q
009737,000636: 10,2227 12231 TCF +2
009738,000637: 10,2230 00002 TC Q
009739,000638: 10,2231 67715 AD NEG2 # SEE IF DIFFERENCE GREATER THAN 3 BITS
009740,000639: 10,2232 00006 EXTEND
009741,000640: 10,2233 62230 BZMF -3 # NOT GREATER
009742,000641:
009743,000642: 10,2234 05664 TC ALARM # COUPLED WITH PROGRAM ALARM
009744,000643: 10,2235 00121 OCT 00121
009745,000644:
009746,000645: 10,2236 15340 TCF TASKOVER # DO NOT ACCEPT
009747,000646:
009748,000647:
End of include-file SXTMARK.agc. Parent file is MAIN.agc