1*d5c9a868SElliott Hughes[See Changelog for more recent changes] 2*d5c9a868SElliott Hughes 3*d5c9a868SElliott Hughes2.5.1 29 Aug 1995 4*d5c9a868SElliott Hughes 5*d5c9a868SElliott HughesBug fixes to allow compiling and running on SINIX-D 5.41, thanks to 6*d5c9a868SElliott HughesMartin Kraemer <[email protected]>. 7*d5c9a868SElliott Hughes 8*d5c9a868SElliott Hughes----------------------------------------------------------------------------- 9*d5c9a868SElliott Hughes2.5 21 Aug 1995 10*d5c9a868SElliott Hughes 11*d5c9a868SElliott HughesFirst public Alpha Test release of the newly rewritten Mtools. 12*d5c9a868SElliott HughesSummary of the many major changes: 13*d5c9a868SElliott Hughes 14*d5c9a868SElliott HughesXDF support, ANSIfication, major restructuring, and debugging (Alain Knaff) 15*d5c9a868SElliott HughesVFAT support, new prompts for overwrites, and debugging (David Niemi) 16*d5c9a868SElliott Hughes 17*d5c9a868SElliott Hughes----------------------------------------------------------------------------- 18*d5c9a868SElliott HughesPatch #7alk ... 4 Dec 94 19*d5c9a868SElliott Hughes 20*d5c9a868SElliott HughesThis patch adds the following features: 21*d5c9a868SElliott Hughes 22*d5c9a868SElliott Hughes 1) mbadblocks program to mark bad blocks 23*d5c9a868SElliott Hughes 2) uses fat_type field of boot block to find out the number 24*d5c9a868SElliott Hughes of fat bits. 25*d5c9a868SElliott Hughes 3) is able to format hard disk partitions (untested) 26*d5c9a868SElliott Hughes 4) sets _all_ standard fields in boot sector, even without 2m mode. 27*d5c9a868SElliott Hughes 5) adds boot code to the boot sector (which transfers booting to 28*d5c9a868SElliott Hughes the hard drive. In most cases, that's what the user wants.) 29*d5c9a868SElliott Hughes 30*d5c9a868SElliott Hughes----------------------------------------------------------------------------- 31*d5c9a868SElliott HughesPatch #7alk ... 4 Nov 94 32*d5c9a868SElliott Hughes 33*d5c9a868SElliott HughesThis patch adds the following features: 34*d5c9a868SElliott Hughes 35*d5c9a868SElliott Hughes 1) Use even disk buffer size whenever possible to workaround a 36*d5c9a868SElliott Hughes bug in Linux blockdev code [???] 37*d5c9a868SElliott Hughes 2) Clearer error message on failed sanity check 38*d5c9a868SElliott Hughes 3) Removal of BOGUS Notes file 39*d5c9a868SElliott Hughes 40*d5c9a868SElliott Hughes----------------------------------------------------------------------------- 41*d5c9a868SElliott HughesPatch #7alk quinter, 2 Nov 94 42*d5c9a868SElliott Hughes 43*d5c9a868SElliott HughesThis patch adds the following features: 44*d5c9a868SElliott Hughes 45*d5c9a868SElliott Hughes 1) O_EXCL flag when opening the device to ensure it is not mounted 46*d5c9a868SElliott Hughes 2) Sanity checks to avoid accessing non msdos disks 47*d5c9a868SElliott HughesBoth features were suggested by Karl Eichwalder ([email protected]) 48*d5c9a868SElliott Hughes 49*d5c9a868SElliott Hughes----------------------------------------------------------------------------- 50*d5c9a868SElliott HughesPatch #7alk quater, 1 Oct 94 51*d5c9a868SElliott Hughes 52*d5c9a868SElliott HughesThis patch adds the following features: 53*d5c9a868SElliott Hughes 54*d5c9a868SElliott Hughes 1) disk serial number support. 55*d5c9a868SElliott Hughes 2) mcheck works for every drive. 56*d5c9a868SElliott Hughes 57*d5c9a868SElliott Hughes----------------------------------------------------------------------------- 58*d5c9a868SElliott HughesPatch #7alk ter, 10 Sep 94 59*d5c9a868SElliott Hughes 60*d5c9a868SElliott HughesThis patch adds the following features: 61*d5c9a868SElliott Hughes 62*d5c9a868SElliott Hughes 1) mformat works again. 63*d5c9a868SElliott Hughes 2) mmount allows the user to pass arbitrary arguments to mount. 64*d5c9a868SElliott Hughes Floppy disks are no longer mounted by default on /mount/A /mount/B 65*d5c9a868SElliott Hughes etc. 66*d5c9a868SElliott Hughes 67*d5c9a868SElliott Hughes----------------------------------------------------------------------------- 68*d5c9a868SElliott HughesPatch #7alk bis, 18 jul 94 69*d5c9a868SElliott Hughes 70*d5c9a868SElliott HughesThis patch adds the following features: 71*d5c9a868SElliott Hughes 72*d5c9a868SElliott Hughes 1) Support for variable sector sizes. 73*d5c9a868SElliott Hughes 2) Support for "2m" formats. 74*d5c9a868SElliott Hughes 3) Support for formatting 16-bit fat disks. 75*d5c9a868SElliott Hughes 4) Support for formatting ED disks (Their capacity is too big to 76*d5c9a868SElliott Hughes use a 12 bit FAT and 1 sector clusters. Either use bigger 77*d5c9a868SElliott Hughes clusters or a 16 bit FAT) 78*d5c9a868SElliott Hughes 5) Mcopying from one DOS drive to another works now. (It used to 79*d5c9a868SElliott Hughes call mktemp on a non-writable string) 80*d5c9a868SElliott Hughes 81*d5c9a868SElliott Hughes----------------------------------------------------------------------------- 82*d5c9a868SElliott HughesPatch #7alk, 16 feb 94 83*d5c9a868SElliott Hughes 84*d5c9a868SElliott HughesThis patch adds the following features: 85*d5c9a868SElliott Hughes 86*d5c9a868SElliott Hughes 1) Mtools can now set the disk geometry on Linux. (Useful for 87*d5c9a868SElliott Hughes reading 1.72 Mb disks. This was already possible on unixpc and 88*d5c9a868SElliott Hughes SPARC ) 89*d5c9a868SElliott Hughes 2) New mmount command. Reads the boot sector, sets the geometry 90*d5c9a868SElliott Hughes and finally mounts the disk. Only available for Linux. 91*d5c9a868SElliott Hughes 3) Mwrite can now write stdout to a DOS file: mwrite - a:test 92*d5c9a868SElliott Hughes 4) Mread now also acts as mtype: mread a:test - 93*d5c9a868SElliott Hughes 5) Mtools now tries 3 sources to get its drive geometry. 94*d5c9a868SElliott Hughes configuration: first ~/.mtoolsrc, then /etc/mtools, and finally 95*d5c9a868SElliott Hughes compiled-in. ( The two first are conditional on LOADDEVS being 96*d5c9a868SElliott Hughes defined ). LOADDEVS is now compatibles with the various geometry 97*d5c9a868SElliott Hughes setting routines (init_linux, init_sparc and init_unixpc). 98*d5c9a868SElliott Hughes 6) Bug fixes for -t mode of mwrite and mread. ( For certain file sizes 99*d5c9a868SElliott Hughes the trailing DOS end-of-file character wasn't correctly written.) 100*d5c9a868SElliott Hughes 7) Bug fixes for "drive probing code." (Now failure to lock onto a disk 101*d5c9a868SElliott Hughes causes always trial of the next configuration. Before, mtools used 102*d5c9a868SElliott Hughes to abort on certain cases). Similar fixes in mformat. 103*d5c9a868SElliott Hughes 8) Optimization/bug fix of cluster/fat repartition in mformat.c 104*d5c9a868SElliott Hughes 9) Made fat checking code optional. (1.72mb disks mformatted with old 105*d5c9a868SElliott Hughes mtools were almost always rejected) To bypass fat-checking set the 106*d5c9a868SElliott Hughes environment variable MTOOLS_FAT_COMPATIBILITY 107*d5c9a868SElliott Hughes 10) Mtools now opens /dev/tty to ask for confirmation messages. This 108*d5c9a868SElliott Hughes way, it doesn't interfere with mreading/mwriting from/to stdin/stdout. 109*d5c9a868SElliott Hughes 110*d5c9a868SElliott Hughes 111*d5c9a868SElliott HughesCAUTION: I only tested this with Sparc and Linux. Although I left #ifdefs 112*d5c9a868SElliott Hughesfor other OS's in devices.c, that doesn't mean that it works on these OS's. 113*d5c9a868SElliott Hughes 114*d5c9a868SElliott Hughes----------------------------------------------------------------------------- 115*d5c9a868SElliott HughesPatch #7+, 19 sep 93 116*d5c9a868SElliott Hughes 117*d5c9a868SElliott HughesThis patch merges in the mods against 2.05 under Linux. Two are the main 118*d5c9a868SElliott Hugheschanges: that all commands are linked as a single executable, which can 119*d5c9a868SElliott Hughesbe linked as different name, and that the device specs are no longer 120*d5c9a868SElliott Hugheshardcompiled but are read dynamically from /etc/mtools (the latter change 121*d5c9a868SElliott Hughesis conditional on LOADDEVS being defined). 122*d5c9a868SElliott Hughes 123*d5c9a868SElliott Hughes----------------------------------------------------------------------------- 124*d5c9a868SElliott HughesPatch #7, 6 Sep 92 125*d5c9a868SElliott Hughes 126*d5c9a868SElliott HughesThis patch will change the method of determining if the FAT encoding 127*d5c9a868SElliott Hughesscheme in the devices.c file is correct. The method introduced by patch 128*d5c9a868SElliott Hughes#6 was naive and easily fooled. 129*d5c9a868SElliott Hughes 130*d5c9a868SElliott HughesA pre-processor variable called CHK_FAT has been added to the fat_read.c 131*d5c9a868SElliott Hughesfile just in case this new method isn't appropriate for all disks. 132*d5c9a868SElliott Hughes 133*d5c9a868SElliott Hughes----------------------------------------------------------------------------- 134*d5c9a868SElliott HughesPatch #6, 21 Aug 92 135*d5c9a868SElliott Hughes 136*d5c9a868SElliott HughesThis patch will add the following features: 137*d5c9a868SElliott Hughes 138*d5c9a868SElliott Hughes 1) Mtools commands now use advisory locks to preclude two 139*d5c9a868SElliott Hughes processes from writing to the same DOS filesystem. You must 140*d5c9a868SElliott Hughes edit the Makefile to choose one of the 3 lock methods: 141*d5c9a868SElliott Hughes -DLOCKF, -DFLOCK, or -DFCNTL. 142*d5c9a868SElliott Hughes See the Configure file for more details. 143*d5c9a868SElliott Hughes 144*d5c9a868SElliott Hughes 2) An error detection routine has been added to determine if the 145*d5c9a868SElliott Hughes FAT encoding scheme in the devices.c file is correct. 146*d5c9a868SElliott Hughes 147*d5c9a868SElliott Hughes 3) Mtools commands now return exit codes with the following 148*d5c9a868SElliott Hughes meaning: 149*d5c9a868SElliott Hughes 0 = success 150*d5c9a868SElliott Hughes 1 = utter failure 151*d5c9a868SElliott Hughes 2 = partial success/failure. (at least one successful 152*d5c9a868SElliott Hughes operation, but at least one failure) 153*d5c9a868SElliott Hughes 154*d5c9a868SElliott HughesIt also corrects a bug when Mtools is used on machines that have 16 bit 155*d5c9a868SElliott Hughesintegers. However, machines with 16 bit integers are limited to FAT 156*d5c9a868SElliott Hughestables that are less than 64k in length. 157*d5c9a868SElliott Hughes------------------------------------------------------------------------------- 158*d5c9a868SElliott HughesPatch #5, 25 Aug 91 159*d5c9a868SElliott Hughes 160*d5c9a868SElliott HughesThis patch will add a few new features: 161*d5c9a868SElliott Hughes 162*d5c9a868SElliott Hughes 1) Mtools will now work properly on MSDOS partitions that are 163*d5c9a868SElliott Hughes greater than 32M. 164*d5c9a868SElliott Hughes 165*d5c9a868SElliott Hughes 2) If the "current working directory" information (contained in 166*d5c9a868SElliott Hughes the $HOME/.mcwd file) is more than 6 hours old, Mtools will 167*d5c9a868SElliott Hughes issue a warning and ignore the old information. 168*d5c9a868SElliott Hughes 169*d5c9a868SElliott Hughes 3) The mcopy command will now copy files between 2 MS-DOS file 170*d5c9a868SElliott Hughes systems (such as mcopy "a:*" b:). 171*d5c9a868SElliott Hughes 172*d5c9a868SElliott Hughes------------------------------------------------------------------------------- 173*d5c9a868SElliott HughesPatch #4, 11 Apr 91 174*d5c9a868SElliott Hughes 175*d5c9a868SElliott Hughes This patch will fix a bug in the mmd command where directories 176*d5c9a868SElliott Hughes inherited the file name extension of the parent directory. It 177*d5c9a868SElliott Hughes also adds a feature that will allow the copying of zero length 178*d5c9a868SElliott Hughes files. 179*d5c9a868SElliott Hughes 180*d5c9a868SElliott Hughes------------------------------------------------------------------------------- 181*d5c9a868SElliott HughesPatch #3, 28 Nov 90 182*d5c9a868SElliott Hughes 183*d5c9a868SElliott Hughes This patch will fix a bug where Mtools sometimes bypasses the 184*d5c9a868SElliott Hughes disk "cache" and reads/writes to the disk directly. 185*d5c9a868SElliott Hughes 186*d5c9a868SElliott Hughes------------------------------------------------------------------------------- 187*d5c9a868SElliott HughesPatch #2, 21 Nov 90 188*d5c9a868SElliott Hughes 189*d5c9a868SElliott Hughes This patch will fix a bug in the folding of MS-DOS filenames to 190*d5c9a868SElliott Hughes lower case, and will fix a bug that could prevent the detection 191*d5c9a868SElliott Hughes of a full disk. 192*d5c9a868SElliott Hughes 193*d5c9a868SElliott Hughes------------------------------------------------------------------------------- 194*d5c9a868SElliott HughesPatch #1, 12 Oct 90 195*d5c9a868SElliott Hughes 196*d5c9a868SElliott Hughes This patch will fix a few problems on Berkeley flavors of Unix, 197*d5c9a868SElliott Hughes and will fix the floating point exception bug when Mtools is 198*d5c9a868SElliott Hughes used with diskettes that have been formatted under very old DOS 199*d5c9a868SElliott Hughes (or formatted by some other non-DOS system). 200*d5c9a868SElliott Hughes 201*d5c9a868SElliott Hughes------------------------------------------------------------------------------- 202*d5c9a868SElliott HughesNew in the v2.0 release.... 203*d5c9a868SElliott Hughes 204*d5c9a868SElliott Hughes 1) Support for multiple devices. Mtools now supports: 205*d5c9a868SElliott Hughes multiple floppy disks (A:, B:, etc) 206*d5c9a868SElliott Hughes DOS partitions on a hard disk 207*d5c9a868SElliott Hughes DOS "images" such as those VP/ix uses. 208*d5c9a868SElliott Hughes 209*d5c9a868SElliott Hughes 2) Wildcards are supported anywhere in a pathname (not just 210*d5c9a868SElliott Hughes in the "filename" part as before) 211*d5c9a868SElliott Hughes 212*d5c9a868SElliott Hughes 3) Reads and writes to slow devices are now "cylinder buffered" 213*d5c9a868SElliott Hughes when appropriate. 214*d5c9a868SElliott Hughes 215*d5c9a868SElliott Hughes 4) Versions of CD, FORMAT, LABEL, and ATTRIB have been added. 216*d5c9a868SElliott Hughes 217*d5c9a868SElliott Hughes 5) A Mtools.1 manual page has been added for an overview of Mtools. 218*d5c9a868SElliott Hughes 219*d5c9a868SElliott Hughes 6) The mkmanifest command has been added. Although not an 'mtool' 220*d5c9a868SElliott Hughes command, it makes life easier when fixing up Unix filenames that 221*d5c9a868SElliott Hughes get clobbered by MS-DOS file name restrictions. 222*d5c9a868SElliott Hughes 223*d5c9a868SElliott Hughes 7) The mkdfs program of the "fast-mtools" release for the Sun 224*d5c9a868SElliott Hughes SparcStation can be replaced with mformat. 225*d5c9a868SElliott Hughes 226*d5c9a868SElliott Hughes 8) The Configure file has been included to help those who must add 227*d5c9a868SElliott Hughes devices to the devices.c file. 228*d5c9a868SElliott Hughes 229*d5c9a868SElliott Hughes Many thanks to Viktor Dukhovni ([email protected]) for 230*d5c9a868SElliott Hughes many of the ideas in the new release. 231