File: TD8ESY.LS of Disk: V50/Source/Source-Listing-PAL-1
(Source file text)
/TD8E SYSTEM RESIDENT (12K) PAL8-V50X 01-JUN-92 PAGE 1 /TD8E SYSTEM RESIDENT (12K) / / / / / / / / / /COPYRIGHT (C) 1974,1975 BY DIGITAL EQUIPMENT CORPORATION / AND W. VAN DER MARK 2015 / / / / / / / / / / /THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE /AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT /CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY /FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT. / /THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER /UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED /(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH /SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL. / /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY /DIGITAL. / / / / / / / / / / /TD8E SYSTEM RESIDENT (12K) PAL8-V50X 01-JUN-92 PAGE 2 0000 *0 000000 7775 -3 000001 2404 DEVICE TD8E;DEVICE SYS;4211;6007;0;1341 000002 7005 000003 2331 000004 2300 000005 4211 000006 6007 000007 0000 000010 1341 000011 2404 DEVICE TD8E;DEVICE DTA0;4211;5007;0;1341 000012 7005 000013 0424 000014 0160 000015 4211 000016 5007 000017 0000 000020 1341 000021 2404 DEVICE TD8E;DEVICE DTA1;4211;SDTA1&177+5000;0;1341 000022 7005 000023 0424 000024 0161 000025 4211 000026 5014 000027 0000 000030 1341 /TD8E SYSTEM RESIDENT (12K) PAL8-V50X 01-JUN-92 PAGE 3 000031 7655 TDBEGN-TD77-1 /FOLLOWING IS THE BOOTSTRAP FOR THE TD8E 12K SYSTEM NOPUNCH 7300 RELOC 7300 007300* 1312 K1000, TAD GET /PUT DRIVE IN REVERSE 007301* 4312 JMS GET /LOOK FOR END ZONE 007302* 4312 JMS GET /LOOK FOR 31 CODE 007303* 6773 RD, SDSQ /NOW READ ALL INTO CORE 007304* 5303 JMP .-1 007305* 6777 SDRD /READ 12 BIT WORD 007306* 3726 DCA I WCT /AND PUT IT IN CORE 007307* 2326 ISZ WCT 007310* 5303 JMP RD /LOOP UNTIL FIELD 0 007311* 5732 JMP I STRT /IS LOADED, THEN START 007312* 2000 GET, 2000 007313* 1300 TAD K1000 /SET MOTION &DIRECTION 007314* 6774 SDLC 007315* 6771 BSRCH, SDSS /WAIT FOR 22 OR 31 CODE 007316* 5315 JMP .-1 /22 IS END ZONE, 31 IS 007317* 6776 SDRC /4 WORDS BEFORE DATA 007320* 0331 AND K77 /IS THIS WHAT WE WANT? 007321* 1327 TAD BM22 /THIS GETS INCREMENTED 007322* 7640 SZA CLA /IF YES, RETURN. 007323* 5315 JMP BSRCH /NO.KEEP LOOKING. 007324* 2321 ISZ .-3 /LOOK FOR NEXT IN LIST 007325* 5712 JMP I GET 007326* 7354 WCT, 7354 /START LOADING CORE AT 7354 007327* 7756 BM22, -22 /THE OTHER BOOTSTRAP GETS 007330* 7747 -31 /LOADED AT 7400. 007331* 0077 K77, 77 007332* 7400 STRT, 7400 0065 RELOC ENPUNCH /TD8E DECTAPE BOOTSTRAP RECORD /EXPLANATION: /THE TOGGLE BOOTSTRAP READS 4 WORDS OF NONSENSE /INTO 7354-7357;THEN 20 WORDS OF ZERO INTO 7360-7377 /'TDBOOT' IN 7400;NOW WE HAVE GAINED 20 WORDS SO THAT /WE CAN GO ON READING OVER THE INTERBLOCK ZONE AND /THE FIELD 0 RESIDENT PART WILL LOAD CORRECTLY INTO /7600-7777;FIELD 1 & 2 ARE LOADED FROM BLOCK 66 /THIS EXPLAINS WHY A 'TWO PAGE' RESIDENT HANDLER /CAN USE A MUCH LONGER BOOTSTRAP. 7360 RELOC 7360 /TD8E SYSTEM RESIDENT (12K) PAL8-V50X 01-JUN-92 PAGE 3-1 6771 SDSS=6771 6772 SDST=6772 6773 SDSQ=6773 6774 SDLC=6774 6775 SDLD=6775 6776 SDRC=6776 6777 SDRD=6777 007360* 0000 TDBEGN, ZBLOCK 20 /INTERBLOCK ZONE LENGTH /(5*2)*3/2+1 007400* 1672 TAD I K7777 /GET OLD BIPCCL DATE 007401* 0271 AND K1700 /ONLY DATE BITS AND MORE... 007402* 3270 DCA BIPSAV /SAVE IT 007403* 6211 CDF 10 007404* 1673 TAD I K7666 /GET OLD DATE 007405* 3267 DCA DATSAV /SAVE IT 007406* 1274 TDBOOT, TAD K7600 /128 WORDS PER PAGE 007407* 3261 DCA TDWCT 007410* 6771 TDMORE, SDSS /WAIT FOR A BLOCK MARK (TAPE IS 007411* 5210 JMP .-1 /STILL MOVING) 007412* 6776 SDRC 007413* 0302 AND TD77 007414* 1275 TAD KM26 /IS IT A BLOCK MARK? 007415* 7640 SZA CLA 007416* 5210 JMP TDMORE /NO..WAIT A WHILE LONGER 007417* 6777 SDRD /GET THE BLOCK NO. 007420* 1257 TDBKNO, TAD TDM14 /NEED DECTAPE BLOCKS 154 & 155 (REC. 66) 007421* 7640 SZA CLA 007422* 5210 JMP TDMORE /NOT YET, BUSTER 007423* 6771 TDRGRD, SDSS 007424* 5223 JMP .-1 /NOW LET'S LOOK FOR A REVERSE GUARD WORD 007425* 6776 SDRC 007426* 0302 AND TD77 007427* 1276 TAD KM32 007430* 7640 SZA CLA 007431* 5223 JMP TDRGRD /KEEP LOOKING FOR IT 007432* 4262 JMS TDRQD 007433* 4262 JMS TDRQD 007434* 4262 JMS TDRQD /SKIP CONTROL WORDS 007435* 6211 TDFLD, CDF 10 /LOAD UP FIELD 1 OR 2 007436* 4262 TDREAD, JMS TDRQD /GET A DATA WORD 007437* 3661 DCA I TDPTR 007440* 2261 ISZ TDPTR /ARE WE DONE? 007441* 5236 JMP TDREAD /NOT YET 007442* 2220 ISZ TDBKNO /YES..LOOK AT BLOCK 15 007443* 1277 TAD KCDF20 007444* 3235 DCA TDFLD /LOAD UP FIELD 2 007445* 2300 ISZ M2 /DONE THIS JUNK? 007446* 5206 JMP TDBOOT /GO DO FIELD 2 007447* 6774 SDLC /STOP THE TAPE 007450* 6211 CDF 10 007451* 1267 TAD DATSAV /GET OLD DATE 007452* 3673 DCA I K7666 /STORE IN NEW SYSTEM 007453* 1270 TAD BIPSAV /GET OLD BIP DATE 007454* 6203 CIF CDF 0 /TD8E SYSTEM RESIDENT (12K) PAL8-V50X 01-JUN-92 PAGE 3-2 007455* 3672 DCA I K7777 /STORE IN MAGIC LOCATION 007456* 5701 JMP I K7605 /TD8E SYSTEM RESIDENT (12K) PAL8-V50X 01-JUN-92 PAGE 4 007457* 7624 TDM14, -154 007460* 7623 -155 /USE RECORD 66 TDPTR, 007461* 7600 TDWCT, 7600 007462* 0000 TDRQD, 0 007463* 6773 SDSQ 007464* 5263 JMP .-1 007465* 6777 SDRD 007466* 5662 JMP I TDRQD 007467* 0000 DATSAV, 0 007470* 0000 BIPSAV, 0 007471* 1700 K1700, 1700 007472* 7777 K7777, 7777 007473* 7666 K7666, 7666 007474* 7600 K7600, 7600 007475* 7752 KM26, -26 007476* 7746 KM32, -32 007477* 6221 KCDF20, CDF 20 007500* 7776 M2, -2 007501* 7605 K7605, 7605 007502* 0077 TD77, 77 / THIS BOOTSTRAP RESIDES IN BLOCK 0 / BLOCK 1/2 CONTAINS THE USUAL IMAGE OF 07600 / BLOCK 66 CONTAINS THE IMAGE OF 17600 / BLOCK 66 1/2 CONTAINS THE IMAGE OF 27600 0210 RELOC /TD8E SYSTEM RESIDENT (12K) PAL8-V50X 01-JUN-92 PAGE 5 0200 *200 /TD8E DECTAPE SYSTEM HANDLER /THIS HANDLER CAN DRIVE UNITS 0&1, AND IS PERMANENTLY /RESIDENT IN FIELDS 0&2. 7600 RELOC 7600 0031 VERSION="Y&77 007600* 0000 ZBLOCK 7 007607* 0031 SHNDLR, VERSION /UNIT 0 ENTRY POINT 007610* 7300 CLA CLL 007611* 5220 JMP SHND2 007612* 0003 C3, 3 /MUST BE HERE FOR BUILD 007613* 0070 S70, 70 007614* 0031 SDTA1, VERSION /UNIT 1 ENTRY 007615* 7320 CLA CLL CML 007616* 1214 SC1000, TAD SDTA1 /DOUBLES AS CONSTANT 1000 007617* 3207 DCA SHNDLR /GET ARGS AT SHNDLR 007620* 7010 SHND2, RAR /UNIT # 007621* 3214 DCA SUNIT 007622* 6214 RDF /SETUP FOR EXIT 007623* 1337 TAD S6203 007624* 3335 DCA EFLD 007625* 1607 TAD I SHNDLR /FUNCTION WORD 007626* 6775 SDLD /PUT IT IN DATA EGISTER 007627* 0213 AND S70 /SDLD DOES NOT 0 AC..GET FIELD 007630* 1337 TAD S6203 /CIF CDF N FOR TRANSFER FIELD 007631* 3326 DCA TFLD 007632* 2207 ISZ SHNDLR 007633* 1607 TAD I SHNDLR /BUFFER ADDRESS 007634* 3355 DCA BPTR 007635* 2207 ISZ SHNDLR 007636* 1607 TAD I SHNDLR /BLOCK #. TIMES 2 FOR REAL # 007637* 7104 CLL RAL 007640* 3354 DCA BLOCK 007641* 2207 ISZ SHNDLR /POINT TO ERROR EXIT IFNZRO .-7642 <CIFERR+=> 007642* 6223 CIF CDF 20 /BLOAD & FRTS LOAD SOME CIF CDF X 007643* 1214 TAD SUNIT /PUT UNIT # INTO FIELD 2 007644* 3743 DCA I SUNIT2 007645* 5201 JMP F2SET /TO FIELD 2 FOR INIT. 007646* 6777 F1GO, SDRD /INITIAL DIRECTION TO LINK 007647* 7010 RAR 007650* 5256 JMP RGO /TD8E SYSTEM RESIDENT (12K) PAL8-V50X 01-JUN-92 PAGE 6 007651* 1355 RENTER, TAD BPTR /DONE THIS BLOCK..NEXT ADDRESS 007652* 1340 TAD SC200 007653* 3355 DCA BPTR 007654* 2354 ISZ BLOCK /NEXT TAPE BLOCK..CAN'T SKIP 007655* 7120 CLL CML /FORCE FORWARD MOTION 007656* 7232 RGO, CLA CML RTR /LINK TO MOTION BIT 007657* 1216 TAD SC1000 007660* 1214 TAD SUNIT 007661* 6774 SDLC /MOVE THE TAPE 007662* 6773 SDSQ 007663* 5262 JMP .-1 007664* 6777 SDRD /KNOCK DOWN QUAD FLAG 007665* 6773 SDSQ 007666* 5265 JMP .-1 007667* 6777 SDRD /THIS IS NEEDED, ELSE TIME ERROR!!! /TD8E SYSTEM RESIDENT (12K) PAL8-V50X 01-JUN-92 PAGE 7 007670* 6771 SRCH, SDSS /WAIT FOR A BLOCK MARK 007671* 5270 JMP .-1 007672* 6776 SDRC /GET MARK TRACK BITS 007673* 7106 CLL RTL /DIRECTION TO LINK 007674* 0341 AND SC374 007675* 1313 TAD SM110 /IS IT A N END ZONE? 007676* 7450 SNA 007677* 5315 JMP SENDZ /YES 007700* 1342 TAD SM20 /MAYBE A BLOCK MARK? 007701* 7640 SZA CLA 007702* 5270 JMP SRCH /NEITHER..KEEP GOING 007703* 6777 SDRD /READ THE BLOCK # 007704* 7430 SZL /IF REVERSE, LOOK 3 AHEAD OF TARGET 007705* 1212 TAD C3 007706* 7040 CMA 007707* 1354 TAD BLOCK 007710* 7040 CMA 007711* 7450 SNA /IS IT THE RIGHT ONE? 007712* 5323 JMP FOUND /YES 007713* 7670 SM110, CLA SNA SZL /SNA SUPERFLUOUS..ONLY SZL VALID 007714* 5270 JMP SRCH /HEADED FOR IT..KEEP GOING 007715* 6776 SENDZ, SDRC 007716* 7106 CLL RTL 007717* 7630 SZL CLA /IF IN END ZONE FORWARD, GIVE ERROR 007720* 5256 JMP RGO IFNZRO .-7721 <CIFERR+=>/BLOAD & FRTS LOAD CIF X 007721* 6222 CIF 20 /IF IT IS REALL END ZONE, AN ERROR 007722* 5320 JMP ERROR 007723* 7630 FOUND, SZL CLA /RIGHT BLOCK..HOW ABOUT DIRECTION? 007724* 5256 JMP RGO /WRONG..EXECUTE TURNAROUND 007725* 1355 TAD BPTR 007726* 7402 TFLD, HLT /GETS CIF CDF N 007727* 6222 CIF 20 007730* 5215 JMP RDWT /LET'S TRANSFER DATA 007731* 2207 SEXIT, ISZ SHNDLR /NORMAL RETURN 007732* 1214 SEREX, TAD SUNIT /STOP THE TAPE 007733* 6774 SDLC 007734* 7230 CML CLA RAR /EITHER 0 OR 4000 IN AC ON RETURN 007735* 7402 EFLD, HLT 007736* 5607 JMP I SHNDLR 7755 BPTR=7755 7754 BLOCK=7754 7614 SUNIT=SDTA1 007737* 6203 S6203, 6203 007740* 0200 SC200, 200 /TD8E SYSTEM RESIDENT (12K) PAL8-V50X 01-JUN-92 PAGE 7-1 007741* 0374 SC374, 374 007742* 7760 SM20, -20 007743* 7764 SUNIT2, SXUNIT 0344 RELOC /TD8E SYSTEM RESIDENT (12K) PAL8-V50X 01-JUN-92 PAGE 8 0400 *400 NOPUNC 0002 FIELD 2 ENPUNC 7600 RELOC 7600 /RUNS IN 27600 027600* 0000 XPTR, 0 /BUFFER POINTER 027601* 7346 F2SET, CLA CLL CMA RTL /3 ERROR TRIES 027602* 3367 DCA TRYCNT 027603* 1364 TAD SXUNIT /MAKE SURE TAPE IS STOPPED 027604* 6774 SDLC 027605* 6203 F26203, CIF CDF 0 027606* 6777 SDRD /FUNCTION WORD 027607* 7104 CLL RAL 027610* 0237 AND CX7600 /PAGE COUNT 027611* 3365 DCA XPGCT 027612* 6777 SDRD 027613* 3366 DCA SXFUN /SAVE THE FUNCTION WORD 027614* 5246 JMP F1GO 027615* 3200 RDWT, DCA XPTR /SAVE NEW BUFFER ADDRESS 027616* 1237 TAD CX7600 027617* 3370 DCA XWCNT /128 WORDS PER BLOCK 027620* 6771 REVGRD, SDSS /WAIT FOR REVERSE GUARD WORD 027621* 5220 JMP .-1 027622* 6776 SDRC 027623* 0252 AND X77 027624* 1371 TAD XM32 /IS IT REVERSE GUARD? 027625* 7640 SZA CLA 027626* 5220 JMP REVGRD /NO 027627* 1366 TAD SXFUN 027630* 7700 SK7700, SMA CLA /READ OR WRITE? 027631* 5273 JMP READ /READ 027632* 6776 SDRC 027633* 0306 AND C300 /ERRORS ON WRITE LOCKOUT AND TIME 027634* 7640 SZA CLA 027635* 5320 JMP ERROR 027636* 4333 JMS RDQUAD /SKIP A WORD 027637* 7600 CX7600, 7600 027640* 1247 TAD WRLP 027641* 1364 TAD SXUNIT 027642* 6774 SDLC /TURN ON THE WRITE 027643* 7240 CLA CMA 027644* 4325 JMS WRQUAD /WRITE 7777 IN REV. CHECKSUM 027645* 7240 CLA CMA 027646* 3372 DCA SCKSUM /AND ALSO IN COMPUTE CHECKSUM 027647* 1600 WRLP, TAD I XPTR 027650* 4325 JMS WRQUAD /WRITE THE DATA /TD8E SYSTEM RESIDENT (12K) PAL8-V50X 01-JUN-92 PAGE 8-1 027651* 2200 ISZ XPTR 027652* 0077 X77, 77 /JUST IN CASE 027653* 2370 ISZ XWCNT /DONE 128? 027654* 5247 JMP WRLP 027655* 4325 JMS WRQUAD /WRITE AND CHECKSUM A WORD OF 0 027656* 4353 JMS GETCHK /GET CHECKSUM 027657* 4325 JMS WRQUAD 027660* 4325 JMS WRQUAD /LET CHECKSUM GET WRITTEN /TD8E SYSTEM RESIDENT (12K) PAL8-V50X 01-JUN-92 PAGE 9 027661* 6772 RWCOM, SDST /CHECK FOR TIME AND CHECKSUM ERRORS 027662* 7640 SZA CLA 027663* 5320 JMP ERROR /NOTE THAT LINK IS OFF AT RWCOM 027664* 6203 CIF CDF 0 027665* 1365 TAD XPGCT /FINISHED TRANSFER? 027666* 1237 TAD CX7600 /LINK GOES ON HERE 027667* 7450 SNA 027670* 5331 JMP SEXIT /YES..GETOUT 027671* 3365 DCA XPGCT 027672* 5251 JMP RENTER 027673* 4333 READ, JMS RDQUAD /SKIP CONTROL WORDS 027674* 4333 JMS RDQUAD 027675* 4333 JMS RDQUAD /GET CHECKSUM 027676* 0252 AND X77 027677* 1230 TAD SK7700 027700* 3372 DCA SCKSUM 027701* 4333 SRDLP, JMS RDQUAD 027702* 3600 DCA I XPTR 027703* 1600 TAD I XPTR 027704* 4340 JMS EQUFUN 027705* 2200 ISZ XPTR 027706* 0300 C300, 300 027707* 2370 ISZ XWCNT /DONE ALL? 027710* 5301 JMP SRDLP /NO 027711* 4333 JMS RDQUAD /READ AND CHECKSUM LAST WORD 027712* 4340 JMS EQUFUN 027713* 4333 JMS RDQUAD /GET CHECKSUM 027714* 0230 AND SK7700 027715* 4340 JMS EQUFUN 027716* 4353 JMS GETCHK 027717* 5261 JMP RWCOM 027720* 7300 ERROR, CLA CLL /THIS CAUSES SEARCH REVERSE AT RGO 027721* 6203 CIF CDF 0 027722* 2367 ISZ TRYCNT /EXHAUSTED ERROR TRIES? 027723* 5256 JMP RGO 027724* 5332 JMP SEREX /YES..FATAL EXIT 027725* 0000 WRQUAD, 0 /WRITE A 12 BIT WORD 027726* 6773 SDSQ 027727* 5326 JMP .-1 027730* 6775 SDLD 027731* 4340 JMS EQUFUN /SDLD LEAVES AC ALONE 027732* 5725 JMP I WRQUAD 027733* 0000 RDQUAD, 0 /READ A 12 BIT WORD 027734* 6773 SDSQ /TD8E SYSTEM RESIDENT (12K) PAL8-V50X 01-JUN-92 PAGE 9-1 027735* 5334 JMP .-1 027736* 6777 SDRD 027737* 5733 JMP I RDQUAD /TD8E SYSTEM RESIDENT (12K) PAL8-V50X 01-JUN-92 PAGE 10 027740* 0000 EQUFUN, 0 /EQUIVALENCE CHECKSUM 027741* 7040 CMA 027742* 3373 DCA EQUTMP 027743* 1373 TAD EQUTMP 027744* 0372 AND SCKSUM 027745* 7041 CIA 027746* 7104 CLL RAL 027747* 1373 TAD EQUTMP 027750* 1372 TAD SCKSUM 027751* 3372 DCA SCKSUM 027752* 5740 JMP I EQUFUN 027753* 0000 GETCHK, 0 027754* 1372 TAD SCKSUM 027755* 7146 CLL CMA RTL 027756* 7006 RTL 027757* 7006 RTL 027760* 4340 JMS EQUFUN 027761* 1372 TAD SCKSUM 027762* 0230 AND SK7700 027763* 5753 JMP I GETCHK 027764* 0000 SXUNIT, 0 027765* 0000 XPGCT, 0 027766* 0000 SXFUN, 0 027767* 0000 TRYCNT, 0 027770* 0000 XWCNT, 0 027771* 7746 XM32, -32 027772* 0000 SCKSUM, 0 027773* 0000 EQUTMP, 0 /THE LAST 4 LOCS. ARE FREE FOR USE BY BATCH 027774* 0000 ZBLOCK 4 0400 RELOC $ /TD8E SYSTEM RESIDENT (12K) PAL8-V50X 01-JUN-92 PAGE 11 BIPSAV 7470 SK7700 7630 BLOCK 7754 SM110 7713 BM22 7327 SM20 7742 BPTR 7755 SRCH 7670 BSRCH 7315 SRDLP 7701 CX7600 7637 STRT 7332 C3 7612 SUNIT 7614 C300 7706 SUNIT2 7743 DATSAV 7467 SXFUN 7766 EFLD 7735 SXUNIT 7764 EQUFUN 7740 S6203 7737 EQUTMP 7773 S70 7613 ERROR 7720 TDBEGN 7360 FOUND 7723 TDBKNO 7420 F1GO 7646 TDBOOT 7406 F2SET 7601 TDFLD 7435 F26203 7605 TDMORE 7410 GET 7312 TDM14 7457 GETCHK 7753 TDPTR 7461 KCDF20 7477 TDREAD 7436 KM26 7475 TDRGRD 7423 KM32 7476 TDRQD 7462 K1000 7300 TDWCT 7461 K1700 7471 TD77 7502 K7600 7474 TFLD 7726 K7605 7501 TRYCNT 7767 K7666 7473 VERSIO 0031 K77 7331 WCT 7326 K7777 7472 WRLP 7647 M2 7500 WRQUAD 7725 RD 7303 XM32 7771 RDQUAD 7733 XPGCT 7765 RDWT 7615 XPTR 7600 READ 7673 XWCNT 7770 RENTER 7651 X77 7652 REVGRD 7620 RGO 7656 RWCOM 7661 SCKSUM 7772 SC1000 7616 SC200 7740 SC374 7741 SDLC 6774 SDLD 6775 SDRC 6776 SDRD 6777 SDSQ 6773 SDSS 6771 SDST 6772 SDTA1 7614 SENDZ 7715 SEREX 7732 SEXIT 7731 SHNDLR 7607 SHND2 7620 ERRORS DETECTED: 0 LINKS GENERATED: 0