assm 01 12-10-82 15.714 control_tables page 1 preface this program will be loaded mod 64 program break 3460 common length 0 v count bits 5 primary symdef entry ctrl 0 begin 600 hungup 663 tdhung 600 signal 1133 error 2472 cct.2 300 stpchn 3434 diftyp 775 cct.3 400 end of binary card 00000001 cct.br 500 chkaut 760 secondary symdef entry .chain 10 block length symref 1 ahang 2 colts 3 gstar 4 a1star 5 a2star 6 a3star 7 acutst end of binary card 00000002 10 ant202 11 astart 12 autost 13 bscstr 14 hdlstr 15 pvstar 16 s1star 17 s2star 20 s3star 21 tstart end of binary card 00000003 22 vstart 23 x25str assm 01 12-10-82 15.714 control_tables page 2 end of binary card 00000004 assm 01 12-10-82 15.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 lbl ,control_tables 13 pcc off 15 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 16 * 17 * 18 * control_tables, ctrl 19 * 20 * the control_tables are the primary driving program 21 * for the 355. they are interpreted by the control table 22 * interpreter, who performs various functions on behalf 23 * of the tables and calls the lsla, hsla, and dia interface 24 * routines when required. 25 * 26 * this module contains the control tables for general-purpose 27 * low-speed lines and vanilla synchronous lines. it also contains 28 * all cct's, device tables, etc. other modules contain 29 * special-purpose control tables for such things as g115, ards, 30 * tn1200 on 202c modem, and anything else which might come up. 31 * 32 * the tables specify what actions are to be peformed for 33 * each line on the 355 and in what sequence these are to be 34 * done. this includes control of the datasets, printer/keyboard 35 * addressing for terminals which require it, and the initiation 36 * of i/o to the terminals. the tables are entered (or "started") 37 * for each line at the label "begin" by the init routine. after 38 * that the path through the tables is controlled by external 39 * events and the actions taken by these tables. 40 * 41 * originally coded 6/14/74 by mike grady 42 * modified by bob adsit 7/20/75 to handle 115's 43 * modified by robert coren 7/31/75 to handle tn1200 on 202c 44 * modified by robert coren 4/29/76 to split up into several modules 45 * modified by c. hornig october 1980 to not send dle eot on hangup 46 * 47 * 48 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * assm 01 12-10-82 15.714 control_tables page 4 50 51 00000 52 ctrl null /* setup primary symdef */ 53 54 symdef ctrl 55 56 symdef begin 57 symdef hungup 58 symdef tdhung 59 symdef signal 60 symdef error 61 symdef cct.2 62 symdef stpchn 63 symdef diftyp autobaud returns here for 1050 or 2741 64 symdef cct.3 syncronous etx cct 65 symdef cct.br 66 symdef chkaut acu_tables come back to here 67 68 symref acutst 69 symref astart 70 symref ahang 71 symref tstart 72 symref ant202 73 symref gstar 74 symref bscstr 75 symref vstart 76 symref autost 77 symref a1star 78 symref a2star 79 symref a3star 80 symref s1star 81 symref s2star 82 symref s3star 83 symref pvstar 84 symref x25str 85 symref hdlstr 86 symref colts 87 00000 0 00603 1 88 ind begin1 /* 0, starting location of control tables */ 00001 0 00032 1 89 ind devtbl /* 1, ptr to array of device info tbls */ 00002 777777 0 90 dec -1 /* 2, used to be ptr to cct array */ 00003 0 00207 1 91 ind devtyp /* 3, ptr to device type - speed table */ 00004 0 01141 1 92 ind wru /* 4, ptr to answerback reading code */ 00005 93 bss 1 /* 5, reserve for delay tbl ptr*/ 00006 0 01437 1 94 ind brk /* 6, ptr to send line break code*/ 95 96 00007 97 start ctrl 98 99 assm 01 12-10-82 15.725 control_tables page 5 macro definitions 102 * * * * * * * * * * * * * * * * * * * * * 103 * 104 * devtyp macro 105 * 106 * * * * * * * * * * * * * * * * * * * * * 107 108 devtyp macro 109 vfd 1/#1,4/0,o4/#2,o9/#3 110 endm devtyp 111 112 * * * * * * * * * * * * * * * * * * * * * 113 * 114 * devtbl macro 115 * 116 * * * * * * * * * * * * * * * * * * * * * 117 118 devtbl macro 119 tab2 #1 sequence chars 120 zero #2 cct table addr 121 zero #3 keyboard addressing string array 122 zero #4 printer " " " 123 vfd o18/#5 addressing flag and others 124 tab6 #6 carriage movement table 125 pmc save,off 126 dk set 0 127 idrp #7 128 ife dk,0,3 129 dk set 1 130 dval set #7 131 ife 1,2,4 132 dk set 0 133 pmc restore 134 vfd o9/dval,o9/#7 break list 135 pmc save,off 136 idrp 137 pmc restore 138 ife dk,1,1 139 vfd o9/dval,o9/0 140 endm devtbl 141 142 tab2 macro 143 vfd o9/#1,o9/#2 144 endm tab2 145 146 tab4 macro 147 vfd o9/#1,o9/#2 148 vfd o9/#3,o9/#4 149 endm tab4 150 151 tab6 macro 152 vfd o9/#1,o9/#2 assm 01 12-10-82 15.725 control_tables page 6 macro definitions 153 vfd o9/#3,o9/#4 154 vfd o9/#5,o9/#6 155 endm tab6 156 157 * * * * * * * * * * * * * * * * * * * * * 158 * 159 * adstr macro 160 * 161 * * * * * * * * * * * * * * * * * * * * * 162 163 adstr macro 164 pmc save,off 165 adcnt set 0 166 adk set 0 167 idrp #1 168 ife adk,0,3 169 adk set 1 170 adval set #1 171 ife 1,2,4 172 adk set 0 173 pmc restore 174 vfd o9/adval,o9/#1 175 pmc save,off 176 adcnt set adcnt+1 177 idrp 178 adcnt set adcnt+1 179 adcnt set adcnt/2 180 adcnt set madlen-adcnt 181 pmc restore 182 ife adk,1,1 183 vfd o9/adval,o9/0 184 bss adcnt 185 endm adstr 186 00022 188 tib assm 01 12-10-82 15.725 control_tables page 7 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 12-10-82 15.725 control_tables page 8 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.leng equ t.metr+1 length of a tib ******************************** * t.stat bits ******************************** 000001 tsfcd bool 000001 carrier detect 000002 tsfcts bool 000002 clear to send 000004 tsfdsr bool 000004 data set ready assm 01 12-10-82 15.725 control_tables page 9 terminal information block (tib) 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 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 assm 01 12-10-82 15.725 control_tables page 10 terminal information block (tib) 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 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 assm 01 12-10-82 15.725 control_tables page 11 terminal information block (tib) 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 002000 tfsoip bool 002000 suspension of output in progress 004000 tforp bool 004000 output resume pending (waiting until tro) ********************************* * redefined tib flags in t.flg ********************************* 000020 tfdlup equ tfprtr line is on dialup modem 00022 189 meters assm 01 12-10-82 15.725 control_tables page 12 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 000030 .mleng equ .mpanf+2-.mdilc length of system-wide meters assm 01 12-10-82 15.725 control_tables page 13 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 000027 m.maxi equ m.mini+1 maximum length of input message assm 01 12-10-82 15.725 control_tables page 14 per-channel meters 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 190 buffer assm 01 12-10-82 15.725 control_tables page 15 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 191 csbits assm 01 12-10-82 15.725 control_tables page 16 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 12-10-82 15.725 control_tables page 17 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) 100000 s.rbt bool 100000 receive block termination (bsc & hdlc) assm 01 12-10-82 15.725 control_tables page 18 control and status bits 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 192 tconst assm 01 12-10-82 15.725 control_tables page 19 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 12-10-82 15.725 control_tables page 20 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 12-10-82 15.725 control_tables page 21 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 scan subop types assm 01 12-10-82 15.725 control_tables page 22 flag and control bit definitions 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 194 195 000155 196 inlshf bool 155 /* ibm nl with uppercase bit */ 197 198 199 scan control strings 200 201 00022 202 iscn1 chstr (rescan,search,ibmnl) 00024 203 iscn2 chstr (rescan,search,ibmeot) 00026 204 iscn3 chstr (rescan,search,inlshf) 00030 205 iscn6 chstr (rescan,search,eotshf) assm 01 12-10-82 15.725 control_tables page 23 device info tables 00032 0 00053 1 207 devtbl zero d.asci table for ascii devices 00033 0 00065 1 208 zero d.1050 table for 1050's 00034 0 00077 1 209 zero d.2741 table for 2741's 00035 0 00111 1 210 zero d.ards table for the ards 00036 0 00123 1 211 zero d.sync table for sync devices 00037 0 00123 1 212 zero d.sync table for g115's 00040 0 00123 1 213 zero d.sync table for bsc 00041 0 00134 1 214 zero d.t202 table for t202 00042 0 00146 1 215 zero d.vip table for vip 00043 0 00053 1 216 zero d.asci table for async1 00044 0 00053 1 217 zero d.asci table for async2 00045 0 00053 1 218 zero d.asci table for async3 end of binary card 00000005 00046 0 00123 1 219 zero d.sync table for sync1 00047 0 00123 1 220 zero d.sync table for sync2 00050 0 00123 1 221 zero d.sync table for sync3 00051 0 00123 1 222 zero d.sync table for polled vip 00052 0 00123 1 223 zero d.sync table for x.25 lap 224 225 226 227 228 devtbl flags 229 000001 230 dtfctl bool 1 default setting of tfctrl 000004 231 dtfsft bool 4 default setting of tfsftr 232 233 break list types 234 000001 235 blt.s bool 1 break on one char 000002 236 blt.d bool 2 break on two chars 000003 237 blt.t bool 3 break on three chars 000775 238 blt.p1 bool 775 break on char plus one 239 240 00053 241 d.asci devtbl (0,0),0,k.asci,p.asci,0, 00053 242 etc (nl,cr,tab,bs,nochar,nochar),(blt.t,ff,nl,etx) 243 00065 244 d.1050 devtbl (0,0),0,k.1050,p.1050,dtfctl+dtfsft, 00065 245 etc (ibmnl,nochar,ibmtab,ibmbs,ibmup,ibmdwn), 00065 246 etc (blt.d,ibmnl,ibmeot) 247 00077 248 d.2741 devtbl (0,0),0,k.2741,p.2741,dtfctl+dtfsft, 00077 249 etc (ibmnl,nochar,ibmtab,ibmbs,ibmup,ibmdwn), 00077 250 etc (blt.d,ibmnl,ibmeot) 251 00111 252 d.ards devtbl (0,0),0,0,0,0,(nl,cr,tab,bs,nochar,nochar), 00111 253 etc (blt.d,ff,nl) end of binary card 00000006 254 00123 255 d.sync devtbl (101,102),0,0,0,0, assm 01 12-10-82 15.725 control_tables page 24 device info tables 00123 256 etc (nochar,nochar,nochar,nochar,nochar,nochar), 00123 257 etc (blt.p1,etx) 258 00134 259 d.t202 devtbl (0,0),0,0,0,0,(nl,cr,tab,bs,nochar,nochar), 00134 260 etc (blt.t,etx,ack,nak) 261 00146 262 d.vip devtbl (0,0),0,0,0,0, 00146 263 etc (nochar,nochar,nochar,nochar,nochar,nochar), 00146 264 etc (blt.p1,etx) 265 266 000004 267 madlen equ 4 max addressing string length 268 00157 269 k.asci adstr (1,ack) 270 00163 271 p.asci adstr (1,nak) 272 00167 273 k.1050 adstr (4,ibmdwn,ibmeot,ibmsl,ibm0) end of binary card 00000007 274 00173 275 p.1050 adstr (2,ibmsl,ibm9) 276 00177 277 k.2741 adstr (2,ibmdwn,ibmeot) 278 00203 279 p.2741 adstr (1,eoa) assm 01 12-10-82 15.725 control_tables page 25 devtyp tables - device type/speed correspondence 281 282 note: 2400 and 1800 synchronous are out of order for 283 compatibility with previous version that did not have 284 1200 and 1800 285 286 code async speed sync speed 287 ---- ----- ----- ---- ----- 288 289 01 75 1200 290 02 110 2400 291 03 134.5 1800 292 04 150 4800 293 05 300 5400 294 06 600 7200 295 07 1050 9600 296 10 1200 19200 297 11 1800 40800 298 12 option 50000 299 13 ---- 72000 300 000001 301 async equ 1 000000 302 sync equ 0 303 00207 304 devtyp devtyp async,02,ttasci 110 baud, ascii type 00210 305 devtyp async,03,tt2741 133 baud, 2741/1050 00211 306 devtyp async,04,ttasci 150 baud, ascii type 00212 307 devtyp async,05,ttasci 300 baud, ascii type 00213 308 devtyp async,06,ttasci 600 baud, ascii type 00214 309 devtyp async,10,ttasci 1200 baud, ascii type 00215 310 devtyp async,11,ttasci 1800 baud, ascii type 00216 311 devtyp async,12,ttasci optn baud, ascii type 00217 312 devtyp sync,01,ttsync 1200 baud, sync type 00220 313 devtyp sync,03,ttsync 1800 baud, sync type 00221 314 devtyp sync,02,ttsync 2400 baud, sync type 00222 315 devtyp sync,04,ttsync 4800 baud, sync type 00223 316 devtyp sync,06,ttsync 7200 baud, sync type 00224 317 devtyp sync,07,ttsync 9600 baud, sync type 00225 318 devtyp sync,10,ttsync 19200 baud, sync type 00226 319 devtyp sync,11,ttsync 40800 baud, sync type 00227 320 devtyp sync,12,ttsync 50000 baud, sync type 00230 321 devtyp sync,13,ttsync 72000 baud, sync type 00231 777777 0 322 dec -1 end of table assm 01 12-10-82 15.725 control_tables page 26 cct's - control character tables 324 00232 326 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 328 329 00300 330 base 64 331 332 00300 333 cct.2 null * cct for ibm 2741 on hsla subchannel 334 00300 000000 0 335 vfd 9/ct.ncs,9/ct.ncs * 000 001 end of binary card 00000008 00301 000000 0 336 vfd 9/ct.ncs,9/ct.ncs * 002 003 00302 000000 0 337 vfd 9/ct.ncs,9/ct.ncs * 004 005 00303 000000 0 338 vfd 9/ct.ncs,9/ct.ncs * 006 007 00304 000000 0 339 vfd 9/ct.ncs,9/ct.ncs * 010 011 00305 000000 0 340 vfd 9/ct.ncs,9/ct.ncs * 012 013 00306 000000 0 341 vfd 9/ct.ncs,9/ct.ncs * 014 015 00307 000000 0 342 vfd 9/ct.ncs,9/ct.ncs * 016 017 00310 000000 0 343 vfd 9/ct.ncs,9/ct.ncs * 020 021 assm 01 12-10-82 15.725 control_tables page 27 cct's - control character tables 00311 000000 0 344 vfd 9/ct.ncs,9/ct.ncs * 022 023 00312 000000 0 345 vfd 9/ct.ncs,9/ct.ncs * 024 025 00313 000000 0 346 vfd 9/ct.ncs,9/ct.ncs * 026 027 00314 000000 0 347 vfd 9/ct.ncs,9/ct.ncs * 030 031 00315 000000 0 348 vfd 9/ct.ncs,9/ct.ncs * 032 033 00316 000000 0 349 vfd 9/ct.ncs,9/ct.ncs * 034 035 00317 000000 0 350 vfd 9/ct.ncs,9/ct.ncs * 036 037 00320 000000 0 351 vfd 9/ct.ncs,9/ct.ncs * 040 041 00321 000000 0 352 vfd 9/ct.ncs,9/ct.ncs * 042 043 00322 000000 0 353 vfd 9/ct.ncs,9/ct.ncs * 044 045 00323 000000 0 354 vfd 9/ct.ncs,9/ct.ncs * 046 047 00324 000000 0 355 vfd 9/ct.ncs,9/ct.ncs * 050 051 00325 000000 0 356 vfd 9/ct.ncs,9/ct.ncs * 052 053 00326 000007 0 357 vfd 9/ct.ncs,9/ct.mrk * 054 nl 00327 000000 0 358 vfd 9/ct.ncs,9/ct.ncs * 056 057 00330 000000 0 359 vfd 9/ct.ncs,9/ct.ncs * 060 061 00331 000000 0 360 vfd 9/ct.ncs,9/ct.ncs * 062 063 00332 000000 0 361 vfd 9/ct.ncs,9/ct.ncs * 064 065 00333 000000 0 362 vfd 9/ct.ncs,9/ct.ncs * 066 067 00334 000000 0 363 vfd 9/ct.ncs,9/ct.ncs * 070 071 00335 000000 0 364 vfd 9/ct.ncs,9/ct.ncs * 072 073 00336 007000 0 365 vfd 9/ct.mrk,9/ct.ncs * eot 075 00337 000000 0 366 vfd 9/ct.ncs,9/ct.ncs * 076 077 367 00340 000000 0 368 vfd 9/ct.ncs,9/ct.ncs * 100 101 00341 000000 0 369 vfd 9/ct.ncs,9/ct.ncs * 102 103 00342 000000 0 370 vfd 9/ct.ncs,9/ct.ncs * 104 105 00343 000000 0 371 vfd 9/ct.ncs,9/ct.ncs * 106 107 00344 000000 0 372 vfd 9/ct.ncs,9/ct.ncs * 110 111 00345 000000 0 373 vfd 9/ct.ncs,9/ct.ncs * 112 113 00346 000000 0 374 vfd 9/ct.ncs,9/ct.ncs * 114 115 00347 000000 0 375 vfd 9/ct.ncs,9/ct.ncs * 116 117 end of binary card 00000009 00350 000000 0 376 vfd 9/ct.ncs,9/ct.ncs * 120 121 00351 000000 0 377 vfd 9/ct.ncs,9/ct.ncs * 122 123 00352 000000 0 378 vfd 9/ct.ncs,9/ct.ncs * 124 125 00353 000000 0 379 vfd 9/ct.ncs,9/ct.ncs * 126 127 00354 000000 0 380 vfd 9/ct.ncs,9/ct.ncs * 130 131 00355 000000 0 381 vfd 9/ct.ncs,9/ct.ncs * 132 133 00356 000000 0 382 vfd 9/ct.ncs,9/ct.ncs * 134 135 00357 000000 0 383 vfd 9/ct.ncs,9/ct.ncs * 136 137 00360 000000 0 384 vfd 9/ct.ncs,9/ct.ncs * 140 141 00361 000000 0 385 vfd 9/ct.ncs,9/ct.ncs * 142 143 00362 000000 0 386 vfd 9/ct.ncs,9/ct.ncs * 144 145 00363 000000 0 387 vfd 9/ct.ncs,9/ct.ncs * 146 147 00364 000000 0 388 vfd 9/ct.ncs,9/ct.ncs * 150 151 00365 000000 0 389 vfd 9/ct.ncs,9/ct.ncs * 152 153 00366 000007 0 390 vfd 9/ct.ncs,9/ct.mrk * 154 nl 00367 000000 0 391 vfd 9/ct.ncs,9/ct.ncs * 156 157 00370 000000 0 392 vfd 9/ct.ncs,9/ct.ncs * 160 161 00371 000000 0 393 vfd 9/ct.ncs,9/ct.ncs * 162 163 assm 01 12-10-82 15.725 control_tables page 28 cct's - control character tables 00372 000000 0 394 vfd 9/ct.ncs,9/ct.ncs * 164 165 00373 000000 0 395 vfd 9/ct.ncs,9/ct.ncs * 166 167 00374 000000 0 396 vfd 9/ct.ncs,9/ct.ncs * 170 171 00375 000000 0 397 vfd 9/ct.ncs,9/ct.ncs * 172 173 00376 007000 0 398 vfd 9/ct.mrk,9/ct.ncs * eot 175 00377 000000 0 399 vfd 9/ct.ncs,9/ct.ncs * 176 177 400 00400 401 cct.3 null * cct for use with grts, terminate on etx + bcc 402 00400 000000 0 403 vfd 9/ct.ncs,9/ct.ncs * 000 001 00401 000061 0 404 vfd 9/ct.ncs,9/ct.grt * 002 etx 00402 000000 0 405 vfd 9/ct.ncs,9/ct.ncs * 004 005 00403 000000 0 406 vfd 9/ct.ncs,9/ct.ncs * 006 007 00404 000000 0 407 vfd 9/ct.ncs,9/ct.ncs * 010 011 00405 000000 0 408 vfd 9/ct.ncs,9/ct.ncs * 012 013 00406 000000 0 409 vfd 9/ct.ncs,9/ct.ncs * 014 015 00407 000000 0 410 vfd 9/ct.ncs,9/ct.ncs * 016 017 00410 000000 0 411 vfd 9/ct.ncs,9/ct.ncs * 020 021 00411 000000 0 412 vfd 9/ct.ncs,9/ct.ncs * 022 023 00412 000000 0 413 vfd 9/ct.ncs,9/ct.ncs * 024 025 00413 006000 0 414 vfd 9/ct.ign,9/ct.ncs * syn 027 00414 000000 0 415 vfd 9/ct.ncs,9/ct.ncs * 030 031 00415 000000 0 416 vfd 9/ct.ncs,9/ct.ncs * 032 033 00416 000000 0 417 vfd 9/ct.ncs,9/ct.ncs * 034 035 end of binary card 00000010 00417 000000 0 418 vfd 9/ct.ncs,9/ct.ncs * 036 037 419 420 00420 421 dup 1,48 00420 000000 0 422 vfd 9/ct.ncs,9/ct.ncs end of binary card 00000011 423 424 425 * cct that breaks on all characters 426 * used occosionally for 1050's and 2741's, and 427 * externally by autobaud tables 428 00500 429 cct.br null 00500 430 dup 1,64 00500 023023 0 431 vfd 9/ct.eol,9/ct.eol end of binary card 00000012 assm 01 12-10-82 15.725 control_tables page 29 wait for dialup 00600 433 tdhung null /* defined symbol for "hungup" t&d channel */ 00600 434 begin tstglb gbf6up,start /* make sure 6180 is up before start */ 00603 435 begin1 wait 0,0,begin /* wait for test state */ end of binary card 00000013 436 00607 437 start tstflg tfauto,isauto /* make all autobaud lines start ascii */ 00613 438 goto start1 00615 439 isauto setype ttasci 440 00617 441 start1 gotype (norm,norm,norm,astart,norm,gstar,bscstr,tstart,vstart,a1 00617 442 etc star,a2star,a3star,s1star,s2star,s3star,pvstar,x25str,hdl 00617 443 etc str,colts) /* start up */ 444 00644 445 norm tstflg tfacu,acutst /* check if auto call unit is to be started */ 00650 446 tstflg tflisn,listen /* if told to listen do it */ end of binary card 00000014 00654 447 clrflg tfhang 00657 448 wait 0,0,begin /* wait till told to start again */ 449 00663 450 hungup stpchn /* hungup, stop and start over */ 00665 451 contrl rdtr /* reset data term ready */ 00667 452 setcct scc.dl /* get rid of any cct */ 00671 453 setime -500 /* make sure we leave dtr down for at least */ 00673 454 wait begin,0,0 /* half a second */ 455 00677 456 listen clrflg tfhang /* so as not to be caught later by an old hangup 00702 457 contrl sdtr+srts+stat /* set dtr and wait for status */ 00704 458 setime 0 /* turn off the timer */ 459 00706 460 wait 0,0,tstlsn /* and wait here */ 00712 461 status ring,cd+cts+dsr,waitcd /* ring, wait for cd */ 00716 462 status cd+cts+dsr,0,dialed /* all on, dialup */ 463 00722 464 waitcd setime 20 /* wait 20 secs for cd */ end of binary card 00000015 465 00724 466 wait nocd,0,tstlsn /* if timeout, hangup on him */ 00730 467 status cd+cts+dsr,0,dialed 468 00734 469 nocd contrl rdtr /* nothing, hangup on him now */ 00736 470 setime 5 /* wait 5 secs for this to happen */ 00740 471 wait hungup,0,0 /* go to hungup when done */ 472 00744 473 dialed tstglb gbf6up,godial /* make sure we're supposed to accept calls */ 00747 474 goto hungup /* we aren't */ 00751 475 godial gotype (chkaut,diftyp,diftyp,error,dialsy) 476 00760 477 chkaut setcct scc.df /* set default ascii cct */ 00762 478 tstflg tfauto,autost /* do autobaud setting if needed */ 00766 479 goto signal 480 assm 01 12-10-82 15.725 control_tables page 30 wait for dialup 00770 481 tstlsn tstglb gbf6up,tsthng /* see if multics stopped accepting calls */ end of binary card 00000016 00773 482 goto hungup /* it did */ assm 01 12-10-82 15.725 control_tables page 31 wait for dialup 484 ************************************************************************ 485 * 486 * perform test to determine if 1050 or 2741 terminal 487 * the following code runs only on lsla's 488 * 489 ************************************************************************ 490 00775 491 diftyp ifhsla difh01 /* special processing for hsla lines */ 00777 492 dcwlst 01000 493 cmd srec /* enter receive mode for eoa */ 01001 494 input 1,eoa /* look for eoa from 2741 */ 01002 495 cmd smark /* marker if recvd */ 496 01003 497 setime 3 /* wait 3 seconds for eoa */ 498 01005 499 wait dt1050,0,0 /* timeout, is 1050 */ 01011 500 status marker,0,dt2741 /* yup, its a 2741 */ 501 01015 502 dt1050 setype tt1050 /* set to 1050 */ 503 01017 504 dcwlst /* make sure is really 1050 */ 01020 505 cmd sbrk /* send line break */ 01021 506 setime 1 /* give line break half a second to take */ 01023 507 wait dt105a,0,0 01027 508 dt105a dcwlst 01030 509 cmd rrec+sxmit /* go into xmit mode */ 01031 510 output (ibmeot) /* put 2741 into control-receive */ 01033 511 cmd srec+rxmit /* go into recv */ 01034 512 input 1,eoa /* should respond with eoa */ 01035 513 cmd smark /* send marker status */ 514 01036 515 setime 3 /* wait 3 seconds for device */ 01040 516 wait signal,0,0 /* timeout, is really 1050 */ end of binary card 00000017 01044 517 status marker,0,dt2741 /* got eoa, really 2741 */ 518 01050 519 dt2741 setype tt2741 /* set to 2741 */ 01052 520 goto signal 521 522 ************************************************************************ 523 * 524 * perform test to determine if 1050 or 2741 terminal 525 * the following code runs only on hsla's 526 * 527 ************************************************************************ 528 01054 529 difh01 setcct cct.br /* break on all characters */ 01056 530 contrl srec /* set receive mode to wait for eoa */ 01060 531 setime 3 01062 532 wait difh02,0,0 01066 533 status brkchr,0,difh03 /* got it, must be 2741 */ assm 01 12-10-82 15.725 control_tables page 32 wait for dialup 534 01072 535 difh02 setype tt1050 /* no eoa, probably 1050 */ 01074 536 dcwlst /* but try 2741 test once more */ 01075 537 cmd sbrk 01076 538 setime 1 /* give line break time to take */ 01100 539 wait difh2a,0,0 01104 540 difh2a dcwlst 01105 541 cmd sxmit 01106 542 output (ibmeot) end of binary card 00000018 01110 543 cmd rxmit 01111 544 setime 3 01113 545 wait difh04,0,0 /* wait for eoa once more */ 546 01117 547 status brkchr,0,difh03 /* really 2741 */ 548 01123 549 difh03 setype tt2741 01125 550 difh04 setcct cct.2 /* back to standard cct */ 01127 551 goto signal 552 553 ************************************************************************ 554 * 555 * signal dialu to multics to say terminal is here 556 * 557 ************************************************************************ 558 01131 559 dialsy setcct cct.3 /* cct for sync line */ 560 01133 561 signal dmpout /* throw away any leftover output from 6180 */ 01134 562 dumpin /* likewise any input left on the line */ 01135 563 signal dialup /* tell multics about this line */ 564 01137 565 goto getwrk /* start looking for work */ assm 01 12-10-82 15.725 control_tables page 33 wru - read the answer back for a line 567 ************************************************************************ 568 * 569 * perform wru processing to read answerback 570 * dia_man puts this address in t.cur to make us start here 571 * 572 ************************************************************************ 573 01141 574 wru wait 0,0,rdansb /* test state here when answer back wanted */ 575 01145 576 rdansb scntr 0 577 01147 578 anslp gotype (rawru,ra1050,ra2741,error,error,error,error,ant202) end of binary card 00000019 579 580 ************************************************************************ 581 * 582 * ascii line 583 * 584 ************************************************************************ 585 01161 586 rawru stpchn /* halt channel */ 01163 587 dcwlst /* dcw list to read answerback */ 01164 588 cmd sxmit /* enter xmit mode */ 01165 589 output (awru) /* send ascii wru char */ 01167 590 cmd rxmit+srec /* go into receive mode */ 591 01170 592 clrflg tfkybd /* clobbered keyboard */ 01173 593 goto answt /* wait */ 594 595 ************************************************************************ 596 * 597 * 1050 on lsla 598 * 599 ************************************************************************ 600 01175 601 ra1050 stpchn /* halt channel */ 01177 602 ifhsla rahs10 /* seperate code for hsla 01201 603 dcwlst /* dcw list for 1050 answerback */ 01202 604 cmd sbrk /* send line break */ 01203 605 setime 1 /* give it time to happen */ 01205 606 wait ra105a,0,0 01211 607 ra105a dcwlst 01212 608 cmd sxmit+rrec 01213 609 output (adprtr) 01215 610 cmd rxmit+srec /* enter rec for ans */ 01216 611 rdtly 1 /* read only one char */ 01217 612 cmd sxmit+rrec /* finish addressing */ 01220 613 output (eoa) 01222 614 cmd rxmit+sterm 615 01223 616 clrflg tfkybd /* no more keyboard */ assm 01 12-10-82 15.725 control_tables page 34 wru - read the answer back for a line end of binary card 00000020 01226 617 setflg tfprtr /* printer on now */ 01231 618 goto answt /* wait */ 619 620 ************************************************************************ 621 * 622 * 1050 on hsla 623 * 624 ************************************************************************ 625 01233 626 rahs10 setcct cct.br /* break on all chars */ 01235 627 dcwlst 01236 628 cmd sbrk 01237 629 setime 1 /* give it time to happen */ 01241 630 wait rahs1a,0,0 01245 631 rahs1a dcwlst 01246 632 cmd sxmit+srec 01247 633 output (adprtr) 01251 634 cmd rxmit 01252 635 setime 4 01254 636 wait anstim,0,tsthng 01260 637 status 0,cts,hang2 01264 638 status 0,cd,hang2 01270 639 status brkchr,0,rahs30 /* got reply */ 640 01274 641 rahs30 dcwlst sxmit+rrec end of binary card 00000021 01275 642 output (eoa) 01277 643 cmd rxmit+sterm 01300 644 wait anstim,0,tsthng 01304 645 status 0,cd,hang2 01310 646 status 0,cts,hang2 01314 647 status term,0,rahs40 01320 648 rahs40 setflg tfprtr 01323 649 clrflg tfkybd 01326 650 setcct cct.2 01330 651 goto ansend 652 653 ************************************************************************ 654 * 655 * 2741 line 656 * 657 ************************************************************************ 658 01332 659 ra2741 stpchn /* halt channel */ 01334 660 setcct cct.2 /* should be this if hsla */ 01336 661 dcwlst 01337 662 cmd sbrk /* line break */ 01340 663 setime 1 01342 664 wait ra274a,0,0 end of binary card 00000022 assm 01 12-10-82 15.725 control_tables page 35 wru - read the answer back for a line 01346 665 ra274a dcwlst 01347 666 cmd sxmit+rrec 01350 667 output (eoa,ibmprf,ibmpls,ibmeot) 01353 668 cmd rxmit+srec 669 01354 670 clrflg tfkybd 01357 671 goto answt /* wait */ 672 673 ************************************************************************ 674 * 675 * common answerback code 676 * 677 ************************************************************************ 678 01361 679 answt setime 4 /* wait four seconds for response */ 680 01363 681 wait anstim,0,0 /* retry on timeout */ 01367 682 status 0,cts,hang2 01373 683 status 0,cd,hangb 01377 684 status brkchr,0,ansend /* got it */ 01403 685 status term,0,ansend /* also */ assm 01 12-10-82 15.725 control_tables page 36 wru - read the answer back for a line 01407 687 ansend sendin /* ship it */ 01410 688 goto getwrk /* continue real stuff */ 689 01412 690 anstim acntr 1 /* bump counter */ end of binary card 00000023 01414 691 tcntr 3,ansnot /* too much, punt */ 692 01417 693 goto anslp /* loop for more */ 694 01421 695 ansnot signal wrutim /* tell as_ that there is no answer back */ 01423 696 stpchn /* throw away any funny input */ 01425 697 dumpin 01426 698 iftype tt1050,ansnt2 /* must reset cct on hsla 1050 */ 01431 699 goto getwrk 01433 700 ansnt2 setcct cct.2 01435 701 goto getwrk assm 01 12-10-82 15.725 control_tables page 37 brk - send line break to the terminal 703 ************************************************************************ 704 * 705 * send line break at users request 706 * dia_man puts this address in t.cur to make us start here 707 * 708 ************************************************************************ 709 01437 710 brk wait 0,0,brkst /*test state here when send break wanted*/ 711 01443 712 brkst scntr 0 713 01445 714 stpchn /* kill user channel */ 01447 715 dumpin /* throw away input */ 01450 716 setime -100 /* wait for 100mils */ 01452 717 contrl sbrk 01454 718 wait brkout,0,0 01460 719 status 0,cts,hang2 end of binary card 00000024 01464 720 status 0,cd,hangb 01470 721 status break,0,brkout 01474 722 brkout setcct scc.bs /* back to base cct, in case */ 01476 723 clrflg tffip /* turn off frame in progress */ 01501 724 tstflg tfquit,writnl /* print new-line if asked to */ 01505 725 clrflg (tfprtr,tfkybd) /* nothing is addressed now */ 01510 726 goto getwrk /* no newline, go read more */ assm 01 12-10-82 15.725 control_tables page 38 reading part of control tables 728 ************************************************************************ 729 * 730 * start of real work of control_tables. if there is output 731 * to do, go do it, otherwise setup to read. 732 * 733 ************************************************************************ 734 01512 735 getwrk clrflg (tfwabt,tfrabt) /* clear in case we just did one */ 01515 736 tstwrt write /* if any writing, do it */ 01517 737 tstflg tfhang,hanga /* if we are to hangup, do it */ 01523 738 tstflg tfctrl,ckkybd /* if control mode, check kybd */ 01527 739 goto read /* go directly to it */ end of binary card 00000025 740 741 ************************************************************************ 742 * 743 * starting input on a device that requires keyboard 744 * addressing. do it here. 745 * 746 ************************************************************************ 747 01531 748 ckkybd tstflg tfkybd,read /* if kybd addressed, read */ 01535 749 clrflg tfprtr /* we are about to kill prtr */ 750 01540 751 gotype (kbasci,kb1050,kb2741,error,read) 752 01547 753 kbasci dcwlst /* dcwlst to address kybd */ 01550 754 cmd rrec+sxmit /* set xmit mode */ 01551 755 output (adkybd) /* send ack to tty37 */ 01553 756 cmd srec+rxmit+smark /* marker when done */ 757 01554 758 goto kybdwt /* go to wait block */ 759 01556 760 kb1050 null 01556 761 kb2741 ifhsla kbhs01 /* special processing for hsla lines */ 01560 762 dcwlst /* same basic stuff 1050/2741 */ 01561 763 cmd sxmit+rrec /* set xmit mode */ 01562 764 output (adkybd) /* 1050 = lc, eot, /, 0 */ 765 /* 2741 = lc, eot */ 01564 766 cmd srec+rxmit /* set recv to get eoa */ 01565 767 input 1,eoa /* read 1 look for eoa */ 01566 768 cmd smark /* send marker */ 769 01567 770 clrflg tfupsf /* we have sent low shift to device */ 01572 771 goto kybdwt /* wait for marker */ 772 01574 773 kbhs01 setcct cct.br /* break on all characters */ 01576 774 dcwlst 01577 775 cmd sxmit+srec end of binary card 00000026 01600 776 output (adkybd) assm 01 12-10-82 15.725 control_tables page 39 reading part of control tables 01602 777 cmd rxmit 01603 778 setime 3 01605 779 wait kbhs03,0,tsthng /* wait for addressing to complete */ 01611 780 status 0,cts,hang2 01615 781 status 0,cd,hang2 01621 782 status break,0,kbhs04 /* user hit quit */ 01625 783 status brkchr,0,kbhs02 /* break char, kybd addressed */ 784 01631 785 kbhs04 setcct cct.2 /* back to standard cct */ 01633 786 goto otquit 01635 787 kbhs02 setcct cct.2 01637 788 clrflg tfupsf 01642 789 dumpin 01643 790 goto kybdon 01645 791 kbhs03 setcct cct.2 end of binary card 00000027 01647 792 goto kybdto 793 01651 794 kybdwt setime 3 /* wait 3 secs for keyboard */ 795 01653 796 wait kybdto,0,0 /* wait for kybd to be addressed */ 01657 797 status 0,cts,hang2 /* no cts, hangup */ 01663 798 status 0,cd,hangb /* no cd, maybe hangup */ 01667 799 status break,0,otquit /* quit, tell 6180 */ 01673 800 status marker,0,kybdon /* done addressing */ 801 01677 802 kybdon setflg tfkybd /* kybd on, set flag */ 01702 803 tstwrt write /* if we are to write do it */ 01704 804 goto rwait /* go to read wait */ 805 01706 806 kybdto contrl rrec+rxmit+smark /* time out, stop and give up */ 01710 807 wait 0,0,tstdmp 01714 808 status 0,cts,hang2 end of binary card 00000028 01720 809 status 0,cd,hangb 01724 810 status marker,0,getwrk 811 812 ************************************************************************ 813 * 814 * keyboard addressing not required, just set rcv mode 815 * 816 ************************************************************************ 817 01730 818 read contrl srec+rxmit /* setup regular read */ 819 820 ************************************************************************ 821 * 822 * in receive mode now, wait for something to happen 823 * 824 ************************************************************************ 825 assm 01 12-10-82 15.725 control_tables page 40 reading part of control tables 01732 826 rwait setime 0 /* turn off the timer */ 827 01734 828 wait 0,rabort,tstrbp /* wait here for something */ 01740 829 status 0,cts,hang2 /* look for hangups */ 01744 830 status 0,cd,hangb 01750 831 status parity,0,sndchk /* watch for parity errors */ 01754 832 status break,0,inquit 01760 833 status brkchr,0,ckdata /* check for eot 2741 */ 01764 834 status exh,0,inexh /* too much input */ end of binary card 00000029 01770 835 status xte,0,inxte /* input too fast */ 01774 836 status prexh,0,preshp 837 838 ************************************************************************ 839 * 840 * got input data - break character status 841 * 842 ************************************************************************ 843 02000 844 ckdata tstflg tfrabt,dmpin /* are we supposed to throw it away? */ 02004 845 gotype (sndata,sndata,ck2741,error,sndata) 846 02013 847 preshp meter2 m.prex,1 02016 848 sendin /* just send data on pre-exaust */ 02017 849 waitm 850 851 ************************************************************************ 852 * 853 * input is from 2741. special processing required for eots 854 * 855 ************************************************************************ 856 02020 857 ck2741 inscan iscn1,ckupnl /* see if it looks like uppercase nl */ 02023 858 setflg tfeotx /* got the nl, eot is next */ 02026 859 goto sndata /* ship the data now */ 860 02030 861 ckupnl inscan iscn3,ckeot /* not an nl, see if it's eot */ 02033 862 setflg tfeotx /* eot would be appropriate now */ end of binary card 00000030 02036 863 goto sndata /* pretend uppercase nl is lowercase nl */ 864 02040 865 ckeot inscan iscn2,upeot /* might be shifted eot */ 02043 866 goto goteot /* all right, we have eot */ 02045 867 upeot inscan iscn6,sndata /* non-standard break, just send input */ 868 02050 869 goteot tstflg tfeotx,ckfin /* got the eot, fix kybd */ 02054 870 clrflg tfkybd /* however his keyboard is still unaddressed */ 02057 871 goto inquit /* not expected, must be quit */ 872 02061 873 ckfin clrflg tfeotx /* got it, turn of expected flag */ 02064 874 stpchn /* stop the channel */ assm 01 12-10-82 15.725 control_tables page 41 reading part of control tables 02066 875 dumpin /* throw away the eot */ 02067 876 goto kb2741 /* unlock his keyboard */ 877 878 ************************************************************************ 879 * 880 * have real data to send to multics 881 * 882 ************************************************************************ 883 02071 884 sndata sendin /* send data to 6180 */ 02072 885 tstwrt getwrk /* make sure no write to be done */ 02074 886 goto rwait /* wait for more input */ 887 888 ************************************************************************ 889 * 890 * parity error. this is ignored except for sync line type 891 * 892 ************************************************************************ 893 02076 894 sndchk meter1 m.par,1 02101 895 iftype ttsync,sndstp /* if line sync type, stop channel */ end of binary card 00000031 02104 896 goto sndata /* else send data in to multics */ 897 02106 898 sndstp stpchn /* stop reciever (resync) */ 02110 899 sendin /* ship stuff anyway */ 02111 900 goto getwrk /* look for other processing */ 901 902 ************************************************************************ 903 * 904 * come here when too much input, or input too fast 905 * 906 ************************************************************************ 907 02113 908 inxte meter1 m.xte,1 02116 909 goto holdup 910 02120 911 inexh meter2 m.exh,1 02123 912 holdup stpchn /* kill users channel */ 02125 913 sendin /* ship off any input */ 02126 914 meter1 m.quit,1 /* count 'bell-quits' */ 02131 915 gotype (holdac,holdwt,holdwt,error,holdwt) 02140 916 holdac scntr 0 /* zero a bell counter */ 02142 917 holdbl dcwlst /* warn user of problems with bells */ 02143 918 cmd sxmit 02144 919 output (bel) 02146 920 cmd rxmit+sterm 02147 921 wait 0,0,tstrbt /* wait for bells to finish */ end of binary card 00000032 02153 922 status 0,cts,hang2 02157 923 status 0,cd,hangb assm 01 12-10-82 15.725 control_tables page 42 reading part of control tables 02163 924 status break,0,otquit 02167 925 status term,0,holdlp 926 02173 927 holdlp acntr 1 /* count bells */ 02175 928 tcntr 3,holdwt /* done */ 02200 929 setime -150 /* scientifically determined optimal bell delay * 02202 930 wait holdbl,0,tstrbt 02206 931 status 0,cts,hang2 02212 932 status 0,cd,hangb 02216 933 status break,0,inquit end of binary card 00000033 934 02222 935 holdwt setime 10 /* give user 10 seconds to quit */ 02224 936 contrl sbrk 02226 937 wait inquit,0,tstrbt 02232 938 status 0,cts,hang2 02236 939 status 0,cd,hangb 02242 940 status break,0,inquit assm 01 12-10-82 15.725 control_tables page 43 utility functions 02246 942 rabort null /* come here when output arrives */ 02246 943 ckinpt getwrk /* check for input, none goto getwrk */ 02250 944 tstflg tfplit,raplit /* polite mode? */ 02254 945 goto getwrk /* no, process normally */ 946 02256 947 raplit setime 30 /* partial input, wait for it to complete */ 02260 948 wait pltout,0,tsthng 02264 949 status 0,cts,hang2 end of binary card 00000034 02270 950 status 0,cd,hangb 02274 951 status parity,0,sndchk /* watch for parity errors */ 02300 952 status break,0,otquit 02304 953 status brkchr,0,ckdata /* check for eot 2741 */ 02310 954 status exh,0,inexh 02314 955 status xte,0,inxte 02320 956 status prexh,0,preshp 957 02324 958 pltout null /* we have waited long enough, process output */ 02324 959 tstflg tfrabt,tstecp /* are we supposed to throw away accumulated inpu 02330 960 goto getwrk /* no, proceed */ 961 02332 962 tstdmp tstflg tfwabt,dump /* test for dump output */ 02336 963 goto tsthng /* no, check for hangup */ end of binary card 00000035 02340 964 waitm 965 02341 966 tstrbp tstflg tfrabt,tstplt /* dump input? */ 02345 967 goto tsthng /* no, check for hangup */ 968 02347 969 tstrbt tstflg tfrabt,tstecp /* check for read abort */ 02353 970 tsthng tstflg tfhang,hanga /* hang it up */ 02357 971 twaitm waitm 972 02360 973 tstplt ckinpt getwrk /* there isn't anything to throw away */ 02362 974 tstflg tfplit,twaitm /* if being polite, dump it later */ 02366 975 tstecp tstflg tfecpx,echoat /* are we in echoplex? */ 02372 976 goto dmpin /* no, just dump it */ 977 02374 978 echoat ckinpt getwrk /* no accumulated input, forget it */ 02376 979 echo atchar /* put at sign in echo buffer */ 980 02400 981 dmpin stpchn /* stop the channel */ 02402 982 dumpin /* throw away read chain */ 02403 983 dmprpy /* dump any accumulated replay */ 02404 984 goto getwrk end of binary card 00000036 985 02406 986 dump stpchn /* stop channel */ 02410 987 dmpout /* dump the output */ 02411 988 goto getwrk 989 assm 01 12-10-82 15.725 control_tables page 44 utility functions 02413 990 inquit stpchn /* stop the input for now */ 02415 991 setcct scc.bs /* back to base cct, in case */ 02417 992 clrflg tffip /* turn off frame in progress */ 02422 993 sendin /* send any input to 6180 */ 02423 994 signal quit /* tell 6180 */ 02425 995 tstflg tfquit,writnl /* print new-line if asked to */ 02431 996 clrflg (tfprtr,tfkybd) /* nothing is addressed now */ 02434 997 goto getwrk /* no newline, go read more */ 998 02436 999 otquit stpchn /* stop the input for now */ 02440 1000 setcct scc.bs /* back to base cct */ 02442 1001 clrflg tffip /* turn off frame in progress */ 02445 1002 sendin /* ship any input */ 02446 1003 setfld t.omct,0 /* treat like block acknowledgement */ 02451 1004 signal quit /* tell 6180 */ 02453 1005 tstflg tfquit,qdump /* dump and print nl ? */ end of binary card 00000037 02457 1006 clrflg (tfprtr,tfkybd) /* we'll have to re-address */ 02462 1007 goto getwrk /* go look for work to be done */ 1008 02464 1009 qdump dmpout /* throw away the output chain */ 02465 1010 writnl prepnl /* setup new-line for output */ 02466 1011 scntr -10 /* flag meaning printing new-line after quit */ 02470 1012 goto write2 1013 02472 1014 error punt 1 /* ards error */ assm 01 12-10-82 15.725 control_tables page 45 writing part of tables 02474 1016 write tstflg tfpfnl,write3 /* see if in prefixnl mode */ 02500 1017 goto write1 /* no, dont prepnl check */ 02502 1018 write3 ckinpt write1 /* check to see if input snuck in */ 02504 1019 prepnl /* it did, setup to write newline */ 02505 1020 write1 scntr 0 /* flag meaning not doing nl after quit */ 02507 1021 write2 tstflg tfctrl,ckprtr /* if we need to address ptr */ 02513 1022 goto print /* nope, go and print */ 1023 02515 1024 ckprtr tstflg tfprtr,print /* if we need to address ptr */ 02521 1025 clrflg tfkybd /* yes, clear kybd */ end of binary card 00000038 1026 02524 1027 gotype (ptasci,pt1050,pt2741,error,print) 1028 02533 1029 ptasci dcwlst /* dcw list to address prtr */ 02534 1030 cmd sxmit+rrec /* go to xmit mode */ 02535 1031 output (adprtr) /* send prtr addr string, nak for 37 */ 02537 1032 cmd smark /* send marker when done */ 02540 1033 output (outmsg) /* send the data */ 02542 1034 cmd sterm+rxmit /* and terminate when finished */ 1035 02543 1036 goto prtrwt /* go wait for addressing */ 1037 02545 1038 pt1050 dcwlst /* dcw list for 1050 adressing */ 02546 1039 cmd sbrk /* send a line break */ 02547 1040 setime 1 /* have to let it happen */ 02551 1041 wait pt105a,0,0 02555 1042 pt105a dcwlst 02556 1043 cmd sxmit+rrec /* go to transmit mode */ 02557 1044 output (adprtr) /* address 1050 prtr, with /9 */ 02561 1045 cmd srec+rxmit /* enter receive mode */ 02562 1046 input 1,null /* read one char */ 02563 1047 cmd sxmit+rrec /* enter transmit mode again */ 02564 1048 output (eoa) /* send eoa char */ 02566 1049 cmd smark /* send marker status when done */ 02567 1050 output (outmsg) /* now, send the guys data */ 02571 1051 cmd sterm+rxmit /* and terminate when done */ 1052 02572 1053 goto prtrwt /* wait for addressing to finish */ end of binary card 00000039 1054 02574 1055 pt2741 dcwlst /* address 2741 printer */ 02575 1056 cmd sbrk /* send a line break */ 02576 1057 setime 1 /* give it time */ 02600 1058 wait pt274a,0,0 02604 1059 pt274a dcwlst 02605 1060 cmd sxmit+rrec /* enter transmit mode */ 02606 1061 output (adprtr) /* address printer now with eoa */ 02610 1062 cmd smark /* send marker when done addressing */ 02611 1063 output (outmsg) /* send the data */ 02613 1064 cmd sterm+rxmit /* send term when done outout */ assm 01 12-10-82 15.725 control_tables page 46 writing part of tables 1065 02614 1066 clrflg tfeotx /* clear eot expected flag */ 02617 1067 goto prtrwt 1068 02621 1069 prtrwt setime 5 /* wait 5 secs for addressing */ 1070 02623 1071 wait prtrto,0,tsthng /* if timeout, punt */ 02627 1072 status 0,cts,hang2 /* hungup? */ 02633 1073 status 0,cd,hangb 02637 1074 status marker,0,prtron /* printer is addressed now */ end of binary card 00000040 02643 1075 status break,0,otquit /* quit? */ 1076 02647 1077 prtrto stpchn /* timed out waiting for printer addressing */ 02651 1078 contrl stat /* make sure no hangup during stpchn */ 02653 1079 setime -150 02655 1080 wait prttim,0,tstdmp 02661 1081 status 0,cts,hang2 /* watch for hangups */ 02665 1082 status 0,cd,hangb 1083 02671 1084 prttim tstflg tfwabt,dump 02675 1085 tstwrt write1 /* real timeout, try again */ 02677 1086 goto getwrk 1087 02701 1088 prtron setflg tfprtr /* printer on now */ 02704 1089 tcntr -10,wwait /* ignore write-abort on nl after quit */ 02707 1090 tstflg tfwabt,dump /* were we asked to punt */ end of binary card 00000041 02713 1091 goto wwait /* no, wait for write to finish */ 1092 02715 1093 print tstflg tffdpx,printf /* full dpx, dont reset rec */ 02721 1094 tstflg tfecpx,printf /* likewise for echoplex */ 1095 02725 1096 dcwlst /* start output on device wo addressing */ 02726 1097 cmd sxmit+rrec /* enter xmit mode and reset rec */ 02727 1098 output (outmsg) /* put in the data */ 02731 1099 cmd sterm+rxmit /* and terminate */ 1100 02732 1101 goto wwait /* wait for terminate */ 1102 02734 1103 printf tstflg (tfblak,tfofc),chkeob /* check for block acknowledgement */ 02740 1104 sprint dcwlst /* full dpx write */ 02741 1105 cmd sxmit+srec /* enter xmit mode */ 02742 1106 output (outmsg) 02744 1107 cmd sterm+rxmit /* term when done */ 1108 02745 1109 wwait tstflg tfrpon,wwait1 /* replay already started? */ 02751 1110 tstflg tfrply,prplay /* no, should we start one? */ 02755 1111 goto wwait1 /* no, go wait */ 1112 02757 1113 prplay ckinpt wwait1 /* check for any input */ assm 01 12-10-82 15.725 control_tables page 47 writing part of tables end of binary card 00000042 02761 1114 setflg tfrpon /* set replay in progress flag */ 02764 1115 gtinpt /* scoop up current input */ 1116 02765 1117 wwait1 setime 0 /* turn off the timer */ 1118 02767 1119 wait 0,0,wtest /* wait for status or dump */ 02773 1120 status 0,cts,hang2 /* hangup? */ 02777 1121 status 0,cd,hangb 03003 1122 status brkchr,0,wsend /* send data input during full dpx */ 03007 1123 status exh,0,wexh /* stop the receiver now */ 03013 1124 status break,0,otquit /* quit? */ 03017 1125 status term,0,wterm /* all done */ 1126 03023 1127 wterm tstflg tfrabt,tstecp /* see if there was a resetread */ end of binary card 00000043 03027 1128 tstwrt getwrk /* if any to do, do it */ 03031 1129 tstflg tfrpon,wdrply /* replay ready, do it */ 03035 1130 tstflg tfplit,wdplit /* check polite write term */ 03041 1131 goto getwrk /* all ok */ 1132 03043 1133 wdrply tstrpy wdrpdn /* if no replay chain goto wdrpdn */ 03045 1134 setime 1 /* wait 1 second for all output */ 03047 1135 wait wdrpto,write1,tstrbt 03053 1136 status 0,cts,hang2 /* hangup? */ 03057 1137 status 0,cd,hangb 03063 1138 status brkchr,0,wsend /* send data input during full dpx */ 03067 1139 status exh,0,wexh /* stop the receiver now */ 03073 1140 status break,0,otquit /* quit? */ end of binary card 00000044 1141 03077 1142 wdrpto replay /* make the saved input an output chain */ 03100 1143 goto write1 /* put out those chars now */ 1144 03102 1145 wdrpdn clrflg tfrpon /* done now, clear flag */ 03105 1146 goto getwrk /* all done replaying */ 1147 03107 1148 wdplit ckinpt getwrk /* had we just been polite to him? */ 03111 1149 setime 1 /* yes, wait for more output */ 03113 1150 wait wdplto,write1,tsthng 03117 1151 status 0,cts,hang2 /* hangup? */ 03123 1152 status 0,cd,hangb 03127 1153 status brkchr,0,wsend /* send data input during full dpx */ 03133 1154 status exh,0,wexh /* stop the receiver now */ 03137 1155 status break,0,otquit /* quit? */ 1156 03143 1157 wdplto goto getwrk /* ok, we have waited for all output */ end of binary card 00000045 1158 03145 1159 wsend tstflg tfrabt,wtstec /* see if we were told to throw it away */ 03151 1160 sendin /* no, ship the data */ assm 01 12-10-82 15.725 control_tables page 48 writing part of tables 03152 1161 waitm /* and wait some more */ 1162 03153 1163 wtstec tstflg tfecpx,wdecho /* echoplex? */ 03157 1164 goto wdmpin /* no, just dump it */ 1165 03161 1166 wdecho echo atchar /* put at sign in echo buffer */ 03163 1167 wdmpin dumpin /* throw away input */ 03164 1168 dmprpy /* dump any accumulated replay */ 03165 1169 waitm /* keep waiting */ 1170 03166 1171 wexh meter2 m.exh,1 03171 1172 contrl rrec /* stop the input now */ 03173 1173 goto wsend /* ship it and wait more */ 1174 03175 1175 wtest tcntr -10,wtestm /* doning newline after quit */ 03200 1176 tstflg tfwabt,dump /* dump_output, do it */ 03204 1177 wtestm clrflg tfwabt 03207 1178 waitm /* but don't perform hangup till output finishes 1179 03210 1180 chkeob tstfld t.omct,2,waitak /* more than two blocks outstanding? */ end of binary card 00000046 03214 1181 goto sprint /* proceed with output */ 1182 03216 1183 waitak contrl srec /* we have to be able to see ack char */ 03220 1184 wait 0,0,tstack /* here to suspend output until ack */ 03224 1185 status 0,cts,hang2 /* just in case */ 03230 1186 status 0,cd,hangb /* likewise */ 03234 1187 status brkchr,0,wsend /* forward input anyway */ 03240 1188 status exh,0,wexh /* always handle exhaust */ 03244 1189 status break,0,otquit /* likewise quit */ 1190 03250 1191 tstack tstfld t.omct,2,wtest /* wasn't ack, look for other things */ 03254 1192 goto sprint /* was ack, resume output */ assm 01 12-10-82 15.725 control_tables page 49 check and perform hangups 1194 come here when told to hangup line 1195 03256 1196 hanga stpchn /* stop the channel */ 03260 1197 tstwrt write /* make sure there is no output now */ 03262 1198 setime 1 /* wait to make sure there's no more output */ end of binary card 00000047 1199 03264 1200 wait hanga1,getwrk,0 /* if timeout, time to hang up */ 03270 1201 status 0,cts,hang3 /* line is hung up anyway */ 03274 1202 status 0,cd,hang3 /* likewise */ 1203 03300 1204 hanga1 gotype (hang5,hang5,hang5,ahang,hang3) 1205 1206 1207 1208 come here when cts drops on a line 1209 03307 1210 hang2 gotype (hang5,hang5,hang5,hang5,hang10) 1211 03316 1212 hang5 contrl rxmit+rrec+rdtr+stat /* hangup and request status */ 1213 03320 1214 hangwt setime 5 /* wait 5 seconds for it to happen */ 1215 03322 1216 wait hang3,0,0 /* if timeout, give up on him */ 03326 1217 status 0,cts,hang3 /* still down, done */ end of binary card 00000048 1218 03332 1219 hang3 stpchn /* stop channel again */ 03334 1220 dmpout /* throw away output */ 03335 1221 signal hangup /* did it, tell 6180 */ 03337 1222 clrflg (tflisn,tfhang) /* clear the listen and hangup flags */ 03342 1223 goto hungup 1224 1225 1226 1227 here when cd drops on a line 1228 03344 1229 hangb setime 1 /* wait one sec for carrier */ 1230 03346 1231 wait hang4,0,0 /* if timeout, check somemore */ 03352 1232 status 0,cts,hang2 /* if cts has dropped now, hangup */ 1233 03356 1234 hang4 contrl rxmit+rrec+stat /* get status of line */ 03360 1235 setime 5 /* wait 5 seconds */ 1236 03362 1237 wait hang4,0,0 /* if timeout, try to get status again */ 03366 1238 status 0,cts,hang2 /* cts down, hangup */ 03372 1239 status 0,cd,hang2 /* cd down still, giveup */ 03376 1240 status cd+cts+dsr,0,hangqt /* back up, call it quit */ end of binary card 00000049 1241 assm 01 12-10-82 15.725 control_tables page 50 check and perform hangups 03402 1242 hangqt gotype (hang6,hang6,hang6,hang6,hang11) 1243 03411 1244 hang6 sendin /* send any input to 6180 */ 03412 1245 signal quit /* tell 6180 of quit */ 03414 1246 goto dump /* dump any output, what else can i do */ 1247 1248 here when cd or cts drop on private sync lines 1249 03416 1250 hang10 contrl rxmit+rrec+stat /* get line status */ 03420 1251 setime 10 /* wait 10 seconds for return */ 1252 03422 1253 wait hang10,0,tsthng 03426 1254 status cd+cts+dsr,0,hang11 1255 03432 1256 hang11 goto getwrk 1257 1258 1259 1260 * the following is a control table subroutine to stop a channel 1261 * it is called by the stpchn macro from all control tables. 1262 03434 1263 stpchn contrl rrec+rxmit+smark 03436 1264 setime 1 /* if it doesn't come through in a second */ 03440 1265 wait stptmo,0,0 /* try again */ 03444 1266 status marker,0,stpch2 end of binary card 00000050 03450 1267 stpch2 retsub 1268 03451 1269 stptmo addlcl stptmc,1 /* timed out, keep count */ 03454 1270 goto stpchn /* try it again */ 03456 000000 0 1271 stptmc oct 0 1272 end of binary card 00000051 1273 end 3460 is the next available location. 355map version/assembly dates gmpa 770711/071177 gmpb 770711/071177 gmpc 770711/071177 there were no warning flags in the above assembly assm 01 12-10-82 15.729 control_tables page 51 octal symbol references by sequence no. 4 a1star 77 443 5 a2star 78 443 6 a3star 79 443 6 ack 192 192 260 269 7 acutst 68 445 3 adcnt 279 269 271 273 275 277 279 0 adk 279 269 271 273 275 277 279 402 adkybd 192 192 755 764 776 401 adprtr 192 192 609 633 1031 1044 1061 1 adval 279 269 271 273 275 277 279 1 ahang 70 1204 1407 ansend 687 651 684 685 687 1147 anslp 578 578 693 1421 ansnot 695 691 695 1433 ansnt2 700 698 700 1412 anstim 690 636 644 681 690 1361 answt 679 593 618 671 679 10 ant202 72 578 11 astart 69 443 1 async 301 301 304 305 306 307 308 309 310 311 100 atchar 192 192 979 1166 12 autost 76 478 5 awru 192 192 589 603 begin1 435 88 435 600 begin 434 56 434 435 448 454 7 bel 192 192 919 2 blt.d 236 236 246 250 253 775 blt.p1 238 238 257 264 3 blt.t 237 237 242 260 400 break 192 192 721 782 799 832 924 933 940 952 1075 1124 1140 1155 1189 1437 brk 710 94 710 1000 brkchr 192 192 533 547 639 684 783 833 953 1122 1138 1153 1187 1474 brkout 722 718 721 722 1443 brkst 712 710 712 10 bs 192 192 242 253 260 13 bscstr 74 443 300 cct.2 333 61 333 550 650 660 700 785 787 791 400 cct.3 401 64 401 559 500 cct.br 429 65 429 529 626 773 1 cd 192 192 461 462 467 638 645 683 720 781 798 809 830 923 932 939 950 1073 1082 1121 1137 1152 1186 1202 1239 1240 1254 1 chk 205 202 203 204 205 760 chkaut 477 66 475 477 3210 chkeob 1180 1103 1180 174 chval 205 202 203 204 205 2 c.rcrq 191 191 192 40 c.rdtr 191 191 192 2 c.rrec 191 191 192 20000 c.rrqs 191 191 192 200 c.rsup 191 191 192 200 c.rtre 191 191 192 assm 01 12-10-82 15.729 control_tables page 52 octal symbol references by sequence no. 10 c.rxmt 191 191 192 1000 c.sbrk 191 191 192 1 c.scrq 191 191 192 20 c.sdtr 191 191 192 2000 c.smrk 191 191 192 1 c.srec 191 191 192 10000 c.srqs 191 191 192 100 c.ssup 191 191 192 400 c.stat 191 191 192 100 c.stre 191 191 192 4000 c.strm 191 191 192 4 c.sxmt 191 191 192 2020 ck2741 857 845 857 2000 ckdata 844 833 844 953 2040 ckeot 865 861 865 2061 ckfin 873 869 873 1531 ckkybd 748 738 748 2515 ckprtr 1024 1021 1024 2030 ckupnl 861 857 861 2 colts 86 443 15 cr 192 192 242 253 260 23 ct.eol 326 326 431 61 ct.grt 326 326 404 6 ct.ign 326 326 414 7 ct.mrk 326 326 357 365 390 398 0 ct.ncs 326 326 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 422 0 ctrl 52 52 54 97 2 cts 192 192 461 462 467 637 646 682 719 780 797 808 829 922 931 938 949 1072 1081 1120 1136 1151 1185 1201 1217 1232 1238 1240 1254 32 devtbl 207 89 207 207 devtyp 304 91 304 744 dialed 473 462 467 473 1131 dialsy 559 475 559 100 dialup 192 192 563 1054 difh01 529 491 529 1072 difh02 535 532 535 1123 difh03 549 533 547 549 1125 difh04 550 545 550 1104 difh2a 540 539 540 775 diftyp 491 63 475 491 65 d.1050 244 208 244 77 d.2741 248 209 248 111 d.ards 252 210 252 53 d.asci 241 207 216 217 218 241 123 d.sync 255 211 212 213 219 220 221 222 223 255 134 d.t202 259 214 259 assm 01 12-10-82 15.729 control_tables page 53 octal symbol references by sequence no. 146 d.vip 262 215 262 0 dk 264 242 246 250 253 257 260 264 2400 dmpin 981 844 976 981 4 dsr 192 192 461 462 467 1240 1254 1015 dt1050 502 499 502 1027 dt105a 508 507 508 1050 dt2741 519 500 517 519 1 dtfctl 230 230 246 250 4 dtfsft 231 231 246 250 2406 dump 986 962 986 1084 1090 1176 1246 775 dval 264 242 246 250 253 257 260 264 2374 echoat 978 975 978 64 eoa 192 192 279 494 512 613 642 667 767 1048 174 eotshf 192 192 205 2472 error 1014 60 475 578 751 845 915 1014 1027 3 etx 192 192 242 257 260 264 4000 exh 192 192 834 954 1123 1139 1154 1188 14 ff 192 192 242 253 1 gbf6up 192 192 434 473 481 1512 getwrk 735 565 688 699 701 726 735 810 885 900 943 945 960 973 978 984 988 997 1007 1086 1128 1131 1146 1148 1157 1200 1256 751 godial 475 473 475 2050 goteot 869 866 869 3 gstar 73 443 3416 hang10 1250 1210 1250 1253 3432 hang11 1256 1242 1254 1256 3307 hang2 1210 637 638 645 646 682 719 780 781 797 808 829 922 931 938 949 1072 1081 1120 1136 1151 1185 1210 1232 1238 1239 3332 hang3 1219 1201 1202 1204 1216 1217 1219 3356 hang4 1234 1231 1234 1237 3316 hang5 1212 1204 1210 1212 3411 hang6 1244 1242 1244 3300 hanga1 1204 1200 1204 3256 hanga 1196 737 970 1196 3344 hangb 1229 683 720 798 809 830 923 932 939 950 1073 1082 1121 1137 1152 1186 1229 3402 hangqt 1242 1240 1242 101 hangup 192 192 1221 14 hdlstr 85 443 2140 holdac 916 915 916 2142 holdbl 917 917 930 2173 holdlp 927 925 927 2123 holdup 912 909 912 2222 holdwt 935 915 928 935 663 hungup 450 57 450 471 474 482 1223 24 ibm0 192 192 273 44 ibm9 192 192 275 35 ibmbs 192 192 246 250 37 ibmdwn 192 192 246 250 273 277 74 ibmeot 192 192 203 246 250 273 277 510 542 667 55 ibmnl 192 192 202 246 250 assm 01 12-10-82 15.729 control_tables page 54 octal symbol references by sequence no. 3 ibmpls 192 192 667 76 ibmprf 192 192 667 42 ibmsl 192 192 273 275 57 ibmtab 192 192 246 250 34 ibmup 192 192 246 250 2120 inexh 911 834 911 954 155 inlshf 196 196 204 2413 inquit 990 832 871 933 937 940 990 2113 inxte 908 835 908 955 615 isauto 439 437 439 22 iscn1 202 202 857 24 iscn2 203 203 865 26 iscn3 204 204 861 30 iscn6 205 205 867 0 k 1106 510 542 589 609 613 633 642 667 755 764 776 919 1031 1033 1044 1048 1050 1061 1063 1098 1106 1556 kb1050 760 751 760 1556 kb2741 761 751 761 876 1547 kbasci 753 751 753 1574 kbhs01 773 761 773 1635 kbhs02 787 783 787 1645 kbhs03 791 779 791 1631 kbhs04 785 782 785 167 k.1050 273 246 273 177 k.2741 277 250 277 157 k.asci 269 242 269 1677 kybdon 802 790 800 802 1706 kybdto 806 792 796 806 1651 kybdwt 794 758 771 794 677 listen 456 446 456 4 madlen 267 267 269 271 273 275 277 279 40 marker 192 192 500 517 800 810 1074 1266 16 m.exh 189 189 911 1171 11 m.par 189 189 894 22 m.prex 189 189 847 26 m.quit 189 189 914 20 m.xte 189 189 908 25 nak 192 192 260 271 12 nl 192 192 242 253 260 734 nocd 469 466 469 777 nochar 192 192 242 246 250 253 257 260 264 644 norm 445 443 445 0 null 192 192 1046 2436 otquit 999 786 799 924 952 999 1075 1124 1140 1155 1189 403 outmsg 192 192 1033 1050 1063 1098 1106 10000 parity 192 192 831 951 173 p.1050 275 246 275 203 p.2741 279 250 279 163 p.asci 271 242 271 2324 pltout 958 948 958 2013 preshp 847 836 847 956 assm 01 12-10-82 15.729 control_tables page 55 octal symbol references by sequence no. 200 prexh 192 192 836 956 2715 print 1093 1022 1024 1027 1093 2734 printf 1103 1093 1094 1103 2757 prplay 1113 1110 1113 2701 prtron 1088 1074 1088 2647 prtrto 1077 1071 1077 2621 prtrwt 1069 1036 1053 1067 1069 2671 prttim 1084 1080 1084 2545 pt1050 1038 1027 1038 2555 pt105a 1042 1041 1042 2574 pt2741 1055 1027 1055 2604 pt274a 1059 1058 1059 2533 ptasci 1029 1027 1029 15 pvstar 83 443 2464 qdump 1009 1005 1009 113 quit 192 192 994 1004 1245 1175 ra1050 601 578 601 1211 ra105a 607 606 607 1332 ra2741 659 578 659 1346 ra274a 665 664 665 2246 rabort 942 828 942 1233 rahs10 626 602 626 1245 rahs1a 631 630 631 1274 rahs30 641 639 641 1320 rahs40 648 647 648 2256 raplit 947 944 947 1161 rawru 586 578 586 1145 rdansb 576 574 576 40 rdtr 192 192 451 469 1212 1730 read 818 739 748 751 818 510 rescan 192 192 202 203 204 205 2000 ring 192 192 461 2 rrec 192 192 509 608 612 666 754 763 806 1030 1043 1047 1060 1097 1172 1212 1234 1250 1263 1732 rwait 826 804 826 886 10 rxmit 192 192 511 543 590 610 614 634 643 668 756 766 777 806 818 920 1034 1045 1051 1064 1099 1107 1212 1234 1250 1263 16 s1star 80 443 17 s2star 81 443 20 s3star 82 443 1000 sbrk 192 192 505 537 604 628 662 717 936 1039 1056 2 scc.bs 326 326 722 991 1000 1 scc.df 326 326 477 0 scc.dl 326 326 452 20 sdtr 192 192 457 502 search 192 192 202 203 204 205 1133 signal 561 59 479 516 520 551 561 200000 s.acr 191 191 192 400000 s.ads 191 191 192 400000 s.bdmk 191 191 192 200000 s.bmk 191 191 192 assm 01 12-10-82 15.729 control_tables page 56 octal symbol references by sequence no. 1000 s.brch 191 191 192 400 s.brk 191 191 192 1 s.cd 191 191 192 2 s.cts 191 191 192 100000 s.dlo 191 191 192 4 s.dsr 191 191 192 4000 s.exh 191 191 192 10000 s.fcse 191 191 192 40000 s.isd 191 191 192 40 s.mark 191 191 192 400000 s.pbyt 191 191 192 200 s.prex 191 191 192 10000 s.prty 191 191 192 40000 s.pwi 191 191 192 200000 s.rabt 191 191 192 100000 s.rbt 191 191 192 2000 s.ring 191 191 192 40000 s.rto 191 191 192 10 s.sprc 191 191 192 20 s.st 191 191 192 100 s.term 191 191 192 20000 s.xte 191 191 192 2000 smark 192 192 495 513 756 768 806 1032 1049 1062 1263 2071 sndata 884 845 859 863 867 884 896 2076 sndchk 894 831 894 951 2106 sndstp 898 895 898 2740 sprint 1104 1104 1181 1192 1 srec 192 192 493 511 530 590 610 632 668 756 766 775 818 1045 1105 1183 10000 srts 192 192 457 617 start1 441 438 441 607 start 437 434 437 400 stat 192 192 457 1078 1212 1234 1250 4000 sterm 192 192 614 643 920 1034 1051 1064 1099 1107 3450 stpch2 1267 1266 1267 3434 stpchn 1263 62 450 586 601 659 696 714 874 898 912 981 986 990 999 1077 1196 1219 1263 1270 3456 stptmc 1271 1269 1271 3451 stptmo 1269 1265 1269 4 sxmit 192 192 509 541 588 608 612 632 666 754 763 775 918 1030 1043 1047 1060 1097 1105 0 sync 302 302 312 313 314 315 316 317 318 319 320 321 11 tab 192 192 242 253 260 600 tdhung 433 58 433 100 term 192 192 647 685 925 1125 20 tfacu 188 188 445 20000 tfauto 188 188 437 478 4000 tfblak 188 188 1103 400 tfctrl 188 188 738 1021 200000 tfecpx 188 188 975 1094 1163 40000 tfeotx 188 188 858 862 869 873 1066 4 tffdpx 188 188 1093 assm 01 12-10-82 15.729 control_tables page 57 octal symbol references by sequence no. 100000 tffip 188 188 723 992 1001 40 tfhang 188 188 447 456 737 970 1222 10 tfkybd 188 188 592 616 649 670 725 748 802 870 996 1006 1025 100 tflisn 188 188 446 1222 100 tfofc 188 188 1103 400000 tfpfnl 188 188 1016 2000 tfplit 188 188 944 974 1130 20 tfprtr 188 188 617 648 725 749 996 1006 1024 1088 200 tfquit 188 188 724 995 1005 10 tfrabt 188 188 735 844 959 966 969 1127 1159 400 tfrply 188 188 1110 1000 tfrpon 188 188 1109 1114 1129 1145 200 tfupsf 188 188 770 788 10000 tfwabt 188 188 735 962 1084 1090 1176 1177 140 tfwrd1 1222 437 445 446 447 456 478 592 616 617 648 649 670 723 724 725 735 737 738 748 749 770 788 802 844 858 862 869 870 873 944 959 962 966 969 970 974 975 992 995 996 1001 1005 1006 1016 1021 1024 1025 1066 1084 1088 1090 1093 1094 1103 1109 1110 1114 1127 1129 1130 1145 1159 1163 1176 1177 1222 0 tfwrd2 1222 437 445 446 447 456 478 592 616 617 648 649 670 723 724 725 735 737 738 748 749 770 788 802 844 858 862 869 870 873 944 959 962 966 969 970 974 975 992 995 996 1001 1005 1006 1016 1021 1024 1025 1066 1084 1088 1090 1093 1094 1103 1109 1110 1114 1127 1129 1130 1145 1159 1163 1176 1177 1222 47 t.omct 188 188 1003 1180 1191 3250 tstack 1191 1184 1191 21 tstart 71 443 2332 tstdmp 962 807 962 1080 2366 tstecp 975 959 969 975 1127 2353 tsthng 970 481 636 644 779 948 963 967 970 1071 1150 1253 770 tstlsn 481 460 466 481 2360 tstplt 973 966 973 2341 tstrbp 966 828 966 2347 tstrbt 969 921 930 937 969 1135 2 tt1050 192 192 502 535 698 3 tt2741 192 192 305 519 549 1 ttasci 192 192 304 306 307 308 309 310 311 439 5 ttsync 192 192 312 313 314 315 316 317 318 319 320 321 895 2357 twaitm 971 971 974 2045 upeot 867 865 867 22 vstart 75 443 3216 waitak 1183 1180 1183 722 waitcd 464 461 464 3161 wdecho 1166 1163 1166 3163 wdmpin 1167 1164 1167 3107 wdplit 1148 1130 1148 3143 wdplto 1157 1150 1157 3102 wdrpdn 1145 1133 1145 3043 wdrply 1133 1129 1133 3077 wdrpto 1142 1135 1142 3166 wexh 1171 1123 1139 1154 1171 1188 assm 01 12-10-82 15.729 control_tables page 58 octal symbol references by sequence no. 2505 write1 1020 1017 1018 1020 1085 1135 1143 1150 2507 write2 1021 1012 1021 2502 write3 1018 1016 1018 2474 write 1016 736 803 1016 1197 2465 writnl 1010 724 995 1010 1141 wru 574 92 574 114 wrutim 192 192 695 3145 wsend 1159 1122 1138 1153 1159 1173 1187 3023 wterm 1127 1125 1127 3175 wtest 1175 1119 1175 1191 3204 wtestm 1177 1175 1177 3153 wtstec 1163 1159 1163 2765 wwait1 1117 1109 1111 1113 1117 2745 wwait 1109 1089 1091 1101 1109 23 x25str 84 443 300 x 1106 510 542 589 609 613 633 642 667 755 764 776 919 1031 1033 1044 1048 1050 1061 1063 1098 1106 20000 xte 192 192 835 955 ** 47222 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