Source Code

012857,000001: # Copyright: Public domain. 012858,000002: # Filename: PINBALL_GAME_BUTTONS_AND_LIGHTS.agc 012859,000003: # Purpose: Part of the source code for Colossus, build 249. 012860,000004: # It is part of the source code for the Command Module's (CM) 012861,000005: # Apollo Guidance Computer (AGC), possibly for Apollo 8 and 9. 012862,000006: # Assembler: yaYUL 012863,000007: # Reference: pp. 304-384 of 1701.pdf. 012864,000008: # Contact: Ron Burkey <info@sandroid.org>. 012865,000009: # Website: www.ibiblio.org/apollo. 012866,000010: # Mod history: 08/09/04 RSB. Began adapting from corresponding Luminary131 012867,000011: # source file. 012868,000012: 012869,000013: # The contents of the "Colossus249" files, in general, are transcribed 012870,000014: # from a scanned document obtained from MIT's website, 012871,000015: # http://hrst.mit.edu/hrs/apollo/public/archive/1701.pdf. Notations on this 012872,000016: # document read, in part: 012873,000017: 012874,000018: # Assemble revision 249 of AGC program Colossus by NASA 012875,000019: # 2021111-041. October 28, 1968. 012876,000020: 012877,000021: # This AGC program shall also be referred to as 012878,000022: # Colossus 1A 012879,000023: 012880,000024: # Prepared by 012881,000025: # Massachusetts Institute of Technology 012882,000026: # 75 Cambridge Parkway 012883,000027: # Cambridge, Massachusetts 012884,000028: # under NASA contract NAS 9-4065. 012885,000029: 012886,000030: # Refer directly to the online document mentioned above for further information. 012887,000031: # Please report any errors (relative to 1701.pdf) to info@sandroid.org. 012888,000032: 012889,000033: # In some cases, where the source code for Luminary 131 overlaps that of 012890,000034: # Colossus 249, this code is instead copied from the corresponding Luminary 131 012891,000035: # source file, and then is proofed to incorporate any changes. 012892,000036: 012893,000037: # Page 304 012894,000038: # PROGRAM NAME -- KEYBOARD AND DISPLAY PROGRAM 012895,000039: # MOD NO -- 4 DATE -- 27 APRIL 1967 ASSEMBLY -- PINDISK REV 17 012896,000040: # MOD BY -- FILENE 012897,000041: # LOG SECTION -- PINBALL GAME BUTTONS AND LIGHTS 012898,000042: 012899,000043: # FUNCTIONAL DESCRIPTION 012900,000044: 012901,000045: # THE KEYBOARD AND DISPLAY SYSTEM PROGRAM OPERATES UNDER EXECUTIVE 012902,000046: # CONTROL AND PROCESSES INFORMATION EXCHANGED BETWEEN THE AGC AND THE 012903,000047: # COMPUTER OPERATOR. THE INPUTS TO THE PROGRAM ARE FROM THE KEYBOARD, 012904,000048: # FROM INTERNAL PROGRAM, AND FROM THE UPLINK. 012905,000049: 012906,000050: # THE LANGUAGE OF COMMUNICATION WITH THE PROGRAM IS A PAIR OF WORDS 012907,000051: # KNOWN AS VERB AND NOUN. EACH OF THESE IS REPRESENTED BY A 2 CHARACTER 012908,000052: # DECIMAL NUMBER. THE VERB CODE INDICATES WHAT ACTION IS TO BE TAKEN, THE 012909,000053: # NOUN CODE INDICATES TO WHAT THIS ACTION IS APPLIED. NOUNS USUALLY 012910,000054: # REFER TO A GROUP OF ERASABLE REGISTERS. 012911,000055: 012912,000056: # VERBS ARE GROUPED INTO DISPLAYS, LOADS, MONITORS (DISPLAYS THAT ARE 012913,000057: # UPDATED ONCE PER SECOND), SPECIAL FUNCTIONS, AND EXTENDED VERBS (THESE 012914,000058: # ARE OUTSIDE OF THE DOMAIN OF PINBALL AND CAN BE FOUND UNDER LOG SECTION 012915,000059: # `EXTENDED VERBS'). 012916,000060: 012917,000061: # A LIST OF VERBS AND NOUNS IS GIVEN IN LOG SECTION `ASSEMBLY AND 012918,000062: # OPERATION INFORMATION'. 012919,000063: 012920,000064: # CALLING SEQUENCES -- 012921,000065: 012922,000066: # KEYBOARD: 012923,000067: # EACH DEPRESSION OF A MAIN (NAVIGATION) KEYBOARD BUTTON ACTIVATES 012924,000068: # INTERRUPT KEYRUPT1 (KEYRUPT2) AND PLACES THE 5 BIT KEY CODE INTO 012925,000069: # CHANNEL 15 (CHANNEL 16). KEYRUPT1 (KEYRUPT2) PLACES THE KEY 012926,000070: # CODE INTO MPAC, ENTERS AN EXECUTIVE REQUEST FOR THE KEYBOARD AND DISPLAY 012927,000071: # PROGRAM (AT `CHARIN'), AND EXECUTES A RESUME. 012928,000072: 012929,000073: # UPLINK: 012930,000074: # EACH WORD RECEIVED BY THE UPLINK ACTIVATES INTERRUPT UPRUPT, WHICH 012931,000075: # PLACES THE 5 BIT KEY CODE INTO MPAC, ENTERS AN EXECUTIVE REQUEST FOR THE 012932,000076: # KEYBOARD AND DISPLAY PROGRAM (AT `CHARIN') AND EXECUTES A RESUME. 012933,000077: 012934,000078: # INTERNAL PROGRAMS: 012935,000079: # INTERNAL PROGRAMS CALL PINBALL AT `NVSUB' WITH THE DESIRED VERB/NOUN 012936,000080: # CODE IN A (LOW 7 BITS FOR NOUN, NEXT 7 BITS FOR VERB). DETAILS 012937,000081: # DESCRIBED ON REMARKS CARDS JUST BEFORE `NVSUB' AND `NVSBWAIT' (SEE 012938,000082: # SYMBOL TABLE FOR PAGE NUMBERS). 012939,000083: 012940,000084: # NORMAL EXIT MODES -- 012941,000085: 012942,000086: # IF PINBALL WAS CALLED BY EXTERNAL ACTION, THERE ARE FOUR EXITS: 012943,000087: # 1) ALL BUT (2), (3), AND (4) EXIT DIRECTLY TO ENDOFJOB. 012944,000088: # Page 305 012945,000089: # 2) EXTENDED VERBS TO TO THE EXTENDED VERB FAN AS PART OF THE 012946,000090: # PINBALL EXECUTIVE JOB WITH PRIORITY 30000. IT IS THE 012947,000091: # RESPONSIBILITY OF THE EXTEDED VERB CALLED TO EVENTUALLY 012948,000092: # CHANGE PRIORITY (IF NECESSARY) AD DO AN ENDOFJOB. 012949,000093: # ALSO PINBALL IS A NOVAC JOB. EBANK SET FOR COMMON. 012950,000094: # 3) VERB 37. CHANGE OF PROGRAM (MAJOR MODE) CALLS `V37' IN THE 012951,000095: # SERVICE ROUTINES AS PART OF THE PINBALL EXEC JOB WITH PRIO 012952,000096: # 30000. THE NEW PROGRAM CODE (MAJOR MODE) IS LEFT IN A. 012953,000097: # 4) KEY RELEASE BUTTON CALLS `PINBRNCH' IN THE DISPLAY INTERFACE 012954,000098: # ROUTINES AS PART OF THE PINBALL EXEC JOB WITH PRIO 30000 IF 012955,000099: # THE KEY RELEASE LIGHT IS OFF AND `CADRSTOR' IS NOT 40. 012956,000100: 012957,000101: # IF PINBALL WAS CALLED BY INTERNAL PROGRAMS, EXIT FROM PINBALL IS BACK 012958,000102: # TO CALLING ROUTINE. DETAILS DESCRIBED IN REMARKS CARDS JUST BEFORE 012959,000103: # `NVSUB' AND `NVSBWAIT' (SEE SYMBOL TABLE FOR PAGE NUMBERS). 012960,000104: 012961,000105: # ALARM OR ABORT EXIT MODES -- 012962,000106: 012963,000107: # EXTERNAL INITIATION: 012964,000108: # IF SOME IMPROPER SEQUENCE OF KEY CODES IS DETECTED, THE OPERATOR 012965,000109: # ERROR LIGHT IS TURNED ON AND EXIT IS TO `ENDOFJOB'. 012966,000110: 012967,000111: # INTERNAL PROGRAM INITIATION: 012968,000112: # IF AN ILLEGAL V/N COMBINATION IS ATTEMPTED, AN ABORT IS CAUSED 012969,000113: # (WITH OCTAL 01501). 012970,000114: # IF A SECOND ATTEMPT IS MADE TO GO TO SLEEP IN PINBALL, AN ABORT IS 012971,000115: # CAUSED (WITH OCTAL 01206). THERE ARE TWO WAYS TO GO TO SLEEP IN PINBALL: 012972,000116: # 1) ENDIDLE OR DATAWAIT. 012973,000117: # 2) NVSBWAIT, PRENVBSY, OR NVSUBUSY. 012974,000118: 012975,000119: # CONDITIONS LEADING TO THE ABOVE ARE DESCRIBED IN FORTHCOMING MIT/IL 012976,000120: # E-REPORT DESCRIBING KEYBOARD AND DISPLAY OPERATION FOR 278. 012977,000121: 012978,000122: # OUTPUT -- 012979,000123: 012980,000124: # INFORMATION TO BE SENT TO THE DISPLAY PANEL IS LEFT IN THE `DSPTAB' 012981,000125: # BUFFERS REGISTERS (UNDER EXEC CONTROL). `DSPOUT' (A PART OF T4RUPT) 012982,000126: # HANDLES THE PLACING OF THE `DSPTAB' INFORMATION INTO OUTPUT CHANNEL 10 012983,000127: # IN INTERRUPT. 012984,000128: 012985,000129: # ERASABLE INITIALIZATION -- 012986,000130: 012987,000131: # FRESH START AND RESTART INITIALIZE THE NECESSARY E REGISTERS FOR 012988,000132: # PINBALL IN `STARTSUB'. REGISTERS ARE: DSPTAB BUFFER, CADRSTOR, 012989,000133: # REQRET, CLPASS, DSPLOCK, MONSAVE, MONSAVE1, VERBREG, NOUNREG, DSPLIST, 012990,000134: # DSPCOUNT, NOUT. 012991,000135: 012992,000136: # Page 306 012993,000137: # A COMPLETE LIST OF ALL THE ERASABLES (BOTH RESERVED AND TEMPORARIES) FOR 012994,000138: # PINBALL IS GIVEN BELOW. 012995,000139: 012996,000140: # THE FOLLOWING ARE OF GENERAL INTEREST -- 012997,000141: 012998,000142: # REMARKS CARDS PRECEDE THE REFERENCED SYMBOL DEFINITION. SEE SYMBOL 012999,000143: # TABLE TO FIND APPROPRIATE PACE NUMBERS. 013000,000144: 013001,000145: # NVSUB CALLING POINT FOR INTERNAL USE OF PINBALL. 013002,000146: # OF RELATED INTEREST NVSBWAIT 013003,000147: # NVSUBUSY 013004,000148: # PRENVBSY 013005,000149: 013006,000150: # ENDIDLE ROUTINE FOR INTERNAL PROGRAMS WISHING TO TO SLEEP WHILE 013007,000151: # AWAITING OPERATOR'S RESPONSE. 013008,000152: 013009,000153: # DSPMM ROUTINE BY WHICH AN INTERNAL PROGRAM MAY DISPLAY A DECIMAL 013010,000154: # PROGRAM CODE (MAJOR MODE) IN THE PROGRAM (MAJOR MODE) LIGHT 013011,000155: # (DSPMM DOES NOT DISPLAY DIRECTLY BUT ENTERS EXEC REQUEST 013012,000156: # FOR DSPMMJB WITH PRIO 30000 AND RETURNS TO CALLER.) 013013,000157: 013014,000158: # BLANKSUB ROUTINE BY WHICH AN INTERNAL PROGRAM MAY BLANK ANY 013015,000159: # COMBINATION OF THE DISPLAY REGISTERS R1, R2, R3. 013016,000160: 013017,000161: # JAMTERM ROUTINE BY WHICH AN INTERNAL PROGRAM MAY PERFORM THE 013018,000162: # JAMPROC TERMINATE (V 34) OR PROCEED (V33) FUNCTION. 013019,000163: 013020,000164: # MONITOR VERBS FOR PERIODIC (1 PER SEC) DISPLAY. 013021,000165: 013022,000166: # PLEASE PERFORM, PLEASE MARK SITUATIONS 013023,000167: # REMARKS DESCRIBING HOW AN INTERNAL ROUTINE SHOULD HANDLE 013024,000168: # THESE SITUATIONS CAN BE FOUND JUST BEFORE `NVSUB' (SEE 013025,000169: # SYMBOL TABLE FOR PAGE NUMBER). 013026,000170: 013027,000171: # THE NOUN TABLE FORMAT IS DESCRIBED ON A PAGE OF REMARKS CARDS JUST 013028,000172: # BEFORE `DSPABC' (SEE SYMBOL TABLE FOR PAGE NUMBER). 013029,000173: 013030,000174: # THE NOUN TABLES THEMSELVES ARE FOUND IN LOG SECTION `PINBALL NOUN 013031,000175: # TABLES'. 013032,000176: 013033,000177: # FOR FURTHER DETAILS ABOUT OPERATION OF THE KEYBOARD AND DISPLAY SYSTEM 013034,000178: # PROGRAM, SEE THE MISSION PLAN AND/OR MIT/IL E-2129 013035,000179: # DESCRIBING KEYBOARD AND DISPLAY OPERATION FOR 278. 013036,000180: # (Note that this doc by Green and Filene is/was available online at 013037,000181: # http://hrst.mit.edu/hrs/apollo/public/archive/1706.pdf --- RSB 6/2004.) 013038,000182: 013039,000183: # THE FOLLOWING QUOTATION IS PROVIDED THROUGH THE COURTESY OF THE AUTHORS. 013040,000184: 013041,000185: # "IT WILL BE PROVED TO THY FACE THAT THOU HAST MEN ABOUT THEE THAT 013042,000186: # Page 307 013043,000187: # USUALLY TALK OF A NOUN AND A VERB, AND SUCH ABOMINABLE WORDS AS NO 013044,000188: # CHRISTIAN EAR CAN ENDURE TO HEAR." 013045,000189: # HENRY 6, ACT 2, SCENE 4 013046,000190: 013047,000191: # THE FOLLOWING ASSIGNMENTS FOR PINBALL ARE MADE ELSEWHERE 013048,000192: 013049,000193: # RESERVED FOR PINBALL EXECUTIVE ACTION 013050,000194: 013051,000195: # DSPCOUNT ERASE # DISPLAY POSITION INDICATOR 013052,000196: # DECBRNCH ERASE # +DEC, -DEC, OCT INDICATOR 013053,000197: # VERBREG ERASE # VERB CODE 013054,000198: # NOUNREG ERASE # NOUN CODE 013055,000199: # XREG ERASE # R1 INPUT BUFFER 013056,000200: # YREG ERASE # R2 INPUT BUFFER 013057,000201: # ZREG ERASE # R3 INPUT BUFFER 013058,000202: # XREGLP ERASE # LO PART OF XREG (FOR DEC CONV ONLY) 013059,000203: # YREGLP ERASE # LO PART OF YREG (FOR DEC CONV ONLY) 013060,000204: # HITEMOUT = YREGLP # TEMP FOR DISPLAY OF HRS,MIN,SEC 013061,000205: # # MUST = LOTEMOUT-1. 013062,000206: # ZREGLP ERASE # LO PART OF ZREG (FOR DEC CONV ONLY) 013063,000207: # LOTEMOUT = ZREGLP # TEMP FOR DISPLAY OF HRS,MIN,SEC 013064,000208: # # MUST = HITEMOUT+1 013065,000209: # MODREG ERASE # MODE CODE 013066,000210: # DSPLOCK ERASE # KEYBOARD/SUBROUTINE CALL INTERLOCK 013067,000211: # REQRET ERASE # RETURN REGISTER FOR LOAD 013068,000212: # LOADSTAT ERASE # STATUS INDICATOR FOR LOADTST 013069,000213: # CLPASS ERASE # PASS INDICATOR FOR CLEAR 013070,000214: # NOUT ERASE # ACTIVITY COUNTER FOR DSPTAB 013071,000215: # NOUNCADR ERASE # MACHINE CADR FOR NOUN 013072,000216: # MONSAVE ERASE # N/V CODE FOR MONITOR. (= MONSAVE1-1) 013073,000217: # MONSAVE1 ERASE # NOUNCADR FOR MONITOR (MATBS1) = MONSAVE+1 013074,000218: # MONSAVE2 ERASE # NVMONOPT OPTIONS 013075,000219: # DSPTAB ERASE +13D # 0-10, DISPLAY PANEL BUFFER 11-13, C RELAYS. 013076,000220: # CADRSTOR ERASE # ENDIDLE STORAGE 013077,000221: # NVQTEM ERASE # NVSUB STORAGE FOR CALLING ADDRESS 013078,000222: # # MUST = NVBNKTEM-1. 013079,000223: # NVBNKTEM ERASE # NVSUB STORAGE FOR CALLING BANK 013080,000224: # # MUST = NVQTEM+1 013081,000225: # VERBSAVE ERASE # NEEDED FOR RECYCLE 013082,000226: # DSPLIST ERASE # WAITING REG FOR DSP SYST INTERNAL USE 013083,000227: # EXTVBACT ERASE # EXTENDED VERB ACTIVITY INTERLOCK 013084,000228: # DSPTEM1 ERASE +2 # BUFFER STORAGE AREA 1 (MOSTLY FOR TIME) 013085,000229: # DSPTEM2 ERASE +2 # BUFFER STORAGE AREA 2 (MOSTLY FOR DEG) 013086,000230: 013087,000231: # END OF ERASABLES RESERVED FOR PINBALL EXECUTIVE ACTION. 013088,000232: 013089,000233: # TEMPORARIES FOR PINBALL EXECUTIVE ACTION 013090,000234: # Page 308 013091,000235: # DSEXIT = INTB15+ # RETURN FOR DSPIN 013092,000236: # EXITEM = INTB15+ # RETURN FOR SCALE FACTOR ROUTINE SELECT 013093,000237: # BLANKRET = INTB15+ # RETURN FOR 2BLANK 013094,000238: # WRDRET = INTBIT15 # RETURN FOR 5BLANK. 013095,000239: # WDRET = INTBIT15 # RETURN FOR DSPWD 013096,000240: # DECRET = INTBIT15 # RETURN FOR PUTCOM(DEC LOAD) 013097,000241: # 21/22REG = INTBIT15 # TEMP FOR CHARIN 013098,000242: # UPDATRET = POLISH # RETURN FOR UPDATNN, UPDATVB 013099,000243: # CHAR = POLISH # TEMP FOR CHARIN 013100,000244: # ERCNT = POLISH # COUNTER FOR ERROR LIGHT RESET 013101,000245: # DECOUNT = POLISH # COUNTER FOR SCALING AND DISPLAY (DEC) 013102,000246: # SGNON = VBUF # TEMP FOR +,- ON 013103,000247: # NOUNTEM = VBUF # COUNTER FOR MIXNOUN FETCH 013104,000248: # DISTEM = VBUF # COUNTER FOR OCTAL DISPLAY VERB 013105,000249: # DECTEM = VBUF # COUNTER FOR FETCH (DEC DISPLAY VERBS) 013106,000250: # SGNOFF = VBUF +1 # TEMP FOR +,- ON 013107,000251: # NVTEMP = VBUF +1 # TEMP FOR NVSUB 013108,000252: # SFTEMP1 = VBUF +1 # STORAGE FOR SF CONST HI PART (=SFTEMP2-1) 013109,000253: # HITEMIN = VBUF +1 # TEMP FOR LOAD OF HRS,MIN,SEC 013110,000254: # # MUST = LOTEMIN-1. 013111,000255: # CODE = VBUF +2 # FOR DSPIN 013112,000256: # SFTEMP2 = VBUF +2 # STORAGE FOR SF CONST LO PART (=SFTEMP1+1) 013113,000257: # LOTEMIN = VBUF +2 # TEMP FOR LOAD OF HRS,MIN,SEC 013114,000258: # # MUST = HITEMIN+1 013115,000259: # MIXTEMP = VBUF +3 # FOR MIXNOUN DATA 013116,000260: # SIGNRET = VBUF +3 # RETURN FOR +,- ON 013117,000261: # ALSO MIXTEMP+1 = VBUF+4, MIXTEMP+2 = VBUF+5 013118,000262: # ENTRET = DOTINC # EXIT FROM ENTER 013119,000263: # WDONT = DOTRET # CHAR COUNTER FOR DSPWD 013120,000264: # INREL = DOTRET # INPUT BUFFER SELECTION 013121,000265: # DSPMMTEM = MATINC # DSPCOUNT SAVE FOR DSPMM 013122,000266: # MIXBR = MATINC # INDICATOR FOR MIXED OR NORMAL NOUN 013123,000267: # TEM1 ERASE # EXEC TEMP 013124,000268: # DSREL = TEM1 # REL ADDRESS FOR DSPIN 013125,000269: # TEM2 ERASE # EXEC TEMP 013126,000270: # DSMAG = TEM2 # MAGNITUDE STORE FOR DSPIN 013127,000271: # IDADDTEM = TEM2 # MIXNOUN INDIRECT ADDRESS (garbled) 013128,000272: # TEM3 ERASE # EXEC TEMP 013129,000273: # COUNT = TEM3 # FOR DSPIN 013130,000274: # Page 309 013131,000275: # TEM4 ERASE # EXEC TEMP 013132,000276: # LSTPTR = TEM4 # LIST POINTER FOR GRABUST 013133,000277: # RELRET = TEM4 # RETURN FOR RELDSP 013134,000278: # FREERET = TEM4 # RETURN FOR FREEDSP 013135,000279: # DSPWDRET = TEM4 # RETURN FOR DSPSIGN 013136,000280: # SEPSCRET = TEM4 # RETURN FOR SEPSEC 013137,000281: # SEPMNRET = TEM4 # RETURN FOR SEPMIN 013138,000282: # TEM5 ERASE # EXEC TEMP 013139,000283: # NOUNADD = TEM5 # TEMP STORAGE FOR NOUN ADDRESS 013140,000284: # NNADTEM ERASE # TEMP FOR NOUN ADDRESS TABLE ENTRY 013141,000285: # NNTYPTEM ERASE # TEMP FOR NOUN TYPE TABLE ENTRY 013142,000286: # IDAD1TEM ERASE # TEMP FOR INDIR ADDRESS TABLE ENTRY (MIXNN) 013143,000287: # # MUST = IDAD2TEM-1, = IDAD3TEM-2 013144,000288: # IDAD2TEM ERASE # TEMP FOR INDIR ADDRESS TABLE ENTRY (MIXNN) 013145,000289: # # MUST = IDAD1TEM+1, IDAD3TEM-1. 013146,000290: # IDAD3TEM ERASE # TEMP FOR INDIR ADDRESS TABLE ENTRY (MIXNN) 013147,000291: # # MUST = IDAD1TEM+2, IDAD2TEM+1. 013148,000292: # RUTMXTEM ERASE # TEMP FOR SF ROUT TABLE ENTRY (MIXNN ONLY) 013149,000293: 013150,000294: # END OF TEMPORARIES FOR PINBALL EXECUTIVE ACTION. 013151,000295: 013152,000296: # ADDITIONAL TEMPORARIES FOR PINBALL EXECUTIVE ACTION 013153,000297: 013154,000298: # MPAC, THRU MPAC +6 013155,000299: # BUF, +1, +2 013156,000300: # BUF2, +1, +2 013157,000301: # MPTEMP 013158,000302: # ADDRWD 013159,000303: 013160,000304: # END OF ADDITIONAL TEMPS FOR PINBALL EXEC ACTION 013161,000305: 013162,000306: # RESERVED FOR PINBALL INTERRUPT ACTION 013163,000307: 013164,000308: # DSPCNT ERASE # COUNTER FOR DSPOUT 013165,000309: # UPLOCK ERASE # BIT1 = UPLINK INTERLOCK (ACTIVATED BY 013166,000310: # # RECEPTION OF A BAD MESSAGE IN UPLINK) 013167,000311: 013168,000312: # END OF ERASABLES RESERVED FOR PINBALL INTERRUPT ACTION 013169,000313: 013170,000314: # TEMPORARIES FOR PINBALL INTERRUPT ACTION 013171,000315: 013172,000316: # KEYTEMP1 = WAITEXIT # TEMP FOR KEYRUPT, UPRUPT 013173,000317: # DSRUPTEM = WAITEXIT # TEMP FOR DSPOUT 013174,000318: # KEYTEMP2 = RUPTAGN # TEMP FOR KEYRUPT, UPRUPT 013175,000319: 013176,000320: # END OF TEMPORARIES FOR PINBALL INTERRUPT ACTION 013177,000321: 013178,000322: # Page 310 013179,000323: # THE INPUT CODES ASSUMED FOR THE KEYBOARD ARE, 013180,000324: # 0 10000 013181,000325: # 1 00001 013182,000326: # 9 01001 013183,000327: # VERB 10001 013184,000328: # ERROR RES 10010 013185,000329: # KEY RLSE 11001 013186,000330: # + 11010 013187,000331: # - 11011 013188,000332: # ENTER 11100 013189,000333: # CLEAR 11110 013190,000334: # NOUN 11111 013191,000335: 013192,000336: # OUTPUT FORMAT FOR DISPLAY PANEL. SET OUT0 TO AAAABCCCCCDDDDD. 013193,000337: # A'S SELECTS A RELAYWORD. THIS DETERMINES WHICH PAIR OF CHARACTERS ARE 013194,000338: # ENERGIZED. 013195,000339: # B FOR SPECIAL RELAYS SUCH AS SIGNS ETC. 013196,000340: # C'S 5 BIT RELAY CODE FOR LEFT CHAR OF PAIR SELECTED BY RELAYWORD. 013197,000341: # D'S 5 BIT RELAY CODE FOR RIGHT CHAR OF PAIR SELECTED BY RELAYWORD. 013198,000342: 013199,000343: # THE PANEL APPEARS AS FOLLOWS, 013200,000344: # MD1 MD2 (MAJOR MODE) 013201,000345: # VD1 VD2 (VERB) ND1 ND2 (NOUN) 013202,000346: # R1D1 R1D2 R1D3 R1D4 R1D5 (R1) 013203,000347: # R2D1 R2D2 R2D3 R2D4 R2D5 (R2) 013204,000348: # R3D1 R3D2 R3D3 R3D4 R3D5 (R3) 013205,000349: 013206,000350: # EACH OF THESE IS GIVEN A DSPCOUNT NUMBER FOR USE WITHIN COMPUTATION ONLY 013207,000351: 013208,000352: # MD1 25 R2D1 11 ALL ARE OCTAL 013209,000353: # MD2 24 R2D2 10 013210,000354: # VD1 23 R2D3 7 013211,000355: # VD2 22 R2D4 6 013212,000356: # ND1 21 R2D5 5 013213,000357: # ND2 20 R3D1 4 013214,000358: # R1D1 16 R3D2 3 013215,000359: # R1D2 15 R3D3 2 013216,000360: # R1D3 14 R3D4 1 013217,000361: # R1D4 13 R3D5 0 013218,000362: # R1D5 12 013219,000363: 013220,000364: # THERE IS AN 11-REGISTER TABLE (DSPTAB) FOR THE DISPLAY PANEL. 013221,000365: 013222,000366: # DSPTAB RELAYWD BIT11 BITS 10-6 BITS 5-1 013223,000367: # RELADD 013224,000368: # 10 1011 MD1 (25) MD2 (24) 013225,000369: # 9 1010 VD1 (23) VD2 (22) 013226,000370: # 8 1001 ND1 (21) ND2 (20) 013227,000371: # 7 1000 R1D1 (16) 013228,000372: # Page 311 013229,000373: # 6 0111 +R1 R1D2 (15) R1D3 (14) 013230,000374: # 5 0110 -R1 R1D4 (13) R1D5 (12) 013231,000375: # 4 0101 +R2 R2D1 (11) R2D2 (10) 013232,000376: # 3 0100 -R2 R2D3 (7) R2D4 (6) 013233,000377: # 2 0011 R2D5 (5) R3D1 (4) 013234,000378: # 1 0010 +R3 R3D2 (3) R3D3 (2) 013235,000379: # 0 0001 -R3 R3D4 (1) R3D5 (0) 013236,000380: # 0000 NO RELAYWORD 013237,000381: 013238,000382: # THE 5-BIT OUTOUT RELAY CODES ARE: 013239,000383: 013240,000384: # BLANK 00000 013241,000385: # 0 10101 013242,000386: # 1 00011 013243,000387: # 2 11001 013244,000388: # 3 11011 013245,000389: # 4 01111 013246,000390: # 5 11110 013247,000391: # 6 11100 013248,000392: # 7 10011 013249,000393: # 8 11101 013250,000394: # 9 11111 013251,000395: 013252,000396: # OUTPUT BITS USED BY PINBALL: 013253,000397: 013254,000398: # KEY RELEASE LIGHT -- BIT 5 OF CHANNEL 11 013255,000399: # VERB/NOUN FLASH -- BIT 6 OF CHANNEL 11 013256,000400: # OPERATOR ERROR LIGHT -- BIT 7 OF CHANNEL 11 013257,000401: 013258,000402: # Page 312 013259,000403: # START OF EXECUTIVE SECTION OF PINBALL 013260,000404: 013261,000405: 40,2000 BANK 40 013262,000406: 40,2000 SETLOC PINBALL1 013263,000407: 40,2000 BANK 013264,000408: 013265,000409: 40,2000 COUNT 40/PIN 013266,000410: 013267,000411: 40,2000 34712 CHARIN CAF ONE # BLOCK DISPLAY SYST 013268,000412: 40,2001 57012 XCH DSPLOCK # MAKE DSP SYST BUSY, BUT SAVE OLD 013269,000413: 40,2002 54115 TS 21/22REG # C(DSPLOCK) FOR ERROR LIGHT RESET. 013270,000414: 40,2003 11042 CCS CADRSTOR # ALL KEYS EXCEPT ER TURN ON KR LITE IF 013271,000415: 40,2004 02006 TC +2 # CADRSTOR IS FULL. THIS REMINDS OPERATOR 013272,000416: 40,2005 02013 TC CHARIN2 # TO RE-ESTABLISH A FLASHING DISPLAY 013273,000417: 40,2006 42057 CS ELRCODE1 # WHICH HE HAS OBSCURED WITH DISPLAYS OF 013274,000418: 40,2007 60154 AD MPAC # HIS OWN (SEE REMARKS PRECEDING ROUTINE 013275,000419: 40,2010 00006 EXTEND # VBRELDSP). 013276,000420: 40,2011 12013 BZF CHARIN2 013277,000421: 40,2012 04410 TC RELDSPON 013278,000422: 40,2013 56154 CHARIN2 XCH MPAC 013279,000423: 40,2014 54117 TS CHAR 013280,000424: 40,2015 50000 INDEX A 013281,000425: 40,2016 02017 TC +1 # INPUT CODE FUNCTION 013282,000426: 40,2017 03335 TC CHARALRM # 0 013283,000427: 40,2020 02076 TC NUM # 1 013284,000428: 40,2021 02076 TC NUM # 2 013285,000429: 40,2022 02076 TC NUM # 3 013286,000430: 40,2023 02076 TC NUM # 4 013287,000431: 40,2024 02076 TC NUM # 5 013288,000432: 40,2025 02076 TC NUM # 6 013289,000433: 40,2026 02076 TC NUM # 7 013290,000434: 40,2027 02062 TC 89TEST # 10 8 013291,000435: 40,2030 02062 TC 89TEST # 11 9 013292,000436: 40,2031 03335 TC CHARALRM # 12 013293,000437: 40,2032 03335 TC CHARALRM # 13 013294,000438: 40,2033 03335 TC CHARALRM # 14 013295,000439: 40,2034 03335 TC CHARALRM # 15 013296,000440: 40,2035 03335 TC CHARALRM # 16 013297,000441: 40,2036 03335 TC CHARALRM # 17 013298,000442: 40,2037 02074 TC NUM -2 # 20 0 013299,000443: 40,2040 02255 TC VERB # 21 VERB 013300,000444: 40,2041 03504 TC ERROR # 22 ERROR LIGHT RESET 013301,000445: 40,2042 03335 TC CHARALRM # 23 013302,000446: 40,2043 03335 TC CHARALRM # 24 013303,000447: 40,2044 03335 TC CHARALRM # 25 013304,000448: 40,2045 03335 TC CHARALRM # 26 013305,000449: 40,2046 03335 TC CHARALRM # 27 013306,000450: 40,2047 03335 TC CHARALRM # 30 013307,000451: 40,2050 03362 TC VBRELDSP # 31 KEY RELEASE 013308,000452: # Page 313 013309,000453: 40,2051 02310 TC POSGN # 32 + 013310,000454: 40,2052 02275 TC NEGSGN # 33 - 013311,000455: 40,2053 02060 TC ENTERJMP # 34 ENTER 013312,000456: 40,2054 03335 TC CHARALRM # 35 013313,000457: 40,2055 02370 TC CLEAR # 36 CLEAR 013314,000458: 40,2056 02271 TC NOUN # 37 NOUN 013315,000459: 013316,000460: 40,2057 00022 ELRCODE1 OCT 22 013317,000461: 40,2060 04574 ENTERJMP TC POSTJUMP 013318,000462: 40,2061 62002 CADR ENTER 013319,000463: 013320,000464: 40,2062 10777 89TEST CCS DSPCOUNT 013321,000465: 40,2063 02067 TC +4 # + 013322,000466: 40,2064 02067 TC +3 # +0 013323,000467: 40,2065 05112 TC ENDOFJOB # - BLOCK DATA IN IF DSPCOUNT IS - OR -0 013324,000468: 40,2066 05112 TC ENDOFJOB # -0 013325,000469: 40,2067 36214 CAF THREE 013326,000470: 40,2070 71000 MASK DECBRNCH 013327,000471: 40,2071 10000 CCS A 013328,000472: 40,2072 02076 TC NUM # IF DECBRNCH IS +, 8 OR 9 OK 013329,000473: 40,2073 03335 TC CHARALRM # IF DECBRNCH IS +0, REJECT 8 OR 9 013330,000474: 013331,000475: # NUM ASSEMBLES OCTAL 3 BITS AT A TIME. FOR DECIMAL IT CONVERTS INCOMING 013332,000476: # WORD AS A FRACTION, KEEPING RESULTS TO DP. 013333,000477: # OCTAL RESULTS ARE LEFT IN XREG, YREG, OR ZREG. HI PART OF DEC IN XREG, 013334,000478: # YREG, ZREG. THE LOW PARTS IN XREGLP, YREGLP, OR ZREGLP. 013335,000479: # DECBRNCH IS LEFT AT +0 FOR OCT, +1 FOR + DEC, +2 FOR - DEC. 013336,000480: # IF DSPCOUNT WAS LEFT -, NO MORE DATA IS ACCEPTED. 013337,000481: 013338,000482: 40,2074 34714 CAF ZERO 013339,000483: 40,2075 54117 TS CHAR 013340,000484: 40,2076 10777 NUM CCS DSPCOUNT 013341,000485: 40,2077 02103 TC +4 # + 013342,000486: 40,2100 02103 TC +3 # +0 013343,000487: 40,2101 02102 TC +1 # -BLOCK DATA IN IF DSPCOUNT IS - 013344,000488: 40,2102 05112 TC ENDOFJOB # -0 013345,000489: 40,2103 02225 TC GETINREL 013346,000490: 40,2104 11015 CCS CLPASS # IF CLPASS IS + OR +0, MAKE IT +0. 013347,000491: 40,2105 34714 CAF ZERO 013348,000492: 40,2106 55015 TS CLPASS 013349,000493: 40,2107 02110 TC +1 013350,000494: 40,2110 50117 INDEX CHAR 013351,000495: 40,2111 34072 CAF RELTAB 013352,000496: 40,2112 74362 MASK LOW5 013353,000497: 40,2113 54124 TS CODE 013354,000498: 40,2114 30777 CA DSPCOUNT 013355,000499: 40,2115 54143 TS COUNT 013356,000500: 40,2116 03225 TC DSPIN 013357,000501: # Page 314 013358,000502: 40,2117 36214 CAF THREE 013359,000503: 40,2120 71000 MASK DECBRNCH 013360,000504: 40,2121 10000 CCS A # +0, OCTAL. +1, + DEC. +2, - DEC. 013361,000505: 40,2122 02133 TC DECTOBIN # + 013362,000506: 40,2123 50137 INDEX INREL # +0 OCTAL 013363,000507: 40,2124 57001 XCH VERBREG 013364,000508: 40,2125 54022 TS CYL 013365,000509: 40,2126 40022 CS CYL 013366,000510: 40,2127 40022 CS CYL 013367,000511: 40,2130 56022 XCH CYL 013368,000512: 40,2131 60117 AD CHAR 013369,000513: 40,2132 02150 TC ENDNMTST 013370,000514: 40,2133 50137 DECTOBIN INDEX INREL 013371,000515: 40,2134 57001 XCH VERBREG 013372,000516: 40,2135 54154 TS MPAC # SUM X 2EXP-14 IN MPAC 013373,000517: 40,2136 34714 CAF ZERO 013374,000518: 40,2137 54155 TS MPAC +1 013375,000519: 40,2140 34377 CAF TEN # 10 X 2EXP-14 013376,000520: 40,2141 07256 TC SHORTMP # 10SUM X 2EXP-28 IN MPAC, MPAC+1 013377,000521: 40,2142 56155 XCH MPAC +1 013378,000522: 40,2143 60117 AD CHAR 013379,000523: 40,2144 54155 TS MPAC +1 013380,000524: 40,2145 02150 TC ENDNMTST # NO OF 013381,000525: 40,2146 26154 ADS MPAC # OF MUST BE 5TH CHAR 013382,000526: 40,2147 02166 TC DECEND 013383,000527: 40,2150 50137 ENDNMTST INDEX INREL 013384,000528: 40,2151 55001 TS VERBREG 013385,000529: 40,2152 40777 CS DSPCOUNT 013386,000530: 40,2153 50137 INDEX INREL 013387,000531: 40,2154 62216 AD CRITCON 013388,000532: 40,2155 00006 EXTEND 013389,000533: 40,2156 12160 BZF ENDNUM # -0, DSPCOUNT = CRITCON 013390,000534: 40,2157 02213 TC MORNUM # -, DSPCOUNT G/ CRITCON 013391,000535: 40,2160 36214 ENDNUM CAF THREE 013392,000536: 40,2161 71000 MASK DECBRNCH 013393,000537: 40,2162 10000 CCS A 013394,000538: 40,2163 02166 TC DECEND 013395,000539: 40,2164 40777 ENDALL CS DSPCOUNT # BLOCK NUMIN BY PLACING DSPCOUNT 013396,000540: 40,2165 02214 TC MORNUM +1 # NEGATIVELY 013397,000541: 40,2166 44712 DECEND CS ONE 013398,000542: 40,2167 60137 AD INREL 013399,000543: 40,2170 00006 EXTEND 013400,000544: 40,2171 62164 BZMF ENDALL # IF INREL=0,1 (VBREG,NNREG) LEAVE WHOLE 013401,000545: 40,2172 07052 TC DMP # IF INREL=2,3,4 (R1,R2,R3), CONVERT TO FRAC 013402,000546: # MULT SUM X 2EXP-28 IN MPAC, MPAC+1 013403,000547: 40,2173 02223 ADRES DECON # 2EXP14/10EXP5, GIVES (SUM/10EXP5)X2EXP-14 013404,000548: 40,2174 36214 CAF THREE # IN MPAC, +1, +2. 013405,000549: 40,2175 71000 MASK DECBRNCH 013406,000550: 40,2176 50000 INDEX A 013407,000551: 40,2177 02177 TC +0 013408,000552: # Page 315 013409,000553: 40,2200 02204 TC +DECSGN 013410,000554: 40,2201 00006 EXTEND # - CASE 013411,000555: 40,2202 40156 DCS MPAC +1 013412,000556: 40,2203 52156 DXCH MPAC +1 013413,000557: 40,2204 56156 +DECSGN XCH MPAC +2 013414,000558: 40,2205 50137 INDEX INREL 013415,000559: 40,2206 55004 TS XREGLP -2 013416,000560: 40,2207 56155 XCH MPAC +1 013417,000561: 40,2210 50137 INDEX INREL 013418,000562: 40,2211 55001 TS VERBREG 013419,000563: 40,2212 02164 TC ENDALL 013420,000564: 40,2213 10777 MORNUM CCS DSPCOUNT # DECREMENT DSPCOUNT 013421,000565: 40,2214 54777 TS DSPCOUNT 013422,000566: 40,2215 05112 TC ENDOFJOB 013423,000567: 013424,000568: 40,2216 00022 CRITCON OCT 22 # (DEC 18) 013425,000569: 40,2217 00020 OCT 20 # (DEC 16) 013426,000570: 40,2220 00012 OCT 12 # (DEC 10) 013427,000571: 40,2221 00005 OCT 5 013428,000572: 40,2222 00000 OCT 0 013429,000573: 013430,000574: 40,2223 05174 13261 DECON 2DEC 1 E-5 B14 # 2EXP14/10EXP5 = .16384 DEC 013431,000575: 013432,000576: # GETINREL GETS PROPER DATA REG REL ADDRESS FOR CURRENT C(DSPCOUNT) AND 013433,000577: # PUTS IN INTO INREL. +0 VERBREG, 1 NOUNREG, 2 XREG, 3 YREG, 4 ZREG. 013434,000578: 013435,000579: 40,2225 50777 GETINREL INDEX DSPCOUNT 013436,000580: 40,2226 32231 CAF INRELTAB 013437,000581: 40,2227 54137 TS INREL # (A TEMP. REG) 013438,000582: 40,2230 00002 TC Q 013439,000583: 013440,000584: 40,2231 00004 INRELTAB OCT 4 # R3D5 (DSPCOUNT = 0) 013441,000585: 40,2232 00004 OCT 4 # R3D4 =(1) 013442,000586: 40,2233 00004 OCT 4 # R3D3 =(2) 013443,000587: 40,2234 00004 OCT 4 # R3D2 =(3) 013444,000588: 40,2235 00004 OCT 4 # R3D1 =(4) 013445,000589: 40,2236 00003 OCT 3 # R2D5 =(5) 013446,000590: 40,2237 00003 OCT 3 # R2D4 =(6) 013447,000591: 40,2240 00003 OCT 3 # R2D3 =(7) 013448,000592: 40,2241 00003 OCT 3 # R2D2 =(8D) 013449,000593: 40,2242 00003 OCT 3 # R2D1 =(9D) 013450,000594: 40,2243 00002 OCT 2 # R1D5 =(10D) 013451,000595: 40,2244 00002 OCT 2 # R1D4 =(11D) 013452,000596: 40,2245 00002 OCT 2 # R1D3 =(12D) 013453,000597: 40,2246 00002 OCT 2 # R1D2 =(13D) 013454,000598: 40,2247 00002 OCT 2 # R1D1 =(14D) 013455,000599: 40,2250 05640 TC CCSHOLE # NO DISCOUNT NUMBER = 15D 013456,000600: 40,2251 00001 OCT 1 # ND2 =(16D) 013457,000601: # Page 316 013458,000602: 40,2252 00001 OCT 1 # ND1 =(17D) 013459,000603: 40,2253 00000 OCT 0 # VD2 =(18D) 013460,000604: 40,2254 00000 OCT 0 # VD1 =(19D) 013461,000605: 013462,000606: 40,2255 34714 VERB CAF ZERO 013463,000607: 40,2256 55001 TS VERBREG 013464,000608: 40,2257 34374 CAF VD1 013465,000609: 40,2260 54777 NVCOM TS DSPCOUNT 013466,000610: 40,2261 02502 TC 2BLANK 013467,000611: 40,2262 34712 CAF ONE 013468,000612: 40,2263 55000 TS DECBRNCH # SET FOR DEC V/N CODE 013469,000613: 40,2264 34714 CAF ZERO 013470,000614: 40,2265 55013 TS REQRET # SET FOR ENTPAS0 013471,000615: 40,2266 34233 CAF ENDINST # IF DSPALARM OCCURS BEFORE FIRST ENTPAS0 013472,000616: 40,2267 54136 TS ENTRET # OR NVSUB, ENTRET MUST ALREADY BE SET 013473,000617: # TO TC ENDOFJOB 013474,000618: 40,2270 05112 TC ENDOFJOB 013475,000619: 40,2271 34714 NOUN CAF ZERO 013476,000620: 40,2272 55002 TS NOUNREG 013477,000621: 40,2273 34375 CAF ND1 # ND1, OCT 21 (DEC 17) 013478,000622: 40,2274 02260 TC NVCOM 013479,000623: 013480,000624: 40,2275 02347 NEGSGN TC SIGNTEST 013481,000625: 40,2276 02334 TC -ON 013482,000626: 40,2277 34711 CAF TWO 013483,000627: 40,2300 50137 BOTHSGN INDEX INREL # SET DEC COMP BIT TO 1 (IN DECBRNCH) 013484,000628: 40,2301 64704 AD BIT7 # BIT 5 FOR R1. BIT 4 FOR R2. 013485,000629: 40,2302 27000 ADS DECBRNCH # BIT 3 FOR R3. 013486,000630: 40,2303 11015 FIXCLPAS CCS CLPASS # IF CLPASS IS + OR +0. MAKE IT +0. 013487,000631: 40,2304 34714 CAF ZERO 013488,000632: 40,2305 55015 TS CLPASS 013489,000633: 40,2306 02307 TC +1 013490,000634: 40,2307 05112 TC ENDOFJOB 013491,000635: 013492,000636: 40,2310 02347 POSGN TC SIGNTEST 013493,000637: 40,2311 02314 TC +ON 013494,000638: 40,2312 34712 CAF ONE 013495,000639: 40,2313 02300 TC BOTHSGN 013496,000640: 013497,000641: 40,2314 22002 +ON LXCH Q 013498,000642: 40,2315 02225 TC GETINREL 013499,000643: 40,2316 50137 INDEX INREL 013500,000644: 40,2317 32342 CAF SGNTAB -2 013501,000645: 40,2320 54123 TS SGNOFF 013502,000646: 40,2321 64712 AD ONE 013503,000647: 40,2322 54122 TS SGNON 013504,000648: 40,2323 34714 SGNCOM CAF ZERO 013505,000649: 40,2324 54124 TS CODE 013506,000650: # Page 317 013507,000651: 40,2325 56123 XCH SGNOFF 013508,000652: 40,2326 03307 TC 11DSPIN 013509,000653: 40,2327 34700 CAF BIT11 013510,000654: 40,2330 54124 TS CODE 013511,000655: 40,2331 56122 XCH SGNON 013512,000656: 40,2332 03307 TC 11DSPIN 013513,000657: 40,2333 00001 TC L 013514,000658: 40,2334 22002 -ON LXCH Q 013515,000659: 40,2335 02225 TC GETINREL 013516,000660: 40,2336 50137 INDEX INREL 013517,000661: 40,2337 32342 CAF SGNTAB -2 013518,000662: 40,2340 54122 TS SGNON 013519,000663: 40,2341 64712 AD ONE 013520,000664: 40,2342 54123 TS SGNOFF 013521,000665: 40,2343 02323 TC SGNCOM 013522,000666: 013523,000667: 40,2344 00005 SGNTAB OCT 5 # -R1 013524,000668: 40,2345 00003 OCT 3 # -R2 013525,000669: 40,2346 00000 OCT 0 # -R3 013526,000670: 013527,000671: 40,2347 22002 SIGNTEST LXCH Q # ALLOWS +,- ONLY WHEN DSPCOUNT=R1D1, 013528,000672: 40,2350 36214 CAF THREE # R2D1, OR R3D1. ALLOWS ONLY FIRST OF 013529,000673: 40,2351 71000 MASK DECBRNCH # CONSECUTIVE +/- CHARACTERS. 013530,000674: 40,2352 10000 CCS A # IF LOW2 BITS OF DECBRNCH NOT 0. SIGN 013531,000675: 40,2353 05112 TC ENDOFJOB # FOR THIS WORD ALREADY IN. REJECT. 013532,000676: 40,2354 44333 CS R1D1 013533,000677: 40,2355 02363 TC SGNTST1 013534,000678: 40,2356 44334 CS R2D1 013535,000679: 40,2357 02363 TC SGNTST1 013536,000680: 40,2360 44335 CS R3D1 013537,000681: 40,2361 02363 TC SGNTST1 013538,000682: 40,2362 05112 TC ENDOFJOB # NO MATCH FOUND. SIGN ILLEGAL 013539,000683: 40,2363 60777 SGNTST1 AD DSPCOUNT 013540,000684: 40,2364 00006 EXTEND 013541,000685: 40,2365 12367 BZF +2 # MATCH FOUND 013542,000686: 40,2366 00002 TC Q 013543,000687: 40,2367 00001 TC L # SIGN LEGAL 013544,000688: 013545,000689: # CLEAR BLANKS WHICH R1, R2, R3 IS CURRENT OR LAST TO BE DISPLAYED (PERTINENT 013546,000690: # XREG, YREG, ZREG IS CLEARED). SUCCESSIVE CLEARS TAKE CARE OF EACH RX 013547,000691: # L/ RC UNTIL R1 IS DONE. THEN NO FURTHER ACTION. 013548,000692: 013549,000693: # THE SINGLE COMPONENT LOAD VERBS ALLOW ONLY THE SINGLE RC THAT IS 013550,000694: # APPROPRIATE TO BE CLEARED. 013551,000695: 013552,000696: # CLPASS +0 PASS0, CAN BE BACKED UP 013553,000697: # +NZ HIPASS, CAN BE BACKED UP 013554,000698: # -NZ PASS0, CANNOT BE BACKED UP 013555,000699: # Page 318 013556,000700: 40,2370 10777 CLEAR CCS DSPCOUNT 013557,000701: 40,2371 64712 AD ONE 013558,000702: 40,2372 02374 TC +2 013559,000703: 40,2373 64712 AD ONE 013560,000704: 40,2374 50000 INDEX A # DO NOT CHANGE DSPCOUNT BECAUSE MAY LATER 013561,000705: 40,2375 32231 CAF INRELTAB # FAIL LEGALTST. 013562,000706: 40,2376 54137 TS INREL # MUST SET INREL, EVEN FOR HIPASS. 013563,000707: 40,2377 11015 CCS CLPASS 013564,000708: 40,2400 02406 TC CLPASHI # + 013565,000709: 40,2401 02403 TC +2 # +0 IF CLPASS IS +0 OR -, IT IS PASS0 013566,000710: 40,2402 02403 TC +1 # - 013567,000711: 40,2403 30137 CA INREL 013568,000712: 40,2404 02430 TC LEGALTST 013569,000713: 40,2405 02423 TC CLEAR1 013570,000714: 40,2406 10137 CLPASHI CCS INREL 013571,000715: 40,2407 54137 TS INREL 013572,000716: 40,2410 02430 TC LEGALTST 013573,000717: 40,2411 32500 CAF DOUBLK +2 # +3 TO - NUMBER, BACKS DATA REQUESTS. 013574,000718: 40,2412 27013 ADS REQRET 013575,000719: 40,2413 30137 CA INREL 013576,000720: 40,2414 54125 TS MIXTEMP # TEMP STORAGE FOR INREL 013577,000721: 40,2415 00006 EXTEND 013578,000722: 40,2416 27001 DIM VERBREG # DECREMENT VERB AND RE-DISPLAY 013579,000723: 40,2417 04555 TC BANKCALL 013580,000724: 40,2420 62337 CADR UPDATVB 013581,000725: 40,2421 30125 CA MIXTEMP 013582,000726: 40,2422 54137 TS INREL # RESTORE INREL 013583,000727: 40,2423 02426 CLEAR1 TC CLR5 013584,000728: 40,2424 25015 INCR CLPASS # ONLY IF CLPASS IS + OR +0 013585,000729: 40,2425 05112 TC ENDOFJOB # SET FOR HIGHER PASS. 013586,000730: 40,2426 22002 CLR5 LXCH Q # USED 5BLANK BUT AVOIDS ITS TC GETINREL 013587,000731: 40,2427 02441 TC 5BLANK +2 013588,000732: 40,2430 67715 LEGALTST AD NEG2 013589,000733: 40,2431 10000 CCS A 013590,000734: 40,2432 00002 TC Q # LEGAL INREL G/2 013591,000735: 40,2433 05640 TC CCSHOLE 013592,000736: 40,2434 05112 TC ENDOFJOB # ILLEGAL INREL=0,1 013593,000737: 40,2435 00002 TC Q # LEGAL INREL=2 013594,000738: 013595,000739: # 5BLANK BLANKS 5 CHAR DISPLAY WORD IN R1, R2, OR R3. IT ALSO ZEROES XREG, 013596,000740: # YREG, OR ZREG. PLACE ANY + DSPCOUNT NUMBER FOR PERTINENT RC INTO DSPCOUNT. 013597,000741: # DSPCOUNT IS LEFT SET TO LEFT MOST DSP NUMB FOR RC JUST BLANKED. 013598,000742: 013599,000743: 40,2436 54777 TS DSPCOUNT # NEEDED FOR BLANKSUB 013600,000744: 40,2437 22002 5BLANK LXCH Q 013601,000745: 40,2440 02225 TC GETINREL 013602,000746: 40,2441 34714 CAF ZERO 013603,000747: 40,2442 50137 INDEX INREL 013604,000748: 40,2443 55001 TS VERBREG # ZERO X, Y, Z, REG. 013605,000749: # Page 319 013606,000750: 40,2444 50137 INDEX INREL 013607,000751: 40,2445 55004 TS XREGLP -2 013608,000752: 40,2446 54124 TS CODE 013609,000753: 40,2447 50137 INDEX INREL # ZERO PERTINENT DEC COMP BIT. 013610,000754: 40,2450 44704 CS BIT7 # PROTECT OTHERS 013611,000755: 40,2451 71000 MASK DECBRNCH 013612,000756: 40,2452 72501 MASK BRNCHCON # ZERO LOW 2 BITS. 013613,000757: 40,2453 55000 TS DECBRNCH 013614,000758: 40,2454 50137 INDEX INREL 013615,000759: 40,2455 32471 CAF SINBLANK -2 # BLANK ISOLATED CHAR SEPARATELY 013616,000760: 40,2456 54143 TS COUNT 013617,000761: 40,2457 03225 TC DSPIN 013618,000762: 40,2460 50137 5BLANK1 INDEX INREL 013619,000763: 40,2461 32474 CAF DOUBLK -2 013620,000764: 40,2462 54777 TS DSPCOUNT 013621,000765: 40,2463 02502 TC 2BLANK 013622,000766: 40,2464 44711 CS TWO 013623,000767: 40,2465 26777 ADS DSPCOUNT 013624,000768: 40,2466 02502 TC 2BLANK 013625,000769: 40,2467 50137 INDEX INREL 013626,000770: 40,2470 34331 CAF R1D1 -2 013627,000771: 40,2471 54777 TS DSPCOUNT # SET DSPCOUNT TO LEFT MOST DSP NUMBER 013628,000772: 40,2472 00001 TC L # OF REG. JUST BLANKED 013629,000773: 013630,000774: 40,2473 00016 SINBLANK OCT 16 # DEC 14 013631,000775: 40,2474 00005 OCT 5 013632,000776: 40,2475 00004 OCT 4 013633,000777: 40,2476 00015 DOUBLK OCT 15 # DEC 13 013634,000778: 40,2477 00011 OCT 11 # DEC 9 013635,000779: 40,2500 00003 OCT 3 013636,000780: 013637,000781: 40,2501 77774 BRNCHCON OCT 77774 013638,000782: 013639,000783: # 2BLANK BLANKS TWO CHAR. PLACE DSP NUMBER OF LEFT CHAR OF THE PAIR INTO 013640,000784: # DSPCOUNT. THIS NUMBER IS LEFT IN DSPCOUNT 013641,000785: 013642,000786: 40,2502 30777 2BLANK CA DSPCOUNT 013643,000787: 40,2503 54021 TS SR 013644,000788: 40,2504 42515 CS BLANKCON 013645,000789: 40,2505 00004 INHINT 013646,000790: 40,2506 50021 INDEX SR 013647,000791: 40,2507 57023 XCH DSPTAB 013648,000792: 40,2510 00006 EXTEND 013649,000793: 40,2511 62513 BZMF +2 # IF OLD CONTENTS -, NOUT OK 013650,000794: 40,2512 25016 INCR NOUT # IF OLD CONTENTS +, +1 TO NOUT 013651,000795: 40,2513 00003 RELINT # IF -, NOUT OK 013652,000796: 40,2514 00002 TC Q 013653,000797: 40,2515 04000 BLANKCON OCT 4000 013654,000798: 013655,000799: # Page 320 013656,000800: # ENTER PASS 0 IS THE EXECUTE FUNCTION. HIGHER ORDER ENTERS ARE TO LOAD 013657,000801: # DATA. THE SIGN OF REQRET DETERMINES THE PASS, + FOR PASS 0, - FOR HIGHER 013658,000802: # PASSES 013659,000803: 013660,000804: # MACHINE CADR TO BE SPECIFIED (MCTBS) NOUNS DESIRE AN ECADR TO BE LOADED 013661,000805: # WHEN USED WITH LOAD VERBS, MONITOR VERBS, OR DISPLAY VERBS (EXCEPT 013662,000806: # VERB = FIXED MEMORY DISPLAY, WHICH REQUIRES AN FCADR). 013663,000807: 013664,000808: 41,2000 BANK 41 013665,000809: 41,2000 SETLOC PINBALL2 013666,000810: 41,2000 BANK 013667,000811: 013668,000812: 41,2000 COUNT 41/PIN 013669,000813: 013670,000814: 41,2000 03534 NVSUBB TC NVSUB1 # STANDARD LEAD INS. DON'T MOVE. 013671,000815: 41,2001 02771 LOADLV1 TC LOADLV 013672,000816: 013673,000817: # END OF STANDARD LEAD INS. 013674,000818: 013675,000819: 41,2002 34714 ENTER CAF ZERO 013676,000820: 41,2003 55015 TS CLPASS 013677,000821: 41,2004 34233 CAF ENDINST 013678,000822: 41,2005 54136 TS ENTRET 013679,000823: 41,2006 11013 CCS REQRET 013680,000824: 41,2007 02035 TC ENTPAS0 # IF +, PASS 0 013681,000825: 41,2010 02035 TC ENTPAS0 # IF +, PASS 0 013682,000826: 41,2011 02012 TC +1 # IF -, NOT PASS 0 013683,000827: 41,2012 32033 ENTPASHI CAF MMADREF 013684,000828: 41,2013 61013 AD REQRET # IF L/ 2 CHAR IN FOR MM CODE, ALARM 013685,000829: 41,2014 00006 EXTEND # AND RECYCLE (DECIDE AT MCHANG+1). 013686,000830: 41,2015 12027 BZF ACCEPTWD 013687,000831: 41,2016 36214 CAF THREE # IF DEC, ALARM IF L/ 5 CHAR IN FOR DATA, 013688,000832: 41,2017 71000 MASK DECBRNCH # BUT LEAVE REQRET - AND FLASH ON, SO 013689,000833: 41,2020 10000 CCS A # OPERATOR CAN SUPPLY MISSING NUMERICAL 013690,000834: 41,2021 02023 TC +2 # CHARACTERS AND CONTINUE. 013691,000835: 41,2022 02027 TC ACCEPTWD # OCTAL. ANY NUMBER OF CHAR OK. 013692,000836: 41,2023 10777 CCS DSPCOUNT 013693,000837: 41,2024 02350 TC GODSPALM # LESS THAN 5 CHAR DEC(DSPCOUNT IS +) 013694,000838: 41,2025 02350 TC GODSPALM # LESS THAN 5 CHAR DEC(DSPCOUNT IS +) 013695,000839: 41,2026 02027 TC +1 # 5 CHAR IN (DSPCOUNT IS -) 013696,000840: 41,2027 41013 ACCEPTWD CS REQRET # 5 CHAR IN (DSPCOUNT IS -) 013697,000841: 41,2030 55013 TS REQRET # SET REQRET +. 013698,000842: 41,2031 04447 TC FLASHOFF 013699,000843: 41,2032 01013 TC REQRET 013700,000844: 013701,000845: 41,2033 0136 ENTEXIT = ENTRET 013702,000846: 013703,000847: 41,2033 03421 MMADREF ADRES MMCHANG +1 # ASSUMES TC REQMM AT MMCHANG. 013704,000848: 013705,000849: # Page 321 013706,000850: 41,2034 00034 LOWVERB DEC 28 B-14 # LOWER VERB THAT AVOIDS NOUN TEST. 013707,000851: 013708,000852: 41,2035 34714 ENTPAS0 CAF ZERO # NOUN VERB SUB ENTERS HERE 013709,000853: 41,2036 55000 TS DECBRNCH 013710,000854: 41,2037 44374 CS VD1 # BLOCK FURTHER NUM CHAR, SO THAT STRAY 013711,000855: 41,2040 54777 TS DSPCOUNT # CHAR DO NOT GET INTO VERB OR NOUN LTS. 013712,000856: 41,2041 41001 TESTVB CS VERBREG # IF VERB IS G/E LOWVB, SKIP NOUN TEST. 013713,000857: 41,2042 55041 TS VERBSAVE # SAVE VERB FOR POSSIBLE RECYCLE. 013714,000858: 41,2043 62034 AD LOWVERB # LOWVERB - VB 013715,000859: 41,2044 00006 EXTEND 013716,000860: 41,2045 62133 BZMF VERBFAN # VERB G/ E LOWVERB 013717,000861: 41,2046 00006 TESTNN EXTEND # VERB L/ LOWVERB 013718,000862: 41,2047 32114 DCA LODNNLOC # SWITCH BANKS TO NOUN TABLE READING 013719,000863: 41,2050 52006 DXCH Z # ROUTINE. 013720,000864: 41,2051 50140 INDEX MIXBR 013721,000865: 41,2052 02052 TC +0 013722,000866: 41,2053 02055 TC +2 # NORMAL 013723,000867: 41,2054 02221 TC MIXNOUN # MIXED 013724,000868: 41,2055 10146 CCS NNADTEM # NORMAL 013725,000869: 41,2056 02131 TC VERBFAN -2 # NORMAL IF + 013726,000870: 41,2057 02350 TC GODSPALM # NOT IN USE IF +0 013727,000871: 41,2060 02064 TC REQADD # SPECIFY MACHINE CADR IF - 013728,000872: 41,2061 25017 INCR NOUNCADR # AUGMENT MACHINE CADR IF -0 013729,000873: 41,2062 04325 TC SETNADD # ECADR FROM NOUNCADR, SETS ED, NOUNADD. 013730,000874: 41,2063 02120 TC INTMCTBS +2 013731,000875: 41,2064 34674 REQADD CAF BIT15 # SET CLPASS FOR PASS 0 ONLY 013732,000876: 41,2065 55015 TS CLPASS 013733,000877: 41,2066 44233 CS ENDINST # TEST IF REACHED HERE FROM INTERNAL OR 013734,000878: 41,2067 60136 AD ENTEXIT # FROM EXTERNAL 013735,000879: 41,2070 00006 EXTEND 013736,000880: 41,2071 12073 BZF +2 # EXTERNAL MACH CADR TO BE SPECIFIED 013737,000881: 41,2072 02116 TC INTMCTBS 013738,000882: 41,2073 02306 TC REQDATZ # EXTERNAL MACH CADR TO BE SPECIFIED 013739,000883: 41,2074 11000 CCS DECBRNCH # ALARM AND RECYCLE IF DECIMAL USED 013740,000884: 41,2075 04161 TC ALMCYCLE # FOR MCTBS. 013741,000885: 41,2076 44374 CS VD1 # OCTAL USED OK 013742,000886: 41,2077 54777 TS DSPCOUNT # BLOCK NUM CHAR IN 013743,000887: 41,2100 11042 CCS CADRSTOR 013744,000888: 41,2101 02104 TC +3 # EXTERNAL MCTBS DISPLAY WILL LEAVE FLASH 013745,000889: 41,2102 02105 TC USEADD # ON IF ENDIDLE NOT = +0. 013746,000890: 41,2103 02104 TC +1 013747,000891: 41,2104 04443 TC FLASHON 013748,000892: 41,2105 57005 USEADD XCH ZREG 013749,000893: 41,2106 04317 TC SETNCADR # ECADR INTO NOUNCADR. SET EB, NOUNADD. 013750,000894: 41,2107 00006 EXTEND 013751,000895: 41,2110 32114 DCA LODNNLOC # SWITCH BANKS TO NOUN TAB E READING 013752,000896: 41,2111 52006 DXCH Z # ROUTINE. 013753,000897: 41,2112 02133 TC VERBFAN 013754,000898: 013755,000899: 41,2113 0777 EBANK= DSPCOUNT 013756,000900: # Page 322 013757,000901: 41,2113 02062 64101 LODNNLOC 2CADR LODNNTAB 013758,000902: 013759,000903: 41,2115 77772 NEG5 OCT 77772 013760,000904: 013761,000905: 41,2116 30156 INTMCTBS CA MPAC +2 # INTERNAL MACH CADR TO BE SPECIFIED. 013762,000906: 41,2117 04317 TC SETNCADR # ECADR INTO NOUNCADR. SET EB, NOUNADD. 013763,000907: 41,2120 44715 CS FIVE # NVSUB CALL LEFT CADR IN MPAC+2 FOR MACH 013764,000908: 41,2121 61001 AD VERBREG # CADR TO BE SPECIFIED. 013765,000909: 41,2122 00006 EXTEND 013766,000910: 41,2123 12133 BZF VERBFAN # DON'T DISPLAY CADR IF VB = 05. 013767,000911: 41,2124 34335 CAF R3D1 # VB NOT = 05. DISPLAY CADR. 013768,000912: 41,2125 54777 TS DSPCOUNT 013769,000913: 41,2126 31017 CA NOUNCADR 013770,000914: 41,2127 03353 TC DSPOCTWO 013771,000915: 41,2130 02133 TC VERBFAN 013772,000916: 013773,000917: 41,2131 64712 AD ONE 013774,000918: 41,2132 04317 TC SETNCADR # ECADR INTO NOUNCADR. SETS EB, NOUNADD. 013775,000919: 41,2133 42145 VERBFAN CS LST2CON 013776,000920: 41,2134 61001 AD VERBREG # VERB -- LST2CON 013777,000921: 41,2135 10000 CCS A 013778,000922: 41,2136 64712 AD ONE # VERB G/ LST2CON 013779,000923: 41,2137 02141 TC +2 013780,000924: 41,2140 02146 TC VBFANDIR # VERB L/ LST2CON 013781,000925: 41,2141 54154 TS MPAC 013782,000926: 41,2142 04473 TC RELDSP # RELEASE DISPLAY SYST 013783,000927: 41,2143 04574 TC POSTJUMP # GO TO GOEXTVB WITH VB=40 IN MPAC. 013784,000928: 41,2144 66000 CADR GOEXTVB 013785,000929: 41,2145 00050 LST2CON DEC 40 B-14 # FIRST LIST2 VERB (EXTENDED VERB) 013786,000930: 013787,000931: 41,2146 51001 VBFANDIR INDEX VERBREG 013788,000932: 41,2147 32151 CAF VERBTAB 013789,000933: 41,2150 04577 TC BANKJUMP 013790,000934: 013791,000935: 41,2151 62350 VERBTAB CADR GODSPALM # VB00 ILLEGAL 013792,000936: 41,2152 62364 CADR DSPA # VB01 DISPLAY OCT COMP 1 (R1) 013793,000937: 41,2153 62372 CADR DSPB # VB02 DISPLAY OCT COMP 2 (R1) 013794,000938: 41,2154 62377 CADR DSPC # VB03 DISPLAY OCT COMP 3 (R1) 013795,000939: 41,2155 62357 CADR DSPAB # VB04 DISPLAY OCT COMP 1,2 (R1,R2) 013796,000940: 41,2156 62352 CADR DSPABC # VB05 DISPLAY OCT COMP 1,2,3 (R1,R2,R3) 013797,000941: 41,2157 62520 CADR DECDSP # VB06 DECIMAL DISPLAY 013798,000942: 41,2160 60675 CADR DSPDPDEC # VB07 DP DECIMAL DISPLAY (R1,R2) 013799,000943: 41,2161 62350 CADR GODSPALM # VB08 SPARE 013800,000944: 41,2162 62350 CADR GODSPALM # VB09 SPARE 013801,000945: 41,2163 61323 CADR DSPALARM # VB10 SPARE 013802,000946: 41,2164 63220 CADR MONITOR # VB11 MONITOR OCT COMP 1 (R1) 013803,000947: 41,2165 63220 CADR MONITOR # VB12 MONITOR OCT COMP 2 (R1) 013804,000948: 41,2166 63220 CADR MONITOR # VB13 MONITOR OCT COMP 3 (R1) 013805,000949: 41,2167 63220 CADR MONITOR # VB14 MONITOR OCT COMP 1,2 (R1,R2) 013806,000950: # Page 323 013807,000951: 41,2170 63220 CADR MONITOR # VB15 MONITOR OCT COMP 1,2,3 (R1,R2,R3) 013808,000952: 41,2171 63220 CADR MONITOR # VB16 MONITOR DECIMAL 013809,000953: 41,2172 63220 CADR MONITOR # VB17 MONITOR DP DEC (R1,R2) 013810,000954: 41,2173 62350 CADR GODSPALM # VB18 SPARE 013811,000955: 41,2174 62350 CADR GODSPALM # VB19 SPARE 013812,000956: 41,2175 62350 CADR GODSPALM # VB20 SPARE 013813,000957: 41,2176 62726 CADR ALOAD # VB21 LOAD COMP 1 (R1) 013814,000958: 41,2177 62737 CADR BLOAD # VB22 LOAD COMP 2 (R2) 013815,000959: 41,2200 62754 CADR CLOAD # VB23 LOAD COMP 3 (R3) 013816,000960: 41,2201 62677 CADR ABLOAD # VB24 LOAD COMP 1,2 (R1,R2) 013817,000961: 41,2202 62612 CADR ABCLOAD # VB25 LOAD COMP 1,2,3 (R1,R2,R3) 013818,000962: 41,2203 62350 CADR GODSPALM # VB26 SPARE 013819,000963: 41,2204 63343 CADR DSPFMEM # VB27 FIXED MEMORY DISPLAY 013820,000964: # THE FOLLOWING VERBS MAKE NO NOUN TEST 013821,000965: 41,2205 62350 CADR GODSPALM # VB28 SPARE 013822,000966: 41,2206 62350 CADR GODSPALM # VB29 SPARE 013823,000967: 41,2207 63456 REQEXLQC CADR VBRQEXEC # VB30 REQUEST EXECUTIVE 013824,000968: 41,2210 63502 CADR VBRQWAIT # VB31 REQUEST WAITLIST 013825,000969: 41,2211 61360 CADR VBRESEQ # VB32 RESEQUENCE 013826,000970: 41,2212 61343 CADR VBPROC # VB33 PROCEED WITHOUT DATA 013827,000971: 41,2213 61351 CADR VBTERM # VB34 TERMINATE CURRENT TEST OR LOAD REQ 013828,000972: 41,2214 63603 CADR VBTSTLTS # VB35 TEST LIGHTS 013829,000973: 41,2215 12347 CADR SLAP1 # VB36 FRESH START 013830,000974: 41,2216 63420 CADR MMCHANG # VB37 CHANGE MAJOR MODE 013831,000975: 41,2217 62350 CADR GODSPALM # VB38 SPARE 013832,000976: 41,2220 62350 CADR GODSPALM # VB39 SPARE 013833,000977: 013834,000978: # THE LIST2 VERBFAN IS LOCATED IN THE EXTENDED VERB BANK. 013835,000979: # Page 324 013836,000980: # NNADTAB CONTAINS A RELATIVE ADDRESS, IDADDREL (IN LOW 10 BITS), REFERRING 013837,000981: # TO WHERE 3 CONSECUTIVE ADDRESSES ARE STORED (IN IDADDTAB). 013838,000982: # MIXNOUN GETS DATA AND STORES IN MIXTEMP,+1,+2. IT SETS NOUNADD FOR 013839,000983: # MIXTEMP. 013840,000984: 013841,000985: 41,2221 10146 MIXNOUN CCS NNADTEM 013842,000986: 41,2222 02226 TC +4 # + IN USE 013843,000987: 41,2223 02350 TC GODSPALM # +0 NOT IN USE 013844,000988: 41,2224 02226 TC +2 # - IN USE 013845,000989: 41,2225 02226 TC +1 # -0 IN USE 013846,000990: 41,2226 46211 CS SIX 013847,000991: 41,2227 61001 AD VERBREG 013848,000992: 41,2230 00006 EXTEND 013849,000993: 41,2231 62233 BZMF +2 # VERB L/E 6 013850,000994: 41,2232 02133 TC VERBFAN # AVOID MIXNOUN SWAP IF VB NOT = DISPLAY 013851,000995: 41,2233 34711 CAF TWO 013852,000996: 41,2234 54117 MIXNN1 TS DECOUNT 013853,000997: 41,2235 62260 AD MIXAD 013854,000998: 41,2236 54145 TS NOUNADD # SET NOUNADD TO MIXTEMP +K 013855,000999: 41,2237 50117 INDEX DECOUNT # GET IDADDTAB ENTRY FOR COMPONENT K 013856,001000: 41,2240 30150 CA IDAD1TEM # OF NOUN. 013857,001001: 41,2241 54122 TS NOUNTEM 013858,001002: # TEST FOR DP (FOR OCT DISPLAY). IF SO, GET 013859,001003: # MINOR PART ONLY. 013860,001004: 41,2242 03027 TC SFRUTMIX # GET SF ROUT NUMBER IN A 013861,001005: 41,2243 02261 TC DPTEST 013862,001006: 41,2244 02246 TC MIXNN2 # NO DP 013863,001007: 41,2245 24122 INCR NOUNTEM # DP GET MINOR PART 013864,001008: 41,2246 30122 MIXNN2 CA NOUNTEM 013865,001009: 41,2247 74372 MASK LOW11 # ESUBK (NO DP) OR (ESUBK)+1 (garbled) FOR DP. 013866,001010: 41,2250 04327 TC SETEBANK # SET EBANK, LEAVE EADRES IN A. 013867,001011: 41,2251 50000 INDEX A # PICK UP C(ESUBK) NOT DP. 013868,001012: 41,2252 30000 CA 0 # OR C((ESUBK)+1) FOR DP MINOR PART 013869,001013: 41,2253 50145 INDEX NOUNADD 013870,001014: 41,2254 56000 XCH 0 # STORE IN MIXTEM + K 013871,001015: 41,2255 10117 CCS DECOUNT 013872,001016: 41,2256 02234 TC MIXNN1 013873,001017: 41,2257 02133 TC VERBFAN 013874,001018: 013875,001019: 41,2260 00125 MIXAD TC MIXTEMP 013876,001020: 013877,001021: # DPTEST ENTER WITH SF ROUT NUMBER IN A. 013878,001022: # RETURNS TO L+1 IF NO DP. 013879,001023: # RETURNS TO L+2 IF DP. 013880,001024: 013881,001025: 41,2261 50000 DPTEST INDEX A 013882,001026: 41,2262 12263 TCF +1 013883,001027: 41,2263 00002 TC Q # OCTAL ONLY NO DP 013884,001028: 41,2264 00002 TC Q # FRACT NO DP 013885,001029: # Page 325 013886,001030: 41,2265 00002 TC Q # DEG NO DP 013887,001031: 41,2266 00002 TC Q # ARITH NO DP 013888,001032: 41,2267 12300 TCF DPTEST1 # DP1OUT 013889,001033: 41,2270 12300 TCF DPTEST1 # DP2OUT 013890,001034: 41,2271 00002 TC Q # LRPOSOUT NO DP (DATA IN CHANNEL 33) 013891,001035: 41,2272 12300 TCF DPTEST1 # DP3OUT 013892,001036: 41,2273 00002 TC Q # HMS NO DP 013893,001037: 41,2274 00002 TC Q # M/S NO DP 013894,001038: 41,2275 12300 TCF DPTEST1 # DP4OUT 013895,001039: 41,2276 00002 TC Q # ARITH1 NO DP 013896,001040: 41,2277 00002 TC Q # 2INTOUT NO DP TO GET HI PART IN MPAC 013897,001041: 41,2300 50002 DPTEST1 INDEX Q 013898,001042: 41,2301 00001 TC 1 # RETURN TO L+2 013899,001043: 013900,001044: 41,2302 34333 REQDATX CAF R1D1 013901,001045: 41,2303 12307 TCF REQCOM 013902,001046: 41,2304 34334 REQDATY CAF R2D1 013903,001047: 41,2305 12307 TCF REQCOM 013904,001048: 41,2306 34335 REQDATZ CAF R3D1 013905,001049: 41,2307 54777 REQCOM TS DSPCOUNT 013906,001050: 41,2310 40002 CS Q 013907,001051: 41,2311 55013 TS REQRET 013908,001052: 41,2312 04555 TC BANKCALL 013909,001053: 41,2313 60437 CADR 5BLANK 013910,001054: 41,2314 04443 TC FLASHON 013911,001055: 41,2315 00136 ENDRQDAT TC ENTEXIT 013912,001056: 013913,001057: 41,2316 55002 TS NOUNREG 013914,001058: 41,2317 56002 UPDATNN XCH Q 013915,001059: 41,2320 54117 TS UPDATRET 013916,001060: 41,2321 00006 EXTEND 013917,001061: 41,2322 32114 DCA LODNNLOC # SWITCH BANKS TO NOUN (garbled)EADING 013918,001062: 41,2323 52006 DXCH Z # ROUTINE. 013919,001063: 41,2324 10146 CCS NNADTEM 013920,001064: 41,2325 64712 AD ONE # NORMAL 013921,001065: 41,2326 12331 TCF PUTADD 013922,001066: 41,2327 12332 TCF PUTADD +1 # MCTBS DON'T CHANGE NOUNADD 013923,001067: 41,2330 12332 TCF PUTADD +1 # MCTBI DON'T CHANGE NOUNADD 013924,001068: 41,2331 04317 PUTADD TC SETNCADR # ECADR INTO NOUNCADR. SETS EB, NOUNADD. 013925,001069: 41,2332 34375 CAF ND1 013926,001070: 41,2333 54777 TS DSPCOUNT 013927,001071: 41,2334 31002 CA NOUNREG 013928,001072: 41,2335 12344 TCF UPDAT1 013929,001073: 013930,001074: 41,2336 55001 TS VERBREG 013931,001075: 41,2337 56002 UPDATVB XCH Q 013932,001076: 41,2340 54117 TS UPDATRET 013933,001077: 41,2341 34374 CAF VD1 013934,001078: 41,2342 54777 TS DSPCOUNT 013935,001079: # Page 326 013936,001080: 41,2343 31001 CA VERBREG 013937,001081: 41,2344 04574 UPDAT1 TC POSTJUMP # CAN'T USE SWCALL TO GO TC DSPDECVN, SINCE 013938,001082: 41,2345 61222 CADR GOVNUPDT # UPDATVB CAN ITSELF BE CALLED BY SWCALL. 013939,001083: 41,2346 00117 TC UPDATRET 013940,001084: 013941,001085: 41,2347 04161 GOALMCYC TC ALMCYCLE # NEEDED BECAUSE BANKJUMP CAN'T HANDLE F/F. 013942,001086: 013943,001087: 41,2350 04574 GODSPALM TC POSTJUMP 013944,001088: 41,2351 61323 CADR DSPALARM 013945,001089: 013946,001090: # Page 327 013947,001091: # NOUN TABLES 013948,001092: 013949,001093: # NOUN CODE L/40, NORMAL NOUN CASE. NOUN CODE G/E 40, MIXED NOUN CASE. 013950,001094: # FOR NORMAL CASE, NNADTAB CONTAINS ONE ECADR FOR EACH NOUN. 013951,001095: # +0 INDICATES NOUN NOT USED. - ENTRY INDICATES MACHINE CADR (E OR F) TO 013952,001096: # BE SPECIFIED. -1 INDICATES CHANNEL TO BE SPECIFIED. -0 INDICATES AUGMENT 013953,001097: # OF LAST MACHINE CADR SUPPLIED. 013954,001098: 013955,001099: # FOR MIXED CASE, NNADTAB CONTAINS ONE INDIRECT ADDRESS (IDADDREL) IN LOW 013956,001100: # 10 BITS, AND THE COMPONENT CODE NUMBER IN THE HIGH 5 BITS. 013957,001101: 013958,001102: # NNTYPTAB IS A PACKED TABLE OF THE FORM MMMMMNNNNNPPPPP. 013959,001103: 013960,001104: # FOR THE NORMAL CASE, M'S ARE THE COMPONENT CODE NUMBER. 013961,001105: # N'S ARE THE SF ROUTINE CODE NUMBER. 013962,001106: # P'S ARE THE SF CONSTANT CODE NUMBER. 013963,001107: 013964,001108: # MIXED-CASE, M'S ARE THE SF CONSTANT3 CODE NUMBER 3 COMPONENT CASE 013965,001109: # N'S ARE THE SF CONSTANT2 CODE NUMBER 013966,001110: # P'S ARE THE SF CONSTANT1 CODE NUMBER 013967,001111: # N'S ARE THE SF CONSTANT2 CODE NUMBER 2 COMPONENT CASE 013968,001112: # P'S ARE THE SF CONSTANT1 CODE NUMBER 013969,001113: # P'S ARE THE SF CONSTANT1 CODE NUMBER 1 COMPONENT CASE 013970,001114: 013971,001115: # THERE IS ALSO AN INDIRECT ADDRESS TABLE (IDADDTAB) FOR MIXED CASE ONLY 013972,001116: # EACH ENTRY CONTAINS ONE ECADR. IDADDREL IS THE RELATIVE ADDRESS OF 013973,001117: # THE FIRST OF THESE ENTRIES. 013974,001118: 013975,001119: # THERE IS ONE ENTRY IN THIS TABEL FOR EACH COMPONENT OF A MIXED NOUN 013976,001120: # THEY ARE LISTED IN ORDER OF ASCENDING K. 013977,001121: 013978,001122: # THERE IS ALSO A SCALE FACTOR ROUTINE NUMBER TABLE (RUTMXTAB) FOR MIXED 013979,001123: # CASE ONLY. THERE IS ONE ENTRY PER MIXED NOUN. THE FORM IS, 013980,001124: 013981,001125: # QQQQQRRRRRSSSSS 013982,001126: 013983,001127: # Q'S ARE THE SF ROUTINE 3 CODE NUMBER 3 COMPONENT CASE 013984,001128: # R'S ARE THE SF ROUTINE 2 CODE NUMBER 013985,001129: # S'S ARE THE SF ROUTINE 1 CODE NUMBER 013986,001130: # R'S ARE THE SF ROUTINE 2 CODE NUMBER 2 COMPONENT CASE 013987,001131: # S'S ARE THE SF ROUTINE 1 CODE NUMBER 013988,001132: 013989,001133: # IN OCTAL DISPLAY AND LOAD (OCT OR DEC) VERBS, EXCLUDE USE OF VERBS WHOSE 013990,001134: # COMPONENT NUMBER IS GREATER THAN THE NUMBER OF COMONENTS IN NOUN. 013991,001135: # (ALL MACHINE ADDRESS TO BE SPECIFIED NOUNS ARE 3 COMPONENT.) 013992,001136: 013993,001137: # IN MULTI-COMPONENT LOAD VERBS, NO MIXING OF OCTAL AND DECIMAL DATA 013994,001138: # COMPONENT WORDS IS ALLOWED. ALARM IF VIOLATION. 013995,001139: 013996,001140: # IN DECIMAL LOADS OF DATA, 5 NUMERICAL CHARACTERS MUST BE KEYED IN 013997,001141: # BEFORE EACH ENTER. IF NOT, ALARM. 013998,001142: 013999,001143: # Page 328 014000,001144: # DISPLAY VERBS 014001,001145: 014002,001146: 41,2352 44711 DSPABC CS TWO 014003,001147: 41,2353 02423 TC COMPTEST 014004,001148: 41,2354 50145 INDEX NOUNADD 014005,001149: 41,2355 40002 CS 2 014006,001150: 41,2356 56132 XCH BUF +2 014007,001151: 41,2357 44712 DSPAB CS ONE 014008,001152: 41,2360 02423 TC COMPTEST 014009,001153: 41,2361 50145 INDEX NOUNADD 014010,001154: 41,2362 40001 CS 1 014011,001155: 41,2363 56131 XCH BUF +1 014012,001156: 41,2364 02442 DSPA TC DECTEST 014013,001157: 41,2365 02465 TC TSTFORDP 014014,001158: 41,2366 50145 INDEX NOUNADD 014015,001159: 41,2367 40000 CS 0 014016,001160: 41,2370 56130 DSPCOM1 XCH BUF 014017,001161: 41,2371 02404 TC DSPCOM2 014018,001162: 41,2372 44712 DSPB CS ONE 014019,001163: 41,2373 02436 TC DCOMPTST 014020,001164: 41,2374 50145 INDEX NOUNADD 014021,001165: 41,2375 40001 CS 1 014022,001166: 41,2376 02370 TC DSPCOM1 014023,001167: 41,2377 44711 DSPC CS TWO 014024,001168: 41,2400 02436 TC DCOMPTST 014025,001169: 41,2401 50145 INDEX NOUNADD 014026,001170: 41,2402 40002 CS 2 014027,001171: 41,2403 02370 TC DSPCOM1 014028,001172: 41,2404 44711 DSPCOM2 CS TWO # A B C AB ABC 014029,001173: 41,2405 61001 AD VERBREG # -1 -0 +1 +2 +3 IN A 014030,001174: 41,2406 10000 CCS A # +0 +0 +1 +2 IN A AFTER CCS 014031,001175: 41,2407 02412 TC DSPCOM3 014032,001176: 41,2410 00136 TC ENTEXIT 014033,001177: 41,2411 02412 TC +1 014034,001178: 41,2412 54122 DSPCOM3 TS DISTEM # +0 +1 +2 INTO DISTEM 014035,001179: 41,2413 50000 INDEX A 014036,001180: 41,2414 34333 CAF R1D1 014037,001181: 41,2415 54777 TS DSPCOUNT 014038,001182: 41,2416 50122 INDEX DISTEM 014039,001183: 41,2417 40130 CS BUF 014040,001184: 41,2420 03353 TC DSPOCTWO 014041,001185: 41,2421 56122 XCH DISTEM 014042,001186: 41,2422 02406 TC DSPCOM2 +2 014043,001187: 014044,001188: # COMPTEST ALARMS IF COMPONENT NUMBER OF VERB (LOAD OR OCT DISPLAY) IS 014045,001189: # GREATER THAN THE HIGHEST COMPONENT NUMBER OF NOUN. 014046,001190: 014047,001191: 41,2423 54123 COMPTEST TS SFTEMP1 # VERB COMP 014048,001192: 41,2424 22002 LXCH Q 014049,001193: 41,2425 02512 COMPTST1 TC GETCOMP 014050,001194: 41,2426 04345 TC LEFT5 014051,001195: 41,2427 76214 MASK THREE # NOUN COMP 014052,001196: # Page 329 014053,001197: 41,2430 60123 AD SFTEMP1 # NOUN COMP -- VERB COMP 014054,001198: 41,2431 10000 CCS A 014055,001199: 41,2432 00001 TC L # NOUN COMP G/ VERB COMP 014056,001200: 41,2433 05640 TC CCSHOLE 014057,001201: 41,2434 02350 TC GODSPALM # NOUN COMP L/ VERB COMP 014058,001202: 41,2435 00001 NDCMPTST TC L # NOUN COMP = VERB COMP 014059,001203: 014060,001204: # DCOMPTST ALARMS IF DECIMAL ONLY BIT (BIT4 OF COMP CODE NUMBER) = 1. 014061,001205: # IF NOT, IT PERFORMS REGULAR COMPTEST. 014062,001206: 014063,001207: 41,2436 54123 DCOMPTST TS SFTEMP1 # - VERB COMP 014064,001208: 41,2437 22002 LXCH Q 014065,001209: 41,2440 02442 TC DECTEST 014066,001210: 41,2441 02425 TC COMPTST1 014067,001211: 014068,001212: 41,2442 00006 DECTEST EXTEND # ALARMS IF DEC ONLY BIT = 1 (BIT4 OF COMP 014069,001213: 41,2443 22156 QXCH MPAC +2 # CODE NUMBER). RETURNS IF NOT. 014070,001214: 41,2444 02512 TC GETCOMP 014071,001215: 41,2445 74675 MASK BIT14 014072,001216: 41,2446 10000 CCS A 014073,001217: 41,2447 02350 TC GODSPALM 014074,001218: 41,2450 00156 TC MPAC +2 014075,001219: 014076,001220: 41,2451 22002 DCTSTCYC LXCH Q # ALARMS AND RECYCLES IF DEC ONLY BIT = 1 014077,001221: 41,2452 02512 TC GETCOMP # (BIT4 OF COMP CODE NUMBER). RETURNS 014078,001222: 41,2453 74675 MASK BIT14 # IF NOT. USED BY LOAD VERBS. 014079,001223: 41,2454 10000 CCS A 014080,001224: 41,2455 04161 TC ALMCYCLE 014081,001225: 41,2456 00001 TC L 014082,001226: 014083,001227: # NOUNTEST ALARMS IF NO-LOAD BIT (BIT5 OF COMP CODE NUMBER) = 1. 014084,001228: # IF NOT, IT RETURNS. 014085,001229: 014086,001230: 41,2457 22002 NOUNTEST LXCH Q 014087,001231: 41,2460 02512 TC GETCOMP 014088,001232: 41,2461 10000 CCS A 014089,001233: 41,2462 00001 TC L 014090,001234: 41,2463 00001 TC L 014091,001235: 41,2464 02350 TC GODSPALM 014092,001236: 014093,001237: 41,2465 22002 TSTFORDP LXCH Q # TEST FOR DP. IF SO, GET MINOR PART ONLY. 014094,001238: 41,2466 30146 CA NNADTEM 014095,001239: 41,2467 64712 AD ONE # IF NNADTEM = -1, CHANNEL TO BE SPECIFIED 014096,001240: 41,2470 00006 EXTEND 014097,001241: 41,2471 12503 BZF CHANDSP 014098,001242: 41,2472 50140 INDEX MIXBR 014099,001243: 41,2473 02473 TC +0 014100,001244: 41,2474 02476 TC +2 # NORMAL 014101,001245: # Page 330 014102,001246: 41,2475 00001 TC L # MIXED CASE ALREADY HANDLED IN MIXNOUN 014103,001247: 41,2476 03021 TC SFRUTNOR 014104,001248: 41,2477 02261 TC DPTEST 014105,001249: 41,2500 00001 TC L # NO DP 014106,001250: 41,2501 24145 INCR NOUNADD # DP E+1 INTO NOUNADD FOR MINOR PART. 014107,001251: 41,2502 00001 TC L 014108,001252: 014109,001253: 41,2503 00006 CHANDSP EXTEND 014110,001254: 41,2504 51017 INDEX NOUNCADR 014111,001255: 41,2505 00000 READ 0 014112,001256: 41,2506 40000 CS A 014113,001257: 41,2507 12370 TCF DSPCOM1 014114,001258: 014115,001259: 41,2510 00147 COMPICK ADRES NNTYPTEM 014116,001260: 41,2511 00146 ADRES NNADTEM 014117,001261: 014118,001262: 41,2512 50140 GETCOMP INDEX MIXBR # NORMAL MIXED 014119,001263: 41,2513 32507 CAF COMPICK -1 # ADRES NNTYPTEM ADRES NNADTEM 014120,001264: 41,2514 50000 INDEX A 014121,001265: 41,2515 30000 CA 0 # C(NNTYPTEM) C(NNADTEM) 014122,001266: 41,2516 74364 MASK HI5 # GET HI5 OF NNTYPTAB (NORM) OF NNADTAB (MIX) 014123,001267: 41,2517 00002 TC Q 014124,001268: 014125,001269: 41,2520 02512 DECDSP TC GETCOMP 014126,001270: 41,2521 04345 TC LEFT5 014127,001271: 41,2522 76214 MASK THREE 014128,001272: 41,2523 54117 TS DECOUNT # COMP NUMBER INTO DECOUNT 014129,001273: 41,2524 54122 DSPDCGET TS DECTEM # PICKS UP DATA 014130,001274: 41,2525 60145 AD NOUNADD # DECTEM 1COMP +0, 2COMP +1, 3COMP +2 014131,001275: 41,2526 50000 INDEX A 014132,001276: 41,2527 40000 CS 0 014133,001277: 41,2530 50122 INDEX DECTEM 014134,001278: 41,2531 57003 XCH XREG # CAN'T USE BUF SINCE DMP USES IT. 014135,001279: 41,2532 10122 CCS DECTEM 014136,001280: 41,2533 02524 TC DSPDCGET # MORE TO GET 014137,001281: 41,2534 34714 DSPDCPUT CAF ZERO # DISPLAYS DATA 014138,001282: 41,2535 54155 TS MPAC +1 # DECOUNT 1COMP +0, 2COMP +1, 3COMP +2 014139,001283: 41,2536 54156 TS MPAC +2 014140,001284: 41,2537 50117 INDEX DECOUNT 014141,001285: 41,2540 34333 CAF R1D1 014142,001286: 41,2541 54777 TS DSPCOUNT 014143,001287: 41,2542 50117 INDEX DECOUNT 014144,001288: 41,2543 41003 CS XREG 014145,001289: 41,2544 54154 TS MPAC 014146,001290: 41,2545 03042 TC SFCONUM # 2X (SF CON NUMB) IN A 014147,001291: 41,2546 54123 TS SFTEMP1 014148,001292: 41,2547 00006 EXTEND # SWITCH BANKS TO SF CONSTANT TABLE 014149,001293: # Page 331 014150,001294: 41,2550 32562 DCA GTSFOUTL # READING ROUTINE. 014151,001295: 41,2551 52006 DXCH Z # LOADS SFTEMP1, SFTEMP2 014152,001296: 41,2552 50140 INDEX MIXBR 014153,001297: 41,2553 02553 TC +0 014154,001298: 41,2554 02557 TC DSPSFNOR 014155,001299: 41,2555 03027 TC SFRUTMIX 014156,001300: 41,2556 02572 TC DECDSP3 014157,001301: 014158,001302: 41,2557 03021 DSPSFNOR TC SFRUTNOR 014159,001303: 41,2560 02572 TC DECDSP3 014160,001304: 014161,001305: 41,2561 0777 EBANK= DSPCOUNT 014162,001306: 41,2561 02120 64101 GTSFOUTL 2CADR GTSFOUT 014163,001307: 014164,001308: 41,2563 04555 DSPDCEND TC BANKCALL # ALL SFOUT ROUTINES END HERE 014165,001309: 41,2564 61131 CADR DSPDECWD 014166,001310: 41,2565 10117 CCS DECOUNT 014167,001311: 41,2566 02570 TC +2 014168,001312: 41,2567 00136 TC ENTEXIT 014169,001313: 41,2570 54117 TS DECOUNT 014170,001314: 41,2571 02534 TC DSPDCPUT # MORE TO DISPLAY 014171,001315: 014172,001316: 41,2572 50000 DECDSP3 INDEX A 014173,001317: 41,2573 32575 CAF SFOUTABR 014174,001318: 41,2574 04577 TC BANKJUMP 014175,001319: 014176,001320: 41,2575 61321 SFOUTABR CADR PREDSPAL # ALARM IF DEC DISP WITH OCTAL ONLY NOUN 014177,001321: 41,2576 62563 CADR DSPDCEND 014178,001322: 41,2577 60516 CADR DEGOUTSF 014179,001323: 41,2600 60603 CADR ARTOUTSF 014180,001324: 41,2601 60614 CADR DP1OUTSF 014181,001325: 41,2602 60621 CADR DP2OUTSF 014182,001326: 41,2603 60524 CADR OPDEGOUT 014183,001327: 41,2604 60623 CADR DP3OUTSF 014184,001328: 41,2605 65143 CADR HMSOUT 014185,001329: 41,2606 65216 CADR M/SOUT 014186,001330: 41,2607 60621 CADR DP2OUTSF 014187,001331: 41,2610 60610 CADR AROUT1SF 014188,001332: 41,2611 60636 CADR 2INTOUT 014189,001333: 41,2612 ENDRTOUT EQUALS 014190,001334: 014191,001335: # THE FOLLOWING IS ATYPICAL SF ROUTINE. IT USES MPAC. LEAVES RESULTS 014192,001336: # IN MPAC, MPAC+1. ENDS WITH TC DSPDCEND 014193,001337: 014194,001338: 40,2516 SETLOC BLANKCON +1 014195,001339: # Page 332 014196,001340: 014197,001341: 40,2516 COUNT 40/PIN 014198,001342: # DEGOUTSF SCALES BY .16 THE LOW 14 BITS OF ANGLE, ADDING .18 FOR 014199,001343: # NUMBERS IN THE NEGATIVE (AGC) RANGE. 014200,001344: 014201,001345: 40,2516 34714 DEGOUTSF CAF ZERO 014202,001346: 40,2517 54156 TS MPAC +2 # SET INDEX FOR FULL SCALE. 014203,001347: 40,2520 02555 TC FIXRANGE 014204,001348: 40,2521 02523 TC +2 # NO AUGMENT NEEDED (SFTEMP1 AND 2 ARE 0) 014205,001349: 40,2522 02550 TC SETAUG # SET AUGMENTER ACCORDING TO C(MPAC +2) 014206,001350: 40,2523 02566 TC DEGCOM 014207,001351: 014208,001352: # OPDEGOUT SCALES BY .45 (THE RANGE IS 90 DEGREES) AND ADDS A 20 DEG BIAS. 014209,001353: 014210,001354: 40,2524 10154 OPDEGOUT CCS MPAC # RANGE IS 90 DEG 014211,001355: 40,2525 56154 XCH MPAC # IF POS OR POS 0 THEN ADD BIAS AND 014212,001356: 40,2526 02531 TC +3 # CORRECT FOR POSSIBLE OVERFLOW 014213,001357: 40,2527 02540 TC NEGOPT # IF NEG NON ZERO 014214,001358: 40,2530 67716 AD NEG1 # IF NEG ZERO SUBTRACT 1 014215,001359: 40,2531 62602 AD 20BIAS 014216,001360: 40,2532 54154 BIASCOM TS MPAC # TEST FOR OVEFLOW 014217,001361: 40,2533 02536 TC +3 # NO OVFLOW 014218,001362: 40,2534 34674 CAF BIT15 # IF OVFLOW 014219,001363: 40,2535 26154 ADS MPAC 014220,001364: 40,2536 34711 CAF TWO # SET MULTIPLIER TO .45 014221,001365: 40,2537 02517 TC DEGOUTSF +1 014222,001366: 014223,001367: 40,2540 56154 NEGOPT XCH MPAC # NEGATIVE CASE 014224,001368: 40,2541 62602 AD 20BIAS 014225,001369: 40,2542 10000 CCS A 014226,001370: 40,2543 02532 TC BIASCOM # IF POS THEN SUBTRACT 1 BECASUE OF 2SCOM 014227,001371: 40,2544 05640 TC CCSHOLE 014228,001372: 40,2545 64712 AD ONE # IF NEG RESTORE SUM 014229,001373: 40,2546 40000 COM # IF NEG 0 LEAVE NEG 0 014230,001374: 40,2547 02532 TC BIASCOM 014231,001375: 014232,001376: 40,2550 00006 SETAUG EXTEND # LOADS SFTEMP1 AND SFTEMP2 WITH THE 014233,001377: 40,2551 50156 INDEX MPAC +2 # DP AUGMENTER CONSTANT 014234,001378: 40,2552 32577 DCA DEGTAB 014235,001379: 40,2553 52124 DXCH SFTEMP1 014236,001380: 40,2554 00002 TC Q 014237,001381: 014238,001382: 40,2555 10154 FIXRANGE CCS MPAC # IF MPAC IS + RETURN TO L+1 014239,001383: 40,2556 00002 TC Q # IF MPAC IS - RETURN TO L+2 AFTER 014240,001384: 40,2557 00002 TC Q # MASKING OUT THE SIGN BIT 014241,001385: 40,2560 12561 TCF +1 014242,001386: 40,2561 44674 CS BIT15 014243,001387: 40,2562 70154 MASK MPAC 014244,001388: 40,2563 54154 TS MPAC 014245,001389: 40,2564 50002 INDEX Q 014246,001390: # Page 333 014247,001391: 40,2565 00001 TC 1 014248,001392: 014249,001393: 40,2566 00006 DEGCOM EXTEND # LOADS MULTIPLIER, DOES SHORTMP, AND 014250,001394: 40,2567 50156 INDEX MPAC +2 # ADDS AUTMENTER. 014251,001395: 40,2570 32577 DCA DEGTAB 014252,001396: 40,2571 52155 DXCH MPAC # ADJUSTED ANGLE IN A 014253,001397: 40,2572 07256 TC SHORTMP 014254,001398: 40,2573 52124 DXCH SFTEMP1 014255,001399: 40,2574 20155 DAS MPAC 014256,001400: 40,2575 02606 TC SCOUTEND 014257,001401: 014258,001402: 40,2576 05605 DEGTAB OCT 05605 # HI PART OF .18 014259,001403: 40,2577 03656 OCT 03656 # LOW PART OF .18 014260,001404: 40,2600 16314 OCT 16314 # HI PART OF .45 014261,001405: 40,2601 31463 OCT 31463 # LO PART OF .45 014262,001406: 014263,001407: 40,2602 16040 20BIAS OCT 16040 # 20 DEG BIAS FOR OPTICS 014264,001408: 014265,001409: 40,2603 52124 ARTOUTSF DXCH SFTEMP1 # ASSUMES POINT AT LEFT OF DP SFCON 014266,001410: 40,2604 52155 DXCH MPAC 014267,001411: 40,2605 04431 TC PRSHRTMP # IF C(A) = -0, SHORTMP FAILS TO GIVE -0. 014268,001412: 40,2606 04574 SCOUTEND TC POSTJUMP 014269,001413: 40,2607 62563 CADR DSPDCEND 014270,001414: 014271,001415: 40,2610 52124 AROUT1SF DXCH SFTEMP1 # ASSUMES POINT BETWEEN HI AND LO PARTS OF 014272,001416: 40,2611 52155 DXCH MPAC # DP SFCON. SHIFTS RESULTS LEFT 14, BY 014273,001417: 40,2612 04431 TC PRSHRTMP # TAKING RESULTS FROM MPAC+1, MPAC+2. 014274,001418: 40,2613 02615 TC L14/OUT 014275,001419: 014276,001420: 40,2614 02627 DP1OUTSF TC DPOUT # SCALES MPAC, MPAC +1 BY DP SCALE FACTOR 014277,001421: 40,2615 56156 L14/OUT XCH MPAC +2 # IN SFTEMP1, SFTEMP2. THEN SCALE RESULT 014278,001422: 40,2616 56155 XCH MPAC +1 # BY B14 014279,001423: 40,2617 54154 TS MPAC 014280,001424: 40,2620 02606 TC SCOUTEND 014281,001425: 014282,001426: 40,2621 02627 DP2OUTSF TC DPOUT # SCALES MPAC, MPAC +1 BY DP SCALE FACTOR 014283,001427: 40,2622 02606 TC SCOUTEND 014284,001428: 014285,001429: 40,2623 02627 DP3OUTSF TC DPOUT # ASSUMES POINT BETWEEN BITS 7-8 OF HIGH 014286,001430: 40,2624 36211 CAF SIX # LEFT BY 7, ROUNDS MPAC+2 INTO MPAC+1 014287,001431: 40,2625 03056 TC TPLEFTN # SHIFT LEFT 7. 014288,001432: 40,2626 02606 TC SCOUTEND 014289,001433: 014290,001434: 40,2627 0162 MPAC+6 = MPAC +6 # USE MPAC +6 INSTEAD OF OVFIND 014291,001435: 014292,001436: # Page 334 014293,001437: 40,2627 56002 DPOUT XCH Q 014294,001438: 40,2630 54162 TS MPAC+6 014295,001439: 40,2631 02653 TC READLO # GET FRESH DATA FOR BOTH HI AND LO. 014296,001440: 40,2632 07226 TC TPAGREE # MAKE DP DATA AGREE 014297,001441: 40,2633 07052 TC DMP 014298,001442: 40,2634 00123 ADRES SFTEMP1 014299,001443: 40,2635 00162 TC MPAC+6 014300,001444: 014301,001445: # THE FOLLOWING ROUTINE DISPLAYS TWO CONTIGUOUS SP POSITIVE INTEGERS 014302,001446: # AS TWO POSITIVE DECIMAL INTEGERS IN RXD1-RXD2 AND RXD4-RXD5 (RXD3 IS 014303,001447: # BLANKED). THE INTEGER IN THE LOWER NUMBERED ADDRESS IS DISPLAYED IN 014304,001448: # RXD1-RXD2. 014305,001449: 014306,001450: 40,2636 02437 2INTOUT TC 5BLANK # TO BLANK RXD3 014307,001451: 40,2637 02314 TC +ON # TURN ON + SIGN 014308,001452: 40,2640 30154 CA MPAC 014309,001453: 40,2641 03211 TC DSPDECVN # DISPLAY 1ST INTEGER (LIKE VERB AND NOUN) 014310,001454: 40,2642 46214 CS THREE 014311,001455: 40,2643 50117 INDEX DECOUNT 014312,001456: 40,2644 64333 AD R1D1 # RXD4 014313,001457: 40,2645 54777 TS DSPCOUNT 014314,001458: 40,2646 02653 TC READLO # GET 2ND INTEGER 014315,001459: 40,2647 30155 CA MPAC +1 014316,001460: 40,2650 03211 TC DSPDECVN # DISPLAY 2ND INTEGER (LIKE VERB AND NOUN) 014317,001461: 40,2651 04574 TC POSTJUMP 014318,001462: 40,2652 62565 CADR DSPDCEND +2 014319,001463: 014320,001464: # READLO PICKS UP FRESHDATA FOR BOTH HI AND LO AND LEAVES IT IN 014321,001465: # MPAC, MPAC+1. THIS IS NEEDED FOR TIME DISPLAY. IT ZEROES MPAC+2, BUT 014322,001466: # DOES NOT FORCE TPAGREE. 014323,001467: 014324,001468: 40,2653 56002 READLO XCH Q 014325,001469: 40,2654 54144 TS TEM4 014326,001470: 40,2655 50140 INDEX MIXBR 014327,001471: 40,2656 02656 TC +0 014328,001472: 40,2657 02673 TC RDLONOR 014329,001473: 40,2660 50117 INDEX DECOUNT 014330,001474: 40,2661 30150 CA IDAD1TEM # GET IDADDTAB ENTRY FOR COMP K OF NOUN. 014331,001475: 40,2662 74372 MASK LOW11 # E SUBK 014332,001476: 40,2663 04327 TC SETEBANK # SET EB, LEAVE EADRES IN A 014333,001477: 40,2664 00006 READLO1 EXTEND # MIXED NORMAL 014334,001478: 40,2665 50000 INDEX A # C(ESUBK) C(E) 014335,001479: 40,2666 30001 DCA 0 # C(E SUBK)+1) C(E+1) 014336,001480: 40,2667 52155 DXCH MPAC 014337,001481: 40,2670 34714 CAF ZERO 014338,001482: 40,2671 54156 TS MPAC +2 014339,001483: 40,2672 00144 TC TEM4 014340,001484: 014341,001485: 40,2673 30145 RDLONOR CA NOUNADD # E 014342,001486: 40,2674 02664 ENDRDLO TC READLO1 014343,001487: 014344,001488: # Page 335 014345,001489: 42,3143 BANK 42 014346,001490: 42,2000 SETLOC PINBALL3 014347,001491: 42,2000 BANK 014348,001492: 014349,001493: 42,3143 COUNT 42/PIN 014350,001494: 014351,001495: 42,3143 04555 HMSOUT TC BANKCALL # READ FRESH DATA FOR HI AND LO INTO MPAC. 014352,001496: 42,3144 60653 CADR READLO # MPAC+1. 014353,001497: 42,3145 07226 TC TPAGREE # MAKE DP DATA AGREE. 014354,001498: 42,3146 03332 TC SEPSECNR # LEAVE FRACT SEC/60 IN MPAC, MPAC+1. LEAVE 014355,001499: # WHOLE MIN IN BIT13 OF LOTEMOUT AND ABOVE 014356,001500: 42,3147 07052 TC DMP # USE ONLY FRACT SEC/60 MOD 60 014357,001501: 42,3150 03204 ADRES SECON2 # MULT BY .06 014358,001502: 42,3151 34335 CAF R3D1 # GIVES CENTI-SEC/10EXP5 MOD 60 014359,001503: 42,3152 54777 TS DSPCOUNT 014360,001504: 42,3153 04555 TC BANKCALL # DISPLAY SEC MOD 60 014361,001505: 42,3154 61131 CADR DSPDECWD 014362,001506: 42,3155 03350 TC SEPMIN # REMOVE REST OF SECONDS 014363,001507: 42,3156 33206 CAF MINCON2 # LEAVE FRACT MIN/60 IN MPAC+1. LEAVE 014364,001508: 42,3157 56154 XCH MPAC # WHOLE HOURS IN MPAC. 014365,001509: 42,3160 55007 TS HITEMOUT # SAVE WHOLE HOURS. 014366,001510: 42,3161 33207 CAF MINCON2 +1 014367,001511: 42,3162 56155 XCH MPAC +1 # USE ONLY FRACT MIN/60 MOD 60 014368,001512: 42,3163 04431 TC PRSHRTMP # IF C(A) = -0, SHORTMP FAILS TO GIVE -0. 014369,001513: # MULT BY .0006 014370,001514: 42,3164 34334 CAF R2D1 # GIVE MIN/10EXP5 MOD 60 014371,001515: 42,3165 54777 TS DSPCOUNT 014372,001516: 42,3166 04555 TC BANKCALL # DISPLAY MIN MOD 60 014373,001517: 42,3167 61131 CADR DSPDECWD 014374,001518: 42,3170 00006 EXTEND # MINUTES, SECONDS HAVE BEEN REMOVED 014375,001519: 42,3171 33213 DCA HRCON1 014376,001520: 42,3172 52155 DXCH MPAC 014377,001521: 42,3173 31007 CA HITEMOUT # USE WHOLE HOURS 014378,001522: 42,3174 04431 TC PRSHRTMP # IF C(A) = -0, SHORTMP FAILS TO GIVE -0. 014379,001523: # MULT BY .16384 014380,001524: 42,3175 34333 CAF R1D1 # GIVES HOURS/10EXP5 014381,001525: 42,3176 54777 TS DSPCOUNT 014382,001526: 42,3177 04555 TC BANKCALL # USE REGULAR DSPDECWD WITH ROUND OFF. 014383,001527: 42,3200 61131 CADR DSPDECWD 014384,001528: 42,3201 00136 TC ENTEXIT 014385,001529: 014386,001530: 42,3202 25660 31742 SECON1 2DEC* 1.666666666 E-4 B12* # 2EXP12/6000 014387,001531: 42,3204 01727 SECON2 OCT 01727 # .06 FOR SECONDS DISPLAY 014388,001532: 42,3205 01217 OCT 01217 014389,001533: 42,3206 00011 MINCON2 OCT 00011 # .0006 FOR MINUTES DISPLAY 014390,001534: 42,3207 32445 OCT 32445 014391,001535: 42,3210 02104 MINCON1 OCT 02104 # .06..66 UPPED BY 2EXP-2B 014392,001536: 42,3211 10422 OCT 10422 014393,001537: 42,3212 05174 13261 HRCON1 2DEC .16384 014394,001538: # Page 336 014395,001539: 42,3214 00000 OCT 00000 014396,001540: 42,3215 00062 RNDCON OCT 00062 # .5 SEC 014397,001541: 014398,001542: 42,3216 04555 M/SOUT TC BANKCALL # READ FRESH DATA FOR HI AND LO INTO MPAC. 014399,001543: 42,3217 60653 CADR READLO # MPAC+1. 014400,001544: 42,3220 07226 TC TPAGREE # MAKE DP DATA AGREE 014401,001545: 42,3221 10154 CCS MPAC # IF MAG OF (MPAC, MPAC+1) G/ 59 M 59 S. 014402,001546: 42,3222 03224 TC +2 # DISPLAY 59B59, WITH PROPER SIGN. 014403,001547: 42,3223 03255 TC M/SNORM # MPAC = +0. L/ 59M58.5S 014404,001548: 42,3224 63312 AD M/SCON1 # - HI PART OF (59M58.5) +1 FOR CCS 014405,001549: 42,3225 10000 CCS A # MAG OF MPAC - HI PART OF (59M58.5S) 014406,001550: 42,3226 03241 TC M/SLIMIT # G/ 59M58.5S 014407,001551: 42,3227 03255 TC M/SNORM # ORIGINAL MPAC = -0. L/59M58.5S 014408,001552: 42,3230 03255 TC M/SNORM # L/ 59M58.5S 014409,001553: 42,3231 10155 CCS MPAC +1 # MAG OF MPAC = HI PART OF 59M58.5S 014410,001554: 42,3232 03234 TC +2 014411,001555: 42,3233 03255 TC M/SNORM # MPAC+1 = +0. L/ 59M58.5S 014412,001556: 42,3234 63313 AD M/SCON2 # - LO PART OF (59M58.5S) +1 FOR CCS 014413,001557: 42,3235 10000 CCS A # MAG OF MPAC+1 - LO PART OF (59M58.5S) 014414,001558: 42,3236 03241 TC M/SLIMIT # G/ 59M58.5S 014415,001559: 42,3237 03255 TC M/SNORM # ORIGINAL MPAC+1 = -0. L/ 49M58.5S 014416,001560: 42,3240 03255 TC M/SNORM # L/ 59M58.5S 014417,001561: 42,3241 10154 M/SLIMIT CCS MPAC # = 59M58.5S LIMIT 014418,001562: 42,3242 33315 CAF M/SCON3 # MPAC CANNOT BE +/- 0 AT THIS POINT. 014419,001563: 42,3243 03252 TC +LIMIT # FORCE MPAC, MPAC+1 TO +/- 59M58.5S 014420,001564: 42,3244 43315 CS M/SCON3 014421,001565: 42,3245 54154 TS MPAC # WILL DISPLAY 59M59S IN DSPDECNR 014422,001566: 42,3246 43316 CS M/SCON3 +1 014423,001567: 42,3247 54155 LIMITCOM TS MPAC +1 014424,001568: 42,3250 33314 CAF NORMADR # SET RETURN TO M/SNORM+1. 014425,001569: 42,3251 03333 TC SEPSECNR +1 014426,001570: 42,3252 54154 +LIMIT TS MPAC 014427,001571: 42,3253 33316 CAF M/SCON3 +1 014428,001572: 42,3254 03247 TC LIMITCOM 014429,001573: 42,3255 03317 M/SNORM TC SEPSEC # LEAVE FRACT SEC/60 IN MPAC,MPAC+1. LEAVE 014430,001574: # WHOLE MIN IN BIT13 OF LOTEMOUT AND ABOVE 014431,001575: 42,3256 33310 CAF HISECON # USE ONLY FRACT SEC/60 MOD 60 014432,001576: 42,3257 07256 TC SHORTMP # MULT BY .6 + 2EXP-14 014433,001577: 42,3260 46214 CS THREE # GIVES SEC/100 MOD 60 014434,001578: 42,3261 26777 ADS DSPCOUNT # DSPCOUNT ALREADY SET TO RXD1 014435,001579: 42,3262 04555 TC BANKCALL # DISPLAY SEC MOD 60 IN D4D5. 014436,001580: 42,3263 61171 CADR DSPDC2NR 014437,001581: 42,3264 34714 CAF ZERO 014438,001582: 42,3265 54124 TS CODE 014439,001583: 42,3266 44711 CS TWO 014440,001584: 42,3267 50117 INDEX DECOUNT 014441,001585: 42,3270 64333 AD R1D1 # RXD3 014442,001586: 42,3271 54143 TS COUNT 014443,001587: 42,3272 04555 TC BANKCALL # BLANK MIDDLE CHAR 014444,001588: # Page 337 014445,001589: 42,3273 61225 CADR DSPIN 014446,001590: 42,3274 03350 TC SEPMIN # REMOVE REST OF SECONDS 014447,001591: 42,3275 56155 XCH MPAC +1 # LEAVE FRACT MIN/60 IN MPAC+1 014448,001592: 42,3276 00006 EXTEND # USE ONLY FRACT MIN/60 MOD 60 014449,001593: 42,3277 73311 MP HIMINCON # MULT BY .6 + 2EXP-7 014450,001594: 42,3300 52155 DXCH MPAC # GIVES MIN/100 MOD 60 014451,001595: 42,3301 50117 INDEX DECOUNT 014452,001596: 42,3302 34333 CAF R1D1 # RXD1 014453,001597: 42,3303 54777 TS DSPCOUNT 014454,001598: 42,3304 04555 TC BANKCALL # DISPLAY MIN MOD 60 IN D1D2. 014455,001599: 42,3305 61171 CADR DSPDC2NR 014456,001600: 42,3306 04574 TC POSTJUMP 014457,001601: 42,3307 62565 CADR DSPDCEND +2 014458,001602: 014459,001603: 42,3310 23147 HISECON OCT 23147 # .6 + 2EXP-14 014460,001604: 42,3311 23346 HIMINCON OCT 23346 # .6 + 2EXP-7 014461,001605: 014462,001606: 42,3312 77753 M/SCON1 OCT 77753 # - HI PART OF (59M58.5S) 014463,001607: 42,3313 41126 M/SCON2 OCT 41126 # - LO PART OF (59M58.5S) 014464,001608: 42,3314 03256 NORMADR ADRES M/SNORM +1 014465,001609: 42,3315 00025 M/SCON3 OCT 00025 # 59M 59.5S 014466,001610: 42,3316 37016 OCT 37016 014467,001611: 014468,001612: 42,3317 10155 SEPSEC CCS MPAC +1 # IF +, ROUND BY ADDING .5 SEC 014469,001613: 42,3320 13327 TCF POSEC # IF -, ROUND BY SUBTRACING .5 SEC 014470,001614: 42,3321 13327 TCF POSEC # FINDS TIME IN MPAC, MPAC+1 014471,001615: 42,3322 13323 TCF +1 # ROUNDS OFF BY +/- .5 SEC 014472,001616: 42,3323 00006 EXTEND # LEAVES WHOLE MIN IN BIT13 OF 014473,001617: 42,3324 43215 DCS RNDCON -1 # LOTEMOUT AND ABOVE. 014474,001618: 42,3325 20155 SEPSEC1 DAS MPAC # LEAVES FRACT SEC/60 IN MPAC, MPAC+1. 014475,001619: 42,3326 13332 TCF SEPSECNR 014476,001620: 42,3327 00006 POSEC EXTEND 014477,001621: 42,3330 33215 DCA RNDCON -1 014478,001622: 42,3331 13325 TCF SEPSEC1 014479,001623: 42,3332 56002 SEPSECNR XCH Q # THIS ENTRY AVOIDS ROUNDING BY .5 SEC 014480,001624: 42,3333 54144 TS SEPSCRET 014481,001625: 42,3334 07052 TC DMP # MULT BY 2EXP12/6000 014482,001626: 42,3335 03202 ADRES SECON1 # GIVES FRACT SEC/60 IN BIT12 OF MPAC+1 014483,001627: 42,3336 00006 EXTEND # AND BELOW. 014484,001628: 42,3337 30155 DCA MPAC # SAVE MINUTES AND HOURS 014485,001629: 42,3340 53010 DXCH HITEMOUT 014486,001630: 42,3341 04420 TC TPSL1 014487,001631: 42,3342 04420 TC TPSL1 # GIVES FRACT SEC/60 IN MPAC+1, MPAC+2. 014488,001632: 42,3343 34714 CAF ZERO 014489,001633: 42,3344 56156 XCH MPAC +2 # LEAVE FRACT SEC/60 IN MPAC, MPAC+1. 014490,001634: 42,3345 56155 XCH MPAC +1 014491,001635: 42,3346 56154 XCH MPAC 014492,001636: 42,3347 00144 TC SEPSCRET 014493,001637: 014494,001638: # Page 338 014495,001639: 42,3350 56002 SEPMIN XCH Q # FIND WHOLE MINUTES IN BIT13 014496,001640: 42,3351 54144 TS SEPMNRET # OF LOTEMOUT AND ABOVE. 014497,001641: 42,3352 31010 CA LOTEMOUT # REMOVES REST OF SECONDS. 014498,001642: 42,3353 00006 EXTEND # LEAVES FRACT MIN/60 IN MPAC+1. 014499,001643: 42,3354 74710 MP BIT3 # LEAVES WHOLE HOURS IN MPAC. 014500,001644: 42,3355 00006 EXTEND # SR 12, THROW AWAY LP. 014501,001645: 42,3356 74676 MP BIT13 # SR 2, TAKE FROM LP. = SL 12. 014502,001646: 42,3357 22155 LXCH MPAC +1 # THIS FORCES BITS 12-1 TO 0 IF +. 014503,001647: # FORCES BITS 12-1 TO 1 IF -. 014504,001648: 42,3360 31007 CA HITEMOUT 014505,001649: 42,3361 54154 TS MPAC 014506,001650: 42,3362 07052 TC DMP # MULT BY 1/15 014507,001651: 42,3363 03210 ADRES MINCON1 # GIVES FRACT MIN/60 IN MPAC+1. 014508,001652: 42,3364 00144 ENDSPMIN TC SEPMNRET # GIVES WHOLE HOURS IN MPAC. 014509,001653: 014510,001654: # THIS IS A SPECIAL PURPOS VERB FOR DISPLAYING A DOUBLE PRECISION AGC 014511,001655: # WORD AS 10 DECIMAL DIGITS ON THE AGC DISPLAY PANEL. IT CAN BE USED WITH 014512,001656: # ANY NOUN, EXCEPT MIXED NOUNS. IT DISPLAYS THE CONTENTS 014513,001657: # OF THE REGISTER NOUNADD IS POINTING TO. IF USED WITH NOUNS WHICH ARE 014514,001658: # INHERENTLY NOT DP SUCH AS THE CDU COUNTERS THE DISPLAY WILL BE GARBAGE. 014515,001659: # DISPLAY IS IN R1 AND R2 ONLY WITH THE SIGN IN R1. 014516,001660: 014517,001661: 40,2675 SETLOC ENDRDLO +1 014518,001662: 014519,001663: 40,2675 COUNT 40/PIN 014520,001664: 40,2675 50140 DSPDPDEC INDEX MIXBR 014521,001665: 40,2676 02676 TC +0 014522,001666: 40,2677 02701 TC +2 # NORMAL NOUN 014523,001667: 40,2700 03323 TC DSPALARM 014524,001668: 40,2701 00006 EXTEND 014525,001669: 40,2702 50145 INDEX NOUNADD 014526,001670: 40,2703 30001 DCA 0 014527,001671: 40,2704 52155 DXCH MPAC 014528,001672: 40,2705 34333 CAF R1D1 014529,001673: 40,2706 54777 TS DSPCOUNT 014530,001674: 40,2707 34714 CAF ZERO 014531,001675: 40,2710 54156 TS MPAC +2 014532,001676: 40,2711 07226 TC TPAGREE 014533,001677: 40,2712 03176 TC DSP2DEC 014534,001678: 40,2713 00136 ENDDPDEC TC ENTEXIT 014535,001679: 014536,001680: # Page 339 014537,001681: # LOAD VERBS IF ALARM CONDITION IS DETECTED DURING EXECUTE, 014538,001682: # CHECK FAIL LIGHT IS TURNED ON AND ENDOFJOB. IF ALARM CONDITION IS 014539,001683: # DETECTED DURING ENTER OF DATA, CHECK FAIL IS TURNED ON AND IT RECYCLES 014540,001684: # TO EXECUTE OF ORIGINAL LOAD VERB. RECYCLE CAUSED BY 1) DECIMAL MACHINE 014541,001685: # CADR 2) MIXTURE OF OCTAL/DECIMAL DATA 3) OCTAL DATA INTO DECIMAL 014542,001686: # ONLY NOUN 4) DEC DATA INTO OCT ONLY NOUN 5) DATA TOO LARGE FOR SCALE 014543,001687: # 6) FEWER THAN 3 DATA WORDS LOADED FOR HRS, MIN, SEC NOUN. 8) (2)-(6) ALARM 014544,001688: # AND RECYCLE OCCUR AT FINAL ENTER OF SEET. (1) ALARM AND RECYCLE OCCUR AT 014545,001689: # ENTER OF CADR. 014546,001690: 014547,001691: 41,2612 SETLOC ENDRTOUT 014548,001692: 014549,001693: 41,2612 COUNT 41/PIN 014550,001694: 014551,001695: 41,2612 44711 ABCLOAD CS TWO 014552,001696: 41,2613 02423 TC COMPTEST 014553,001697: 41,2614 02457 TC NOUNTEST # TEST IF NOUN CAN BE LOADED. 014554,001698: 41,2615 33001 CAF VBSP1LD 014555,001699: 41,2616 02336 TC UPDATVB -1 014556,001700: 41,2617 02302 TC REQDATX 014557,001701: 41,2620 33002 CAF VBSP2LD 014558,001702: 41,2621 02336 TC UPDATVB -1 014559,001703: 41,2622 02304 TC REQDATY 014560,001704: 41,2623 33003 CAF VBSP3LD 014561,001705: 41,2624 02336 TC UPDATVB -1 014562,001706: 41,2625 02306 TC REQDATZ 014563,001707: 014564,001708: 41,2626 46211 PUTXYZ CS SIX # TEST THAT THE 3 DATA WORDS LOADED ARE 014565,001709: 41,2627 03004 TC ALLDC/OC # ALL DEC OR ALL OCT. 014566,001710: 41,2630 00006 EXTEND 014567,001711: 41,2631 32114 DCA LODNNLOC # SWITCH BANKS TO NOUN TABLE READING 014568,001712: 41,2632 52006 DXCH Z # ROUTINE. 014569,001713: 41,2633 34714 CAF ZERO # X COMP 014570,001714: 41,2634 03070 TC PUTCOM 014571,001715: 41,2635 50145 INDEX NOUNADD 014572,001716: 41,2636 54000 TS 0 014573,001717: 41,2637 34712 CAF ONE # Y COMP 014574,001718: 41,2640 03070 TC PUTCOM 014575,001719: 41,2641 50145 INDEX NOUNADD 014576,001720: 41,2642 54001 TS 1 014577,001721: 41,2643 34711 CAF TWO # Z COMP 014578,001722: 41,2644 03070 TC PUTCOM 014579,001723: 41,2645 50145 INDEX NOUNADD 014580,001724: 41,2646 54002 TS 2 014581,001725: 41,2647 44716 CS SEVEN # IF NOUN 7 HAS JUST BEEN LOADED, SET 014582,001726: 41,2650 61002 AD NOUNREG # FLAG BITS AS SPECIFIED. 014583,001727: 41,2651 00006 EXTEND 014584,001728: 41,2652 12654 BZF +2 014585,001729: # Page 340 014586,001730: 41,2653 02771 TC LOADLV 014587,001731: 41,2654 31003 CA XREG # ECADR OF ERASABLE CELL 014588,001732: 41,2655 04320 TC SETNCADR +1 # SET EBANK, NOUNADD 014589,001733: 41,2656 31005 CA ZREG 014590,001734: 41,2657 00004 INHINT 014591,001735: 41,2660 00006 EXTEND 014592,001736: 41,2661 12670 BZF BITSOFF # R3 IS ZERO FOR OFF, NONZERO FOR ON 014593,001737: 41,2662 50145 INDEX NOUNADD 014594,001738: 41,2663 40000 CS 0 014595,001739: 41,2664 71004 MASK YREG # BITS TO BE PROCESSED 014596,001740: 41,2665 50145 INDEX NOUNADD 014597,001741: 41,2666 26000 ADS 0 # SET BITS. 014598,001742: 41,2667 02675 TC BITSOFF1 014599,001743: 014600,001744: 41,2670 41004 BITSOFF CS YREG # BITS TO BE PROCESSED 014601,001745: 41,2671 50145 INDEX NOUNADD 014602,001746: 41,2672 70000 MASK 0 014603,001747: 41,2673 50145 INDEX NOUNADD 014604,001748: 41,2674 54000 TS 0 # RESET BITS 014605,001749: 41,2675 00003 BITSOFF1 RELINT 014606,001750: 41,2676 02771 TC LOADLV 014607,001751: 014608,001752: 41,2677 44712 ABLOAD CS ONE 014609,001753: 41,2700 02423 TC COMPTEST 014610,001754: 41,2701 02457 TC NOUNTEST # TEST IF NOUN CAN BE LOADED 014611,001755: 41,2702 33001 CAF VBSP1LD 014612,001756: 41,2703 02336 TC UPDATVB -1 014613,001757: 41,2704 02302 TC REQDATX 014614,001758: 41,2705 33002 CAF VBSP2LD 014615,001759: 41,2706 02336 TC UPDATVB -1 014616,001760: 41,2707 02304 TC REQDATY 014617,001761: 41,2710 44715 PUTXY CS FIVE # TEST THAT THE 2 DATA WORDS LOADED ARE 014618,001762: 41,2711 03004 TC ALLDC/OC # ALL DEC OR ALL OCT. 014619,001763: 41,2712 00006 EXTEND 014620,001764: 41,2713 32114 DCA LODNNLOC # SWITCH BANKS TO NOUN TABLE READING 014621,001765: 41,2714 52006 DXCH Z # ROUTINE. 014622,001766: 41,2715 34714 CAF ZERO # X COMP 014623,001767: 41,2716 03070 TC PUTCOM 014624,001768: 41,2717 50145 INDEX NOUNADD 014625,001769: 41,2720 54000 TS 0 014626,001770: 41,2721 34712 CAF ONE # Y COMP 014627,001771: 41,2722 03070 TC PUTCOM 014628,001772: 41,2723 50145 INDEX NOUNADD 014629,001773: 41,2724 54001 TS 1 014630,001774: 41,2725 02771 TC LOADLV 014631,001775: 014632,001776: 41,2726 02302 ALOAD TC REQDATX 014633,001777: 41,2727 00006 EXTEND 014634,001778: 41,2730 32114 DCA LODNNLOC # SWITCH BANKS TO NOUN TABLE READING 014635,001779: 41,2731 52006 DXCH Z # ROUTINE. 014636,001780: 41,2732 34714 CAF ZERO # X COMP 014637,001781: # Page 341 014638,001782: 41,2733 03070 TC PUTCOM 014639,001783: 41,2734 50145 INDEX NOUNADD 014640,001784: 41,2735 54000 TS 0 014641,001785: 41,2736 02771 TC LOADLV 014642,001786: 014643,001787: 41,2737 44712 BLOAD CS ONE 014644,001788: 41,2740 02423 TC COMPTEST 014645,001789: 41,2741 34674 CAF BIT15 # SET CLPASS FOR PASS0 ONLY 014646,001790: 41,2742 55015 TS CLPASS 014647,001791: 41,2743 02304 TC REQDATY 014648,001792: 41,2744 00006 EXTEND 014649,001793: 41,2745 32114 DCA LODNNLOC # SWITCH BANKS TO NOUN TABLE READING 014650,001794: 41,2746 52006 DXCH Z # ROUTINE. 014651,001795: 41,2747 34712 CAF ONE 014652,001796: 41,2750 03070 TC PUTCOM 014653,001797: 41,2751 50145 INDEX NOUNADD 014654,001798: 41,2752 54001 TS 1 014655,001799: 41,2753 02771 TC LOADLV 014656,001800: 014657,001801: 41,2754 44711 CLOAD CS TWO 014658,001802: 41,2755 02423 TC COMPTEST 014659,001803: 41,2756 34674 CAF BIT15 # SET CLPASS FOR PASS0 ONLY 014660,001804: 41,2757 55015 TS CLPASS 014661,001805: 41,2760 02306 TC REQDATZ 014662,001806: 41,2761 00006 EXTEND 014663,001807: 41,2762 32114 DCA LODNNLOC # SWITCH BANKS TO NOUN TABLE READING 014664,001808: 41,2763 52006 DXCH Z # ROUTINE. 014665,001809: 41,2764 34711 CAF TWO 014666,001810: 41,2765 03070 TC PUTCOM 014667,001811: 41,2766 50145 INDEX NOUNADD 014668,001812: 41,2767 54002 TS 2 014669,001813: 41,2770 02771 TC LOADLV 014670,001814: 014671,001815: 41,2771 34714 LOADLV CAF ZERO 014672,001816: 41,2772 55000 TS DECBRNCH 014673,001817: 41,2773 44714 CS ZERO 014674,001818: 41,2774 55014 TS LOADSTAT 014675,001819: 41,2775 44374 CS VD1 # TO BLOCK NUMERICAL CHARACTERS AND 014676,001820: 41,2776 54777 TS DSPCOUNT # CLEARS AFTER A COMPLETED LOAD 014677,001821: 41,2777 04574 TC POSTJUMP # AFTER COMPLETED LOAD, GO TO RECALTST 014678,001822: 41,3000 61450 CADR RECALTST # TO SEE IF THERE IS RECALL FROM ENDIDLE. 014679,001823: 014680,001824: 41,3001 00025 VBSP1LD DEC 21 B-14 # VB21 = ALOAD 014681,001825: 41,3002 00026 VBSP2LD DEC 22 B-14 # VB22 = BLOAD 014682,001826: 41,3003 00027 VBSP3LD DEC 23 B-14 # VB23 = CLOAD 014683,001827: 014684,001828: 41,3004 54117 ALLDC/OC TS DECOUNT # TESTS THAT DATA WORDS LOADED ARE EITHER 014685,001829: 41,3005 41000 CS DECBRNCH # ALL DEC OR ALL OCT. ALARMS IF NOT. 014686,001830: 41,3006 54021 TS SR 014687,001831: # Page 342 014688,001832: 41,3007 40021 CS SR 014689,001833: 41,3010 40021 CS SR # SHIFTED RIGHT 2 014690,001834: 41,3011 10000 CCS A # DEC COMP BITS IN LOW 3 014691,001835: 41,3012 13014 TCF +2 # SOME ONES IN LOW 3 014692,001836: 41,3013 00002 TC Q # ALL ZEROS. ALL OCTAL. 014693,001837: 41,3014 60117 AD DECOUNT # DEC COMP = 7 FOR 3COMP, =6 FOR 2COMP 014694,001838: 41,3015 00006 EXTEND # (BUT IT HAS BEEN DECREMENTED BY CCS) 014695,001839: 41,3016 13020 BZF +2 # MUST MATCH 6 FOR 3COMP, 5 FOR 2COMP. 014696,001840: 41,3017 04161 TC ALMCYCLE # ALARM AND RECYCLE. 014697,001841: 41,3020 00002 GOQ TC Q # ALL REQUIRED ARE DEC. OK 014698,001842: 014699,001843: 41,3021 56002 SFRUTNOR XCH Q # GETS SF ROUTINE NUMBER FOR NORMAL CASE 014700,001844: 41,3022 54114 TS EXITEM # CAN'T USE L FOR RETURN. TSTFORDP USES L. 014701,001845: 41,3023 34363 CAF MID5 014702,001846: 41,3024 70147 MASK NNTYPTEM 014703,001847: 41,3025 04336 TC RIGHT5 014704,001848: 41,3026 00114 TC EXITEM # SF ROUTINE NUMBER IN A 014705,001849: 014706,001850: 41,3027 56002 SFRUTMIX XCH Q # GETS SF ROUTINE NUMBER FOR MIXED CASE 014707,001851: 41,3030 54114 TS EXITEM 014708,001852: 41,3031 50117 INDEX DECOUNT 014709,001853: 41,3032 33061 CAF DISPLACE # PUT TC GOQ, TC RIGHT5, OR TC LEFT5 IN L 014710,001854: 41,3033 54001 TS L 014711,001855: 41,3034 50117 INDEX DECOUNT 014712,001856: 41,3035 34362 CAF LOW5 # LOW5, MID5, OR HI5 IN A 014713,001857: 41,3036 70153 MASK RUTMXTEM # GET HI5, MID5, OR LOW5 OF RUTMXTAB ENTRY 014714,001858: 41,3037 50001 INDEX L 014715,001859: 41,3040 00000 TC 0 014716,001860: 014717,001861: # DO TC GOQ(DECOUNT=0), DO TC RIGHT5(DECOUNT=1), DO TC LEFT5(DECOUNT=2). 014718,001862: 014719,001863: 41,3041 00114 SFRET1 TC EXITEM # SF ROUTINE NUMBER IN A 014720,001864: 014721,001865: 41,3042 56002 SFCONUM XCH Q # GETS 2X(SF CONSTANT NUMBER) 014722,001866: 41,3043 54114 TS EXITEM 014723,001867: 41,3044 50140 INDEX MIXBR 014724,001868: 41,3045 03045 TC +0 014725,001869: 41,3046 03064 TC CONUMNOR # NORMAL NOUN 014726,001870: 41,3047 50117 INDEX DECOUNT # MIXED NOUN 014727,001871: 41,3050 33061 CAF DISPLACE 014728,001872: 41,3051 54001 TS L # PUT TC GOQ, TC RIGHT5, OR TC LEFT5 IN L 014729,001873: 41,3052 50117 INDEX DECOUNT 014730,001874: 41,3053 34362 CAF LOW5 014731,001875: 41,3054 70147 MASK NNTYPTEM 014732,001876: 41,3055 50001 INDEX L 014733,001877: 41,3056 00000 TC 0 014734,001878: 014735,001879: # DO TC GOQ(DECOUNT=0), DO TC RIGHT5(DECOUNT=1), DO TC LEFT5(DECOUNT=2). 014736,001880: 014737,001881: 41,3057 60000 SFRET DOUBLE # 2X(SF CONSTANT NUMBER) IN A 014738,001882: 41,3060 00114 TC EXITEM 014739,001883: 014740,001884: 41,3061 03020 DISPLACE TC GOQ 014741,001885: # Page 343 014742,001886: 41,3062 04336 TC RIGHT5 014743,001887: 41,3063 04345 TC LEFT5 014744,001888: 014745,001889: 41,3064 34362 CONUMNOR CAF LOW5 # NORMAL NOUN ALWAYS GETS LOW5 OF 014746,001890: 41,3065 70147 MASK NNTYPTEM # NNTYPTAB FOR SF CONUM. 014747,001891: 41,3066 60000 DOUBLE 014748,001892: 41,3067 00114 TC EXITEM # 2X(SF CONSTANT NUMBER) IN A 014749,001893: 014750,001894: 41,3070 54117 PUTCOM TS DECOUNT 014751,001895: 41,3071 56002 XCH Q 014752,001896: 41,3072 54115 TS DECRET 014753,001897: 41,3073 34714 CAF ZERO 014754,001898: 41,3074 54162 TS MPAC+6 014755,001899: 41,3075 50117 INDEX DECOUNT 014756,001900: 41,3076 57006 XCH XREGLP 014757,001901: 41,3077 54155 TS MPAC +1 014758,001902: 41,3100 50117 INDEX DECOUNT 014759,001903: 41,3101 57003 XCH XREG 014760,001904: 41,3102 54154 TS MPAC 014761,001905: 41,3103 50140 INDEX MIXBR 014762,001906: 41,3104 03104 TC +0 014763,001907: 41,3105 03132 TC PUTNORM # NORMAL NOUN 014764,001908: 014765,001909: # IF MIXNOUN, PLACE ADDRESS FOR COMPONENT K INTO NOUNADD, SET EBANK BITS. 014766,001910: 014767,001911: 41,3106 50117 INDEX DECOUNT # GET IDADDTAB ENTRY FOR COMPONENT K 014768,001912: 41,3107 30150 CA IDAD1TEM # OF NOUN. 014769,001913: 41,3110 74372 MASK LOW11 # (ECADR)SUBK FOR CURRENT COMP OF NOUN 014770,001914: 41,3111 04317 TC SETNCADR # ECADR INTO NOUNCADR. SETS EB, NOUNADD. 014771,001915: 41,3112 00006 EXTEND # C(NOUNADD) IN A UPON RETURN 014772,001916: 41,3113 60117 SU DECOUNT # PLACE (ESUBK)-K INTO NOUNADD 014773,001917: 41,3114 54145 TS NOUNADD 014774,001918: 41,3115 11000 CCS DECBRNCH 014775,001919: 41,3116 03165 TC PUTDECSF # + DEC 014776,001920: 41,3117 02451 TC DCTSTCYC # +0 OCTAL 014777,001921: 41,3120 03027 TC SFRUTMIX # TEST IF DEC ONLY BIT = 1. IF SO, 014778,001922: 41,3121 02261 TC DPTEST # ALARM AND RECYCLE. IF NOT, CONTINUE. 014779,001923: 41,3122 03150 TC PUTCOM2 # NO DP 014780,001924: # TEST FOR DP SCALE FOR OCT LOAD. IF SO, 014781,001925: # +0 INTO MAJOR PART. SET NOUNADD FOR 014782,001926: # LOADING OCTAL WORD INTO MINOR PART. 014783,001927: 41,3123 24145 PUTDPCOM INCR NOUNADD # DP (ESUBK)-K+1 OR E+1 014784,001928: 41,3124 30145 CA NOUNADD # NOUNADD NOW SET FOR MINOR PART 014785,001929: 41,3125 26117 ADS DECOUNT # (ESUBK)+1 OR E+1 INTO DECOUNT 014786,001930: 41,3126 34714 CAF ZERO # NOUNADD SET FOR MINOR PART 014787,001931: 41,3127 50117 INDEX DECOUNT 014788,001932: 41,3130 53777 TS 0 -1 # ZERO MAJOR PART(ESUBK OR E) 014789,001933: 41,3131 03150 TC PUTCOM2 014790,001934: 014791,001935: 41,3132 04325 PUTNORM TC SETNADD # ECADR FROM NOUNCADR. (garbled) NOUNADD. 014792,001936: 41,3133 11000 CCS DECBRNCH 014793,001937: # Page 344 014794,001938: 41,3134 03165 TC PUTDECSF # + DEC 014795,001939: 41,3135 02451 TC DCTSTCYC # +0 OCTAL 014796,001940: 41,3136 03021 TC SFRUTNOR # TEST IF DEC ONLY BIT (garbled). IF SO, 014797,001941: 41,3137 02261 TC DPTEST # ALARM AND RECYCLE. IF NOT, CONTINUE. 014798,001942: 41,3140 03144 TC PUTCOM2 -4 # NO DP 014799,001943: 41,3141 34714 CAF ZERO # DP 014800,001944: 41,3142 54117 TS DECOUNT 014801,001945: 41,3143 03123 TC PUTDPCOM 014802,001946: 014803,001947: 41,3144 30146 CA NNADTEM 014804,001948: 41,3145 64712 AD ONE # IF NNADTEM = -1, CHANNEL TO BE SPECIFIED 014805,001949: 41,3146 00006 EXTEND 014806,001950: 41,3147 13154 BZF CHANLOAD 014807,001951: 41,3150 56154 PUTCOM2 XCH MPAC 014808,001952: 41,3151 00115 TC DECRET 014809,001953: 014810,001954: 41,3152 0777 EBANK= DSPCOUNT 014811,001955: 41,3152 02126 64101 GTSFINLC 2CADR GTSFIN 014812,001956: 014813,001957: 41,3154 44716 CHANLOAD CS SEVEN # DON'T LOAD CHAN 7. (IT'S SUPERBANK). 014814,001958: 41,3155 61017 AD NOUNCADR 014815,001959: 41,3156 00006 EXTEND 014816,001960: 41,3157 12771 BZF LOADLV 014817,001961: 41,3160 30154 CA MPAC 014818,001962: 41,3161 00006 EXTEND 014819,001963: 41,3162 51017 INDEX NOUNCADR 014820,001964: 41,3163 01000 WRITE 0 014821,001965: 41,3164 02771 TC LOADLV 014822,001966: 014823,001967: # PUTDECSF FINDS MIXBR AND DECOUNT STILL SET FROM PUTCOM. 014824,001968: 014825,001969: 41,3165 03042 PUTDECSF TC SFCONUM # 2X(SF CON NUMB) IN A 014826,001970: 41,3166 54123 TS SFTEMP1 014827,001971: 41,3167 00006 EXTEND # SWITCH BANKS TO SF CONSTANT TABLE 014828,001972: 41,3170 33153 DCA GTSFINLC # READING ROUTINE. 014829,001973: 41,3171 52006 DXCH Z # LOADS SFTEMP1, SFTEMP2. 014830,001974: 41,3172 50140 INDEX MIXBR 014831,001975: 41,3173 03173 TC +0 014832,001976: 41,3174 03177 TC PUTSFNOR 014833,001977: 41,3175 03027 TC SFRUTMIX 014834,001978: 41,3176 03200 TC PUTDCSF2 014835,001979: 41,3177 03021 PUTSFNOR TC SFRUTNOR 014836,001980: 014837,001981: 41,3200 50000 PUTDCSF2 INDEX A 014838,001982: 41,3201 33203 CAF SFINTABR 014839,001983: 41,3202 04577 TC BANKJUMP # SWITCH BANKS FOR EXPANSION ROOM 014840,001984: 41,3203 62347 SFINTABR CADR GOALMCYC # ALARM AND RECYCLE IF DEC LOAD 014841,001985: # Page 345 014842,001986: # WITH OCTAL ONLY NOUN. 014843,001987: 41,3204 60774 CADR BINROUND 014844,001988: 41,3205 60714 CADR DEGINSF 014845,001989: 41,3206 60764 CADR ARTHINSF 014846,001990: 41,3207 61017 CADR DPINSF 014847,001991: 41,3210 61044 CADR DPINSF2 014848,001992: 41,3211 61002 CADR OPTDEGIN 014849,001993: 41,3212 61017 CADR DPINSF # SAME AS ARITHDP1 014850,001994: 41,3213 65365 CADR HMSIN 014851,001995: 41,3214 61323 CADR DSPALARM # MIN/SEC CAN'T BE LOADED. 014852,001996: 41,3215 61051 CADR DPINSF4 014853,001997: 41,3216 60777 CADR ARTIN1SF 014854,001998: 41,3217 61323 CADR DSPALARM # 2INTOUT CAN'T BE LOADED. 014855,001999: 41,3220 ENDRUTIN EQUALS 014856,002000: 014857,002001: # SCALE FACTORS FOR THOSE ROUTINES NEEDING THEM ARE AVAILABLE IN SFTEMP1. 014858,002002: # ALL SFIN ROUTINES USE MPAC MPAC+1. LEAVE RESULT IN A. END WITH TC DECRET. 014859,002003: 014860,002004: 40,2714 SETLOC ENDDPDEC +1 014861,002005: 014862,002006: 40,2714 COUNT 40/PIN 014863,002007: # DEGINSF APPLIES 1000/180 * 5.55555(10) = 5.43434(8) 014864,002008: 014865,002009: 40,2714 07052 DEGINSF TC DMP # SF ROUTINE FOR DEC DEGREES 014866,002010: 40,2715 02757 ADRES DEGCON1 # MULT BY 5.5 5(10)X2EXP-3 014867,002011: 40,2716 10155 CCS MPAC +1 # THIS ROUNDS OFF MPAC+1 BEFORE SHIFT 014868,002012: 40,2717 34700 CAF BIT11 # LEFT 3, AND CAUSES 360.00 TO OF/UF 014869,002013: 40,2720 02722 TC +2 # WHEN SHIFTED LEFT AND ALARM. 014870,002014: 40,2721 44700 CS BIT11 014871,002015: 40,2722 60155 AD MPAC +1 014872,002016: 40,2723 03070 TC 2ROUND +2 014873,002017: 40,2724 04420 TC TPSL1 # LEFT 1 014874,002018: 40,2725 04420 DEGINSF2 TC TPSL1 # LEFT 2 014875,002019: 40,2726 03077 TC TESTOFUF 014876,002020: 40,2727 04420 TC TPSL1 # RETURNS IF NO OF/UF (LEFT3) 014877,002021: 40,2730 10154 CCS MPAC 014878,002022: 40,2731 02735 TC SIGNFIX # IF +, GO TO SIGNFIX 014879,002023: 40,2732 02735 TC SIGNFIX # IF +0, GO TO SIGNFIX 014880,002024: 40,2733 40000 COM # IF -, USE -MAGNITUDE +1 014881,002025: 40,2734 54154 TS MPAC # IF -0, USE +0 014882,002026: 40,2735 10162 SIGNFIX CCS MPAC+6 014883,002027: 40,2736 02753 TC SGNTO1 # IF OVERFLOW 014884,002028: 40,2737 02747 TC ENDSCALE # NO OVERFLOW/UNDERFLOW 014885,002029: 40,2740 10154 CCS MPAC # IF UF FORCE SIGN TO 0 EXCEPT -180 014886,002030: 40,2741 05640 TC CCSHOLE 014887,002031: 40,2742 02751 TC NEG180 014888,002032: 40,2743 02744 TC +1 014889,002033: # Page 346 014890,002034: 40,2744 56154 XCH MPAC 014891,002035: 40,2745 74672 MASK POSMAX 014892,002036: 40,2746 54154 TS MPAC 014893,002037: 40,2747 04574 ENDSCALE TC POSTJUMP 014894,002038: 40,2750 63150 CADR PUTCOM2 014895,002039: 014896,002040: 40,2751 44672 NEG180 CS POSMAX 014897,002041: 40,2752 02746 TC ENDSCALE -1 014898,002042: 014899,002043: 40,2753 40154 SGNTO1 CS MPAC # IF OF FORCE SIGN TO 1 014900,002044: 40,2754 74672 MASK POSMAX 014901,002045: 40,2755 40000 CS A 014902,002046: 40,2756 02746 TC ENDSCALE -1 014903,002047: 014904,002048: 40,2757 26161 30707 DEGCON1 2DEC 5.555555555 B-3 014905,002049: 014906,002050: 40,2761 21616 07071 DEGCON2 2DEC 2.222222222 B-2 014907,002051: 014908,002052: 40,2763 71527 NEG.2 OCT -06250 # = .197753906 I.E., THE BIAS SCALED 014909,002053: 014910,002054: 40,2764 07052 ARTHINSF TC DMP # SCALES MPAC, +1 BY SFTEMP1, SFTEMP2. 014911,002055: 40,2765 00123 ADRES SFTEMP1 # ASSUMES POINT BETWEEN HI AND LO PARTS 014912,002056: 40,2766 56156 XCH MPAC +2 # OF SFCON. SHIFTS RESULTS LEFT BY 14. 014913,002057: 40,2767 56155 XCH MPAC +1 # (BY TAKING RESULTS FROM MPAC+1, MPAC+2) 014914,002058: 40,2770 56154 XCH MPAC 014915,002059: 40,2771 00006 EXTEND 014916,002060: 40,2772 12774 BZF BINROUND 014917,002061: 40,2773 04161 TC ALMCYCLE # TOO LARGE A LOAD. ALARM AND RECYCLE. 014918,002062: 40,2774 03066 BINROUND TC 2ROUND 014919,002063: 40,2775 03077 TC TESTOFUF 014920,002064: 40,2776 02747 TC ENDSCALE # RETURNS IF NO OF/UF 014921,002065: 014922,002066: 40,2777 07052 ARTIN1SF TC DMP # SCALES MPAC, +1 BY SFTEMP1, SFTEMP2. 014923,002067: 40,3000 00123 ADRES SFTEMP1 # ROUNDS MPAC+1 INTO MPAC. 014924,002068: 40,3001 02774 TC BINROUND 014925,002069: 014926,002070: 40,3002 10154 OPTDEGIN CCS MPAC # OPTICS SCALING ROUTINE 014927,002071: 40,3003 03007 TC +4 014928,002072: 40,3004 03007 TC +3 014929,002073: 40,3005 04161 TC ALMCYCLE # REJECT -- INPUT. ALARM AND RECYCLE. 014930,002074: 40,3006 04161 TC ALMCYCLE # REJECT -- INPUT. ALARM AND RECYCLE. 014931,002075: 40,3007 32763 OPDEGIN2 CAF NEG.2 # RANGE IS 90 DEG 014932,002076: 40,3010 26154 ADS MPAC # SUBTRACT BIAS 014933,002077: 40,3011 07052 TC DMP # MULT BY 100 / 45 B-2 014934,002078: 40,3012 02761 ADRES DEGCON2 014935,002079: 40,3013 34677 CAF BIT12 # ROUND AS IN DEGINSF 014936,002080: 40,3014 60155 AD MPAC +1 014937,002081: # Page 347 014938,002082: 40,3015 03070 TC 2ROUND +2 014939,002083: 40,3016 02725 TC DEGINSF2 014940,002084: 014941,002085: 40,3017 07052 DPINSF TC DMP # SCALES MPAC, MPAC +1 BY SFTEMP1, 014942,002086: 40,3020 00123 ADRES SFTEMP1 # SFTEMP. STORES LOW PART OF RESULT 014943,002087: 40,3021 56156 XCH MPAC +2 # IN (E SUBK) +1 OR E+1 014944,002088: 40,3022 60000 DOUBLE 014945,002089: 40,3023 54156 TS MPAC +2 014946,002090: 40,3024 34714 CAF ZERO 014947,002091: 40,3025 60155 AD MPAC +1 014948,002092: 40,3026 03070 TC 2ROUND +2 014949,002093: 40,3027 03077 TC TESTOFUF 014950,002094: 40,3030 50140 INDEX MIXBR # RETURNS IF NO OF/UF 014951,002095: 40,3031 03031 TC +0 014952,002096: 40,3032 03042 TC DPINORM 014953,002097: 40,3033 30117 CA DECOUNT # MIXED NOUN 014954,002098: 40,3034 60145 DPINCOM AD NOUNADD # MIXED NORMAL 014955,002099: 40,3035 54002 TS Q # E SUBK E 014956,002100: 40,3036 56155 XCH MPAC +1 014957,002101: 40,3037 50002 INDEX Q 014958,002102: 40,3040 54001 TS 1 # PLACE LOW PART IN 014959,002103: 40,3041 02747 TC ENDSCALE # (E SUBK) +1 MIXED 014960,002104: 014961,002105: 40,3042 34714 DPINORM CAF ZERO # E +1 NORMAL 014962,002106: 40,3043 03034 TC DPINCOM 014963,002107: 014964,002108: 40,3044 07052 DPINSF2 TC DMP # ASSUMES POINT BETWEEN BITS 7-8 OF HIGH 014965,002109: 40,3045 00123 ADRES SFTEMP1 # PART OF SF CONST. DPINSF2 SHIFTS RESULTS 014966,002110: 40,3046 36211 CAF SIX # LEFT BY 7, ROUNDS MPAC+2 INTO MPAC+1 014967,002111: 40,3047 03056 TC TPLEFTN # SHIFT LEFT 7. 014968,002112: 40,3050 03021 TC DPINSF +2 014969,002113: 014970,002114: 40,3051 07052 DPINSF4 TC DMP # ASSUMES POINT BETWEEN BITS 11-12 OF HIGH 014971,002115: 40,3052 00123 ADRES SFTEMP1 # PART OF SF CONST. DPINSF2 SHIFTS RESULTS 014972,002116: 40,3053 34711 CAF TWO # LEFT BY 3, ROUNDS MPAC+2 INTO MPAC+1. 014973,002117: 40,3054 03056 TC TPLEFTN # SHIFT LEFT 3. 014974,002118: 40,3055 03021 TC DPINSF +2 014975,002119: 014976,002120: 40,3056 56002 TPLEFTN XCH Q # SHIFTS MPAC, +1, +2 LEFT N. SETS OVFIND 014977,002121: 40,3057 54124 TS SFTEMP2 # TO +1 FOR OF, -1 FOR UF. 014978,002122: 40,3060 56002 XCH Q # CALL WITH N-1 IN A. 014979,002123: 40,3061 54123 LEFTNCOM TS SFTEMP1 # LOOP TIME .37 MSEC. 014980,002124: 40,3062 04420 TC TPSL1 014981,002125: 40,3063 10123 CCS SFTEMP1 014982,002126: 40,3064 03061 TC LEFTNCOM 014983,002127: 40,3065 00124 TC SFTEMP2 014984,002128: 014985,002129: # Page 348 014986,002130: 40,3066 56155 2ROUND XCH MPAC +1 014987,002131: 40,3067 60000 DOUBLE 014988,002132: 40,3070 54155 TS MPAC +1 014989,002133: 40,3071 00002 TC Q # IF MPAC+1 DOES NOT OF/UF 014990,002134: 40,3072 60154 AD MPAC 014991,002135: 40,3073 54154 TS MPAC 014992,002136: 40,3074 00002 TC Q # IF MPAC DOES NOT OF/UF 014993,002137: 40,3075 54162 TS MPAC+6 014994,002138: 40,3076 00002 2RNDEND TC Q 014995,002139: 014996,002140: 40,3077 10162 TESTOFUF CCS MPAC+6 # RETURNS IF NO OF/UF 014997,002141: 40,3100 04161 TC ALMCYCLE # OF ALARM AND RECYCLE. 014998,002142: 40,3101 00002 TC Q 014999,002143: 40,3102 04161 TC ALMCYCLE # UF ALARM AND RECYCLE. 015000,002144: 015001,002145: 42,3365 SETLOC ENDSPMIN +1 015002,002146: 015003,002147: 42,3365 COUNT 42/PIN 015004,002148: 42,3365 03506 HMSIN TC ALL3DEC # IF ALL 3 WORDS WERE NOT LOADED, ALARM. 015005,002149: 42,3366 07052 TC DMP # XREG, XREGLP (=HOURS) WERE ALREADY PUT 015006,002150: 42,3367 03447 ADRES WHOLECON # INTO MPAC, MPAC+1. 015007,002151: 42,3370 03456 TC RND/TST # ROUND OFF TO WHOLE HRS IN MPAC+1. 015008,002152: 42,3371 34714 CAF ZERO # ALARM IF MPAC NON ZERO (G/ 16383). 015009,002153: 42,3372 54156 TS MPAC +2 015010,002154: 42,3373 33451 CAF HRCON 015011,002155: 42,3374 54154 TS MPAC 015012,002156: 42,3375 33452 CAF HRCON +1 015013,002157: 42,3376 56155 XCH MPAC +1 015014,002158: 42,3377 07256 TC SHORTMP 015015,002159: 42,3400 03467 TC MPACTST # ALARM IF MPAC NON ZERO (G/ 745) 015016,002160: 42,3401 52156 DXCH MPAC +1 # STORE HOURS CONTRIBUTION 015017,002161: 42,3402 52124 DXCH HITEMIN 015018,002162: 42,3403 31004 CA YREG # PUT YREG, YREGLP INTO MPAC, +1. 015019,002163: 42,3404 23007 LXCH YREGLP 015020,002164: 42,3405 52155 DXCH MPAC 015021,002165: 42,3406 07052 TC DMP 015022,002166: 42,3407 03447 ADRES WHOLECON 015023,002167: 42,3410 03456 TC RND/TST # ROUND OFF TO WHOLE MIN IN MPAC+1 015024,002168: 42,3411 43454 CS 59MIN # ALARM IF MPAC NON ZERO (G/16383) 015025,002169: 42,3412 03474 TC SIZETST # ALARM IF MPAC+1 G/ 59MIN 015026,002170: 42,3413 56155 XCH MPAC +1 015027,002171: 42,3414 00006 EXTEND 015028,002172: 42,3415 73453 MP MINCON # LEAVES MINUTES CONTRIBUTION IN A,L 015029,002173: 42,3416 20124 DAS HITEMIN # ADD IN MINUTES CONTRIBUTION 015030,002174: 42,3417 00006 EXTEND # IF THIS DAS OVEFLOWS, G/ 745 HR, 39MIN 015031,002175: 42,3420 13422 BZF +2 015032,002176: 42,3421 04161 TC ALMCYCLE 015033,002177: # Page 349 015034,002178: 42,3422 31005 CA ZREG # PUT ZREG, ZREGLP INTO MPAC +1. 015035,002179: 42,3423 23010 LXCH ZREGLP 015036,002180: 42,3424 52155 DXCH MPAC 015037,002181: 42,3425 07052 TC DMP 015038,002182: 42,3426 03447 ADRES WHOLECON 015039,002183: 42,3427 03456 TC RND/TST # ROUND OFF TO WHOLE CENTI-SEC IN MPAC+1 015040,002184: 42,3430 43455 CS 59.99SEC # ALARM IF MPAC NON ZERO (G/163.83 SEC) 015041,002185: 42,3431 03474 TC SIZETST # ALARM IF MPAC+1 G/59.99 SEC 015042,002186: 42,3432 52124 DXCH HITEMIN # ADD IN SECONDS CONTRIBUTION 015043,002187: 42,3433 20155 DAS MPAC # IF THIS DAS OVERFLOWS, 015044,002188: 42,3434 00006 EXTEND # G/ 745 HR, 39 MIN, 14.59 SEC. 015045,002189: 42,3435 13437 BZF +2 015046,002190: 42,3436 04161 TC ALMCYCLE # ALARM AND RECYCLE 015047,002191: 42,3437 34714 CAF ZERO 015048,002192: 42,3440 54156 TS MPAC +2 015049,002193: 42,3441 07226 TC TPAGREE 015050,002194: 42,3442 52155 DXCH MPAC 015051,002195: 42,3443 50145 INDEX NOUNADD 015052,002196: 42,3444 52001 DXCH 0 015053,002197: 42,3445 04574 TC POSTJUMP 015054,002198: 42,3446 62771 CADR LOADLV 015055,002199: 015056,002200: 42,3447 00006 WHOLECON OCT 00006 # (10EXP5/2EXP14)2EXP14 015057,002201: 42,3450 03240 OCT 03240 015058,002202: 42,3451 00025 HRCON OCT 00025 # 1 HOUR IN CENTI-SEC 015059,002203: 42,3452 37100 OCT 37100 015060,002204: 42,3453 13560 MINCON OCT 13560 # 1 MINUTE IN CENTI-SEC 015061,002205: 42,3454 00073 59MIN OCT 00073 # 59 AS WHOLE 015062,002206: 42,3455 13557 59.99SEC OCT 13557 # 5999 SENTI-SEC 015063,002207: 015064,002208: 42,3456 56156 RND/TST XCH MPAC +2 # ROUNDS MPAC+2 INTO MPAC+1. 015065,002209: 42,3457 60000 DOUBLE # ALARMS IF MPAC NOT 0 015066,002210: 42,3460 54156 TS MPAC +2 015067,002211: 42,3461 34714 CAF ZERO 015068,002212: 42,3462 60155 AD MPAC +1 015069,002213: 42,3463 54155 TS MPAC +1 015070,002214: 42,3464 34714 CAF ZERO 015071,002215: 42,3465 60154 AD MPAC # CAN'T OVFLOW 015072,002216: 42,3466 56154 XCH MPAC 015073,002217: 42,3467 10154 MPACTST CCS MPAC # ALARM IF MPAC NON ZERO 015074,002218: 42,3470 04161 TC ALMCYCLE # ALARM AND RECYCLE 015075,002219: 42,3471 00002 TC Q 015076,002220: 42,3472 04161 TC ALMCYCLE # ALARM AND RECYCLE 015077,002221: 42,3473 00002 TC Q 015078,002222: 015079,002223: 42,3474 54156 SIZETST TS MPAC +2 # CALLED WITH - CON IN A 015080,002224: 42,3475 10155 CCS MPAC +1 # GET MAG OF MPAC+1 015081,002225: 42,3476 64712 AD ONE 015082,002226: 42,3477 13501 TCF +2 015083,002227: # Page 350 015084,002228: 42,3500 64712 AD ONE 015085,002229: 42,3501 60156 AD MPAC +2 015086,002230: 42,3502 00006 EXTEND # MAG OF MPAC+1 - CON 015087,002231: 42,3503 63505 BZMF +2 015088,002232: 42,3504 04161 TC ALMCYCLE # MAG OF MPAC+1 G/ CON. ALARM AND RECYCLE. 015089,002233: 42,3505 00002 TC Q # MAG OF MPAC+1 L/= CON 015090,002234: 015091,002235: # ALL3DEC TESTS THAT ALL 3 WORDS ARE LOADED IN DEC (FOR HMSIN). 015092,002236: # ALARM IF NOT. (TEST THAT BITS 3,4,4 OF DECBRNCH ARE ALL = 1). 015093,002237: 015094,002238: 42,3506 43513 ALL3DEC CS OCT34BAR # GET BITS 3,4,5 IN A 015095,002239: 42,3507 71000 MASK DECBRNCH # GET BITS 3,4,5 OF DECBRNCH IN A 015096,002240: 42,3510 63513 AD OCT34BAR # BITS 3,4,5 OF DECBRNCH MUST ALL = 1 015097,002241: 42,3511 10000 CCS A 015098,002242: 42,3512 03516 TC FORCEV25 015099,002243: 42,3513 77743 OCT34BAR OCT 77743 015100,002244: 42,3514 03516 TC FORCEV25 015101,002245: 42,3515 00002 TC Q 015102,002246: 015103,002247: 42,3516 44113 FORCEV25 CS OCT31 # FORCE VERB 25 TO BE EXECUTED BY RECYCLE 015104,002248: 42,3517 55041 TS VERBSAVE # IN CASE OPERATOR EXECUTED A LOWER LOAD 015105,002249: 42,3520 04161 TC ALMCYCLE # VERB. ALARM AND RECYCLE. 015106,002250: 42,3521 ENDHMSS EQUALS 015107,002251: 015108,002252: # Page 351 015109,002253: # MONITOR ALLOWS OTHER KEYBOARD ACTIVITY. IT IS ENDED BY VERB TERMINATE, 015110,002254: # VERB PROCEED WITHOUT DATA, VERB RESEQUENCE, 015111,002255: # ANOTHER MONITOR, OR ANY NVSUB CALL THAT PASSES THE DSPLOCK (PROVIDED 015112,002256: # THAT THE OPERATOR HAS SOMEHOW ALLOWED THE ENDING OF A MONITOR WHICH 015113,002257: # HE HAS INITIATED THROUGH THE KEYBOARD). 015114,002258: 015115,002259: # MONITOR ACTION IS SUSPENDED, BUT NOT ENDED, BY ANY KEYBOARD ACTION. 015116,002260: # EXCEPT ERROR LIGHT RESET. IT BEGINS AGAIN WHEN KEY RELEASE IS PERFORMED. 015117,002261: # MONITOR SAVES THE NOUN AND APPROPRIATE DISPLAY VERB IN MONSAVE. IT SAVES 015118,002262: # NOUNCADR IN MONSAVE1, IF NOUN = MACHINE CADR TO BE SPECIFIED. BIT 15 OF 015119,002263: # MONSAVE1 IS THE KILL MONITOR SIGNAL (KILLER BIT). BIT 14 OF MONSAVE1 015120,002264: # INDICATES THE CURRENT MONITOR WAS EXTERNALLY INITIATED (EXTERNAL 015121,002265: # MONITOR BIT). IT IS TURNED OFF BY RELDSP AND KIMONON. 015122,002266: 015123,002267: # MONSAVE INDICATES IF MONITOR IS ON (+=ON, +0=OFF) 015124,002268: # IF MONSAVE IS +, MONITOR ENTERS NO REQUEST, BUT TURNS KILLER BIT OFF. 015125,002269: # IF MONSAVE IS +0, MONITOR ENTERS REQUEST AND TURNS KILLER BIT OFF. 015126,002270: 015127,002271: # NVSUB (IF EXTERNAL MONITOR BIT IS OFF), VB=PROCEED WITHOUT DATA, 015128,002272: # VB=RESEQUENCE, AND VB=TERMINATE TURN KILL MONITOR BIT ON. 015129,002273: 015130,002274: # IF KILLER BIT IS ON, MONREQ ENTERS NO FURTHER REQUESTS, ZEROS MONSAVE 015131,002275: # AND MONSAVE1 (TURNING OFF KILLER BIT AND EXTERNAL MONITOR BIT). 015132,002276: 015133,002277: # MONITOR DOESN'T TEST FOR MATBS SINCE NVSUB CAN HANDLE INTERNAL MATBS NOW. 015134,002278: 015135,002279: 41,3220 SETLOC ENDRUTIN 015136,002280: 015137,002281: 41,3220 COUNT 41/PIN 015138,002282: 015139,002283: 41,3220 43227 MONITOR CS BIT15/14 015140,002284: 41,3221 71017 MASK NOUNCADR 015141,002285: 41,3222 54155 MONIT1 TS MPAC +1 # TEMP STORAGE 015142,002286: 41,3223 40136 CS ENTEXIT 015143,002287: 41,3224 64233 AD ENDINST 015144,002288: 41,3225 10000 CCS A 015145,002289: 41,3226 03235 TC MONIT2 015146,002290: 41,3227 60000 BIT15/14 OCT 60000 015147,002291: 41,3230 03235 TC MONIT2 015148,002292: 41,3231 34675 CAF BIT14 # EXTERNALLY INITIATED MONITOR. 015149,002293: 41,3232 26155 ADS MPAC +1 # SET BIT 14 FOR MONSAVE1. 015150,002294: 41,3233 34714 CAF ZERO 015151,002295: 41,3234 55022 TS MONSAVE2 # ZERO NVMONOPT OPTIONS 015152,002296: 41,3235 36043 MONIT2 CAF LOW7 015153,002297: 41,3236 71001 MASK VERBREG 015154,002298: 41,3237 04345 TC LEFT5 015155,002299: 41,3240 54022 TS CYL 015156,002300: 41,3241 40022 CS CYL 015157,002301: 41,3242 56022 XCH CYL 015158,002302: 41,3243 61002 AD NOUNREG 015159,002303: 41,3244 54154 TS MPAC # TEMP STORAGE 015160,002304: # Page 352 015161,002305: 41,3245 34714 CAF ZERO 015162,002306: 41,3246 55012 TS DSPLOCK # +0 INTO DSPLOCK SO MONITOR CAN RUN. 015163,002307: 41,3247 11042 CCS CADRSTOR # TURN OFF KR LITE IF CADRSTOR AND DSPLIST 015164,002308: 41,3250 03252 TC +2 # ARE BOTH EMPTY. (LITE COMES ON IF NEW 015165,002309: 41,3251 04516 TC RELDSP1 # MONITOR IS KEYED IN OVER OLD MONITOR.) 015166,002310: 41,3252 00004 INHINT 015167,002311: 41,3253 11020 CCS MONSAVE 015168,002312: 41,3254 03261 TC +5 # IF MONSAVE WAS +, NO REQUEST 015169,002313: 41,3255 34712 CAF ONE # IF MONSAVE WAS 0, REQUEST MONREQ 015170,002314: 41,3256 05140 TC WAITLIST 015171,002315: 41,3257 0777 EBANK= DSPCOUNT 015172,002316: 41,3257 03265 62101 2CADR MONREQ 015173,002317: 015174,002318: 41,3261 52155 DXCH MPAC # PLACE MONITOR VERB AND NOUN INTO MONSAVE 015175,002319: 41,3262 53021 DXCH MONSAVE # ZERO THE KILL MONITOR BIT 015176,002320: 41,3263 00003 RELINT # SET UP EXTERNAL MONITOR BIT 015177,002321: 41,3264 00136 TC ENTRET 015178,002322: 015179,002323: 41,3265 04414 MONREQ TC LODSAMPT # CALLED BY WAITLIST 015180,002324: 41,3266 11021 CCS MONSAVE1 # TIME IS SNATCHED N RUPT FOR NOUN 65 015181,002325: 41,3267 03273 TC +4 # IF KILLER BIT = 0, ENTER REQUESTS 015182,002326: 41,3270 03273 TC +3 # IF KILLER BIT = 0, ENTER REQUESTS 015183,002327: 41,3271 03304 TC KILLMON # IF KILLER BIT = 1, NO REQUESTS. 015184,002328: 41,3272 03304 TC KILLMON # IF KILLER BIT = 1, NO REQUESTS. 015185,002329: 41,3273 33310 CAF MONDEL 015186,002330: 41,3274 05140 TC WAITLIST # ENTER WAITLIST REQUEST FOR MONREQ 015187,002331: 41,3275 0777 EBANK= DSPCOUNT 015188,002332: 41,3275 03265 62101 2CADR MONREQ 015189,002333: 015190,002334: 41,3277 34371 CAF CHRPRIO 015191,002335: 41,3300 05027 TC NOVAC # ENTER EXEC REQUEST FOR MONDO 015192,002336: 41,3301 0777 EBANK= DSPCOUNT 015193,002337: 41,3301 03311 62101 2CADR MONDO 015194,002338: 015195,002339: 41,3303 05213 TC TASKOVER 015196,002340: 015197,002341: 41,3304 34714 KILLMON CAF ZERO # ZERO MONSAVE AND TURN KILLER BIT OFF 015198,002342: 41,3305 55020 TS MONSAVE 015199,002343: 41,3306 55021 TS MONSAVE1 # TURN OFF KILL MONITOR BIT. 015200,002344: 41,3307 05213 TC TASKOVER # TURN OFF EXTERNAL MONITOR BIT. 015201,002345: 41,3310 00144 MONDEL OCT 144 # FOR 1 SEC MONITOR INTERVALS. 015202,002346: 015203,002347: 41,3311 11021 MONDO CCS MONSAVE1 # CALLED BY EXEC 015204,002348: 41,3312 03316 TC +4 # IF KILLER BIT = 0, CONTINUE 015205,002349: 41,3313 03316 TC +3 # IF KILLER BIT = 0, CONTINUE 015206,002350: 41,3314 05112 TC ENDOFJOB # IN CASE TERMINATE CAME SINCE LAST MONREQ 015207,002351: 41,3315 05112 TC ENDOFJOB # IN CASE TERMINATE CAME SINCE LAST MONREQ 015208,002352: 41,3316 11012 CCS DSPLOCK 015209,002353: # Page 353 015210,002354: 41,3317 03341 TC MONBUSY # NVSUB IS BUSY 015211,002355: 41,3320 36043 CAF LOW7 015212,002356: 41,3321 71020 MASK MONSAVE 015213,002357: 41,3322 02316 TC UPDATNN -1 # PLACE NOUN INTO NOUNREG AND DISPLAY IT 015214,002358: 41,3323 34160 CAF MID7 015215,002359: 41,3324 71020 MASK MONSAVE # CHANGE MONITOR VERB TO DISPLAY VERB 015216,002360: 41,3325 63337 AD MONREF # -DEC10, STARTING IN BIT5 015217,002361: 41,3326 54023 TS EDOP # RIGHT 7 015218,002362: 41,3327 30023 CA EDOP 015219,002363: 41,3330 55001 TS VERBREG 015220,002364: 41,3331 33340 CAF MONBACK # SET RETURN TO PASTEVB AFTER DATA DISPLAY 015221,002365: 41,3332 54136 TS ENTRET 015222,002366: 41,3333 43227 CS BIT15/14 015223,002367: 41,3334 71021 MASK MONSAVE1 # PUT ECADR INTO MPAC +2. INTMCTBS WILL 015224,002368: 41,3335 54156 TS MPAC +2 # DISPLAY IT AND SET NOUNCADR, NOUNADD, 015225,002369: 41,3336 02046 ENDMONDO TC TESTNN # EBANK. 015226,002370: 015227,002371: 4140 BLOCK 2 015228,002372: 015229,002373: 4000 SETLOC FFTAG8 015230,002374: 4000 BANK 015231,002375: 015232,002376: 4140 COUNT 02/PIN 015233,002377: 015234,002378: 4140 34160 PASTEVB CAF MID7 015235,002379: 4141 71022 MASK MONSAVE2 # NVMONOPT PASTE OPTION 015236,002380: 4142 00006 EXTEND 015237,002381: 4143 14145 BZF +2 015238,002382: 4144 04146 TC PASTEOPT # PASTE PLEASE VERB FOR NVMONOPT 015239,002383: 4145 31020 CA MONSAVE # PASTE MONITOR VERB PASTE OPTION IS 0 015240,002384: 4146 54023 PASTEOPT TS EDOP # RIGHT 7 015241,002385: 4147 30023 CA EDOP # PLACE MONITOR VERB OR (garbled) VERB INTO 015242,002386: 4150 04555 TC BANKCALL # VERBREG AND DISPLAY IT. 015243,002387: 4151 62336 CADR UPDATVB -1 015244,002388: 4152 34714 CAF ZERO # ZERO REQRET SO THAT PASTED VERBS CAN 015245,002389: 4153 55013 TS REQRET # BE EXECUTED BY OPERATOR. 015246,002390: 4154 31022 CA MONSAVE2 015247,002391: 4155 04271 TC BLANKSUB # PROCESS NVMONOPT BLANK OPTION IF ANY 015248,002392: 4156 04157 TC +1 015249,002393: 4157 05112 ENDPASTE TC ENDOFJOB 015250,002394: 015251,002395: 4160 37600 MID7 OCT 37600 015252,002396: 015253,002397: 41,3337 SETLOC ENDMONDO +1 015254,002398: 41,3337 COUNT 41/PIN 015255,002399: 015256,002400: 41,3337 75377 MONREF OCT 75377 # -DEC10, STARTING IN BIT8 015257,002401: 41,3340 04140 MONBACK ADRES PASTEVB 015258,002402: 015259,002403: # Page 354 015260,002404: 41,3341 04410 MONBUSY TC RELDSPON # TURN KEY RELEASE LIGHT 015261,002405: 41,3342 05112 TC ENDOFJOB 015262,002406: 015263,002407: # DSPFMEM IS USED TO DISPLAY (IN OCTAL) ANY FIXED REGISTER. 015264,002408: # IT IS USED WITH NOUN = MACHINE CADR TO BE SPECIFIED. THE FCADR OF THE 015265,002409: # DESIRED LOCATION IS THEN PUNCHED IN. IT HANDLES F/F (FCADR 4000-7777) 015266,002410: # 015267,002411: # FOR BANKS L/E 27, THIS IS ENOUGH. 015268,002412: 015269,002413: # FOR BANKS G/E 30, THE THIRD COMPONENT OF NOUN 26 (PRIO, ADRES, BBCON) 015270,002414: # MUST BE PRELOADED WITH THE DESIRED SUPERBANK BITS (BITS 5,6,7). 015271,002415: # V23N26 SHOULD BE USED. 015272,002416: 015273,002417: # SUMMARY 015274,002418: # FOR BANKS L/E 27, V27N01E(FCADR)E 015275,002419: # FOR BANKS G/E 30, V23N26E(SUPERBITS)E V27N01E(FCADR)E 015276,002420: 015277,002421: 41,3343 34333 DSPFMEM CAF R1D1 # IF F/F, DATACALL USES BANK 02 OR 03. 015278,002422: 41,3344 54777 TS DSPCOUNT 015279,002423: 41,3345 31047 CA DSPTEM1 +2 # SUPERBANK BITS WERE PRELOADED INTO 015280,002424: 41,3346 54001 TS L # 3RD COMPONENT OF NOUN 26. 015281,002425: 41,3347 31017 CA NOUNCADR # ORIGINAL FCADR LOADED STILL IN NOUNCADR. 015282,002426: 41,3350 04610 TC SUPDACAL # CALL WITH FCADR IN A, SUPERBITS IN L. 015283,002427: 41,3351 03353 TC DSPOCTWO 015284,002428: 41,3352 05112 ENDSPF TC ENDOFJOB 015285,002429: 015286,002430: # Page 355 015287,002431: # WORD DISPLAY ROUTINES 015288,002432: 40,3103 SETLOC TESTOFUF +4 015289,002433: 40,3103 COUNT 40/PIN 015290,002434: 015291,002435: 40,3103 56002 DSPSIGN XCH Q 015292,002436: 40,3104 54144 TS DSPWDRET 015293,002437: 40,3105 10154 CCS MPAC 015294,002438: 40,3106 03116 TC +8D 015295,002439: 40,3107 03116 TC +7 015296,002440: 40,3110 64712 AD ONE 015297,002441: 40,3111 54154 TS MPAC 015298,002442: 40,3112 02334 TC -ON 015299,002443: 40,3113 40155 CS MPAC +1 015300,002444: 40,3114 54155 TS MPAC +1 015301,002445: 40,3115 00144 TC DSPWDRET 015302,002446: 40,3116 02314 TC +ON 015303,002447: 40,3117 00144 TC DSPWDRET 015304,002448: 015305,002449: 40,3120 00006 DSPRND EXTEND # ROUND BY 5 EXP-6 015306,002450: 40,3121 33164 DCA DECROUND -1 015307,002451: 40,3122 20155 DAS MPAC 015308,002452: 40,3123 00006 EXTEND 015309,002453: 40,3124 13130 BZF +4 015310,002454: 40,3125 00006 EXTEND 015311,002455: 40,3126 34672 DCA DPOSMAX 015312,002456: 40,3127 52155 DXCH MPAC 015313,002457: 40,3130 00002 TC Q 015314,002458: 015315,002459: # DSPDECWD CONVERTS C(MPAC,MPAC+1) INTO A SIGN AND 5 CHAR DECIMAL 015316,002460: # STARTING IN LOC SPECIFIED IN DSPCOUNT. IT ROUNDS BY 5 EXP-6. 015317,002461: 015318,002462: 40,3131 56002 DSPDECWD XCH Q 015319,002463: 40,3132 54115 TS WDRET 015320,002464: 40,3133 03103 TC DSPSIGN 015321,002465: 40,3134 03120 TC DSPRND 015322,002466: 40,3135 34710 CAF FOUR 015323,002467: 40,3136 54137 DSPDCWD1 TS WDCNT 015324,002468: 40,3137 34377 CAF BINCON 015325,002469: 40,3140 07256 TC SHORTMP 015326,002470: 40,3141 50154 TRACE1 INDEX MPAC 015327,002471: 40,3142 34072 CAF RELTAB 015328,002472: 40,3143 74362 MASK LOW5 015329,002473: 40,3144 54124 TS CODE 015330,002474: 40,3145 34714 CAF ZERO 015331,002475: 40,3146 56156 XCH MPAC +2 015332,002476: 40,3147 56155 XCH MPAC +1 015333,002477: 40,3150 54154 TS MPAC 015334,002478: 40,3151 56777 XCH DSPCOUNT 015335,002479: 40,3152 54143 TRACE1S TS COUNT 015336,002480: # Page 356 015337,002481: 40,3153 10000 CCS A # DECREMENT DSPCOUNT EXCEPT AT +0 015338,002482: 40,3154 54777 TS DSPCOUNT 015339,002483: 40,3155 03225 TC DSPIN 015340,002484: 40,3156 10137 CCS WDCNT 015341,002485: 40,3157 03136 TC DSPDCWD1 015342,002486: 40,3160 44374 CS VD1 015343,002487: 40,3161 54777 TS DSPCOUNT 015344,002488: 40,3162 00115 TC WDRET 015345,002489: 015346,002490: 40,3163 00000 OCT 00000 015347,002491: 40,3164 02476 DECROUND OCT 02476 015348,002492: 015349,002493: # DSPDECNR CONVERTS C(MPAC,MPAC+1) INTO A SIGN AND 5 CHAR DECIMAL 015350,002494: # STARTING IN LOC SPECIFIED IN DSPCOUNT. IT DOES NOT ROUND 015351,002495: 015352,002496: 40,3165 56002 DSPDECNR XCH Q 015353,002497: 40,3166 54115 TS WDRET 015354,002498: 40,3167 03103 TC DSPSIGN 015355,002499: 40,3170 03135 TC DSPDCWD1 -1 015356,002500: 015357,002501: # DSPDC2NR CONVERTS C(MPAC,MPAC+1) INTO A SIGN AND 2 CHAR DECIMAL 015358,002502: # STARTING IN LOC SPECIFIED IN DSPCOUNT. IT DOES NOT ROUND 015359,002503: 015360,002504: 40,3171 56002 DSPDC2NR XCH Q 015361,002505: 40,3172 54115 TS WDRET 015362,002506: 40,3173 03103 TC DSPSIGN 015363,002507: 40,3174 34712 CAF ONE 015364,002508: 40,3175 03136 TC DSPDCWD1 015365,002509: 015366,002510: # DSP2DEC CONVERTS C(MPAC) AND C(MPAC+1) INTO A SIGN AND 10 CHAR DECIMAL 015367,002511: # STARTING IN THE LOC SPECIFIED IN DSPCOUNT. 015368,002512: 015369,002513: 40,3176 56002 DSP2DEC XCH Q 015370,002514: 40,3177 54115 TS WDRET 015371,002515: 40,3200 34714 CAF ZERO 015372,002516: 40,3201 54124 TS CODE 015373,002517: 40,3202 36214 CAF THREE 015374,002518: 40,3203 03307 TC 11DSPIN # -R2 OFF 015375,002519: 40,3204 34710 CAF FOUR 015376,002520: 40,3205 03307 TC 11DSPIN # +R2 OFF 015377,002521: 40,3206 03103 TC DSPSIGN 015378,002522: 40,3207 34334 CAF R2D1 015379,002523: 40,3210 03136 END2DEC TC DSPDCWD1 015380,002524: 015381,002525: # DSPDECVN DISPLAYS C(A) UPON ENTRY AS A 2 CHAR DECIMAL BEGINNING IN THE 015382,002526: # DSP LOC SPECIFIED IN DSPCOUNT. 015383,002527: 015384,002528: # C(A) SHOULD BE IN FORM N X 2EXP-14. THIS IS SCALED TO FORM N/100 BEFORE 015385,002529: # DISPLAY CONVERSION. 015386,002530: # Page 357 015387,002531: 015388,002532: 40,3211 00006 DSPDECVN EXTEND 015389,002533: 40,3212 73221 MP VNDSPCON # MULT BY .01 015390,002534: 40,3213 22154 LXCH MPAC # TAKE RESULTS FROM L. (MULT BY 2EXP14). 015391,002535: 40,3214 34714 CAF ZERO 015392,002536: 40,3215 54155 TS MPAC +1 015393,002537: 40,3216 56002 XCH Q 015394,002538: 40,3217 54115 TS WDRET 015395,002539: 40,3220 03174 TC DSPDC2NR +3 # NO SIGN, NO ROUND, 2 CHAR 015396,002540: 015397,002541: 40,3221 00244 VNDSPCON OCT 00244 # .01 ROUNDED UP 015398,002542: 015399,002543: 40,3222 03211 GOVNUPDT TC DSPDECVN # THIS IS NOT FOR GENERAL USE. REALLY PART 015400,002544: 40,3223 04574 TC POSTJUMP # OF UPDATVB. 015401,002545: 40,3224 62346 CADR UPDAT1 +2 015402,002546: 015403,002547: 40,3225 ENDECVN EQUALS 015404,002548: 015405,002549: 41,3353 SETLOC ENDSPF +1 015406,002550: 41,3353 COUNT 41/PIN 015407,002551: 015408,002552: # DSPOCTWD DISPLAYS C(A) UPON ENTRY AS A 5 CHAR OCT STARTING IN THE DSP 015409,002553: # CHAR SPECIFIED IN DSPCOUNT. IT STOPS AFTER 5 CHAR HAVE BEEN DISPLAYED. 015410,002554: 015411,002555: 41,3353 54022 DSPOCTWO TS CYL 015412,002556: 41,3354 56002 XCH Q 015413,002557: 41,3355 54115 TS WDRET # MUST USE SAME RETURN AS DSP2BIT. 015414,002558: 41,3356 34675 CAF BIT14 # TO BLANK SIGNS 015415,002559: 41,3357 26777 ADS DSPCOUNT 015416,002560: 41,3360 34710 CAF FOUR 015417,002561: 41,3361 54137 WDAGAIN TS WDCNT 015418,002562: 41,3362 40022 CS CYL 015419,002563: 41,3363 40022 CS CYL 015420,002564: 41,3364 40022 CS CYL 015421,002565: 41,3365 40000 CS A 015422,002566: 41,3366 74716 MASK DSPMSK 015423,002567: 41,3367 50000 INDEX A 015424,002568: 41,3370 34072 CAF RELTAB 015425,002569: 41,3371 74362 MASK LOW5 015426,002570: 41,3372 54124 TS CODE 015427,002571: 41,3373 56777 XCH DSPCOUNT 015428,002572: 41,3374 54143 TS COUNT 015429,002573: 41,3375 10000 CCS A # DECREMENT DSPCOUNT EXCEPT AT +0 015430,002574: 41,3376 54777 TS DSPCOUNT 015431,002575: 41,3377 04574 TC POSTJUMP 015432,002576: 41,3400 61315 CADR DSPOCTIN 015433,002577: 41,3401 10137 OCTBACK CCS WDCNT 015434,002578: 41,3402 03361 TC WDAGAIN 015435,002579: 41,3403 44374 DSPLV CS VD1 # TO BLOCK NUMERICAL CHARACTERS, CLEARS, 015436,002580: # Page 358 015437,002581: 41,3404 54777 TS DSPCOUNT # AND SIGNS AFTER A COMPLETED DISPLAY. 015438,002582: 41,3405 00115 TC WDRET 015439,002583: 015440,002584: 41,3406 4716 DSPMSK = SEVEN 015441,002585: 015442,002586: # DSP2BIT DISPLAYS C(A) UPON ENTRY AS A 2 CHAR OCT BEGINNING IN THE DSP 015443,002587: # LOC SPECIFIED IN DSPCOUNT BY PRE CYCLING RIGHT C(A) AND USING THE LOGIC 015444,002588: # OF THE 5 CHAR OCTAL DISPLAY 015445,002589: 015446,002590: 41,3406 54020 DSP2BIT TS CYR 015447,002591: 41,3407 56002 XCH Q 015448,002592: 41,3410 54115 TS WDRET 015449,002593: 41,3411 34712 CAF ONE 015450,002594: 41,3412 54137 TS WDCNT 015451,002595: 41,3413 40020 CS CYR 015452,002596: 41,3414 40020 CS CYR 015453,002597: 41,3415 56020 XCH CYR 015454,002598: 41,3416 54022 TS CYL 015455,002599: 41,3417 03366 TC WDAGAIN +5 015456,002600: 015457,002601: # FOR DSPIN PLACE 0/25 OCT INTO COUNT, 5 BIT RELAY CODE INTO CODE. BOTH 015458,002602: # ARE DESTROYED. IF BIT14 OF COUNT IS 1, SIGN IS BLANKED WITH LEFT CHAR. 015459,002603: # FOR DSPIN1 PLACE 0,1 INTO BIT11 OF CODE, 2 INTO COUNT, REL ADDRESS OF 015460,002604: # DSPTAB ENTRY INTO DSREL. 015461,002605: 015462,002606: 40,3225 SETLOC ENDECVN 015463,002607: 015464,002608: 40,3225 COUNT 40/PIN 015465,002609: 015466,002610: 40,3225 56002 DSPIN XCH Q # CAN'T USE L FOR RETURN, SINCE MANYOF THE 015467,002611: 40,3226 54114 TS DSEXIT # ROTINE CALLING DSPIN USE L AS RETURN. 015468,002612: 40,3227 34362 CAF LOW5 015469,002613: 40,3230 70143 MASK COUNT 015470,002614: 40,3231 54021 TS SR 015471,002615: 40,3232 56021 XCH SR 015472,002616: 40,3233 54141 TS DSREL 015473,002617: 40,3234 34712 CAF BIT1 015474,002618: 40,3235 70143 MASK COUNT 015475,002619: 40,3236 10000 CCS A 015476,002620: 40,3237 03241 TC +2 # LEFT IF COUNT IS ODD 015477,002621: 40,3240 03251 TC DSPIN1 -1 # RIGHT IF COUNT IS EVEN 015478,002622: 40,3241 56124 XCH CODE 015479,002623: 40,3242 04354 TC SLEFT5 # DOES NOT USE CYL 015480,002624: 40,3243 54124 TS CODE 015481,002625: 40,3244 34675 CAF BIT14 015482,002626: 40,3245 70143 MASK COUNT 015483,002627: 40,3246 10000 CCS A 015484,002628: 40,3247 34711 CAF TWO # BIT14 = 1, BLANK SIGN 015485,002629: # Page 359 015486,002630: 40,3250 64712 AD ONE # BIT14 = 0, LEAVE SIGN ALONE 015487,002631: 40,3251 54143 TS COUNT # +0 INTO COUNT FOR RIGHT 015488,002632: # +1 INTO COUNT FOR LEFT (SIGN LEFT ALONE) 015489,002633: # +3 INTO COUNT FOR LEFT (TO BLANK SIGN) 015490,002634: 40,3252 00004 DSPIN1 INHINT 015491,002635: 40,3253 50141 INDEX DSREL 015492,002636: 40,3254 11023 CCS DSPTAB 015493,002637: 40,3255 03257 TC +2 # IF + 015494,002638: 40,3256 05640 TC CCSHOLE 015495,002639: 40,3257 64712 AD ONE # IF - 015496,002640: 40,3260 54142 TS DSMAG 015497,002641: 40,3261 50143 INDEX COUNT 015498,002642: 40,3262 73303 MASK DSMSK 015499,002643: 40,3263 00006 EXTEND 015500,002644: 40,3264 60124 SU CODE 015501,002645: 40,3265 00006 EXTEND 015502,002646: 40,3266 13301 BZF DSLV # SAME 015503,002647: 40,3267 50143 DFRNT INDEX COUNT 015504,002648: 40,3270 43303 CS DSMSK # MASK WITH 77740, 76037, 76777, OR 74037 015505,002649: 40,3271 70142 MASK DSMAG 015506,002650: 40,3272 60124 AD CODE 015507,002651: 40,3273 40000 CS A 015508,002652: 40,3274 50141 INDEX DSREL 015509,002653: 40,3275 57023 XCH DSPTAB 015510,002654: 40,3276 00006 EXTEND 015511,002655: 40,3277 63301 BZMF DSLV # DSPTAB ENTRY WAS - 015512,002656: 40,3300 25016 INCR NOUT # DSPTAB ENTRY WAS + 015513,002657: 40,3301 00003 DSLV RELINT 015514,002658: 40,3302 00114 TC DSEXIT 015515,002659: 015516,002660: 40,3303 00037 DSMSK OCT 37 015517,002661: 40,3304 01740 OCT 1740 015518,002662: 40,3305 02000 OCT 2000 015519,002663: 40,3306 03740 OCT 3740 015520,002664: 015521,002665: # FOR 11DSPIN, PUT REL ADDRESS OF DSPTAB ENTRY INTO A, 1 IN BIT11 OR 0 IN 015522,002666: # BIT11 OF CODE. 015523,002667: 015524,002668: 40,3307 54141 11DSPIN TS DSREL 015525,002669: 40,3310 34711 CAF TWO 015526,002670: 40,3311 54143 TS COUNT 015527,002671: 40,3312 56002 XCH Q # MUST USE SAME RETURN AS DSPIN 015528,002672: 40,3313 54114 TS DSEXIT 015529,002673: 40,3314 03252 TC DSPIN1 015530,002674: 015531,002675: 40,3315 03225 DSPOCTIN TC DSPIN # SO DSPOCTWO DOESN'T USE (garbled) 015532,002676: 40,3316 33320 CAF +2 015533,002677: 40,3317 04577 TC BANKJUMP 015534,002678: # Page 360 015535,002679: 40,3320 63401 ENDSPOCT CADR OCTBACK 015536,002680: 015537,002681: # DSPALARM FINDS TC NVSUBEND IN ENTRET FOR NVSUB INITIATED ROUTINES 015538,002682: # ABORT WITH 01501. 015539,002683: 015540,002684: # DSPALARM FINDS TC ENDOFJOB IN ENTRET FOR KEYBOARD INITIATED ROUTINES. 015541,002685: # DC TC ENTRET. 015542,002686: 015543,002687: 40,3321 44374 PREDSPAL CS VD1 015544,002688: 40,3322 54777 TS DSPCOUNT 015545,002689: 40,3323 43342 DSPALARM CS NVSBENDL 015546,002690: 40,3324 60136 AD ENTEXIT 015547,002691: 40,3325 00006 EXTEND 015548,002692: 40,3326 13337 BZF CHARALRM +2 015549,002693: 40,3327 43341 CS MONADR # IF THIS IS A MONITOR, KILL IT 015550,002694: 40,3330 60136 AD ENTEXIT 015551,002695: 40,3331 00006 EXTEND 015552,002696: 40,3332 13334 BZF +2 015553,002697: 40,3333 03335 TC +2 015554,002698: 40,3334 04220 TC KILMONON 015555,002699: 40,3335 04400 CHARALRM TC FALTON # NO NVSUB INITATED TURN ON OPR ERROR 015556,002700: 40,3336 05112 TC ENDOFJOB 015557,002701: 40,3337 05622 TC P00DOO 015558,002702: 40,3340 01501 OCT 01501 015559,002703: 40,3341 04140 MONADR GENADR PASTEVB 015560,002704: 40,3342 04216 NVSBENDL TC NVSUBEND 015561,002705: 015562,002706: # ALMCYCLE TURNS ON CHECK FAIL LIGHT, REDISPLAYS THE ORIGINAL VERB THAT 015563,002707: # WAS EXECUTED, AND RECYCLES TO EXECUTE THE ORIGINAL VERB/NOUN COMBINATION 015564,002708: # THAT WAS LAST EXECUTED. USED FOR BAD DATA DURING LOAD VERBS AND BY 015565,002709: # MCTBS. ALSO BY MMCHANG IF 2 NUMERICAL CHARACTERS WERE NOT PUNCHED IN 015566,002710: # FOR MM CODE 015567,002711: 015568,002712: 4161 SETLOC MID7 +1 015569,002713: 4161 COUNT 02/PIN 015570,002714: 4161 04400 ALMCYCLE TC FALTON # TURN ON CHECK FAIL LIGHT. 015571,002715: 4162 41041 CS VERBSAVE # GET ORIGINAL VERB THAT WAS EXECUTED 015572,002716: 4163 55013 TS REQRET # SET FOR ENTPAS0 015573,002717: 4164 04555 TC BANKCALL # PUTS ORIGINAL VERB INTO VERBREG AND 015574,002718: 4165 62336 CADR UPDATVB -1 # DISPLAYS IT IN VERB LIGHTS. 015575,002719: 4166 04574 TC POSTJUMP 015576,002720: 4167 62002 ENDALM CADR ENTER 015577,002721: 015578,002722: # MMCHANG USES NOUN DISPLAY UNTIL ENTER. THEN IT USES MODE DISP. 015579,002723: # IT GOES TO MODROUT WITH THE NEW MM CODE IN A, BUT NOT DISPLAYED IN 015580,002724: # MM LIGHTS. 015581,002725: 015582,002726: # IT DEMANDS 2 NUMERICAL CHARACTERS BE PUNCHED IN FOR NEW MM CODE. 015583,002727: # Page 361 015584,002728: # IF NOT, IT RECYCLES. 015585,002729: 015586,002730: 41,3420 SETLOC DSP2BIT +10D 015587,002731: 41,3420 COUNT 41/PIN 015588,002732: 41,3420 03442 MMCHANG TC REQMM # ENTPASHI ASSUMES THE TC REQMM AT MMCHANG 015589,002733: # IF THIS MOVES AT ALL, MUST CHANGE 015590,002734: # MMADREF AT ENTPASHI. 015591,002735: 41,3421 34706 CAF BIT5 # OCT20 = ND2. 015592,002736: 41,3422 60777 AD DSPCOUNT # DSPCOUNT MUST = -ND2. 015593,002737: 41,3423 00006 EXTEND # DEMAND THAT 2 NUM CHAR WERE PUNCHED IN. 015594,002738: 41,3424 13426 BZF +2 015595,002739: 41,3425 04161 TC ALMCYCLE # DSPCOUNT NOT= -ND2. ALARM AND RECYCLE. 015596,002740: 41,3426 34714 CAF ZERO # DSPCOUNT = -ND2. 015597,002741: 41,3427 57002 XCH NOUNREG 015598,002742: 41,3430 54154 TS MPAC 015599,002743: 41,3431 34375 CAF ND1 015600,002744: 41,3432 54777 TS DSPCOUNT 015601,002745: 41,3433 04555 TC BANKCALL 015602,002746: 41,3434 60502 CADR 2BLANK 015603,002747: 41,3435 44374 CS VD1 # BLOCK NUM CHAR IN 015604,002748: 41,3436 54777 TS DSPCOUNT 015605,002749: 41,3437 30154 CA MPAC 015606,002750: 41,3440 04574 TC POSTJUMP 015607,002751: 41,3441 10010 CADR MODROUTB # GO THRU STANDARD LOC. 015608,002752: 015609,002753: 41,3442 04,2010 MODROUTB = V37 015610,002754: 41,3442 40002 REQMM CS Q 015611,002755: 41,3443 55013 TS REQRET 015612,002756: 41,3444 34375 CAF ND1 015613,002757: 41,3445 54777 TS DSPCOUNT 015614,002758: 41,3446 34714 CAF ZERO 015615,002759: 41,3447 55002 TS NOUNREG 015616,002760: 41,3450 04555 TC BANKCALL 015617,002761: 41,3451 60502 CADR 2BLANK 015618,002762: 41,3452 04443 TC FLASHON 015619,002763: 41,3453 34712 CAF ONE 015620,002764: 41,3454 55000 TS DECBRNCH # SET FOR DEC 015621,002765: 41,3455 00136 TC ENTEXIT 015622,002766: 015623,002767: # VBRQEXEC ENTERS REQUEST TO EXEC FOR ANY ADDRESS WITH ANY PRIORITY. 015624,002768: # IT DOES ENDOFJOB AFTER ENTERING REQUEST. DISPLAY SYST IS RELEASED. 015625,002769: # IT ASSUMES NOUN 26 HAS BEEN PRELOADED WITH 015626,002770: # COMPONENT 1 PRIORITY (BITS 10-14) BIT1=0 FOR NOVAC, BIT1=1 FOR FINDVAC. 015627,002771: # COMPONENT 2 JOB ADRES (12 BIT) 015628,002772: # COMPONENT 3 BBCON 015629,002773: # Page 362 015630,002774: 015631,002775: 41,3456 34712 VBRQEXEC CAF BIT1 015632,002776: 41,3457 71045 MASK DSPTEM1 015633,002777: 41,3460 10000 CCS A 015634,002778: 41,3461 03500 TC SETVAC # IF BIT1 = 1, FINDVAC 015635,002779: 41,3462 34365 CAF TCNOVAC # IF BIT1 = 0, NOVAC 015636,002780: 41,3463 54154 REQEX1 TS MPAC # TC NOVAC OR TC FINDVAC INTO MPAC 015637,002781: 41,3464 44712 CS BIT1 015638,002782: 41,3465 71045 MASK DSPTEM1 015639,002783: 41,3466 54160 TS MPAC +4 # PRIO INTO MPAC+4 AS A TEMP 015640,002784: 41,3467 04473 REQUESTC TC RELDSP 015641,002785: 41,3470 34233 CA ENDINST 015642,002786: 41,3471 54157 TS MPAC +3 # TC ENDOFJOB INTO MPAC+3 015643,002787: 41,3472 00006 EXTEND 015644,002788: 41,3473 31047 DCA DSPTEM1 +1 # JOB ADRES INTO MPAC+1 015645,002789: 41,3474 52156 DXCH MPAC +1 # BBCON INTO MPAC+2 015646,002790: 41,3475 30160 CA MPAC +4 # PRIO IN A 015647,002791: 41,3476 00004 INHINT 015648,002792: 41,3477 00154 TC MPAC 015649,002793: 015650,002794: 41,3500 34370 SETVAC CAF TCFINDVC 015651,002795: 41,3501 03463 TC REQEX1 015652,002796: 015653,002797: # VBRQWAIT ENTERS REQUEST TO WAITLIST FOR ANY ADDRESS WITH ANY DELAY. 015654,002798: # IT DOES ENDOFJOB AFTER ENTERING REQUEST. DISPLAY SYST IS RELEASED. 015655,002799: # IT ASSUMES NOUN 26 HAS BEEN PRELOADED WTIH 015656,002800: # COMPONENT 1 DELAY (LOW BITS) 015657,002801: # COMPONENT 2 TASK ADRES (12 BIT) 015658,002802: # COMPONENT 3 BBCON 015659,002803: 015660,002804: 41,3502 34366 VBRQWAIT CAF TCWAIT 015661,002805: 41,3503 54154 TS MPAC # TC WAITLIST INTO MPAC 015662,002806: 41,3504 31045 CA DSPTEM1 # TIME DELAY 015663,002807: 41,3505 03466 ENDRQWT TC REQUESTC -1 015664,002808: 015665,002809: # REQUESTC WILL PUT TASK ADRES INTO MPAC+1, BBCON INTO MPAC+2, 015666,002810: # TC ENDOFJOB INTO MPAC+3. IT WILL TAKE TIME DELAY OUT OF MPAC+4 AND 015667,002811: # LEAVE IT IN A, INHINT AND TC MPAC. 015668,002812: 015669,002813: 40,3343 SETLOC NVSBENDL +1 015670,002814: 40,3343 COUNT 40/PIN 015671,002815: 015672,002816: 40,3343 34712 VBPROC CAF ONE # PROCEED WITHOUT DATA 015673,002817: 40,3344 55014 TS LOADSTAT 015674,002818: 40,3345 04220 TC KILMONON # TURN ON KILL MONITOR BIT 015675,002819: 40,3346 04473 TC RELDSP 015676,002820: 40,3347 04447 TC FLASHOFF 015677,002821: 40,3350 03450 TC RECALTST # SEE IF THERE IS ANY RECALL FROM ENDIDLE 015678,002822: 015679,002823: # Page 363 015680,002824: 40,3351 44712 VBTERM CS ONE 015681,002825: 40,3352 03344 TC VBPROC +1 # TERM VERB SETS LOADSTAT NEG 015682,002826: 015683,002827: # PROCKEY PERFORMS THE SAME FUNCTION AS VBPROC. IT MUST BE CALLED UNDER 015684,002828: # EXECUTIVE CONTROL, WITH CHRPRIO. 015685,002829: 015686,002830: 40,3353 34714 PROCKEY CAF ZERO # SET REQRET FOR ENTER PASS 0. 015687,002831: 40,3354 55013 TS REQRET 015688,002832: 40,3355 44374 CS VD1 # BLOCK NUMERICAL CHARACTERS, SIGNS, CLEAR 015689,002833: 40,3356 54777 TS DSPCOUNT 015690,002834: 40,3357 03343 TC VBPROC 015691,002835: 015692,002836: # VBRESEQ WAKES ENDIDLE AT SAME LINE AS FINAL ENTER OF LOAD (L+3). 015693,002837: # (MAIN USE IS INTENDED AS RESPONSE TO INTERNALLY INITIATED FLASHING 015694,002838: # DISPLAYS IN ENDIDLE. SHOULD NOT BE USED WITH LOAD VERBS, PLEAS PERFORM, 015695,002839: # OR PLEASE MARK VERBS BECAUSE THEY ALREADY USE L+3 IN ANOTHER CONTEXT.) 015696,002840: 015697,002841: 40,3360 44714 VBRESEQ CS ZERO # MAKE IT LOOK LIKE DATA IN. 015698,002842: 40,3361 03344 TC VBPROC +1 015699,002843: 015700,002844: # FLASH IS TURNED OFF BY PROCEED WITHOUT DATA, TERMINATE, REQUEQUENCE, 015701,002845: # END OF LOAD. 015702,002846: # Page 364 015703,002847: 015704,002848: # KEY RELEASE ROUTINE 015705,002849: 015706,002850: # THIS ROUTINE ALWAYS TURNS OFF THE UPACT LIGHT AND ALWAYS CLEARS DSPLOCK. 015707,002851: 015708,002852: # THE HIGHEST PRIORITY FUNCTION OF THE KEY RELEASE BUTTON IS THE 015709,002853: # UNSUSPENDING OF A SUSPENDED MONITOR WHICH WAS EXTERNALLY INITIATED. 015710,002854: # THIS FUNCTION IS ACCOMPLISHED BY CLEARING DSPLOCK AND TURNING OFF 015711,002855: # THE KEY RELEASE LIGHT IF BOTH DSPLIST AND CADRSTOR ARE EMPTY. 015712,002856: 015713,002857: # IF NO SUCH MONITOR EXISTS, THEN RELDSP IS EXECUTED TO CLEAR DSPLOCK 015714,002858: # AND THE EXTERNAL MONITOR BIT (FREEING THE DISPLAY SYSTEM FOR INTERNAL 015715,002859: # USE), TURN OFF THE KEY RELEASE LIGHT, AND WAKE UP ANY JOB IN DSPLIST. 015716,002860: 015717,002861: # IN ADDITION IF THERE IS A JOB IN ENDIDLE, THEN CONTROL IS TRANSFERRED 015718,002862: # TO PINBRNCH (IN DISPLAY INTERFACE ROUTINE) TO RE-EXECUTE THE SERIES OF 015719,002863: # NVSUB CALLS ETC. THAT PRECEDED THE ENDIDLE CALL STILL AWAITING RESPONSE. 015720,002864: # THIS FEATURE IS INTENDED FOR USE WHEN THE OPERATOR HAS BEEN REQUESTED TO 015721,002865: # RESPOND TO SOME INTERNAL ACTION THAT USED ENDIDLE, BUT HE HAS WRITTEN 015722,002866: # OVER THE INFORMATION ON THE DISPLAY PANEL BY SOME DISPLAYS OF HIS OWN 015723,002867: # INITIATION WHICH DO NOT SERVE AS RESPONSES. HITTING KEYRLSE WILL 015724,002868: # RE-ESTABLISH THE DISPLAYS TO THE STATE THEY WERE IN BEOFRE HE OBSCURED 015725,002869: # THEM, SO THAT HE CAN SEE THE WAITING REQUEST. THIS WORKS ONLY FOR 015726,002870: # INTERNAL PROGRAMS THAT USED ENDIDLE THROUGH MARGARET'S DISPLAY 015727,002871: # SUBROUTINES. 015728,002872: 015729,002873: 40,3362 44710 VBRELDSP CS BIT3 015730,002874: 40,3363 00006 EXTEND 015731,002875: 40,3364 03011 WAND DSALMOUT # TURN OF UPACT LITE 015732,002876: 40,3365 10115 CCS 21/22REG # OLD DSPLOCK 015733,002877: 40,3366 34675 CAF BIT14 015734,002878: 40,3367 71021 MASK MONSAVE1 # EXTERNAL MONITOR BIT (EMB) 015735,002879: 40,3370 10000 CCS A 015736,002880: 40,3371 03400 TC UNSUSPEN # OLD DSPLOCK AND EMB BOTH 1, UNSUSPEND, 015737,002881: 40,3372 04473 TSTLTS4 TC RELDSP # NOT UNSUSPENDING EXTERNAL MONITOR 015738,002882: 40,3373 11042 CCS CADRSTOR # RELEASE DISPLAY SYSTEM AND 015739,002883: 40,3374 03376 TC +2 # DO RE-ESTABLISH IF CADRSTOR IS FULL. 015740,002884: 40,3375 05112 TC ENDOFJOB 015741,002885: 40,3376 04574 TC POSTJUMP 015742,002886: 40,3377 21176 CADR PINBRNCH 015743,002887: 40,3400 34714 UNSUSPEN CAF ZERO # EXTERNAL MONITOR IS SUSPENDED, 015744,002888: 40,3401 55012 TS DSPLOCK # JUST UNSUSPEND IT BY CLEARING DSPLOCK. 015745,002889: 40,3402 11042 CCS CADRSTOR # TURN KEY RELEASE LIGHT OFF IF BOTH 015746,002890: 40,3403 05112 TC ENDOFJOB # CADRSTOR AND DSPLIST ARE EMPTY. 015747,002891: 40,3404 04516 TC RELDSP1 015748,002892: 40,3405 05112 TC ENDOFJOB 015749,002893: 015750,002894: 40,3406 ENDRELDS EQUALS 015751,002895: 015752,002896: # Page 365 015753,002897: # NVSUB IS USED FOR SUBROUTINE CALLS FROM WITHIN COMPUTER. IT CAN BE 015754,002898: # USED TO CALL THE COMBINATION OF ANY DISPLAY, LOAD, OR MONITOR VERB 015755,002899: # TOGETHER WITH ANY NOUN AVAILABLE TO THE KEYBOARD. 015756,002900: # PLACE 0VVVVVVVNNNNNNN INTO A. 015757,002901: # V'S ARE THE 7-BIT VERB CODE. N'S ARE THE 7-BIT NOUN CODE. 015758,002902: 015759,002903: # IF NVSUB IS CALLED WTIH THE FOLLOWING NEGATIVE NUMBERS (RATHER THAN THE 015760,002904: # VERB-NOUN CODE) IN A, THEN THE DISPLAY IS BLANKED AS FOLLOWS --- 015761,002905: # -4 FULL BLANK, -3 LEAVE MODE, -2 LEAVE MODE AND VERB, -1 BLANK R'S ONLY. 015762,002906: 015763,002907: # NVSUB CAN BE USED WTIH MACHINE CADR TO BE SPECIFIED BY PLACING THE CADR INTO 015764,002908: # MPAC+2 BEFORE THE STANDARD NVSUB CALL. 015765,002909: 015766,002910: # NVSUB RETURNS TO 2+ CALLING LOC AFTER PERFORMING TASK, IF DISPLAY 015767,002911: # SYSTEM IS AVAIALBLE. THE NEW NOUN AND VERB CODES ARE DISPLAYED. 015768,002912: # IF V'S =0, THE NEW NOUN CODE IS DISPLAYED ONLY (RETURN WITH NO FURTHER 015769,002913: # ACTION). IF N'S =0, THE NEW VERB CODE IS DISPLAYED ONLY (RETURN WITH NO 015770,002914: # FURTHER ACTION). 015771,002915: 015772,002916: # IT RETURNS TO 1+ CALLING LOC WITHOUT PERFORMING TASK, IF DISPLAY 015773,002917: # SYSTEM IS BLOCKED (NOTHING IS DISPLAYED IN THIS CASE). 015774,002918: # IT DOES TC ABORT (WITH OCT 01501) IF IT ENCOUNTERS A DISPLAY PROGRAM 015775,002919: # ALARM CONDITION BEFORE RETURN TO CALLER. 015776,002920: 015777,002921: # THE DISPLAY SYSTEM IS BLOCKED BY THE DEPRESSION OF ANY 015778,002922: # KEY, EXCEPT ERROR LIGHT RESET. 015779,002923: # IT IS RELEASED BY THE KEY RELEASE BUTTON, ALL EXTENDED VERBS, 015780,002924: # PROCED WITOHOUT DATA, TERMINATE, RESEQUENCE, INITIALIZE EXECUTIVE, 015781,002925: # RECALL PART OF RECALTST IF ENDIDLE WAS USED, 015782,002926: # VB = REQUEST EXECUTIVE, VB = REQUEST WAITLIST, 015783,002927: # MONITOR SET UP. 015784,002928: 015785,002929: # THE DISPLAY SYSTEM IS ALSO BLOCKED BY THE EXTERNAL MONITOR BIT, WHICH 015786,002930: # INDICATES AND EXTERNALLY INITIATED MONITOR IS RUNNING (SEE MONITOR). 015787,002931: 015788,002932: # A NVSUB CALL THAT PASSES DSPLOCK AND THE EXTERNAL MONITOR BIT ENDS OLD 015789,002933: # MONITOR. 015790,002934: 015791,002935: # DSPLOCK IS THE INTERLOCK FOR USE OF KEYBOARD AND DISPLAY SYSTEM WHICH 015792,002936: # LOCKS OUT INTERNAL USE WHENEVER THERE IS EXTERNAL KEYBOARD ACTION. 015793,002937: 015794,002938: # NVSUB SHOULD BE USED TWICE IN SUCCESSION FOR `PLEASE PERFORM' SITUATIONS 015795,002939: # (SIMILARLY FOR PLEASE MARK). FIRST PLACE THE CODED NUMBER FOR WHAT 015796,002940: # ACTION IS DESIRED OF OPERATOR INTO THEREGISTERS REFERRED TO BY THE 015797,002941: # `CHECKLIST' NOUN. GO TO NVSUB WITH A DISPLAY VERB AND THE `CHECKLIST' 015798,002942: # NOUN. GO TO NVSUB AGAIN WTIH THE `PLEASE PERFORM' VERB AND ZEROS IN THE 015799,002943: # LOW 7 BITS. THIS `PASTES UP' THE `PLEASE PERFORM' VERB INTO THE VERB 015800,002944: # LIGHTS. 015801,002945: 015802,002946: # NVMONOPT IS AN ENTRY SIMILAR TO NVSUB, BUT REQUIRING AN ADDITIONAL 015803,002947: # Page 366 015804,002948: # PARAMETER IN L. IT SHOULD BE USED ONLY WITH A MONITOR VERB-NOUN CODE IN 015805,002949: # A. AFTER EACH MONITOR DISPLAY A *PLEASE* VERB WILL BE PASED INT THE VERB 015806,002950: # LIGHTS OR DATA WILL BE BLANKED (OR BOTH) ACCORDING TO THE OPTIONS 015807,002951: # SPECIFIED IN L. IF BITS 8-14 OF L ARE OTHER THAN ZERO, THEN THEY WILL 015808,002952: # BE INTERPRETED AS A VERB CODE AND PASTED IN THE VERB LIGHTS. (THIS VERB 015809,002953: # CODE SHOULD DESIGNATE ONE OF THE *PLEASE* VERBS.) IF BITS 1-3 OF L ARE 015810,002954: # OTHER THAN ZERO, THEN THEY WILL BE USED BO BLANK DATA BY BEING FED TO 015811,002955: # BLANKSUB. IF NVMONOPT IS USED WITH A VERB OTHER THAN A MONITOR VERB, 015812,002956: # THE PARAMETER IN L HAS NO EFFECT. 015813,002957: 015814,002958: # NVSUB IN FIXED-FIXED PLACES 2+CALLING LOC INTO NVQTEM, TC NVSUBEND INTO 015815,002959: # ENTRET. (THIS WILL RESTORE OLD CALLING BANK BITS) 015816,002960: 015817,002961: 4170 SETLOC ENDALM +1 015818,002962: 015819,002963: 4170 COUNT 02/PIN 015820,002964: 015821,002965: 4170 22007 NVSUB LXCH 7 # ZERO NVMONOPT OPTIONS 015822,002966: 4171 54123 NVMONOPT TS NVTEMP 015823,002967: 4172 34675 CAF BIT14 015824,002968: 4173 71021 MASK MONSAVE1 # EXTERNAL MONITOR BIT 015825,002969: 4174 61012 AD DSPLOCK 015826,002970: 4175 10000 CCS A 015827,002971: 4176 00002 TC Q # DSP SYST BLOCKED. RET TO 1. CALLING LOC 015828,002972: 4177 34712 CAF ONE # DSP SYST AVAILABLE. 015829,002973: 4200 60002 NVSBCOM AD Q 015830,002974: 4201 55037 TS NVQTEM # 2+ CALLING LOC INTO NVQTEM 015831,002975: 4202 23022 LXCH MONSAVE2 # STORE NVMONOPT OPTIONS 015832,002976: 4203 04220 TC KILMONON # TURN ON KILL MONITOR BIT 015833,002977: 4204 34215 NVSUBCOM CAF NVSBBBNK 015834,002978: 015835,002979: 4205 56006 XCH BBANK 015836,002980: 4206 00006 EXTEND # SAVE OLD SUPERBITS 015837,002981: 4207 04007 ROR SUPERBNK 015838,002982: 4210 55040 TS NVBNKTEM 015839,002983: 4211 34215 CAF PINSUPBT 015840,002984: 4212 00006 EXTEND 015841,002985: 4213 01007 WRITE SUPERBNK 015842,002986: 4214 02000 TC NVSUBB # GO TO NVSUB1 THRU STANDARD LOC 015843,002987: 4215 0777 EBANK= DSPCOUNT 015844,002988: 4215 62101 NVSBBBNK BBCON NVSUB1 015845,002989: 015846,002990: 4216 4215 PINSUPBT = NVSBBBNK # CONTAINS THE PINBALL SUPERBIT. 015847,002991: 015848,002992: 4216 53040 NVSUBEND DXCH NVQTEM # NVBNKTEM MUST = NVQTEM+1 015849,002993: 4217 05122 TC SUPDXCHZ # DTCB WITH SUPERBIT SWITCHING 015850,002994: 015851,002995: 41,3506 SETLOC ENDRQWT +1 015852,002996: 015853,002997: 41,3506 COUNT 41/PIN 015854,002998: # Page 367 015855,002999: 015856,003000: # BLANKDSP BLANKS DISPLAY ACCORDING TO OPTION NUMBER IN NVTEMP AS FOLLOWS: 015857,003001: # -4 FULL BLANK, -3 LEAVE MODE, -2 LEAVE MODE AND VERB, -1 BLANK R'S ONLY. 015858,003002: 015859,003003: 41,3506 64716 BLANKDSP AD SEVEN # 7,8,9, OR 10 (A HAD 0,1,2,OR 3) 015860,003004: 41,3507 00004 INHINT 015861,003005: 41,3510 54124 TS CODE # BLANK SPECIFIED DSPTABS 015862,003006: 41,3511 44677 CS BIT12 015863,003007: 41,3512 50124 INDEX CODE 015864,003008: 41,3513 57023 XCH DSPTAB 015865,003009: 41,3514 10000 CCS A 015866,003010: 41,3515 25016 INCR NOUT 015867,003011: 41,3516 03517 TC +1 015868,003012: 41,3517 10124 CCS CODE 015869,003013: 41,3520 03510 TC BLANKDSP +2 015870,003014: 41,3521 00003 RELINT 015871,003015: 41,3522 50123 INDEX NVTEMP 015872,003016: 41,3523 03530 TC +5 015873,003017: 41,3524 03525 TC +1 # NVTEMP HAS -4 (NEVER TOUCH MODREG) 015874,003018: 41,3525 55001 TS VERBREG # -3 015875,003019: 41,3526 55002 TS NOUNREG # -2 015876,003020: 41,3527 55015 TS CLPASS # -1 015877,003021: 41,3530 44374 CS VD1 015878,003022: 41,3531 54777 TS DSPCOUNT 015879,003023: 41,3532 04447 TC FLASHOFF # PROTECT AGAINS INVISIBLE FLASH 015880,003024: 41,3533 03556 TC ENTSET -2 # ZEROS REQRET 015881,003025: 015882,003026: 41,3534 33560 NVSUB1 CAF ENTSET # IN BANK 015883,003027: 41,3535 54136 TS ENTRET # SET RETURN TO NVSUBEND 015884,003028: 41,3536 10123 CCS NVTEMP # WHAT NOW 015885,003029: 41,3537 03543 TC +4 # NORMAL NVSUB CALL (EXECUTE VN OR PASTE) 015886,003030: 41,3540 02350 TC GODSPALM 015887,003031: 41,3541 03506 TC BLANKDSP # BLANK DISPLAY AS SPECIFIED 015888,003032: 41,3542 02350 TC GODSPALM 015889,003033: 41,3543 36043 CAF LOW7 015890,003034: 41,3544 70123 MASK NVTEMP 015891,003035: 41,3545 54157 TS MPAC +3 # TEMP FOR NOUN (CAN'T USE MPAC. DSPDECVN 015892,003036: 41,3546 30123 CA NVTEMP # USES MPAC, +1, +2). 015893,003037: 41,3547 54023 TS EDOP # RIGHT 7 015894,003038: 41,3550 30023 CA EDOP 015895,003039: 41,3551 54160 TS MPAC +4 # TEMP FOR VERB (CAN'T USE MPAC+1. DSPDECVN 015896,003040: # USES MPAC, +1, +2) 015897,003041: 41,3552 10157 CCS MPAC +3 # TEST NOUN 015898,003042: 41,3553 03561 TC NVSUB2 # IF NOUN NOT +0, GO ON 015899,003043: 41,3554 30160 CA MPAC +4 015900,003044: 41,3555 02336 TC UPDATVB -1 # IF NOUN = +0, DISPLAY VERB. THEN RETURN 015901,003045: 41,3556 34714 CAF ZERO # XERO REQRET SO THAT PASTED VERBS CAN 015902,003046: 41,3557 55013 TS REQRET # BE EXECUTED BY OPERATOR. 015903,003047: 41,3560 04216 ENTSET TC NVSUBEND 015904,003048: 41,3561 10160 NVSUB2 CCS MPAC +4 # TEST VERB 015905,003049: 41,3562 03566 TC +4 # IF VERB NOT +0, GO ON 015906,003050: # Page 368 015907,003051: 41,3563 30157 CA MPAC +3 015908,003052: 41,3564 02316 TC UPDATNN -1 # IF VERB = +0, DISPLAY NOUN. THEN RETURN 015909,003053: 41,3565 04216 TC NVSUBEND 015910,003054: 41,3566 30156 CA MPAC +2 # TEMP FOR MACH CADR TO BE SPEC. (DSPDECVN 015911,003055: 41,3567 54161 TS MPAC +5 # USES MPAC, +1, +2) 015912,003056: 41,3570 30160 CA MPAC +4 015913,003057: 41,3571 02336 TC UPDATVB -1 # IF BOTH NOUN AND VERB NOT +0, DISPLAY 015914,003058: 41,3572 30157 CA MPAC +3 # BOTH AND GO TO ENTPAS0. 015915,003059: 41,3573 02316 TC UPDATNN -1 015916,003060: 41,3574 34714 CAF ZERO 015917,003061: 41,3575 55014 TS LOADSTAT # SET FOR WAITING FOR DATA CONDITION 015918,003062: 41,3576 55015 TS CLPASS 015919,003063: 41,3577 55013 TS REQRET # SET REQRET FOR PASS 0. 015920,003064: 41,3600 30161 CA MPAC +5 # RESTORES MACH CADR TO BE SPEC TO MPAC+2 015921,003065: 41,3601 54156 TS MPAC +2 # FOR USE IN INTMCTBS (IN ENTPAS0). 015922,003066: 41,3602 02035 ENDNVSB1 TC ENTPAS0 015923,003067: 015924,003068: # IF INTERNAL MACH CADR TO BE SPECIFIED, MPAC+2 WILL BE PLACED INTO 015925,003069: # NOUNCADR IN ENTPAS0 (INTMCTBS). 015926,003070: 015927,003071: 4220 SETLOC NVSUBEND +2 015928,003072: 4220 COUNT 02/PIN 015929,003073: # FORCE BIT 15 OF MONSAVE1 TO . 015930,003074: 4220 34674 KILMONON CAF BIT15 # THIS IS THE KILL MONITOR BIT. 015931,003075: 4221 55021 TS MONSAVE1 # TURN OFF BIT 14, THE EXTERNAL 015932,003076: # MONITOR BIT. 015933,003077: 4222 00002 TC Q 015934,003078: 015935,003079: # LOADSTAT +0 INACTIVE (WAITING FOR DATA). SET BY NVSUB 015936,003080: # +1 PROCEED NO DATA. SET BY SPECIAL VERB 015937,003081: # -1 TERMINATE. SET BY SPECIAL VERB. 015938,003082: # -0 DATA IN. SET BY END OF LOAD ROUTINE. 015939,003083: # OR RESEQUENCE. SET BY VERB 32 015940,003084: 015941,003085: # L TO ENDIDLE (FIXED FIXED). 015942,003086: # ROUTINES THAT REQUEST LOADS THROUGH NVSUB SHOULD USE ENDIDLE WHILE 015943,003087: # WAITING FOR THE DATA TO BE LOADED. ENDIDLE PUTS CURRENT JOB TO SLEEP. 015944,003088: # ENDIDLE CANNOT BE CALLED FROM ERASABLE OR F/F MEMORY, 015945,003089: # SINCE JOB SLEEP AND JOBWAKE CAN HANDLE ONLY FIXED BANKS. 015946,003090: # RECALTST TESTS LOADSTAT AND WAKES JOB UP TO, 015947,003091: # L+1 FOR TERMINATE 015948,003092: # L+2 FOR PROCEED WITHOUT DATA 015949,003093: # L+3 FOR DATA IN, OR RESEQUENCE 015950,003094: # IT DOES NOTHING IF LOADSTAT INDICATES WAITING FOR DTA. 015951,003095: # Page 369 015952,003096: 015953,003097: # ENDIDLE ABORTS (WITH CODE 1206) IF A SECOND JOB ATTEMPTS TO GO TO SLEEP 015954,003098: # IN PINBALL. IN PARTICULAR, IF AN ATTEMPT IS MADE TO GO TO ENDIDLE WHEN 015955,003099: # 1) CADRSTOR NOT= +0. THIS IS THE CASE WHERE THE CAPACITY OF ENDIDLE IS 015956,003100: # EXCEEDED. (+-NZ INDICATES A JOB IS ALREADY ASLEEP DUE TO ENDIDDLE.) 015957,003101: # 2) DSPLIST NOT= +0. THIS INDICATES A JOB IS ALREADY ASLEEP DUE TO 015958,003102: # NVSUBUSY. 015959,003103: 015960,003104: 4223 22002 ENDIDLE LXCH Q # RETURN ADDRESS INTO L. 015961,003105: 4224 04234 TC ISCADR+0 # ABORT IF CADRSTOR NOT= +0. 015962,003106: 4225 04240 TC ISLIST+0 # ABORT IF DSPLIST NOT= +0 015963,003107: 4226 30001 CA L # DON'T SET DSPLOC TO 1 SO CAN USE 015964,003108: 4227 74747 MASK LOW10 # ENDIDLE WITH NVSUB INITIATE MONITOR. 015965,003109: 4230 60004 AD FBANK # SAME STRATEGY FOR CADR AS MAKECADR. 015966,003110: 4231 55042 TS CADRSTOR 015967,003111: 4232 05070 TC JOBSLEEP 015968,003112: 015969,003113: 4233 05112 ENDINST TC ENDOFJOB 015970,003114: 015971,003115: 4234 11042 ISCADR+0 CCS CADRSTOR # ABORTS (CODE 01206) IF CADRSTOR NOT= +0. 015972,003116: 4235 04243 TC DSPABORT # RETURNS IF CADRSTOR = +0. 015973,003117: 4236 00002 TC Q 015974,003118: 4237 04243 TC DSPABORT 015975,003119: 015976,003120: 4240 11043 ISLIST+0 CCS DSPLIST # ABORTS (CODE 01206) IF DSPLIST NOT= +0. 015977,003121: 4241 04243 TC DSPABORT # RETURNS IF DSPLIST = +0. 015978,003122: 4242 00002 TC Q 015979,003123: 4243 05622 DSPABORT TC P00DOO 015980,003124: 4244 01206 OCT 01206 015981,003125: 015982,003126: # JAMTERM ALLOWS PROGRAMS TO PERFORM THE TERMINATE FUNCTION. 015983,003127: # IT DOES ENDOFJOB. 015984,003128: 015985,003129: 4245 34215 JAMTERM CAF PINSUPBT 015986,003130: 4246 00006 EXTEND 015987,003131: 4247 01007 WRITE SUPERBNK 015988,003132: 4250 34256 CAF 34DEC 015989,003133: 4251 55013 TS REQRET # LEAVE ENTER SET FOR ENTPASS0. 015990,003134: 4252 44374 CS VD1 015991,003135: 4253 54777 TS DSPCOUNT 015992,003136: 4254 04574 TC POSTJUMP 015993,003137: 4255 61351 CADR VBTERM 015994,003138: 015995,003139: 4256 00042 34DEC DEC 34 B-14 015996,003140: 015997,003141: # JAMPROC ALLOWS PROGRAMS TO PERFORM THE PROCEED/PROCEED WITHOUT DATA 015998,003142: # FUNCTION. IT DOES ENDOFJOB. 015999,003143: # Page 370 016000,003144: 016001,003145: 4257 34215 JAMPROC CAF PINSUPBT 016002,003146: 4260 00006 EXTEND 016003,003147: 4261 01007 WRITE SUPERBNK 016004,003148: 4262 34270 CAF 33DEC 016005,003149: 4263 55013 TS REQRET # LEAVE ENTER SET FOR ENTPASS0. 016006,003150: 4264 44374 CS VD1 016007,003151: 4265 54777 TS DSPCOUNT 016008,003152: 4266 04574 TC POSTJUMP 016009,003153: 4267 61343 CADR VBPROC 016010,003154: 016011,003155: 4270 00041 33DEC DEC 33 B-14 016012,003156: 016013,003157: # BLANKSUB BLANKS ANY COMBINATION OF R1, R2, R3. 016014,003158: # CALL WITH BLANKING CODE IN A. 016015,003159: # BIT1=1 BLANKS R1, BIT2=1 BLANKS R2, BIT3=1 BLANKS R3. 016016,003160: # ANY COMBINATION OF THESE BITS IS ACCEPTED. 016017,003161: 016018,003162: # DSPCOUNT IS RESTORED TO STATE IT WAS IN BEFORE BLANKSUB WAS EXECUTED. 016019,003163: 016020,003164: 4271 74716 BLANKSUB MASK SEVEN 016021,003165: 4272 54123 TS NVTEMP # STORE BLANKING CODE IN NVTEMP. 016022,003166: 4273 34675 CAF BIT14 016023,003167: 4274 71021 MASK MONSAVE1 # EXTERNAL MONITOR BIT 016024,003168: 4275 61012 AD DSPLOCK 016025,003169: 4276 10000 CCS A 016026,003170: 4277 00002 TC Q # DSP SYST BLOCKED. RET TO 1+ CALLING LOC 016027,003171: 4300 24002 INCR Q # DSP SYST AVAILABLE 016028,003172: # SET RETURN FOR 2+ CALLING LOC 016029,003173: 4301 10123 CCS NVTEMP 016030,003174: 4302 14304 TCF +2 016031,003175: 4303 00002 TC Q # NOTHING TO BLANK. RET TO 2+ CALLING LOC 016032,003176: 4304 22002 LXCH Q # SET RETURN FOR 2 + CALLING LOC 016033,003177: 4305 34316 CAF BLNKBBNK 016034,003178: 4306 56006 XCH BBANK 016035,003179: 4307 00006 EXTEND 016036,003180: 4310 04007 ROR SUPERBNK # SAVE OLD SUPERBITS. 016037,003181: 4311 52131 DXCH BUF 016038,003182: 4312 34215 CAF PINSUPBT 016039,003183: 4313 00006 EXTEND 016040,003184: 4314 01007 WRITE SUPERBNK 016041,003185: 4315 03406 TC BLNKSUB1 016042,003186: 016043,003187: 4316 0777 EBANK= DSPCOUNT 016044,003188: 4316 60101 BLNKBBNK BBCON BLNKSUB1 016045,003189: 4317 ENDBLFF EQUALS 016046,003190: 016047,003191: 40,3406 SETLOC ENDRELDS 016048,003192: 40,3406 COUNT 40/PIN 016049,003193: 016050,003194: # Page 371 016051,003195: 40,3406 30777 BLNKSUB1 CA DSPCOUNT # SAVE OLD DSPCOUNT FOR LATER RESTORATION 016052,003196: 40,3407 54132 TS BUF +2 016053,003197: 40,3410 34712 CAF BIT1 # TEST BIT1. SEE IF R1 TO BE BLANKED. 016054,003198: 40,3411 03430 TC TESTBIT 016055,003199: 40,3412 34333 CAF R1D1 016056,003200: 40,3413 02436 TC 5BLANK -1 016057,003201: 40,3414 34711 CAF BIT2 # TEST BIT2. SEE IF R2 TO BE BLANKED. 016058,003202: 40,3415 03430 TC TESTBIT 016059,003203: 40,3416 34334 CAF R2D1 016060,003204: 40,3417 02436 TC 5BLANK -1 016061,003205: 40,3420 34710 CAF BIT3 # TEST BIT3. SEE IF R3 TO BE BLANKED. 016062,003206: 40,3421 03430 TC TESTBIT 016063,003207: 40,3422 34335 CAF R3D1 016064,003208: 40,3423 02436 TC 5BLANK -1 016065,003209: 40,3424 30132 CA BUF +2 # RESTORE DSPCOUNT TO STATE IT HAD 016066,003210: 40,3425 54777 TS DSPCOUNT # BEFORE BLANKSUB. 016067,003211: 40,3426 52131 DXCH BUF # CALL L+2 DIRECTORY. 016068,003212: 40,3427 05123 TC SUPDXCHZ +1 # DTCB WITH SUPERBIT (garbled) 016069,003213: 016070,003214: 40,3430 70123 TESTBIT MASK NVTEMP # NVTEMP CONTAINS BLANK(garbled) CODE 016071,003215: 40,3431 10000 CCS A 016072,003216: 40,3432 00002 TC Q # IF CURRENT BIT = 1, RETURN TO L+1. 016073,003217: 40,3433 50002 INDEX Q # IF CURRENT BIT = 0, RETURN TO L+3. 016074,003218: 40,3434 00002 TC 2 016075,003219: 016076,003220: 40,3435 ENDBSUB1 EQUALS 016077,003221: 016078,003222: # DSPMM DOES NOT DISPLAY MODREG DIRECTLY. IT PUTS IN EXEC REQUEST WITH 016079,003223: # PRIO 30000 FOR DSPMMJB AND RETURNS TO CALLER. 016080,003224: 016081,003225: # IF MODREG CONTAINS -0, DSPMMJB BLANKS THE MODE LIGHTS. 016082,003226: 016083,003227: # DSPMM MUST BE IN BANK 27 OR LOWER, SO IT CAN BE CALLED VIA BANKCALL. 016084,003228: 016085,003229: 07,2440 BANK 7 016086,003230: 04,2000 SETLOC PINBALL4 016087,003231: 04,2000 BANK 016088,003232: 016089,003233: 04,2537 COUNT 07/PIN 016090,003234: 016091,003235: 04,2537 56002 DSPMM XCH Q 016092,003236: 04,2540 54154 TS MPAC 016093,003237: 04,2541 00004 INHINT 016094,003238: 04,2542 34371 CAF CHRPRIO 016095,003239: 04,2543 05027 TC NOVAC 016096,003240: 04,2544 0777 EBANK= DSPCOUNT 016097,003241: 04,2544 03435 60101 2CADR DSPMMJB 016098,003242: 016099,003243: 04,2546 00003 RELINT 016100,003244: # Page 372 016101,003245: 04,2547 00154 ENDSPMM TC MPAC 016102,003246: 016103,003247: # DSPMM PLACE MAJOR MODE CODE INTO MODREG 016104,003248: 016105,003249: 40,3435 SETLOC ENDBSUB1 016106,003250: 016107,003251: 40,3435 COUNT 40/PIN 016108,003252: 016109,003253: 40,3435 34376 DSPMMJB CAF MD1 # GETS HERE THRU DSPMM 016110,003254: 40,3436 56777 XCH DSPCOUNT 016111,003255: 40,3437 54140 TS DSPMMTEM # SAVE DSPCOUNT 016112,003256: 40,3440 11011 CCS MODREG 016113,003257: 40,3441 64712 AD ONE 016114,003258: 40,3442 03211 TC DSPDECVN # IF MODREG IS + OR +0, DISPLAY MODREG 016115,003259: 40,3443 03445 TC +2 # IF MODREG IS -NZ, DO NOTHING 016116,003260: 40,3444 02502 TC 2BLANK # IF MODREG IS -0, BLANK MM 016117,003261: 40,3445 56140 XCH DSPMMTEM # RESTORE DSPCOUNT 016118,003262: 40,3446 54777 TS DSPCOUNT 016119,003263: 40,3447 05112 TC ENDOFJOB 016120,003264: 016121,003265: # RECALTST IS ENTERED DIRECTLY AFTER DATA IS LOADED (OR RESEQUENCE VERB IS 016122,003266: # EXECUTED), TERMINATE VERB IS EXECUTED, OR PROCEED WITHOUT DATA VERB IS 016123,003267: # EXECUTED. IT WAKES UP JOB THAT DID TC ENDIDLE. 016124,003268: # 016125,003269: # IF CADRSTOR NOT= +0, IT PUTS +0 INTO DSPLOCK, AND TURNS OFF KEY RLSE 016126,003270: # LIGHT IF DSPLIST IS EMPTY (LEAVES KEY RLSE LLIGHT ALONE IF NOT EMPTY). 016127,003271: 016128,003272: 40,3450 11042 RECALTST CCS CADRSTOR 016129,003273: 40,3451 03453 TC RECAL1 016130,003274: 40,3452 05112 TC ENDOFJOB # NORMAL EXIT IF KEYBOARD INITIATED 016131,003275: 40,3453 34714 RECAL1 CAF ZERO 016132,003276: 40,3454 57042 XCH CADRSTOR 016133,003277: 40,3455 00004 INHINT 016134,003278: 40,3456 05074 TC JOBWAKE 016135,003279: 40,3457 11014 CCS LOADSTAT 016136,003280: 40,3460 03502 TC DOPROC # + PROCEED WITHOUT DATA 016137,003281: 40,3461 05112 TC ENDOFJOB # PATHELOGICAL CASE EXIT 016138,003282: 40,3462 03500 TC DOTERM # - TERMINATE 016139,003283: 40,3463 34711 CAF TWO # -0 DATA IN OR RESEQUENCE 016140,003284: 40,3464 50064 RECAL2 INDEX LOCCTR 016141,003285: 40,3465 60164 AD LOC # LOC IS + FOR BASIC JOBS 016142,003286: 40,3466 50064 INDEX LOCCTR 016143,003287: 40,3467 54164 TS LOC 016144,003288: 40,3470 31002 CA NOUNREG # SAVE VERB IN MPAC, NOUN IN MPAC+1 AT 016145,003289: 40,3471 54001 TS L # TIME OF RESPONSE TO ENDIDLE FOR 016146,003290: 40,3472 31001 CA VERBREG # POSSIBLE LATER TESTING BY JOB THAT HAS 016147,003291: 40,3473 50064 INDEX LOCCTR # BEEN WAKED UP. 016148,003292: 40,3474 52155 DXCH MPAC 016149,003293: 40,3475 00003 RELINT 016150,003294: # Page 373 016151,003295: 40,3476 04473 RECAL3 TC RELDSP 016152,003296: 40,3477 05112 TC ENDOFJOB 016153,003297: 016154,003298: 40,3500 34714 DOTERM CAF ZERO 016155,003299: 40,3501 03464 TC RECAL2 016156,003300: 40,3502 34712 DOPROC CAF ONE 016157,003301: 40,3503 03464 TC RECAL2 016158,003302: # Page 374 016159,003303: # MISCELLANEOUS SERVICE ROUTINES IN FIXED/FIXED 016160,003304: 016161,003305: 4317 SETLOC ENDBLFF 016162,003306: 016163,003307: 4317 COUNT 02/PIN 016164,003308: 016165,003309: # SETNCADR E CADR ARRIVES IN A. IT IS STORED IN NOUNCADR. EBANK BITS 016166,003310: # ARE SET. E ADRES IS DERIVED AND PUT INTO NOUNADD. 016167,003311: 016168,003312: 4317 55017 SETNCADR TS NOUNCADR # STORE ECADR 016169,003313: 4320 54003 TS EBANK # SET EBANK BITS 016170,003314: 4321 74373 MASK LOW8 016171,003315: 4322 64744 AD OCT1400 016172,003316: 4323 54145 TS NOUNADD # PUT E ADRES INTO NOUNADD 016173,003317: 4324 00002 TC Q 016174,003318: 016175,003319: # SETNADD GETS E CADR FROM NOUNCADR, SETS EBANK BITS, DERIVES 016176,003320: # E ADRES AND PUTS IT INTO NOUNADD. 016177,003321: 016178,003322: 4325 31017 SETNADD CA NOUNCADR 016179,003323: 4326 14320 TCF SETNCADR +1 016180,003324: 016181,003325: # SETEBANK E CADR ARRIVES IN A. EBANK BITS ARE SET. E ADRES IS 016182,003326: # DERIVED AND LEFT IN A. 016183,003327: 016184,003328: 4327 54003 SETEBANK TS EBANK # SET EBANK BITS 016185,003329: 4330 74373 MASK LOW8 016186,003330: 4331 64744 AD OCT1400 # E ADRES LEFT IN A 016187,003331: 4332 00002 TC Q 016188,003332: 016189,003333: 4333 00016 R1D1 OCT 16 # THESE 3 CONSTANTS FORM A PACKED TABLE. 016190,003334: 4334 00011 R2D1 OCT 11 # DON'T SEPARATE. 016191,003335: 4335 00004 R3D1 OCT 4 016192,003336: 016193,003337: 4336 54020 RIGHT5 TS CYR 016194,003338: 4337 40020 CS CYR 016195,003339: 4340 40020 CS CYR 016196,003340: 4341 40020 CS CYR 016197,003341: 4342 40020 CS CYR 016198,003342: 4343 56020 XCH CYR 016199,003343: 4344 00002 TC Q 016200,003344: 016201,003345: 4345 54022 LEFT5 TS CYL 016202,003346: 4346 40022 CS CYL 016203,003347: 4347 40022 CS CYL 016204,003348: 4350 40022 CS CYL 016205,003349: # Page 375 016206,003350: 4351 40022 CS CYL 016207,003351: 4352 56022 XCH CYL 016208,003352: 4353 00002 TC Q 016209,003353: 016210,003354: 4354 60000 SLEFT5 DOUBLE 016211,003355: 4355 60000 DOUBLE 016212,003356: 4356 60000 DOUBLE 016213,003357: 4357 60000 DOUBLE 016214,003358: 4360 60000 DOUBLE 016215,003359: 4361 00002 TC Q 016216,003360: 016217,003361: 4362 00037 LOW5 OCT 37 # THESE 3 CONSTANTS FORM A PACKED TABLE. 016218,003362: 4363 01740 MID5 OCT 1740 # DON'T SEPARATE. 016219,003363: 4364 76000 HI5 OCT 76000 # MUST STAY HERE 016220,003364: 016221,003365: 4365 05027 TCNOVAC TC NOVAC 016222,003366: 4366 05140 TCWAIT TC WAITLIST 016223,003367: 4367 05213 TCTSKOVR TC TASKOVER 016224,003368: 4370 05042 TCFINDVC TC FINDVAC 016225,003369: 016226,003370: 4371 30000 CHRPRIO OCT 30000 # EXEC PRIORITY OF CHARIN 016227,003371: 016228,003372: 4372 03777 LOW11 OCT 3777 016229,003373: 4373 4372 B12-1 EQUALS LOW11 016230,003374: 4373 00377 LOW8 OCT 377 016231,003375: 016232,003376: 4374 00023 VD1 OCT 23 # THESE 3 CONSTANTS FORM A PACKED TABLE. 016233,003377: 4375 00021 ND1 OCT 21 # DON'T SEPARATE. 016234,003378: 4376 00025 MD1 OCT 25 016235,003379: 016236,003380: 4377 00012 BINCON DEC 10 B-14 016237,003381: 016238,003382: 4400 34704 FALTON CA BIT7 # TURN ON OPERATOR ERROR LIGHT. 016239,003383: 4401 00006 EXTEND 016240,003384: 4402 05011 WOR DSALMOUT # BIT 7 OF CHANNEL 11 016241,003385: 4403 00002 TC Q 016242,003386: 016243,003387: 4404 44704 FALTOF CS BIT7 # TURN OFF OPERATOR ERROR LIGHT 016244,003388: 4405 00006 EXTEND 016245,003389: 4406 03011 WAND DSALMOUT # BIT 7 OF CHANNEL 11 016246,003390: 4407 00002 TC Q 016247,003391: 016248,003392: 4410 34706 RELDSPON CAF BIT5 # TURN ON KEY RELEASE LIGHT 016249,003393: 4411 00006 EXTEND 016250,003394: 4412 05011 WOR DSALMOUT # BIT 5 OF CHANNEL 11 016251,003395: 4413 00002 TC Q 016252,003396: 016253,003397: # Page 376 016254,003398: 4414 00006 LODSAMPT EXTEND 016255,003399: 4415 30025 DCA TIME2 016256,003400: 4416 52014 DXCH SAMPTIME 016257,003401: 4417 00002 TC Q 016258,003402: 016259,003403: 4420 00006 TPSL1 EXTEND # SHIFTS MPAC, +1, +2 LEFT 1 016260,003404: 4421 30156 DCA MPAC +1 # LEAVES OVFIND SET TO +/- 1 FOR OF/UF 016261,003405: 4422 20156 DAS MPAC +1 016262,003406: 4423 60154 AD MPAC 016263,003407: 4424 26154 ADS MPAC 016264,003408: 4425 54007 TS 7 # TS A DOES NOT CHANGE A ON OF/UF. 016265,003409: 4426 00002 TC Q # NO NET OF/UF 016266,003410: 4427 54162 TS MPAC+6 # MPAC +6 SET TO +/- 1 FOR OF/UF 016267,003411: 4430 00002 TC Q 016268,003412: 016269,003413: # IF MPAC, +1 ARE EACH +NZ OR +0 AND C(A)=-0, SHORTMP WRONGLY GIVES +0. 016270,003414: # IF MPAC, +1 ARE EACH -NZ OR -0 AND C(A)=+0, SHORTMP WRONGLY GIVES +0. 016271,003415: # PRSHRTMP FIXES FORST CASE ONLY, BY MERELY TESTING C(A) AND IF IT = -0, 016272,003416: # SETTING RESULT TO -0. 016273,003417: 016274,003418: # (DO NOT USE PRSHRTMP UNLESS MPAC, +1 ARE EACH +NZ OR +0, AS THEY ARE 016275,003419: # WHEN THEY CONTAIN THE SF CONSTANTS.) 016276,003420: 016277,003421: 4431 54135 PRSHRTMP TS MPTEMP 016278,003422: 4432 10000 CCS A 016279,003423: 4433 30135 CA MPTEMP # C(A) +, DO REGULAR SHORTMP 016280,003424: 4434 17257 TCF SHORTMP +1 # C(A) +0, DO REGULAR SHORTMP 016281,003425: 4435 14433 TCF -2 # C(A) -, DO REGULAR SHORTMP 016282,003426: 4436 44714 CS ZERO # C(A) -0, FORCE RESULT TO -0 AND RETURN. 016283,003427: 4437 54154 TS MPAC 016284,003428: 4440 54155 TS MPAC +1 016285,003429: 4441 54156 TS MPAC +2 016286,003430: 4442 00002 TC Q 016287,003431: 016288,003432: 4443 34705 FLASHON CAF BIT6 # TURN ON V/N FLASH 016289,003433: 4444 00006 EXTEND # BIT 6 OF CHANNEL 11 016290,003434: 4445 05011 WOR DSALMOUT 016291,003435: 4446 00002 TC Q 016292,003436: 016293,003437: 4447 44705 FLASHOFF CS BIT6 # TURN OFF V/N FLASH 016294,003438: 4450 00006 EXTEND 016295,003439: 4451 03011 WAND DSALMOUT 016296,003440: 4452 00002 TC Q 016297,003441: 016298,003442: # Page 377 016299,003443: # INTERNAL USE OF KEYBOARD AND DISPLAY PROGRAM. 016300,003444: 016301,003445: # USER MUST SCHEDULE CALLS TO NVSUB SO THAT THERE IS NO CONFLICT OF USE OR 016302,003446: # CONFUSION TO OPERATOR. THE OLD CRABLOCK (INTERNAL/INTERNAL INTERLOCK) 016303,003447: # HAS BEEN REMOVED AND THE INTERNAL USER NO LONGER HAS THE PROTECTION THIS 016304,003448: # OFFERED. 016305,003449: 016306,003450: # THERE ARE TWO WAYS A JOB CAN BE PUT TO SLEEP BY TEH KEYBOARD + DISPLAY 016307,003451: # PROGRAM. 1) BY ENDIDLE 016308,003452: # 2) BY NVSUBUSY 016309,003453: # THE BASIC CONVENTION IS THAT ONLY ONE JOB WILL BE PERITTED ASLEEP VIA 016310,003454: # THE KEYBOARD + DISPLAY PROGRAM AT A TIME. IF A JOB ATTEMPTS TO GO TO 016311,003455: # SLEEP BY MEANS OF (1) OR (2) AND THERE IS ALREADY AJOB ASLEEP THAT WAS 016312,003456: # PUT TO SLEEP BY (1) OR (2), THEN AN ABORT IS CAUSED. 016313,003457: 016314,003458: # THE CALLING SEQUENCE FOR NVSUB IS 016315,003459: # CAF V/N 016316,003460: # L TC NVSUB 016317,003461: # L+1 RETURN HERE IF OPERATOR HAS INTERVENED 016318,003462: # L+2 RETURN HERE AFTER EXECUTION 016319,003463: 016320,003464: # A ROUTINE CALLED NVSUBUSY IS PROVIDED (USE IS OPTIONAL) TO PUT 016321,003465: # YOUR JOB TO SLEEP UNTIL THE OPERATOR RELEASES THE KEYBOARD + DISPLAY 016322,003466: # SYSTEM. NVSUBUSY ALSO TURNS ON THE KEY RELEASE LIGHT. 016323,003467: # NVSUBUSY CANNOT BE CALLED FROM ERASABLE OR F/F MEMORY, 016324,003468: # SINCE JOBSLEEP AND JOBWAKE CAN HANDLE ONLY FIXED BANKS. 016325,003469: 016326,003470: # THE CALLING SEQUENCE IS 016327,003471: # CAF WAKEFCADR 016328,003472: # TC NVSUBUSY 016329,003473: 016330,003474: # NVSUBUSY IS INTENDED FOR USE WHEN AN INTERNAL PROGRAM FINDS THE OPERATOR 016331,003475: # IS NOT USING THE KEYBOARD + DISPLAY PROGRAM (BY HIS OWN INITIATION). IT IS 016332,003476: # NOT INTENDED FOR USE WHEN ONE INTERNAL PROGRAM FINDS ANOTHER INTERNAL 016333,003477: # PROGRAM USING THE KEYBOARD + DISPLAY PROGRAM. 016334,003478: 016335,003479: # NVSUBUSY ABORTS (WITH CODE 01206) IF A SECOND JOB ATTEMPTS TO GO TO 016336,003480: # SLEEP IN PINBALL. IN PARTICULAR, IF AN ATTEMPT IS MAKE TO GO TO NVSUBUSY 016337,003481: # WHEN 016338,003482: 016339,003483: # 1) DSPLIST NOT= +0. THIS IS THE CASE WHERE THE CAPACITY FO THE DSPLIST 016340,003484: # IS EXCEEDED. 016341,003485: # 2) CADRSTOR NOT= +0. THIS INDICATES THAT A JOB IS ALREADY USING 016342,003486: # Page 378 016343,003487: # ENDIDLE. (+-NZ INDICATES A JOB IS ALREADY ASLEEP DUE TO ENDIDLE.) 016344,003488: 016345,003489: 4453 44460 PRENVBSY CS 2K+3 # SPECIAL ENTRANCE FOR ROUTINES IN FIXED 016346,003490: 4454 60002 AD Q # BANKS ONLY DESIRING THE FCADR OF (LOC 016347,003491: 4455 60004 AD FBANK # FROM WHICH THE TC PRENVBSY WAS DONE) -2 016348,003492: 4456 04574 NVSUBUSY TC POSTJUMP # TO BE ENTERED. 016349,003493: 4457 10550 CADR NVSUBSY1 016350,003494: 4460 02003 2K+3 OCT 2003 016351,003495: 016352,003496: # NVSUBSY1 MUST BE IN BANK 27 OR LOWER, SO IT WILL PUT CALLER TO SLEEP 016353,003497: # WITH HIS PROPER SUPERBITS. 016354,003498: 016355,003499: 04,2550 SETLOC ENDSPMM +1 016356,003500: 04,2550 COUNT 07/PIN 016357,003501: 016358,003502: 04,2550 54001 NVSUBSY1 TS L 016359,003503: 04,2551 04234 TC ISCADR+0 # ABORT IF CADRSTOR NOT= +0. 016360,003504: 04,2552 04240 TC ISLIST+0 # ABORT IF DSPLIST NOT= +0. 016361,003505: 04,2553 04410 TC RELDSPON 016362,003506: 04,2554 30001 CA L 016363,003507: 04,2555 55043 TS DSPLIST 016364,003508: 04,2556 05070 ENDNVBSY TC JOBSLEEP 016365,003509: 016366,003510: # NVSBWAIT IS A SPECIAL ENTRANCE FOR ROUTINES IN FIXED BANKS ONLY. IF 016367,003511: # SYSTEM IS NOT BUSY, IT EXECUTES V/N AND RETURNS TO L+1 (L= LOC FROM 016368,003512: # WHICH THE TC NVSBWAIT WAS DONE). IF SYSTEM IS BUSY, IT PUTS CALLING JOB 016369,003513: # TO SLEEP WITH L-1 GOING INTO LIST FOR EVENTUAL WAKING UP WHEN SYSTEM 016370,003514: # IS NOT BUSY. 016371,003515: 016372,003516: 4461 SETLOC NVSUBUSY +3 016373,003517: 4461 COUNT 02/PIN 016374,003518: 016375,003519: 4461 22007 NVSBWAIT LXCH 7 # ZERO NVMONOPT OPTIONS 016376,003520: 4462 54123 TS NVTEMP 016377,003521: 4463 34675 CAF BIT14 016378,003522: 4464 71021 MASK MONSAVE1 # EXTERNAL MONITOR BIT 016379,003523: 4465 61012 AD DSPLOCK 016380,003524: 4466 10000 CCS A 016381,003525: 4467 14471 TCF NVSBWT1 # BUSY 016382,003526: 4470 14200 TCF NVSBCOM # FREE. NVSUB WILL SAVE L+1 FOR RETURN 016383,003527: # AFTER EXECUTION. 016384,003528: 4471 24002 NVSBWT1 INCR Q # L+2. PRENVBSY WILL PUT L-1 INTO LIST AND 016385,003529: 4472 14453 TCF PRENVBSY # GO TO SLEEP. 016386,003530: 016387,003531: # RELDSP IS USED BY VBPROC, VBTERM, VBRQEXEC, VBRQWAIT, VBRELDSP, EXTENDED 016388,003532: # VERB DISPATCHER, VBRESEQ, RECALTST. 016389,003533: 016390,003534: # RELDSP1 IS USED BY MONITOR SET UP, VBRELDSP. 016391,003535: 016392,003536: 4473 56002 RELDSP XCH Q # SET DSPLOCK TO +0, TURN RELDSP LIGHT 016393,003537: # Page 379 016394,003538: 4474 54144 TS RELRET # OFF, SEARCH DSPLIST 016395,003539: 4475 44675 CS BIT14 016396,003540: 4476 00004 INHINT 016397,003541: 4477 71021 MASK MONSAVE1 016398,003542: 4500 55021 TS MONSAVE1 # TURN OFF EXTERNAL MONITOR BIT 016399,003543: 4501 11043 CCS DSPLIST 016400,003544: 4502 04504 TC +2 016401,003545: 4503 04507 TC RELDSP2 # LIST EMPTY 016402,003546: 4504 34714 CAF ZERO 016403,003547: 4505 57043 XCH DSPLIST 016404,003548: 4506 05074 TC JOBWAKE 016405,003549: 4507 00003 RELDSP2 RELINT 016406,003550: 4510 44706 CS BIT5 # TURN OFF KEY RELEASE LIGHT 016407,003551: 4511 00006 EXTEND # (BIT 5 OF CHANNEL 11) 016408,003552: 4512 03011 WAND DSALMOUT 016409,003553: 4513 34714 CAF ZERO 016410,003554: 4514 55012 TS DSPLOCK 016411,003555: 4515 00144 TC RELRET 016412,003556: 4516 56002 RELDSP1 XCH Q # SET DSPLOCK TO +0. NO DSPLIST SEARCH. 016413,003557: 4517 54144 TS RELRET # TURN KEY RLSE LIGHT OFF IF DSPLIST IS 016414,003558: # EMPTY. LEAVE KEY RLSE LIGHT ALONE IF 016415,003559: # DSPLIST IS NOT EMPTY. 016416,003560: 4520 11043 CCS DSPLIST 016417,003561: 4521 04523 TC +2 # + NOT EMPTY. LEAVE KEY RLSE LIGHT ALONE. 016418,003562: 4522 04507 TC RELDSP2 # +0 EMPTY. TURN OFF KEY RLSE LIGHT 016419,003563: 4523 34714 CAF ZERO # - NOT EMPTY. LEAVE KEY RLSE LIGHT ALONE 016420,003564: 4524 55012 TS DSPLOCK 016421,003565: 4525 00144 TC RELRET 016422,003566: 016423,003567: 4526 ENDPINBF EQUALS 016424,003568: 016425,003569: # Page 380 016426,003570: # PINTEST IS NEEDED FOR AUTO CHECK OF PINBALL. 016427,003571: 016428,003572: 4526 43,2002 PINTEST EQUALS LST2FAN 016429,003573: 016430,003574: # Page 381 016431,003575: # VBTSTLTS TURNS ON ALL DISPLAY PANEL LIGHTS. AFTER 5 SEC, IT TURNS 016432,003576: # OFF THE CAUTION AND STATUS LIGHTS. 016433,003577: 016434,003578: 41,3603 SETLOC ENDNVSB1 +1 016435,003579: 016436,003580: 41,3603 COUNT 41/PIN 016437,003581: 016438,003582: 41,3603 00004 VBTSTLTS INHINT 016439,003583: 41,3604 44712 CS BIT1 # SET BIT 1 OF IMODES33 SO IMUMON WON'T 016440,003584: 41,3605 71321 MASK IMODES33 # TURN OUT ANY LAMPS. 016441,003585: 41,3606 64712 AD BIT1 016442,003586: 41,3607 55321 TS IMODES33 016443,003587: 016444,003588: 41,3610 33644 CAF TSTCON1 # TURN ON UPLINK ACTIVITY, TEMP, KEY RLSE, 016445,003589: 41,3611 00006 EXTEND # V/N FLASH, OPERATOR ERROR. 016446,003590: 41,3612 05011 WOR DSALMOUT 016447,003591: 41,3613 33645 CAF TSTCON2 # TURN ON NO ATT, GIMBAL LOCK, TRACKER, 016448,003592: 41,3614 55036 TS DSPTAB +11D # PROG ALM. 016449,003593: 41,3615 34701 CAF BIT10 # TURN ON TEST ALARM OUTBIT 016450,003594: 41,3616 00006 EXTEND 016451,003595: 41,3617 05013 WOR CHAN13 016452,003596: 41,3620 34377 CAF TEN 016453,003597: 41,3621 54117 TSTLTS1 TS ERCNT 016454,003598: 41,3622 43642 CS FULLDSP 016455,003599: 41,3623 50117 INDEX ERCNT 016456,003600: 41,3624 55023 TS DSPTAB 016457,003601: 41,3625 10117 CCS ERCNT 016458,003602: 41,3626 03621 TC TSTLTS1 016459,003603: 41,3627 43643 CS FULLDSP1 016460,003604: 41,3630 55024 TS DSPTAB +1 # TURN ON 3 PLUS SIGNS 016461,003605: 41,3631 55027 TS DSPTAB +4 016462,003606: 41,3632 55031 TS DSPTAB +6 016463,003607: 41,3633 34717 CAF ELEVEN 016464,003608: 41,3634 55016 TS NOUT 016465,003609: 41,3635 33647 CAF SHOLTS 016466,003610: 41,3636 05140 TC WAITLIST 016467,003611: 41,3637 1023 EBANK= DSPTAB 016468,003612: 41,3637 03650 62102 2CADR TSTLTS2 016469,003613: 016470,003614: 41,3641 05112 TC ENDOFJOB # DSPLOCK IS LEFT BUSY (FROM KEYBOARD 016471,003615: # ACTION) UNTIL TSTLTS3 TO INSURE THAT 016472,003616: # LIGHTS TEST WILL BE SEEN. 016473,003617: 016474,003618: 41,3642 05675 FULLDSP OCT 05675 # DISPLAY ALL 8'S 016475,003619: 41,3643 07675 FULLDSP1 OCT 07675 # DISPLAY ALL 8'S AND + 016476,003620: 016477,003621: 41,3644 00175 TSTCON1 OCT 00175 016478,003622: # UPLINK ACTIVITY, TEMP, KEY RLSE, 016479,003623: # V/N FLASH, OPERATOR ERROR. 016480,003624: 41,3645 40650 TSTCON2 OCT 40650 # DSPTAB+11D BITS 3,4,5,6,8,9 LR LITES, 016481,003625: # Page 382 016482,003626: # NO ATT, GIMBAL LOCK, TRACKER, PROG ALM. 016483,003627: 41,3646 00115 TSTCON3 OCT 0115 # CHAN 11 BITS 1,3, 4, 7. 016484,003628: # UPLINK ACITIVY, TEMP, OPERATOR ERROR. 016485,003629: 41,3647 00764 SHOLTS OCT 764 # 5 SEC 016486,003630: 016487,003631: 41,3650 34371 TSTLTS2 CAF CHRPRIO # CALLED BY WAITLIST 016488,003632: 41,3651 05027 TC NOVAC 016489,003633: 41,3652 1023 EBANK= DSPTAB 016490,003634: 41,3652 03655 62102 2CADR TSTLTS3 016491,003635: 016492,003636: 41,3654 05213 TC TASKOVER 016493,003637: 016494,003638: 41,3655 43646 TSTLTS3 CS TSTCON3 # CALLED BY EXECUTIVE 016495,003639: 41,3656 00004 INHINT 016496,003640: 41,3657 00006 EXTEND # TURN OFF UPLINK ACTIVITY, TEMP, 016497,003641: 41,3660 03011 WAND DSALMOUT # OPERATOR ERROR. 016498,003642: 41,3661 44701 CS BIT10 # TURN OFF TEST ALARM OUTBIT 016499,003643: 41,3662 00006 EXTEND 016500,003644: 41,3663 03013 WAND CHAN13 016501,003645: 41,3664 34707 CAF BIT4 # MAKE NO ATT FOLLOW BIT 4 OF CHANNEL 12 016502,003646: 41,3665 00006 EXTEND # (NO TT LIGHT ON IF IN COARSE ALIGN) 016503,003647: 41,3666 02012 RAND CHAN12 016504,003648: 41,3667 64674 AD BIT15 # TURN OFF AUTO, HOLD, FREE, SPARE, 016505,003649: 41,3670 55036 TS DSPTAB +11D # GIMBAL LOCK, SPARE, TRACKER, PROG ALM 016506,003650: 41,3671 43713 CS 13-11,1 # SET BITS TO INDICATE ALL LAMPS OUT. TEST 016507,003651: 41,3672 71321 MASK IMODES33 # LIGHTS COMPLETE. 016508,003652: 41,3673 64763 AD PRIO16 016509,003653: 41,3674 55321 TS IMODES33 016510,003654: 016511,003655: 41,3675 43714 CS OCT55000 016512,003656: 41,3676 71320 MASK IMODES30 016513,003657: 41,3677 64762 AD PRIO15 # 15000. 016514,003658: 41,3700 55320 TS IMODES30 016515,003659: 016516,003660: 41,3701 41331 CS OPTMODES 016517,003661: 41,3702 74704 MASK BIT7 016518,003662: 41,3703 27331 ADS OPTMODES 016519,003663: 016520,003664: 41,3704 00003 RELINT 016521,003665: 016522,003666: 41,3705 04555 TC BANKCALL # REDISPLAY C(MODREG) 016523,003667: 41,3706 10537 CADR DSPMM 016524,003668: 41,3707 04220 TC KILMONON # TURN ON KILL MONITOR BIT. 016525,003669: 41,3710 04447 TC FLASHOFF # TURN OFF V/N FLASH. 016526,003670: 41,3711 04574 TC POSTJUMP # DOES RELDSP AND GOES TO PINBRNCH IF 016527,003671: 41,3712 61372 CADR TSTLTS4 # ENDIDLE IS AWAITING OPERATOR RESPONSE. 016528,003672: 41,3713 16001 13-11,1 OCT 16001 016529,003673: 41,3714 55000 OCT55000 OCT 55000 016530,003674: 41,3715 ENDPINS2 EQUALS 016531,003675: 016532,003676: # Page 383 016533,003677: # ERROR LIGHT RESET (RSET) TURNS OFF: 016534,003678: # UPLINK ACTIVITY, AUTO, HOLD, FREE, OPERATOR ERROR, 016535,003679: # PROG ALM, TRACKER FAIL. 016536,003680: 016537,003681: # LEAVES GIMBAL LOCK AND NO ATT ALONE. 016538,003682: # 016539,003683: # IT ALSO ZEROS THE `TEST ALARM' OUT BIT, WHICH TURNS OFF STBY, RESTART. 016540,003684: # IT ALSO SETS `CAUTION RESET' TO 1. 016541,003685: # IT ALSO FORCES BIT 12 OF ALL DSPTAB ENTRIES TO 1. 016542,003686: 016543,003687: 40,3504 SETLOC DOPROC +2 016544,003688: 40,3504 COUNT 40/PIN 016545,003689: 016546,003690: 40,3504 56115 ERROR XCH 21/22REG # RESTORE ORIGINAL C(DSPLOCK). THUS ERROR 016547,003691: 40,3505 55012 TS DSPLOCK # LIGHT RESET LEAVES DSPLOCK CHANGED. 016548,003692: 40,3506 00004 INHINT 016549,003693: 40,3507 34701 CAF BIT10 # TURN ON `CAUTION RESET' OUTBIT 016550,003694: 40,3510 00006 EXTEND 016551,003695: 40,3511 05011 WOR DSALMOUT # BIT10 CHAN 11 016552,003696: 40,3512 33572 CAF GL+NOATT # LEAVE GIMBAL LOCK AND NO ATT INTACT, 016553,003697: 40,3513 71036 MASK DSPTAB +11D # TURNING OFF AUTO, HOLD, FREE, 016554,003698: 40,3514 64674 AD BIT15 # PROG ALARM, AND TRACKER. 016555,003699: 40,3515 55036 TS DSPTAB +11D 016556,003700: 40,3516 44763 CS PRIO16 # RESET FAIL BITS WHICH GENERATE PROG 016557,003701: 40,3517 71321 MASK IMODES33 # ALARM SO THAT IF THE FAILURE STILL 016558,003702: 40,3520 64763 AD PRIO16 # EXISTS, THE ALARM WILL COME BACK. 016559,003703: 40,3521 55321 TS IMODES33 016560,003704: 40,3522 44701 CS BIT10 016561,003705: 40,3523 71320 MASK IMODES30 016562,003706: 40,3524 64701 AD BIT10 016563,003707: 40,3525 55320 TS IMODES30 016564,003708: 016565,003709: 40,3526 41331 CS OPTMODES 016566,003710: 40,3527 74704 MASK BIT7 016567,003711: 40,3530 27331 ADS OPTMODES 016568,003712: 40,3531 44701 CS BIT10 # TURN OFF 'TEST ALARM' OUTBIT 016569,003713: 016570,003714: 40,3532 00006 EXTEND 016571,003715: 40,3533 03013 WAND CHAN13 016572,003716: 40,3534 43570 CS ERCON # TURN OFF UPLINK ACTIVITY, 016573,003717: 40,3535 00006 EXTEND # OPERATOR ERROR. 016574,003718: 40,3536 03011 WAND DSALMOUT 016575,003719: 40,3537 34377 TSTAB CAF BINCON # (DEC 10) 016576,003720: 40,3540 54117 TS ERCNT # ERCNT = COUNT 016577,003721: 40,3541 00004 INHINT 016578,003722: 40,3542 50117 INDEX ERCNT 016579,003723: 40,3543 11023 CCS DSPTAB 016580,003724: 40,3544 64712 AD ONE 016581,003725: 40,3545 03552 TC ERPLUS 016582,003726: 40,3546 64712 AD ONE 016583,003727: 40,3547 40000 ERMINUS CS A 016584,003728: 40,3550 73573 MASK NOTBIT12 016585,003729: 40,3551 03555 TC ERCOM 016586,003730: # Page 384 016587,003731: 40,3552 40000 ERPLUS CS A 016588,003732: 40,3553 73573 MASK NOTBIT12 016589,003733: 40,3554 40000 CS A # MIGHT WANT TO RESET CLPASS, DECBRNCH, 016590,003734: 40,3555 50117 ERCOM INDEX ERCNT # ETC. 016591,003735: 40,3556 55023 TS DSPTAB 016592,003736: 40,3557 00003 RELINT 016593,003737: 40,3560 10117 CCS ERCNT 016594,003738: 40,3561 03540 TC TSTAB +1 016595,003739: 40,3562 34714 CAF ZERO 016596,003740: 40,3563 54375 TS FAILREG 016597,003741: 40,3564 54376 TS FAILREG +1 016598,003742: 40,3565 54377 TS FAILREG +2 016599,003743: 40,3566 55357 TS SFAIL 016600,003744: 40,3567 05112 TC ENDOFJOB 016601,003745: 016602,003746: 40,3570 00104 ERCON OCT 104 # CHAN 11 BITS 3,7. 016603,003747: # UPLINK ACTIVITY, AND OPERATOR ERROR. 016604,003748: 40,3571 00240 BITS6,8 OCT 240 016605,003749: 40,3572 00050 GL+NOATT OCT 00050 # NO ATT AND GIMBAL LOCK LAMPS 016606,003750: 40,3573 73777 NOTBIT12 OCT 73777 016607,003751: 016608,003752: 40,3574 ENDPINS1 EQUALS 016609,003753: End of include-file PINBALL_GAME_BUTTONS_AND_LIGHTS.agc. Parent file is MAIN.agc