Short: Mtools V2.0.7 for AmigaDOS Type: disk/misc Architecture: m68k-amigaos Mtools 2.0.7 for AmigaDOS ------------------------- Why use Mtools instead of CrossDOS? ----------------------------------- CrossDOS is nice in most cases, but inusable in others: - you cannot correctly write to MS-DOS partitions > 30MB with CrossDOS, Mtools allow you this. - CrossDOS is VERY SLOW when writing large files to devices such as MO-Drives, it seems to be lacking reasonable write-caching. Mtools are magnitudes faster in those cases. (but CrossDOS is much faster than Mtools in writing many small files) What do you need to use Mtools on your Amiga? --------------------------------------------- - You need to have the ixemul.library (by Markus Wild) installed, you may find it where other PD-Soft, especially gcc, is available. You may use the command "ixconfig -i" to speed the startup of the programs (ixemul.library else scans all the environment variables...) - If the media you'd like to access via Mtools differs from the ones I have available (and preconfigured), you'll need to edit the first structure in devices.c a little, then compile the programs by saying "make" again, you'll need gcc and the C=-includes to do this. (see also the config-notes below) Are there any problems with Mtools (in comparison to the unix-version)? ----------------------------------------------------------------------- Yes, there are. But nothing really serious: The command "mcopy" determines the direction of the copy (from/to MS-DOS) by looking at the destination name. Since MS-DOS also uses the colon to separate a device-name, mcopy will think you want to copy from AmigaDOS to MS-DOS if you give for example the command mcopy a:foo.bar t: ... so avoid the colon in the destination path, and use the unix-syntax: mcopy a:foo.bar /t/ ... which will do what you wanted it to do. You may also use (AmigaDOS-)wildcards in the source-name(s), if you want to copy from AmigaDOS to MS-DOS, e.g.: mcopy #?.bar a: *BUT* if you want to copy in the opposite direction, from MS-DOS to AmigaDOS, you need to use a different syntax: mcopy "a:*.bar" /t/ Conclusion: ADOS->MSDOS: AmigaDOS-wildcards, no double-quotes needed MSDOS->Amiga: MSDOS-wildcards, double-quotes around the source-name(s) needed IMPORTANT: Due to the limitations of the CLI-parameter length you shouldn't use the wildcard expansion on the Amiga-side with very large numbers of matching files - an error may occur. Are Mtools able to format MS-DOS media? --------------------------------------- LOW-LEVEL: NO! HIGH-LEVEL: SOMETIMES... you may use mformat to write the FAT etc. to a low-level-formatted (floppy-)disk, but mformat is unable to write the FAT on great partitions. I've included an archive with the compressed initial data for an 128MB MO-medium, you may "format" such an medium by writing the data directly to appropriate device. If you've got a copy of "dcp" for example, you may say lha e MSDOS_128MB_FAT.lha dcp MSDOS_MO_BLOCKS You can create archives with appropriate FATs for your media by formatting them with an PeeeCeee, then read the FAT-blocks from the device (for example with dcp, too). How can I customize Mtools to work with my special hardware? ------------------------------------------------------------ Read the file src/Configure, then you'll be able to change the src/devices.c file as you need it. But you'll also need to know a few additional things: - In the unix-version, all the I/O is done via (special-)files. You may do this, too, by using the "flat:"-device (was published on fish-disks), and the appropriate filename in devices.c. But there's a better I/O method, which is only available in this Amiga-version of the Mtools: You may also specify the name and the unit of a device, then this device will be used directly. device->name then holds the name of the device, device->mode holds the unit-number, device->heads must be set to -1 for a device (rather than a file) - The device->tracks, heads and sectors are optional parameters, you may set them to 0 if you don't know them. If you know them for sure, set them, this will make the read & write caching more efficient. If you're using a device (thus device->heads == -1), you may set the sector-number to the number of blocks you wish to fit into the caches. If you don't, a default-value of 128 blocks is the size of the caches. Credits: -------- The Amiga-specific changes to Mtools were applied by Lutz Vieweg The device-access code was taken from the "device-streams.tar.gz" archive by Christian E. Hopps THANKS TO THE AUTHORS OF THE ORIGINAL MTOOLS, OF COURSE!