1 /3 TD8E SYSTEM RESIDENT (12K)
11 /COPYRIGHT (C) 1974,1975 BY DIGITAL EQUIPMENT CORPORATION
22 /THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE
23 /AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
24 /CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY
25 /FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT.
27 /THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER
28 /UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED
29 /(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH
30 /SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL.
32 /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE
33 /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY
48 DEVICE TD8E;DEVICE SYS;4211;6007;0;1341
49 DEVICE TD8E;DEVICE DTA0;4211;5007;0;1341
50 DEVICE TD8E;DEVICE DTA1;4211;SDTA1&177+5000;0;1341
55 /THE BINARY GETS LOADED INTO 27220 INITIALY, AND
56 /WRITTEN OUT AS PART OF RECORD 0. WHEN THE 30 WORD
57 /BOOTSTRAP IS USED, THIS CODE GETS READ INTO 7400.
70 TDBOOT, TAD K7600 /128 WORDS PER PAGE
72 SDSS /WAIT FOR A BLOCK MARK (TAPE IS
73 JMP .-1 /STILL MOVING)
76 TAD KM26 /IS IT A BLOCK MARK?
78 JMP TDBOOT+2 /NO..WAIT A WHILE LONGER
79 SDRD /GET THE BLOCK NO.
80 TDBKNO, TAD TDM14 /NEED DECTAPE BLOCKS 154 & 155 (REC. 66)
82 JMP TDBOOT+2 /NOT YET, BUSTER
84 JMP .-1 /NOW LET'S LOOK FOR A REVERSE GUARD WORD
89 JMP TDRGRD /KEEP LOOKING FOR IT
92 JMS TDRQD /SKIP CONTROL WORDS
93 CDF 10 /LOAD UP FIELD 1
94 TDREAD, JMS TDRQD /GET A DATA WORD
96 ISZ TDPTR /ARE WE DONE?
98 ISZ TDBKNO /YES..LOOK AT BLOCK 15
100 DCA TDREAD-1 /LOAD UP FIELD 2
101 ISZ M2 /DONE THIS JUNK?
102 JMP TDBOOT /GO DO FIELD 2
124 / THIS BOOTSTRAP RESIDES IN BLOCK 0
125 / BLOCK 1/2 CONTAINS THE USUAL IMAGE OF 07600
126 / BLOCK 66 CONTAINS THE IMAGE OF 17600
127 / BLOCK 66 1/2 CONTAINS THE IMAGE OF 27600
131 /TD8E DECTAPE SYSTEM HANDLER
132 /THIS HANDLER CAN DRIVE UNITS 0&1, AND IS PERMANENTLY
133 /RESIDENT IN FIELDS 0&2.
140 SHNDLR, VERSION /UNIT 0 ENTRY POINT
143 C3, 3 /MUST BE HERE FOR BUILD
145 SDTA1, VERSION /UNIT 1 ENTRY
147 SC1000, TAD SDTA1 /DOUBLES AS CONSTANT 1000
148 DCA SHNDLR /GET ARGS AT SHNDLR
154 TAD I SHNDLR /FUNCTION WORD
155 SDLD /PUT IT IN DATA EGISTER
156 AND S70 /SDLD DOES NOT 0 AC..GET FIELD
157 TAD S6203 /CIF CDF N FOR TRANSFER FIELD
160 TAD I SHNDLR /BUFFER ADDRESS
163 TAD I SHNDLR /BLOCK #. TIMES 2 FOR REAL #
166 ISZ SHNDLR /POINT TO ERROR EXIT
167 CIF CDF 20 /PUT UNIT # INTO FIELD 2
170 JMP F2SET /TO FIELD 2 FOR INIT.
172 F1GO, SDRD /INITIAL DIRECTION TO LINK
175 \fRENTER, TAD BPTR /DONE THIS BLOCK..NEXT ADDRESS
178 ISZ BLOCK /NEXT TAPE BLOCK..CAN'T SKIP
179 CLL CML /FORCE FORWARD MOTION
180 RGO, CLA CML RTR /LINK TO MOTION BIT
186 SDRD /KNOCK DOWN QUAD FLAG
189 SDRD /THIS IS NEEDED, ELSE TIME ERROR!!!
191 SRCH, SDSS /WAIT FOR A BLOCK MARK
193 SDRC /GET MARK TRACK BITS
194 CLL RTL /DIRECTION TO LINK
196 TAD SM110 /IS IT A N END ZONE?
199 TAD SM20 /MAYBE A BLOCK MARK?
201 JMP SRCH /NEITHER..KEEP GOING
202 SDRD /READ THE BLOCK #
203 SZL /IF REVERSE, LOOK 3 AHEAD OF TARGET
208 SNA /IS IT THE RIGHT ONE?
210 SM110, CLA SNA SZL /SNA SUPERFLUOUS..ONLY SZL VALID
211 JMP SRCH /HEADED FOR IT..KEEP GOING
214 SZL CLA /IF IN END ZONE FORWARD, GIVE ERROR
216 CIF 20 /IF IT IS REALL END ZONE, AN ERROR
219 FOUND, SZL CLA /RIGHT BLOCK..HOW ABOUT DIRECTION?
220 JMP RGO /WRONG..EXECUTE TURNAROUND
222 TFLD, HLT /GETS CIF CDF N
224 JMP RDWT /LET'S TRANSFER DATA
226 SEXIT, ISZ SHNDLR /NORMAL RETURN
227 SEREX, TAD SUNIT /STOP THE TAPE
229 CML CLA RAR /EITHER 0 OR 4000 IN AC ON RETURN
245 RELOC 7600 /RUNS IN 27600
247 XPTR, 0 /BUFFER POINTER
248 F2SET, CLA CLL CMA RTL /3 ERROR TRIES
250 TAD SXUNIT /MAKE SURE TAPE IS STOPPED
255 AND CX7600 /PAGE COUNT
258 DCA SXFUN /SAVE THE FUNCTION WORD
261 RDWT, DCA XPTR /SAVE NEW BUFFER ADDRESS
263 DCA XWCNT /128 WORDS PER BLOCK
264 REVGRD, SDSS /WAIT FOR REVERSE GUARD WORD
268 TAD XM32 /IS IT REVERSE GUARD?
272 SK7700, SMA CLA /READ OR WRITE?
275 AND C300 /ERRORS ON WRITE LOCKOUT AND TIME
278 JMS RDQUAD /SKIP A WORD
282 SDLC /TURN ON THE WRITE
284 JMS WRQUAD /WRITE 7777 IN REV. CHECKSUM
286 DCA SCKSUM /AND ALSO IN COMPUTE CHECKSUM
288 JMS WRQUAD /WRITE THE DATA
290 X77, 77 /JUST IN CASE
293 JMS WRQUAD /WRITE AND CHECKSUM A WORD OF 0
294 JMS GETCHK /GET CHECKSUM
296 JMS WRQUAD /LET CHECKSUM GET WRITTEN
298 RWCOM, SDST /CHECK FOR TIME AND CHECKSUM ERRORS
300 JMP ERROR /NOTE THAT LINK IS OFF AT RWCOM
302 TAD XPGCT /FINISHED TRANSFER?
303 TAD CX7600 /LINK GOES ON HERE
305 JMP SEXIT /YES..GETOUT
309 READ, JMS RDQUAD /SKIP CONTROL WORDS
311 JMS RDQUAD /GET CHECKSUM
323 JMS RDQUAD /READ AND CHECKSUM LAST WORD
325 JMS RDQUAD /GET CHECKSUM
331 ERROR, CLA CLL /THIS CAUSES SEARCH REVERSE AT RGO
333 ISZ TRYCNT /EXHAUSTED ERROR TRIES?
335 JMP SEREX /YES..FATAL EXIT
337 WRQUAD, 0 /WRITE A 12 BIT WORD
341 JMS EQUFUN /SDLD LEAVES AC ALONE
344 RDQUAD, 0 /READ A 12 BIT WORD
349 \fEQUFUN, 0 /EQUIVALENCE CHECKSUM
380 /THE LAST 4 LOCS. ARE FREE FOR USE BY BATCH