ASSEMBLY LISTING OF SEGMENT >spec>h>3.17>tst3bt.alm ASSEMBLED ON: 11/29/83 1536.4 mst Tue OPTIONS USED: list ASSEMBLED BY: ALM Version 6.6 November 1982 ASSEMBLER CREATED: 09/21/83 1227.3 mst Wed  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 " TST3BT - Bossified by BSG and SDS, 12/17/79  11 "  12 " Last modified by Sherman D. Sprague 2/11/81  13 " Last modified by Sherman D. Sprague 7/16/81 to fix a bug when using a connsole on a channel higher than 27.  14 " Modified November 1981 by C. Hornig to not use IOM rel mode.  15  16  17 " Layout of buffers in tmp  18  020000 19 equ inbuflen,8192  020000 20 equ outbuflen,8192 000000 21 equ inbuf,0  020000 22 equ otbuf,inbuf+inbuflen  040000 23 equ bufend,otbuf+outbuflen 24  25 " Tape opcodes  26  000070 27 bool rewind,70 000045 28 bool forward_space_file,45 000046 29 bool back_space_record,46  000005 30 bool read_tape_binary,5  31  000013 32 bool write_tty,13  33  34 "  35 include bosequ 1-1 " Begin include file ...... bosequ.incl.alm 1-2 " Modified 8/25/76 by N. I. Morris  1-3 " Modified 8/79 by R.J.C. Kissel to expand BOS. 1-4 " Modified November 1981 by C. Hornig to add pgmorg.  1-5 " Modified October 1982 by J. Bongiovanni to take it out  1-6  000000 1-7 bool ds,0 descriptor segment  000001 1-8 bool tmp,1 temp seg  000002 1-9 bool bf,2 buffer segment for save/restor  000003 1-10 bool pgm,3 program in control 000004 1-11 bool xs1,4 spare segment  000005 1-12 bool xs2,5 spare segment  000005 1-13 bool fgb,5 flagbox segment  000006 1-14 bool com,6 common 000007 1-15 bool mem,7 all memory 1-16  000017 1-17 equ arglen,15 max number of args from scan  1-18  004000 1-19 bool runcom_bit,4000 runcom bit in dir entry  002000 1-20 bool firmware_bit,2000 firmware bit in dir entry  1-21  012000 1-22 bool utilorg,12000 origin of utility package  1-23  1-24 " End of include file ...... bosequ.incl.alm  36 include bos_toequ  2-1 "  2-2 " Begin include file ...... bos_toequ.incl.alm  2-3 " Converted for follow-on on 5/5/72 at 17:30 by D R Vinograd  2-4 " Modified on 5/3/77 by N. I. Morris  2-5 " Modified 8/79 by R.J.C. Kissel to expand parts of BOS.  2-6 " Modified by Sherman D. Sprague 02/11/81 for DPS8 support  2-7 " Last modified by Keith Loepere to fix addresses to toehold and setup so  2-8 " that dcw list in setup will correctly save/restore Multics image  2-9 " The following is a map of BOS memory. 2-10 "  2-11 " Address Length  2-12 "  2-13 " 0 100 interrupt vector  2-14 " 100 100 fault vector  2-15 " 200 400 its pointers for fault and interrupt vectors  2-16 " 600 300 padding?  2-17 " 1100 100 bulk store mbx  2-18 " 1200 200 IOM imw area  2-19 " 1400 400 IOM A mbx 2-20 " 2000 400 IOM B mbx 2-21 " 2400 400 IOM C mbx 2-22 " 3000 400 IOM D mbx 2-23 " 3400 300 FNP A mbx 2-24 " 3700 300 FNP B mbx 2-25 " 4200 300 FNP C mbx 2-26 " 4500 300 FNP D mbx 2-27 " 5000 300 FNP E mbx 2-28 " 5300 300 FNP F mbx 2-29 " 5600 300 FNP G mbx 2-30 " 6100 300 FNP H mbx 2-31 " 6400 1340 padding  2-32 " 7740 40 ds (descriptor segment)  2-33 " 10000 1000 toehold  2-34 " 11000 7000 setup  2-35 " 20000 2000 bf (buffer)  2-36 " 22000 4000 com (common) 2-37 " 31000 12000 pgm (program area)  2-38 " 40000 20000 util (utilities) 2-39 " 60000 717777 rest of BOS memory, unused  2-40  2-41 " EQU's for BOS core image. 2-42  060000 2-43 bool coresaved,60000 amount of Multics core saved by BOS  2-44  777777 2-45 bool lnmem,777777 length of memory  000000 2-46 bool origmem,0 absolute origin of start of memory  2-47  010000 2-48 bool lnsetup,10000 length of BOS control program  010000 2-49 bool origsetup,10000 absolute origin of BOS control program  2-50  010020 2-51 equ origflagbox,origsetup+16 absolute origin of flagbox area  000100 2-52 equ lnflagbox,64 length of flagbox area  2-53  000040 2-54 bool lnds,40 length of BOS descriptor segment  007740 2-55 equ origds,origsetup-lnds absolute origin of BOS descriptor segment  2-56  002000 2-57 equ lnbf,1024 length of buffer segment  020000 2-58 equ origbf,origsetup+lnsetup absolute origin of 1024-word buffer  2-59  007000 2-60 bool lncom,7000 length of BOS common area 022000 2-61 equ origcom,origbf+lnbf absolute origin of BOS common area  2-62  031000 2-63 equ origpgm,origcom+lncom absolute origin of BOS command programs  031000 2-64 equ pgmorg,origpgm for compatibility  027000 2-65 equ lnpgm,coresaved-origpgm length of BOS command programs 2-66  001400 2-67 bool imbx,1400 absolute loc'n of actual IOM mailbox  2-68  000037 2-69 bool rewpu,37 REWP access, unpaged bit for SDW  2-70  2-71  010000 2-72 bool maxw,10000  2-73  2-74  000020 2-75 bool absi,000020  004000 2-76 bool ovflm,004000  2-77  2-78  2-79 " BOS pointer registers.  2-80  2-81 mod 16 000000 2-82 bos_pr: 000000 aa 000000 000043 2-83 its 0,0 pr0 -> seg 0 etc  000001 aa 000000 000000 000002 aa 000001 000043 2-84 its 1,0  000003 aa 000000 000000 000004 aa 000002 000043 2-85 its 2,0  000005 aa 000000 000000 000006 aa 000003 000043 2-86 its 3,0  000007 aa 000000 000000 000010 aa 000004 000043 2-87 its 4,0  000011 aa 000000 000000 000012 aa 000005 000043 2-88 its 5,0  000013 aa 000000 000000 000014 aa 000006 000043 2-89 its 6,0  000015 aa 000000 000000 000016 aa 000007 000043 2-90 its 7,0  000017 aa 000000 000000 2-91  2-92  2-93 " BOS descriptor segment template.  2-94  000020 2-95 bos_dbr:  000020 2-96 dseg:  000020 aa 000077 400004 2-97 seg0: vfd 24/origds,9/0,o3/4  000021 aa 000017 600000 2-98 vfd 1/0,14/(lnds/16-1),5/rewpu,15/0  2-99  000022 aa 000310 000004 2-100 seg1: vfd 24/origpgm,9/0,o3/4  000023 aa 013377 600000 2-101 vfd 1/0,14/(lnpgm/16-1),5/rewpu,15/0  2-102  000024 aa 000200 000004 2-103 seg2: vfd 24/origbf,9/0,o3/4  000025 aa 000777 600000 2-104 vfd 1/0,14/(lnbf/16-1),5/rewpu,15/0  2-105  000026 aa 000100 000004 2-106 seg3: vfd 24/origsetup,9/0,o3/4 000027 aa 003777 600000 2-107 vfd 1/0,14/(lnsetup/16-1),5/rewpu,15/0 2-108  000030 aa 000000 000000 2-109 seg4: zero  000031 aa 000000 000000 2-110 zero  2-111  000032 aa 000100 200004 2-112 seg5: vfd 24/origflagbox,9/0,o3/4  000033 aa 000037 600000 2-113 vfd 1/0,14/(lnflagbox/16-1),5/rewpu,15/0  2-114  000034 aa 000220 000004 2-115 seg6: vfd 24/origcom,9/0,o3/4  000035 aa 003377 600000 2-116 vfd 1/0,14/(lncom/16-1),5/rewpu,15/0  2-117  000036 aa 000000 000004 2-118 seg7: vfd 24/origmem,9/0,o3/4  000037 aa 377767 600000 2-119 vfd 1/0,14/(lnmem/16-1),5/rewpu,15/0  2-120  2-121  2-122 " EQU's for locations in the IOM mailbox used by BOS toehold.  2-123  000014 2-124 equ scwr,3*4 loc of refill for IOM scw  000002 2-125 equ statq,2 loc of status word  000000 2-126 equ pcw,0 loc of pcw  000001 2-127 equ cow,1 loc of cow  000011 2-128 equ lpwr,2*4+1 array of lpw refills  2-129  2-130  2-131 " EQU's for locations in setup used by BOS toehold. 2-132 " NOTE: toelen M_U_S_T_ be 0 mod 64 long because it must fit into  2-133 " an integral number of disk sectors.  2-134  001000 2-135 bool toelen,1000  031000 2-136 equ toesaved,origcom+lncom core saved by toehold  000200 2-137 equ swaplen,128 Size of the Bos toehold area which is  2-138 " swapped with the Multics toehold area.  000575 2-139 equ mbxloc,toelen-swaplen-3  000576 2-140 equ devid,toelen-swaplen-2 000577 2-141 equ ttychan,toelen-swaplen-1  001000 2-142 equ cowsav,toelen  001001 2-143 equ mbbasesav,toelen+1 001002 2-144 equ mxbasesav,toelen+2 001003 2-145 equ dirbase,toelen+3  2-146  2-147 " End of include file ...... bos_toequ.incl.alm 2-148  37 include pt_equ 3-1 " 3-2 " Begin include file ...... pt_equ.incl.alm 3-3 " Created 8/28/73 by N. I. Morris  3-4 " Modified 8/79 by R.J.C. Kissel to use expanded BOS.  3-5 " Last modified by Sherman D. Sprague 02/11/81 for DPS8 support.  006000 3-6 bool pt_org,6000  3-7  006000 3-8 equ printon,pt_org+0 turn on printer  006001 3-9 equ tapeon,pt_org+1 turn on tape  006002 3-10 equ wteof,pt_org+2 close out tape or print  006003 3-11 equ space,pt_org+3 fill line with blanks  006004 3-12 equ headform,pt_org+4 print header  006005 3-13 equ print,pt_org+5 print line 006006 3-14 equ ptblock,pt_org+6 print block of data  006010 3-15 equ initprint,pt_org+8 init print package 006011 3-16 equ print_edited,pt_org+9 print edited 006014 3-17 equ ptbfirst,pt_org+12 non-zero on first call to ptblock  006015 3-18 equ ptsegno,pt_org+13 non-zero to print segment # 006016 3-19 equ pthdr,pt_org+14 page heading  3-20  3-21 " End of include file ...... pt_equ.incl.alm  3-22  38  39 "  40 macro tape_io  1 41 tsx2 xio_wait  2 42 zero &2  3 43 zero tapeno,&1 4 44 tra *-3 retry on error  5 45 &end  46  47 "  48 " no revision, modification, or changes shall be made to this  49 " document without the approval of a manager of test and  50 " diagnostics, computer operations phoenix.  51 "  52 " suggestions and criticisms relative to content, purpose, or  53 " use of this program are invited. information on the 54 " applicable items listed below is requested.  55 "  56 " 1. program hang-ups, errors, include  57 " console log, memory dump, and field  58 " engineers description of the problem.  59 "  60 " 2. options that dont work as described in the  61 " documentation.  62 "  63 " 3. incorrect printouts. 64 "  65 " 4. incorrect or incomplete documentation.  66 "  67 " all correspondence should be directed on form ck97 to  68 "  69 " manager of systems t&d engineering  70 " honeywell information systems inc.  71 " computer operations phoenix b-111  72 " 13430 north black canyon highway  73 " phoenix, arizona. 85029 74 "  75 "*******************  76 " ttls 3bt program description 77 rem  78 " *table of contents*  79 "  80 "********************************************************************** 81 " **section a - program abstract** * 82 "********************************************************************** 83 "  84 " 1.0 identification 85 " 2.0 purpose  86 " 3.0 restrictions  87 " 4.0 operating procedures  88 " 5.0 error indications  89 "  90 "  91 "  92 "********************************************************************** 93 " **section b - detailed program description** * 94 "********************************************************************** 95 "  96 " 1.0 3bt program description  97 "  98 "  99 "  100  101 "********************************************************************** 102 " section a - program abstract * 103 "********************************************************************** 104 "  105 " 1.0 identification 106 " 1.1 3bt - 6000/355 t&d bootload 58008404 107 " 1.2 related drawings 108 " 1.2.1 eps-1 device interface adapter 58001131 109 " 1.2.2 eps-1 355 intercomputer adapter 43a219612  110 " 1.2.3 eps-1 6000b direct channel 43a239853  111 "  112 " 2.0 purpose  113 "  114 " 2.1 this program functions as a loader or 355 off-line t&d  115 " executives and test programs. it allows the operator to 116 " test the 355 from the 6000.  117 "  118 "  119 " 3.0 restrictions  120 "  121 " 3.1 this program runs in the single program mode under mon-4 122 " control. it cannot run in conert with other programs.  123 "  124 "  125 " 4.0 operating instructions 126 "  127 " 4.1 both the off-line t&d tape and the 355 pol binary deck  128 " tape must be mounted to run 3bt. pgm 3bt is configu-  129 " red and called in as follows 130 "  131 " if a dia is utilized in the 355,  132 " config dia cc(t,s)mbx base, ^pgm3bt^  133 "  134 " if a n ica,  135 " config ica cc(t,s)mbx base, p^pgm3bt^  136 "  137 " where - cc is channel number (psuedo ch# in case of ica)  138 " t is terminate int cell no. 139 " s is special int cel no.  140 " mbx base is base adrs of interrupt vectors  141 " p is system controller port no. (ica is attached  142 " to s.c. port) 143 "  144 "  145 " 5.0 error indications  146 "  147 " 5.1 if an error occurs, the 355 io package sends an interrupt  148 " to the 6000. 3bt reads the communications area in 355  149 " core (see sec b, para 1.0) which indicates output to the 150 " printer, performs the service (outputs error msg) and goes  151 " to "wait".  152 "  153  154 "********************************************************************** 155 " **section b - detailed program description * 156 "********************************************************************** 157 "  158 " 1.0 3bt detailed program description  159 "  160 " 3bt starts by setting a flag to indicate primitive function  161 " tests will be sent to the 355 first. the 6000 system con- 162 " figuration is then obtained from monitor. at this point,  163 " 3bt determines whether the 355 is connected to the 6000  164 " through a dia or an ica. the dia is connected to the 6000 165 " iom via a direct channel. the ica is connected directly  166 " to a system controller port.  167 "  168 " 3bt next determines the iom & channel number of the tape  169 " system on which the 355 program tape (pol) resides. the  170 " operator is asked the device number of the pol tape. at  171 " this point, 3bt asks the operator which executive he wishes  172 " to load (ios or bos).  173 "  174 "  175 " primitive function tests  176 "  177 " with the exec id in hand, 3bt rewinds the pol tape, and reads  178 " in the vector file. the card image vector data is converted  179 " to full binary & sent to the 355 memory, location zero. in  180 " the same manner, the primitive function test (pft), file-1 181 " is read from the pol tape, converted and sent to 355 memory  182 " (adrs 4000). the pft's are executed by sending a lvl-3 inter- 183 " rupt to the 355 (which causes control to be vectored to  184 " the pft). when they have run to completion, a routine at the  185 " end of pft-1 sends a lvl-3 to the 6000 to signal completion.  186 " if this fails to arrive in 4 seconds, an error is assumed and  187 " a message is output on the console.  188 "  189 " file pft-2 is sent over and executed in the same way. however,  190 " pft-2 is loaded starting at location 1000 in 355 core. 191 "  192 "  193 " loader, io package and executive  194 "  195 " before the loader is sent to the 355, a vector is sent over  196 " to location 63. this vectors control to the loader when  197 " the lvl-3 is sent after the loader is sent. the loader resides  198 " at location 1000 in the 355.  199 "  200 " at this point, the io package is read from the pol tape and  201 " sent to the 355 in card image format. the loader, just prev-  202 " iously sent to the 355 accepts the io package in 308 word  203 " blocks, strips the card image information out, stores the  204 " data in the appropriate buffer location (starting at 4000),  205 " sends a lvl-3 interrupt to the 6000 indicating readiness for  206 " the next block of data, and sits in a disconnect waiting for  207 " the 6000 to send a lvl-3 interrupt. this interrupt vectors  208 " control back to the loader. when the loader encounters a  209 " transfer card, it branches to the address on the transfer  210 " card which starts the io pkg functioning.  211 "  212 " finally, the indicated exec is read from tape by 3bt. the 213 " io pkg contains a duplicate of the loader, and this routine  214 " accepts and stores the exec in the 355 in the same manner  215 " as the io pkg is loaded, except the exec is loaded at 1000.  216 " at completion of exec load, control is given to the exec  217 " which then initializes in preparation for io testing. 3bt 218 " then goes into a "wait" routine, where it stays until inter-  219 " rupted with a lvl-7 interrupt. 220 "  221 " if the operator wants to run a specific test or communicate  222 " with the 355 software, he must press the request button.  223 " this causes monitor to vetor into 3bt at subroutine "fnp_opt". 224 " "fnp_opt" sends a lvl-7 interrupt to the 355 which tells the  225 " 355 software that the operator wishes to communicate, and  226 " goes back into "wait". 227 "  228 " the 355 then sends lvl-7 interrupt back, which causes moni-  229 " tor to vector into subroutine "lvl-7". this routine reads 230 " a 4-word communication block in the 355 which is established  231 " by the io package to identify 355 requests. word 1 is 355 232 " internal info, word 2 is the address of the buffer where the  233 " data is to be obtained from or written into, word 3 is the 234 " number of words to tranfer and word 4 is a code which identi-  235 " fies the action to be taken as follows 236 "  237 " 1 = console write 238 " 2 = console read  239 " 3 = output message to printer 240 " 4 = read a program from pol tape & send to 355.  241 " program id is in word 3 in this case. 242 " 5 = signal to 6000 that an error occurred with  243 " the last buffer received. 244 "  245 " 3bt evaluates the 4 word comm area & performs the request as  246 " described above  247 rem  248 rem  249 "  000040 aa 000000 2120 00 250 start: absa 0 get abs program base 000041 aa 000006 7350 00 251 als 6  000042 0a 003031 7550 00 252 sta base  253  000043 0a 002000 7420 00 254 stx2 x2  000044 aa 012300 7020 00 255 tsx2 initint  000045 0a 001646 0000 00 256 arg fnp_opt  000046 aa 012271 7020 00 257 tsx2 init_io  000047 aa 012245 7020 00 258 tsx2 ttyinit  000050 0a 001646 0000 00 259 arg fnp_opt  260  000051 aa 6 02017 2351 00 261 lda com|ttychanno  000052 0a 003027 7550 00 262 sta tty_chan save tty chan no  000053 aa 000011 7350 00 263 als 9  000054 0a 003037 5510 40 264 stba typcw+1,40  265  000055 0a 002000 2220 00 266 ldx2 x2 pick up command line args 000056 aa 7 00000 2271 12 267 ldx7 mem|0,2 address parsed args  000057 aa 7 00001 2351 17 268 lda mem|1,7 get possible fnp tag  000060 0a 003214 1150 00 269 cmpa =-1  000061 0a 000067 6000 00 270 tze default_fnp_tag  000062 0a 003215 1150 00 271 cmpa =h a  000063 0a 001767 6040 00 272 tmi bad_fnp_tag  000064 0a 003216 1150 00 273 cmpa =h h  000065 0a 001767 6054 00 274 tpnz bad_fnp_tag  000066 0a 000070 7100 00 275 tra *+2  000067 276 default_fnp_tag:  000067 0a 003215 2350 00 277 lda =h a  000070 0a 003215 1350 00 278 sbla =h a  000071 aa 000001 0350 07 279 adla 1,dl  000072 0a 003032 7550 00 280 sta fnp_tag  281  000073 aa 7 00022 2351 17 282 lda mem|arglen+3,7 get possible tape no. in decimal  000074 0a 000076 6050 00 283 tpl *+2  000075 aa 000002 2350 07 284 lda 2,dl default tape 2  000076 aa 000014 7350 00 285 als 12 000077 0a 002153 7510 04 286 stca tapeno,04 store device no.  287 "  288 " Find appropriate info from FNP card.  289 "  000100 0a 002132 5540 00 290 stc1 conf355err set error switch  000101 0a 003032 2350 00 291 lda fnp_tag get FNP tag  000102 0a 002030 7020 00 292 tsx2 conf355 get FNP info  000103 0a 001777 7100 00 293 tra finish error return  294  000104 0a 002133 2350 00 295 lda mbx_offset 000105 aa 000022 7350 00 296 als 18 000106 aa 003400 0350 03 297 adla =o3400,du 000107 0a 003041 7550 00 298 sta mbxptr+1  299  000110 0a 002123 2350 00 300 lda diapcw+1 get iom and chan no 000111 aa 000011 7710 00 301 arl 9  000112 aa 000777 3750 03 302 ana =o777,du  000113 0a 003024 7550 00 303 sta fnp_chan_info  304  305 "  306 " Get room for tape and FNP buffers.  307 "  000114 aa 040000 2350 03 308 lda outbuflen+inbuflen,du  000115 aa 012221 7020 00 309 tsx2 makesdw  000116 0a 001777 7100 00 310 tra finish check with operator  311  000117 aa 0 00002 7571 00 312 staq ds|2*tmp store in DSEG  000120 aa 000000 5320 00 313 cams 0 clear associative memory  314  000121 aa 1 00000 2121 00 315 absa tmp|0 000122 aa 000006 7350 00 316 als 6  000123 0a 003026 7550 00 317 sta buffer_base save abs addr of buffer seg  318  000124 0a 003217 2350 00 319 lda =h ptpkg load printer package 000125 aa 006000 6360 00 320 eaq pt_org 000126 aa 012206 7020 00 321 tsx2 ldcom 000127 0a 001777 7100 00 322 tra finish 323  000130 aa 006010 7020 00 324 tsx2 initprint initialize the printer pkg 325  000131 aa 012237 7020 00 326 tsx2 itaper set up tape for reading  000132 0a 002153 0000 00 327 arg tapeno 328  000133 aa 012241 7020 00 329 askex: tsx2 erpt  000134 aa 045 151 156 160 330 acc "input exec you wish (ios or bos)..xxx"  000135 aa 165 164 040 145 000136 aa 170 145 143 040 000137 aa 171 157 165 040 000140 aa 167 151 163 150 000141 aa 040 050 151 157 000142 aa 163 040 157 162 000143 aa 040 142 157 163 000144 aa 051 056 056 170 000145 aa 170 170 000 000 000146 aa 012247 7020 00 331 tsx2 readtty  000147 0a 000133 7100 00 332 tra askex null response  000150 aa 012200 7020 00 333 tsx2 scan parse answer  000151 aa 012040 2350 00 334 lda arg  000152 0a 003220 1150 00 335 cmpa =h bos  000153 0a 000157 6010 00 336 tnz *+4 no 000154 0a 002143 2350 00 337 lda bos  000155 0a 002161 7550 00 338 sta exec store exec id  000156 0a 000167 7100 00 339 tra denck  000157 0a 003221 1150 00 340 cmpa =h ios  000160 0a 000164 6010 00 341 tnz *+4  000161 0a 002144 2350 00 342 lda ios yes...get pgm no.  000162 0a 002161 7550 00 343 sta exec  000163 0a 000167 7100 00 344 tra denck  000164 0a 003222 1150 00 345 cmpa =h quit  000165 0a 001777 6000 00 346 tze finish 000166 0a 000133 7100 00 347 tra askex  348 "  349 denck: tape_io rewind  000167 aa 012277 7020 00 tsx2 xio_wait  000170 aa 000000 000000 zero  000171 0a 002153 000070 zero tapeno,rewind 000172 0a 000167 7100 00 tra *-3 retry on error  000173 0a 002135 2350 00 350 lda vect vector id  000174 0a 002147 7550 00 351 sta testid store it for tape read 000175 0a 000534 7070 00 352 tsx7 tpread go read vectors for xfer to 355  000176 aa 012272 7020 00 353 tsx2 connect_iom  000177 0a 002124 000000 354 zero maskpcw  000200 0a 002162 4500 00 355 stz ldcon  000201 0a 001054 7070 00 356 tsx7 fbc convert file to full binary  357 " ttls ** 6000 to 355 program transmission **  358 "  359 "********************************************************************** 360 " transmit int & fault vectors to 355  361 "********************************************************************** 000202 0a 001220 7070 00 362 tsx7 cwbld build "dcw" list  000203 aa 100000 2350 03 363 lda =o100000,du 355 char adrs & data adrs  000204 0a 003030 7550 00 364 sta ctrwd store it  000205 aa 000000 2260 03 365 ldx6 0,du zero index  000206 0a 001264 2340 00 366 vlp: szn dcwcnt more io?  000207 0a 000216 6000 00 367 tze p1send 000210 0a 001205 7070 00 368 tsx7 dxfr build ctrwd & 6000 mbx word  000211 0a 001200 7070 00 369 tsx7 store_mbx_word store mbx word in core  000212 aa 000001 3360 03 370 lcq 1,du  000213 0a 001264 0560 00 371 asq dcwcnt 000214 0a 001404 7020 00 372 tsx2 dio_wait  000215 0a 000206 7100 00 373 tra vlp  374 "  375 "  376 "********************************************************************** 377 " read & transfer prim function test #1 * 378 "********************************************************************** 000216 0a 002136 2350 00 379 p1send: lda pft1 pft #1 id (96)  000217 0a 002147 7550 00 380 sta testid 000220 0a 000534 7070 00 381 tsx7 tpread go read pft #1  000221 0a 002162 4500 00 382 stz ldcon  000222 0a 001054 7070 00 383 tsx7 fbc convert to full binary  000223 0a 001220 7070 00 384 tsx7 cwbld build "dcw" list  000224 aa 104000 2350 03 385 lda =o104000,du  000225 0a 003030 7550 00 386 sta ctrwd 355 adrs  000226 aa 000000 2260 03 387 ldx6 0,du  000227 0a 001264 2340 00 388 p1lp: szn dcwcnt more io?  000230 0a 000237 6000 00 389 tze p1lp1 no..done..go send lvl-3 to kick pft1 off  000231 0a 001205 7070 00 390 tsx7 dxfr build ctrwd & 6000 mbx word  000232 0a 001200 7070 00 391 tsx7 store_mbx_word store mailbox word in core  000233 aa 000001 3360 03 392 lcq 1,du  000234 0a 001264 0560 00 393 asq dcwcnt 000235 0a 001404 7020 00 394 tsx2 dio_wait  000236 0a 000227 7100 00 395 tra p1lp  396 "  000237 0a 001410 7070 00 397 p1lp1: tsx7 l3 send lvl-3 int & exp one in return  398 "  399 "********************************************************************** 400 " read pft-2 in & transmit to 355 then set ti to 355 to run it * 401 "********************************************************************** 000240 0a 002137 2350 00 402 p2send: lda pft2 pft #2 id (97)  000241 0a 002147 7550 00 403 sta testid 000242 0a 000534 7070 00 404 tsx7 tpread read in pft #2  000243 0a 002162 4500 00 405 stz ldcon  000244 0a 001054 7070 00 406 tsx7 fbc convert to full binary  000245 0a 001220 7070 00 407 tsx7 cwbld build "dcw" list  000246 aa 101000 2350 03 408 lda =o101000,du  000247 0a 003030 7550 00 409 sta ctrwd 355 adrs of core pft  000250 aa 000000 2260 03 410 ldx6 0,du  000251 0a 001264 2340 00 411 p2lp: szn dcwcnt more io?  000252 0a 000261 6000 00 412 tze p2lp2 done-go send l3 to execute pft2  000253 0a 001205 7070 00 413 tsx7 dxfr build ctrwd & 6000 mbx word  000254 0a 001200 7070 00 414 tsx7 store_mbx_word store mbx word  000255 aa 000001 3360 03 415 lcq 1,du  000256 0a 001264 0560 00 416 asq dcwcnt 000257 0a 001404 7020 00 417 tsx2 dio_wait  000260 0a 000251 7100 00 418 tra p2lp  419  000261 0a 001410 7070 00 420 p2lp2: tsx7 l3 send lvl-3 int. exp ti in return  421 "  422 "********************************************************************** 423 " read loader in & transmit to 355-then send loader * 424 "********************************************************************** 425 "  426 "  427 "  000262 0a 002145 4500 00 428 ldrs: stz execin  000263 0a 001734 7070 00 429 tsx7 ivl send vector and loader  430 "  431 "********************************************************************** 432 " read io package and exec in & transmit to 355 * 433 "********************************************************************** 000264 0a 002141 2350 00 434 rdioe: lda iopkg  000265 0a 002147 7550 00 435 sta testid 000266 0a 002162 5540 00 436 stc1 ldcon set loader present flag  000267 0a 001533 7070 00 437 tsx7 blkio perform io to send io pkg 438 "  439 " *** now send requested exec ***  440 "  000270 0a 002161 2350 00 441 lda exec exec id  000271 0a 002147 7550 00 442 sta testid put appropriate exec id in "testid"  000272 0a 002162 5540 00 443 stc1 ldcon loader present flag  000273 0a 001533 7070 00 444 tsx7 blkio io to send exec  000274 0a 001621 7100 00 445 tra wait when returned here, 355 is fully loaded  446 "********************************************************************** 000275 0a 003017 2340 00 447 prog: szn nxtst next test?  000276 0a 000310 6010 00 448 tnz progn yes  000277 0a 002147 2350 00 449 lda testid see if prg 85 or 86  000300 0a 003223 1150 00 450 cmpa =h850000 prg85?  000301 0a 000313 6000 00 451 tze prog1 yes  000302 0a 003224 1150 00 452 cmpa =h860000 prg86?  000303 0a 000323 6000 00 453 tze prog2 yes  000304 0a 003225 1150 00 454 cmpa =h200000 bos exec? 000305 0a 000333 6000 00 455 tze prog3 yes  000306 0a 003226 1150 00 456 cmpa =hio0000 ios exec? 000307 0a 000333 6000 00 457 tze prog3 yes  000310 0a 002162 5540 00 458 progn: stc1 ldcon none of the above  000311 0a 001533 7070 00 459 tsx7 blkio get & send requested pgm  000312 0a 001621 7100 00 460 tra wait go to sleep  461 "  000313 0a 001734 7070 00 462 prog1: tsx7 ivl send vector & loader  000314 0a 003223 2350 00 463 lda =h850000  000315 0a 002147 7550 00 464 sta testid restore correct id 000316 0a 002145 4500 00 465 stz execin 000317 0a 002162 5540 00 466 stc1 ldcon set loader present flag  000320 0a 001533 7070 00 467 tsx7 blkio send pgm85  000321 0a 003016 5540 00 468 stc1 p8586 set flag which indicates pgm85 or pgm86  000322 0a 001621 7100 00 469 tra wait go to sleep  000323 0a 001734 7070 00 470 prog2: tsx7 ivl 000324 0a 003224 2350 00 471 lda =h860000  000325 0a 002147 7550 00 472 sta testid 000326 0a 002162 5540 00 473 stc1 ldcon 000327 0a 002145 4500 00 474 stz execin 000330 0a 001533 7070 00 475 tsx7 blkio send pgm86  000331 0a 003016 5540 00 476 stc1 p8586 set pgm85 or 86 flag  000332 0a 001621 7100 00 477 tra wait go to sleep  000333 0a 002147 2350 00 478 prog3: lda testid load exec id 000334 0a 002161 7550 00 479 sta exec save it  000335 0a 000262 7100 00 480 tra ldrs send vect-loader-iopkg-exec  481 " ttls ** level 7 entry point **  482 "********************************************************************** 483 " this routine is entered if a lvl-7 interrupt occurs when no * 484 " slave io is in progress. it signals a service request from * 485 " the 355. 3bt reads the 4 word communication block in the 355 * 486 " core & performs the required service. * 487 "********************************************************************** 000336 0a 001720 7070 00 488 lvl7: tsx7 rdidb go read 4-word block 000337 0a 003047 2350 00 489 lda idb+2 get key wd 000340 aa 000007 3750 07 490 ana 7,dl  000341 aa 000001 1150 07 491 cmpa 1,dl 1=console wrt 000342 0a 000377 6000 00 492 tze cpwrt yes..  000343 aa 000002 1150 07 493 cmpa 2,dl 2=console read  000344 0a 000462 6000 00 494 tze conrd yes..  000345 aa 000003 1150 07 495 cmpa 3,dl 3=output msg to printer  000346 0a 000377 6000 00 496 tze cpwrt yes..  000347 aa 000004 1150 07 497 cmpa 4,dl 4=read req program  000350 0a 000367 6000 00 498 tze rdpgm  000351 0a 002155 7550 00 499 sta temp save for error mess  000352 aa 012241 7020 00 500 tsx2 erpt  000353 aa 046 165 156 144 501 acc "undefined service request from 355 ^d"  000354 aa 145 146 151 156 000355 aa 145 144 040 163 000356 aa 145 162 166 151 000357 aa 143 145 040 162 000360 aa 145 161 165 145 000361 aa 163 164 040 146 000362 aa 162 157 155 040 000363 aa 063 065 065 040 000364 aa 040 136 144 000 000365 0a 002155 0000 00 502 arg temp  000366 0a 001777 7100 00 503 tra finish 504 "  505 "********************************************************************** 506 " ** read a program from tape (key value = 4) ** * 507 "  000367 0a 003047 2210 00 508 rdpgm: ldx1 idb+2 pgm id in upper half  000370 0a 000373 6010 00 509 tnz spec id present 000371 0a 003017 5540 00 510 stc1 nxtst value = 0. means next pgm on tape.  000372 0a 000275 7100 00 511 tra prog read next test in  512 "  000373 aa 777700 3610 03 513 spec: anx1 =o777700,du  000374 0a 002147 7410 00 514 stx1 testid  000375 0a 003017 4500 00 515 stz nxtst zero next test flag  000376 0a 000275 7100 00 516 tra prog go read req test in  517 "  518 "********************************************************************** 519 " ** output message on printer or typewriter ** * 520 "  000377 0a 003227 2350 00 521 cpwrt: lda =h?????? pad buffer  000400 aa 000000 2210 03 522 ldx1 0,du  000401 0a 002227 7550 11 523 sta conb1,1  000402 aa 000001 0210 03 524 adlx1 1,du 000403 aa 000100 1010 03 525 cmpx1 64,du done?  000404 0a 000401 6040 00 526 tmi *-3 no 000405 0a 003021 4500 00 527 stz ign zero ignore flag  000406 0a 003046 7210 00 528 lxl1 idb+1 355 msg adrs  000407 aa 100000 2610 03 529 orx1 =o100000,du char adrs 000410 0a 002226 7410 00 530 stx1 ccw adrs in control word  000411 0a 003047 2350 00 531 lda idb+2 get tally  000412 aa 000022 7710 00 532 arl 18 to a-lower 000413 aa 000001 3150 07 533 cana 1,dl odd tally?  000414 0a 000417 6000 00 534 tze *+3 even  000415 aa 000001 0750 07 535 ada 1,dl odd-make even  000416 0a 003021 5540 00 536 stc1 ign set ignore flag  000417 aa 000001 7710 00 537 arl 1 halve tally (6000 equiv)  000420 0a 002226 7510 03 538 stca ccw,03 store tally in 355 control word  000421 aa 000022 7350 00 539 als 18 000422 0a 003020 7550 00 540 sta wktal store working tally  000423 0a 002226 6350 00 541 eaa ccw buffer adrs  000424 0a 003031 0350 00 542 adla base  000425 aa 000075 2750 07 543 ora =o75,dl or in read cmd 000426 0a 002151 7550 00 544 sta mbxwd  000427 0a 001200 7070 00 545 tsx7 store_mbx_word store mbx word  000430 0a 001404 7020 00 546 tsx2 dio_wait read msg into interim buffer  000431 0a 003021 2340 00 547 szn ign odd 355 tally? 000432 0a 000437 6000 00 548 tze *+5 no 000433 aa 171717 2210 03 549 ldx1 =o171717,du yes-store ignores 000434 0a 003020 2350 00 550 lda wktal tally  000435 aa 000001 1750 03 551 sba 1,du less 1 000436 0a 002227 4410 01 552 sxl1 conb1,au store ignores 553 " put appropriate addresses in instructions for console wrt or print  000437 0a 003047 2350 00 554 lda idb+2  000440 aa 000007 3750 07 555 ana 7,dl isol key  000441 aa 000001 1150 07 556 cmpa 1,dl console key?  000442 0a 000455 6010 00 557 tnz cn1a no..printer  558  000443 0a 003020 2350 00 559 lda wktal get tally  000444 aa 000022 7710 00 560 arl 18 000445 0a 003044 7510 07 561 stca tydcw,07 put in dcw 562  000446 aa 012272 7020 00 563 ttyretry: tsx2 connect_iom  000447 00 003036 003044 564 zero typcw,tydcw  565  000450 aa 012274 7020 00 566 tsx2 check_status  000451 0a 003027 0000 00 567 arg tty_chan  000452 aa 000000 000000 568 zero  000453 0a 000446 7100 00 569 tra ttyretry  570  000454 0a 000527 7100 00 571 tra cr1  572 "  000455 aa 020000 1004 00 573 cn1a: mlr (),(),fill(020)  000456 0a 002227 020600 574 desc6a conb1,64*6  000457 aa 012001 020272 575 desc6a line,31*6  000460 aa 006011 7020 00 576 tsx2 print_edited  577 "  578 " now send lvl-3 int to wake 355 up & let him know were done  579 "  000461 0a 000527 7100 00 580 tra cr1 to l-3 routine & then "wait"  581 "  582 "********************************************************************** 583 " console read routine 584 "  000462 0a 003021 4500 00 585 conrd: stz ign zero ignore flag 000463 aa 020000 1004 00 586 mlr (),(),fill(020)  000464 0a 000464 020000 587 desc6a *,0 000465 aa 012001 020120 588 desc6a line,80 589  000466 aa 012247 7020 00 590 tsx2 readtty  000467 aa 012001 4500 00 591 stz line  592  000470 aa 012200 7020 00 593 tsx2 scan check for quit 000471 aa 012040 2350 00 594 lda arg  000472 0a 003222 1150 00 595 cmpa =h quit  000473 0a 001777 6000 00 596 tze finish 597  000474 aa 012263 7020 00 598 tsx2 stripg  000475 aa 012001 020120 599 desc6a line,80 600  000476 aa 000000 1004 40 601 mlr (rl),(),fill(0) I just write these pgms,  602 "not invent them.  000477 aa 012001 020005 603 desc6a line,al 000500 0a 002166 020300 604 desc6a crdbf,32*6  605  606 "  000501 0a 003047 2350 00 607 lda idb+2 get 355 tally  000502 aa 000022 7710 00 608 arl 18 000503 aa 000001 3150 07 609 cana 1,dl odd tally?  000504 0a 000507 6000 00 610 tze *+3 no 000505 aa 000001 0350 07 611 adla 1,dl yes-incr by 1 000506 0a 003021 5540 00 612 stc1 ign set ignore flag  000507 aa 000001 7710 00 613 arl 1 halve tally(6000 equiv)  000510 0a 002165 7510 07 614 stca crcw,07 store tally in icw  000511 0a 003046 7210 00 615 lxl1 idb+1 355 store adrs  000512 aa 100000 2610 03 616 orx1 =o100000,du char adrs 000513 0a 002165 7410 00 617 stx1 crcw put in 355 dcw  000514 0a 002165 6350 00 618 eaa crcw  000515 aa 000076 2750 07 619 ora =o76,dl wrt cmd  000516 0a 003031 0350 00 620 adla base  000517 0a 002151 7550 00 621 sta mbxwd  000520 0a 001200 7070 00 622 tsx7 store_mbx_word  000521 0a 003021 2340 00 623 szn ign ign set?  000522 0a 000526 6000 00 624 tze *+4 no 000523 aa 171717 2210 03 625 ldx1 =o171717,du yes  000524 0a 002165 7220 00 626 lxl2 crcw  000525 0a 002165 4410 12 627 sxl1 crdbf-1,2 000526 0a 001404 7020 00 628 tsx2 dio_wait send console msg to 355  629 "  630 " send lvl-3 int to 355 to let him know we're done 631 "  000527 aa 000371 2350 07 632 cr1: lda =o371,dl  000530 0a 002151 7550 00 633 sta mbxwd  000531 0a 001200 7070 00 634 tsx7 store_mbx_word store 6000 mbx word  000532 0a 001326 7070 00 635 tsx7 dio  000533 0a 001621 7100 00 636 tra wait  637 " ttls ** common subroutines **  638 "********************************************************************** 639 " tape read io subroutine * 640 "********************************************************************** 641 "  000534 0a 000773 7470 00 642 tpread: stx7 rdout zero flags 000535 0a 002146 4500 00 643 stz past  000536 0a 002150 4500 00 644 tpr1: stz frec  000537 0a 002157 4500 00 645 stz delta  000540 aa 000000 2210 03 646 ldx1 0,du zero data buffers 000541 aa 1 00000 4501 11 647 stz tmp|inbuf,1  000542 aa 000001 0210 03 648 adlx1 1,du 000543 aa 040000 1010 03 649 cmpx1 bufend-inbuf,du  000544 0a 000541 6040 00 650 tmi *-3  000545 aa 000000 2230 03 651 ldx3 0,du  000546 0a 003230 2350 00 652 lda =v18/inbuf,18/320" 000547 653 read_more_tape: 000547 aa 100000 2750 03 654 ora 32768*tmp,du make it be in seg tmp !  000550 0a 000552 7510 70 655 stca *+2,70  000551 aa 012277 7020 00 656 rdio: tsx2 xio_wait 000552 aa 000000 050000 657 vfd 18/*-*,12/320,6/0  000553 0a 002153 000005 658 zero tapeno,read_tape_binary  000554 0a 000556 7100 00 659 tra *+2  000555 0a 000623 7100 00 660 tra no_tape_error  000556 0a 001052 7570 00 661 staq status_temp  000557 aa 170000 3750 03 662 ana =o170000,du isolate major sts  000560 0a 000615 6000 00 663 tze sfchk ms=0 chk for sys flts  000561 aa 010000 1150 03 664 cmpa =o010000,du Subsystem busy?  000562 0a 000551 6000 00 665 tze rdio Yes, loop.  000563 aa 040000 1150 03 666 cmpa =o040000,du not rdy...eof?  000564 0a 000772 6000 00 667 tze endrd yes...done reading 000565 aa 030000 1150 03 668 cmpa =o030000,du data alert?  000566 0a 000614 6010 00 669 tnz tperr no-something else  000567 0a 001052 2350 00 670 lda status_temp yes-is it parity?  000570 aa 003400 3750 03 671 ana =o003400,du check for any parity  000571 0a 000614 6000 00 672 tze tperr not parity-make full error check  000572 aa 000001 0230 03 673 adlx3 1,du par err-incr counter 000573 aa 000012 1030 03 674 cmpx3 10,du 10 times?  000574 0a 000607 6040 00 675 tmi retry no-try again  000575 aa 012241 7020 00 676 tsx2 erpt  000576 aa 037 103 141 156 677 acc "Can't read the tape, PARITIES !"  000577 aa 047 164 040 162 000600 aa 145 141 144 040 000601 aa 164 150 145 040 000602 aa 164 141 160 145 000603 aa 054 040 120 101 000604 aa 122 111 124 111 000605 aa 105 123 040 041 000606 0a 001777 7100 00 678 tra finish 679  680 retry: tape_io back_space_record  000607 aa 012277 7020 00 tsx2 xio_wait  000610 aa 000000 000000 zero  000611 0a 002153 000046 zero tapeno,back_space_record  000612 0a 000607 7100 00 tra *-3 retry on error  000613 0a 000551 7100 00 681 tra rdio try again  682 "  683 "  000614 0a 001026 7070 00 684 tperr: tsx7 error a tape error other than parity occurred 685 " go check for errors & output msg 686 "  687 " only take xfer above if error...should not return  688 "  000615 0a 001053 2350 00 689 sfchk: lda status_temp+1 check for other faults  000616 aa 007777 3750 03 690 ana =o007777,du  000617 0a 000614 6010 00 691 tnz tperr got errors 000620 0a 001052 2350 00 692 lda status_temp  000621 aa 770000 3750 07 693 ana =o770000,dl chnl errors  000622 0a 000614 6010 00 694 tnz tperr got errors 000623 695 no_tape_error:  696 "********************************************************************** 697 " tape read data handling * 698 "********************************************************************** 000623 0a 002150 2340 00 699 datah: szn frec first record?  000624 0a 000747 6010 00 700 tnz cont no 000625 0a 002150 5540 00 701 stc1 frec set flag  000626 aa 000000 6350 00 702 eaa inbuf  000627 0a 002157 7550 00 703 sta delta  000630 0a 002157 2360 00 704 ldq delta rel bfr adrs  000631 aa 1 00003 2351 02 705 lda tmp|3,qu 4th word sb objec 000632 0a 003231 1150 00 706 cmpa =h objec object card?  000633 0a 000716 6010 00 707 tnz prob1 1st rec but no object card 000634 aa 1 00016 2351 02 708 lda tmp|14,qu id word  000635 aa 777700 3750 03 709 ana =o777700,du retain 2-char name 000636 0a 003017 2340 00 710 szn nxtst next prg on tape to be sent?  000637 0a 000645 6000 00 711 tze datah1 no-specific test  000640 0a 003223 1150 00 712 cmpa =h850000 prg 85?  000641 0a 000740 6000 00 713 tze datah2 yes  000642 0a 003224 1150 00 714 cmpa =h860000 prg 86?  000643 0a 000740 6000 00 715 tze datah2 yes  000644 0a 002147 7550 00 716 sta testid 000645 0a 002147 1150 00 717 datah1: cmpa testid correct id?  000646 0a 000747 6000 00 718 tze cont yes  000647 0a 000760 6020 00 719 tnc fsftry its further along on tape  000650 0a 002146 2340 00 720 szn past past it..were we before?  000651 0a 000710 6000 00 721 tze daa no..set flag & rewind  000652 0a 002147 2350 00 722 lda testid yes...not on tape  000653 aa 777777 3750 03 723 ana -1,du  000654 aa 202020 2750 07 724 ora =o202020,dl  000655 0a 002155 7550 00 725 sta temp  000656 0a 002146 4500 00 726 stz past zero flag  000657 aa 012241 7020 00 727 tsx2 erpt  000660 aa 126 143 141 156 728 acc "cannot find prg ^g on this tape. press request then input 'opt355' to get 355 options."  000661 aa 156 157 164 040 000662 aa 146 151 156 144 000663 aa 040 160 162 147 000664 aa 040 136 147 040 000665 aa 157 156 040 164 000666 aa 150 151 163 040 000667 aa 164 141 160 145 000670 aa 056 040 160 162 000671 aa 145 163 163 040 000672 aa 162 145 161 165 000673 aa 145 163 164 040 000674 aa 164 150 145 156 000675 aa 040 151 156 160 000676 aa 165 164 040 047 000677 aa 157 160 164 063 000700 aa 065 065 047 040 000701 aa 164 157 040 147 000702 aa 145 164 040 063 000703 aa 065 065 040 157 000704 aa 160 164 151 157 000705 aa 156 163 056 000 000706 0a 002155 0000 00 729 arg temp  000707 0a 001621 7100 00 730 tra wait go yo wait 000710 0a 002146 5540 00 731 daa: stc1 past set flag  732 tape_io rewind 000711 aa 012277 7020 00 tsx2 xio_wait  000712 aa 000000 000000 zero  000713 0a 002153 000070 zero tapeno,rewind 000714 0a 000711 7100 00 tra *-3 retry on error  000715 0a 000536 7100 00 733 tra tpr1  734 "  000716 aa 012241 7020 00 735 prob1: tsx2 erpt  000717 aa 064 160 147 155 736 acc "pgm with no object card. press eom to rewind & retry" 000720 aa 040 167 151 164 000721 aa 150 040 156 157 000722 aa 040 157 142 152 000723 aa 145 143 164 040 000724 aa 143 141 162 144 000725 aa 056 040 160 162 000726 aa 145 163 163 040 000727 aa 145 157 155 040 000730 aa 164 157 040 162 000731 aa 145 167 151 156 000732 aa 144 040 046 040 000733 aa 162 145 164 162 000734 aa 171 000 000 000 000735 aa 012247 7020 00 737 tsx2 readtty  000736 aa 000000 0110 00 738 nop  000737 0a 000711 7100 00 739 tra daa+1 rewind & retry 740 "  741 "  742 "  000740 0a 002147 7550 00 743 datah2: sta testid 85 or 86 id 744 tape_io back_space_record  000741 aa 012277 7020 00 tsx2 xio_wait  000742 aa 000000 000000 zero  000743 0a 002153 000046 zero tapeno,back_space_record  000744 0a 000741 7100 00 tra *-3 retry on error  000745 0a 003017 4500 00 745 stz nxtst zero flag  000746 0a 000275 7100 00 746 tra prog  747 "  748 "  749 "  000747 0a 002157 2360 00 750 cont: ldq delta 000750 aa 1 00000 2351 02 751 lda tmp|0,qu get record size  000751 aa 000777 3750 07 752 ana =o777,dl  000752 aa 000022 7350 00 753 als 18 000753 aa 000001 0750 03 754 ada 1,du add 1 to account for record id & size  000754 0a 002157 0550 00 755 asa delta start of next load point  000755 aa 000000 2230 03 756 ldx3 0,du zero parity counter  000756 0a 002157 2350 00 757 lda delta  000757 0a 000547 7100 00 758 tra read_more_tape 759 "  760 "  000760 aa 012277 7020 00 761 fsftry: tsx2 xio_wait  000761 aa 000000 000000 762 zero  000762 0a 002153 000045 763 zero tapeno,forward_space_file 000763 0a 000765 7100 00 764 tra *+2 error  000764 0a 000536 7100 00 765 tra tpr1 go read next start of file 766  000765 0a 000536 7100 00 767 tra tpr1 SOMEBODY SHOULD FIGURE THIS OUT 000766 aa 770000 3750 03 768 ana =o770000,du  000767 aa 400000 1150 03 769 cmpa =o400000,du  000770 0a 000760 6010 00 770 tnz fsftry 000771 0a 000536 7100 00 771 tra tpr1  772 "  773 "********************************************************************** 774 " if eof encountered come here to see if rec flag set-if not it's a * 775 " double eof & end of tape * 776 "********************************************************************** 777 "  000772 0a 002150 2340 00 778 endrd: szn frec check 1st rec flag  000773 0a 000773 6010 00 779 rdout: tnz * set..done with read-return  000774 0a 002147 2350 00 780 lda testid not set..dbl eof-end  000775 aa 777700 3750 03 781 ana =o777700,du  000776 0a 003232 2750 00 782 ora =o000020202020 000777 0a 002155 7550 00 783 sta temp  001000 aa 012241 7020 00 784 tsx2 erpt  001001 aa 060 143 157 165 785 acc "could not find program ^g on tape.. eom to retry" 001002 aa 154 144 040 156 001003 aa 157 164 040 146 001004 aa 151 156 144 040 001005 aa 160 162 157 147 001006 aa 162 141 155 040 001007 aa 136 147 040 157 001010 aa 156 040 164 141 001011 aa 160 145 056 056 001012 aa 040 145 157 155 001013 aa 040 164 157 040 001014 aa 162 145 164 162 001015 aa 171 000 000 000 001016 0a 002155 0000 00 786 arg temp  001017 aa 012247 7020 00 787 tsx2 readtty  001020 aa 000000 0110 00 788 nop  789 tape_io rewind 001021 aa 012277 7020 00 tsx2 xio_wait  001022 aa 000000 000000 zero  001023 0a 002153 000070 zero tapeno,rewind 001024 0a 001021 7100 00 tra *-3 retry on error  001025 0a 000536 7100 00 790 tra tpr1  791 "  792  001026 aa 012241 7020 00 793 error: tsx2 erpt  001027 aa 021 124 141 160 794 acc "Tape error: ^w ^w"  001030 aa 145 040 145 162 001031 aa 162 157 162 072 001032 aa 040 136 167 040 001033 aa 136 167 000 000 001034 0a 001052 0000 00 795 arg status_temp  001035 0a 001053 0000 00 796 arg status_temp+1  797  001036 aa 012241 7020 00 798 tsx2 erpt  001037 aa 015 105 117 115 799 acc "EOM to rewind"  001040 aa 040 164 157 040 001041 aa 162 145 167 151 001042 aa 156 144 000 000 001043 aa 012247 7020 00 800 tsx2 readtty  001044 aa 000000 0110 00 801 nop 0  802  803 tape_io rewind 001045 aa 012277 7020 00 tsx2 xio_wait  001046 aa 000000 000000 zero  001047 0a 002153 000070 zero tapeno,rewind 001050 0a 001045 7100 00 tra *-3 retry on error  001051 0a 000536 7100 00 804 tra tpr1  805 "  806 even  001052 807 status_temp:  001052 aa 000000 000000 808 oct 0  001053 aa 000000 000000 809 oct 0  810  811 "********************************************************************** 812 " converts input data to send format * 813 "********************************************************************** 001054 0a 001117 7470 00 814 fbc: stx7 fbcr return  001055 aa 000000 2230 03 815 ldx3 0,du tally count  001056 aa 000000 2210 03 816 ldx1 0,du input bfr count  001057 aa 1 00000 2351 11 817 fbl: lda tmp|inbuf,1 get a word 001060 0a 003233 1150 00 818 cmpa =o000016000200 bci?  001061 0a 001070 6000 00 819 tze bcicd yes  001062 0a 003234 1150 00 820 cmpa =o000033000100 binary card?  001063 0a 001077 6000 00 821 tze bincd yes  001064 aa 000001 0210 03 822 adlx1 1,du neither...get next  001065 aa 020000 1010 03 823 cmpx1 otbuf-inbuf,du in bounds?  001066 0a 001120 6050 00 824 tpl otside no..output trouble msg 001067 0a 001057 7100 00 825 tra fbl ok 826 "********************************************************************** 001070 aa 000002 0210 03 827 bcicd: adlx1 2,du  001071 aa 1 00000 2351 11 828 lda tmp|inbuf,1 load card type 001072 0a 003231 1150 00 829 cmpa =h objec obj card?  001073 0a 001075 6000 00 830 tze *+2 yes  001074 0a 001116 7100 00 831 tra fbcr-1 must be dkend..done  001075 aa 000001 0210 03 832 adlx1 1,du 001076 0a 001057 7100 00 833 tra fbl continue  834 "********************************************************************** 001077 aa 000000 2220 03 835 bincd: ldx2 0,du card word count 001100 0a 002162 2340 00 836 szn ldcon loader conversion? 001101 0a 001103 6010 00 837 tnz *+2 yes  001102 aa 000001 0210 03 838 binl: adlx1 1,du  001103 aa 1 00000 2351 11 839 lda tmp|inbuf,1 get word  001104 aa 1 20000 7551 13 840 sta tmp|otbuf,3 store in output buffer 001105 aa 000001 0220 03 841 adlx2 1,du 001106 aa 000001 0230 03 842 adlx3 1,du 001107 0a 002162 2340 00 843 szn ldcon loader convert 001110 0a 001113 6000 00 844 tze *+3 no 001111 aa 000034 1020 03 845 cmpx2 28,du yes  001112 0a 001114 7100 00 846 tra *+2  001113 aa 000032 1020 03 847 cmpx2 26,du basic convert  001114 0a 001102 6040 00 848 tmi binl next word  001115 0a 001057 7100 00 849 tra fbl done this card 850 "  001116 0a 002160 7430 00 851 stx3 tally save tally  001117 0a 001117 7100 00 852 fbcr: tra * 853 "  854 "  001120 0a 002147 2350 00 855 otside: lda testid get prg id  001121 aa 777777 3750 03 856 ana =o777777,du  001122 aa 202020 2750 07 857 ora =o202020,dl  001123 0a 002155 7550 00 858 sta temp  001124 aa 012241 7020 00 859 tsx2 erpt  001125 aa 121 145 170 143 860 acc "exceeded input buffer size while converting prg-^g indicates bad data from tape."  001126 aa 145 145 144 145 001127 aa 144 040 151 156 001130 aa 160 165 164 040 001131 aa 142 165 146 146 001132 aa 145 162 040 163 001133 aa 151 172 145 040 001134 aa 167 150 151 154 001135 aa 145 040 143 157 001136 aa 156 166 145 162 001137 aa 164 151 156 147 001140 aa 040 160 162 147 001141 aa 055 136 147 040 001142 aa 040 151 156 144 001143 aa 151 143 141 164 001144 aa 145 163 040 142 001145 aa 141 144 040 144 001146 aa 141 164 141 040 001147 aa 146 162 157 155 001150 aa 040 164 141 160 001151 aa 145 056 000 000 001152 0a 002155 0000 00 861 arg temp  001153 0a 001777 7100 00 862 tra finish 863  001154 aa 000000 000000 864 tpdcw: oct 0 dcw list 865  866 "********************************************************************** 867 " generates parity bit for mbxwd * 868 "********************************************************************** 001155 0a 001176 7470 00 869 parity: stx7 parr  001156 aa 000000 2210 03 870 ldx1 0,du  001157 0a 001177 4500 00 871 stz pbit zero par ctr  001160 0a 002151 2350 00 872 lda mbxwd fetch mbx word 001161 0a 001167 6040 00 873 par1: tmi count xfer if bit set  001162 aa 000001 0210 03 874 adlx1 1,du 001163 aa 000044 1010 03 875 cmpx1 36,du bit count-done?  001164 0a 001171 6000 00 876 tze par2 done  001165 aa 000001 7350 00 877 als 1 no-shift again 001166 0a 001161 7100 00 878 tra par1  879 "  001167 0a 001177 0540 00 880 count: aos pbit add count  001170 0a 001162 7100 00 881 tra par1+1 882 "  001171 0a 001177 2350 00 883 par2: lda pbit check for odd or even count  001172 aa 000001 3750 07 884 ana 1,dl  001173 0a 001176 6010 00 885 tnz parr odd no. bits  001174 aa 020000 2350 07 886 lda =o020000,dl set bit 22 of mbxwd  001175 0a 002151 2550 00 887 orsa mbxwd 001176 0a 001176 7100 00 888 parr: tra * return  889 "  890 "  001177 aa 000000 000000 891 pbit: oct 0 892 "********************************************************************** 893 " store 6000 mailbox word * 894 "********************************************************************** 001200 895 store_mbx_word: 001200 0a 001204 7470 00 896 stx7 m45r  001201 0a 001155 7070 00 897 tsx7 parity go gen parity on mailbox word 001202 0a 002151 2350 00 898 lda mbxwd  001203 0a 003040 7550 20 899 sta mbxptr,*  001204 0a 001204 7100 00 900 m45r: tra * return  901 "  902 "********************************************************************** 903 " set-up control words for a write to 355 cmd * 904 "********************************************************************** 001205 0a 001217 7470 00 905 dxfr: stx7 dxfrr  001206 0a 002151 4500 00 906 stz mbxwd zero mailbox word  001207 0a 001266 2350 16 907 lda dcwl,6 get correct control word  001210 0a 002151 7510 70 908 stca mbxwd,70 store adrs of ctrwd  001211 0a 003030 7510 07 909 stca ctrwd,07 store tally  001212 aa 000076 2360 07 910 ldq =o76,dl  001213 0a 002151 7520 01 911 stcq mbxwd,01  001214 0a 002151 2240 00 912 ldx4 mbxwd get adrs of data or buffer  001215 0a 003030 2350 00 913 lda ctrwd get control word  001216 aa 7 00000 7551 14 914 sta mem|0,4 store it  001217 0a 001217 7100 00 915 dxfrr: tra *  916 "********************************************************************** 917 " routine to build a list of pre-control words * 918 "********************************************************************** 001220 0a 001263 7470 00 919 cwbld: stx7 cwr 001221 aa 000000 2260 03 920 ldx6 0,du zero cw list to start 001222 0a 001266 4500 16 921 stz dcwl,6 001223 aa 000001 0260 03 922 adlx6 1,du 001224 aa 000040 1060 03 923 cmpx6 32,du done?  001225 0a 001222 6040 00 924 tmi *-3 no 001226 aa 000000 2260 03 925 ldx6 0,du  001227 0a 001265 4500 00 926 stz dao zero dcw offset  001230 0a 001264 4500 00 927 stz dcwcnt 001231 aa 010000 1030 03 928 dcwl.1: cmpx3 4096,du establish tally size  001232 0a 001245 6000 00 929 tze equ4k tal=4k 001233 0a 001253 6040 00 930 tmi les4k tal<4k 001234 aa 017777 6350 00 931 eaa otbuf-1 tal>4k 001235 0a 001265 0750 00 932 ada dao add adrs offset  001236 0a 003026 0350 00 933 adla buffer_base  001237 0a 001266 7550 16 934 sta dcwl,6 store updated adrs 001240 aa 010000 2350 03 935 lda 4096,du  001241 0a 001265 0550 00 936 asa dao incr dcw adrs offset  001242 aa 000001 0260 03 937 adlx6 1,du incr dcw count  001243 aa 010000 1230 03 938 sblx3 4096,du decr tally  001244 0a 001231 7100 00 939 tra dcwl.1 restart  940 "  001245 aa 017777 6350 00 941 equ4k: eaa otbuf-1 bfr base adrs  001246 0a 001265 0750 00 942 ada dao adrs offset  001247 0a 003026 0350 00 943 adla buffer_base  001250 0a 001266 7550 16 944 sta dcwl,6 store it  001251 aa 000001 0260 03 945 adlx6 1,du incr dcw count  001252 0a 001262 7100 00 946 tra out done  947 "  001253 aa 017777 6350 00 948 les4k: eaa otbuf-1 bfr base adrs  001254 0a 001265 0750 00 949 ada dao adrs off set  001255 0a 003026 0350 00 950 adla buffer_base  001256 0a 001266 7550 16 951 sta dcwl,6 adrs  001257 0a 001266 4430 16 952 sxl3 dcwl,6 tal  001260 aa 000001 0260 03 953 adlx6 1,du 001261 0a 001262 7100 00 954 tra out done  955 "  001262 0a 001264 7460 00 956 out: stx6 dcwcnt no. of dcw's  001263 0a 001263 7100 00 957 cwr: tra *  958 "  001264 aa 000000 000000 959 dcwcnt: oct 0  001265 aa 000000 000000 960 dao: oct 0  001266 961 dcwl: bss ,32  962 "********************************************************************** 963 " dia i/o routine * 964 "********************************************************************** 001326 0a 001335 7470 00 965 dio: stx7 dior  001327 0a 001334 7460 00 966 stx6 dio_save_x6  001330 0a 002002 7020 00 967 tsx2 check_fnp_status  001331 0a 003035 4500 00 968 stz simulated_interrupts  001332 aa 012272 7020 00 969 tsx2 connect_iom  001333 0a 002122 000000 970 vfd 18/diapcw  001334 971 dio_save_x6:  001334 aa 000000 6260 00 972 eax6 *-*  001335 0a 001335 7100 00 973 dior: tra * 974 "  001336 aa 000000 000000 975 comsts: oct 0  976 "  977 "********************************************************************** 978 " checks for lvl-7 interrupts * 979 " Although I changed this to level 3 for Multics - bsg  980 "********************************************************************** 001337 0a 001401 7470 00 981 ic: stx7 icr  001340 0a 001402 7460 00 982 stx6 ic_save_x6  001341 aa 6 01530 6331 20 983 rccl com|low_order_port,* read the clock  001342 0a 003042 7570 00 984 staq time_temp 001343 0a 003035 4500 00 985 stz simulated_interrupts  001344 0a 002002 7020 00 986 ic_loop: tsx2 check_fnp_status  001345 0a 003035 2350 00 987 lda simulated_interrupts  001346 aa 004040 3150 07 988 cana =o4040,dl Check for l3  001347 0a 001365 6010 00 989 tnz ic1 si occurred  001350 aa 6 01530 6331 20 990 rccl com|low_order_port,*  001351 0a 003042 1770 00 991 sbaq time_temp 001352 0a 003235 5060 00 992 div =1000000  001353 aa 000012 1160 07 993 cmpq 10,dl wait ten sec  001354 0a 001344 6040 00 994 tmi ic_loop  001355 aa 012241 7020 00 995 tsx2 erpt  001356 aa 025 116 157 040 996 acc "No response from DIA."  001357 aa 162 145 163 160 001360 aa 157 156 163 145 001361 aa 040 146 162 157 001362 aa 155 040 104 111 001363 aa 101 056 000 000 001364 0a 001777 7100 00 997 tra finish 998 "  001365 0a 003040 2350 20 999 ic1: lda mbxptr,* get mailbox word  001366 0a 001370 6010 00 1000 tnz ic2 error condition  001367 0a 001401 7100 00 1001 tra icr  001370 aa 012241 7020 00 1002 ic2: tsx2 erpt  001371 aa 030 120 162 157 1003 acc "Problem with DIA or FNP." 001372 aa 142 154 145 155 001373 aa 040 167 151 164 001374 aa 150 040 104 111 001375 aa 101 040 157 162 001376 aa 040 106 116 120 001377 aa 056 000 000 000 001400 0a 001777 7100 00 1004 tra finish 1005 "  001401 aa 000000 6270 00 1006 icr: eax7 *-*  001402 1007 ic_save_x6: 001402 aa 000000 6260 00 1008 eax6 *-*  001403 aa 000000 7100 17 1009 tra 0,7 return 1010  1011 " New better subr by BSG  1012  001404 0a 001407 7420 00 1013 dio_wait: stx2 diowait_x2  001405 0a 001326 7070 00 1014 tsx7 dio  001406 0a 001337 7070 00 1015 tsx7 ic  001407 1016 diowait_x2: 001407 aa 000000 7100 00 1017 tra *-*  1018 "  1019 "  1020 "********************************************************************** 1021 " send lvl-3 int. * 1022 " will cause pgm sent to 355 to execute. will wait * 1023 " while it executes & expect terminate when execution * 1024 " complete * 1025 "********************************************************************** 001410 0a 001514 7470 00 1026 l3: stx7 l3r  001411 aa 000371 2350 07 1027 lda =o371,dl set up int lvl & cmd  001412 0a 002151 7550 00 1028 sta mbxwd store in 6000 mbx word 001413 0a 001200 7070 00 1029 tsx7 store_mbx_word gen cmd parity & store mbx word  001414 0a 001326 7070 00 1030 tsx7 dio  001415 aa 6 01530 6331 20 1031 rccl com|low_order_port,*  001416 0a 003042 7570 00 1032 staq time_temp 001417 0a 002002 7020 00 1033 l3_loop: tsx2 check_fnp_status  001420 0a 003035 2350 00 1034 lda simulated_interrupts  001421 aa 000040 3150 07 1035 cana =o40,dl lvl-3  001422 0a 001514 6010 00 1036 tnz l3r  001423 aa 6 01530 6331 20 1037 rccl com|low_order_port,*  001424 0a 003042 1770 00 1038 sbaq time_temp 001425 0a 003235 5060 00 1039 div =1000000 wait for 10 sec 001426 aa 000012 1160 07 1040 cmpq 10,dl 001427 0a 001417 6040 00 1041 tmi l3_loop  001430 0a 002145 2340 00 1042 szn execin ecec in core?  001431 0a 001437 6000 00 1043 tze l32  001432 0a 001720 7070 00 1044 tsx7 rdidb lvl-3 not there..rd idb in 355  001433 0a 003047 2350 00 1045 lda idb+2  001434 aa 000007 3750 07 1046 ana 7,dl isolate request key  001435 aa 000005 1150 07 1047 cmpa 5,dl data error?  001436 0a 001465 6000 00 1048 tze de yes  001437 0a 002147 2350 00 1049 l32: lda testid 001440 aa 777700 3750 03 1050 ana =o777700,du  001441 0a 003232 2750 00 1051 ora =o000020202020 001442 0a 002155 7550 00 1052 sta temp  001443 aa 012241 7020 00 1053 tsx2 erpt  001444 aa 072 164 145 163 1054 acc "test ^g missing lvl-3 on data block xfer: reason not known"  001445 aa 164 040 136 147 001446 aa 040 155 151 163 001447 aa 163 151 156 147 001450 aa 040 154 166 154 001451 aa 055 063 040 157 001452 aa 156 040 144 141 001453 aa 164 141 040 142 001454 aa 154 157 143 153 001455 aa 040 170 146 145 001456 aa 162 072 040 162 001457 aa 145 141 163 157 001460 aa 156 040 156 157 001461 aa 164 040 153 156 001462 aa 157 167 156 000 001463 0a 002155 0000 00 1055 arg temp  001464 0a 001777 7100 00 1056 tra finish 1057 "  001465 0a 003025 0540 00 1058 de: aos ecount incr error count  001466 0a 003025 2350 00 1059 lda ecount 001467 aa 000004 1150 07 1060 cmpa 4,dl 3 times tried?  001470 0a 001476 6000 00 1061 tze de1 yes..output msg & go to wait  001471 0a 002330 6350 00 1062 eaa blkot no-resend  001472 aa 000076 2750 07 1063 ora =o76,dl  001473 0a 002151 7550 00 1064 sta mbxwd  001474 0a 001200 7070 00 1065 tsx7 store_mbx_word  001475 0a 001572 7100 00 1066 tra ioblk go resend data block  001476 aa 012241 7020 00 1067 de1: tsx2 erpt  001477 aa 056 063 040 164 1068 acc "3 tries at transfering data block..recall pgm."  001500 aa 162 151 145 163 001501 aa 040 141 164 040 001502 aa 164 162 141 156 001503 aa 163 146 145 162 001504 aa 151 156 147 040 001505 aa 144 141 164 141 001506 aa 040 142 154 157 001507 aa 143 153 056 056 001510 aa 162 145 143 141 001511 aa 154 154 040 160 001512 aa 147 155 056 000 001513 0a 001621 7100 00 1069 tra wait  1070  001514 0a 001514 7100 00 1071 l3r: tra * return 1072 "  1073 "  1074 "********************************************************************** 1075 " moves 308 word block of data to blkot * 1076 "********************************************************************** 001515 0a 002163 2360 00 1077 movda: ldq noio no of full block io's performed  001516 aa 002320 4020 07 1078 mpy 308*4,dl  001517 aa 0 00000 1005 06 1079 mlr (pr,ql),() 001520 aa 120000 002320 1080 desc9a tmp|otbuf,4*308 001521 0a 002330 002320 1081 desc9a blkot,4*308 001522 0a 002163 0540 00 1082 aos noio done..incr number of io's  001523 aa 000000 7100 17 1083 tra 0,7  1084 "********************************************************************** 1085 " determine no. io's * 1086 "********************************************************************** 001524 0a 001532 7470 00 1087 talit: stx7 talitr  001525 0a 002160 2360 00 1088 ldq tally get total tally  001526 aa 000022 7720 00 1089 qrl 18 position in ql 001527 aa 000464 5060 07 1090 div 308,dl will determine no. full block xfers  001530 0a 001264 7560 00 1091 stq dcwcnt block count  001531 0a 002164 7550 00 1092 sta talrem remainder is last io tally 001532 0a 001532 7100 00 1093 talitr: tra * return  1094 "********************************************************************** 1095 " this routine takes the testid, reads it from tape, converts * 1096 " it, sets up the required number of io's & transmits the pgm * 1097 " over to the 355 & finally kicks the 355 loader into execution * 1098 " after each io. when 355 sees xfer card it will execute test. * 1099 "********************************************************************** 001533 0a 001620 7470 00 1100 blkio: stx7 blkior save return adrs  001534 0a 002145 2340 00 1101 szn execin exec loaded?  001535 0a 001544 6000 00 1102 tze blk0 no-input 1500 buffer  001536 0a 003046 2350 00 1103 lda idb+1 yes-input iopkg indicated buffer adrs  001537 aa 000022 7350 00 1104 als 18 001540 aa 100000 2750 03 1105 ora =o100000,du char adrs  001541 0a 001556 7510 70 1106 stca blk2,70  001542 0a 001600 7510 70 1107 stca blk3,70  001543 0a 001547 7100 00 1108 tra blk1  1109 "  001544 aa 101500 2350 03 1110 blk0: lda =o101500,du  001545 0a 001556 7510 70 1111 stca blk2,70  001546 0a 001600 7510 70 1112 stca blk3,70  001547 0a 001264 4500 00 1113 blk1: stz dcwcnt  001550 0a 002163 4500 00 1114 stz noio  001551 0a 000534 7070 00 1115 tsx7 tpread read pgm from tape  001552 0a 001054 7070 00 1116 tsx7 fbc conversion routine  001553 0a 001524 7070 00 1117 tsx7 talit determine no. io's  001554 0a 001264 2340 00 1118 blkio1: szn dcwcnt done?  001555 0a 001575 6000 00 1119 tze remio yes..go see if remaining tally 001556 aa 101500 2350 03 1120 blk2: lda =o101500,du  001557 aa 000464 2750 07 1121 ora =o464,dl  001560 0a 002327 7550 00 1122 sta blkot_cw  001561 0a 002327 6350 00 1123 eaa blkot_cw io bfr adrs  001562 aa 000076 2750 07 1124 ora =o76,dl wrt cmd  001563 0a 003031 0750 00 1125 ada base  001564 0a 002151 7550 00 1126 sta mbxwd  001565 0a 001200 7070 00 1127 tsx7 store_mbx_word store mbxwd  001566 0a 001515 7070 00 1128 tsx7 movda move data to blkot  001567 0a 003025 4500 00 1129 stz ecount 001570 aa 000001 3360 07 1130 lcq 1,dl  001571 0a 001264 0560 00 1131 asq dcwcnt 001572 0a 001404 7020 00 1132 ioblk: tsx2 dio_wait  001573 0a 001410 7070 00 1133 tsx7 l3 send lvl-3 to kick ldr off  001574 0a 001554 7100 00 1134 tra blkio1 go see if more 1135 "  001575 0a 002164 2340 00 1136 remio: szn talrem partial block left?  001576 0a 001620 6000 00 1137 tze blkior no-return  001577 0a 002164 2350 00 1138 lda talrem send partial block 001600 aa 101500 2750 03 1139 blk3: ora =o101500,du  001601 0a 002327 7550 00 1140 sta blkot_cw  001602 0a 002163 2360 00 1141 ldq noio  001603 aa 002320 4020 07 1142 mpy 308*4,dl form offset  001604 0a 002164 2350 00 1143 lda talrem 001605 aa 000002 7350 00 1144 als 2 get word count in chars  001606 aa 0 00040 1005 46 1145 mlr (pr,ql,rl),(rl)  001607 aa 120000 000005 1146 desc9a tmp|otbuf,al  001610 0a 002330 000005 1147 desc9a blkot,al  001611 0a 002327 6350 00 1148 eaa blkot_cw 6000 mbxwd 001612 aa 000076 2750 07 1149 ora =o76,dl wrt cmd  001613 0a 003031 0750 00 1150 ada base  001614 0a 002151 7550 00 1151 sta mbxwd  001615 0a 001200 7070 00 1152 tsx7 store_mbx_word gen par & store 6000 mbx word 001616 0a 001404 7020 00 1153 tsx2 dio_wait  1154 "  001617 0a 001410 7070 00 1155 tsx7 l3 kick off loader with lvl-3  001620 0a 001620 7100 00 1156 blkior: tra * done-return 1157 "********************************************************************** 1158 " wait for special from dn355 to establish communications or * 1159 " special from operator pushing request. * 1160 "********************************************************************** 001621 0a 003035 4500 00 1161 wait: stz simulated_interrupts  001622 1162 wait_some_more: 001622 0a 002145 5540 00 1163 stc1 execin set exec in core flag 001623 0a 003236 2350 00 1164 lda =o10000000 001624 0a 003022 7550 00 1165 sta timout 001625 0a 002002 7020 00 1166 here: tsx2 check_fnp_status 001626 0a 003035 2350 00 1167 lda simulated_interrupts  001627 aa 004000 3150 07 1168 cana =o4000,dl use silly T&D convention  001630 0a 000336 6010 00 1169 tnz lvl7  001631 0a 003022 2350 00 1170 lda timout 001632 aa 000001 1350 07 1171 sbla 1,dl  001633 0a 003022 7550 00 1172 sta timout 001634 0a 001625 6050 00 1173 tpl here  001635 aa 012241 7020 00 1174 tsx2 erpt  001636 aa 030 163 164 151 1175 acc "still sleeping ........." 001637 aa 154 154 040 163 001640 aa 154 145 145 160 001641 aa 151 156 147 040 001642 aa 056 056 056 056 001643 aa 056 056 056 056 001644 aa 056 000 000 000 001645 0a 001622 7100 00 1176 tra wait_some_more 1177  1178 "********************************************************************** 1179 " come here when oper requests fnp_opts. *  1180 "********************************************************************** 001646 0a 003016 2340 00 1181 fnp_opt: szn p8586 if 85/86 in, must reload iopkg & an exec  001647 0a 001711 6000 00 1182 tze three_opt normal communications 001650 0a 003016 4500 00 1183 stz p8586 first zero 85/86 flag  001651 aa 012241 7020 00 1184 exreq: tsx2 erpt  001652 aa 103 155 165 163 1185 acc "must reload io pkg and exec. which exec do you want (ios or bos)..."  001653 aa 164 040 162 145 001654 aa 154 157 141 144 001655 aa 040 151 157 040 001656 aa 160 153 147 040 001657 aa 141 156 144 040 001660 aa 145 170 145 143 001661 aa 056 040 167 150 001662 aa 151 143 150 040 001663 aa 145 170 145 143 001664 aa 040 144 157 040 001665 aa 171 157 165 040 001666 aa 167 141 156 164 001667 aa 040 050 151 157 001670 aa 163 040 157 162 001671 aa 040 142 157 163 001672 aa 051 056 056 056 001673 aa 012247 7020 00 1186 tsx2 readtty  001674 0a 001651 7100 00 1187 tra exreq  001675 aa 012200 7020 00 1188 tsx2 scan  001676 aa 012040 2350 00 1189 lda arg  001677 0a 003220 1150 00 1190 cmpa =h bos  001700 0a 001704 6010 00 1191 tnz *+4 no 001701 0a 003225 2350 00 1192 lda =h200000 yes-put test no in exec  001702 0a 002161 7550 00 1193 sta exec  001703 0a 001716 7100 00 1194 tra three_opivl go load iopkg & bos  001704 0a 003221 1150 00 1195 cmpa =h ios  001705 0a 001651 6010 00 1196 tnz exreq no..incorrect input-ask again  001706 0a 003226 2350 00 1197 lda =hio0000 yes..go load iopkg & ios  001707 0a 002161 7550 00 1198 sta exec  001710 0a 001716 7100 00 1199 tra three_opivl go load 355  1200 "  001711 1201 three_opt:  001711 aa 000771 2350 07 1202 lda =o771,dl do lvl-7 int to 355  001712 0a 002151 7550 00 1203 sta mbxwd  001713 0a 001200 7070 00 1204 tsx7 store_mbx_word store 6000 mbx word  001714 0a 001326 7070 00 1205 tsx7 dio  001715 0a 001621 7100 00 1206 tra wait  1207 "********************************************************************** 1208 "  1209 "  001716 1210 three_opivl:  001716 0a 001734 7070 00 1211 tsx7 ivl set int cell & send loader  001717 0a 000264 7100 00 1212 tra rdioe load io pkg & exec 1213 "********************************************************************** 1214 " routine to read idb block from 355 * 1215 "********************************************************************** 001720 0a 001733 7470 00 1216 rdidb: stx7 rdidbr  001721 0a 003045 4500 00 1217 stz idb zero buffer  001722 0a 003046 4500 00 1218 stz idb+1  001723 0a 003047 4500 00 1219 stz idb+2  001724 0a 003237 2350 00 1220 lda =v18/idb,o18/75  001725 0a 003031 0750 00 1221 ada base  001726 0a 002151 7550 00 1222 sta mbxwd 6000 mbx word  001727 0a 001200 7070 00 1223 tsx7 store_mbx_word gen par & store it  001730 0a 003240 2350 00 1224 lda =o104004000002 355 control word  001731 0a 003045 7550 00 1225 sta idb  001732 0a 001404 7020 00 1226 tsx2 dio_wait Read 4 word IDB  001733 0a 001733 7100 00 1227 rdidbr: tra *  1228 "********************************************************************** 1229 " routine to set-up interrupt vector & xmit the loader * 1230 "********************************************************************** 001734 0a 001766 7470 00 1231 ivl: stx7 ivlr  001735 0a 003241 2350 00 1232 lda =o000334000777 vector 001736 0a 002330 7550 00 1233 sta blkot  001737 0a 003242 2350 00 1234 lda =o100062000001 001740 0a 002327 7550 00 1235 sta blkot_cw  001741 0a 003243 2350 00 1236 lda =v18/blkot_cw,o18/76 wrt cmd  001742 0a 003031 0750 00 1237 ada base  001743 0a 002151 7550 00 1238 sta mbxwd  001744 0a 001200 7070 00 1239 tsx7 store_mbx_word  001745 0a 001404 7020 00 1240 tsx2 dio_wait Send vector  001746 0a 002140 2350 00 1241 lda crldr loader id  001747 0a 002147 7550 00 1242 sta testid 001750 0a 000534 7070 00 1243 tsx7 tpread  001751 0a 002162 4500 00 1244 stz ldcon  001752 0a 001054 7070 00 1245 tsx7 fbc conversion routine  001753 0a 001220 7070 00 1246 tsx7 cwbld build "list" of control words 001754 aa 000000 2260 03 1247 ldx6 0,du  001755 0a 001264 2340 00 1248 ivl2: szn dcwcnt  001756 0a 001765 6000 00 1249 tze ivl3 done..go send lvl-3  001757 0a 001205 7070 00 1250 tsx7 dxfr build 355 cw & 6000 mbx word  001760 0a 001200 7070 00 1251 tsx7 store_mbx_word store 6000 mbx wd 001761 aa 000001 3360 03 1252 lcq 1,du  001762 0a 001264 0560 00 1253 asq dcwcnt 001763 0a 001404 7020 00 1254 tsx2 dio_wait send loader  001764 0a 001755 7100 00 1255 tra ivl2  001765 0a 001410 7070 00 1256 ivl3: tsx7 l3 send lvl-3 int to 355  1257 "  001766 0a 001766 7100 00 1258 ivlr: tra * return from whence thou cometh  1259  001767 1260 bad_fnp_tag:  001767 0a 002155 7550 00 1261 sta temp  001770 aa 012241 7020 00 1262 tsx2 erpt  001771 aa 023 111 156 166 1263 acc "Invalid FNP tag: ^g"  001772 aa 141 154 151 144 001773 aa 040 106 116 120 001774 aa 040 164 141 147 001775 aa 072 040 136 147 001776 0a 002155 0000 00 1264 arg temp  1265  001777 aa 000001 3350 07 1266 finish: lca 1,dl  002000 aa 000000 6220 00 1267 x2: eax2 *-*  002001 aa 7 00001 7101 12 1268 tra mem|1,2 return to setup  1269 "  002002 1270 check_fnp_status:  002002 0a 002020 7530 00 1271 sreg cfs_regs  002003 aa 012311 7020 00 1272 tsx2 check_special_status  002004 0a 003024 0000 00 1273 arg fnp_chan_info  002005 0a 002010 7100 00 1274 tra cfs_no_special 002006 aa 004000 2350 07 1275 lda =o4000,dl  002007 0a 003035 2550 00 1276 orsa simulated_interrupts  002010 1277 cfs_no_special:  002010 aa 012310 7020 00 1278 tsx2 check_status_no_stat  002011 0a 003024 0000 00 1279 arg fnp_chan_info  002012 0a 002016 7100 00 1280 tra cfn_exit no status yes  002013 aa 000000 0110 00 1281 nop 0  002014 aa 000040 2350 07 1282 lda =o40,dl  002015 0a 003035 2550 00 1283 orsa simulated_interrupts  002016 0a 002020 0730 00 1284 cfn_exit: lreg cfs_regs 002017 aa 000000 7100 12 1285 tra 0,2  1286  1287 eight  002020 1288 cfs_regs: bss ,8  1289  1290 "  1291 include conf355  4-1 "  4-2 " Begin include file ... conf355.incl.alm  4-3 "  4-4 "  4-5 " This subroutine will look for a datanet 355 configuration card and  4-6 " will extract the necessary information from it. There are three  4-7 " required fields on the d355 card. These are 355 tag(A-D), channel 4-8 " number(1-64), and iom tag(A-B). The iom tag is converted to an  4-9 " iom number. The calling sequence of this routine is:  4-10 "  4-11 " lda which_355  4-12 " tsx2 conf355 4-13 " tra error routine  4-14 " next instruction 4-15 "  4-16 "  4-17 "  002030 4-18 conf355: null  002030 0a 002131 7550 00 4-19 sta conf355n save which 355 we want config for  002031 0a 002130 7420 00 4-20 stx2 confx2 save return address  002032 aa 000044 7730 00 4-21 lrl 36 355 tag in Q  002033 0a 002134 2350 00 4-22 lda srcharg get search arg "d355" 002034 aa 012264 7020 00 4-23 tsx2 getconf search config data  002035 0a 002061 7100 00 4-24 tra conferr tra if not found  002036 aa 6 00001 1161 17 4-25 cmpq com|1,7 test 355 number  002037 aa 012265 6010 00 4-26 tnz getmore if not the one, try again 4-27  002040 aa 6 00002 2351 17 4-28 lda com|2,7 get iom tag field 002041 0a 002101 6040 00 4-29 tmi badiom none, error  002042 aa 000001 1750 07 4-30 sba 1,dl convert to iom number  002043 0a 002127 7550 00 4-31 sta iom_no save it  002044 aa 000006 7350 00 4-32 als 6 make room for channel number  002045 aa 6 00003 0751 17 4-33 ada com|3,7 get channel no  002046 0a 002077 6040 00 4-34 tmi badchan error check  002047 0a 002126 7510 01 4-35 stca iom_chan,01 store for connect 002050 aa 000033 7350 00 4-36 als 36-9 create a pcw 002051 0a 002123 7550 00 4-37 sta diapcw+1 ..  002052 0a 002125 7550 00 4-38 sta maskpcw+1 set up a mask pcw too  4-39  002053 0a 002131 2360 00 4-40 ldq conf355n get number  002054 aa 000001 1760 07 4-41 sbq 1,dl relative to zero 002055 aa 000300 4020 07 4-42 mpy 192,dl get mbx_offset 002056 0a 002133 7560 00 4-43 stq mbx_offset for later  4-44  002057 0a 002130 2220 00 4-45 ldx2 confx2 retrieve return address  002060 aa 000001 7100 12 4-46 tra 1,2 return  4-47  4-48  002061 0a 002132 2340 00 4-49 conferr: szn conf355err error switch on?  002062 0a 002075 6000 00 4-50 tze confexit no, skip error  002063 aa 012241 7020 00 4-51 tsx2 erpt print error message 002064 aa 040 146 156 160 4-52 acc 'fnp configuration card not found' 002065 aa 040 143 157 156 002066 aa 146 151 147 165 002067 aa 162 141 164 151 002070 aa 157 156 040 143 002071 aa 141 162 144 040 002072 aa 156 157 164 040 002073 aa 146 157 165 156 002074 aa 144 000 000 000 002075 4-53 confexit: null  002075 0a 002130 2220 00 4-54 ldx2 confx2 retrieve return address  002076 aa 000000 7100 12 4-55 tra 0,2 take error exit  4-56  002077 4-57 badchan: null  002077 0a 002121 6350 00 4-58 eaa chanmsg get addr of chan message  002100 0a 002102 7100 00 4-59 tra *+2  002101 4-60 badiom: null  002101 0a 002120 6350 00 4-61 eaa iommsg 002102 0a 002116 7550 00 4-62 sta errarg 002103 aa 012241 7020 00 4-63 tsx2 erpt  002104 aa 047 142 141 144 4-64 acc 'bad ^a number on fnp configuration card'  002105 aa 040 136 141 040 002106 aa 156 165 155 142 002107 aa 145 162 040 157 002110 aa 156 040 146 156 002111 aa 160 040 143 157 002112 aa 156 146 151 147 002113 aa 165 162 141 164 002114 aa 151 157 156 040 002115 aa 143 141 162 144 002116 0a 002116 0000 00 4-65 errarg: arg *  002117 0a 002075 7100 00 4-66 tra confexit take error exit  4-67  4-68  002120 aa 151 157 155 000 4-69 iommsg: aci 'iom'  002121 aa 143 150 141 156 4-70 chanmsg: aci 'chan' 4-71 even  002122 aa 000000 700000 4-72 diapcw: oct 000000700000,0 pcw to send to iom  002123 aa 000000 000000 002124 aa 000000 740000 4-73 maskpcw: oct 000000740000,0 mask pcw to send to iom 002125 aa 000000 000000 002126 aa 000000 000000 4-74 iom_chan: oct 0 channel number on iom  002127 aa 000000 000000 4-75 iom_no: oct 0 iom tag 002130 aa 000000 000000 4-76 confx2: oct 0  002131 4-77 conf355n:  002131 aa 000000 000000 4-78 oct 0  002132 4-79 conf355err: 002132 aa 000000 000000 4-80 oct 0  002133 4-81 mbx_offset: 002133 aa 000000 000000 4-82 oct 0  002134 aa 146 156 160 040 4-83 srcharg: aci 'fnp ' 4-84  4-85  4-86 " End include file ... conf355.incl.alm 1292 " ttls ** definitions & messages **  002135 aa 110 500 000 000 1293 vect: bci "950000"  002136 aa 110 600 000 000 1294 pft1: bci "960000"  002137 aa 110 700 000 000 1295 pft2: bci "970000"  002140 aa 111 000 000 000 1296 crldr: bci "980000" 002141 aa 111 100 000 000 1297 iopkg: bci "990000" 002142 aa 111 121 000 000 1298 bci "99a000" used to 355pkg 002143 aa 020 000 000 000 1299 bos: bci "200000"  002144 aa 314 600 000 000 1300 ios: bci "io0000"  002145 aa 000000 000000 1301 execin: oct 0  002146 aa 000000 000000 1302 past: oct 0 002147 aa 000000 000000 1303 testid: oct 0  002150 aa 000000 000000 1304 frec: oct 0 002151 aa 000000 000000 1305 mbxwd: oct 0  002152 aa 000000 000000 1306 time: oct 0 002153 aa 000000 000000 1307 tapeno: oct 0 002154 aa 000000 000000 1308 iomno: oct 0  002155 aa 000000 000000 1309 temp: oct 0 002156 aa 000000 000000 1310 work: oct 0 002157 aa 000000 000000 1311 delta: oct 0  002160 aa 000000 000000 1312 tally: oct 0  002161 aa 000000 000000 1313 exec: oct 0 002162 aa 000000 000000 1314 ldcon: oct 0  002163 aa 000000 000000 1315 noio: oct 0 002164 aa 000000 000000 1316 talrem: oct 0  1317  1318 " These two must be paired: crcw is a cw for crdbf  1319  002165 aa 000000 000000 1320 crcw: oct 0 002166 1321 crdbf: bss ,32 console input buffer  1322  1323 " Ditto.  1324  002226 aa 000000 000000 1325 ccw: oct 0  002227 1326 conb1: bss ,64  1327  1328 " Same here.  1329  002327 aa 000000 000000 1330 blkot_cw: oct 0 002330 1331 blkot: bss ,310 block buffer  1332  1333  003016 aa 000000 000000 1334 p8586: oct 0  003017 aa 000000 000000 1335 nxtst: oct 0  003020 aa 000000 000000 1336 wktal: oct 0  003021 aa 000000 000000 1337 ign: oct 0  003022 aa 000000 000000 1338 timout: oct 0  003023 aa 000000 000000 1339 oct 0 used to be 355cw  003024 1340 fnp_chan_info:  003024 aa 000000 000000 1341 oct 0  003025 aa 000000 000000 1342 ecount: oct 0  003026 1343 buffer_base:  003026 aa 000000 000000 1344 oct 0  003027 aa 000000 000000 1345 tty_chan: oct 0 003030 aa 000000 000000 1346 ctrwd: oct 0  003031 aa 000000 000000 1347 base: oct 0 003032 aa 000000 000000 1348 fnp_tag: oct 0  003033 aa 000000 000000 1349 fnp_iom: oct 0  003034 aa 000000 000000 1350 fnp_chn: oct 0  003035 1351 simulated_interrupts:  003035 aa 000000 000000 1352 oct 0  1353  1354 even  1355  003036 aa 130000 700000 1356 typcw: vfd 6/write_tty,6/0,6/0,o3/7,3/0,6/0,6/0 003037 aa 000000 000000 1357 oct 0  1358  003040 aa 700000 000041 1359 mbxptr: itp mem,*-* FNP mailbox ptr  003041 aa 000000 000000 003042 1360 time_temp:  003042 aa 000000 000000 1361 oct 0,0  003043 aa 000000 000000 1362  003044 0a 033227 000000 1363 tydcw: vfd 18/conb1+pgmorg,6/0,12/*-*  1364  003045 1365 idb: bss ,3 003050 1366 patch: bss ,100 1367 "  1368 include bos_tv 5-1 " 5-2 " Begin include file ...... bos_tv.incl.alm 5-3 " Created in November 1971 by N. I. Morris. 5-4 " Modified 9/9/76 by Noel I. Morris 5-5 " Modified by Sherman D. Sprague 02/11/81 for DPS8 support. 5-6 " Modified November 1981 by C. Hornig to remove iom_connect_rel.  5-7 " Modified January 1982 by J. Bongiovanni to add getport_info  5-8 " Modified May 1982 by Sherman D. Sprague to add getmpc.  5-9  5-10 " BOS Utility Package Transfer Vector.  5-11  012000 5-12 equ pagectl,utilorg  012001 5-13 equ line,pagectl+1 012040 5-14 equ arg,line+31  012060 5-15 equ darg,arg+arglen+1  012100 5-16 equ earg,darg+arglen+1 012120 5-17 equ fltscu,earg+arglen+1  5-18  012200 5-19 equ tv_org,utilorg+128 5-20  012200 5-21 equ scan,tv_org+0  012201 5-22 equ arg_count,tv_org+1 012202 5-23 equ nextline,tv_org+2  012203 5-24 equ nlraw,tv_org+3 012204 5-25 equ search,tv_org+4  012205 5-26 equ makefil,tv_org+5  012206 5-27 equ ldcom,tv_org+6 012207 5-28 equ getsec,tv_org+7  012210 5-29 equ cvinit,tv_org+8  012211 5-30 equ rdev,tv_org+9  012212 5-31 equ wdev,tv_org+10 012213 5-32 equ phybos,tv_org+11  012214 5-33 equ bosphy,tv_org+12  012215 5-34 equ phyadd,tv_org+13  012216 5-35 equ mulbos,tv_org+14  012217 5-36 equ bosmul,tv_org+15  012220 5-37 equ lookup_devmodel,tv_org+16  012221 5-38 equ makesdw,tv_org+17  012222 5-39 equ argbos,tv_org+18  012223 5-40 equ argmul,tv_org+19  012224 5-41 equ amdvt,tv_org+20  012225 5-42 equ amfirst,tv_org+21  012226 5-43 equ amlast,tv_org+22  012227 5-44 equ cvnamla,tv_org+23  012230 5-45 equ sect_per_cyl_list,tv_org+24  012231 5-46 equ sect_per_dev_list,tv_org+25  012232 5-47 equ rec_per_dev_list,tv_org+26 012233 5-48 equ amaxio,tv_org+27  012234 5-49 equ rdsec,tv_org+28  012235 5-50 equ wtsec,tv_org+29  012236 5-51 equ disk_brief,tv_org+30  012237 5-52 equ itaper,tv_org+31  012240 5-53 equ itapew,tv_org+32  012241 5-54 equ erpt,tv_org+33 012242 5-55 equ ercv,tv_org+34 012243 5-56 equ erbuf,tv_org+35  012244 5-57 equ type,tv_org+36 012245 5-58 equ ttyinit,tv_org+37  012246 5-59 equ readcd,tv_org+38  012247 5-60 equ readtty,tv_org+39  012250 5-61 equ getprt,tv_org+40  012251 5-62 equ punch,tv_org+41  012252 5-63 equ octwd,tv_org+42  012253 5-64 equ geas,tv_org+43 012254 5-65 equ geastab,tv_org+44  012255 5-66 equ asge,tv_org+45 012256 5-67 equ asgetab,tv_org+46  012257 5-68 equ ljust,tv_org+47  012260 5-69 equ rjust,tv_org+48  012261 5-70 equ bzel,tv_org+49 012262 5-71 equ stripa,tv_org+50  012263 5-72 equ stripg,tv_org+51  012264 5-73 equ getconf,tv_org+52  012265 5-74 equ getmore,tv_org+53  012266 5-75 equ getperiph,tv_org+54  012267 5-76 equ rdclock,tv_org+55  012270 5-77 equ cvclock,tv_org+56  012271 5-78 equ init_io,tv_org+57  012272 5-79 equ connect_iom,tv_org+58  012273 5-80 equ getmpc,tv_org+59  012274 5-81 equ check_status,tv_org+60 012275 5-82 equ get_special_interrupt,tv_org+61  012276 5-83 equ get_status_interrupt,tv_org+62 012277 5-84 equ xio_wait,tv_org+63 012300 5-85 equ initint,tv_org+64  012301 5-86 equ wantflt,tv_org+65  012302 5-87 equ intno,tv_org+66  012303 5-88 equ intrpts1,tv_org+67 012304 5-89 equ hexwd,tv_org+68  012305 5-90 equ find_disk,tv_org+69  012306 5-91 equ find_root,tv_org+70  012307 5-92 equ find_part,tv_org+71  012310 5-93 equ check_status_no_stat,tv_org+72 012311 5-94 equ check_special_status,tv_org+73 012312 5-95 equ check_cpu_type,tv_org+74  012313 5-96 equ getportinfo,tv_org+75  5-97  5-98 " End of include file ...... bos_tv.incl.alm  5-99  1369 include bos_common 6-1 "  6-2 " Begin include file ...... bos_common.incl.alm 6-3 " Modified on 8/31/76 by N. I. Morris  6-4 " Modified on 9/01/80 by Sherman D. Sprague for DPS8 operation  6-5 " Modified on 5/26/82 by Sherman D. Sprague to lengthen config size 6-6 " Modified on 3/01/83 by Sherman D. Sprague to lengthen dirlen  6-7 " MACHINE CONDITIONS AREA  6-8 " Its length is "storlen". 6-9  000000 6-10 equ amptwregs,0 Ass. Mem PTW registers  000100 6-11 equ amptwptr,64 Ass. Mem PTW pointers 000200 6-12 equ amsdwregs,128 Ass. Mem SDW registers  000400 6-13 equ amsdwptr,256 Ass. Mem SDW pointers  000500 6-14 equ ouhist,320 operations hist regs  000700 6-15 equ cuhist,448 control unit hist regs  001100 6-16 equ eishist,576 eis hist regs  001300 6-17 equ aphist,704 appending unit hist regs  001500 6-18 equ prs,832 pointer regs  001520 6-19 equ regs,848 sreg 001530 6-20 equ low_order_port,856 port to read clock from 001532 6-21 equ mctime,858 bootload memory clock  001540 6-22 equ scu,864  001550 6-23 equ mcm,872 memory masks 8 ports 001570 6-24 equ dbr,888  001572 6-25 equ intrpts,890 waiting interrupts 001573 6-26 equ bar,891 bar  001574 6-27 equ modereg,892 processor & cache mode registers  001576 6-28 equ faultreg,894 processor fault register  001600 6-29 equ ptrlen,896 pointer-lengths EIS 0 mod 8 001610 6-30 equ coreblocks,904 array of port information  6-31 " Bits 0-17 => num 1st 64-word block  6-32 " Bits 18-35 => num of 64-word blocks  6-33 " (-1) => no mem on this port  001620 6-34 equ lowport_cfg,912 Saved CFG from bootload SCU  6-35  002000 6-36 equ storlen,1024  6-37  6-38  6-39  6-40 " BOS COMMAND DIRECTORY 6-41 " Its length is "dirlen".  6-42  002000 6-43 equ dir,1024 ( 0-23) => sector # of first sector on BOS disk  6-44 " (24-35) => # of sectors in BOS common  002001 6-45 equ used,dir+1 ( 0-23) => # of next available sector on BOS disk  002002 6-46 equ useable,dir+2 ( 0-23) => first unavailable sector on BOS disk  002003 6-47 equ corearea,dir+3 ( 0-23) => starting sector of Multics core image  6-48 " (24-35) => # of sectors in Multics core image  002004 6-49 equ setuparea,dir+4 Sector and length of setup 002005 6-50 equ utilarea,dir+5 where utility package is kept  002010 6-51 equ iom_mxbase,dir+8 IOM IMW area address  002011 6-52 equ iom_mbbase,dir+9 IOM mailbox base  002012 6-53 equ bos_dvt,dir+10 BOS disk loc: (o3/iom,o6/chn,o9/drive,o18/devtype)  002013 6-54 equ unitgroup,dir+11 disk unitgroup (device no. or area no.)  002014 6-55 equ diskchanno,dir+12 channel to be used for disk  002015 6-56 equ tapechanno,dir+13 channel # for tapes  002016 6-57 equ rdrchanno,dir+14 channel number for card reader  002017 6-58 equ ttychanno,dir+15 channel # for operator's tty  002020 6-59 equ quietsw,dir+16 if on, don't print card and macro commands  002021 6-60 equ inputsw,dir+17 read from tty, cards, macros  002022 6-61 equ macroloc,dir+18 disk addr, buffer index of macro file  002023 6-62 equ fdump_state,dir+19 completion flag for last FDUMP  002024 6-63 equ d355_state,dir+20 = 1 if DataNet 355 loaded successfully  002025 6-64 equ skipsw,dir+21 if on, skip runcom lines 002026 6-65 equ ttypmtsw,dir+22 if on, prompt  002027 6-66 equ curtcmd,dir+23 current bos command 002030 6-67 equ readysw,dir+24 if on, print ready message  002032 6-68 equ cmdlst,dir+26 list of commands 6-69  000600 6-70 equ dirlen,384 6-71  6-72  6-73  6-74 " MACRO BUFFER AREA 6-75  002600 6-76 equ macrobuf,dir+dirlen io buffer for macro files 002700 6-77 equ macroline,macrobuf+64 runcom command line 002716 6-78 equ macroargs,macroline+14 argument descriptors for runcom  6-79  6-80  6-81  6-82 " CONFIGURATION CARD AREA  6-83 " Its length is 2048 words.  6-84  003000 6-85 equ conf,macrobuf+128 start of configuration info  007000 6-86 equ econf,conf+2048 end of configuration info  000020 6-87 equ confl,16 length of each line  6-88  6-89  007000 6-90 equ seg6length,econf length of bos_common area segment 6-91  6-92 " End of include file ...... bos_common.incl.alm  6-93  1370 end  LITERALS 003214 aa 777777 777777 003215 aa 202020 202021 003216 aa 202020 202030 003217 aa 204763 474227 003220 aa 202020 224662 003221 aa 202020 314662 003222 aa 202050 643163 003223 aa 100500 000000 003224 aa 100600 000000 003225 aa 020000 000000 003226 aa 314600 000000 003227 aa 171717 171717 003230 aa 000000 000500 003231 aa 204622 412523 003232 aa 000020 202020 003233 aa 000016 000200 003234 aa 000033 000100 003235 aa 000003 641100 003236 aa 000010 000000 003237 0a 003045 000075 003240 aa 104004 000002 003241 aa 000334 000777 003242 aa 100062 000001 003243 0a 002327 000076 NAME DEFINITIONS FOR ENTRY POINTS AND SEGDEFS 003244 5a 000003 000000 003245 5a 000017 600000 003246 aa 000000 000000 003247 55 000010 000002 003250 5a 000002 400003 003251 55 000006 000010 003252 aa 006 164 163 164 003253 aa 063 142 164 000 003254 55 000002 000003 003255 6a 000000 400002 003256 55 000013 000003 003257 aa 014 163 171 155 symbol_table  003260 aa 142 157 154 137 003261 aa 164 141 142 154 003262 aa 145 000 000 000 DEFINITIONS HASH TABLE  003263 aa 000000 000015 003264 aa 000000 000000 003265 aa 000000 000000 003266 aa 000000 000000 003267 aa 000000 000000 003270 aa 000000 000000 003271 aa 000000 000000 003272 5a 000010 000000 003273 aa 000000 000000 003274 aa 000000 000000 003275 aa 000000 000000 003276 aa 000000 000000 003277 aa 000000 000000 003300 aa 000000 000000 NO EXTERNAL NAMES  NO TRAP POINTER WORDS  TYPE PAIR BLOCKS  003301 aa 000001 000000 003302 aa 000000 000000 INTERNAL EXPRESSION WORDS 003303 aa 000000 000000 LINKAGE INFORMATION 000000 aa 000000 000000 000001 0a 003244 000000 000002 aa 000000 000000 000003 aa 000000 000000 000004 aa 000000 000000 000005 aa 000000 000000 000006 22 000010 000010 000007 a2 000000 000000 SYMBOL INFORMATION SYMBOL TABLE HEADER  000000 aa 000000 000001 000001 aa 163171 155142 000002 aa 164162 145145 000003 aa 000000 000004 000004 aa 000000 112143 000005 aa 305203 523135 000006 aa 000000 112272 000007 aa 233135 760262 000010 aa 141154 155040 000011 aa 040040 040040 000012 aa 000024 000040 000013 aa 000034 000040 000014 aa 000044 000100 000015 aa 000020 000002 000016 aa 000064 000000 000017 aa 000000 000467 000020 aa 000000 000212 000021 aa 000000 000452 000022 aa 000455 000212 000023 aa 000064 000000 000024 aa 101114 115040 000025 aa 126145 162163 000026 aa 151157 156040 000027 aa 040066 056066 000030 aa 040040 116157 000031 aa 166145 155142 000032 aa 145162 040061 000033 aa 071070 062040 000034 aa 110157 154155 000035 aa 163164 145144 000036 aa 164056 123171 000037 aa 163115 141151 000040 aa 156164 056141 000041 aa 040040 040040 000042 aa 040040 040040 000043 aa 040040 040040 000044 aa 154151 163164 000045 aa 040040 040040 000046 aa 040040 040040 000047 aa 040040 040040 000050 aa 040040 040040 000051 aa 040040 040040 000052 aa 040040 040040 000053 aa 040040 040040 000054 aa 040040 040040 000055 aa 040040 040040 000056 aa 040040 040040 000057 aa 040040 040040 000060 aa 040040 040040 000061 aa 040040 040040 000062 aa 040040 040040 000063 aa 040040 040040 000064 aa 000000 000001 000065 aa 000000 000007 000066 aa 000122 000027 000067 aa 122721 273156 000070 aa 000000 112272 000071 aa 216306 600000 000072 aa 000130 000040 000073 aa 113400 415301 000074 aa 000000 111341 000075 aa 220414 400000 000076 aa 000140 000037 000077 aa 122721 272761 000100 aa 000000 112272 000101 aa 214176 200000 000102 aa 000150 000040 000103 aa 077322 074066 000104 aa 000000 107733 000105 aa 111404 200000 000106 aa 000160 000041 000107 aa 043243 125745 000110 aa 000000 103730 000111 aa 106336 600000 000112 aa 000171 000040 000113 aa 110235 072677 000114 aa 000000 111024 000115 aa 524460 600000 000116 aa 000201 000044 000117 aa 121622 277475 000120 aa 000000 112162 000121 aa 321563 400000 000122 aa 076163 160145 >spec>h>3.17>tst3bt.alm 000123 aa 143076 150076 000124 aa 063056 061067 000125 aa 076164 163164 000126 aa 063142 164056 000127 aa 141154 155040 000130 aa 076154 144144 >ldd>bos>include>bosequ.incl.alm  000131 aa 076142 157163 000132 aa 076151 156143 000133 aa 154165 144145 000134 aa 076142 157163 000135 aa 145161 165056 000136 aa 151156 143154 000137 aa 056141 154155 000140 aa 076163 160145 >spec>h>3.17>bos_toequ.incl.alm 000141 aa 143076 150076 000142 aa 063056 061067 000143 aa 076142 157163 000144 aa 137164 157145 000145 aa 161165 056151 000146 aa 156143 154056 000147 aa 141154 155040 000150 aa 076154 144144 >ldd>bos>include>pt_equ.incl.alm  000151 aa 076142 157163 000152 aa 076151 156143 000153 aa 154165 144145 000154 aa 076160 164137 000155 aa 145161 165056 000156 aa 151156 143154 000157 aa 056141 154155 000160 aa 076154 144144 >ldd>bos>include>conf355.incl.alm  000161 aa 076142 157163 000162 aa 076151 156143 000163 aa 154165 144145 000164 aa 076143 157156 000165 aa 146063 065065 000166 aa 056151 156143 000167 aa 154056 141154 000170 aa 155040 040040 000171 aa 076154 144144 >ldd>bos>include>bos_tv.incl.alm  000172 aa 076142 157163 000173 aa 076151 156143 000174 aa 154165 144145 000175 aa 076142 157163 000176 aa 137164 166056 000177 aa 151156 143154 000200 aa 056141 154155 000201 aa 076154 144144 >ldd>bos>include>bos_common.incl.alm  000202 aa 076142 157163 000203 aa 076151 156143 000204 aa 154165 144145 000205 aa 076142 157163 000206 aa 137143 157155 000207 aa 155157 156056 000210 aa 151156 143154 000211 aa 056141 154155 MULTICS ASSEMBLY CROSS REFERENCE LISTING Value Symbol Source file Line number  20 absi bos_toequ: 75. 12233 amaxio bos_tv: 48. 12224 amdvt bos_tv: 41. 12225 amfirst bos_tv: 42. 12226 amlast bos_tv: 43. 100 amptwptr bos_common: 11. 0 amptwregs bos_common: 10. 400 amsdwptr bos_common: 13. 200 amsdwregs bos_common: 12. 1300 aphist bos_common: 17. 12040 arg tst3bt: 334, 594, 1189, bos_tv: 14, 15.  12222 argbos bos_tv: 39. 17 arglen tst3bt: 282, bosequ: 17, bos_tv: 15, 16, 17. 12223 argmul bos_tv: 40. 12201 arg_count bos_tv: 22. 12255 asge bos_tv: 66. 12256 asgetab bos_tv: 67. 133 askex tst3bt: 329, 332, 347. 46 back_space_record tst3bt: 29, 680, 744. 2077 badchan conf355: 34, 57.  2101 badiom conf355: 29, 60.  1767 bad_fnp_tag tst3bt: 272, 274, 1260. 1573 bar bos_common: 26. 3031 base tst3bt: 252, 542, 620, 1125, 1150, 1221, 1237, 1347.  1070 bcicd tst3bt: 819, 827.  2 bf bosequ: 9. 1077 bincd tst3bt: 821, 835.  1102 binl tst3bt: 838, 848.  1544 blk0 tst3bt: 1102, 1110.  1547 blk1 tst3bt: 1108, 1113.  1556 blk2 tst3bt: 1106, 1111, 1120. 1600 blk3 tst3bt: 1107, 1112, 1139. 1533 blkio tst3bt: 437, 444, 459, 467, 475, 1100.  1554 blkio1 tst3bt: 1118, 1134.  1620 blkior tst3bt: 1100, 1137, 1156. 2330 blkot tst3bt: 1062, 1081, 1147, 1233, 1331. 2327 blkot_cw tst3bt: 1122, 1123, 1140, 1148, 1235, 1236, 1330. 2143 bos tst3bt: 337, 1299.  12217 bosmul bos_tv: 36. 12214 bosphy bos_tv: 33. 20 bos_dbr bos_toequ: 95. 2012 bos_dvt bos_common: 53. 0 bos_pr bos_toequ: 82. 40000 bufend tst3bt: 23, 649.  3026 buffer_base tst3bt: 317, 933, 943, 950, 1343. 12261 bzel bos_tv: 70. 2226 ccw tst3bt: 530, 538, 541, 1325.  2016 cfn_exit tst3bt: 1280, 1284.  2010 cfs_no_special tst3bt: 1274, 1277.  2020 cfs_regs tst3bt: 1271, 1284, 1288. 2121 chanmsg conf355: 58, 70.  12312 check_cpu_type bos_tv: 95. 2002 check_fnp_status tst3bt: 967, 986, 1033, 1166, 1270. 12311 check_special_status tst3bt: 1272, bos_tv: 94. 12274 check_status tst3bt: 566, bos_tv: 81. 12310 check_status_no_stat tst3bt: 1278, bos_tv: 93. 2032 cmdlst bos_common: 68. 455 cn1a tst3bt: 557, 573.  6 com tst3bt: 261, 983, 990, 1031, 1037, bosequ: 14, conf355: 25, 28, 33. 1336 comsts tst3bt: 975. 2227 conb1 tst3bt: 523, 552, 574, 1326, 1363. 3000 conf bos_common: 85, 86.  2030 conf355 tst3bt: 292, conf355: 18. 2132 conf355err tst3bt: 290, conf355: 49, 79.  2131 conf355n conf355: 19, 40, 77. 2061 conferr conf355: 24, 49.  2075 confexit conf355: 50, 53, 66. 20 confl bos_common: 87. 2130 confx2 conf355: 20, 45, 54, 76.  12272 connect_iom tst3bt: 353, 563, 969, bos_tv: 79. 462 conrd tst3bt: 494, 585.  747 cont tst3bt: 700, 718, 750. 2003 corearea bos_common: 47. 1610 coreblocks bos_common: 30. 60000 coresaved bos_toequ: 43, 65.  1167 count tst3bt: 873, 880.  1 cow bos_toequ: 127. 1000 cowsav bos_toequ: 142. 377 cpwrt tst3bt: 492, 496, 521. 527 cr1 tst3bt: 571, 580, 632. 2165 crcw tst3bt: 614, 617, 618, 626, 1320. 2166 crdbf tst3bt: 604, 627, 1321. 2140 crldr tst3bt: 1241, 1296.  3030 ctrwd tst3bt: 364, 386, 409, 909, 913, 1346.  700 cuhist bos_common: 15. 2027 curtcmd bos_common: 66. 12270 cvclock bos_tv: 77. 12210 cvinit bos_tv: 29. 12227 cvnamla bos_tv: 44. 1220 cwbld tst3bt: 362, 384, 407, 919, 1246. 1263 cwr tst3bt: 919, 957.  2024 d355_state bos_common: 63. 710 daa tst3bt: 721, 731, 739. 1265 dao tst3bt: 926, 932, 936, 942, 949, 960.  12060 darg bos_tv: 15, 16.  623 datah tst3bt: 699. 645 datah1 tst3bt: 711, 717.  740 datah2 tst3bt: 713, 715, 743. 1570 dbr bos_common: 24. 1264 dcwcnt tst3bt: 366, 371, 388, 393, 411, 416, 927, 956, 959, 1091, 1113, 1118,  1131, 1248, 1253. 1266 dcwl tst3bt: 907, 921, 934, 944, 951, 952, 961. 1231 dcwl.1 tst3bt: 928, 939.  1465 de tst3bt: 1048, 1058.  1476 de1 tst3bt: 1061, 1067.  67 default_fnp_tag tst3bt: 270, 276.  2157 delta tst3bt: 645, 703, 704, 750, 755, 757, 1311. 167 denck tst3bt: 339, 344, 349. 576 devid bos_toequ: 140. 2122 diapcw tst3bt: 300, 970,  conf355: 37, 72.  1326 dio tst3bt: 635, 965, 1014, 1030, 1205. 1335 dior tst3bt: 965, 973.  1407 diowait_x2 tst3bt: 1013, 1016.  1334 dio_save_x6 tst3bt: 966, 971.  1404 dio_wait tst3bt: 372, 394, 417, 546, 628, 1013, 1132, 1153, 1226, 1240, 1254. 2000 dir bos_common: 43, 45, 46, 47, 49, 50, 51, 52, 53, 54, 55, 56,  57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 76. 1003 dirbase bos_toequ: 145. 600 dirlen bos_common: 70, 76.  2014 diskchanno bos_common: 55. 12236 disk_brief bos_tv: 51. 0 ds tst3bt: 312, bosequ: 7. 20 dseg bos_toequ: 96. 1205 dxfr tst3bt: 368, 390, 413, 905, 1250. 1217 dxfrr tst3bt: 905, 915.  12100 earg bos_tv: 16, 17.  7000 econf bos_common: 86, 90.  3025 ecount tst3bt: 1058, 1059, 1129, 1342.  1100 eishist bos_common: 16. 772 endrd tst3bt: 667, 778.  1245 equ4k tst3bt: 929, 941.  12243 erbuf bos_tv: 56. 12242 ercv bos_tv: 55. 12241 erpt tst3bt: 329, 500, 676, 727, 735, 784, 793, 798, 859, 995, 1002, 1053,  1067, 1174, 1184, 1262,  conf355: 51, 63,  bos_tv: 54. 2116 errarg conf355: 62, 65.  1026 error tst3bt: 684, 793.  2161 exec tst3bt: 338, 343, 441, 479, 1193, 1198, 1313. 2145 execin tst3bt: 428, 465, 474, 1042, 1101, 1163, 1301. 1651 exreq tst3bt: 1184, 1187, 1196. 1576 faultreg bos_common: 28. 1054 fbc tst3bt: 356, 383, 406, 814, 1116, 1245.  1117 fbcr tst3bt: 814, 831, 852. 1057 fbl tst3bt: 817, 825, 833, 849.  2023 fdump_state bos_common: 62. 5 fgb bosequ: 13. 12305 find_disk bos_tv: 90. 12307 find_part bos_tv: 92. 12306 find_root bos_tv: 91. 1777 finish tst3bt: 293, 310, 322, 346, 503, 596, 678, 862, 997, 1004, 1056, 1266.  2000 firmware_bit bosequ: 20. 12120 fltscu bos_tv: 17. 3024 fnp_chan_info tst3bt: 303, 1273, 1279, 1340.  3034 fnp_chn tst3bt: 1350. 3033 fnp_iom tst3bt: 1349. 1646 fnp_opt tst3bt: 256, 259, 1181. 3032 fnp_tag tst3bt: 280, 291, 1348. 45 forward_space_file tst3bt: 28, 763.  2150 frec tst3bt: 644, 699, 701, 778, 1304. 760 fsftry tst3bt: 719, 761, 770. 12253 geas bos_tv: 64. 12254 geastab bos_tv: 65. 12264 getconf conf355: 23, bos_tv: 73. 12265 getmore conf355: 26, bos_tv: 74. 12273 getmpc bos_tv: 80. 12266 getperiph bos_tv: 75. 12313 getportinfo bos_tv: 96. 12250 getprt bos_tv: 61. 12207 getsec bos_tv: 28. 12275 get_special_interrupt bos_tv: 82. 12276 get_status_interrupt bos_tv: 83. 6004 headform pt_equ: 12. 1625 here tst3bt: 1166, 1173.  12304 hexwd bos_tv: 89. 1337 ic tst3bt: 981, 1015.  1365 ic1 tst3bt: 989, 999.  1370 ic2 tst3bt: 1000, 1002.  1401 icr tst3bt: 981, 1001, 1006. 1344 ic_loop tst3bt: 986, 994.  1402 ic_save_x6 tst3bt: 982, 1007.  3045 idb tst3bt: 489, 508, 528, 531, 554, 607, 615, 1045, 1103, 1217, 1218, 1219,  1220, 1225, 1365. 3021 ign tst3bt: 527, 536, 547, 585, 612, 623, 1337. 1400 imbx bos_toequ: 67. 0 inbuf tst3bt: 21, 22, 647, 649, 652, 702, 817, 823, 828, 839.  20000 inbuflen tst3bt: 19, 22, 308. 12300 initint tst3bt: 255, bos_tv: 85. 6010 initprint tst3bt: 324, pt_equ: 15. 12271 init_io tst3bt: 257, bos_tv: 78. 2021 inputsw bos_common: 60. 12302 intno bos_tv: 87. 1572 intrpts bos_common: 25. 12303 intrpts1 bos_tv: 88. 1572 ioblk tst3bt: 1066, 1132.  2120 iommsg conf355: 61, 69.  2154 iomno tst3bt: 1308. 2126 iom_chan conf355: 35, 74.  2011 iom_mbbase bos_common: 52. 2010 iom_mxbase bos_common: 51. 2127 iom_no conf355: 31, 75.  2141 iopkg tst3bt: 434, 1297.  2144 ios tst3bt: 342, 1300.  12237 itaper tst3bt: 326, bos_tv: 52. 12240 itapew bos_tv: 53. 1734 ivl tst3bt: 429, 462, 470, 1211, 1231. 1755 ivl2 tst3bt: 1248, 1255.  1765 ivl3 tst3bt: 1249, 1256.  1766 ivlr tst3bt: 1231, 1258.  1410 l3 tst3bt: 397, 420, 1026, 1133, 1155, 1256.  1437 l32 tst3bt: 1043, 1049.  1514 l3r tst3bt: 1026, 1036, 1071. 1417 l3_loop tst3bt: 1033, 1041.  12206 ldcom tst3bt: 321, bos_tv: 27. 2162 ldcon tst3bt: 355, 382, 405, 436, 443, 458, 466, 473, 836, 843, 1244, 1314.  262 ldrs tst3bt: 428, 480.  1253 les4k tst3bt: 930, 948.  12001 line tst3bt: 575, 588, 591, 599, 603, bos_tv: 13, 14.  12257 ljust bos_tv: 68. 2000 lnbf bos_toequ: 57, 61, 104. 7000 lncom bos_toequ: 60, 63, 116, 136.  40 lnds bos_toequ: 54, 55, 98. 100 lnflagbox bos_toequ: 52, 113.  777777 lnmem bos_toequ: 45, 119.  27000 lnpgm bos_toequ: 65, 101.  10000 lnsetup bos_toequ: 48, 58, 107. 12220 lookup_devmodel bos_tv: 37. 1620 lowport_cfg bos_common: 34. 1530 low_order_port tst3bt: 983, 990, 1031, 1037,  bos_common: 20. 11 lpwr bos_toequ: 128. 336 lvl7 tst3bt: 488, 1169.  1204 m45r tst3bt: 896, 900.  2716 macroargs bos_common: 78. 2600 macrobuf bos_common: 76, 77, 85. 2700 macroline bos_common: 77, 78.  2022 macroloc bos_common: 61. 12205 makefil bos_tv: 26. 12221 makesdw tst3bt: 309, bos_tv: 38. 2124 maskpcw tst3bt: 354, conf355: 38, 73.  10000 maxw bos_toequ: 72. 1001 mbbasesav bos_toequ: 143. 575 mbxloc bos_toequ: 139. 3040 mbxptr tst3bt: 298, 899, 999, 1359.  2151 mbxwd tst3bt: 544, 621, 633, 872, 887, 898, 906, 908, 911, 912, 1028, 1064,  1126, 1151, 1203, 1222, 1238, 1305.  2133 mbx_offset tst3bt: 295, conf355: 43, 81.  1550 mcm bos_common: 23. 1532 mctime bos_common: 21. 7 mem tst3bt: 267, 268, 282, 914, 1268, 1359,  bosequ: 15. 1574 modereg bos_common: 27. 1515 movda tst3bt: 1077, 1128.  12216 mulbos bos_tv: 35. 1002 mxbasesav bos_toequ: 144. 12202 nextline bos_tv: 23. 12203 nlraw bos_tv: 24. 2163 noio tst3bt: 1077, 1082, 1114, 1141, 1315. 623 no_tape_error tst3bt: 660, 695.  3017 nxtst tst3bt: 447, 510, 515, 710, 745, 1335.  12252 octwd bos_tv: 63. 20000 origbf bos_toequ: 58, 61, 103. 22000 origcom bos_toequ: 61, 63, 115, 136.  7740 origds bos_toequ: 55, 97.  10020 origflagbox bos_toequ: 51, 112.  0 origmem bos_toequ: 46, 118.  31000 origpgm bos_toequ: 63, 64, 65, 100.  10000 origsetup bos_toequ: 49, 51, 55, 58, 106. 20000 otbuf tst3bt: 22, 23, 823, 840, 931, 941, 948, 1080, 1146. 1120 otside tst3bt: 824, 855.  500 ouhist bos_common: 14. 1262 out tst3bt: 946, 954, 956. 20000 outbuflen tst3bt: 20, 23, 308. 4000 ovflm bos_toequ: 76. 227 p1lp tst3bt: 388, 395.  237 p1lp1 tst3bt: 389, 397.  216 p1send tst3bt: 367, 379.  251 p2lp tst3bt: 411, 418.  261 p2lp2 tst3bt: 412, 420.  240 p2send tst3bt: 402. 3016 p8586 tst3bt: 468, 476, 1181, 1183, 1334. 12000 pagectl bos_tv: 12, 13.  1161 par1 tst3bt: 873, 878, 881. 1171 par2 tst3bt: 876, 883.  1155 parity tst3bt: 869, 897.  1176 parr tst3bt: 869, 885, 888. 2146 past tst3bt: 643, 720, 726, 731, 1302. 3050 patch tst3bt: 1366. 1177 pbit tst3bt: 871, 880, 883, 891.  0 pcw bos_toequ: 126. 2136 pft1 tst3bt: 379, 1294.  2137 pft2 tst3bt: 402, 1295.  3 pgm bosequ: 10. 31000 pgmorg tst3bt: 1363, bos_toequ: 64. 12215 phyadd bos_tv: 34. 12213 phybos bos_tv: 32. 6005 print pt_equ: 13. 6000 printon pt_equ: 8. 6011 print_edited tst3bt: 576, pt_equ: 16. 716 prob1 tst3bt: 707, 735.  275 prog tst3bt: 447, 511, 516, 746.  313 prog1 tst3bt: 451, 462.  323 prog2 tst3bt: 453, 470.  333 prog3 tst3bt: 455, 457, 478. 310 progn tst3bt: 448, 458.  1500 prs bos_common: 18. 6014 ptbfirst pt_equ: 17. 6006 ptblock pt_equ: 14. 6016 pthdr pt_equ: 19. 1600 ptrlen bos_common: 29. 6015 ptsegno pt_equ: 18. 6000 pt_org tst3bt: 320, pt_equ: 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19. 12251 punch bos_tv: 62. 2020 quietsw bos_common: 59. 12267 rdclock bos_tv: 76. 12211 rdev bos_tv: 30. 1720 rdidb tst3bt: 488, 1044, 1216. 1733 rdidbr tst3bt: 1216, 1227.  551 rdio tst3bt: 656, 665, 681. 264 rdioe tst3bt: 434, 1212.  773 rdout tst3bt: 642, 779.  367 rdpgm tst3bt: 498, 508.  2016 rdrchanno bos_common: 57. 12234 rdsec bos_tv: 49. 12246 readcd bos_tv: 59. 12247 readtty tst3bt: 331, 590, 737, 787, 800, 1186,  bos_tv: 60. 2030 readysw bos_common: 67. 547 read_more_tape tst3bt: 653, 758.  5 read_tape_binary tst3bt: 30, 658.  12232 rec_per_dev_list bos_tv: 47. 1520 regs bos_common: 19. 1575 remio tst3bt: 1119, 1136.  607 retry tst3bt: 675, 680.  70 rewind tst3bt: 27, 349, 732, 789, 803. 37 rewpu bos_toequ: 69, 98, 101, 104, 107, 113, 116, 119.  12260 rjust bos_tv: 69. 4000 runcom_bit bosequ: 19. 12200 scan tst3bt: 333, 593, 1188, bos_tv: 21. 1540 scu bos_common: 22. 14 scwr bos_toequ: 124. 12204 search bos_tv: 25. 12230 sect_per_cyl_list bos_tv: 45. 12231 sect_per_dev_list bos_tv: 46. 20 seg0 bos_toequ: 97. 22 seg1 bos_toequ: 100. 24 seg2 bos_toequ: 103. 26 seg3 bos_toequ: 106. 30 seg4 bos_toequ: 109. 32 seg5 bos_toequ: 112. 34 seg6 bos_toequ: 115. 7000 seg6length bos_common: 90. 36 seg7 bos_toequ: 118. 2004 setuparea bos_common: 49. 615 sfchk tst3bt: 663, 689.  3035 simulated_interrupts tst3bt: 968, 985, 987, 1034, 1161, 1167, 1276, 1283, 1351. 2025 skipsw bos_common: 64. 6003 space pt_equ: 11. 373 spec tst3bt: 509, 513.  2134 srcharg conf355: 22, 83.  40 start tst3bt: 250. 2 statq bos_toequ: 125. 1052 status_temp tst3bt: 661, 670, 689, 692, 795, 796, 807. 1200 store_mbx_word tst3bt: 369, 391, 414, 545, 622, 634, 895, 1029, 1065, 1127, 1152, 1204,  1223, 1239, 1251. 2000 storlen bos_common: 36. 12262 stripa bos_tv: 71. 12263 stripg tst3bt: 598, bos_tv: 72. 200 swaplen bos_toequ: 137, 139, 140, 141.  1524 talit tst3bt: 1087, 1117.  1532 talitr tst3bt: 1087, 1093.  2160 tally tst3bt: 851, 1088, 1312. 2164 talrem tst3bt: 1092, 1136, 1138, 1143, 1316. 2015 tapechanno bos_common: 56. 2153 tapeno tst3bt: 286, 327, 349, 658, 680, 732, 744, 763, 789, 803, 1307. 6001 tapeon pt_equ: 9. 2155 temp tst3bt: 499, 502, 725, 729, 783, 786, 858, 861, 1052, 1055, 1261, 1264, 1309. 2147 testid tst3bt: 351, 380, 403, 435, 442, 449, 464, 472, 478, 514, 716, 717,  722, 743, 780, 855, 1049, 1242, 1303. 1716 three_opivl tst3bt: 1194, 1199, 1210. 1711 three_opt tst3bt: 1182, 1201.  2152 time tst3bt: 1306. 3042 time_temp tst3bt: 984, 991, 1032, 1038, 1360. 3022 timout tst3bt: 1165, 1170, 1172, 1338.  1 tmp tst3bt: 312, 315, 647, 654, 705, 708, 751, 817, 828, 839, 840, 1080,  1146, bosequ: 8. 1000 toelen bos_toequ: 135, 139, 140, 141, 142, 143, 144, 145.  31000 toesaved bos_toequ: 136. 1154 tpdcw tst3bt: 864. 614 tperr tst3bt: 669, 672, 684, 691, 694. 536 tpr1 tst3bt: 644, 733, 765, 767, 771, 790, 804. 534 tpread tst3bt: 352, 381, 404, 642, 1115, 1243.  577 ttychan bos_toequ: 141. 2017 ttychanno tst3bt: 261, bos_common: 58. 12245 ttyinit tst3bt: 258, bos_tv: 58. 2026 ttypmtsw bos_common: 65. 446 ttyretry tst3bt: 563, 569.  3027 tty_chan tst3bt: 262, 567, 1345. 12200 tv_org bos_tv: 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,  32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,  44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,  56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,  68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,  80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,  92, 93, 94, 95, 96. 3044 tydcw tst3bt: 561, 564, 1363. 3036 typcw tst3bt: 264, 564, 1356. 12244 type bos_tv: 57. 2013 unitgroup bos_common: 54. 2002 useable bos_common: 46. 2001 used bos_common: 45. 2005 utilarea bos_common: 50. 12000 utilorg bosequ: 22, bos_tv: 12, 19.  2135 vect tst3bt: 350, 1293.  206 vlp tst3bt: 366, 373.  1621 wait tst3bt: 445, 460, 469, 477, 636, 730, 1069, 1161, 1206. 1622 wait_some_more tst3bt: 1162, 1176.  12301 wantflt bos_tv: 86. 12212 wdev bos_tv: 31. 3020 wktal tst3bt: 540, 550, 559, 1336.  2156 work tst3bt: 1310. 13 write_tty tst3bt: 32, 1356.  6002 wteof pt_equ: 10. 12235 wtsec bos_tv: 50. 2000 x2 tst3bt: 254, 266, 1267. 12277 xio_wait tst3bt: 349, 656, 680, 732, 744, 761, 789, 803,  bos_tv: 84. 4 xs1 bosequ: 11. 5 xs2 bosequ: 12. NO FATAL ERRORS  ----------------------------------------------------------- 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