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