Source Code

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