COPYRIGHT STATEMENT CM IS NOT FREE SOFTWARE. IT IS COPYRIGHTED PROPERTY OF SERGE S. PACHKOVSKY (OWNER). YOUR CAN USE AND DISTRIBUTE IT, PROVIDED THAT YOU OBEY THE FOLLOWING CONDITIONS: 1. NO PART OF CM DISTRIBUTION IS REMOVED OR CHANGED BY ANY WAY 2. YOU DO NOT CHARGE ANYONE FOR CM 3. ANY PROFIT MAKING USE OF CM REQUIRES PRIOR WRITTEN PERMISSION FROM OWNER. If you have suggestion on the following development of CM, or had detected a bug in it, or wish to tell me how one or another protected program is to be dealt with (so it can be included into later versions of CM), you can mail to: FIDO: 2:5000/19 E-Mail: ps@dialnet.msk.su If you can't reach nether one of them, post letters to my home address: USSR, 630015, Novosibirsk-15, Dzerdginsky av., 1a flat 89, Serge S. Pachkovsky (630015, г. Новосибирск-15, пр. Дзержинского д.1а кв. 89, Пачковский С.С.) If you find CM of value and continue to use it, pray send me letter to one of the addresses above, stating your name, area of interests and means of reaching you by email. Enjoy! AT Copymaster ------------- CM is a bit-copying utility specifically designed to utilize most abilities of AT floppy disk controller (FDC). CM can work with 360K, 1.2M, 720K or 1.44M floppy drives using any recording density. With 300 RPM 5л-inch drive and most FDCs, it can copy FM (single density) floppies. It can even copy disks, which have different recording density on the SAME track - feature which no one software or hardware bit-copier have. CM works with FDC in polling mode, which requires CPU services each 16 mks for high density drive. Therefore, CM requires relatively fast CPU - 6 MHz / 0 WS 80286 is an absolute minimum. Because CM operations are tightly related with computer hardware, it will not work on computers even with minor incompatibilities. IBM's own PS/2 model 50 (and probably some other MCA machines) is an example. Before CM can copy any disk, it should first learn a little about your FDC, CPU and floppy drives. This is done by '/I' (Install) command switch, e.g., 'CM B: /I'. If you have more then one floppy drive, you should install CM for each one you will be using. You will see something like the following: [A] AT CopyMaster v0.44a (C) 1990,1991 Serge S. Pachkovsky Compiled Apr 30 1991 at 13:42:09 [B] ROM changed - need reinstallation [C] CPU speed changed - need reinstallation [D] Drive B is 3л inch 1.4 Mb high density [E] Insert BLANK diskette in drive B: Push any key when ready ... [F] Testing for hardware forbidden data rates ... Clock 0 (expecting 500 KBS,MFM) format failed Clock 1 (expecting 300 KBS,MFM) found 299.87 KBS Clock 2 (expecting 250 KBS,MFM) found 249.76 KBS Clock 3 (expecting 125 KBS, FM) found 124.86 KBS [G] Testing revolution time. This takes about 15" Disk B revolution time is 199.74 ms [H] Sizing controller write buffer. This takes up to 3 minutes At 300 KBs buffer seems to be at least 27 bit(s) At 250 KBs buffer seems to be at least 28 bit(s) At 125 KBs buffer seems to be at least 31 bit(s) [A] shows version of CM and compilation date/time. First public release is version 0.44a, compiled 30 April 1991. [B] CM tries to keep track of moving to another computer by checksumming motherboard ROM, in order to use always correct FDC timing. [C] CM measures CPU speed by counting time required to access FDC control registers, so this message can be caused by change in CPU operation mode (real/protected) or by replacement of FDC itself. Anyhow, internal timing parameters show be recalculated in both cases. If you move CM to other computer, but never [B] nor [C] does not appear, you should reinstall CM by hand, because timing parameters of floppy drive on new computer could still differ. [D] If CM prints here drive type different from you are using, it shows that something is wrong with your computer's CMOS. [E] Floppy will be erased by CM installation procedure, so it should be something you don't care of. [F] AT FDC have four software-selectable clocks (or data transfer rates). Original AT FDC does not checks for the validity of clock for particular drive, so any can be selected for any drive. However, never FDCs forbade certain transfer rates for some drive/media types. (Example above was for 720K floppy in 1.44 3м-inch drive). AT FDC uses 500, 300, 250 and 125 KBS (thousands of bits per second) clocks. If actual transfer rate will differ significantly (by more then 5%), CM will not be able to use it. (This is most often happens for clock 3, 125 KBS, which was not used by IBM software at all and was therefore overlooked by some "compatibles"). [G] Revolution time is an important characteristic of each drive. Generally speaking, all drives except 1.2M 5л-inch should revolve by 200ё4 ms, while 1.2M - by 167ё3.5 ms. Nevertheless, CM should be able to deal correctly with any reasonable revolution time outside these margins. [H] CM needs to know interval which passes between feeding data value to FDC and it's appearance on drive data lines. This delays, converted to number of data bits for current transfer rate, are printed. Lesser difference between values should indicate faster CPU/FDC subsystem. CM saves all measured values into it's own body, so it should NOT be compressed. (In fact, CM will refuse to work at all if it's disk file image was modified). After CM was installed, you can copy floppy to disk image, specifying command: 'CM A: MYFILE.CM' or disk image back to floppy by command: 'CM MYFILE.CM A:'. (Of course, you can create image on one computer and then restore it on another, provided that both have floppy drives of the same type). Command line switches can influence significantly on CM operations. Thus, analysis of high density disk can take from about 5 minutes to 2 hours, while standard switch values will take about 50 minutes. CM accepts the following command line switches: /S:ratelist - Selects data transfer rates, which CM will for during floppy analysis. This can be H (500 KBs), M (300 KBs), L (250 KBs) or F (125 KBs). Values should be separated by colon, e.g. '/S:H:M'. CM will try clocks in the order specified, so if you know that most of your disk use 500 KBs rate, while 300 KBs rate occurs on a single track, CM will work much faster with '/S:H:M' when with '/S:M:H'. (Although results will be the same). By default CM uses the following transfer rates: /S:H:M for 1.2M 5л, /S:H:L for 1.44M 3м, /S:L for 360K 5л and 720K 3м /D:{Y|N} - Turns double-stepping mode on and off. 1.2M drive emulates 360K one by skipping each second track. If you are sure that nothing of interest can be found on odd tracks, you can instruct CM not to look on them, thus halving operation time. Default is '/D:N' /T:XX:YY - Instructs CM to copy tracks XX to YY (inclusive). Most 360 5л drives have 43 tracks ('/T:0:42') while 1.2, 720 and 1.44 drives have 84 tracks ('/T:0:83'). Nevertheless, CM will check by default only 42 tracks for 360K drive and 83 tracks on others. Then '/D:Y' switch is used, XX and YY are doubled by CM. /H:{0:1} - Select head to copy. Default is both. /G:{Y|N} - GAP analysis level. With '/G:Y' CM will examine GAP (empty space which follows each data sector) for possible protection data, slowing down operations. If you are sure that nothing can be found here (or CM knows this particular protection scheme, see /P switch), you can select '/G:N'. Default is '/G:Y'. /Q:{Y|N} - Verbosity level. Setting '/Q:N' will cause a lot of curious information about disk to be printed. For example, I'd got the following messages in response to 'CM B: NUL /T:1:1 /H:0 /S:L /Q:N': Reading track 01 head 0 9 sectors found (249.8 KbPS) Sector 01/00/01/02 Off 11485 Sector 01/00/02/02 Off 61737 Sector 01/00/03/02 Off 111997 Sector 01/00/04/02 Off 162289 Sector 01/00/05/02 Off 212559 Sector 01/00/06/02 Off 262813 Sector 01/00/07/02 Off 313115 Sector 01/00/08/02 Off 363457 Sector 01/00/09/02 Off 413721 For each sector on track CM printed it's ID (Cylinder/Head/Record/leNgth) as written in corresponding field on data track (all values are in hex), along with sector offset ('Off') from the beginning of track (i.e., from index hole). Sector position is measured in system clock units and should be multiplied by 0.41905 to convert to mks. You can got slightly different sector offsets in subsequent runs of CM. Other message deserving attention, is '(249.8 KbPS)', which is actual data transfer rate. FDC can synchronize with wide range of data rates for a given clock number (this is especially true for clock 3, MFM), so measured transfer rate significantly different from nominal one can give hint on floppy disk origin. CM can't reproduce data transfer rate, so it attempts to inform you about possible protection mark here. Selecting '/Q:Y' will suppress almost all CM messages, if they are not caused by possibly incorrect operation, when you should be alerted. By default CM selects level of verbosity intermediate between '/Q:Y' and '/Q:N'. /M:{Y|N} - Search for multiply data transfer rates enable/disable. Setting '/M:Y' will permit CM to search tracks with multiply transfer rates, slowing down operations. Because such tracks are rare to occur, default is '/M:N'. /W:{Y|N} - This switch instructs CM how to interpret data that reads differently in subsequent operations. '/W:Y' tells CM that it is an intended protection mark, which should be reproduced, '/W:N' instructs CM to attempt to recover accidentally damaged data. Default is '/W:Y'. /P:{Y|N} or /P:Number - Instructs CM to look for familiar protection schemes ('/P:Y') or to copy disk by default ('/P:N'). '/P:Number' tells to use scheme Number. Currently, you can use the following values: 1 - Alex Simkin's scheme (PC Shield). CM should detect this by default 2 - Maximize data fields instead of perfect timing. CM will never select this by itself. Default is '/P:Y'. /A - Append to the existing disk image. (You can use copy/b to merge files instead). Only /T /H and /Q are applicable for image-to-floppy operation.