1 /2 TD8E INITIALIZER PROGRAM, V7A 2 / 3 / 4 / 5 / 6 / 7 / 8 // 9 / 10 / 11 / 12 / 13 /COPYRIGHT (C) 1975, 1977 14 /DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. 15 / 16 / 17 / 18 /THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 19 /SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE INCLU- 20 /SION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR ANT OTHER 21 /COPIES THEREOF, MAY NOT BR PROVIDED OR OTHERWISE MADE AVAILABLE 22 /TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO 23 /AGREES TO THESE LICENSE TERMS. TITLE TO AND OWNERSHIP OF THE 24 /SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC. 25 / 26 / 27 /THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT 28 /NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 29 /EQUIPMRNT COROPATION. 30 / 31 /DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS 32 /SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 33 / 34 / 35 / 36 / 37 / 38 / 39 40 /DECEMBER 21, 1973 GB/RL/EF/SR 41 42 /ABSTRACT-- 43 / THE ROUTINE DESCRIBED AND LISTED HERE IS A GENERAL 44 /DATA HANDLER FOR THE TD8E DECTAPE SYSTEM. THE ROUTINE 45 /CONTAINS SEARCH, READ, AND WRITE FUNCTIONS IN A FORMAT 46 /WHICH IS COMPATIBLE WITH OS/8 DEVICE HANDLER CALLING 47 /SEQUENCES. 48 49 / EXPLANATION: 50 51 /THIS IS A SAVE FILE, WHICH MUST BE PLACED AS FILE # 1 52 /ON THE OS/8 BINARIES TAPE. (I.E. BLOCK 7) 53 /FOLLOWING IT MUST BE THE FOLLOWING FILES, EACH 50 (DEC) BLKS LONG: 54 /TDROM.SY 55 /TD12K.SY 56 / 57 /TO CREATE SPECIAL BLOCK 0 FOR THAT TAPE, START THIS PROGRAM AT 58 /LOCATION 200 AND FOLLOW INSTRUCTIONS. 59 60 /TO THEN PERFORM THE INITIALIZATION FROM THE LIBRARY TAPES, 61 /MERELY PLACE THE BINARY TAPE ON UNIT 0 AND BOOTSTRAP INTO IT. 62 /THEN FOLLOW INSTRUCTIONS. 63 64 /FILES TDROM.SY AND TD12K.SY ARE MERELY SYSTEM HEADS OF THE 65 /APPROPRIATE SYSTEMS, THEY MAY CONTAIN ANY HANDLERS. 66 67 /THE BLOCK 0 SPECIAL SECONDARY BOOTSTRAP READS IN THE FIRST 68 /3 PAGES OF TDINIT (WORDS 200-777) AND BRANCHES TO 'STARTUP'. 69 /THIS THEN READS IN THE REMAINDER OF TDINIT WITH ERROR CHECKING. 70 71 /CODE LOC BLOCK ON BINARY TAPE 72 73 /CCB 16,17 (THESE ARE DECTAPE BLOCK NUMBERS, NOT OS/8 RECORDS) 74 /0 20 SKIPPED BY BLOCK 0 75 /200 21 76 /400 22 77 /600 23 78 /1000 24 79 /1200 25 80 /1400 26 81 /1600 27 82 /2000 30 83 /2200 31 TDINIT MUST HAVE USEFUL PART END AT OS/8 RECORD 75 84 /7400 32,33 RECORD 15 CONTAINS IMAGE OF BLOCK 0 85 86 /FIXES SINCE FIELD-TEST RELEASE: 87 88 /1. FIXED BUG RE CLA ON RETRY AFTER ERROR 89 /2. ALLOWED FINAL BOOTSTRAP TO BE INTO A WRITE-LOCKED DEVICE 90 91 /OS/8 V3D CHANGES: 92 93 /3. FIXED BUG RE TD8E BUILD (V6B PATCH) 94 95 /THIS ROUTINE CAN BE RE-EDITED AND ASSEMBLED TO PRODUCE 96 /VARIATIONS ON THE BASIC TD8E SYSTEM. ASSEMBLY PARAMETERS 97 /CONTROL: 98 /A) WHAT DRIVES (UNITS 0-7) WILL BE USED 99 /B) THE ORIGIN OF THE TWO PAGE ROUTINE 100 /C) WHAT MEMORY FIELD THE ROUTINE WILL RUN IN 101 /D) THE SIZE OF THE DECTAPE BLOCK TO BE READ/WRITTEN 102 103 /FOLLOWING ARE THE PARAMETERS SET UP FOR THE STANDARD 104 /DEC VERSION OF THIS ROUTINE: 105 106 DRIVE=10 /UNITS 0 AND 1 SELECTED 107 ORIGIN=400 /ENTER AT ORIGIN, ORIGIN+4 108 AFIELD=0 /INITIAL FIELD SETTING 109 MFIELD=00 /AFIELD*10=MFIELD 110 WDSBLK=201 /129 WORDS PER BLOCK 111 112 /THE USE OF THE PARAMETERS IS AS FOLLOWS: 113 114 / DRIVE: DRIVE DETERMINES WHICH UNITS WILL BE SELECTED 115 / DRIVE=10 IMPLIES UNITS 0 &1 116 / DRIVE=20 IMPLIES UNITS 2&3 117 / DRIVE=30 IMPLIES UNITS 4&5 118 / DRIVE=40 IMPLIES UNITS 6&7 119 120 /ORIGIN: ALTERING ORIGIN CAUSES ASSEMBLY IN A DIFFERENT 121 / MEMORY LOCATION. WHEN CHANGING ORIGIN KEEP IN MIND 122 /THAT THIS IS A TWO PAGE ROUTINE. 123 124 /AFIELD: AFIELD DETERMINES THE INITIAL FIELD SETTING FOR THE 125 / LOADER. PERMISSIBLE VALUES FOR AFIELD ARE 0 TO 7. 126 127 /MFIELD: MFIELD IS USED IN A CIF CDF MFIELD INSTRUCTION. 128 / THE VALUE INSERTED FOR MFIELD SHOULD BE 10(8) TIMES 129 / THE VALUE FOR AFIELD. THE PERMISSIBLE VALUES ARE 00-70. 130 131 /WDSBLK: WDSBLK GOVERNS HOW MANY WORDS THE ROUTINE THINKS ARE 132 / IN A DECTAPE BLOCK. THE STANDARD VALUE IS 201(8) OR 133 / 128 DECIMAL. NOTE THAT THE FUNCTION WORD BIT 10 CAN 134 / BE USED TO SUBTRACT ONE FROM WDSBLK. THE VALUE USED 135 / FOR WDSBLK SHOULD BE THE NUMBER OF WORDS THE TAPE WAS 136 / FORMATTED TO CONTAIN. 137 138 /IF WE WANT A HANDLER FOR UNITS 2&3 TO RESIDE IN 139 /FIELD 2 AT LOCATION 3000 AND READ/WRITE 256(10) WORDS 140 /PER BLOCK, THE PARAMETERS WOULD BE: 141 / DRIVE=20 142 / ORIGIN=3000 143 / AFIELD=2 144 / MFIELD=20 145 / WDSBLK=400 146 /THE CALL TO THE SUBROUTINE FOLLOWS BASICALLY THE 147 /CALLING SEQUENCE FOR OS/8 DEVICE HANDLERS. 148 /THE CALLING SEQUENCE IS: 149 150 / CDF CURRENT 151 / CIF MFIELD /MFIELD=FIELD ASSEMBLED IN 152 / JMS ENTRY /ENTRY=ORIGIN (EVEN NUMBERED DRIVE 153 /AND ORIGIN+4 FOR ODD NUMBERED DRIVE. 154 / ARG1 155 / ARG2 156 / ARG3 157 / ERROR RETURN 158 / NORMAL RETURN 159 160 /THE ARGUMENTS ARE: 161 162 /ARG1: FUNCTION WORD BIT0: 0=READ, 1=WRITE 163 / BITS 1-5: # BLOCKS IN OPERATION 164 / BITS 6-8: FIELD OF BUFFER AREA 165 / BIT 9: UNUSED 166 / BIT 10: # OF WORDS/BLOCK. 167 / 0= WDSBLK, 1=WDSBLK-1 168 / BIT 11: 1=START FORWARD, 0=REVERSE 169 170 /ARG2: BUFFER ADDRESS FOR OPERATION 171 /ARG3: STARTING BLOCK FOR OPERATION 172 173 /ERRORS: THE HANDLER DETECTS TWO TYPES OF ERRORS: 174 /A) FATAL ERRORS- PARITY ERROR, TIMING ERROR, 175 / TOO GREAT A BLOCK NUMBER 176 / FATAL ERRORS TAKE ERROR RETURN WITH THE 177 / AC=4000. 178 /B) NON-FATAL- SELECT ERROR. 179 / IF NO PROPER UNIT IS SELECTED, THE ERROR 180 / RETURN IS TAKEN WITH CLEAR AC. 181 /FATAL ERRORS TRY THREE TIMES BEFORE TAKING ERROR RETURN. 182 /THE NORMAL RETURN IS TAKEN AFTER ALL INDICATED 183 /BLOCKS HAVE BEEN TRANSFERRED. THE AC IS CLEAR. 184 185 /THE TD8E IOT'S ARE: 186 SDSS=7001-DRIVE /SKIP ON SINGLE LINE FLAG 187 SDST=7002-DRIVE /SKIP ON TIMING ERROR 188 SDSQ=7003-DRIVE /SKIP ON QUAD LINE FLAG 189 SDLC=7004-DRIVE /LOAD COMMAND REGISTER 190 SDLD=7005-DRIVE /LOAD DATA REGISTER 191 SDRC=7006-DRIVE /READ COMMAND REGISTER 192 SDRD=7007-DRIVE /READ DATA REGISTER 193 194 /THE IOT'S IN GENERAL ARE 677X,676X,675X,AND 674X. 195 /THE OTHERS CONTROL UNITS 2-7. 196 INITLN=7 /LENGTH OF TDINIT INCLUDING BLOCK 0 IMAGE (IN BLOCKS) 197 CTRLO=20 198 INCHAR=21 199 TEMPA=22 200 201 000200 7200 ST, CLA /IN CASE CHAINED TO 202 000201 5777 JMP I (CREATE /CREATE BLOCK 0 -IN HOUSE ONLY - 203 000202 4776 STARTUP,JMS I (DTA0 /TD8E S.R. IS IN 200 NOW 204 000203 0603 603 /READ 3 BLOCKS INTO 1000-2377 205 000204 1000 1000 206 000205 0024 24 /GET REST OF INIT 207 000206 5346 JMP FERR /REALLY BAD! 208 000207 1375 TAD (SKP CLA 209 000210 3200 DCA ST /ALLOWS HIM TO RESTART AT 200 210 000211 4307 RE, JMS MSG 211 000212 1400 VNO 212 000213 4774 JMS I (CHKCOR /USE ROM OR 12K SYSTEM 213 000214 4307 JMS MSG 214 000215 1423 INIT 215 000216 4773 JMS I (MOVSYS 216 000217 4307 JMS MSG 217 000220 1635 SWTCH 218 000221 4275 JMS TTY /PAUSE 219 000222 1021 TAD INCHAR 220 000223 1372 TAD (-32 221 000224 7650 SNA CLA 222 000225 5771 JMP I (ZERO /HE TYPED ^Z 223 000226 4307 CPY, JMS MSG 224 000227 1755 COPY 225 000230 1370 TAD (160 226 000231 3237 DCA B1 227 000232 1370 TAD (160 228 000233 3244 DCA B2 229 000234 4776 RD, JMS I (DTA0 230 000235 3612 3612 231 000236 0000 0 232 000237 0000 B1, 0 233 000240 4767 JMS I (ER1 234 000241 4766 JMS I (DTA1 235 000242 7612 7612 236 000243 0000 0 237 000244 0000 B2, 0 238 000245 4767 JMS I (ER1 239 000246 1237 TAD B1 240 000247 1365 TAD (36 241 000250 3237 DCA B1 242 000251 1237 TAD B1 243 000252 3244 DCA B2 244 000253 1237 TAD B1 /COPY OVER ABOVE 2700 245 000254 1364 TAD (-2600 /*** 246 000255 7710 SPA CLA 247 000256 5234 JMP RD /KEEP GOING 248 000257 4776 JMS I (DTA0 /COPY DIRECTORY 249 000260 1412 1412 250 000261 0000 0 251 000262 0002 2 252 000263 4767 JMS I (ER1 253 000264 4766 JMS I (DTA1 254 000265 5412 5412 255 000266 0000 0 256 000267 0002 2 257 000270 4767 JMS I (ER1 258 000271 4307 RESTRT, JMS MSG 259 000272 1527 DISMNT /SETUP TAPES FOR INIT 260 000273 4275 JMS TTY 261 000274 5763 JMP I (BOOT 262 000275 0000 TTY, 0 263 000276 4307 JMS MSG 264 000277 1507 STRIKE 265 000300 6032 KCC 266 000301 6031 KSF 267 000302 5301 JMP .-1 268 000303 6036 KRB 269 000304 0362 AND (177 270 000305 3021 DCA INCHAR 271 000306 5675 JMP I TTY 272 273 000307 0000 MSG, 0 /MESSAGE TYPER 274 000310 3020 DCA CTRLO 275 000311 4761 JMS I (CRLF 276 000312 1707 TAD I MSG 277 000313 3022 DCA TEMPA 278 000314 2307 ISZ MSG 279 000315 1422 WTMSG, TAD I TEMPA 280 000316 7112 CLL RTR;RTR;RTR 000317 7012 000320 7012 281 000321 4326 JMS PNCH 282 000322 1422 TAD I TEMPA 283 000323 4326 JMS PNCH 284 000324 2022 ISZ TEMPA 285 000325 5315 JMP WTMSG 286 287 000326 0000 PNCH, 0 288 000327 0360 AND (77 289 000330 7450 SNA /IGNORE NULL. _ MEANS CR/LF 290 000331 5726 JMP I PNCH /? MEANS TERMINATE 291 000332 1357 TAD (-37 /IS IT _? 292 000333 7450 SNA 293 000334 4761 JMS I (CRLF /YES 294 000335 1356 TAD (-40 /MAYBE ? 295 000336 7450 SNA 296 000337 5707 JMP I MSG 297 000340 1355 TAD (40 298 000341 7510 SPA 299 000342 1354 TAD (100 300 000343 1353 TAD (237 301 000344 4752 JMS I (TTYOUT 302 000345 5726 JMP I PNCH 303 000346 7402 FERR, HLT 304 000347 7200 CLA 305 000350 5202 JMP STARTUP 306 000352 1125 PAGE 000353 0237 000354 0100 000355 0040 000356 7740 000357 7741 000360 0077 000361 1117 000362 0177 000363 1302 000364 5200 000365 0036 000366 0404 000367 1102 000370 0160 000371 1236 000372 7746 000373 1014 000374 1200 000375 7610 000376 0400 000377 1000 307 / THIS HANDLER USES DECTAPE BLOCKS NOT OS/8 BLOCKS ! 308 309 *ORIGIN 310 311 000400 0000 DTA0, 0 /ENTRY POINT FROM UNIT 0 312 000401 7300 CLA CLL /0 TO LINK 313 000402 5210 JMP DTA1X 314 000403 1000 C1000, 1000 315 BLOCK, 316 000404 0000 DTA1, 0 /UNIT 2 ENTRY 317 000405 7320 CLA CLL CML /1 TO LINK 318 000406 1204 TAD DTA1 319 000407 3200 DCA DTA0 /PICK UP ARGS AT DTA0 320 000410 7010 DTA1X, RAR 321 000411 3361 DCA UNIT /LINK TO UNIT POSITION 322 000412 6214 RDF 323 000413 1354 TAD C6203 /GET DATA FIELD AND SETUP RETURN 324 000414 3352 DCA LEAVE 325 000415 1600 TAD I DTA0 /GET FUNCTION WORD 326 000416 6775 SDLD /PUT FUNCTION INTO DATA REGISTER 327 000417 7112 CLL RTR /AC STILL HAS FUNCTION. PUT # WORDS PER 328 /BLOCK INTO LINK 329 000420 7630 SZL CLA /KNOCK ONE OFF WDSBLK? 330 000421 7001 IAC /YES 331 000422 1360 TAD MWORDS 332 000423 3356 DCA WCOUNT /STORE MASTER WORD COUNT 333 000424 2200 ISZ DTA0 /TO BUFFER 334 000425 1600 TAD I DTA0 335 000426 3357 DCA BUFF 336 000427 2200 ISZ DTA0 /TO BLOCK NUMBER 337 000430 1600 TAD I DTA0 338 000431 3204 DCA BLOCK 339 000432 2200 ISZ DTA0 /POINT TO ERROR EXIT 340 000433 6203 CIF CDF MFIELD /TO ROUTINES DATA FIELD 341 000434 6777 SDRD /GET FUNCTION INTO AC 342 000435 7104 CLL RAL 343 000436 0307 AND CM200 /GET # PAGES TO XFER 344 000437 3364 DCA PGCT 345 000440 6777 SDRD 346 000441 0374 C374, AND C70 /GET FIELD FOR XFER 347 000442 1354 TAD C6203 /FORM CDF N 348 000443 3377 DCA XFIELD /IF=0 AND DF=N AT XFER. 349 000444 7346 CLA CLL CMA RTL 350 000445 3367 DCA TRYCNT /3 ERROR TRIES 351 000446 1361 TAD UNIT /TEST FOR SELECT ERROR 352 000447 6774 SDLC 353 000450 6776 SDRC 354 000451 0366 AND C100 355 000452 7640 SZA CLA 356 000453 5346 JMP FATAL-1 357 000454 6777 SDRD /PUT FUNCT INTO XFUNCT IN SECOND PG. 358 000455 3762 DCA I CXFUN 359 000456 1356 TAD WCOUNT 360 000457 3765 DCA I CXWCT 361 000460 6777 SDRD /GET MOTION BIT TO LINK 362 000461 7110 CLL RAR 363 000462 5301 JMP GO /AND START THE MOTION. 364 000463 6772 RWCOM, SDST /ANY CHECKSUM ERRORS? 365 000464 7640 SZA CLA /OR CHECKSUM ERRORS? 366 000465 5341 JMP TRY3 /PLEASE NOTE THAT THE LINK IS ALWAYS 367 /SET AT RWCOM. GETCHK SETS IT. 368 000466 1364 TAD PGCT /NO ERROR..FINISHED XFER? 369 000467 1307 TAD CM200 370 000470 7450 SNA 371 000471 5345 JMP EXIT /ALL DONE. GET OUT 372 000472 3364 DCA PGCT /NEW PAGE COUNT 373 000473 2204 ISZ BLOCK /NEXT BLOCK TO XFER 374 000474 1356 TAD WCOUNT /FORM NEXT BUFFER ADDRESS 375 000475 7041 CIA 376 000476 1357 TAD BUFF 377 000477 3357 DCA BUFF 378 000500 7120 CLL CML /FORCES MOTION FORWARD 379 000501 7232 GO, CLA CML RTR /LINK BECOMES MOTION BIT 380 000502 1203 TAD C1000 381 000503 1361 TAD UNIT /PUT IN 'GO' AND UNIT # 382 000504 6774 SDLC /LOOK FOR BLOCK NO. 383 000505 4755 JMS I CRDQUD /WAIT AT LEAST 6 LINES TO LOOK 384 000506 4755 JMS I CRDQUD 385 000507 7600 CM200, 7600 /COULD HAVE SAVED A LOC. HERE 386 000510 6771 SRCH, SDSS 387 000511 5310 JMP .-1 /WAIT FOR SINGLE LINE FLAG 388 000512 6776 SDRC 389 000513 7106 CLL RTL /DIRECTION TO LINK. INFO BITS 390 /ARE SHIFTED. 391 000514 0241 AND C374 /ISOLATE MARK TRACK BITS 392 000515 1333 TAD M110 /IS IT END ZONE? 393 000516 7450 SNA /THE LINK STAYS SAME THRU THIS 394 000517 5335 JMP ENDZ 395 000520 1363 TAD M20 /CHECK FOR BLOCK MARK 396 000521 7640 SZA CLA 397 000522 5310 JMP SRCH 398 000523 6777 SDRD /GET THE BLOCK NUMBER 399 000524 7430 SZL /IF WE ARE IN REVERSE, LOOK FOR 3 400 /BLOCKS BEFORE TARGET BLOCK. THIS 401 /ALLOWS TURNAROUND AND UP TO SPEED. 402 000525 1375 TAD C3 /REVERSE 403 000526 7040 CMA 404 000527 1204 TAD BLOCK 405 000530 7040 CMA /IS IT RIGHT BLOCK? 406 000531 7450 SNA 407 000532 5370 JMP FOUND /YES..HOORAY! 408 000533 7670 M110, SZL SNA CLA /NO, BUT ARE WE HEADED FOR IT? 409 /ABOVE SNA IS SUPERFLUOUS. 410 000534 5310 JMP SRCH /YES 411 000535 6776 ENDZ, SDRC /WE ARE IN THE END ZONE 412 000536 7106 CLL RTL /DIRECTION TO LINK 413 000537 7200 CLA /ARE WE IN REVERSE? 414 000540 5301 JMP GO /YES..TURN US AROUND 415 /IF WE ARE IN THE END ZONE GOING FORWARD, IT IS AN ERROR 416 000541 7200 TRY3, CLA 417 000542 2367 ISZ TRYCNT 418 000543 5301 JMP GO /TRY 3 TIMES 419 000544 5347 JMP FATAL /LINK OFF MEANS AC=4000 ON RETURN 420 000545 2200 EXIT, ISZ DTA0 421 000546 7120 CLL CML /AC=0 ON NORMAL RETURN 422 000547 1361 FATAL, TAD UNIT 423 000550 6774 SDLC /STOP THE UNIT 424 000551 7230 CLA CML RAR 425 000552 7402 LEAVE, HLT 426 000553 5600 JMP I DTA0 427 428 000554 6203 C6203, 6203 429 000555 0715 CRDQUD, RDQUAD 430 000556 0000 WCOUNT, 0 431 000557 0000 BUFF, 0 432 000560 7577 MWORDS, -WDSBLK 433 000561 0000 UNIT, 0 434 000562 0755 CXFUN, XFUNCT 435 000563 7760 M20, -20 436 000564 0000 PGCT, 0 437 000565 0763 CXWCT, XWCT 438 000566 0100 C100, 100 439 000567 7775 TRYCNT, -3 440 441 442 *ORIGIN+170 443 000570 7630 FOUND, SZL CLA /RIGHT BLOCK. HOW ABOUT DIRECTION? 444 000571 5301 JMP GO /WRONG..TURN AROUND 445 000572 1361 TAD UNIT /PUT UNIT INTO LINK 446 000573 7104 CLL RAL /AC IS NOW 0 447 000574 0070 C70, 70 /********DON'T MOVE THIS!!!!****** 448 000575 0003 C3, 3 449 000576 1357 TAD BUFF /GET BUFFER ADDRESS 450 000577 7402 XFIELD, HLT /INTO NEXT PAGE 451 *ORIGIN+200 452 000600 6202 CIF MFIELD 453 000601 3362 DCA XBUFF /SAVE ADDRESS 454 000602 7010 RAR /NOW GET UNIT # 455 000603 3322 DCA XUNIT 456 000604 6776 SDRC 457 000605 6774 SDLC 458 000606 6771 REVGRD, SDSS 459 000607 5206 JMP .-1 /LOOK FOR REVERSE GUARD 460 000610 6776 SDRC 461 000611 0243 AND K77 462 000612 1356 TAD CM32 /IS IT REVERSE GUARD? 463 000613 7640 SZA CLA 464 000614 5206 JMP REVGRD /NO.KEEP LOOKING 465 000615 1363 TAD XWCT 466 000616 3361 DCA WORDS /WORD COUNTER 467 000617 1355 TAD XFUNCT /GET FUNCTION READ OR WRITE 468 000620 7700 K7700, SMA CLA 469 000621 5256 JMP READ /NEG. IS WRITE 470 000622 6776 WRITE, SDRC 471 000623 0270 AND C300 /CHECK FOR WRITE LOCK AND SELECT ERROR 472 000624 7120 CLL CML /LOCK OUT AND SELECT ARE AC 0 ERRORS 473 000625 7640 SZA CLA 474 000626 5753 JMP I CFATAL /FATAL ERROR. LINK MUST BE ON 475 000627 4315 JMS RDQUAD /NO ONE EVER USES THIS WORD! 476 000630 7600 C7600, 7600 477 000631 1357 TAD C1400 478 000632 1322 TAD XUNIT /INITIATE WRITE MODE 479 000633 6774 SDLC 480 000634 7240 CLA CMA 481 000635 4306 JMS WRQUAD /PUT 77 IN REVERSE CHECKSUM 482 000636 7240 CLA CMA 483 000637 3360 DCA CHKSUM 484 000640 1762 WRLP, TAD I XBUFF /GLORY BE! THE ACTUAL WRITE! 485 000641 4306 JMS WRQUAD 486 000642 2362 ISZ XBUFF /BUMP CORE POINTER 487 000643 0077 K77, 77 /ABOVE MAY SKIP 488 000644 2361 ISZ WORDS /DONE THIS BLOCK? 489 000645 5240 JMP WRLP /NOT YET..LOOP A WHILE 490 000646 1355 TAD XFUNCT /IS THE OPERATION FOR WDSBLK PER BLOCK? 491 000647 7112 CLL RTR /IF NO, WRITE A 0 WORD 492 000650 7630 SZL CLA 493 000651 4306 JMS WRQUAD /WRITE A WORD OF 0 494 000652 4337 JMS GETCHK /DO THE CHECK SUM 495 000653 4306 JMS WRQUAD /WRITE FORWARD CHECKSUM 496 000654 4306 JMS WRQUAD /ALLOW CHECKSUM TO BE WRITTEN 497 000655 5754 JMP I CRWCOM 498 000656 4315 READ, JMS RDQUAD 499 000657 4315 JMS RDQUAD 500 000660 4315 JMS RDQUAD /SKIP CONTROL WORDS 501 000661 0243 AND K77 502 000662 1220 TAD K7700 /TACK 7700 ONTO CHECKSUM. 503 000663 3360 DCA CHKSUM /CHECKSUM ONLY LOW 6 BITS ANYWAY 504 000664 4315 RDLP, JMS RDQUAD 505 000665 4322 JMS EQUFUN /COMPUT CHECKSUM AS WE GO 506 000666 3762 DCA I XBUFF /IT GETS CONDENSED LATER 507 000667 2362 ISZ XBUFF 508 000670 0300 C300, 300 /PROTECTION 509 000671 2361 ISZ WORDS /DONE THIS OP? 510 000672 5264 JMP RDLP /NO SUCH LUCK 511 000673 1355 TAD XFUNCT /IF OP WAS FOR WDSBLK-1, READ AND 512 000674 7112 CLL RTR /CHECKSUM THE LAST TAPE WORD 513 000675 7620 SNL CLA 514 000676 5301 JMP RDLP2 515 000677 4315 JMS RDQUAD /NOT NEEDED FOR WDSBLK/BLOCK 516 000700 4322 JMS EQUFUN /CHECKSUM IT 517 000701 4315 RDLP2, JMS RDQUAD /READ CHECKSUM 518 000702 0220 AND K7700 519 000703 4322 JMS EQUFUN 520 000704 4337 JMS GETCHK /GET SIX BIT CHECKSUM 521 000705 5754 JMP I CRWCOM 522 523 000706 0000 WRQUAD, 0 /WRITE OUT A 12 BIT WORD 524 000707 4322 JMS EQUFUN /ADD THIS TO CHECKSUM 525 000710 6773 SDSQ /SKIP ON QUADLINE FLAG 526 000711 5310 JMP .-1 527 000712 6775 SDLD /LOAD DATA ONTO BUS 528 000713 7200 CLA /SDLD DOESN'T CLEAR AC 529 000714 5706 JMP I WRQUAD 530 531 000715 0000 RDQUAD, 0 /READ A 12 BIT WORD 532 000716 6773 SDSQ 533 000717 5316 JMP .-1 534 000720 6777 SDRD /READ DATA 535 000721 5715 JMP I RDQUAD 536 537 XUNIT, 538 000722 0000 EQUFUN, 0 /COMPUTE EQUIVALENCE CHECKSUM 539 000723 7040 CMA 540 000724 3364 DCA EQUTMP /ACTUALLY CHECKSUMS ON DECTAPE ARE 541 000725 1364 TAD EQUTMP /EQUIVALENCE OF ALL WORDS IN A RECORD 542 000726 0360 AND CHKSUM /SIX BITS AT A TIME. BUT SINCE EQUIVALENCE 543 000727 7041 CIA /IS ASSOCIATIVE, WE CAN DO IT 12 544 000730 7104 CLL RAL /BITS AT A TIME AND CONDENSE LATER. 545 000731 1364 TAD EQUTMP /THIS ROUTINE USES THESE IDENTITIES: 546 000732 1360 TAD CHKSUM /A+B=(A.XOR.B)+2*(A.AND.B) 547 000733 3360 DCA CHKSUM /A.EQU.B=.NOT.(A.XOR.B)=A.XOR.(.NOT.B) 548 000734 1364 TAD EQUTMP /A.EQU.B=(A+(.NOT.B))-2*(A.AND.(.NOT.B)) 549 000735 7040 CMA 550 000736 5722 JMP I EQUFUN 551 552 000737 0000 GETCHK, 0 /FORM 6 BIT CHECKSUM 553 000740 7200 CLA 554 000741 1360 TAD CHKSUM 555 000742 7040 CMA 556 000743 7106 CLL RTL 557 000744 7006 RTL 558 000745 7006 RTL 559 000746 4322 JMS EQUFUN 560 000747 7320 CLA CLL CML /FORCES LINK ON AT RWCOM 561 000750 1360 TAD CHKSUM 562 000751 0220 AND K7700 563 000752 5737 JMP I GETCHK 564 565 000753 0547 CFATAL, FATAL 566 000754 0463 CRWCOM, RWCOM 567 000755 0000 XFUNCT, 0 568 000756 7746 CM32, -32 569 000757 1400 C1400, 1400 570 000760 0000 CHKSUM, 0 571 000761 0000 WORDS, 0 572 000762 0000 XBUFF, 0 573 000763 0000 XWCT, 0 574 000764 0000 EQUTMP, 0 575 000765 0226 TBL, CPY 576 000766 1260 ZER 577 000767 1270 LVAL 578 PAGE 579 001000 4777 CREATE, JMS I (MSG 580 001001 1733 WRITOUT 581 001002 4776 JMS I (TTY 582 001003 4775 JMS I (DTA1 583 001004 4202 4202 584 001005 7400 7400 585 001006 0000 0 586 001007 4302 JMS ER1 587 001010 4777 JMS I (MSG 588 001011 1731 OK 589 001012 7402 HLT 590 001013 5774 JMP I (7605 591 ROMSW=17 592 593 /THIS ROUTINE COPIES THE SYSTEM ONTO UNIT 1. 594 /IT COPIES FROM A SYSTEM HEAD FILE ON TAPE ON UNIT 0. 595 /UNIT 0 MUST BE THE OS/8 BINARIES TAPE 596 /1ST FILE: TDINIT.PA 597 /2ND FILE: TDROM.SY 598 /3RD FILE: TD12K.SY 599 600 001014 0000 MOVSYS, 0 601 001015 4776 JMS I (TTY 602 001016 1017 TAD ROMSW /GET ADDRESS OF START OF SYSTEM HEAD 603 001017 7650 SNA CLA 604 001020 1373 TAD (62^2 /12 K 605 001021 1372 TAD (7+INITLN^2 /ROM 606 001022 3226 DCA HEAD 607 001023 4771 JMS I (DTA0 /READ PAGE 0 608 001024 0212 212 609 001025 0000 0 610 001026 7402 HEAD, HLT 611 001027 4302 JMS ER1 612 001030 6211 CDF 10 613 001031 1770 TAD I (200 614 001032 6201 CDF 0 615 001033 1367 TAD (-4207 /CHECK FOR GOOD SYSTEM HEAD 616 001034 7640 SZA CLA 617 001035 5276 JMP WRGSYS 618 001036 4775 JMS I (DTA1 619 001037 4212 4212 620 001040 0000 0 621 001041 0000 0 622 001042 4302 JMS ER1 623 001043 7326 STL CLA RTL /2 624 001044 1226 TAD HEAD 625 001045 3251 DCA KBM 626 001046 4771 JMS I (DTA0 627 001047 0012 0012 /READ 40 SYSTEM BLOCKS 7-26 (PAGES 16-55) 628 001050 0000 0 629 001051 7402 KBM, HLT 630 001052 4302 JMS ER1 631 001053 4775 JMS I (DTA1 632 001054 4012 4012 633 001055 0000 0 634 001056 0016 7^2 /WRITE KBM ETC 635 001057 4302 JMS ER1 636 001060 1226 TAD HEAD 637 001061 1366 TAD (43^2 638 001062 3266 DCA CD 639 001063 4771 JMS I (DTA0 640 001064 3613 3613 /READ 51-67 (PAGES 122-157) 641 001065 0000 0 642 001066 7402 CD, HLT 643 001067 4302 JMS ER1 644 001070 4775 JMS I (DTA1 645 001071 7613 7613 646 001072 0000 0 647 001073 0122 43+6^2 648 001074 4302 JMS ER1 649 001075 5614 JMP I MOVSYS 650 001076 4777 WRGSYS, JMS I (MSG 651 001077 2041 WRONG 652 001100 4776 JMS I (TTY 653 001101 5765 JMP I (CPY 654 655 001102 0000 ER1, 0 656 001103 7200 CLA 657 001104 4777 JMS I (MSG 658 001105 2130 IOERR 659 001106 4776 JMS I (TTY 660 001107 1764 TAD I (INCHAR 661 001110 1363 TAD (-101 662 001111 7650 SNA CLA /A? 663 001112 5762 JMP I (RE /YES, ABORT 664 001113 1302 TAD ER1 665 001114 1361 TAD (-5 666 001115 3302 DCA ER1 /BACK UP, POINT TO CALL 667 001116 5702 JMP I ER1 /RETRY 668 669 001117 0000 CRLF, 0 670 001120 1360 TAD (215 671 001121 4325 JMS TTYOUT 672 001122 1357 TAD (212 673 001123 4325 JMS TTYOUT 674 001124 5717 JMP I CRLF 675 676 001125 0000 TTYOUT, 0 677 001126 3341 DCA TM 678 001127 4756 JMS I (TSTKBD 679 001130 1020 TAD CTRLO 680 001131 7640 SZA CLA 681 001132 5725 JMP I TTYOUT 682 001133 1341 TAD TM 683 001134 6046 TLS 684 001135 6041 TSF 685 001136 5335 JMP .-1 686 001137 7200 CLA 687 001140 5725 JMP I TTYOUT 688 001141 0000 TM, 0 689 001156 2317 PAGE 001157 0212 001160 0215 001161 7773 001162 0211 001163 7677 001164 0021 001165 0226 001166 0106 001167 3571 001170 0200 001171 0400 001172 0034 001173 0144 001174 7605 001175 0404 001176 0275 001177 0307 690 001200 0000 CHKCOR, 0 /DETERMINE CONFIGURATION 691 001201 6271 CDF 70 /CHECK FOR ROM 692 001202 1777 TAD I (7503 693 001203 1376 TAD (-SDSS 694 001204 7640 SZA CLA 695 001205 5215 JMP TRY12K 696 001206 6201 CDF 0 697 001207 4775 JMS I (MSG 698 001210 2101 ROM8K 699 001211 7201 CLA IAC 700 001212 3017 ENTR12, DCA ROMSW /SET INDICATOR 701 001213 6201 CDF 0 702 001214 5600 JMP I CHKCOR 703 001215 6221 TRY12K, CDF 20 704 001216 1212 TAD ENTR12 705 001217 3774 DCA I (7600 706 001220 1774 TAD I (7600 707 001221 7041 CIA 708 001222 1212 TAD ENTR12 709 001223 6201 CDF 0 710 001224 7650 SNA CLA 711 001225 5232 JMP OK12 712 001226 4775 JMS I (MSG 713 001227 2117 HRDWR /NO HARDWARE AROUND! 714 001230 7402 HLT 715 001231 5230 JMP .-1 716 001232 4775 OK12, JMS I (MSG 717 001233 2111 TD8E12 718 001234 5212 JMP ENTR12 719 001235 0000 IN, 0 720 721 001236 4775 ZERO, JMS I (MSG 722 001237 2215 SPECIAL 723 001240 4773 JMS I (TTY 724 001241 1021 TAD INCHAR 725 001242 1372 TAD (-62 726 001243 3235 DCA IN 727 001244 1235 TAD IN 728 001245 7510 SPA 729 001246 7041 CIA 730 001247 7110 CLL RAR /ALLOW ONLY -1, 0, 1 731 001250 7640 SZA CLA 732 001251 5237 JMP ZERO+1 733 001252 1235 TAD IN 734 001253 1371 TAD (TBL+1 735 001254 3235 DCA IN 736 001255 1635 TAD I IN 737 001256 3235 DCA IN 738 001257 5635 JMP I IN /JUMP TO APPROPRIATE ROUTINE 739 740 001260 4775 ZER, JMS I (MSG 741 001261 2000 ZERY 742 001262 4770 JMS I (DTA1 743 001263 4202 4202 744 001264 1273 MTDIR 745 001265 0002 2 746 001266 4767 JMS I (ER1 747 001267 5766 JMP I (RESTRT 748 749 001270 4775 LVAL, JMS I (MSG 750 001271 2021 PRES 751 001272 5766 JMP I (RESTRT 752 001273 7777 MTDIR, -1 753 001274 0070 70 /SYSTEM TAPE 754 001275 0000 0 755 001276 0000 0 756 001277 7777 -1 /1 EMPTY FILE 757 001300 0000 0 758 001301 6527 6437+70 /-LENGTH OF DECTAPE 759 760 001302 1017 BOOT, TAD ROMSW 761 001303 7650 SNA CLA 762 001304 5316 JMP TDBOOT 763 001305 4765 JMS I (DTA0 /ROM BOOT 764 001306 0202 202 765 001307 7400 7400 766 001310 0000 0 /READ IN BLOCK 0 767 001311 4767 JMS I (ER1 768 001312 1364 TAD (CDF 10 769 001313 4337 JMS MOVE 770 001314 7400 7400 771 001315 5763 JMP I (7605 772 773 001316 4765 TDBOOT, JMS I (DTA0 774 001317 0202 202 775 001320 7400 7400 776 001321 0000 0 777 001322 4767 JMS I (ER1 778 001323 4765 JMS I (DTA0 779 001324 0202 202 780 001325 7000 7000 781 001326 0154 66^2 782 001327 4767 JMS I (ER1 783 001330 1364 TAD (CDF 10 784 001331 4337 JMS MOVE 785 001332 7000 7000 786 001333 1362 TAD (CDF 20 787 001334 4337 JMS MOVE 788 001335 7200 7200 789 001336 5763 JMP I (7605 790 XRIN=11 791 XROUT=12 792 793 001337 0000 MOVE, 0 794 001340 3352 DCA MOVCDF 795 001341 7240 STA 796 001342 1737 TAD I MOVE 797 001343 3011 DCA XRIN 798 001344 1374 TAD (-200 /MOVE 200 WORDS TO LOCATION 7600 799 001345 3360 DCA MVCNT 800 001346 2337 ISZ MOVE 801 001347 1361 TAD (7577 802 001350 3012 DCA XROUT 803 001351 1411 MOVLUP, TAD I XRIN 804 001352 7402 MOVCDF, HLT 805 001353 3412 DCA I XROUT 806 001354 6201 CDF 0 807 001355 2360 ISZ MVCNT 808 001356 5351 JMP MOVLUP 809 001357 5737 JMP I MOVE 810 811 001360 7600 MVCNT, -200 812 001361 7577 PAGE 001362 6221 001363 7605 001364 6211 001365 0400 001366 0271 001367 1102 001370 0404 001371 0766 001372 7716 001373 0275 001374 7600 001375 0307 001376 1007 001377 7503 813 001400 2404 VNO, TEXT /TD8E INITIALIZER PROGRAM VERSION 7A ?/ 001401 7005 001402 4011 001403 1611 001404 2411 001405 0114 001406 1132 001407 0522 001410 4020 001411 2217 001412 0722 001413 0115 001414 4026 001415 0522 001416 2311 001417 1716 001420 4067 001421 0140 001422 7700 814 001423 1517 INIT, TEXT /MOUNT A CERTIFIED DECTAPE ON UNIT 1 WRITE-ENABLED_/ 001424 2516 001425 2440 001426 0140 001427 0305 001430 2224 001431 1106 001432 1105 001433 0440 001434 0405 001435 0324 001436 0120 001437 0540 001440 1716 001441 4025 001442 1611 001443 2440 001444 6140 001445 2722 001446 1124 001447 0555 001450 0516 001451 0102 001452 1405 001453 0437 001454 0000 815 001455 0114 TEXT /ALWAYS KEEP ORIGINAL SYSTEM DECTAPES WRITE-LOCKED?/ 001456 2701 001457 3123 001460 4013 001461 0505 001462 2040 001463 1722 001464 1107 001465 1116 001466 0114 001467 4023 001470 3123 001471 2405 001472 1540 001473 0405 001474 0324 001475 0120 001476 0523 001477 4027 001500 2211 001501 2405 001502 5514 001503 1703 001504 1305 001505 0477 001506 0000 816 001507 2324 STRIKE, TEXT /STRIKE A CHARACTER TO CONTINUE?/ 001510 2211 001511 1305 001512 4001 001513 4003 001514 1001 001515 2201 001516 0324 001517 0522 001520 4024 001521 1740 001522 0317 001523 1624 001524 1116 001525 2505 001526 7700 817 001527 2205 DISMNT, TEXT /REMOVE AND SAVE TAPE ON UNIT 0_/ 001530 1517 001531 2605 001532 4001 001533 1604 001534 4023 001535 0126 001536 0540 001537 2401 001540 2005 001541 4017 001542 1640 001543 2516 001544 1124 001545 4060 001546 3700 818 001547 2401 TEXT /TAKE NEW TAPE (ON UNIT 1) WHICH WAS JUST CREATED_/ 001550 1305 001551 4016 001552 0527 001553 4024 001554 0120 001555 0540 001556 5017 001557 1640 001560 2516 001561 1124 001562 4061 001563 5140 001564 2710 001565 1103 001566 1040 001567 2701 001570 2340 001571 1225 001572 2324 001573 4003 001574 2205 001575 0124 001576 0504 001577 3700 819 001600 0116 TEXT /AND PLACE IT ON UNIT 0_/ 001601 0440 001602 2014 001603 0103 001604 0540 001605 1124 001606 4017 001607 1640 001610 2516 001611 1124 001612 4060 001613 3700 820 001614 1124 TEXT \IT IS YOUR NEW OS/8 SYSTEM TAPE?\ 001615 4011 001616 2340 001617 3117 001620 2522 001621 4016 001622 0527 001623 4017 001624 2357 001625 7040 001626 2331 001627 2324 001630 0515 001631 4024 001632 0120 001633 0577 001634 0000 821 001635 0411 SWTCH, TEXT /DISMOUNT SYSTEM TAPE #2 FROM UNIT 0 AND SAVE IT_/ 001636 2315 001637 1725 001640 1624 001641 4023 001642 3123 001643 2405 001644 1540 001645 2401 001646 2005 001647 4043 001650 6240 001651 0622 001652 1715 001653 4025 001654 1611 001655 2440 001656 6040 001657 0116 001660 0440 001661 2301 001662 2605 001663 4011 001664 2437 001665 0000 822 001666 1517 TEXT /MOUNT ORIGINAL SYSTEM TAPE #1 ON UNIT 0_/ 001667 2516 001670 2440 001671 1722 001672 1107 001673 1116 001674 0114 001675 4023 001676 3123 001677 2405 001700 1540 001701 2401 001702 2005 001703 4043 001704 6140 001705 1716 001706 4025 001707 1611 001710 2440 001711 6037 001712 0000 823 001713 2022 TEXT /PREPARE TO COPY FILES OVER?/ 001714 0520 001715 0122 001716 0540 001717 2417 001720 4003 001721 1720 001722 3140 001723 0611 001724 1405 001725 2340 001726 1726 001727 0522 001730 7700 824 001731 1713 OK, TEXT /OK?/ 001732 7700 825 001733 2205 WRITOUT,TEXT /READY TO CREATE BLOCK 0 OF UNIT 1?/ 001734 0104 001735 3140 001736 2417 001737 4003 001740 2205 001741 0124 001742 0540 001743 0214 001744 1703 001745 1340 001746 6040 001747 1706 001750 4025 001751 1611 001752 2440 001753 6177 001754 0000 826 001755 0317 COPY, TEXT /COPYING FILES FROM UNIT 0 TO UNIT 1?/ 001756 2031 001757 1116 001760 0740 001761 0611 001762 1405 001763 2340 001764 0622 001765 1715 001766 4025 001767 1611 001770 2440 001771 6040 001772 2417 001773 4025 001774 1611 001775 2440 001776 6177 001777 0000 827 002000 3205 ZERY, TEXT /ZEROING DIRECTORY ON TAPE UNIT 1?/ 002001 2217 002002 1116 002003 0740 002004 0411 002005 2205 002006 0324 002007 1722 002010 3140 002011 1716 002012 4024 002013 0120 002014 0540 002015 2516 002016 1124 002017 4061 002020 7700 828 002021 0411 PRES, TEXT /DIRECTORY ON UNIT 1 PRESERVED?/ 002022 2205 002023 0324 002024 1722 002025 3140 002026 1716 002027 4025 002030 1611 002031 2440 002032 6140 002033 2022 002034 0523 002035 0522 002036 2605 002037 0477 002040 0000 829 002041 1617 WRONG, TEXT /NOT ORIGINAL OS8 SYSTEM TAPE #2_/ 002042 2440 002043 1722 002044 1107 002045 1116 002046 0114 002047 4017 002050 2370 002051 4023 002052 3123 002053 2405 002054 1540 002055 2401 002056 2005 002057 4043 002060 6237 002061 0000 830 002062 1517 TEXT /MOUNT CORRECT TAPE ON UNIT 0?/ 002063 2516 002064 2440 002065 0317 002066 2222 002067 0503 002070 2440 002071 2401 002072 2005 002073 4017 002074 1640 002075 2516 002076 1124 002077 4060 002100 7700 831 002101 7013 ROM8K, TEXT /8K ROM SYSTEM?/ 002102 4022 002103 1715 002104 4023 002105 3123 002106 2405 002107 1577 002110 0000 832 002111 6162 TD8E12, TEXT /12K SYSTEM?/ 002112 1340 002113 2331 002114 2324 002115 0515 002116 7700 833 002117 1605 HRDWR, TEXT /NEED ROM OR 12K?/ 002120 0504 002121 4022 002122 1715 002123 4017 002124 2240 002125 6162 002126 1377 002127 0000 834 002130 0601 IOERR, TEXT /FATAL IO ERR_/ 002131 2401 002132 1440 002133 1117 002134 4005 002135 2222 002136 3700 835 002137 2431 TEXT /TYPE A TO ABORT AND START OVER AGAIN_/ 002140 2005 002141 4001 002142 4024 002143 1740 002144 0102 002145 1722 002146 2440 002147 0116 002150 0440 002151 2324 002152 0122 002153 2440 002154 1726 002155 0522 002156 4001 002157 0701 002160 1116 002161 3700 836 002162 2431 TEXT \TYPE ANY OTHER CHARACTER TO RETRY THIS I/O OPERATION?\ 002163 2005 002164 4001 002165 1631 002166 4017 002167 2410 002170 0522 002171 4003 002172 1001 002173 2201 002174 0324 002175 0522 002176 4024 002177 1740 002200 2205 002201 2422 002202 3140 002203 2410 002204 1123 002205 4011 002206 5717 002207 4017 002210 2005 002211 2201 002212 2411 002213 1716 002214 7700 837 002215 2431 SPECIAL,TEXT /TYPE 1 TO COPY FILES FROM UNIT 0 TO UNIT 1_/ 002216 2005 002217 4061 002220 4024 002221 1740 002222 0317 002223 2031 002224 4006 002225 1114 002226 0523 002227 4006 002230 2217 002231 1540 002232 2516 002233 1124 002234 4060 002235 4024 002236 1740 002237 2516 002240 1124 002241 4061 002242 3700 838 002243 2431 TEXT /TYPE 2 TO ZERO THE DIRECTORY OF UNIT 1_/ 002244 2005 002245 4062 002246 4024 002247 1740 002250 3205 002251 2217 002252 4024 002253 1005 002254 4004 002255 1122 002256 0503 002257 2417 002260 2231 002261 4017 002262 0640 002263 2516 002264 1124 002265 4061 002266 3700 839 002267 2431 TEXT /TYPE 3 TO LEAVE THE DIRECTORY OF UNIT 1 ALONE?/ 002270 2005 002271 4063 002272 4024 002273 1740 002274 1405 002275 0126 002276 0540 002277 2410 002300 0540 002301 0411 002302 2205 002303 0324 002304 1722 002305 3140 002306 1706 002307 4025 002310 1611 002311 2440 002312 6140 002313 0114 002314 1716 002315 0577 002316 0000 840 002317 0000 TSTKBD, 0 841 002320 6031 KSF 842 002321 5717 JMP I TSTKBD 843 002322 6034 KRS 844 002323 0377 AND (177 845 002324 1376 TAD (-3 846 002325 7450 SNA 847 002326 5775 JMP I (RE /^C 848 002327 1374 TAD (3-17 849 002330 7640 SZA CLA 850 002331 5334 JMP NO 851 002332 7201 CLA IAC 852 002333 3020 DCA CTRLO 853 002334 6032 NO, KCC 854 002335 5717 JMP I TSTKBD 855 002374 7764 PAGE 002375 0211 002376 7775 002377 0177 856 /TD8E SYSTEM INITIALIZER 857 /THIS CODE IS PLACED ON THE BINARY TAPE 858 /IN RECORD 0. WHEN THE 7470 OR STANDARD TD8E BOOTSTRAP 859 /IS EXECUTED, THIS PROGRAM READS THE REST OF THE INIT 860 /SYSTEM FROM THE FIRST FILE ON THE TAPE, AND 861 /STARTR EXECUTION OF IT. A SHORT PROGRAM IS HERE 862 /INCLUDED TO WRITE RECORD 0 ON THE TAPE. THE START ADDRESS 863 /OF THAT CODE IS 200. 864 865 SDSS=6771 866 SDST=6772 867 SDSQ=6773 868 SDLC=6774 869 SDLD=6775 870 SDRC=6776 871 SDRD=6777 872 *7420 873 NOPUNCH 874 *7400 875 ENPUNCH 876 007400 1262 TAD K177 /INIT FOR TAPE READ 877 007401 3010 DCA 10 878 007402 1257 NUBLK, TAD KM200 /SET BLOCK WORD COUNT 879 007403 3261 DCA WCNT 880 007404 4242 NOT, JMS GET /GET BLOCK # FORWARD 881 007405 7752 -26 882 007406 6777 SDRD /THE RIGHT ONE? 883 007407 0256 AND KK77 884 007410 1260 TAD BLOCKK 885 007411 7640 SZA CLA 886 007412 5204 JMP NOT /I GUESS NOT 887 007413 4242 JMS GET /RIGHT. NOW GET REV. GUARD 888 007414 7746 -32 889 007415 4235 JMS RQD 890 007416 4235 JMS RQD 891 007417 4235 JMS RQD 892 007420 4235 LP, JMS RQD 893 007421 3410 DCA I 10 /READ THE INIT PROGRAM 894 007422 2261 ISZ WCNT 895 007423 5220 JMP LP 896 007424 2263 ISZ BCNT /DONE ALL BLOCKS? 897 007425 5231 JMP CONT 898 007426 6774 SDLC 899 007427 5630 JMP I .+1 900 007430 0202 STARTUP 901 007431 7240 CONT, CLA CMA /SET FOR NEXT BLOCK 902 007432 1260 TAD BLOCKK 903 007433 3260 DCA BLOCKK 904 007434 5202 JMP NUBLK 905 906 007435 0000 RQD, 0 907 007436 6773 SDSQ 908 007437 5236 JMP .-1 909 007440 6777 SDRD 910 007441 5635 JMP I RQD 911 007442 0000 GET, 0 /PICK UP A SPECIFIED TAPE FRAME 912 007443 1642 TAD I GET /HOLDS 6 BIT MARK TRACK I.D. 913 007444 3235 DCA RQD 914 007445 6771 GTIT, SDSS 915 007446 5245 JMP .-1 916 007447 6776 SDRC /FLAG IS UP. READ MARK TRACK 917 007450 0256 AND KK77 918 007451 1235 TAD RQD /A MATCH? 919 007452 7640 SZA CLA 920 007453 5245 JMP GTIT 921 007454 2242 ISZ GET 922 007455 5642 JMP I GET 923 924 007456 0077 KK77, 77 925 007457 7600 KM200, -200 926 007460 7757 BLOCKK, -21 /SKIP CORE CONTROL BLOCK AND PAGE 0 927 007461 7600 WCNT, -200 928 007462 0177 K177, 177 929 007463 7775 BCNT, -3 930 *200 931 $ AFIELD 0000 unreferenced B1 0237 B2 0244 BCNT 7463 BLOCK 0404 BLOCKK 7460 BOOT 1302 BUFF 0557 C100 0566 C1000 0403 C1400 0757 C3 0575 C300 0670 C374 0441 C6203 0554 C70 0574 C7600 0630 unreferenced CD 1066 CFATAL 0753 CHKCOR 1200 CHKSUM 0760 CM200 0507 CM32 0756 CONT 7431 COPY 1755 CPY 0226 CRDQUD 0555 CREATE 1000 CRLF 1117 CRWCOM 0754 CTRLO 0020 CXFUN 0562 CXWCT 0565 DISMNT 1527 DRIVE 0010 DTA0 0400 DTA1 0404 DTA1X 0410 ENDZ 0535 ENTR12 1212 EQUFUN 0722 EQUTMP 0764 ER1 1102 EXIT 0545 FATAL 0547 FERR 0346 FOUND 0570 GET 7442 GETCHK 0737 GO 0501 GTIT 7445 HEAD 1026 HRDWR 2117 IN 1235 INCHAR 0021 INIT 1423 INITLN 0007 IOERR 2130 K177 7462 K77 0643 K7700 0620 KBM 1051 KK77 7456 KM200 7457 LEAVE 0552 LP 7420 LVAL 1270 M110 0533 M20 0563 MFIELD 0000 MOVCDF 1352 MOVE 1337 MOVLUP 1351 MOVSYS 1014 MSG 0307 MTDIR 1273 MVCNT 1360 MWORDS 0560 NO 2334 NOT 7404 NUBLK 7402 OK 1731 OK12 1232 ORIGIN 0400 PGCT 0564 PNCH 0326 PRES 2021 RD 0234 RDLP 0664 RDLP2 0701 RDQUAD 0715 RE 0211 READ 0656 RESTRT 0271 REVGRD 0606 ROM8K 2101 ROMSW 0017 RQD 7435 RWCOM 0463 SDLC 6774 SDLD 6775 SDRC 6776 SDRD 6777 SDSQ 6773 SDSS 6771 SDST 6772 SPECIA 2215 SRCH 0510 ST 0200 STARTU 0202 STRIKE 1507 SWTCH 1635 TBL 0765 TD8E12 2111 TDBOOT 1316 TEMPA 0022 TM 1141 TRY12K 1215 TRY3 0541 TRYCNT 0567 TSTKBD 2317 TTY 0275 TTYOUT 1125 UNIT 0561 VNO 1400 WCNT 7461 WCOUNT 0556 WDSBLK 0201 WORDS 0761 WRGSYS 1076 WRITE 0622 unreferenced WRITOU 1733 WRLP 0640 WRONG 2041 WRQUAD 0706 WTMSG 0315 XBUFF 0762 XFIELD 0577 XFUNCT 0755 XRIN 0011 XROUT 0012 XUNIT 0722 XWCT 0763 ZER 1260 ZERO 1236 ZERY 2000