A large commit.
[pdp8.git] / sw / dumprest / original / README.TXT
1 This directory contains the programs for dumping and restoring mass storage
2 devices on a PDP8 to another system. Precompiled exe for MSDOS are
3 provided which will run under windows also but will only work with 8.3
4 file names (up to 8 character file name with 3 character extention
5 after the period). When running under windows don't have any other programs
6 running. The serial port will not be usable by windows programs until you
7 close the DOS window that these programs were run in.
8
9 Examples of how to use are at the end of this readme
10
11 The top of each program tells how to use them. Most of these programs
12 use two fields so you need at least 8k memory. If they don't end at the
13 normal halt they may leave the data field non zero so remember to do an
14 extd addr load to clear.
15
16 The top of config.c tells the format of the config file needed to use these
17 programs. The top of the dumpxxxx and restxxxx programs will tell how to use
18 them.
19
20 The PDP8 programs have preassembled .bin files which can be sent out the
21 serial port in binary mode to the binary loader so no operating system needs
22 to be running on the PDP8. Under windows 95 the new hyperterminal from
23 www.hilgraeve.com will need to be used, the one that comes with it does not
24 seem to work correctly. I have a config file for seyon under Linux which will
25 make it work.
26
27 I have also provided a program sendtape which can be used to send paper
28 tape images to the PDP-8.
29
30 I have also provided a dumbterm program and checkser to verify serial
31 communication to the PC. The dumbterm program will act like a simple
32 dumb terminal so if you boot the PDP-8 to an operating system you should
33 be able to use it to talk to the PDP-8.
34 The checkser program writes the data sent to memory for testing. Toggle
35 in the following program, start it running at address 0200 then use sendtape
36 to send checkser.dat.
37
38 00200 7340 START, CLA CLL CMA / Init all our variables
39 00201 3017 DCA BUFLOC
40 00202 6031 READ, KSF2 / Have character waiting
41 00203 5202 JMP .-1 / No
42 00204 7200 CLA
43 00205 6036 KRB2 / Get character
44 00206 3417 DCA I BUFLOC / Save through auto increment location
45 00207 5202 JMP READ
46
47 See the top of checkser.pal for the expected results. If the results are
48 wrong try changing stop bits to 2, see below. If it still is wrong then
49 verify your serial card is set to 8 bits no parity. Jumper settings are
50 at http://www.pdp8.net/serial (http://www.cs.uiowa.edu/~jones/pdp8/hard8e/).
51
52 All of the programs will work up to at least 38400 baud if you have a modified
53 serial board which will work at that speed. The default serial port is
54 the standard console port but can be changed by reassembling the pal files.
55
56 Files:
57 (rest and dump have .pal and .c files)
58 restrk05 - RK05 Restore program
59 dumprk05 - RK05 Dump program
60 readrk05 - RK05 Surface scan program
61 testrk05 - RK05 Destructive read/write test
62 restrx01 - RX01/RX02 Restore program
63 dumprx01 - RX01/RX02 Dump program
64 resttd8e - TD8E Dectape restore program
65 dumptd8e - TD8E Dectape dump program
66 sendtape - Send paper tape image to PDP-8
67 dumbterm - Simple dumb terminal program
68 comm.c - Communication routines for dump and restore C programs
69 config.c - Config file read routine for dump and restore C programs
70 compall - Unix shell file to compile all C files
71 compall.bat - Dos bat file to compile all C files with turbo C
72 palall - Unix shell file to assemble all pal files
73 checkser.pal - Serial port test program, see below
74 checkser.dat - Data file to check serial port
75 blkdectp.c - Converts between old and new style DECtape images
76
77 Other useful programs:
78 From ftp.dbit.com/pub/putr programs to read files from and write files to
79 the images created by these programs.
80
81 From http://www.vobis.de/bbs/ari/files/cplus/library/en160.zip the library
82 I used with turbo c to compile the dos version of the C programs.
83
84 From ftp://ftp.cs.uiowa.edu/pub/jones/pdp8/palbart.c.Z the pal8 compiler
85 I use to assemble these programs. They will also compile correctly will the
86 OS/8 PAL assembler
87
88 If you have questions or comments let me know
89 David Gesswein
90 djg@drs-esg.com
91 (or if that stops working djg@pdp8.net)
92
93
94 Example usage of these program:
95
96 First create a dumprest.cfg config file or rename the file dumprest.dos
97 under DOS or dumprest.unx under unix to dumprest.cfg and edit. See
98 http://www.pdp8.net/serial for information on how to setup a PDP-8
99 (currently 8/E cards only) serial card or see read the current
100 configuration. The M8655 serial card can support different numbers
101 of bits per character and parity. It must be set to 8 bits no
102 parity for these programs to work.
103
104 The config file format is three lines
105 baud rate
106 0 if 1 stop bit or 1 if two stop bits
107 serial device to use
108
109 The DOS default is com1 1 stop bit 9600 baud, the unix is /dev/ttyS0
110 1 stop bit 9600 baud.
111
112 Next, if you can run a OS or stand alone program like Focal start it on
113 your PDP-8. Then run the dumbterm program to verify that the dumprest.cfg
114 is correct and you can communicate with the PDP-8. If what you
115 type displays correctly things are probably set up ok. If the transfer
116 programs have communcatation errors you might want to try selecting
117 two stop bits.
118
119 Next you need to start the stand alone binary loader. If you are running
120 OS/8 you can use the command
121 BOOT/PT
122 This should load the binary loader and then halt the PDP-8.
123 If you can't start the binary loader with the operating system you are
124 running you can manually load the RIM loader, start that running and then
125 load the binary loader. If you need help on doing this contact me.
126
127 Next set the switch register to 7777, load address 7777 and start the
128 PDP-8 running.
129
130 Now run the sendtape program. You can either specify on the command
131 line the file to send or it will prompt you. For example to dump an RX01
132 enter the command sendtape dumprx01.bin.
133
134 The PDP-8 should halt after the sendtape program exits (if not wait a little
135 while to allow all the serial data to be sent). The accumulator should
136 be zero after the halt. If it is non zero the file did not transfer
137 correctly, repeat the procedure.
138
139 If you are dumping a device on the PDP-8 to a file on the PC follow this
140 section, otherwise skip to the next.
141
142 ******
143 start the dump program on the PC and enter the file name to write the
144 image to
145 example: dumprx01 image1.rx01
146
147 Next load address 200 then set switches 9 to 11 (low 3 bits of switch
148 register) to the number of the drive to dump. For your first RX01 drive
149 enter 0, for the second enter 1. For RK05's you can have a third, it
150 would be 2, or 000 000 000 010 for the switch setting in binary.
151 If you are dumping a TD8E tape the maximum field number should
152 be in switches 6-8. If you have an 8K machine (the minimum) set to 1.
153
154 Next start the PDP-8 running. After a little bit the PC should start
155 printing out Track # where # will increment as each track is received
156 from the PDP-8. For the DECtape is will print block instead of track.
157 If you are running at a slow baud rate it may take a little while
158 before the message appears. See later in this file for information on
159 setting baud rates on the serial cards. If you are dumping RK05's you will
160 want a high baud rate, at 9600 baud it will take about an hour.
161
162 After the entire image is received the PC program will exit and the PDP-8
163 will halt. If you wish to dump another media in the same drive you can
164 start the PC program again and then hit CONT on the PDP-8
165
166 If a read error occurs the PDP-8 will retry several times and then
167 send whatever data was received. When this happens PC program will print a
168 line with information on what data was unreadable.
169
170 ******
171
172 For restoring an image from the PC to the PDP-8
173
174 Next load address 200 then set switches 10 to 11 (low 2 bits of switch
175 register) to the number of the drive to dump. For your first RX01 drive
176 enter 0, for the second enter 1. For RK05's you can have a third, it
177 would be 2, or 000 000 000 010 for the switch setting in binary.
178 If you are restoring a TD8E tape the maximum field number should
179 be in switches 6-8. If you have an 8K machine (the minimum) set to 1.
180
181 Next start the PDP-8 running.
182
183 Start the PC restore program and give it the file name to send
184 example: restrx01 image1.rx01
185
186 After a little bit the PC should start printing out Track # (or Block #)
187 where # will increment as each track/block is sent to the PDP-8. The PDP-8
188 should write to the device. For the DECtape it will buffer up 4k to 28k of
189 data (set when you started the PDP-8) before writing to the tape so you
190 make need to wait a while before seeing tape motion. For the RK05 it
191 may be hard to see the write light activity but if you set the PDP-8
192 to display the accumulator it will display an incrementing count as
193 the data is received.
194
195 After all the data is sent from the PC the program will exit. The
196 PDP-8 will halt at address 140 after it receives all the data. The
197 accumulator should be zero if the transfer was successful. Other halts
198 or if the accumulator is not zero indicate that either an error occurred
199 in the serial data or the device the PDP was writing to had an IO error.
200
201 *******
202
203 For information on setting baud rate on PDP-8/E serial cards, including
204 how to run M8650 cards faster than the jumper selectable baud rates
205 The M8655 serial card can support different numbers of bits per character
206 and parity. It must be set to 8 bits no parity for these programs to work.
207 See http://www.pdp8.net/serial
208
209 If the PDP-8 halts at an unexpected location read the address from
210 the PDP-8 and then look at the listing for the program you are running.
211 The halt should be one less than the address displayed on the PDP-8.
212 Comments should give you some information on what the error is. If you
213 can't figure out the problem email me. (djg@drs-esg.com)
214
215 *******
216
217 To convert a DECtape between the old 128 words/block and the new 129
218 words/block format use
219
220 blkdectp infile output
221
222 It will convert infile to the opposite format
223
224 *******
225
226 I also have some other programs I wrote for testing.
227
228 readrk05 - RK05 Surface scan program
229
230 If you run this program from address 200 with switch register bits 10-11
231 set to the drive number it will do a non destructive read test of the
232 drive. I use this when first mounting a stored pack which hasn't been
233 used recently or one I just cleaned. This verifies the pack is good and
234 lets me listen for noise due to dust while it quickly goes across the
235 entire surface.
236
237 testrk05 - RK05 Destructive read/write test
238
239 This does a quick read/write test of the drive. It probably doesn't use
240 the best data pattern but runs much quicker than the diagnostics since it
241 doesn't do all the seeks.
242
243 David Gesswein
244 djg@drs-esg.com
245 (or if that stops working djg@pdp8.net)
246