═══ 1. PM DCopy ═══ PM DCopy is a Presentation Manager diskette copier which provides the same functionality (and slightly more besides) as the command line diskette copier which is supplied with OS/2 2.0. As well as being able to copy from one diskette to another, PM DCopy is able to save the contents of a diskette to an Image file. To complement this, PM DCopy is also able to write an Image file to a diskette. This is intended to provide a flexible way of copying one source diskette to a number of destination diskettes without having to read the source diskette each time. PM DCopy provides you with a dialog window containing a number of controls which enable you to select the type of copy operation you desire. In addition, certain optional features may be selected or changed by using the items in the Options menu. If you get stuck at any stage, press F1 to bring up the online help. You can find out what the various control windows and dialogs do by ensuring that they have the focus (by pressing TAB (or SHIFT-TAB), or using the mouse), and then pressing F1. Related Information: ■ Main control windows ■ Menus ■ The Copy operation ■ Application status ■ The Author ═══ 2. PM DCopy menus ═══ You can use the items in the Options menu to change the behaviour of the diskette copier, and the items in the Help menu if you require help at any stage. ═══ 3. Source image dialog ═══ This dialog is presented primarily for the purpose of selecting a file to use as the source image file in the forthcoming copy operation. The only alterable control window in this dialog is the top entry field into which you should type the name of the image file to be used. You can click the adjacent Find... button if you would like to use the standard file dialog to locate your choice of image file. The Image statistics group of read-only entry fields displays information about the image file once a valid image filename has been entered or selected from the file dialog. Note: A destination diskette or image is assumed to have the same characteristics as the source diskette or image. The remaining control windows are: OK button Click this button to register any changes you may have made to the name of the source image file. Cancel button Click this button to cancel any changes you may have made and to dismiss the dialog. ═══ 4. Progress dialog ═══ This dialog window shows how far the current copy operation has progressed. A description of the control windows and text fields, from top to bottom follows: Source name The read-only text entry field contains the name of the source of the copy operation. This is either the name of the source drive, or the name of the source image file. If an image filename is too long to be seen in the entry field in its entirety, you can click in the entry field, and use the left and right cursor keys to reveal more of the text in the usual way. Bytes read This value shows how many bytes have been read from the source. It is incremented after each track (cylinder) has been read. Source status This text can be one of: Opening The source diskette or image file is being opened for reading. Locking The source diskette is being locked. Reading A track (cylinder) is being read from the source diskette or image file. Successful The source diskette or image file has been finished with, and the read operation passed without incident. Failed An error caused the read operation, and hence the entire copy operation to halt. Source progress slider This slider shows what percentage of the source has been read. Destination name The read-only text entry field contains the name of the destination of the copy operation. This is either the name of the destination drive, or the name of the destination image file. Bytes written This value shows how many bytes have been written to the destination. It is incremented after each track (cylinder) has been written. Destination status This text can be one of: Opening The destination diskette or image file is being opened for writing. Locking The destination diskette is being locked. Writing A track (cylinder) is being written to the destination diskette or image file. Waiting The write half of the copy operation is waiting for data to be given to it by the reading half. Formatting The destination diskette is being formatted. The destination slider bar is hijacked for the duration of the formatting for the purpose of showing how the format operation is progressing. Successful The destination diskette or image file has been finished with, and the write operation passed without incident. Failed An error caused the write operation, and hence the entire copy operation to halt. Destination progress slider This slider shows what percentage of the destination has been written to. ═══ 5. Source drive dialog ═══ You can use the control windows in this dialog to enter or edit the characteristics of the diskette(s) you intend to use as the source in future copy operations. Note: A destination diskette or image is assumed to have the same characteristics as the source diskette or image. This means that any changes you make to the source diskette's characteristics in this dialog will also affect the assumed characteristics of destination diskettes or image files. The diskette copier will normally attempt to work out the size of the source diskette itself, but this is not possible in some cases. If you want to override the automatic sizing operation, or are instructed by the diskette copier to enter the size manually, you should enter what you think the diskette's characteristics are in the entry fields in this dialog. The control windows, in order from top to bottom are: Number of Heads entry field Enter the number of surfaces on the diskette in this entry field. For floppy diskettes this will usually be 2, but for fixed disks (such as hard disks), the number may be greater. Tracks per Head entry field Enter the number of tracks (or cylinders) per head on the diskette in this entry field. For MSDOS formatted diskettes this number is usually 80. Sectors per Track entry field Enter the number of sectors in each track in this entry field. For MSDOS diskettes, the following table which matches total capacity to the values in the above entry fields may be of some use: ┌────────┬───────┬───────┬───────┬───────┐ │Capacity│Heads │Tracks │Sectors│Bytes │ ├────────┼───────┼───────┼───────┼───────┤ │360k │2 │40 │9 │512 │ ├────────┼───────┼───────┼───────┼───────┤ │720k │2 │80 │9 │512 │ ├────────┼───────┼───────┼───────┼───────┤ │1.2Mb │2 │80 │15 │512 │ ├────────┼───────┼───────┼───────┼───────┤ │1.44Mb │2 │80 │18 │512 │ ├────────┼───────┼───────┼───────┼───────┤ │2.88Mb │2 │80 │36 │512 │ └────────┴───────┴───────┴───────┴───────┘ Bytes per Sector entry field This entry field contains the number of bytes which make up a sector. With the current device support in OS/2, this value should always be 512 or the results of a copy operation (if it even suceeds) will be unpredictable. Automatic Size push button When you click this button, the diskette copier will attempt to examine a diskette in the source drive. If there is a diskette present, and the diskette copier is sucessful in ascertaining its size, then the diskette's characteristics will be entered in the above four entry fields. Any values you had previously entered in the entry fields are overwritten. OK push button Click this button to register your choices. The characteristics you have entered remain in force for all future copy operations involving a source diskette until you (1) select a different drive from the drive listbox in the main dialog window, or (2) change them by reopening this dialog. Cancel push button Click this button to remove this dialog window without registering any changes with the diskette copier. Values in the entry fields when the dialog was first displayed are kept, and subsequent changes ignored. ═══ 6. Main dialog control windows ═══ The following sections describe the actions performed by the control windows in the PM DCopy main dialog window: Source drive radio button Click this radio button if you want the diskette copier to use a diskette as the source in future copy operations. The name of the drive in which the diskette will be found can be selected from the drive listbox adjacent to this radio button. Source drive listbox This listbox contains the names of the drives active in the system. Although some of the drives in the listbox may not use removable media, it is still possible to use them as the source for copy operations. This is only useful if the diskette in the drive you intend to copy to to has the same, or greater capacity than the diskette in the source drive. This holds for all types of drive and diskette. For example, it's okay to copy from a B: drive containing a 1.2Mb diskette to an A: drive containing a 1.44Mb diskette, since the destination diskette has a greater capacity. Source drive More... button When you click this button, a dialog window will be presented to you. This dialog box contains 4 fields into which you can enter the characteristics of the diskette in the drive you have chosen from the source drive listbox. The diskette copier will normally attempt to work out the size of the source diskette at the start of the first copy operation. If it can't, then you'll be prompted to use the dialog produced by clicking this button. Note: After the size of the source diskette has been determined in the first copy operation, the characteristics of that diskette are used as the source diskette's characteristics for all future copy operations (until you either select a different drive as the source, or edit the characteristics in the dialog brought up by this button). Source image radio button Click this radio button if you want the diskette copier to use an image file as the source in future copy operations. The name of the image file can be entered in the adjacent text entry field, or with the aid of a file dialog available through the More button on the right of the entry field. Source image filename entry field You should enter the name of the source image file to be used by the diskette copier here, or by using the More button to the right. Source image More... button Click this button to bring up a dialog window with which you can locate and examine the image file you want the diskette copier to use as the source in future copy operations. Destination drive radio button Click this radio button if you want the diskette copier to use a diskette as the destination in future copy operations. The name of the drive in which the destination diskette will be found can be selected from the drive listbox adjacent to this radio button. Destination drive listbox This listbox contains the names of the drives active in the system. Although some of the drives in the listbox may not use removable media, it is still possible to use them as the destination for copy operations. This is only useful if the diskette in the drive you intend to copy from has the same, or smaller capacity than the diskette in the destination drive you select here. Destination image radio button Click this radio button if you want the diskette copier to use an image file as the destination in future copy operations. The name of the image file can be entered in the adjacent text entry field, or with the aid of a file dialog available through the More button on the right of the entry field. Destination image filename entry field You should enter the name of the destination image file to be used by the diskette copier here, or by using the More button to the right. Destination image Find... button Click this button to bring up a file dialog with which you can select (or enter the name of) the image file you want the diskette copier to use as the destination in future copy operations. OK button Clicking this button will cause the diskette copier to start a copy operation based on the information you have entered through the control windows, dialogs, and menus. Cancel button Clicking this button will typically cause the diskette copier to terminate. If there is a copy operation in progress, then you will be asked whether you want to stop it, or whether you would like to reconsider. ═══ 7. The copy operation ═══ The manner in which the diskette copier performs a copy operation varies as follows. When the source of the copy operation is a diskette as opposed to an image file, the diskette copier will perform the following actions in order to determine the source diskette's size: 1. If a valid set of entries was made in the source drive characteristics dialog, then these values will be used to determine the source diskette's capacity. 2. If no values have been entered, then the diskette copier will attempt to read the diskette's size from the header sector on the diskette. This will generally work if the diskette is an MSDOS (or compatible) formatted diskette. If this step is successful, then the results will be stored in the entry fields of the source drive characteristics dialog for future reference. You can change these entries either by selecting another drive from the source drive listbox and then selecting the original drive again, or by using the control windows in the characteristics dialog box itself. 3. If step 2 fails, then the diskette copier will attempt to ask OS/2 what size diskette it thinks should inhabit the drive you have chosen as the source. If this step is successful, then the same storage operation is carried out as in step 2. 4. If step 3 fails, you will be asked to enter the source diskette's characteristics in the source drive characteristics dialog, and the copy operation will have to be restarted once you have done so. Having determined the size of the source diskette or image (the size of a diskette contained in an image file is known automatically), the copier begins to read data from the source diskette or image file. If the source and destination of the copy operation are the same drive, then the writing of data to the destination diskette will not begin until the source diskette has been completely read. Conversely, if the destination diskette is located in a drive other than that of the source diskette, or one or both of the source and destination is an image file, then the diskette copier will read from the source and write to the destination simultaneously. Once the copy operation has begun, a progress dialog box is opened for your delectation. ═══ 8. Option Menu ═══ Use the items in the Options menu to customize the behaviour of the diskette copier. Menu items: ■ Format Destination ═══ 8.1. Format Destination ═══ Use the items in the Format Destination menu to set the formatting options for destination diskettes. Menu items: ■ Always ■ Confirm ■ When required The When Required item is checked by default. ═══ 8.1.1. Format Always ═══ By checking this menu item, the diskette will always format the destination diskette before attempting to write data to it. The entire diskette will be formatted before any data is written to it. This ensures that if the write operations fail, then you can at least be assured that the diskette has been fully formatted. ═══ 8.1.2. Format Confirm ═══ By checking this menu item, the diskette copier will open a dialog box asking what it should do when it appears that the destination diskette isn't already formatted. The entire diskette will be formatted from the track upon which the error occurred to the end of the diskette. This ensures that if any future write operations fail, then you can at least be assured that the diskette has been fully formatted. ═══ 8.1.3. Format When Required ═══ By checking this menu item, the diskette copier will automatically format the destination diskette if it appears that the diskette isn't already formatted. The entire diskette will be formatted from the track upon which the error occurred to the end of the diskette. This ensures that if any future write operations fail, then you can at least be assured that the diskette has been fully formatted. ═══ 9. Message boxes ═══ The entries in this section describe the messages and actions provided in the event of errors, warnings or progress reports. ═══ 9.1. Open drive error message ═══ An attempt to open a handle on a drive in order to perform some kind of read/write/size operation on it failed. The most common reason for this is that there is no diskette in the drive. When you think you have solved the problem (maybe by inserting a diskette into the drive), you can click the Retry button to reattempt to open the drive. If the problem isn't solvable, then click Cancel, and the current operation will terminate. ═══ 9.2. Insert source diskette error messge ═══ The diskette copier is attempting to work out the size of the source diskette since the fields in the Source Drive More dialog haven't been filled in. If you are happy to let the diskette copier attempt to work out the size of the source diskette, then please ensure that it is inserted in the source drive and click OK. If you would rather enter the size of the source diskette yourself, then click the Cancel button and use the Source Drive More dialog. ═══ 9.3. Image not handled error message ═══ Image files aren't supported in this version of the diskette copier. Click the OK button to dismiss the message box. ═══ 9.4. Copy in progress error message ═══ There is a copy operation in progress which would be aborted if the diskette copier is terminated. Click the Yes button to terminate the diskette copier and the on-going copy operation, or the No button if you want to wait for the copy operation to complete. ═══ 9.5. Lock drive error message ═══ The diskette copier failed to lock the drive. For a read or size operation on the drive, this is not usually a problem. In the case of a write operation, it is necessary to lock the disk so that other applications do not try to read or write to it while the operation is in progress. You should click the Abort button to abandon the current operation if you are unsure what to do. Click the Retry button to retry the locking procedure if you think it stands a chance of suceeding this time. Click the Ignore button to make the diskette copier proceed with the current operation. This is acceptable if the current operation is a read/size operation, but the results are uncertain if the diskette copier is going to attempt to write to the diskette. ═══ 9.6. Read cylinder error message ═══ An error occurred while reading a cylinder (track) from the source diskette. The reason for the failure is given in the message box. Click the Abort button to abandon the current operation. Click the Retry button to reattempt to read the cylinder if you think it stands a chance of suceeding this time. Click the Ignore button to make the diskette copier ignore the failure and proceed with the current operation. It may be possible to correct an error copied to the destination diskette with the OS/2 2.0 CHKDSK command. ═══ 9.7. Verify cylinder error message ═══ An error occurred while verifying a cylinder (track) on the diskette. The reason for the failure is given in the message box. Click the Abort button to abandon the current operation. Click the Retry button to reattempt to verify the cylinder if you think it stands a chance of suceeding this time. Click the Ignore button to make the diskette copier ignore the failure and proceed with the current operation. ═══ 9.8. Verify sector error message ═══ An error occurred while verifying a sector on the diskette. The reason for the failure is given in the message box. Click the Abort button to abandon the current operation. Click the Retry button to reattempt to verify the sector if you think it stands a chance of suceeding this time. Click the Ignore button to make the diskette copier ignore the failure and proceed with the current operation. ═══ 9.9. Write cylinder error message ═══ An error occurred while writing a cylinder (track) to the destination diskette. The reason for the failure is given in the message box. Click the Abort button to abandon the current operation. Click the Retry button to reattempt to write the cylinder if you think it stands a chance of suceeding this time. Click the Ignore button to make the diskette copier ignore the failure and proceed with the current operation. It may be possible to correct an error on the destination diskette with the OS/2 2.0 CHKDSK command. ═══ 9.10. Format cylinder error message ═══ An error occurred while formatting a cylinder (track) on the destination diskette. The reason for the failure is given in the message box. Note: If the error is: SYS0027: The drive cannot find the sector(area) requested. then you're probably trying to format a low density disk as if it were a high density one. Click the Abort button to abandon the current operation. Click the Retry button to reattempt to format the cylinder if you think it stands a chance of suceeding this time. Click the Ignore button to make the diskette copier ignore the failure and proceed with the current operation. It may be possible to correct an error on the destination diskette with the OS/2 2.0 CHKDSK command. ═══ 9.11. Thread start error message ═══ An error occurred which caused one, or both of the read and write threads not to start. This may be due to low memory, or too many threads running in the system. A possible solution might be to close some other applications or windows, and try again. Click the OK button to dismiss the message box. ═══ 9.12. Memory allocation failure error message ═══ An attempt to allocate some memory failed. This means that the current operation cannot continue. Possible solutions might be to: ■ close down some other applications ■ increase the amount of space for the swap file on your hard disk. Click the OK button to dismiss this message box. ═══ 9.13. Bad entry fields error message ═══ The values entered in the entry fields aren't valid. Each entry field must contain a decimal number. Click the OK button to dismiss this message box. ═══ 9.14. Can't size source diskette error message ═══ The diskette copier is unable to work out the size of the source diskette for some reason. Possible reasons for this, in order of probablity are: ■ No diskette in the source drive. ■ The diskette does not have a valid MSDOS header on sector 0 track 0. ■ OS/2 doesn't know what size diskette is used by the specified drive. In the second and third cases, you can specify the size of the diskette manually by using the source drive More... button. Click the OK button to dismiss this message box. ═══ 9.15. Insert destination diskette error messge ═══ The diskette copier is about to start writing data to the destination diskette. You should ensure that it has been inserted into the destination drive, and that the write-protect hole tab has been closed. When you are ready for the diskette copier to start writing data to the diskette, click OK. To abort the write (and therefore the copy) operation, click the Cancel button. ═══ 9.16. Write cylinder error message ═══ An error occurred while writing a cylinder (track) to the destination diskette. The reason for the failure is given in the message box. This failure is not resolvable by formatting the destination diskette since this has either been tried already, or the type of the error deems this inappropriate. Click the Retry button to reattempt to write the cylinder if you can resolve the problem. Click the Cancel button to abandon the current operation. ═══ 9.17. When Required write cylinder error message ═══ An error occurred while writing a cylinder (track) to the destination diskette. The reason for the failure is given in the message box. Click the Retry button to reattempt to write the cylinder if you think it stands a chance of suceeding this time. Click the Cancel button to abandon the current operation. ═══ 9.18. Destination diskette wrong size error message ═══ The destination diskette doesn't have the same capacity as the source diskette. This usually means that you are attempting to copy from a larger diskette to a smaller one. This error is fatal, and you will have to try again with a larger destination diskette. Click Cancel to dismiss the message box and stop the current operation. ═══ 9.19. Disk not formatted error messge ═══ The destination diskette doesn't seem to have been formatted, or at least, not to the same capacity as the source diskette. This is your opportunity to decide whether you want the diskette to be formatted or not. When you are ready for the diskette copier to start formatting the destination diskette, click OK. To prevent the diskette from being formatted, click the Cancel button. This also terminates the copy operation. ═══ 9.20. Source image filename dialog ═══ You should select the name of an image file using the controls in this dialog. Either select a name from the files list, or type one in the text entry field at the top of the dialog. ═══ 9.21. Destination image filename dialog ═══ You should select the name of an image file using the controls in this dialog. Either select a name from the files list, or type one in in the text entry field at the top of the dialog. ═══ 9.22. Image open read error ═══ The source image file couldn't be opened for reading. The reason is given in the message box. You should click OK, correct the fault, and then try the copy operation (if required) again. ═══ 9.23. Image open write error ═══ The destination image file couldn't be opened for writing. The reason is given in the message box. You should click OK, correct the fault, and then try the copy operation (if required) again. ═══ 9.24. Image file read error ═══ An error ocurred while the diskette copier was attempting to read data from the source image file. The reason for the error is given in the message box. You should click OK, correct the fault, and then try the copy operation (if required) again. ═══ 9.25. Image file write error ═══ An error ocurred while the diskette copier was attempting to read data from the source image file. The reason for the error is given in the message box. You should click OK, correct the fault, and then try the copy operation (if required) again. ═══ 9.26. Autosize source image file ═══ An error ocurred while the diskette copier was attempting to ascertain the size of the diskette represented by the image file. Neither the PM DCopy information block was found, nor does the image file represent an MSDOS format diskette. You should click OK, correct the fault, and then try the copy operation (if required) again. ═══ 9.27. Format initialisation failure ═══ A fatal error occurred while the diskette copier was starting the formatting process. The reasons for this may be many and varied - the usual solution is to close and then restart the diskette copier. Click OK to dismiss the message box. ═══ 9.28. Formatting error ═══ A error occurred while the format process was formatting the destination diskette. The reason for this failure should be given in the message box. You should attempt to correct the error (if possible), and reattempt the copy operation. If the formatting process was terminated in an abnormal manner, then the message box may contain text of the form: ┌────────────────────┐ │Format error │ │ │ │Failed rc = 3 │ └────────────────────┘ The following table describes what error the number represents: ┌──────┬────────────────────────────────────────┐ │rc │Explanation │ ├──────┼────────────────────────────────────────┤ │3 │Ended by user. │ ├──────┼────────────────────────────────────────┤ │4 │Ended due to error. │ ├──────┼────────────────────────────────────────┤ │5 │Ended due to No response - try not using│ │ │an unformatted hard disk as the │ │ │destination next time. │ ├──────┼────────────────────────────────────────┤ │6 │FORMAT was unable to process another │ │ │file system's format program. │ ├──────┼────────────────────────────────────────┤ │7 │Volume not supported by another file │ │ │system's format program. │ └──────┴────────────────────────────────────────┘ Click OK to dismiss the message box. ═══ 10. Keys Help for PM DCopy ═══ There isn't any specific help for keyboard operations in PM DCopy. All the usual Presentation Manager keyboard operations are supported of course. ═══ 11. The Author ═══ The author of PM DCopy is a penniless student coming to the end of his third year of a BSc degree course in computer science at the University of Kent at Canterbury. This program was written as part of his third year project and took far too long to do. It was written using IBM's WorkSet/2 and Borland C++ for OS/2. ═══ 12. Application status ═══ This program is shareware. If you decide that you like it, and want to use it on a regular basis, then you might like to consider registering by sending me a small token of your appreciation. In this context, a small token might be something in the region of US$10, or Ь5.00. Registering will certainly encourage me to continue developing software for OS/2, and may entitle you to upgrades and an easy concience . For registration, suggestions, questions, and general correspondance, you can reach me at the following addresses: Mr Jason R. Shannon 22 Lawrance Lea, Harston, Cambridge. CB2 5QR England or jrs1@ukc.ac.uk until July sometime in 1993. ═══ 13. Product Information ═══ PM DCopy and the online help were designed and programmed by the author, Jason R. Shannon Thanks to: Daniel J Neades For suggestions, whinges, and for encouraging me to buy a PC with OS/2 2.0 in the first place. Alan J Garde For being continually picked on. Bob Eager For the help and support with this, and other parts of my third year project. International Business Machines For OS/2 2.0. ═══ 14. Glossary of terms ═══ Technical terms used in this online help: ■ Drive ■ Diskette ■ Image ═══ 14.1. Drive ═══ In this context, a mechanism used to seek, read, and write data on diskettes, or fixed disks. ═══ 14.2. Diskette ═══ A removable magnetic disk enclosed in a protective cover used to store information. ═══ 14.3. Image ═══ A file that is created from a diskette. The image file is a copy of the information on diskette, and can be used as the source, or the destination in a copy operation. ═══ 14.4. OS/2 2.0 ═══ OS/2 is a registered trademark of International Business Machines.