assm 01 04-10-86 13.714 control_tables page 1 preface this program will be loaded mod 64 program break 3454 common length 0 v count bits 5 primary symdef entry ctrl 0 begin 600 hungup 673 tdhung 600 signal 1153 error 2516 cct.2 300 stpchn 3430 diftyp 1015 cct.3 400 end of binary card 00000001 cct.br 500 chkaut 1000 maskr 663 secondary symdef entry .chain 10 block length symref 1 ahang 2 colts 3 gstar 4 a1star 5 a2star 6 a3star end of binary card 00000002 7 acutst 10 ant202 11 astart 12 autost 13 bscstr 14 hdlstr 15 pvstar 16 s1star 17 s2star 20 s3star end of binary card 00000003 21 tstart assm 01 04-10-86 13.714 control_tables page 2 22 vstart 23 x25str end of binary card 00000004 assm 01 04-10-86 13.714 control_tables page 3 1 * *********************************************************** 2 * * * 3 * * copyright, (c) honeywell information systems inc., 1982 * 4 * * * 5 * * copyright (c) 1972 by massachusetts institute of * 6 * * technology and honeywell information systems, inc. * 7 * * * 8 * *********************************************************** 9 10 11 lbl ,control_tables 14 pcc off 16 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 17 * 18 * 19 * control_tables, ctrl 20 * 21 * the control_tables are the primary driving program 22 * for the 355. they are interpreted by the control table 23 * interpreter, who performs various functions on behalf 24 * of the tables and calls the lsla, hsla, and dia interface 25 * routines when required. 26 * 27 * this module contains the control tables for general-purpose 28 * low-speed lines and vanilla synchronous lines. it also contains 29 * all cct's, device tables, etc. other modules contain 30 * special-purpose control tables for such things as g115, ards, 31 * tn1200 on 202c modem, and anything else which might come up. 32 * 33 * the tables specify what actions are to be peformed for 34 * each line on the 355 and in what sequence these are to be 35 * done. this includes control of the datasets, printer/keyboard 36 * addressing for terminals which require it, and the initiation 37 * of i/o to the terminals. the tables are entered (or "started") 38 * for each line at the label "begin" by the init routine. after 39 * that the path through the tables is controlled by external 40 * events and the actions taken by these tables. 41 * 42 * originally coded 6/14/74 by mike grady 43 * modified by bob adsit 7/20/75 to handle 115's 44 * modified by robert coren 7/31/75 to handle tn1200 on 202c 45 * modified by robert coren 4/29/76 to split up into several modules 46 * modified by c. hornig october 1980 to not send dle eot on hangup 47 * modified by t. oke to allow hardware flow control using cts 48 * modified by t. oke to merge rapid breaks (less than .25 seconds) 49 * and avoid buffer overruns -- tr8447 50 * modified by d. w. cousins on nov 22 1985 to abort the hungup 51 * 500 ms timer for x.25 in order to process the activation order 52 * in time, else the wait loop will lose it. (tr phx19612) 53 * 54 * 55 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * assm 01 04-10-86 13.714 control_tables page 4 56 57 * history comments: 58 * 1) change(86-02-03,kissel), approve(86-02-03,mcr7324): 59 * modified to abort the hangup 500 ms timer for x.25 in order to process 60 * the activation order in time. otherwise, the wait loop would lose it 61 * (tr phx19612). 62 * end history comments 63 assm 01 04-10-86 13.714 control_tables page 5 65 66 00000 67 ctrl null /* setup primary symdef */ 68 69 symdef ctrl 70 71 symdef begin 72 symdef hungup 73 symdef tdhung 74 symdef signal 75 symdef error 76 symdef cct.2 77 symdef stpchn 78 symdef diftyp autobaud returns here for 1050 or 2741 79 symdef cct.3 syncronous etx cct 80 symdef cct.br 81 symdef chkaut acu_tables come back to here 82 symdef maskr restart point after masking channel 83 84 symref acutst 85 symref astart 86 symref ahang 87 symref tstart 88 symref ant202 89 symref gstar 90 symref bscstr 91 symref vstart 92 symref autost 93 symref a1star 94 symref a2star 95 symref a3star 96 symref s1star 97 symref s2star 98 symref s3star 99 symref pvstar 100 symref x25str 101 symref hdlstr 102 symref colts 103 00000 0 00603 1 104 ind begin1 /* 0, starting location of control tables */ 00001 0 00032 1 105 ind devtbl /* 1, ptr to array of device info tbls */ 00002 777777 0 106 dec -1 /* 2, used to be ptr to cct array */ 00003 0 00207 1 107 ind devtyp /* 3, ptr to device type - speed table */ 00004 0 01161 1 108 ind wru /* 4, ptr to answerback reading code */ 00005 109 bss 1 /* 5, reserve for delay tbl ptr*/ 00006 0 01457 1 110 ind brk /* 6, ptr to send line break code*/ 111 112 00007 113 start ctrl 114 115 assm 01 04-10-86 13.717 control_tables page 6 macro definitions 118 * * * * * * * * * * * * * * * * * * * * * 119 * 120 * devtyp macro 121 * 122 * * * * * * * * * * * * * * * * * * * * * 123 124 devtyp macro 125 vfd 1/#1,4/0,o4/#2,o9/#3 126 endm devtyp 127 128 * * * * * * * * * * * * * * * * * * * * * 129 * 130 * devtbl macro 131 * 132 * * * * * * * * * * * * * * * * * * * * * 133 134 devtbl macro 135 tab2 #1 sequence chars 136 zero #2 cct table addr 137 zero #3 keyboard addressing string array 138 zero #4 printer " " " 139 vfd o18/#5 addressing flag and others 140 tab6 #6 carriage movement table 141 pmc save,off 142 dk set 0 143 idrp #7 144 ife dk,0,3 145 dk set 1 146 dval set #7 147 ife 1,2,4 148 dk set 0 149 pmc restore 150 vfd o9/dval,o9/#7 break list 151 pmc save,off 152 idrp 153 pmc restore 154 ife dk,1,1 155 vfd o9/dval,o9/0 156 endm devtbl 157 158 tab2 macro 159 vfd o9/#1,o9/#2 160 endm tab2 161 162 tab4 macro 163 vfd o9/#1,o9/#2 164 vfd o9/#3,o9/#4 165 endm tab4 166 167 tab6 macro assm 01 04-10-86 13.717 control_tables page 7 macro definitions 168 vfd o9/#1,o9/#2 169 vfd o9/#3,o9/#4 170 vfd o9/#5,o9/#6 171 endm tab6 172 173 * * * * * * * * * * * * * * * * * * * * * 174 * 175 * adstr macro 176 * 177 * * * * * * * * * * * * * * * * * * * * * 178 179 adstr macro 180 pmc save,off 181 adcnt set 0 182 adk set 0 183 idrp #1 184 ife adk,0,3 185 adk set 1 186 adval set #1 187 ife 1,2,4 188 adk set 0 189 pmc restore 190 vfd o9/adval,o9/#1 191 pmc save,off 192 adcnt set adcnt+1 193 idrp 194 adcnt set adcnt+1 195 adcnt set adcnt/2 196 adcnt set madlen-adcnt 197 pmc restore 198 ife adk,1,1 199 vfd o9/adval,o9/0 200 bss adcnt 201 endm adstr 202 00022 204 tib assm 01 04-10-86 13.717 control_tables page 8 terminal information block (tib) 000000 t.stat equ 0 holds current line status 000001 t.flg equ t.stat+1 flag word 000002 t.flg2 equ t.flg+1 second word of flags 000003 t.cur equ t.flg2+1 current address in control table 000004 t.line equ t.cur+1 10 bit line number 000005 t.icp equ t.line+1 first buffer in input chain 000006 t.ilst equ t.icp+1 last buffer in input chain 000007 t.icpl equ t.ilst+1 count of buffers in icp chain 000010 t.icch equ t.icpl+1 address of next input character 000011 t.elnk equ t.icch+1 link to tib extension 000011 t.rcp equ t.elnk replay chain pointer (share t.elnk) 000012 t.ocp equ t.elnk+1 addr of output chain from cs 000013 t.ocur equ t.ocp+1 addr of current output buffer 000014 t.olst equ t.ocur+1 addr of last buffer in output chain 000015 t.occh equ t.olst+1 addr of next output character 000016 t.ocnt equ t.occh+1 count of buffers in t.ocur 000017 t.type equ t.ocnt+1 line type 000020 t.time equ t.type+1 time at which next timeout will occur 000022 t.reta equ t.time+2 return address from calsub 000023 t.dcwa equ t.reta+1 addr of dcw list to 'execute' 000024 t.dcwl equ t.dcwa+1 length of dcw list 000025 t.echo equ t.dcwl+1 echo buffer address 000026 t.dcp equ t.echo+1 addr of message chain for cs 000027 t.dlst equ t.dcp+1 last buffer in messge chain for cs 000030 t.ftse equ t.dlst+1 first time slot entry in lsla table assm 01 04-10-86 13.717 control_tables page 9 terminal information block (tib) 000030 t.sfcm equ t.ftse pointer to sfcm for hsla lines 000031 t.bcnt equ t.ftse+1 counting temporary 000032 t.brkp equ t.bcnt+1 pointer to current break list 000033 t.pos equ t.brkp+1 current carriage position 000034 t.char equ t.pos+1 pending line control char (lsla only) 000034 t.ecch equ t.char address of current echo char (hsla only) 000035 t.cntr equ t.char+1 counter for control tables 000036 t.flg3 equ t.cntr+1 third word of flags 000037 t.dtp equ t.flg3+1 pointer to delay table for this line 000040 t.frmc equ t.dtp+1 framing chars (2 chars) 000041 t.dcpl equ t.frmc+1 number of buffers in dcp chain 000042 t.scll equ t.dcpl+1 screenline length left, for echo neg. 000043 t.sncc equ t.scll+1 echo negotiation sync ctr. 000044 t.entp equ t.sncc+1 echo negotiation break table ptr 000045 t.ifch equ t.entp+1 input flow control characters 000046 t.ofch equ t.ifch+1 output flow control characters 000047 t.omct equ t.ofch+1 output message count (for flow control) 000050 t.itim equ t.omct+1 time of last call to inproc (2 words) 000052 t.metr equ t.itim+2 address of metering area 000053 t.abf0 equ t.metr+1 absolute address of first permanent buffe 000054 t.abf1 equ t.abf0+1 absolute address of first permanent buffe 000055 t.leng equ t.abf1+1 length of a tib ******************************** * t.stat bits ******************************** assm 01 04-10-86 13.717 control_tables page 10 terminal information block (tib) 000001 tsfcd bool 000001 carrier detect 000002 tsfcts bool 000002 clear to send 000004 tsfdsr bool 000004 data set ready 000010 tsfsrc bool 000010 supervisory receive 000020 tsfst bool 000020 store status 000040 tsfmrk bool 000040 send marker status 000100 tsftrm bool 000100 send terminate status 000200 tsfrcv bool 000200 receive mode 000400 tsfxmt bool 000400 transmit mode 001000 tsfbrk bool 001000 send line break 002000 tsfdtr bool 002000 data terminal ready 004000 tsfsxt bool 004000 supervisory transmit 004000 tsftre bool 004000 tally runout enable (hdlc) 010000 tsfrts bool 010000 request to send 020000 tsfcrq bool 020000 acu call request ******************************** * tib flags -- t.flg ******************************** 000001 tfwrit bool 000001 output chain present 000002 tfbel bool 000002 send bell as next echoed character 000004 tffdpx bool 000004 full duplex mode 000010 tfkybd bool 000010 keyboard addressed 000020 tfprtr bool 000020 printer addressed 000040 tfhang bool 000040 hangup this line 000100 tflisn bool 000100 answer the phone assm 01 04-10-86 13.717 control_tables page 11 terminal information block (tib) 000200 tfquit bool 000200 send nl on line break 000400 tfctrl bool 000400 do kybd/printer addressing 001000 tflfec bool 001000 do lf echo on cr 002000 tfcrec bool 002000 do cr echo on lf 004000 tftbec bool 004000 do space echo on tab 010000 tfwabt bool 010000 do write abort 020000 tfauto bool 020000 this is hsla autobaud line 040000 tfeotx bool 040000 eot expected from 2741 100000 tfisus bool 100000 input suspended 200000 tfecpx bool 200000 echoplex mode 400000 tfosus bool 400000 output suspended ******************************** * second word of tib flags ******************************** 000001 tfxhld bool 000001 hold transmit on 000002 tfdild bool 000002 terminal is dialed up 000004 tfercv bool 000004 enter receive mode 000010 tfrabt bool 000010 do read abort 000020 tfacu bool 000020 do dial out 000040 tfifc bool 000040 input flow control mode 000100 tfofc bool 000100 output flow control mode 000200 tfupsf bool 000200 terminal is upshifted now 000400 tfrply bool 000400 replay mode 001000 tfrpon bool 001000 replay is occurring now 002000 tfplit bool 002000 polite mode 004000 tfblak bool 004000 asynchronous block acknowledgement assm 01 04-10-86 13.717 control_tables page 12 terminal information block (tib) 010000 tfcrcv bool 010000 'control' receive mode 020000 tfmrcv bool 020000 'message' receive mode 040000 tffrmi bool 040000 frame mode 100000 tffip bool 100000 frame in progress 200000 tfsftr bool 200000 terminal is shifting device 400000 tfpfnl bool 400000 line is in prefixnl mode ********************************* * third word of tib flags ********************************* 000001 tfbkpt bool 000001 line is stopped at breakpoint 000002 tfitim bool 000002 timeout if input stops 000004 tfkpar bool 000004 keep parity bits 000010 tfecho bool 000010 echoing has priority over output (lsla) 000020 tfbral bool 000020 break on all characters 000040 tfsked bool 000040 input timeout routine scheduled 000100 tf8in bool 000100 don't strip input parity 000200 tf8out bool 000200 don't strip output parity 000400 tfoddp bool 000400 odd parity 001000 tfabf0 bool 001000 t.afb0 available 010000 tfabf1 bool 010000 t.abf1 available 020000 tfmask bool 020000 channel has been masked for excessive int 040000 tfinq bool 040000 input is queued for the channel ********************************* * redefined tib flags in t.flg assm 01 04-10-86 13.717 control_tables page 13 terminal information block (tib) ********************************* 000020 tfdlup equ tfprtr line is on dialup modem 00022 205 meters assm 01 04-10-86 13.717 control_tables page 14 system-wide meters 000720 .mdilc set 464 cumulative no. of channels dialed 000722 .mdilu set 466 updates of .mdilc 000724 .mspav set 468 cumulative space available 000726 .mspau set 470 updates of .mspav 000730 .mimbx set 472 cumulative number of mbxes in use 000732 .mimbu set 474 updates of .mimbx 000734 .mndil set 476 current no. of channels dialed 000735 .malof set 477 number of space allocation failures 000736 .mdias set 478 abnormal dia status 000737 .mpool set 479 total size of buffer pool (in words) 000740 .mbufa set 480 number of buffer allocations 000742 .mbfpa set 482 number of buffers pre-allocated 000744 .mupab set 484 used a pre-allocated buffer 000746 .mpanf set 486 no pre-allocated buffer available 000750 .mblow set 488 buffer allocated in low memory 000030 .mleng equ .mpanf+2-.mdilc length of system-wide meters assm 01 04-10-86 13.717 control_tables page 15 per-channel meters meters for all channels 000000 m.dql equ 0 cumulative length of dia request queue 000002 m.dqu equ m.dql+2 updates of m.dql 000004 m.nst equ m.dqu+2 cumulative no. of pending status 000006 m.nsu equ m.nst+2 updates of m.nst 000010 m.over equ m.nsu+2 output overlaps 000011 m.par equ m.over+1 parity errors 000012 m.ssqo equ m.par+1 software status queue overflows 000013 m.hsqo equ m.ssqo+1 hardware status queue overflows 000014 m.inaf equ m.hsqo+1 input allocation failures 000015 m.cql equ m.inaf+1 current length of dia request queue 000016 m.exh equ m.cql+1 exhaust status 000020 m.xte equ m.exh+2 software xte status 000022 m.leng equ m.xte+2 length of common meters (must be even) additional meters for asynchronous channels 000022 m.prex equ m.leng pre-exhaust status 000024 m.ebof equ m.prex+2 echo buffer overflows 000026 m.quit equ m.ebof+2 bell-quits 000030 m.asyl equ m.quit+2 total length of asynchronous meters (must be even) additional meters for synchronous channels 000022 m.nim equ m.leng number of input messages 000024 m.iml equ m.nim+2 cumulative length of input 000026 m.mini equ m.iml+2 minimum length of input message assm 01 04-10-86 13.717 control_tables page 16 per-channel meters 000027 m.maxi equ m.mini+1 maximum length of input message 000030 m.nom equ m.maxi+1 number of output messages 000032 m.oml equ m.nom+2 cumulative length of output 000034 m.mino equ m.oml+2 minimum length of output message 000035 m.maxo equ m.mino+1 maximum length of output message 000036 m.cnt1 equ m.maxo+1 first type of counter 000040 m.cnt2 equ m.cnt1+2 second type of counter 000042 m.cnt3 equ m.cnt2+2 third type of counter 000044 m.cnt4 equ m.cnt3+2 fourth type of counter 000046 m.cnt5 equ m.cnt4+2 fifth type of counter 000050 m.cnt6 equ m.cnt5+2 sixth type of counter 000052 m.cnt7 equ m.cnt6+2 seventh type of counter 000054 m.cnt8 equ m.cnt7+2 eighth type of counter 000056 m.synl equ m.cnt8+2 total length of synchronous meters 00022 206 buffer assm 01 04-10-86 13.717 control_tables page 17 buffer format 000000 bf.nxt equ 0 address of next buffer in chain 000001 bf.siz equ bf.nxt+1 size of buffer (bits0-2) 000001 bf.flg equ bf.nxt+1 flags (bits3-8) 000001 bf.tly equ bf.nxt+1 tally of buffer (bits9-17) 000002 bf.dta equ bf.siz+1 start of data 000040 bufsiz equ 32 buffer size 000074 bufnch equ bufsiz*2-4 number of data characters in a buffer 000050 bufmax equ 40 maximum number of input buffers 000012 bufpre equ 10 number of buffers to trigger pre-exhaust 000005 bufshf equ 5 number of bits shifted to divide by bufsi 000024 bufres equ 20 number of reserved buffers 700000 bufsmk bool 700000 mask to isolate bf.siz 077000 buffmk bool 077000 mask to isolate bf.flg 000777 buftmk bool 000777 mask to isolate bf.tly 000002 bufthr equ 2 threshold at which to send send_output 000400 bfmsiz equ 256 maximum buffer size in words ******************************** * buffer flags ******************************** 040000 bfflst bool 040000 last buffer in message 020000 bffbrk bool 020000 buffer contains break character 010000 bfftra bool 010000 throw away this buffer when done inputtin 004000 bffrpy bool 004000 buffer is last in replay chain 002000 bffctl bool 002000 buffer consists of keybd/prtr control 001000 bffhld bool 001000 hold output buffer until dmpout 00022 207 csbits assm 01 04-10-86 13.717 control_tables page 18 control and status bits control bits 000001 c.srec bool 000001 set receive mode 000002 c.rrec bool 000002 reset receive mode 000004 c.sxmt bool 000004 set transmit mode 000010 c.rxmt bool 000010 reset transmit mode 000020 c.sdtr bool 000020 set data terminal ready 000040 c.rdtr bool 000040 reset data terminal ready 000100 c.ssup bool 000100 set supervisory transmit mode 000100 c.stre bool 000100 set tally runout enable (hdlc) 000200 c.rsup bool 000200 reset supervisory transmit mode 000200 c.rtre bool 000200 reset tally runout enable (hdlc) 000400 c.stat bool 000400 store status 001000 c.sbrk bool 001000 send line break 002000 c.smrk bool 002000 store marker status 004000 c.strm bool 004000 store terminate status 010000 c.srqs bool 010000 set request to send 020000 c.rrqs bool 020000 reset request to send 040000 c.pad bool 040000 unused 100000 c.cmd bool 100000 indicates cmd subop 400000 c.scmd bool 400000 indicates supplementary cmd subop the following must be used in the optional fields to the cmd (or contrl) macros in the control_tables 000001 c.scrq bool 000001 set call request 000002 c.rcrq bool 000002 reset call request assm 01 04-10-86 13.717 control_tables page 19 control and status bits status bits 000001 s.cd bool 000001 carrier detect 000002 s.cts bool 000002 clear to send 000004 s.dsr bool 000004 data set ready 000010 s.sprc bool 000010 supervisory receive mode 000020 s.st bool 000020 status requested 000040 s.mark bool 000040 marker status 000100 s.term bool 000100 terminate status 000200 s.prex bool 000200 pre-exhaust 000400 s.brk bool 000400 line break received 001000 s.brch bool 001000 break character received 002000 s.ring bool 002000 ring 004000 s.exh bool 004000 exhaust status 010000 s.prty bool 010000 parity error 010000 s.fcse bool 010000 frame check sequence error (hdlc) 020000 s.xte bool 020000 transfer timing error 040000 s.pwi bool 040000 acu power indicator 100000 s.dlo bool 100000 acu data line occupied 200000 s.acr bool 200000 acu abandon call and retry 400000 s.ads bool 400000 acu raised data set status the following four bits share the values of acu status but can never be misinterpreted. 040000 s.rto bool 040000 receive time out (bsc) 040000 s.isd bool 040000 idle state detect (hdlc) assm 01 04-10-86 13.717 control_tables page 20 control and status bits 100000 s.rbt bool 100000 receive block termination (bsc & hdlc) 200000 s.bmk bool 200000 marker status (bsc) 200000 s.rabt bool 200000 receive abort (hdlc) 400000 s.bdmk bool 400000 delayed marker status (bsc) 400000 s.pbyt bool 400000 partial byte (hdlc) bits in common between standard status 000177 s.tib bool 000177 and tib status dataset status bits in standard status 000017 s.dss bool 000017 and tib status asynchronous configuration bits 000001 fg.icw bool 000001 icw (two send icw's) 000002 fg.lpr bool 000002 lateral parity receive 000004 fg.lps bool 000004 lateral parity send 000010 fg.lpo bool 000010 lateral parity odd 000020 fg.5bt bool 000020 5-bit character mode 000040 fg.6bt bool 000040 6-bit character mode 000100 fg.7bt bool 000100 7-bit character mode 000200 fg.8bt bool 000200 8-bit character mode 000400 fg.beb bool 000400 ebcdic mode (bsc) 000400 fg.itf bool 000400 interfame time fill (hdlc) 001000 fg.btr bool 001000 transparent mode (bsc) 002000 fg.cct bool 002000 enable cct 00022 208 tconst assm 01 04-10-86 13.717 control_tables page 21 flag and control bit definitions 000001 gbf6up bool 000001 cs up global switch device types 000001 ttasci equ 1 ascii terminals, cdi, tty 33, 35, 37, etc 000002 tt1050 equ 2 ibm 1050 000003 tt2741 equ 3 ibm 2741, trendata, dura, etc. 000004 ttards equ 4 ards, tektronix 000005 ttsync equ 5 general sync devices 000006 ttg115 equ 6 remote computer interface, g115 000007 ttbsc equ 7 binary synchronous communications 000010 tt202c equ 8 ascii on 202c6 modem 000011 ttvip equ 9 vip terminal 000020 ttpvip equ 16 polled vip 000021 ttx25l equ 17 x.25 link access procedure (lap) 000023 ttcolt equ 19 colts (online t&d executive) signal types 000113 quit bool 113 dia cmd, break received 000100 dialup bool 100 dia cmd, accept new terminal 000101 hangup bool 101 dia cmd, disconnected line 000114 wrutim bool 114 dia cmd, wru timeout 000105 sndout bool 105 dia cmd, send output 000120 acupwi bool 120 dia cmd, no power to acu 000121 acudlo bool 121 dia cmd, data line occupied 000122 acuacr bool 122 dia cmd, dial out failed 000123 acung bool 123 dia cmd, request for acu is invalid control types 000001 srec equ c.srec set receive mode 000002 rrec equ c.rrec reset receive 000004 sxmit equ c.sxmt set xmit mode 000010 rxmit equ c.rxmt reset xmit 000020 sdtr equ c.sdtr set data terminal ready 000040 rdtr equ c.rdtr reset dtr 000100 ssup equ c.ssup set supervisory xmit 000200 rsup equ c.rsup reset supervisory xmit 000400 stat equ c.stat store status 001000 sbrk equ c.sbrk send line break 002000 smark equ c.smrk send marker status 004000 sterm equ c.strm send terminate status 010000 srts equ c.srqs set request to send 020000 rrts equ c.rrqs reset request to send 000001 scrq equ c.scrq set call request 000002 rcrq equ c.rcrq reset call request 000100 stroe equ c.stre set tally runout enable (hdlc) 000200 rtroe equ c.rtre reset tally runout enable (hdlc) assm 01 04-10-86 13.717 control_tables page 22 flag and control bit definitions status bits 000001 cd equ s.cd carrier detect 000002 cts equ s.cts clear to send 000004 dsr equ s.dsr data set ready 000010 suprec equ s.sprc supervisory receive 000020 st equ s.st status requested 000400 break equ s.brk line break received 001000 brkchr equ s.brch break char received 002000 ring equ s.ring ring 000100 term equ s.term terminate status 000040 marker equ s.mark marker status 004000 exh equ s.exh exhaust status 000200 prexh equ s.prex pre-exhaust status 010000 parity equ s.prty parity error 020000 xte equ s.xte transfer timing error 040000 pwi equ s.pwi power indicator on acu 100000 dlo equ s.dlo data line occupied (acu) 400000 ads equ s.ads dialed station has answered data set is in data mode (acu) 200000 acr equ s.acr abandon call and retry (acu) 040000 rcvto equ s.rto rcv time out 100000 bscrcv equ s.rbt bsc terminate 200000 bscmrk equ s.bmk bsc marker 400000 bscdmk equ s.bdmk bsc delayed marker 010000 fcserr equ s.fcse frame check sequence error (hdlc) 040000 idlesd equ s.isd idle state detect (hdlc) 100000 rcvtrm equ s.rbt receive terminate (hdlc) 200000 rcvabt equ s.rabt receive abort (hdlc) 400000 parbyt equ s.pbyt partial byte (hdlc) assm 01 04-10-86 13.717 control_tables page 23 flag and control bit definitions output types 000401 adprtr bool 401 insert printer addr string 000402 adkybd bool 402 insert keyboard addr string 000403 outmsg bool 403 insert output msg 000404 repeat bool 404 insert next char n times various characters matched and sent 000064 eoa bool 64 eoa from/to 2741/1050 000001 minus bool 1 minus char from 1050 000055 ibmnl bool 55 cr nl from/to 2741/1050 000075 ibmpad bool 75 2741/1050 pad character(idle) 000074 ibmeot bool 74 2741/1050 eot char 000174 eotshf bool 174 eot w/case shift 000035 ibmbs bool 35 backspace from 2741 000057 ibmtab bool 57 tab from 2741 000042 ibmsl bool 42 2741 slash 000024 ibm0 bool 24 2741 zero 000044 ibm9 bool 44 2741 nine 000076 ibmprf bool 76 2741 prefix code 000003 ibmpls bool 3 2741 plus sign 000034 ibmup bool 34 2741 upshift 000037 ibmdwn bool 37 2741 downshift 000012 nl bool 12 ascii new-line 000015 cr bool 15 ascii carriage return 000000 pad bool 0 ascii pad char 000020 dle bool 20 ascii data link escape 000004 eot bool 4 ascii end of transmission 000033 esc bool 33 ascii escape char 000014 ff bool 14 ascii form feed char 000011 tab bool 11 ascii tab char 000010 bs bool 10 ascii backspace 000040 space bool 40 ascii space 000005 awru bool 5 ascii "who are you?" 000000 null bool 0 nothing 000006 ack bool 6 ascii ack 000025 nak bool 25 ascii nak 000001 soh bool 1 ascii start of header 000026 syn bool 26 ascii syn character 000002 stx bool 2 ascii start of text char 000003 etx bool 3 ascii end of text char 000007 bel bool 007 ascii bell character 000150 h bool 150 ascii h (esc mtr on) 000154 l bool 154 ascii l (used by vip for ff) 000161 q bool 161 ascii q (used by vip for quit) 000100 atchar bool 100 ascii at sign (used to mark reset-read) 000777 nochar bool 777 used in cmt to match no character assm 01 04-10-86 13.717 control_tables page 24 flag and control bit definitions scan subop types 000501 match bool 501 match the char exactly 000502 search bool 502 search until match 000503 ignore bool 503 skip to next char, block check unchanged 000504 sbcc bool 504 start the bcc computation 000505 endchn bool 505 point to last character in chain 000506 cbcc bool 506 compare current with bcc char 000507 cmask bool 507 compare char with mask 000510 rescan bool 510 reset scan position to first char in chai 000511 strlrc bool 511 start lrc computation 000512 outlrc bool 512 insert lrc into chain 000513 cmplrc bool 513 compare lrc accumulation vs current char 000514 seteom bool 514 set last buffer in message flag ( for bld 000515 replac bool 515 replace current char 000516 cmplst bool 516 compare current vs list of chars for equa 000517 movchr bool 517 move current char to tib extension 000520 movmsk bool 520 movchr with masking of current char 000521 count bool 521 count number of chars scanned 000522 serch2 bool 522 search for one of two chars 000523 setbit bool 523 turn on bits in current char 000524 offbit bool 524 turn off bits in current char 000525 chktrm bool 525 check the sync termination char 000526 mvlst2 bool 526 move last two chars to tib ext 000527 nxtchr bool 527 update block check and skip to next char 210 211 000155 212 inlshf bool 155 /* ibm nl with uppercase bit */ 213 214 215 scan control strings 216 217 00022 218 iscn1 chstr (rescan,search,ibmnl) 00024 219 iscn2 chstr (rescan,search,ibmeot) 00026 220 iscn3 chstr (rescan,search,inlshf) 00030 221 iscn6 chstr (rescan,search,eotshf) assm 01 04-10-86 13.717 control_tables page 25 device info tables 00032 0 00053 1 223 devtbl zero d.asci table for ascii devices 00033 0 00065 1 224 zero d.1050 table for 1050's 00034 0 00077 1 225 zero d.2741 table for 2741's 00035 0 00111 1 226 zero d.ards table for the ards 00036 0 00123 1 227 zero d.sync table for sync devices 00037 0 00123 1 228 zero d.sync table for g115's 00040 0 00123 1 229 zero d.sync table for bsc 00041 0 00134 1 230 zero d.t202 table for t202 00042 0 00146 1 231 zero d.vip table for vip 00043 0 00053 1 232 zero d.asci table for async1 00044 0 00053 1 233 zero d.asci table for async2 00045 0 00053 1 234 zero d.asci table for async3 end of binary card 00000005 00046 0 00123 1 235 zero d.sync table for sync1 00047 0 00123 1 236 zero d.sync table for sync2 00050 0 00123 1 237 zero d.sync table for sync3 00051 0 00123 1 238 zero d.sync table for polled vip 00052 0 00123 1 239 zero d.sync table for x.25 lap 240 241 242 243 244 devtbl flags 245 000001 246 dtfctl bool 1 default setting of tfctrl 000004 247 dtfsft bool 4 default setting of tfsftr 248 249 break list types 250 000001 251 blt.s bool 1 break on one char 000002 252 blt.d bool 2 break on two chars 000003 253 blt.t bool 3 break on three chars 000775 254 blt.p1 bool 775 break on char plus one 255 256 00053 257 d.asci devtbl (0,0),0,k.asci,p.asci,0, 00053 258 etc (nl,cr,tab,bs,nochar,nochar),(blt.t,ff,nl,etx) 259 00065 260 d.1050 devtbl (0,0),0,k.1050,p.1050,dtfctl+dtfsft, 00065 261 etc (ibmnl,nochar,ibmtab,ibmbs,ibmup,ibmdwn), 00065 262 etc (blt.d,ibmnl,ibmeot) 263 00077 264 d.2741 devtbl (0,0),0,k.2741,p.2741,dtfctl+dtfsft, 00077 265 etc (ibmnl,nochar,ibmtab,ibmbs,ibmup,ibmdwn), 00077 266 etc (blt.d,ibmnl,ibmeot) 267 00111 268 d.ards devtbl (0,0),0,0,0,0,(nl,cr,tab,bs,nochar,nochar), 00111 269 etc (blt.d,ff,nl) end of binary card 00000006 270 assm 01 04-10-86 13.717 control_tables page 26 device info tables 00123 271 d.sync devtbl (101,102),0,0,0,0, 00123 272 etc (nochar,nochar,nochar,nochar,nochar,nochar), 00123 273 etc (blt.p1,etx) 274 00134 275 d.t202 devtbl (0,0),0,0,0,0,(nl,cr,tab,bs,nochar,nochar), 00134 276 etc (blt.t,etx,ack,nak) 277 00146 278 d.vip devtbl (0,0),0,0,0,0, 00146 279 etc (nochar,nochar,nochar,nochar,nochar,nochar), 00146 280 etc (blt.p1,etx) 281 282 000004 283 madlen equ 4 max addressing string length 284 00157 285 k.asci adstr (1,ack) 286 00163 287 p.asci adstr (1,nak) 288 00167 289 k.1050 adstr (4,ibmdwn,ibmeot,ibmsl,ibm0) end of binary card 00000007 290 00173 291 p.1050 adstr (2,ibmsl,ibm9) 292 00177 293 k.2741 adstr (2,ibmdwn,ibmeot) 294 00203 295 p.2741 adstr (1,eoa) assm 01 04-10-86 13.717 control_tables page 27 devtyp tables - device type/speed correspondence 297 298 note: 2400 and 1800 synchronous are out of order for 299 compatibility with previous version that did not have 300 1200 and 1800 301 302 code async speed sync speed 303 ---- ----- ----- ---- ----- 304 305 01 75 1200 306 02 110 2400 307 03 134.5 1800 308 04 150 4800 309 05 300 5400 310 06 600 7200 311 07 1050 9600 312 10 1200 19200 313 11 1800 40800 314 12 option 50000 315 13 ---- 72000 316 000001 317 async equ 1 000000 318 sync equ 0 319 00207 320 devtyp devtyp async,02,ttasci 110 baud, ascii type 00210 321 devtyp async,03,tt2741 133 baud, 2741/1050 00211 322 devtyp async,04,ttasci 150 baud, ascii type 00212 323 devtyp async,05,ttasci 300 baud, ascii type 00213 324 devtyp async,06,ttasci 600 baud, ascii type 00214 325 devtyp async,10,ttasci 1200 baud, ascii type 00215 326 devtyp async,11,ttasci 1800 baud, ascii type 00216 327 devtyp async,12,ttasci optn baud, ascii type 00217 328 devtyp sync,01,ttsync 1200 baud, sync type 00220 329 devtyp sync,03,ttsync 1800 baud, sync type 00221 330 devtyp sync,02,ttsync 2400 baud, sync type 00222 331 devtyp sync,04,ttsync 4800 baud, sync type 00223 332 devtyp sync,06,ttsync 7200 baud, sync type 00224 333 devtyp sync,07,ttsync 9600 baud, sync type 00225 334 devtyp sync,10,ttsync 19200 baud, sync type 00226 335 devtyp sync,11,ttsync 40800 baud, sync type 00227 336 devtyp sync,12,ttsync 50000 baud, sync type 00230 337 devtyp sync,13,ttsync 72000 baud, sync type 00231 777777 0 338 dec -1 end of table assm 01 04-10-86 13.717 control_tables page 28 cct's - control character tables 340 00232 342 cctdef cct control bit definitions 000000 ct.ncs bool 000 normal char store 000001 ct.t1s bool 001 store and terminate on next 000002 ct.t2s bool 002 store and terminate after 2 chars 000003 ct.t0s bool 003 store and terminate 000004 ct.dmk bool 004 store and marker delayed 000005 ct.mk1 bool 005 store and marker on next 000006 ct.ign bool 006 ignore, no store 000007 ct.mrk bool 007 store and marker 000020 ct.sw bool 020 switch icws 000040 ct.syn bool 040 resync channel 000100 ct.tb1 bool 100 switch to table 1 000200 ct.tb2 bool 200 switch to table 2 000300 ct.tb3 bool 300 switch to table 3 000400 ct.tb4 bool 400 switch to table 4 000023 ct.eol equ ct.sw+ct.t0s eol for regular tty 000061 ct.grt equ ct.sw+ct.syn+ct.t1s for etx plus bcc char 000421 ct.etx equ ct.t1s+ct.sw+ct.tb4 000423 ct.nak equ ct.t0s+ct.sw+ct.tb4 000005 ct.itb equ ct.mk1 000204 ct.stx equ ct.tb2+ct.dmk 000207 ct.mtb equ ct.mrk+ct.tb2 ** following codes are for setcct opblock 000000 scc.dl equ 0 delete current cct 000001 scc.df equ 1 set to default cct based on modes 000002 scc.bs equ 2 reset to base of current cct 344 345 00300 346 base 64 347 348 00300 349 cct.2 null * cct for ibm 2741 on hsla subchannel 350 00300 000000 0 351 vfd 9/ct.ncs,9/ct.ncs * 000 001 end of binary card 00000008 00301 000000 0 352 vfd 9/ct.ncs,9/ct.ncs * 002 003 00302 000000 0 353 vfd 9/ct.ncs,9/ct.ncs * 004 005 00303 000000 0 354 vfd 9/ct.ncs,9/ct.ncs * 006 007 00304 000000 0 355 vfd 9/ct.ncs,9/ct.ncs * 010 011 00305 000000 0 356 vfd 9/ct.ncs,9/ct.ncs * 012 013 00306 000000 0 357 vfd 9/ct.ncs,9/ct.ncs * 014 015 00307 000000 0 358 vfd 9/ct.ncs,9/ct.ncs * 016 017 assm 01 04-10-86 13.717 control_tables page 29 cct's - control character tables 00310 000000 0 359 vfd 9/ct.ncs,9/ct.ncs * 020 021 00311 000000 0 360 vfd 9/ct.ncs,9/ct.ncs * 022 023 00312 000000 0 361 vfd 9/ct.ncs,9/ct.ncs * 024 025 00313 000000 0 362 vfd 9/ct.ncs,9/ct.ncs * 026 027 00314 000000 0 363 vfd 9/ct.ncs,9/ct.ncs * 030 031 00315 000000 0 364 vfd 9/ct.ncs,9/ct.ncs * 032 033 00316 000000 0 365 vfd 9/ct.ncs,9/ct.ncs * 034 035 00317 000000 0 366 vfd 9/ct.ncs,9/ct.ncs * 036 037 00320 000000 0 367 vfd 9/ct.ncs,9/ct.ncs * 040 041 00321 000000 0 368 vfd 9/ct.ncs,9/ct.ncs * 042 043 00322 000000 0 369 vfd 9/ct.ncs,9/ct.ncs * 044 045 00323 000000 0 370 vfd 9/ct.ncs,9/ct.ncs * 046 047 00324 000000 0 371 vfd 9/ct.ncs,9/ct.ncs * 050 051 00325 000000 0 372 vfd 9/ct.ncs,9/ct.ncs * 052 053 00326 000007 0 373 vfd 9/ct.ncs,9/ct.mrk * 054 nl 00327 000000 0 374 vfd 9/ct.ncs,9/ct.ncs * 056 057 00330 000000 0 375 vfd 9/ct.ncs,9/ct.ncs * 060 061 00331 000000 0 376 vfd 9/ct.ncs,9/ct.ncs * 062 063 00332 000000 0 377 vfd 9/ct.ncs,9/ct.ncs * 064 065 00333 000000 0 378 vfd 9/ct.ncs,9/ct.ncs * 066 067 00334 000000 0 379 vfd 9/ct.ncs,9/ct.ncs * 070 071 00335 000000 0 380 vfd 9/ct.ncs,9/ct.ncs * 072 073 00336 007000 0 381 vfd 9/ct.mrk,9/ct.ncs * eot 075 00337 000000 0 382 vfd 9/ct.ncs,9/ct.ncs * 076 077 383 00340 000000 0 384 vfd 9/ct.ncs,9/ct.ncs * 100 101 00341 000000 0 385 vfd 9/ct.ncs,9/ct.ncs * 102 103 00342 000000 0 386 vfd 9/ct.ncs,9/ct.ncs * 104 105 00343 000000 0 387 vfd 9/ct.ncs,9/ct.ncs * 106 107 00344 000000 0 388 vfd 9/ct.ncs,9/ct.ncs * 110 111 00345 000000 0 389 vfd 9/ct.ncs,9/ct.ncs * 112 113 00346 000000 0 390 vfd 9/ct.ncs,9/ct.ncs * 114 115 00347 000000 0 391 vfd 9/ct.ncs,9/ct.ncs * 116 117 end of binary card 00000009 00350 000000 0 392 vfd 9/ct.ncs,9/ct.ncs * 120 121 00351 000000 0 393 vfd 9/ct.ncs,9/ct.ncs * 122 123 00352 000000 0 394 vfd 9/ct.ncs,9/ct.ncs * 124 125 00353 000000 0 395 vfd 9/ct.ncs,9/ct.ncs * 126 127 00354 000000 0 396 vfd 9/ct.ncs,9/ct.ncs * 130 131 00355 000000 0 397 vfd 9/ct.ncs,9/ct.ncs * 132 133 00356 000000 0 398 vfd 9/ct.ncs,9/ct.ncs * 134 135 00357 000000 0 399 vfd 9/ct.ncs,9/ct.ncs * 136 137 00360 000000 0 400 vfd 9/ct.ncs,9/ct.ncs * 140 141 00361 000000 0 401 vfd 9/ct.ncs,9/ct.ncs * 142 143 00362 000000 0 402 vfd 9/ct.ncs,9/ct.ncs * 144 145 00363 000000 0 403 vfd 9/ct.ncs,9/ct.ncs * 146 147 00364 000000 0 404 vfd 9/ct.ncs,9/ct.ncs * 150 151 00365 000000 0 405 vfd 9/ct.ncs,9/ct.ncs * 152 153 00366 000007 0 406 vfd 9/ct.ncs,9/ct.mrk * 154 nl 00367 000000 0 407 vfd 9/ct.ncs,9/ct.ncs * 156 157 assm 01 04-10-86 13.717 control_tables page 30 cct's - control character tables 00370 000000 0 408 vfd 9/ct.ncs,9/ct.ncs * 160 161 00371 000000 0 409 vfd 9/ct.ncs,9/ct.ncs * 162 163 00372 000000 0 410 vfd 9/ct.ncs,9/ct.ncs * 164 165 00373 000000 0 411 vfd 9/ct.ncs,9/ct.ncs * 166 167 00374 000000 0 412 vfd 9/ct.ncs,9/ct.ncs * 170 171 00375 000000 0 413 vfd 9/ct.ncs,9/ct.ncs * 172 173 00376 007000 0 414 vfd 9/ct.mrk,9/ct.ncs * eot 175 00377 000000 0 415 vfd 9/ct.ncs,9/ct.ncs * 176 177 416 00400 417 cct.3 null * cct for use with grts, terminate on etx + bcc 418 00400 000000 0 419 vfd 9/ct.ncs,9/ct.ncs * 000 001 00401 000061 0 420 vfd 9/ct.ncs,9/ct.grt * 002 etx 00402 000000 0 421 vfd 9/ct.ncs,9/ct.ncs * 004 005 00403 000000 0 422 vfd 9/ct.ncs,9/ct.ncs * 006 007 00404 000000 0 423 vfd 9/ct.ncs,9/ct.ncs * 010 011 00405 000000 0 424 vfd 9/ct.ncs,9/ct.ncs * 012 013 00406 000000 0 425 vfd 9/ct.ncs,9/ct.ncs * 014 015 00407 000000 0 426 vfd 9/ct.ncs,9/ct.ncs * 016 017 00410 000000 0 427 vfd 9/ct.ncs,9/ct.ncs * 020 021 00411 000000 0 428 vfd 9/ct.ncs,9/ct.ncs * 022 023 00412 000000 0 429 vfd 9/ct.ncs,9/ct.ncs * 024 025 00413 006000 0 430 vfd 9/ct.ign,9/ct.ncs * syn 027 00414 000000 0 431 vfd 9/ct.ncs,9/ct.ncs * 030 031 00415 000000 0 432 vfd 9/ct.ncs,9/ct.ncs * 032 033 00416 000000 0 433 vfd 9/ct.ncs,9/ct.ncs * 034 035 end of binary card 00000010 00417 000000 0 434 vfd 9/ct.ncs,9/ct.ncs * 036 037 435 436 00420 437 dup 1,48 00420 000000 0 438 vfd 9/ct.ncs,9/ct.ncs end of binary card 00000011 439 440 441 * cct that breaks on all characters 442 * used occosionally for 1050's and 2741's, and 443 * externally by autobaud tables 444 00500 445 cct.br null 00500 446 dup 1,64 00500 023023 0 447 vfd 9/ct.eol,9/ct.eol end of binary card 00000012 assm 01 04-10-86 13.717 control_tables page 31 wait for dialup 00600 449 tdhung null /* defined symbol for "hungup" t&d channel */ 00600 450 begin tstglb gbf6up,start /* make sure 6180 is up before start */ 00603 451 begin1 wait 0,0,begin /* wait for test state */ end of binary card 00000013 452 00607 453 start tstflg tfauto,isauto /* make all autobaud lines start ascii */ 00613 454 goto start1 00615 455 isauto setype ttasci 456 00617 457 start1 tstflg tfhang,hangak /* check for extra hangup */ 00623 458 gotype (norm,norm,norm,astart,norm,gstar,bscstr,tstart,vstart,a1 00623 459 etc star,a2star,a3star,s1star,s2star,s3star,pvstar,x25str,hdl 00623 460 etc str,colts) /* start up */ 461 00650 462 norm tstflg tfacu,acutst /* check if auto call unit is to be started */ end of binary card 00000014 00654 463 tstflg tflisn,listen /* if told to listen do it */ 00660 464 restrt clrflg tfhang 00663 465 maskr wait 0,0,begin /* wait till told to start again */ 466 00667 467 hangak signal hangup /* acknowledge hangup orders, since */ 00671 468 goto restrt /* host may depend on interrupt */ 469 00673 470 hungup stpchn /* hungup, stop and start over */ 00675 471 contrl rdtr /* reset data term ready */ 00677 472 setcct scc.dl /* get rid of any cct */ 00701 473 setime -500 /* make sure we leave dtr down for at least */ 00703 474 wait begin,0,hgtest /* half a second */ 475 00707 476 hgtest tstglb gbf6up,h1test /* fnp must be up, else false start */ 00712 477 waitm /* no go - return to wait loop */ 478 00713 479 h1test iftype ttx25l,x25str /* x25 only aborts hangup timer */ 00716 480 waitm /* all others must wait */ 481 00717 482 listen clrflg tfhang /* so as not to be caught later by an old hangup 00722 483 contrl sdtr+srts+stat /* set dtr and wait for status */ end of binary card 00000015 00724 484 setime 0 /* turn off the timer */ 485 00726 486 wait 0,0,tstlsn /* and wait here */ 00732 487 status ring,cd+cts+dsr,waitcd /* ring, wait for cd */ 00736 488 status cd+cts+dsr,0,dialed /* all on, dialup */ 489 00742 490 waitcd setime 20 /* wait 20 secs for cd */ 491 00744 492 wait nocd,0,tstlsn /* if timeout, hangup on him */ 00750 493 status cd+cts+dsr,0,dialed 494 00754 495 nocd contrl rdtr /* nothing, hangup on him now */ assm 01 04-10-86 13.717 control_tables page 32 wait for dialup 00756 496 setime 5 /* wait 5 secs for this to happen */ 00760 497 wait hungup,0,0 /* go to hungup when done */ 498 00764 499 dialed tstglb gbf6up,godial /* make sure we're supposed to accept calls */ 00767 500 goto hungup /* we aren't */ 00771 501 godial gotype (chkaut,diftyp,diftyp,error,dialsy) end of binary card 00000016 502 01000 503 chkaut setcct scc.df /* set default ascii cct */ 01002 504 tstflg tfauto,autost /* do autobaud setting if needed */ 01006 505 goto signal 506 01010 507 tstlsn tstglb gbf6up,tsthng /* see if multics stopped accepting calls */ 01013 508 goto hungup /* it did */ assm 01 04-10-86 13.717 control_tables page 33 wait for dialup 510 ************************************************************************ 511 * 512 * perform test to determine if 1050 or 2741 terminal 513 * the following code runs only on lsla's 514 * 515 ************************************************************************ 516 01015 517 diftyp ifhsla difh01 /* special processing for hsla lines */ 01017 518 dcwlst 01020 519 cmd srec /* enter receive mode for eoa */ 01021 520 input 1,eoa /* look for eoa from 2741 */ 01022 521 cmd smark /* marker if recvd */ 522 01023 523 setime 3 /* wait 3 seconds for eoa */ 524 01025 525 wait dt1050,0,0 /* timeout, is 1050 */ 01031 526 status marker,0,dt2741 /* yup, its a 2741 */ 527 01035 528 dt1050 setype tt1050 /* set to 1050 */ 529 01037 530 dcwlst /* make sure is really 1050 */ 01040 531 cmd sbrk /* send line break */ end of binary card 00000017 01041 532 setime 1 /* give line break half a second to take */ 01043 533 wait dt105a,0,0 01047 534 dt105a dcwlst 01050 535 cmd rrec+sxmit /* go into xmit mode */ 01051 536 output (ibmeot) /* put 2741 into control-receive */ 01053 537 cmd srec+rxmit /* go into recv */ 01054 538 input 1,eoa /* should respond with eoa */ 01055 539 cmd smark /* send marker status */ 540 01056 541 setime 3 /* wait 3 seconds for device */ 01060 542 wait signal,0,0 /* timeout, is really 1050 */ 01064 543 status marker,0,dt2741 /* got eoa, really 2741 */ 544 01070 545 dt2741 setype tt2741 /* set to 2741 */ 01072 546 goto signal 547 548 ************************************************************************ 549 * 550 * perform test to determine if 1050 or 2741 terminal 551 * the following code runs only on hsla's 552 * 553 ************************************************************************ 554 01074 555 difh01 setcct cct.br /* break on all characters */ 01076 556 contrl srec /* set receive mode to wait for eoa */ 01100 557 setime 3 01102 558 wait difh02,0,0 assm 01 04-10-86 13.717 control_tables page 34 wait for dialup 01106 559 status brkchr,0,difh03 /* got it, must be 2741 */ end of binary card 00000018 560 01112 561 difh02 setype tt1050 /* no eoa, probably 1050 */ 01114 562 dcwlst /* but try 2741 test once more */ 01115 563 cmd sbrk 01116 564 setime 1 /* give line break time to take */ 01120 565 wait difh2a,0,0 01124 566 difh2a dcwlst 01125 567 cmd sxmit 01126 568 output (ibmeot) 01130 569 cmd rxmit 01131 570 setime 3 01133 571 wait difh04,0,0 /* wait for eoa once more */ 572 01137 573 status brkchr,0,difh03 /* really 2741 */ 574 01143 575 difh03 setype tt2741 01145 576 difh04 setcct cct.2 /* back to standard cct */ 01147 577 goto signal 578 579 ************************************************************************ 580 * 581 * signal dialu to multics to say terminal is here 582 * 583 ************************************************************************ 584 01151 585 dialsy setcct cct.3 /* cct for sync line */ 586 01153 587 signal dmpout /* throw away any leftover output from 6180 */ 01154 588 dumpin /* likewise any input left on the line */ 01155 589 signal dialup /* tell multics about this line */ end of binary card 00000019 590 01157 591 goto getwrk /* start looking for work */ assm 01 04-10-86 13.717 control_tables page 35 wru - read the answer back for a line 593 ************************************************************************ 594 * 595 * perform wru processing to read answerback 596 * dia_man puts this address in t.cur to make us start here 597 * 598 ************************************************************************ 599 01161 600 wru wait 0,0,rdansb /* test state here when answer back wanted */ 601 01165 602 rdansb scntr 0 603 01167 604 anslp gotype (rawru,ra1050,ra2741,error,error,error,error,ant202) 605 606 ************************************************************************ 607 * 608 * ascii line 609 * 610 ************************************************************************ 611 01201 612 rawru stpchn /* halt channel */ 01203 613 dcwlst /* dcw list to read answerback */ 01204 614 cmd sxmit /* enter xmit mode */ 01205 615 output (awru) /* send ascii wru char */ 01207 616 cmd rxmit+srec /* go into receive mode */ 617 01210 618 clrflg tfkybd /* clobbered keyboard */ 01213 619 goto answt /* wait */ 620 621 ************************************************************************ 622 * 623 * 1050 on lsla 624 * 625 ************************************************************************ 626 01215 627 ra1050 stpchn /* halt channel */ 01217 628 ifhsla rahs10 /* seperate code for hsla 01221 629 dcwlst /* dcw list for 1050 answerback */ 01222 630 cmd sbrk /* send line break */ 01223 631 setime 1 /* give it time to happen */ 01225 632 wait ra105a,0,0 end of binary card 00000020 01231 633 ra105a dcwlst 01232 634 cmd sxmit+rrec 01233 635 output (adprtr) 01235 636 cmd rxmit+srec /* enter rec for ans */ 01236 637 rdtly 1 /* read only one char */ 01237 638 cmd sxmit+rrec /* finish addressing */ 01240 639 output (eoa) 01242 640 cmd rxmit+sterm 641 assm 01 04-10-86 13.717 control_tables page 36 wru - read the answer back for a line 01243 642 clrflg tfkybd /* no more keyboard */ 01246 643 setflg tfprtr /* printer on now */ 01251 644 goto answt /* wait */ 645 646 ************************************************************************ 647 * 648 * 1050 on hsla 649 * 650 ************************************************************************ 651 01253 652 rahs10 setcct cct.br /* break on all chars */ 01255 653 dcwlst 01256 654 cmd sbrk 01257 655 setime 1 /* give it time to happen */ 01261 656 wait rahs1a,0,0 01265 657 rahs1a dcwlst 01266 658 cmd sxmit+srec 01267 659 output (adprtr) 01271 660 cmd rxmit 01272 661 setime 4 01274 662 wait anstim,0,tsthng end of binary card 00000021 01300 663 status 0,cts,hang2 01304 664 status 0,cd,hang2 01310 665 status brkchr,0,rahs30 /* got reply */ 666 01314 667 rahs30 dcwlst sxmit+rrec 01315 668 output (eoa) 01317 669 cmd rxmit+sterm 01320 670 wait anstim,0,tsthng 01324 671 status 0,cd,hang2 01330 672 status 0,cts,hang2 01334 673 status term,0,rahs40 01340 674 rahs40 setflg tfprtr 01343 675 clrflg tfkybd end of binary card 00000022 01346 676 setcct cct.2 01350 677 goto ansend 678 679 ************************************************************************ 680 * 681 * 2741 line 682 * 683 ************************************************************************ 684 01352 685 ra2741 stpchn /* halt channel */ 01354 686 setcct cct.2 /* should be this if hsla */ 01356 687 dcwlst 01357 688 cmd sbrk /* line break */ 01360 689 setime 1 assm 01 04-10-86 13.717 control_tables page 37 wru - read the answer back for a line 01362 690 wait ra274a,0,0 01366 691 ra274a dcwlst 01367 692 cmd sxmit+rrec 01370 693 output (eoa,ibmprf,ibmpls,ibmeot) 01373 694 cmd rxmit+srec 695 01374 696 clrflg tfkybd 01377 697 goto answt /* wait */ 698 699 ************************************************************************ 700 * 701 * common answerback code 702 * 703 ************************************************************************ 704 01401 705 answt setime 4 /* wait four seconds for response */ 706 01403 707 wait anstim,0,0 /* retry on timeout */ 01407 708 status 0,cts,hang2 end of binary card 00000023 01413 709 status 0,cd,hangb 01417 710 status brkchr,0,ansend /* got it */ 01423 711 status term,0,ansend /* also */ assm 01 04-10-86 13.717 control_tables page 38 wru - read the answer back for a line 01427 713 ansend sendin /* ship it */ 01430 714 goto getwrk /* continue real stuff */ 715 01432 716 anstim acntr 1 /* bump counter */ 01434 717 tcntr 3,ansnot /* too much, punt */ 718 01437 719 goto anslp /* loop for more */ 720 01441 721 ansnot signal wrutim /* tell as_ that there is no answer back */ 01443 722 stpchn /* throw away any funny input */ 01445 723 dumpin 01446 724 iftype tt1050,ansnt2 /* must reset cct on hsla 1050 */ 01451 725 goto getwrk 01453 726 ansnt2 setcct cct.2 01455 727 goto getwrk assm 01 04-10-86 13.717 control_tables page 39 brk - send line break to the terminal 729 ************************************************************************ 730 * 731 * send line break at users request 732 * dia_man puts this address in t.cur to make us start here 733 * 734 ************************************************************************ 735 01457 736 brk wait 0,0,brkst /*test state here when send break wanted*/ end of binary card 00000024 737 01463 738 brkst scntr 0 739 01465 740 stpchn /* kill user channel */ 01467 741 dumpin /* throw away input */ 01470 742 setime -100 /* wait for 100mils */ 01472 743 contrl sbrk 01474 744 wait brkout,0,0 01500 745 status 0,cts,hang2 01504 746 status 0,cd,hangb 01510 747 status break,0,brkout 01514 748 brkout setcct scc.bs /* back to base cct, in case */ 01516 749 clrflg tffip /* turn off frame in progress */ 01521 750 tstflg tfquit,writnl /* print new-line if asked to */ 01525 751 clrflg (tfprtr,tfkybd) /* nothing is addressed now */ 01530 752 goto getwrk /* no newline, go read more */ end of binary card 00000025 assm 01 04-10-86 13.717 control_tables page 40 reading part of control tables 754 ************************************************************************ 755 * 756 * start of real work of control_tables. if there is output 757 * to do, go do it, otherwise setup to read. 758 * 759 ************************************************************************ 760 01532 761 getwrk clrflg (tfwabt,tfrabt) /* clear in case we just did one */ 01535 762 tstwrt write /* if any writing, do it */ 01537 763 tstflg tfhang,hanga /* if we are to hangup, do it */ 01543 764 tstflg tfctrl,ckkybd /* if control mode, check kybd */ 01547 765 goto read /* go directly to it */ 766 767 ************************************************************************ 768 * 769 * starting input on a device that requires keyboard 770 * addressing. do it here. 771 * 772 ************************************************************************ 773 01551 774 ckkybd tstflg tfkybd,read /* if kybd addressed, read */ 01555 775 clrflg tfprtr /* we are about to kill prtr */ 776 01560 777 gotype (kbasci,kb1050,kb2741,error,read) 778 01567 779 kbasci dcwlst /* dcwlst to address kybd */ 01570 780 cmd rrec+sxmit /* set xmit mode */ 01571 781 output (adkybd) /* send ack to tty37 */ 01573 782 cmd srec+rxmit+smark /* marker when done */ 783 01574 784 goto kybdwt /* go to wait block */ 785 01576 786 kb1050 null 01576 787 kb2741 ifhsla kbhs01 /* special processing for hsla lines */ end of binary card 00000026 01600 788 dcwlst /* same basic stuff 1050/2741 */ 01601 789 cmd sxmit+rrec /* set xmit mode */ 01602 790 output (adkybd) /* 1050 = lc, eot, /, 0 */ 791 /* 2741 = lc, eot */ 01604 792 cmd srec+rxmit /* set recv to get eoa */ 01605 793 input 1,eoa /* read 1 look for eoa */ 01606 794 cmd smark /* send marker */ 795 01607 796 clrflg tfupsf /* we have sent low shift to device */ 01612 797 goto kybdwt /* wait for marker */ 798 01614 799 kbhs01 setcct cct.br /* break on all characters */ 01616 800 dcwlst 01617 801 cmd sxmit+srec 01620 802 output (adkybd) assm 01 04-10-86 13.717 control_tables page 41 reading part of control tables 01622 803 cmd rxmit 01623 804 setime 3 01625 805 wait kbhs03,0,tsthng /* wait for addressing to complete */ 01631 806 status 0,cd,hang2 01635 807 status break,0,kbhs04 /* user hit quit */ 01641 808 status brkchr,0,kbhs02 /* break char, kybd addressed */ 809 01645 810 kbhs04 setcct cct.2 /* back to standard cct */ end of binary card 00000027 01647 811 goto otquit 01651 812 kbhs02 setcct cct.2 01653 813 clrflg tfupsf 01656 814 dumpin 01657 815 goto kybdon 01661 816 kbhs03 setcct cct.2 01663 817 goto kybdto 818 01665 819 kybdwt setime 3 /* wait 3 secs for keyboard */ 820 01667 821 wait kybdto,0,0 /* wait for kybd to be addressed */ 01673 822 status 0,cd,hangb /* no cd, maybe hangup */ 01677 823 status break,0,otquit /* quit, tell 6180 */ 01703 824 status marker,0,kybdon /* done addressing */ 825 01707 826 kybdon setflg tfkybd /* kybd on, set flag */ 01712 827 tstwrt write /* if we are to write do it */ 01714 828 goto rwait /* go to read wait */ end of binary card 00000028 829 01716 830 kybdto contrl rrec+rxmit+smark /* time out, stop and give up */ 01720 831 wait 0,0,tstdmp 01724 832 status 0,cd,hangb 01730 833 status marker,0,getwrk 834 835 ************************************************************************ 836 * 837 * keyboard addressing not required, just set rcv mode 838 * 839 ************************************************************************ 840 01734 841 read contrl srec+rxmit /* setup regular read */ 842 843 ************************************************************************ 844 * 845 * in receive mode now, wait for something to happen 846 * 847 ************************************************************************ 848 01736 849 rwait setime 0 /* turn off the timer */ 850 assm 01 04-10-86 13.717 control_tables page 42 reading part of control tables 01740 851 wait 0,rabort,tstrbp /* wait here for something */ 01744 852 status 0,cd,hangb 01750 853 status parity,0,sndchk /* watch for parity errors */ 01754 854 status break,0,inquit 01760 855 status brkchr,0,ckdata /* check for eot 2741 */ 01764 856 status exh,0,inexh /* too much input */ end of binary card 00000029 01770 857 status xte,0,inxte /* input too fast */ 01774 858 status prexh,0,preshp 859 860 ************************************************************************ 861 * 862 * got input data - break character status 863 * 864 ************************************************************************ 865 02000 866 ckdata tstflg tfrabt,dmpin /* are we supposed to throw it away? */ 02004 867 gotype (sndata,sndata,ck2741,error,sndata) 868 02013 869 preshp meter2 m.prex,1 02016 870 sendin /* just send data on pre-exaust */ 02017 871 waitm 872 873 ************************************************************************ 874 * 875 * input is from 2741. special processing required for eots 876 * 877 ************************************************************************ 878 02020 879 ck2741 inscan iscn1,ckupnl /* see if it looks like uppercase nl */ 02023 880 setflg tfeotx /* got the nl, eot is next */ 02026 881 goto sndata /* ship the data now */ 882 02030 883 ckupnl inscan iscn3,ckeot /* not an nl, see if it's eot */ 02033 884 setflg tfeotx /* eot would be appropriate now */ end of binary card 00000030 02036 885 goto sndata /* pretend uppercase nl is lowercase nl */ 886 02040 887 ckeot inscan iscn2,upeot /* might be shifted eot */ 02043 888 goto goteot /* all right, we have eot */ 02045 889 upeot inscan iscn6,sndata /* non-standard break, just send input */ 890 02050 891 goteot tstflg tfeotx,ckfin /* got the eot, fix kybd */ 02054 892 clrflg tfkybd /* however his keyboard is still unaddressed */ 02057 893 goto inquit /* not expected, must be quit */ 894 02061 895 ckfin clrflg tfeotx /* got it, turn of expected flag */ 02064 896 stpchn /* stop the channel */ 02066 897 dumpin /* throw away the eot */ 02067 898 goto kb2741 /* unlock his keyboard */ assm 01 04-10-86 13.717 control_tables page 43 reading part of control tables 899 900 ************************************************************************ 901 * 902 * have real data to send to multics 903 * 904 ************************************************************************ 905 02071 906 sndata sendin /* send data to 6180 */ 02072 907 tstwrt getwrk /* make sure no write to be done */ 02074 908 goto rwait /* wait for more input */ 909 910 ************************************************************************ 911 * 912 * parity error. this is ignored except for sync line type 913 * 914 ************************************************************************ 915 02076 916 sndchk meter1 m.par,1 02101 917 iftype ttsync,sndstp /* if line sync type, stop channel */ end of binary card 00000031 02104 918 goto sndata /* else send data in to multics */ 919 02106 920 sndstp stpchn /* stop reciever (resync) */ 02110 921 sendin /* ship stuff anyway */ 02111 922 goto getwrk /* look for other processing */ 923 924 ************************************************************************ 925 * 926 * come here when too much input, or input too fast 927 * 928 ************************************************************************ 929 02113 930 inxte meter1 m.xte,1 02116 931 goto holdup 932 02120 933 inexh meter2 m.exh,1 02123 934 holdup stpchn /* kill users channel */ 02125 935 sendin /* ship off any input */ 02126 936 meter1 m.quit,1 /* count 'bell-quits' */ 02131 937 gotype (holdac,holdwt,holdwt,error,holdwt) 02140 938 holdac scntr 0 /* zero a bell counter */ 02142 939 holdbl dcwlst /* warn user of problems with bells */ 02143 940 cmd sxmit 02144 941 output (bel) 02146 942 cmd rxmit+sterm 02147 943 wait 0,0,tstrbt /* wait for bells to finish */ end of binary card 00000032 02153 944 status 0,cd,hangb 02157 945 status break,0,otquit 02163 946 status term,0,holdlp assm 01 04-10-86 13.717 control_tables page 44 reading part of control tables 947 02167 948 holdlp acntr 1 /* count bells */ 02171 949 tcntr 3,holdwt /* done */ 02174 950 setime -150 /* scientifically determined optimal bell delay * 02176 951 wait holdbl,0,tstrbt 02202 952 status 0,cd,hangb 02206 953 status break,0,inquit 954 02212 955 holdwt setime 10 /* give user 10 seconds to quit */ 02214 956 contrl sbrk 02216 957 wait inquit,0,tstrbt end of binary card 00000033 02222 958 status 0,cd,hangb 02226 959 status break,0,inquit assm 01 04-10-86 13.717 control_tables page 45 utility functions 02232 961 rabort null /* come here when output arrives */ 02232 962 ckinpt getwrk /* check for input, none goto getwrk */ 02234 963 tstflg tfplit,raplit /* polite mode? */ 02240 964 goto getwrk /* no, process normally */ 965 02242 966 raplit setime 30 /* partial input, wait for it to complete */ 02244 967 wait pltout,0,tsthng 02250 968 status 0,cd,hangb 02254 969 status parity,0,sndchk /* watch for parity errors */ 02260 970 status break,0,otquit 02264 971 status brkchr,0,ckdata /* check for eot 2741 */ end of binary card 00000034 02270 972 status exh,0,inexh 02274 973 status xte,0,inxte 02300 974 status prexh,0,preshp 975 02304 976 pltout null /* we have waited long enough, process output */ 02304 977 tstflg tfrabt,tstecp /* are we supposed to throw away accumulated inpu 02310 978 goto getwrk /* no, proceed */ 979 02312 980 tstdmp tstflg tfwabt,dump /* test for dump output */ 02316 981 goto tsthng /* no, check for hangup */ 02320 982 waitm 983 02321 984 tstrbp tstflg tfrabt,tstplt /* dump input? */ 02325 985 goto tsthng /* no, check for hangup */ 986 02327 987 tstrbt tstflg tfrabt,tstecp /* check for read abort */ 02333 988 tsthng tstflg tfhang,hanga /* hang it up */ end of binary card 00000035 02337 989 twaitm waitm 990 02340 991 tstplt ckinpt getwrk /* there isn't anything to throw away */ 02342 992 tstflg tfplit,twaitm /* if being polite, dump it later */ 02346 993 tstecp tstflg tfecpx,echoat /* are we in echoplex? */ 02352 994 goto dmpin /* no, just dump it */ 995 02354 996 echoat ckinpt getwrk /* no accumulated input, forget it */ 02356 997 echo atchar /* put at sign in echo buffer */ 998 02360 999 dmpin stpchn /* stop the channel */ 02362 1000 dumpin /* throw away read chain */ 02363 1001 dmprpy /* dump any accumulated replay */ 02364 1002 goto getwrk 1003 02366 1004 dump stpchn /* stop channel */ 02370 1005 dmpout /* dump the output */ 02371 1006 goto getwrk 1007 02373 1008 inquit stpchn /* stop the input for now */ assm 01 04-10-86 13.717 control_tables page 46 utility functions 02375 1009 setcct scc.bs /* back to base cct, in case */ 02377 1010 clrflg tffip /* turn off frame in progress */ 02402 1011 sendin /* send any input to 6180 */ 02403 1012 signal quit /* tell 6180 */ 1013 1014 *************************************************************************** 1015 * 1016 * throw away rapid breaks to prevent over-run. 1017 * here we require a .25 second gap between observable breaks to 1018 * prevent too many breaks and send_outputs caused by a terminal 1019 * set at too low a line speed. 1020 * 1021 * this is done by waiting .25 seconds before continuing break 1022 * processing. if another break occurs within this period, it is 1023 * ignored and any stored up input is dumped, to prevent buffer 1024 * over-commitment. 1025 * 1026 * we will get out of it, either if mcs sends us stuff, or the line 1027 * is hung up (cd drops). 1028 * 1029 *************************************************************************** 1030 02405 1031 iqthld setime -250 /* wait 1/4 second for break timeout end of binary card 00000036 02407 1032 wait iqtcon,iqtcon,tsthng /* timeout or mcs output - continue 1033 * control order - obey hangup 02413 1034 status 0,cd,hangb /* carrier drop loses the line 02417 1035 status break,0,iqtbrk /* continued break 1036 02423 1037 iqtbrk dumpin /* lose the input accumulated input 02424 1038 dmprpy /* dump accumulated replay 02425 1039 goto iqthld /* continue break 1040 02427 1041 iqtcon tstflg tfquit,writnl /* print new-line if asked to */ 02433 1042 clrflg (tfprtr,tfkybd) /* nothing is addressed now */ 02436 1043 goto getwrk /* no newline, go read more */ 1044 02440 1045 otquit stpchn /* stop the input for now */ 02442 1046 setcct scc.bs /* back to base cct */ 02444 1047 clrflg tffip /* turn off frame in progress */ 02447 1048 sendin /* ship any input */ 02450 1049 setfld t.omct,0 /* treat like block acknowledgement */ 02453 1050 signal quit /* tell 6180 */ end of binary card 00000037 1051 1052 ***************************************************************************** 1053 * 1054 * same break processing as for input, for same reasons. 1055 * 1056 **************************************************************************** assm 01 04-10-86 13.717 control_tables page 47 utility functions 1057 02455 1058 oqthld setime -250 02457 1059 wait oqtcon,oqtcon,tsthng 02463 1060 status 0,cd,hangb 02467 1061 status break,0,oqtbrk 1062 02473 1063 oqtbrk dumpin 02474 1064 dmprpy 02475 1065 goto oqthld 1066 02477 1067 oqtcon tstflg tfquit,qdump /* dump and print nl ? */ 02503 1068 clrflg (tfprtr,tfkybd) /* we'll have to re-address */ 02506 1069 goto getwrk /* go look for work to be done */ 1070 02510 1071 qdump dmpout /* throw away the output chain */ 02511 1072 writnl prepnl /* setup new-line for output */ 02512 1073 scntr -10 /* flag meaning printing new-line after quit */ 02514 1074 goto write2 1075 02516 1076 error punt 1 /* ards error */ assm 01 04-10-86 13.717 control_tables page 48 writing part of tables 02520 1078 write tstflg tfpfnl,write3 /* see if in prefixnl mode */ end of binary card 00000038 02524 1079 goto write1 /* no, dont prepnl check */ 02526 1080 write3 ckinpt write1 /* check to see if input snuck in */ 02530 1081 prepnl /* it did, setup to write newline */ 02531 1082 write1 scntr 0 /* flag meaning not doing nl after quit */ 02533 1083 write2 tstflg tfctrl,ckprtr /* if we need to address ptr */ 02537 1084 goto print /* nope, go and print */ 1085 02541 1086 ckprtr tstflg tfprtr,print /* if we need to address ptr */ 02545 1087 clrflg tfkybd /* yes, clear kybd */ 1088 02550 1089 gotype (ptasci,pt1050,pt2741,error,print) 1090 02557 1091 ptasci dcwlst /* dcw list to address prtr */ 02560 1092 cmd sxmit+rrec /* go to xmit mode */ 02561 1093 output (adprtr) /* send prtr addr string, nak for 37 */ 02563 1094 cmd smark /* send marker when done */ 02564 1095 output (outmsg) /* send the data */ 02566 1096 cmd sterm+rxmit /* and terminate when finished */ 1097 02567 1098 goto prtrwt /* go wait for addressing */ 1099 02571 1100 pt1050 dcwlst /* dcw list for 1050 adressing */ 02572 1101 cmd sbrk /* send a line break */ end of binary card 00000039 02573 1102 setime 1 /* have to let it happen */ 02575 1103 wait pt105a,0,0 02601 1104 pt105a dcwlst 02602 1105 cmd sxmit+rrec /* go to transmit mode */ 02603 1106 output (adprtr) /* address 1050 prtr, with /9 */ 02605 1107 cmd srec+rxmit /* enter receive mode */ 02606 1108 input 1,null /* read one char */ 02607 1109 cmd sxmit+rrec /* enter transmit mode again */ 02610 1110 output (eoa) /* send eoa char */ 02612 1111 cmd smark /* send marker status when done */ 02613 1112 output (outmsg) /* now, send the guys data */ 02615 1113 cmd sterm+rxmit /* and terminate when done */ 1114 02616 1115 goto prtrwt /* wait for addressing to finish */ 1116 02620 1117 pt2741 dcwlst /* address 2741 printer */ 02621 1118 cmd sbrk /* send a line break */ 02622 1119 setime 1 /* give it time */ 02624 1120 wait pt274a,0,0 02630 1121 pt274a dcwlst 02631 1122 cmd sxmit+rrec /* enter transmit mode */ 02632 1123 output (adprtr) /* address printer now with eoa */ 02634 1124 cmd smark /* send marker when done addressing */ 02635 1125 output (outmsg) /* send the data */ assm 01 04-10-86 13.717 control_tables page 49 writing part of tables 02637 1126 cmd sterm+rxmit /* send term when done outout */ 1127 02640 1128 clrflg tfeotx /* clear eot expected flag */ end of binary card 00000040 02643 1129 goto prtrwt 1130 02645 1131 prtrwt setime 5 /* wait 5 secs for addressing */ 1132 02647 1133 wait prtrto,0,tsthng /* if timeout, punt */ 02653 1134 status 0,cd,hangb 02657 1135 status marker,0,prtron /* printer is addressed now */ 02663 1136 status break,0,otquit /* quit? */ 1137 02667 1138 prtrto stpchn /* timed out waiting for printer addressing */ 02671 1139 contrl stat /* make sure no hangup during stpchn */ 02673 1140 setime -150 02675 1141 wait prttim,0,tstdmp 02701 1142 status 0,cd,hangb 1143 02705 1144 prttim tstflg tfwabt,dump end of binary card 00000041 02711 1145 tstwrt write1 /* real timeout, try again */ 02713 1146 goto getwrk 1147 02715 1148 prtron setflg tfprtr /* printer on now */ 02720 1149 tcntr -10,wwait /* ignore write-abort on nl after quit */ 02723 1150 tstflg tfwabt,dump /* were we asked to punt */ 02727 1151 goto wwait /* no, wait for write to finish */ 1152 02731 1153 print tstflg tffdpx,printf /* full dpx, dont reset rec */ 02735 1154 tstflg tfecpx,printf /* likewise for echoplex */ 1155 02741 1156 dcwlst /* start output on device wo addressing */ 02742 1157 cmd sxmit+rrec /* enter xmit mode and reset rec */ 02743 1158 output (outmsg) /* put in the data */ 02745 1159 cmd sterm+rxmit /* and terminate */ 1160 02746 1161 goto wwait /* wait for terminate */ 1162 02750 1163 printf tstflg (tfblak,tfofc),chkeob /* check for block acknowledgement */ 02754 1164 sprint dcwlst /* full dpx write */ 02755 1165 cmd sxmit+srec /* enter xmit mode */ 02756 1166 output (outmsg) end of binary card 00000042 02760 1167 cmd sterm+rxmit /* term when done */ 1168 02761 1169 wwait tstflg tfrpon,wwait1 /* replay already started? */ 02765 1170 tstflg tfrply,prplay /* no, should we start one? */ 02771 1171 goto wwait1 /* no, go wait */ 1172 assm 01 04-10-86 13.717 control_tables page 50 writing part of tables 02773 1173 prplay ckinpt wwait1 /* check for any input */ 02775 1174 setflg tfrpon /* set replay in progress flag */ 03000 1175 gtinpt /* scoop up current input */ 1176 03001 1177 wwait1 setime 0 /* turn off the timer */ 1178 03003 1179 wait 0,0,wtest /* wait for status or dump */ 03007 1180 status 0,cd,hangb 03013 1181 status brkchr,0,wsend /* send data input during full dpx */ 03017 1182 status exh,0,wexh /* stop the receiver now */ 03023 1183 status break,0,otquit /* quit? */ end of binary card 00000043 03027 1184 status term,0,wterm /* all done */ 1185 03033 1186 wterm tstflg tfrabt,tstecp /* see if there was a resetread */ 03037 1187 tstwrt getwrk /* if any to do, do it */ 03041 1188 tstflg tfrpon,wdrply /* replay ready, do it */ 03045 1189 tstflg tfplit,wdplit /* check polite write term */ 03051 1190 goto getwrk /* all ok */ 1191 03053 1192 wdrply tstrpy wdrpdn /* if no replay chain goto wdrpdn */ 03055 1193 setime 1 /* wait 1 second for all output */ 03057 1194 wait wdrpto,write1,tstrbt 03063 1195 status 0,cd,hangb 03067 1196 status brkchr,0,wsend /* send data input during full dpx */ 03073 1197 status exh,0,wexh /* stop the receiver now */ end of binary card 00000044 03077 1198 status break,0,otquit /* quit? */ 1199 03103 1200 wdrpto replay /* make the saved input an output chain */ 03104 1201 goto write1 /* put out those chars now */ 1202 03106 1203 wdrpdn clrflg tfrpon /* done now, clear flag */ 03111 1204 goto getwrk /* all done replaying */ 1205 03113 1206 wdplit ckinpt getwrk /* had we just been polite to him? */ 03115 1207 setime 1 /* yes, wait for more output */ 03117 1208 wait wdplto,write1,tsthng 03123 1209 status 0,cd,hangb 03127 1210 status brkchr,0,wsend /* send data input during full dpx */ 03133 1211 status exh,0,wexh /* stop the receiver now */ 03137 1212 status break,0,otquit /* quit? */ 1213 03143 1214 wdplto goto getwrk /* ok, we have waited for all output */ end of binary card 00000045 1215 03145 1216 wsend tstflg tfrabt,wtstec /* see if we were told to throw it away */ 03151 1217 sendin /* no, ship the data */ 03152 1218 waitm /* and wait some more */ 1219 assm 01 04-10-86 13.717 control_tables page 51 writing part of tables 03153 1220 wtstec tstflg tfecpx,wdecho /* echoplex? */ 03157 1221 goto wdmpin /* no, just dump it */ 1222 03161 1223 wdecho echo atchar /* put at sign in echo buffer */ 03163 1224 wdmpin dumpin /* throw away input */ 03164 1225 dmprpy /* dump any accumulated replay */ 03165 1226 waitm /* keep waiting */ 1227 03166 1228 wexh meter2 m.exh,1 03171 1229 contrl rrec /* stop the input now */ 03173 1230 goto wsend /* ship it and wait more */ 1231 03175 1232 wtest tcntr -10,wtestm /* doning newline after quit */ 03200 1233 tstflg tfwabt,dump /* dump_output, do it */ 03204 1234 wtestm clrflg tfwabt 03207 1235 waitm /* but don't perform hangup till output finishes 1236 03210 1237 chkeob tstfld t.omct,2,waitak /* more than two blocks outstanding? */ end of binary card 00000046 03214 1238 goto sprint /* proceed with output */ 1239 03216 1240 waitak contrl srec /* we have to be able to see ack char */ 03220 1241 wait 0,0,tstack /* here to suspend output until ack */ 03224 1242 status 0,cd,hangb /* likewise */ 03230 1243 status brkchr,0,wsend /* forward input anyway */ 03234 1244 status exh,0,wexh /* always handle exhaust */ 03240 1245 status break,0,otquit /* likewise quit */ 1246 03244 1247 tstack tstfld t.omct,2,wtest /* wasn't ack, look for other things */ 03250 1248 goto sprint /* was ack, resume output */ assm 01 04-10-86 13.717 control_tables page 52 check and perform hangups 1250 come here when told to hangup line 1251 03252 1252 hanga stpchn /* stop the channel */ 03254 1253 tstwrt write /* make sure there is no output now */ 03256 1254 setime 1 /* wait to make sure there's no more output */ 1255 03260 1256 wait hanga1,getwrk,0 /* if timeout, time to hang up */ end of binary card 00000047 03264 1257 status 0,cts,hang3 /* line is hung up anyway */ 03270 1258 status 0,cd,hang3 /* likewise */ 1259 03274 1260 hanga1 gotype (hang5,hang5,hang5,ahang,hang3) 1261 1262 1263 1264 come here when cts drops on a line 1265 03303 1266 hang2 gotype (hang5,hang5,hang5,hang5,hang10) 1267 03312 1268 hang5 contrl rxmit+rrec+rdtr+stat /* hangup and request status */ 1269 03314 1270 hangwt setime 5 /* wait 5 seconds for it to happen */ 1271 03316 1272 wait hang3,0,0 /* if timeout, give up on him */ 03322 1273 status 0,cts,hang3 /* still down, done */ 1274 03326 1275 hang3 stpchn /* stop channel again */ 03330 1276 dmpout /* throw away output */ 03331 1277 signal hangup /* did it, tell 6180 */ end of binary card 00000048 03333 1278 clrflg (tflisn,tfhang) /* clear the listen and hangup flags */ 03336 1279 goto hungup 1280 1281 1282 1283 here when cd drops on a line 1284 03340 1285 hangb setime 1 /* wait one sec for carrier */ 1286 03342 1287 wait hang4,0,0 /* if timeout, check somemore */ 03346 1288 status 0,cts,hang2 /* if cts has dropped now, hangup */ 1289 03352 1290 hang4 contrl rxmit+rrec+stat /* get status of line */ 03354 1291 setime 5 /* wait 5 seconds */ 1292 03356 1293 wait hang4,0,0 /* if timeout, try to get status again */ 03362 1294 status 0,cts,hang2 /* cts down, hangup */ 03366 1295 status 0,cd,hang2 /* cd down still, giveup */ 03372 1296 status cd+cts+dsr,0,hangqt /* back up, call it quit */ 1297 assm 01 04-10-86 13.717 control_tables page 53 check and perform hangups 03376 1298 hangqt gotype (hang6,hang6,hang6,hang6,hang11) end of binary card 00000049 1299 03405 1300 hang6 sendin /* send any input to 6180 */ 03406 1301 signal quit /* tell 6180 of quit */ 03410 1302 goto dump /* dump any output, what else can i do */ 1303 1304 here when cd or cts drop on private sync lines 1305 03412 1306 hang10 contrl rxmit+rrec+stat /* get line status */ 03414 1307 setime 10 /* wait 10 seconds for return */ 1308 03416 1309 wait hang10,0,tsthng 03422 1310 status cd+cts+dsr,0,hang11 1311 03426 1312 hang11 goto getwrk 1313 1314 1315 1316 * the following is a control table subroutine to stop a channel 1317 * it is called by the stpchn macro from all control tables. 1318 03430 1319 stpchn contrl rrec+rxmit+smark 03432 1320 setime 1 /* if it doesn't come through in a second */ 03434 1321 wait stptmo,0,0 /* try again */ 03440 1322 status marker,0,stpch2 03444 1323 stpch2 retsub 1324 03445 1325 stptmo addlcl stptmc,1 /* timed out, keep count */ end of binary card 00000050 03450 1326 goto stpchn /* try it again */ 03452 000000 0 1327 stptmc oct 0 1328 end of binary card 00000051 1329 end 3454 is the next available location. 355map version/assembly dates gmpa 801215/123080 gmpb 801215/123080 gmpc 801215/123080 there were no warning flags in the above assembly assm 01 04-10-86 13.719 control_tables page 54 octal symbol references by sequence no. 4 a1star 93 460 5 a2star 94 460 6 a3star 95 460 6 ack 208 208 276 285 7 acutst 84 462 3 adcnt 295 285 287 289 291 293 295 0 adk 295 285 287 289 291 293 295 402 adkybd 208 208 781 790 802 401 adprtr 208 208 635 659 1093 1106 1123 1 adval 295 285 287 289 291 293 295 1 ahang 86 1260 1427 ansend 713 677 710 711 713 1167 anslp 604 604 719 1441 ansnot 721 717 721 1453 ansnt2 726 724 726 1432 anstim 716 662 670 707 716 1401 answt 705 619 644 697 705 10 ant202 88 604 11 astart 85 460 1 async 317 317 320 321 322 323 324 325 326 327 100 atchar 208 208 997 1223 12 autost 92 504 5 awru 208 208 615 603 begin1 451 104 451 600 begin 450 71 450 451 465 474 7 bel 208 208 941 2 blt.d 252 252 262 266 269 775 blt.p1 254 254 273 280 3 blt.t 253 253 258 276 400 break 208 208 747 807 823 854 945 953 959 970 1035 1061 1136 1183 1198 1212 1245 1457 brk 736 110 736 1000 brkchr 208 208 559 573 665 710 808 855 971 1181 1196 1210 1243 1514 brkout 748 744 747 748 1463 brkst 738 736 738 10 bs 208 208 258 269 276 13 bscstr 90 460 300 cct.2 349 76 349 576 676 686 726 810 812 816 400 cct.3 417 79 417 585 500 cct.br 445 80 445 555 652 799 1 cd 208 208 487 488 493 664 671 709 746 806 822 832 852 944 952 958 968 1034 1060 1134 1142 1180 1195 1209 1242 1258 1295 1296 1310 1 chk 221 218 219 220 221 1000 chkaut 503 81 501 503 3210 chkeob 1237 1163 1237 174 chval 221 218 219 220 221 2 c.rcrq 207 207 208 40 c.rdtr 207 207 208 2 c.rrec 207 207 208 20000 c.rrqs 207 207 208 assm 01 04-10-86 13.719 control_tables page 55 octal symbol references by sequence no. 200 c.rsup 207 207 208 200 c.rtre 207 207 208 10 c.rxmt 207 207 208 1000 c.sbrk 207 207 208 1 c.scrq 207 207 208 20 c.sdtr 207 207 208 2000 c.smrk 207 207 208 1 c.srec 207 207 208 10000 c.srqs 207 207 208 100 c.ssup 207 207 208 400 c.stat 207 207 208 100 c.stre 207 207 208 4000 c.strm 207 207 208 4 c.sxmt 207 207 208 2020 ck2741 879 867 879 2000 ckdata 866 855 866 971 2040 ckeot 887 883 887 2061 ckfin 895 891 895 1551 ckkybd 774 764 774 2541 ckprtr 1086 1083 1086 2030 ckupnl 883 879 883 2 colts 102 460 15 cr 208 208 258 269 276 23 ct.eol 342 342 447 61 ct.grt 342 342 420 6 ct.ign 342 342 430 7 ct.mrk 342 342 373 381 406 414 0 ct.ncs 342 342 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 438 0 ctrl 67 67 69 113 2 cts 208 208 487 488 493 663 672 708 745 1257 1273 1288 1294 1296 1310 32 devtbl 223 105 223 207 devtyp 320 107 320 764 dialed 499 488 493 499 1151 dialsy 585 501 585 100 dialup 208 208 589 1074 difh01 555 517 555 1112 difh02 561 558 561 1143 difh03 575 559 573 575 1145 difh04 576 571 576 1124 difh2a 566 565 566 1015 diftyp 517 78 501 517 65 d.1050 260 224 260 77 d.2741 264 225 264 111 d.ards 268 226 268 53 d.asci 257 223 232 233 234 257 assm 01 04-10-86 13.719 control_tables page 56 octal symbol references by sequence no. 123 d.sync 271 227 228 229 235 236 237 238 239 271 134 d.t202 275 230 275 146 d.vip 278 231 278 0 dk 280 258 262 266 269 273 276 280 2360 dmpin 999 866 994 999 4 dsr 208 208 487 488 493 1296 1310 1035 dt1050 528 525 528 1047 dt105a 534 533 534 1070 dt2741 545 526 543 545 1 dtfctl 246 246 262 266 4 dtfsft 247 247 262 266 2366 dump 1004 980 1004 1144 1150 1233 1302 775 dval 280 258 262 266 269 273 276 280 2354 echoat 996 993 996 64 eoa 208 208 295 520 538 639 668 693 793 1110 174 eotshf 208 208 221 2516 error 1076 75 501 604 777 867 937 1076 1089 3 etx 208 208 258 273 276 280 4000 exh 208 208 856 972 1182 1197 1211 1244 14 ff 208 208 258 269 1 gbf6up 208 208 450 476 499 507 1532 getwrk 761 591 714 725 727 752 761 833 907 922 962 964 978 991 996 1002 1006 1043 1069 1146 1187 1190 1204 1206 1214 1256 1312 771 godial 501 499 501 2050 goteot 891 888 891 3 gstar 89 460 713 h1test 479 476 479 3412 hang10 1306 1266 1306 1309 3426 hang11 1312 1298 1310 1312 3303 hang2 1266 663 664 671 672 708 745 806 1266 1288 1294 1295 3326 hang3 1275 1257 1258 1260 1272 1273 1275 3352 hang4 1290 1287 1290 1293 3312 hang5 1268 1260 1266 1268 3405 hang6 1300 1298 1300 3274 hanga1 1260 1256 1260 3252 hanga 1252 763 988 1252 667 hangak 467 457 467 3340 hangb 1285 709 746 822 832 852 944 952 958 968 1034 1060 1134 1142 1180 1195 1209 1242 1285 3376 hangqt 1298 1296 1298 101 hangup 208 208 467 1277 14 hdlstr 101 460 707 hgtest 476 474 476 2140 holdac 938 937 938 2142 holdbl 939 939 951 2167 holdlp 948 946 948 2123 holdup 934 931 934 2212 holdwt 955 937 949 955 673 hungup 470 72 470 497 500 508 1279 24 ibm0 208 208 289 assm 01 04-10-86 13.719 control_tables page 57 octal symbol references by sequence no. 44 ibm9 208 208 291 35 ibmbs 208 208 262 266 37 ibmdwn 208 208 262 266 289 293 74 ibmeot 208 208 219 262 266 289 293 536 568 693 55 ibmnl 208 208 218 262 266 3 ibmpls 208 208 693 76 ibmprf 208 208 693 42 ibmsl 208 208 289 291 57 ibmtab 208 208 262 266 34 ibmup 208 208 262 266 2120 inexh 933 856 933 972 155 inlshf 212 212 220 2373 inquit 1008 854 893 953 957 959 1008 2113 inxte 930 857 930 973 2423 iqtbrk 1037 1035 1037 2427 iqtcon 1041 1032 1041 2405 iqthld 1031 1031 1039 615 isauto 455 453 455 22 iscn1 218 218 879 24 iscn2 219 219 887 26 iscn3 220 220 883 30 iscn6 221 221 889 0 k 1166 536 568 615 635 639 659 668 693 781 790 802 941 1093 1095 1106 1110 1112 1123 1125 1158 1166 1576 kb1050 786 777 786 1576 kb2741 787 777 787 898 1567 kbasci 779 777 779 1614 kbhs01 799 787 799 1651 kbhs02 812 808 812 1661 kbhs03 816 805 816 1645 kbhs04 810 807 810 167 k.1050 289 262 289 177 k.2741 293 266 293 157 k.asci 285 258 285 1707 kybdon 826 815 824 826 1716 kybdto 830 817 821 830 1665 kybdwt 819 784 797 819 717 listen 482 463 482 4 madlen 283 283 285 287 289 291 293 295 40 marker 208 208 526 543 824 833 1135 1322 663 maskr 465 82 465 16 m.exh 205 205 933 1228 11 m.par 205 205 916 22 m.prex 205 205 869 26 m.quit 205 205 936 20 m.xte 205 205 930 25 nak 208 208 276 287 12 nl 208 208 258 269 276 754 nocd 495 492 495 777 nochar 208 208 258 262 266 269 273 276 280 assm 01 04-10-86 13.719 control_tables page 58 octal symbol references by sequence no. 650 norm 462 460 462 0 null 208 208 1108 2473 oqtbrk 1063 1061 1063 2477 oqtcon 1067 1059 1067 2455 oqthld 1058 1058 1065 2440 otquit 1045 811 823 945 970 1045 1136 1183 1198 1212 1245 403 outmsg 208 208 1095 1112 1125 1158 1166 10000 parity 208 208 853 969 173 p.1050 291 262 291 203 p.2741 295 266 295 163 p.asci 287 258 287 2304 pltout 976 967 976 2013 preshp 869 858 869 974 200 prexh 208 208 858 974 2731 print 1153 1084 1086 1089 1153 2750 printf 1163 1153 1154 1163 2773 prplay 1173 1170 1173 2715 prtron 1148 1135 1148 2667 prtrto 1138 1133 1138 2645 prtrwt 1131 1098 1115 1129 1131 2705 prttim 1144 1141 1144 2571 pt1050 1100 1089 1100 2601 pt105a 1104 1103 1104 2620 pt2741 1117 1089 1117 2630 pt274a 1121 1120 1121 2557 ptasci 1091 1089 1091 15 pvstar 99 460 2510 qdump 1071 1067 1071 113 quit 208 208 1012 1050 1301 1215 ra1050 627 604 627 1231 ra105a 633 632 633 1352 ra2741 685 604 685 1366 ra274a 691 690 691 2232 rabort 961 851 961 1253 rahs10 652 628 652 1265 rahs1a 657 656 657 1314 rahs30 667 665 667 1340 rahs40 674 673 674 2242 raplit 966 963 966 1201 rawru 612 604 612 1165 rdansb 602 600 602 40 rdtr 208 208 471 495 1268 1734 read 841 765 774 777 841 510 rescan 208 208 218 219 220 221 660 restrt 464 464 468 2000 ring 208 208 487 2 rrec 208 208 535 634 638 692 780 789 830 1092 1105 1109 1122 1157 1229 1268 1290 1306 1319 1736 rwait 849 828 849 908 10 rxmit 208 208 537 569 616 636 640 660 669 694 782 792 803 830 841 942 assm 01 04-10-86 13.719 control_tables page 59 octal symbol references by sequence no. 1096 1107 1113 1126 1159 1167 1268 1290 1306 1319 16 s1star 96 460 17 s2star 97 460 20 s3star 98 460 1000 sbrk 208 208 531 563 630 654 688 743 956 1101 1118 2 scc.bs 342 342 748 1009 1046 1 scc.df 342 342 503 0 scc.dl 342 342 472 20 sdtr 208 208 483 502 search 208 208 218 219 220 221 1153 signal 587 74 505 542 546 577 587 200000 s.acr 207 207 208 400000 s.ads 207 207 208 400000 s.bdmk 207 207 208 200000 s.bmk 207 207 208 1000 s.brch 207 207 208 400 s.brk 207 207 208 1 s.cd 207 207 208 2 s.cts 207 207 208 100000 s.dlo 207 207 208 4 s.dsr 207 207 208 4000 s.exh 207 207 208 10000 s.fcse 207 207 208 40000 s.isd 207 207 208 40 s.mark 207 207 208 400000 s.pbyt 207 207 208 200 s.prex 207 207 208 10000 s.prty 207 207 208 40000 s.pwi 207 207 208 200000 s.rabt 207 207 208 100000 s.rbt 207 207 208 2000 s.ring 207 207 208 40000 s.rto 207 207 208 10 s.sprc 207 207 208 20 s.st 207 207 208 100 s.term 207 207 208 20000 s.xte 207 207 208 2000 smark 208 208 521 539 782 794 830 1094 1111 1124 1319 2071 sndata 906 867 881 885 889 906 918 2076 sndchk 916 853 916 969 2106 sndstp 920 917 920 2754 sprint 1164 1164 1238 1248 1 srec 208 208 519 537 556 616 636 658 694 782 792 801 841 1107 1165 1240 10000 srts 208 208 483 617 start1 457 454 457 607 start 453 450 453 400 stat 208 208 483 1139 1268 1290 1306 4000 sterm 208 208 640 669 942 1096 1113 1126 1159 1167 3444 stpch2 1323 1322 1323 3430 stpchn 1319 77 470 612 627 685 722 740 896 920 934 999 1004 1008 1045 1138 assm 01 04-10-86 13.719 control_tables page 60 octal symbol references by sequence no. 1252 1275 1319 1326 3452 stptmc 1327 1325 1327 3445 stptmo 1325 1321 1325 4 sxmit 208 208 535 567 614 634 638 658 692 780 789 801 940 1092 1105 1109 1122 1157 1165 0 sync 318 318 328 329 330 331 332 333 334 335 336 337 11 tab 208 208 258 269 276 600 tdhung 449 73 449 100 term 208 208 673 711 946 1184 20 tfacu 204 204 462 20000 tfauto 204 204 453 504 4000 tfblak 204 204 1163 400 tfctrl 204 204 764 1083 200000 tfecpx 204 204 993 1154 1220 40000 tfeotx 204 204 880 884 891 895 1128 4 tffdpx 204 204 1153 100000 tffip 204 204 749 1010 1047 40 tfhang 204 204 457 464 482 763 988 1278 10 tfkybd 204 204 618 642 675 696 751 774 826 892 1042 1068 1087 100 tflisn 204 204 463 1278 100 tfofc 204 204 1163 400000 tfpfnl 204 204 1078 2000 tfplit 204 204 963 992 1189 20 tfprtr 204 204 643 674 751 775 1042 1068 1086 1148 200 tfquit 204 204 750 1041 1067 10 tfrabt 204 204 761 866 977 984 987 1186 1216 400 tfrply 204 204 1170 1000 tfrpon 204 204 1169 1174 1188 1203 200 tfupsf 204 204 796 813 10000 tfwabt 204 204 761 980 1144 1150 1233 1234 140 tfwrd1 1278 453 457 462 463 464 482 504 618 642 643 674 675 696 749 750 751 761 763 764 774 775 796 813 826 866 880 884 891 892 895 963 977 980 984 987 988 992 993 1010 1041 1042 1047 1067 1068 1078 1083 1086 1087 1128 1144 1148 1150 1153 1154 1163 1169 1170 1174 1186 1188 1189 1203 1216 1220 1233 1234 1278 0 tfwrd2 1278 453 457 462 463 464 482 504 618 642 643 674 675 696 749 750 751 761 763 764 774 775 796 813 826 866 880 884 891 892 895 963 977 980 984 987 988 992 993 1010 1041 1042 1047 1067 1068 1078 1083 1086 1087 1128 1144 1148 1150 1153 1154 1163 1169 1170 1174 1186 1188 1189 1203 1216 1220 1233 1234 1278 47 t.omct 204 204 1049 1237 1247 3244 tstack 1247 1241 1247 21 tstart 87 460 2312 tstdmp 980 831 980 1141 2346 tstecp 993 977 987 993 1186 2333 tsthng 988 507 662 670 805 967 981 985 988 1032 1059 1133 1208 1309 1010 tstlsn 507 486 492 507 2340 tstplt 991 984 991 2321 tstrbp 984 851 984 2327 tstrbt 987 943 951 957 987 1194 assm 01 04-10-86 13.719 control_tables page 61 octal symbol references by sequence no. 2 tt1050 208 208 528 561 724 3 tt2741 208 208 321 545 575 1 ttasci 208 208 320 322 323 324 325 326 327 455 5 ttsync 208 208 328 329 330 331 332 333 334 335 336 337 917 21 ttx25l 208 208 479 2337 twaitm 989 989 992 2045 upeot 889 887 889 22 vstart 91 460 3216 waitak 1240 1237 1240 742 waitcd 490 487 490 3161 wdecho 1223 1220 1223 3163 wdmpin 1224 1221 1224 3113 wdplit 1206 1189 1206 3143 wdplto 1214 1208 1214 3106 wdrpdn 1203 1192 1203 3053 wdrply 1192 1188 1192 3103 wdrpto 1200 1194 1200 3166 wexh 1228 1182 1197 1211 1228 1244 2531 write1 1082 1079 1080 1082 1145 1194 1201 1208 2533 write2 1083 1074 1083 2526 write3 1080 1078 1080 2520 write 1078 762 827 1078 1253 2511 writnl 1072 750 1041 1072 1161 wru 600 108 600 114 wrutim 208 208 721 3145 wsend 1216 1181 1196 1210 1216 1230 1243 3033 wterm 1186 1184 1186 3175 wtest 1232 1179 1232 1247 3204 wtestm 1234 1232 1234 3153 wtstec 1220 1216 1220 3001 wwait1 1177 1169 1171 1173 1177 2761 wwait 1169 1149 1151 1161 1169 23 x25str 100 460 479 300 x 1166 536 568 615 635 639 659 668 693 781 790 802 941 1093 1095 1106 1110 1112 1123 1125 1158 1166 20000 xte 208 208 857 973 47941 words of memory were used by 355map for this assembly. ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved