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