mirror of
https://github.com/livingcomputermuseum/DumpDectape.git
synced 2026-01-13 15:37:24 +00:00
Delete dump-old.lst
This commit is contained in:
parent
ad00a5aeef
commit
3dfb351d14
@ -1,854 +0,0 @@
|
||||
|
||||
|
||||
|
||||
/ TD8E 18-bit DECtape DUMP Program. Based on DUMPREST code fro Page 1
|
||||
|
||||
|
||||
1 / TD8E 18-bit DECtape DUMP Program. Based on DUMPREST code from D. Gesswein
|
||||
2 / (see ftp://ftp.pdp8online.com/software/dumprest).
|
||||
3 / Modified for 18-bit DECtape w/standard checksum imaging by J. Dersch
|
||||
4 /
|
||||
5 / This program will send a DECtape image out the console port.
|
||||
6 / The format of the data sent is 0xff (0377) or 0xfd if read error
|
||||
7 / followed by 384 12-bit words (256 18-bit words) of data for each block.
|
||||
8 / After the last block a 0xfe (0376) is sent
|
||||
9 / with a two byte checksum, low 8 bits first then upper 4.
|
||||
10 / The words in a block are sent as three bytes for each 2 words.
|
||||
11 / 1 = low 8 bits first word
|
||||
12 / 2 = upper 4 bits first and lower 4 bits second
|
||||
13 / 3 = upper 8 bits second word
|
||||
14 /
|
||||
15 / The program (PC) receiving the data should be started before this program.
|
||||
16 /
|
||||
17 / To run, start at 0200.
|
||||
18 / SR 11 should be drive, only 0 and 1 supported without reassembling
|
||||
19 / SR 6-8 should be maximum memory field in computer, needs 8k minimum
|
||||
20 /
|
||||
21 / The receiving program should be running first.
|
||||
22 / At normal exit hitting cont will restart the program.
|
||||
23 /
|
||||
24 / Should halt at label finish (140) with number of recoverable errors in AC
|
||||
25 / The current block being read will be displayed in the AC
|
||||
26 / while running.
|
||||
27 /
|
||||
28 / The PC program will print out the bad location if an error occurs.
|
||||
29 /
|
||||
30 / We will retry each read up to four times on error.
|
||||
31 /
|
||||
32 / This transfers the standard 256 word by 578 blocks used by 18-bit DEC hardware,
|
||||
33 / using standard checksums (as used by the PDP-9 and later machines).
|
||||
34 / It will read as many blocks are present up to the forward end-zone, so it will
|
||||
35 / handle tapes that vary from the standard 1102(8) block length.
|
||||
36 /
|
||||
37 0030 INAD=030 / Address of serial input, 30 for console
|
||||
38 6030 KCF2=6000 INAD
|
||||
39 6031 KSF2=6001 INAD
|
||||
40 6032 KCC2=6002 INAD
|
||||
41 6034 KRS2=6004 INAD
|
||||
42 6035 KIE2=6005 INAD
|
||||
43 6036 KRB2=6006 INAD
|
||||
44
|
||||
45 0040 OUTAD=040 / Address of serial output, 40 for console
|
||||
46 6040 TFL2=6000 OUTAD
|
||||
47 6041 TSF2=6001 OUTAD
|
||||
48 6042 TCF2=6002 OUTAD
|
||||
49 6044 TPC2=6004 OUTAD
|
||||
50 6045 TSK2=6005 OUTAD
|
||||
|
||||
|
||||
|
||||
/ TD8E 18-bit DECtape DUMP Program. Based on DUMPREST code fro Page 2
|
||||
|
||||
|
||||
51 6046 TLS2=6006 OUTAD
|
||||
52
|
||||
53 /2 TD8E INITIALIZER PROGRAM, V7A
|
||||
54 /
|
||||
55 /COPYRIGHT (C) 1975, 1977
|
||||
56 /DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
|
||||
57 /
|
||||
58 /
|
||||
59 /
|
||||
60 /THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A
|
||||
61 /SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE INCLU-
|
||||
62 /SION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR ANT OTHER
|
||||
63 /COPIES THEREOF, MAY NOT BR PROVIDED OR OTHERWISE MADE AVAILABLE
|
||||
64 /TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO
|
||||
65 /AGREES TO THESE LICENSE TERMS. TITLE TO AND OWNERSHIP OF THE
|
||||
66 /SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC.
|
||||
67 /
|
||||
68 /
|
||||
69 /THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
|
||||
70 /NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
|
||||
71 /EQUIPMRNT COROPATION.
|
||||
72 /
|
||||
73 /DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
|
||||
74 /SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
|
||||
75 /
|
||||
76 /
|
||||
77 /
|
||||
78 /
|
||||
79 /
|
||||
80 /
|
||||
81
|
||||
82 /DECEMBER 21, 1973 GB/RL/EF/SR
|
||||
83
|
||||
84 /ABSTRACT--
|
||||
85 / THE ROUTINE DESCRIBED AND LISTED HERE IS A GENERAL
|
||||
86 /DATA HANDLER FOR THE TD8E DECTAPE SYSTEM. THE ROUTINE
|
||||
87 /CONTAINS SEARCH, READ, AND WRITE FUNCTIONS IN A FORMAT
|
||||
88 /WHICH IS COMPATIBLE WITH OS/8 DEVICE HANDLER CALLING
|
||||
89 /SEQUENCES.
|
||||
90
|
||||
91 /FIXES SINCE FIELD-TEST RELEASE:
|
||||
92
|
||||
93 /1. FIXED BUG RE CLA ON RETRY AFTER ERROR
|
||||
94 /2. ALLOWED FINAL BOOTSTRAP TO BE INTO A WRITE-LOCKED DEVICE
|
||||
95
|
||||
96 /OS/8 V3D CHANGES:
|
||||
97
|
||||
98 /3. FIXED BUG RE TD8E BUILD (V6B PATCH)
|
||||
99
|
||||
100 /THIS ROUTINE CAN BE RE-EDITED AND ASSEMBLED TO PRODUCE
|
||||
|
||||
|
||||
|
||||
/ TD8E 18-bit DECtape DUMP Program. Based on DUMPREST code fro Page 3
|
||||
|
||||
|
||||
101 /VARIATIONS ON THE BASIC TD8E SYSTEM. ASSEMBLY PARAMETERS
|
||||
102 /CONTROL:
|
||||
103 /A) WHAT DRIVES (UNITS 0-7) WILL BE USED
|
||||
104 /B) THE ORIGIN OF THE TWO PAGE ROUTINE
|
||||
105 /C) WHAT MEMORY FIELD THE ROUTINE WILL RUN IN
|
||||
106 /D) THE SIZE OF THE DECTAPE BLOCK TO BE READ/WRITTEN
|
||||
107
|
||||
108 /FOLLOWING ARE THE PARAMETERS SET UP FOR THE STANDARD
|
||||
109 /DEC VERSION OF THIS ROUTINE:
|
||||
110
|
||||
111 0010 DRIVE=10 /UNITS 0 AND 1 SELECTED
|
||||
112 0600 ORIGIN=600 /ENTER AT ORIGIN, ORIGIN+4
|
||||
113 0000 AFIELD=0 /INITIAL FIELD SETTING
|
||||
114 0000 MFIELD=00 /AFIELD*10=MFIELD
|
||||
115 0600 WDSBLK=600 /384 12-BIT WORDS PER BLOCK (256 18-BIT DATA WORDS)
|
||||
116
|
||||
117 /THE USE OF THE PARAMETERS IS AS FOLLOWS:
|
||||
118
|
||||
119 / DRIVE: DRIVE DETERMINES WHICH UNITS WILL BE SELECTED
|
||||
120 / DRIVE=10 IMPLIES UNITS 0 &1
|
||||
121 / DRIVE=20 IMPLIES UNITS 2&3
|
||||
122 / DRIVE=30 IMPLIES UNITS 4&5
|
||||
123 / DRIVE=40 IMPLIES UNITS 6&7
|
||||
124
|
||||
125 /ORIGIN: ALTERING ORIGIN CAUSES ASSEMBLY IN A DIFFERENT
|
||||
126 / MEMORY LOCATION. WHEN CHANGING ORIGIN KEEP IN MIND
|
||||
127 /THAT THIS IS A TWO PAGE ROUTINE.
|
||||
128
|
||||
129 /AFIELD: AFIELD DETERMINES THE INITIAL FIELD SETTING FOR THE
|
||||
130 / LOADER. PERMISSIBLE VALUES FOR AFIELD ARE 0 TO 7.
|
||||
131
|
||||
132 /MFIELD: MFIELD IS USED IN A CIF CDF MFIELD INSTRUCTION.
|
||||
133 / THE VALUE INSERTED FOR MFIELD SHOULD BE 10(8) TIMES
|
||||
134 / THE VALUE FOR AFIELD. THE PERMISSIBLE VALUES ARE 00-70.
|
||||
135
|
||||
136 /WDSBLK: WDSBLK GOVERNS HOW MANY WORDS THE ROUTINE THINKS ARE
|
||||
137 / IN A DECTAPE BLOCK. THE STANDARD VALUE IS 201(8) OR
|
||||
138 / 128 DECIMAL. NOTE THAT THE FUNCTION WORD BIT 10 CAN
|
||||
139 / 129 DECIMAL ??? (DJG)
|
||||
140 / BE USED TO SUBTRACT ONE FROM WDSBLK. THE VALUE USED
|
||||
141 / FOR WDSBLK SHOULD BE THE NUMBER OF WORDS THE TAPE WAS
|
||||
142 / FORMATTED TO CONTAIN.
|
||||
143
|
||||
144 /IF WE WANT A HANDLER FOR UNITS 2&3 TO RESIDE IN
|
||||
145 /FIELD 2 AT LOCATION 3000 AND READ/WRITE 256(10) WORDS
|
||||
146 /PER BLOCK, THE PARAMETERS WOULD BE:
|
||||
147 / DRIVE=20
|
||||
148 / ORIGIN=3000
|
||||
149 / AFIELD=2
|
||||
150 / MFIELD=20
|
||||
|
||||
|
||||
|
||||
/ TD8E 18-bit DECtape DUMP Program. Based on DUMPREST code fro Page 4
|
||||
|
||||
|
||||
151 / WDSBLK=400
|
||||
152 /THE CALL TO THE SUBROUTINE FOLLOWS BASICALLY THE
|
||||
153 /CALLING SEQUENCE FOR OS/8 DEVICE HANDLERS.
|
||||
154 /THE CALLING SEQUENCE IS:
|
||||
155
|
||||
156 / CDF CURRENT
|
||||
157 / CIF MFIELD /MFIELD=FIELD ASSEMBLED IN
|
||||
158 / JMS ENTRY /ENTRY=ORIGIN (EVEN NUMBERED DRIVE
|
||||
159 /AND ORIGIN+4 FOR ODD NUMBERED DRIVE.
|
||||
160 / ARG1
|
||||
161 / ARG1B (DJG)
|
||||
162 / ARG2
|
||||
163 / ARG3
|
||||
164 / ERROR RETURN
|
||||
165 / NORMAL RETURN
|
||||
166
|
||||
167 /THE ARGUMENTS ARE:
|
||||
168
|
||||
169 /ARG1: FUNCTION WORD BIT0: 0=READ, 1=WRITE
|
||||
170 / BITS 1-5: UNUSED, WAS # BLOCKS IN OPERATION (DJG)
|
||||
171 / BITS 6-8: FIELD OF BUFFER AREA
|
||||
172 / BIT 9: UNUSED
|
||||
173 / BIT 10: # OF WORDS/BLOCK.
|
||||
174 / 0= WDSBLK, 1=WDSBLK-1
|
||||
175 / BIT 11: 1=START FORWARD, 0=REVERSE
|
||||
176 /ARG1A: # OF BLOCKS IN OPERATIONA (DJG)
|
||||
177 /ARG2: BUFFER ADDRESS FOR OPERATION
|
||||
178 /ARG3: STARTING BLOCK FOR OPERATION
|
||||
179
|
||||
180 /ERRORS: THE HANDLER DETECTS TWO TYPES OF ERRORS:
|
||||
181 /A) FATAL ERRORS- PARITY ERROR, TIMING ERROR,
|
||||
182 / TOO GREAT A BLOCK NUMBER
|
||||
183 / FATAL ERRORS TAKE ERROR RETURN WITH THE
|
||||
184 / AC=4000.
|
||||
185 /B) NON-FATAL- SELECT ERROR.
|
||||
186 / IF NO PROPER UNIT IS SELECTED, THE ERROR
|
||||
187 / RETURN IS TAKEN WITH CLEAR AC.
|
||||
188 /FATAL ERRORS TRY THREE TIMES BEFORE TAKING ERROR RETURN.
|
||||
189 /THE NORMAL RETURN IS TAKEN AFTER ALL INDICATED
|
||||
190 /BLOCKS HAVE BEEN TRANSFERRED. THE AC IS CLEAR.
|
||||
191
|
||||
192 /THE TD8E IOT'S ARE:
|
||||
193 6771 SDSS=7001-DRIVE /SKIP ON SINGLE LINE FLAG
|
||||
194 6772 SDST=7002-DRIVE /SKIP ON TIMING ERROR
|
||||
195 6773 SDSQ=7003-DRIVE /SKIP ON QUAD LINE FLAG
|
||||
196 6774 SDLC=7004-DRIVE /LOAD COMMAND REGISTER
|
||||
197 6775 SDLD=7005-DRIVE /LOAD DATA REGISTER
|
||||
198 6776 SDRC=7006-DRIVE /READ COMMAND REGISTER
|
||||
199 6777 SDRD=7007-DRIVE /READ DATA REGISTER
|
||||
200
|
||||
|
||||
|
||||
|
||||
/ TD8E 18-bit DECtape DUMP Program. Based on DUMPREST code fro Page 5
|
||||
|
||||
|
||||
201 /THE IOT'S IN GENERAL ARE 677X,676X,675X,AND 674X.
|
||||
202 /THE OTHERS CONTROL UNITS 2-7.
|
||||
203
|
||||
204 / THIS HANDLER USES DECTAPE BLOCKS NOT OS/8 BLOCKS !
|
||||
205
|
||||
206 0600 *ORIGIN
|
||||
207
|
||||
208 / MODIFIED SO BIT 0 ON ENTRY IS UNIT 1
|
||||
209 00600 0000 DTA0, 0
|
||||
210 00601 3047 DCA UNIT /SAVE UNIT POSITION
|
||||
211 00602 6214 RDF
|
||||
212 00603 1362 TAD C6203 /GET DATA FIELD AND SETUP RETURN
|
||||
213 00604 3360 DCA LEAVE
|
||||
214 00605 1600 TAD I DTA0 /GET FUNCTION WORD
|
||||
215 00606 6775 SDLD /PUT FUNCTION INTO DATA REGISTER
|
||||
216 00607 7112 CLL RTR /AC STILL HAS FUNCTION. PUT # WORDS PER
|
||||
217 /BLOCK INTO LINK
|
||||
218 00610 7630 SZL CLA /KNOCK ONE OFF WDSBLK?
|
||||
219 00611 7001 IAC /YES
|
||||
220 00612 1022 TAD MWORDS
|
||||
221 00613 3023 DCA WCOUNT /STORE MASTER WORD COUNT
|
||||
222 00614 2200 ISZ DTA0 /TO BLOCK COUNT (DJG)
|
||||
223 00615 1600 TAD I DTA0 / (DJG)
|
||||
224 00616 7041 CIA / (DJG)
|
||||
225 00617 3051 DCA PGCT / (DJG)
|
||||
226 00620 2200 ISZ DTA0 /TO BUFFER
|
||||
227 00621 1600 TAD I DTA0
|
||||
228 00622 3044 DCA XBUFF /SAVE ADDRESS (DJG)
|
||||
229 / DCA BUFF
|
||||
230 00623 2200 ISZ DTA0 /TO BLOCK NUMBER
|
||||
231 00624 1600 TAD I DTA0
|
||||
232 00625 3046 DCA BLOCK
|
||||
233 00626 2200 ISZ DTA0 /POINT TO ERROR EXIT
|
||||
234 00627 6203 CIF CDF MFIELD /TO ROUTINES DATA FIELD
|
||||
235 / SDRD /GET FUNCTION INTO AC
|
||||
236 / CLL RAL
|
||||
237 / AND CM200 /GET # PAGES TO XFER
|
||||
238 / DCA PGCT
|
||||
239 00630 6777 SDRD
|
||||
240 00631 0376 AND C70 /GET FIELD FOR XFER
|
||||
241 00632 1363 TAD C6201 /FORM CDF N
|
||||
242 00633 3253 DCA XFIELD /IF=0 AND DF=N AT XFER.
|
||||
243 00634 1047 TAD UNIT /TEST FOR SELECT ERROR
|
||||
244 00635 6774 SDLC
|
||||
245 00636 7200 CLA / Moved here because my drive 1 is slow selecting
|
||||
246 00637 1020 TAD RETRY
|
||||
247 00640 3050 DCA TRYCNT /3 ERROR TRIES
|
||||
248 00641 6776 SDRC
|
||||
249 00642 0366 AND C100
|
||||
250 00643 7640 SZA CLA
|
||||
|
||||
|
||||
|
||||
/ TD8E 18-bit DECtape DUMP Program. Based on DUMPREST code fro Page 6
|
||||
|
||||
|
||||
251 00644 5353 JMP FATAL-1
|
||||
252 00645 6777 SDRD /PUT FUNCT INTO XFUNCT IN SECOND PG.
|
||||
253 00646 3765 DCA I CXFUN
|
||||
254 00647 1023 TAD WCOUNT
|
||||
255 00650 3452 DCA I CXWCT
|
||||
256 00651 6777 SDRD /GET MOTION BIT TO LINK
|
||||
257 00652 7110 CLL RAR
|
||||
258 00653 7402 XFIELD, HLT /INTO NEXT PAGE
|
||||
259 00654 5265 JMP GO /AND START THE MOTION.
|
||||
260 00655 6772 RWCOM, SDST /ANY CHECKSUM ERRORS?
|
||||
261 00656 7640 SZA CLA /OR CHECKSUM ERRORS?
|
||||
262 00657 5343 JMP TRY3 /PLEASE NOTE THAT THE LINK IS ALWAYS
|
||||
263 /SET AT RWCOM. GETCHK SETS IT.
|
||||
264 / TAD PGCT /NO ERROR..FINISHED XFER?
|
||||
265 / TAD CM200
|
||||
266 / SNA
|
||||
267 00660 2051 ISZ PGCT / (DJG)
|
||||
268 00661 7410 SKP / (DJG)
|
||||
269 00662 5352 JMP EXIT /ALL DONE. GET OUT
|
||||
270 / DCA PGCT /NEW PAGE COUNT
|
||||
271 00663 2046 ISZ BLOCK /NEXT BLOCK TO XFER
|
||||
272 / TAD WCOUNT /FORM NEXT BUFFER ADDRESS
|
||||
273 / CIA
|
||||
274 / TAD BUFF
|
||||
275 / DCA XBUFF /SAVE ADDRESS (DJG)
|
||||
276 / DCA BUFF / (DJG)
|
||||
277 00664 7120 CLL CML /FORCES MOTION FORWARD
|
||||
278 00665 7232 GO, CLA CML RTR /LINK BECOMES MOTION BIT
|
||||
279 00666 1367 TAD C1000
|
||||
280 00667 1047 TAD UNIT /PUT IN 'GO' AND UNIT #
|
||||
281 00670 6774 SDLC /LOOK FOR BLOCK NO.
|
||||
282 00671 7200 CLA
|
||||
283 00672 1044 TAD XBUFF
|
||||
284 00673 3043 DCA OLDBUF
|
||||
285 00674 6214 RDF
|
||||
286 00675 1363 TAD C6201
|
||||
287 00676 3344 DCA OLDFLD
|
||||
288 00677 4764 JMS I CRDQUD /WAIT AT LEAST 6 LINES TO LOOK
|
||||
289 00700 4764 JMS I CRDQUD
|
||||
290 00701 7600 CM200, 7600 /COULD HAVE SAVED A LOC. HERE
|
||||
291 00702 6771 SRCH, SDSS
|
||||
292 00703 5302 JMP .-1 /WAIT FOR SINGLE LINE FLAG
|
||||
293 00704 6776 SDRC
|
||||
294 00705 7106 CLL RTL /DIRECTION TO LINK. INFO BITS
|
||||
295 /ARE SHIFTED.
|
||||
296 00706 0045 AND C374 /ISOLATE MARK TRACK BITS
|
||||
297 00707 1325 TAD M110 /IS IT END ZONE?
|
||||
298 00710 7450 SNA /THE LINK STAYS SAME THRU THIS
|
||||
299 00711 5333 JMP ENDZ
|
||||
300 00712 1053 TAD M20 /CHECK FOR BLOCK MARK
|
||||
|
||||
|
||||
|
||||
/ TD8E 18-bit DECtape DUMP Program. Based on DUMPREST code fro Page 7
|
||||
|
||||
|
||||
301 00713 7640 SZA CLA
|
||||
302 00714 5302 JMP SRCH
|
||||
303 00715 6777 SDRD /GET THE BLOCK NUMBER
|
||||
304 00716 7430 SZL /IF WE ARE IN REVERSE, LOOK FOR 3
|
||||
305 /BLOCKS BEFORE TARGET BLOCK. THIS
|
||||
306 /ALLOWS TURNAROUND AND UP TO SPEED.
|
||||
307 00717 1377 TAD C3 /REVERSE
|
||||
308 00720 7040 CMA
|
||||
309 00721 1046 TAD BLOCK
|
||||
310 00722 7040 CMA /IS IT RIGHT BLOCK?
|
||||
311 00723 7450 SNA
|
||||
312 00724 5372 JMP FOUND /YES..HOORAY!
|
||||
313 00725 7670 M110, SZL SNA CLA /NO, BUT ARE WE HEADED FOR IT?
|
||||
314 /ABOVE SNA IS SUPERFLUOUS.
|
||||
315 00726 5302 JMP SRCH /YES
|
||||
316 00727 6776 SDRC /NO, TURN US AROUND.
|
||||
317 00730 7106 CLL RTL /DIRECTION TO LINK
|
||||
318 00731 7200 CLA /
|
||||
319 00732 5265 JMP GO /
|
||||
320 00733 6776 ENDZ, SDRC /WE ARE IN THE END ZONE
|
||||
321 00734 7106 CLL RTL /DIRECTION TO LINK
|
||||
322 00735 7630 SZL CLA /ARE WE IN REVERSE?
|
||||
323 00736 5265 JMP GO /YES..TURN US AROUND
|
||||
324 00737 1046 TAD BLOCK /BLOCK 0?
|
||||
325 00740 7640 SZA CLA
|
||||
326 00741 5355 JMP ENDEX /END OF TAPE. STOP THE UNIT AND TAKE THE END EXIT.
|
||||
327 00742 5265 JMP GO
|
||||
328 00743 7200 TRY3, CLA
|
||||
329 00744 7000 OLDFLD, NOP
|
||||
330 00745 1043 TAD OLDBUF
|
||||
331 00746 3044 DCA XBUFF
|
||||
332 00747 2050 ISZ TRYCNT
|
||||
333 00750 5265 JMP GO /TRY 3 TIMES
|
||||
334 00751 5354 JMP FATAL /LINK OFF MEANS AC=4000 ON RETURN
|
||||
335 00752 2200 EXIT, ISZ DTA0 /TAKE THE NORMAL RETURN
|
||||
336 00753 7120 CLL CML /AC=0 ON NORMAL RETURN
|
||||
337 00754 2200 FATAL, ISZ DTA0 /TAKE THE ERROR RETURN
|
||||
338 00755 1047 ENDEX, TAD UNIT
|
||||
339 00756 6774 SDLC /STOP THE UNIT
|
||||
340 00757 7230 CLA CML RAR
|
||||
341 00760 7402 LEAVE, HLT
|
||||
342 00761 5600 JMP I DTA0
|
||||
343
|
||||
344
|
||||
345 00762 6203 C6203, 6203
|
||||
346 00763 6201 C6201, 6201
|
||||
347 00764 1126 CRDQUD, RDQUAD
|
||||
348 /WCOUNT, 0 (MOVED PAGE 0 DJG)
|
||||
349 /BUFF, 0 (UNUSED, JAD)
|
||||
350 /MWORDS, -WDSBLK (MOVED PAGE 0 DJG)
|
||||
|
||||
|
||||
|
||||
/ TD8E 18-bit DECtape DUMP Program. Based on DUMPREST code fro Page 8
|
||||
|
||||
|
||||
351 /UNIT, 0 (MOVED PAGE 0 JAD)
|
||||
352 00765 1166 CXFUN, XFUNCT
|
||||
353 00766 0100 C100, 100
|
||||
354 00767 1000 C1000, 1000
|
||||
355
|
||||
356
|
||||
357 0772 *ORIGIN+172
|
||||
358 00772 7630 FOUND, SZL CLA /RIGHT BLOCK. HOW ABOUT DIRECTION?
|
||||
359 00773 5265 JMP GO /WRONG..TURN AROUND
|
||||
360 00774 1047 TAD UNIT /PUT UNIT INTO LINK
|
||||
361 00775 7104 CLL RAL /AC IS NOW 0
|
||||
362 00776 0070 C70, 70 /********DON'T MOVE THIS!!!!******
|
||||
363 00777 0003 C3, 3
|
||||
364 / TAD BUFF /GET BUFFER ADDRESS (DJG)
|
||||
365 /XFIELD, HLT /INTO NEXT PAGE
|
||||
366 1000 *ORIGIN+200
|
||||
367 01000 6202 CIF MFIELD
|
||||
368 / DCA XBUFF /SAVE ADDRESS (DJG)
|
||||
369 01001 7010 RAR /NOW GET UNIT #
|
||||
370 01002 3333 DCA XUNIT
|
||||
371 01003 6776 SDRC
|
||||
372 01004 6774 SDLC
|
||||
373 01005 6771 REVGRD, SDSS
|
||||
374 01006 5205 JMP .-1 /LOOK FOR REVERSE GUARD
|
||||
375 01007 6776 SDRC
|
||||
376 01010 0261 AND K77
|
||||
377 01011 1367 TAD CM32 /IS IT REVERSE GUARD?
|
||||
378 01012 7640 SZA CLA
|
||||
379 01013 5205 JMP REVGRD /NO.KEEP LOOKING
|
||||
380 01014 1373 TAD XWCT
|
||||
381 01015 3372 DCA WORDS /WORD COUNTER
|
||||
382 01016 1366 TAD XFUNCT /GET FUNCTION READ OR WRITE
|
||||
383 01017 7700 K7700, SMA CLA
|
||||
384 01020 5262 JMP READ /NEG. IS WRITE
|
||||
385 01021 6776 WRITE, SDRC
|
||||
386 01022 0316 AND C300 /CHECK FOR WRITE LOCK AND SELECT ERROR
|
||||
387 01023 7120 CLL CML /LOCK OUT AND SELECT ARE AC 0 ERRORS
|
||||
388 01024 7640 SZA CLA
|
||||
389 01025 5764 JMP I CFATAL /FATAL ERROR. LINK MUST BE ON
|
||||
390 01026 4326 JMS RDQUAD /NO ONE EVER USES THIS WORD!
|
||||
391 01027 7600 C7600, 7600
|
||||
392 01030 1370 TAD C1400
|
||||
393 01031 1333 TAD XUNIT /INITIATE WRITE MODE
|
||||
394 01032 6774 SDLC
|
||||
395 01033 7240 CLA CMA
|
||||
396 01034 4317 JMS WRQUAD /PUT 77 IN REVERSE CHECKSUM
|
||||
397 01035 7240 CLA CMA
|
||||
398 01036 3371 DCA CHKSUM
|
||||
399 01037 1444 WRLP, TAD I XBUFF /GLORY BE! THE ACTUAL WRITE!
|
||||
400 01040 4317 JMS WRQUAD
|
||||
|
||||
|
||||
|
||||
/ TD8E 18-bit DECtape DUMP Program. Based on DUMPREST code fro Page 9
|
||||
|
||||
|
||||
401 01041 2044 ISZ XBUFF /BUMP CORE POINTER
|
||||
402 01042 5247 JMP STFLD1+1 /NOT AT END OF FIELD (DJG)
|
||||
403 01043 6214 RDF
|
||||
404 01044 1377 TAD (6211
|
||||
405 01045 3246 DCA STFLD1
|
||||
406 01046 7000 STFLD1, NOP
|
||||
407 01047 2372 ISZ WORDS /DONE THIS BLOCK?
|
||||
408 01050 5237 JMP WRLP /NOT YET..LOOP A WHILE
|
||||
409 01051 1366 TAD XFUNCT /IS THE OPERATION FOR WDSBLK PER BLOCK?
|
||||
410 01052 7112 CLL RTR /IF NO, WRITE A 0 WORD
|
||||
411 01053 7630 SZL CLA
|
||||
412 01054 4317 JMS WRQUAD /WRITE A WORD OF 0
|
||||
413 01055 4350 JMS GETCHK /DO THE CHECK SUM
|
||||
414 01056 4317 JMS WRQUAD /WRITE FORWARD CHECKSUM
|
||||
415 01057 4317 JMS WRQUAD /ALLOW CHECKSUM TO BE WRITTEN
|
||||
416 01060 5765 JMP I CRWCOM
|
||||
417 01061 0077 K77, 77 /ABOVE MAY SKIP (NOT ANYMORE DJG)
|
||||
418 01062 4326 READ, JMS RDQUAD
|
||||
419 01063 4326 JMS RDQUAD
|
||||
420 01064 4326 JMS RDQUAD /SKIP CONTROL WORDS
|
||||
421 01065 0261 AND K77
|
||||
422 01066 1217 TAD K7700 /TACK 7700 ONTO CHECKSUM.
|
||||
423 01067 3371 DCA CHKSUM /CHECKSUM ONLY LOW 6 BITS ANYWAY
|
||||
424 01070 4326 RDLP, JMS RDQUAD
|
||||
425 01071 4333 JMS EQUFUN /COMPUT CHECKSUM AS WE GO
|
||||
426 01072 3444 DCA I XBUFF /IT GETS CONDENSED LATER
|
||||
427 01073 2044 ISZ XBUFF /AT END OF FIELD?
|
||||
428 01074 5301 JMP STFLD2+1 /NOT AT END OF FIELD (DJG)
|
||||
429 01075 6214 RDF
|
||||
430 01076 1377 TAD (6211
|
||||
431 01077 3300 DCA STFLD2
|
||||
432 01100 7000 STFLD2, NOP
|
||||
433 01101 2372 ISZ WORDS /DONE THIS OP?
|
||||
434 01102 5270 JMP RDLP /NO SUCH LUCK
|
||||
435 01103 1366 TAD XFUNCT /IF OP WAS FOR WDSBLK-1, READ AND
|
||||
436 01104 7112 CLL RTR /CHECKSUM THE LAST TAPE WORD
|
||||
437 01105 7620 SNL CLA
|
||||
438 01106 5311 JMP RDLP2
|
||||
439 01107 4326 JMS RDQUAD /NOT NEEDED FOR WDSBLK/BLOCK
|
||||
440 01110 4333 JMS EQUFUN /CHECKSUM IT
|
||||
441 01111 4326 RDLP2, JMS RDQUAD /READ CHECKSUM
|
||||
442 01112 0217 AND K7700
|
||||
443 01113 4333 JMS EQUFUN
|
||||
444 01114 4350 JMS GETCHK /GET SIX BIT CHECKSUM
|
||||
445 01115 5765 JMP I CRWCOM
|
||||
446 01116 0300 C300, 300 /PROTECTION (NOT ANYMORE DJG)
|
||||
447
|
||||
448 01117 0000 WRQUAD, 0 /WRITE OUT A 12 BIT WORD
|
||||
449 01120 4333 JMS EQUFUN /ADD THIS TO CHECKSUM
|
||||
450 01121 6773 SDSQ /SKIP ON QUADLINE FLAG
|
||||
|
||||
|
||||
|
||||
/ TD8E 18-bit DECtape DUMP Program. Based on DUMPREST code fro Page 10
|
||||
|
||||
|
||||
451 01122 5321 JMP .-1
|
||||
452 01123 6775 SDLD /LOAD DATA ONTO BUS
|
||||
453 01124 7200 CLA /SDLD DOESN'T CLEAR AC
|
||||
454 01125 5717 JMP I WRQUAD
|
||||
455
|
||||
456 01126 0000 RDQUAD, 0 /READ A 12 BIT WORD
|
||||
457 01127 6773 SDSQ
|
||||
458 01130 5327 JMP .-1
|
||||
459 01131 6777 SDRD /READ DATA
|
||||
460 01132 5726 JMP I RDQUAD
|
||||
461
|
||||
462 XUNIT,
|
||||
463 01133 0000 EQUFUN, 0 /COMPUTE EQUIVALENCE CHECKSUM
|
||||
464 01134 7040 CMA
|
||||
465 01135 3374 DCA EQUTMP /ACTUALLY CHECKSUMS ON DECTAPE ARE
|
||||
466 01136 1374 TAD EQUTMP /EQUIVALENCE OF ALL WORDS IN A RECORD
|
||||
467 01137 0371 AND CHKSUM /SIX BITS AT A TIME. BUT SINCE EQUIVALENCE
|
||||
468 01140 7041 CIA /IS ASSOCIATIVE, WE CAN DO IT 12
|
||||
469 01141 7104 CLL RAL /BITS AT A TIME AND CONDENSE LATER.
|
||||
470 01142 1374 TAD EQUTMP /THIS ROUTINE USES THESE IDENTITIES:
|
||||
471 01143 1371 TAD CHKSUM /A+B=(A.XOR.B)+2*(A.AND.B)
|
||||
472 01144 3371 DCA CHKSUM /A.EQU.B=.NOT.(A.XOR.B)=A.XOR.(.NOT.B)
|
||||
473 01145 1374 TAD EQUTMP /A.EQU.B=(A+(.NOT.B))-2*(A.AND.(.NOT.B))
|
||||
474 01146 7040 CMA
|
||||
475 01147 5733 JMP I EQUFUN
|
||||
476
|
||||
477 01150 0000 GETCHK, 0 /FORM 6 BIT CHECKSUM
|
||||
478 01151 7200 CLA
|
||||
479 01152 1371 TAD CHKSUM
|
||||
480 01153 7040 CMA
|
||||
481 01154 7106 CLL RTL
|
||||
482 01155 7006 RTL
|
||||
483 01156 7006 RTL
|
||||
484 01157 4333 JMS EQUFUN
|
||||
485 01160 7320 CLA CLL CML /FORCES LINK ON AT RWCOM
|
||||
486 01161 1371 TAD CHKSUM
|
||||
487 01162 0217 AND K7700
|
||||
488 01163 5750 JMP I GETCHK
|
||||
489
|
||||
490 01164 0754 CFATAL, FATAL
|
||||
491 01165 0655 CRWCOM, RWCOM
|
||||
492 01166 0000 XFUNCT, 0
|
||||
493 01167 7746 CM32, -32
|
||||
494 01170 1400 C1400, 1400
|
||||
495 01171 0000 CHKSUM, 0
|
||||
496 01172 0000 WORDS, 0
|
||||
497 01173 0000 XWCT, 0
|
||||
498 01174 0000 EQUTMP, 0
|
||||
499
|
||||
01177 6211
|
||||
|
||||
|
||||
|
||||
/ TD8E 18-bit DECtape DUMP Program. Based on DUMPREST code fro Page 11
|
||||
|
||||
|
||||
500 0020 *20
|
||||
501 00020 7774 RETRY, 7774 / RETRY UP TO 4 TIME
|
||||
502 00021 1202 NUMBLK, 1202 / MAX NUMBER OF BLOCKS TO ATTEMPT READING
|
||||
503 / (1102(8) blocks of 400(8) 18-bit words + 100 TO HANDLE NONSTANDARD (LONG) TAPES)
|
||||
504 00022 7200 MWORDS, -WDSBLK / WORDS PER BLOCK
|
||||
505 00023 0000 WCOUNT, 0
|
||||
506 00024 0012 BLKFLD, 12 / 10 386-word-blocks (12-bit words, equivalent to 256 18-bit words + 1 cksum word)
|
||||
507 / WRAPPING PAST END OF LAST FIELD DOESN'T WORK
|
||||
508 00025 0000 FIELDS, 0
|
||||
509 00026 0000 RDSIZE, 0 / NUMBER BLOCKS PER READ
|
||||
510 00027 0000 CBLOCK, 0 / CURRENT BLOCK TO XFER
|
||||
511 00030 0000 CLKSUM, 0
|
||||
512 00031 0000 DRVSEL, 0
|
||||
513 00032 0377 READST, 377
|
||||
514 00033 0000 LOC, 0
|
||||
515 00034 0000 LEN, 0
|
||||
516 00035 0000 BCNT, 0 / BLOCKS TO SEND TO PC
|
||||
517 00036 0000 TEMP, 0
|
||||
518 00037 0017 C17, 17
|
||||
519 00040 0360 C360, 360
|
||||
520 00041 0000 CHKSM, 0
|
||||
521 00042 0000 ERRCN2, 0
|
||||
522 00043 0000 OLDBUF, 0 / USED BY DTA0 ROUTINE
|
||||
523 00044 0000 XBUFF, 0 / USED BY DTA0 ROUTINE
|
||||
524 00045 0374 C374, 374 / USED BY DTA0 ROUTINE
|
||||
525 00046 0000 BLOCK, 0 / USED BY DTA0 ROUTINE
|
||||
526 00047 0000 UNIT, 0 / USED BY DTA0 ROUTINE
|
||||
527 00050 7775 TRYCNT, -3 / "
|
||||
528 00051 0000 PGCT, 0 / "
|
||||
529 00052 1173 CXWCT, XWCT / "
|
||||
530 00053 7760 M20, -20 / "
|
||||
531
|
||||
532 0140 *140
|
||||
533 00140 7402 FINISH, HLT / Normal good halt
|
||||
534 00141 5777@ JMP START
|
||||
535
|
||||
536 0200 *200
|
||||
537 00200 6201 START, CDF 0
|
||||
538 00201 6007 CAF
|
||||
539 00202 7704 CLA CLL OSR / Get drive
|
||||
540 00203 0377 AND (1
|
||||
541 00204 7012 RTR
|
||||
542 00205 3031 DCA DRVSEL
|
||||
543 00206 7704 CLA CLL OSR / Get max field
|
||||
544 00207 7012 RTR
|
||||
545 00210 7010 RAR
|
||||
546 00211 0376 AND (7
|
||||
547 00212 7450 SNA
|
||||
548 00213 7402 HLT / Must have at least 1 field for buffer
|
||||
549 00214 7041 CIA
|
||||
|
||||
|
||||
|
||||
/ TD8E 18-bit DECtape DUMP Program. Based on DUMPREST code fro Page 12
|
||||
|
||||
|
||||
550 00215 3025 DCA FIELDS
|
||||
551 00216 3042 DCA ERRCN2
|
||||
552 00217 1024 RDSZLP, TAD BLKFLD / Multiply by number of fields available
|
||||
553 00220 2025 ISZ FIELDS
|
||||
554 00221 5217 JMP RDSZLP
|
||||
555 00222 3026 DCA RDSIZE / NUMBER BLOCK PER READ
|
||||
556 00223 3027 DCA CBLOCK
|
||||
557 00224 3041 DCA CHKSM
|
||||
558
|
||||
559 00225 7200 DUMPLP, CLA
|
||||
560 00226 1026 TAD RDSIZE
|
||||
561 00227 1027 TAD CBLOCK
|
||||
562 00230 7041 CIA
|
||||
563 00231 1021 TAD NUMBLK / MORE BLOCKS LEFT THAN READSIZE?
|
||||
564 00232 7500 SMA / NO, READ NUMBER LEFT
|
||||
565 00233 7200 CLA / YES, ONLY READ RDSIZE
|
||||
566 00234 1026 TAD RDSIZE
|
||||
567 00235 7450 SNA / ANY MORE BLOCKS?
|
||||
568 00236 5270 JMP DONE / NO, DO FINISH STUFF
|
||||
569 00237 3245 DCA ARGSZ
|
||||
570 00240 1027 TAD CBLOCK
|
||||
571 00241 3247 DCA ARGBK
|
||||
572 00242 1031 TAD DRVSEL
|
||||
573 00243 4775@ JMS DTA0
|
||||
574 00244 0010 0010 / READ STARTING IN FIELD 1
|
||||
575 00245 0000 ARGSZ, 0
|
||||
576 00246 0000 0
|
||||
577 00247 0000 ARGBK, 0
|
||||
578 00250 5774@ JMP ENDRET / TAKEN WHEN END OF TAPE IS HIT
|
||||
579 00251 5323 JMP ERRRET / TAKEN WHEN AN ERROR IS ENCOUNTERED
|
||||
580 00252 1373 TAD (377 / All blocks good
|
||||
581 00253 3032 DCA READST
|
||||
582 / Send data, each block starts with FF
|
||||
583 00254 7300 CLA CLL / then 2 12 bit words in 3 bytes
|
||||
584 00255 3033 DCA LOC / ERRRET DUPLICATES SOME OF THIS
|
||||
585 00256 1245 TAD ARGSZ
|
||||
586 00257 7041 CIA
|
||||
587 00260 3035 DCA BCNT / Setup loop counter with number blocks read
|
||||
588 00261 6211 CDF 10
|
||||
589 00262 4772@ OUTBL1, JMS OUTBLK / Send a block
|
||||
590 00263 2027 ISZ CBLOCK
|
||||
591 00264 2035 ISZ BCNT / Send all read?
|
||||
592 00265 5262 JMP OUTBL1 / No
|
||||
593 00266 6201 CDF 0
|
||||
594 00267 5225 JMP DUMPLP / Go read next batch
|
||||
595
|
||||
596
|
||||
597 00270 7200 DONE, CLA / Send FE and -checksum of all words
|
||||
598 00271 1371 TAD (376
|
||||
599 00272 4770@ JMS PUN
|
||||
|
||||
|
||||
|
||||
/ TD8E 18-bit DECtape DUMP Program. Based on DUMPREST code fro Page 13
|
||||
|
||||
|
||||
600 00273 7300 CLA CLL
|
||||
601 00274 1041 TAD CHKSM / Send checksum in two bytes, low bits first
|
||||
602 00275 7041 CIA
|
||||
603 00276 4770@ JMS PUN
|
||||
604 00277 7300 CLA CLL
|
||||
605 00300 1041 TAD CHKSM
|
||||
606 00301 7041 CIA
|
||||
607 00302 7012 RTR
|
||||
608 00303 7012 RTR
|
||||
609 00304 7012 RTR
|
||||
610 00305 7012 RTR
|
||||
611 00306 0037 AND C17
|
||||
612 00307 4770@ JMS PUN
|
||||
613 00310 7200 CLA
|
||||
614 00311 1031 TAD DRVSEL
|
||||
615 00312 4775@ JMS DTA0 / REWIND TAPE
|
||||
616 00313 0010 0010
|
||||
617 00314 0001 1
|
||||
618 00315 0000 0
|
||||
619 00316 0000 0
|
||||
620 00317 7000 NOP
|
||||
621 00320 7000 NOP
|
||||
622 00321 1042 TAD ERRCN2 / Leave AC with # of errors
|
||||
623 00322 5140 JMP FINISH
|
||||
624
|
||||
625 /SEND GOOD BLOCKS READ WITH GOOD BLOCK FLAG
|
||||
626 /THEN BAD WITH BAD BLOCK FLAG.
|
||||
627 ERRRET,
|
||||
628 / HLT / ****** If we want to stop on error
|
||||
629 00323 6211 CDF 10
|
||||
630 00324 7300 CLA CLL
|
||||
631 00325 3033 DCA LOC
|
||||
632 00326 1027 TAD CBLOCK
|
||||
633 00327 7041 CIA
|
||||
634 00330 1046 TAD BLOCK /Get - number good blocks read
|
||||
635 00331 7041 CIA /Last was bad
|
||||
636 00332 7450 SNA
|
||||
637 00333 5343 JMP FSTBAD /First block is bad, no good to send
|
||||
638 00334 3035 DCA BCNT
|
||||
639 00335 1373 TAD (377
|
||||
640 00336 3032 DCA READST
|
||||
641 00337 4772@ OUTBL2, JMS OUTBLK /Send good blocks
|
||||
642 00340 2027 ISZ CBLOCK
|
||||
643 00341 2035 ISZ BCNT
|
||||
644 00342 5337 JMP OUTBL2
|
||||
645 00343 1367 FSTBAD, TAD (375 /NOW SEND BAD BLOCK
|
||||
646 00344 3032 DCA READST
|
||||
647 00345 4772@ JMS OUTBLK
|
||||
648 00346 2027 ISZ CBLOCK
|
||||
649 00347 2042 ISZ ERRCN2
|
||||
|
||||
|
||||
|
||||
/ TD8E 18-bit DECtape DUMP Program. Based on DUMPREST code fro Page 14
|
||||
|
||||
|
||||
650 00350 6201 CDF 0
|
||||
651 00351 5225 JMP DUMPLP /And read from here on
|
||||
652
|
||||
00367 0375
|
||||
00370 0511
|
||||
00371 0376
|
||||
00372 0422
|
||||
00373 0377
|
||||
00374 0400
|
||||
00375 0600
|
||||
00376 0007
|
||||
00377 0001
|
||||
653 PAGE
|
||||
654 ENDRET, /SEND LAST SET OF BLOCKS READ BEFORE END OF TAPE AND FINISH.
|
||||
655 00400 6211 CDF 10
|
||||
656 00401 7300 CLA CLL
|
||||
657 00402 3033 DCA LOC
|
||||
658 00403 1027 TAD CBLOCK
|
||||
659 00404 7041 CIA
|
||||
660 00405 1046 TAD BLOCK / GET NUMBER OF BLOCKS READ IN LAST BATCH
|
||||
661 00406 7040 CMA / +1 to -BCNT SO WE SEND ALL BLOCKS
|
||||
662 00407 7450 SNA
|
||||
663 00410 5777@ JMP DONE / READ ZERO BLOCKS IN LAST BATCH, WE ARE DONE
|
||||
664 00411 3035 DCA BCNT
|
||||
665 00412 1376 TAD (377
|
||||
666 00413 3032 DCA READST
|
||||
667 00414 4222 OUTBL3, JMS OUTBLK / SEND ALL BLOCKS
|
||||
668 00415 2027 ISZ CBLOCK
|
||||
669 00416 2035 ISZ BCNT
|
||||
670 00417 5214 JMP OUTBL3
|
||||
671 00420 6201 CDF 0
|
||||
672 00421 5777@ JMP DONE / NO MORE BLOCKS, DONE.
|
||||
673
|
||||
674 00422 0000 OUTBLK, 0 /Send a block of data out serial port
|
||||
675 00423 7200 CLA
|
||||
676 00424 1023 TAD WCOUNT
|
||||
677 00425 3034 DCA LEN
|
||||
678 00426 1032 TAD READST /Send good/bad flag
|
||||
679 00427 4311 JMS PUN
|
||||
680 00430 7300 OUT, CLA CLL
|
||||
681 00431 1433 TAD I LOC
|
||||
682 00432 1041 TAD CHKSM / Keep checksum of all words sent
|
||||
683 00433 3041 DCA CHKSM
|
||||
684 00434 1433 TAD I LOC / Send 2 words as 3 bytes
|
||||
685 00435 4311 JMS PUN
|
||||
686 00436 7300 CLA CLL
|
||||
687 00437 1433 TAD I LOC
|
||||
688 00440 7012 RTR / Shift top 4 bits to low 4
|
||||
689 00441 7012 RTR
|
||||
690 00442 7012 RTR
|
||||
|
||||
|
||||
|
||||
/ TD8E 18-bit DECtape DUMP Program. Based on DUMPREST code fro Page 15
|
||||
|
||||
|
||||
691 00443 7012 RTR
|
||||
692 00444 0037 AND C17
|
||||
693 00445 3036 DCA TEMP
|
||||
694 00446 2033 ISZ LOC
|
||||
695 00447 5254 JMP STFLD3+1 /NOT AT END OF FIELD (DJG)
|
||||
696 00450 6214 RDF /At end, inc to next field
|
||||
697 00451 1375 TAD (6211 /BUILD CDF
|
||||
698 00452 3253 DCA STFLD3
|
||||
699 00453 7000 STFLD3, NOP
|
||||
700 00454 2034 ISZ LEN /END IF BUFFER?
|
||||
701 00455 7410 SKP /NO
|
||||
702 00456 5306 JMP ENDBK /YES
|
||||
703 00457 1433 TAD I LOC
|
||||
704 00460 1041 TAD CHKSM
|
||||
705 00461 3041 DCA CHKSM
|
||||
706 00462 1433 TAD I LOC
|
||||
707 00463 7006 RTL
|
||||
708 00464 7006 RTL
|
||||
709 00465 0040 AND C360
|
||||
710 00466 1036 TAD TEMP
|
||||
711 00467 4311 JMS PUN
|
||||
712 00470 7300 CLA CLL
|
||||
713 00471 1433 TAD I LOC
|
||||
714 00472 7012 RTR
|
||||
715 00473 7012 RTR
|
||||
716 00474 4311 JMS PUN
|
||||
717 00475 2033 ISZ LOC
|
||||
718 00476 5303 JMP STFLD4+1 /NOT AT END OF FIELD (DJG)
|
||||
719 00477 6214 RDF
|
||||
720 00500 1375 TAD (6211 /BUILD CDF
|
||||
721 00501 3302 DCA STFLD4
|
||||
722 00502 7000 STFLD4, NOP
|
||||
723 00503 2034 ISZ LEN
|
||||
724 00504 5230 JMP OUT
|
||||
725 00505 5622 JMP I OUTBLK
|
||||
726 00506 1036 ENDBK, TAD TEMP /SEND LAST PART OF WORD
|
||||
727 00507 4311 JMS PUN
|
||||
728 00510 5622 JMP I OUTBLK
|
||||
729
|
||||
730 00511 0000 PUN, 0 / Send byte out serial port
|
||||
731 / PLS / Punch for testing with emulator
|
||||
732 00512 6046 TLS2 / Send out console
|
||||
733 00513 7300 CLA CLL
|
||||
734 00514 1027 TAD CBLOCK
|
||||
735 / PSF
|
||||
736 00515 6041 TSF2 /Wait until character sent
|
||||
737 00516 5315 JMP .-1
|
||||
738 00517 7200 CLA
|
||||
739 00520 5711 JMP I PUN
|
||||
740
|
||||
|
||||
|
||||
|
||||
/ TD8E 18-bit DECtape DUMP Program. Based on DUMPREST code fro Page 16
|
||||
|
||||
|
||||
00575 6211
|
||||
00576 0377
|
||||
00577 0270
|
||||
00177 0200
|
||||
741 $
|
||||
|
||||
No detected errors
|
||||
12 links generated
|
||||
Loading…
x
Reference in New Issue
Block a user