Short: Multi filesys+.device, pc+pcw+minix+more Uploader: msw@blackpool.ac.uk Author: frans (francis swift) Type: disk/misc Replaces: xfs208b2 --------------------------- xfs209b2 ---------------------------- For users who wish to use mfm.device in conjunction with xfsd instead of fd.device, the appropriate mountlist entries and workbench icons are now provided. However, using mfm.device has the disadvantage of only being able to access disks with a fixed dos-like format of 9 or 18 sectors per track (as pre-defined in the mountlist). This will prevent you from accessing some foreign disk formats. Updated quick installation notes: Open the drawer "L" in the XFS directory and drag the program "xfsd" to your system "L:" drawer. Open the drawer "DEVS" in the XFS directory and drag the program "fd.device" to your system "DEVS:" drawer. Procedure for Workbench 2.1 and later Drag the icons FD0:, FD1:, FX0: and FX1: into your system "Storage/DOSDrivers" drawer or "Devices/DOSDrivers" drawer. Double click the FD0: or FD1: to mount the volume using fd.device Double click the FX0: or FX1: to mount the volume using mfm.device Procedure for old Workbenches Copy the updated mountlist.xfsd file to DEVS: and add a line to your startup for each drive you want to connect to XFS, as follows: MOUNT FD0: FROM DEVS:mountlist.xfsd ;to use fd.device MOUNT FD1: FROM DEVS:mountlist.xfsd MOUNT FX0: FROM DEVS:mountlist.xfsd ;to use mfm.device MOUNT FX1: FROM DEVS:mountlist.xfsd * Note - There is a known bug in fd.device which shows up on some Amiga models when WRITING to disks. If you experience problems, you should use mfm.device until the bug is fixed in a later release. --------------------------- xfs209b ---------------------------- The PC/95/NT filesystem should now WRITE as well. For files with both long and short names the short name appears in the comment and can be changed via SetComment / FileNote. Short names on disk are assumed to be code page 850. Long names (in unicode) are converted to / from amiga codes. Any characters unavailable on the amiga are printed in www style percent format using their UTF-8 coding, so Ł is displayed as %C5%81. To assist you with these strange codes a utility (x-code) is included to convert / display the various code formats. So... x-code Ł prints out... Ł 0x0141 %C5%81 and... x-code %C3%B6 prints out... ö 0x00F6 %C3%B6 You can enter FILENAMES including the percent format characters and the handler converts them to the correct character on the filename on disk. Where SHORT NAMES have to be automatically generated from the long names, the accented characters are mapped to their uppercase un-accented equivalents, ł (entered as %C5%82) becoming the letter L. Some support for MAC users is included in the PC handler, with mac style long file names stored on PC disks in FINDER.DAT being used if possible. Since at present the handler doesn't understand PARTITIONS, to use with any media that has been partitioned the mountlist must point directly to the volume, not the start of the partition. If you can figure out a hacked mountlist like this you may be able to get the handler to access ZIP drives. In any case, this would be a temporary solution until partition support is implemented (probably ten minutes after this release). --------------------------- xfs208b ---------------------------- MINIX FileSystem now working (read-only). New system for enabling/disabling the mounting of volumes, and for disabling recognition of certain disks (no more xfsd-ami) ...see mount.xfsd for details CPM3 Filesystem (well PCW 3.5 inch 720K disks) (read-only) I have precisely one PCW disk and it works perfectly, so there. Sorry, the mac handler just recognises that the disk is indeed a Mac disk, reads the volume name, then just sits there and refuses to do anything else. Maybe next time. --------------------------- xfs207b2 ---------------------------- ALL NEW INTRO!!! Well, just a few extra words. Ther was a hash clash (try saying that quickly) in the internal name cache (or should that be hash cache?) between the short names and the long names. Basically, the dummy short name entries were displacing the true long name entries, thus losing all the internal pointers etc, so the directory listings (which don't use the name cache) showed all the files, but the handler couldn't access them. I'm still working on the MAC handler, based on code from the hfsutils package on linux, written by Robert Leslie. Hopefully, because I'm basing it on working code, it should work as a complete read/write handler as soon as it's finished :-) EXTRA BONUS *** x-hfsdir *** EXTRA BONUS Mount DEV: (you've already got it - see the mount list for details) then you can get a directory of a MAC disk with x-hfsdir dev:mfm.device,1 or, if there's a subdirectory called hyper x-hfsdir dev:mfm.device,1 hyper and a subdirectory in there called new x-hfsdir dev:mfm.device,1 hyper/new you get the picture, just remember the ,1 means drive unit 1 (df1:) --------------------------- xfs207b ----------------------------- FD.DEVICE and XFSD HANDLER This is a powerful Amiga device and handler combination which allows any drive to read more than a dozen formats, all accessed via a single desktop icon and drive name - regardless of the system that originally wrote the disk. This is the product of years of development by the author of QL_Handler (for Qdos disks) and SP_Handler (for Spectrum disks) which are included in the Qdos4Amiga and Speculator97 distributions. Like all Frank Swift's Amiga programs, it is freely distributable. It is a response to the way icons could proliferate on the desktop with lots of handlers connected to each drive, in case a particular format disk was inserted. The recognition of disks became slow and handlers clashed in their interpretation of the disk format. There had to be a better way. This is it. It's much faster than multiple handlers, and more reliable too. It reads more formats than before, including some - like Windows95 long file names and Archimedes E format disks - which have not previously been supported by Amigas. This program is free and supplied without warranty. If it doesn't work for you, remember how much you paid for it. As often seems to happen, Simon Goodwin has ended up writing the documentation. This is a bit of a rush job, so if you'd like more documentation, send (constructive) comments to: simon@studio.woden.com All technical comments and suggestions should go to the author, Frank Swift, who lives in the pre-modem world, where he can still get some real work done ;-) His snail-mail address is: 325 Charlestown Road, Blackley, Manchester M9 7ES, UK. Or you can contact him via e-mail through his brothers address: msw@blackpool.ac.uk Friendly feedback from users would be much appreciated. Features * A single Handler and device that reads the following formats: Name System Make/Model Acorn Archimedes E format Acorn Computers Amiga OFS Workbench 1.x Commodore Amiga FFS Workbench 2.xx Commodore Amiga FFS/DC Workbench 3.xx Commodore/Gateway Atari ST/TT TOS 1, TOS 2 etc. Atari Corporation BetaDOS Spectrum and +D BetaSoft Diskspare Amiga custom High capacity format GDOS Sinclair Spectrum MGT Disciple Interface G+DOS Sinclair Spectrum MGT/Datel +D interface MasterDOS SAM Coupe MGT and BetaSoft MSDOS IBM PCs and clones Microsoft licensees MSXDOS All MSX disk micros Sony, Toshiba etc. QDOS QL & clones Sinclair, CST, Miracle SAMDOS SAM Coupe Miles Gordon Technology Windows95/NT Intel boxes & clones Anyone with the $$$$$$$ Support for CP/M formats (particularly Amstrad PCW and Plus 3) and Apple Mac is hoped to follow if you make encouraging noises to the author. All other suggestions will be considered, as long as you can provide documentation of the low level and logical formats you'd like added. The intention is to make fd.device flexible enough to cope with any format the Amiga can access, including FM & GCR encodings and multiple sector-sizes per track. (CHIEF ENGINEER SCOTT: "mac handler in a couple of weeks, cap'n"). * Currently fd.device understands amiga style tracks (both normal and diskspare types) and pc style tracks (in most of the common sector sizes, eg 128, 256, 512, 1024, 2048 etc). * Compatible with ALL Amiga systems from Workbench 1.2 to 3.1, so you can format OFS disks on an A4000, and read FFS DC ones on an old A500! * Compatible with HD (High Density) drives as well as DD ones, and odd media sizes like 3 inch and 5.25 inch drives. * Supports Windows95 long file names (and would write them too by now if Micro$oft hadn't found such an absurd way to add them to the MSDOS format!) * Includes FILE0 and FILE1 icons that allow floppy disk images to be manipulated as files (containing a whole disk's contents) on other media, e.g. RAM or hard drive. If you can't see the point of this, you needn't worry about it. Just leave the icons where they are. Limitations Format disk works but always uses the format that the disk is already in - so you can't use XFileSystem to change the formatting of a disk. We have yet to work out a good way to indicate the desired format when there are so many possibilities, including various capacities for a given format: for instance single sided 360K ST, double sided 720K Mega ST and 1.44 Mb Atari TT formats... This is the first release. Writing has only been extensively tested on Qdos format disks (DD and HD) and is not yet supported on Spectrum and PC formats. If you try it a seek error is the likely result. The disk contents will not be changed, but don't trust XFileSystem to your only copy of a file, just in case. You have been warned! The wonderful CatWeasel disk controller is not supported because its MultiDisk device requires the user to decide the format of each disk, rather than letting the sytstem work it out for itself. The original QL_Handler and SP_Handler do work rather well with CatWeasel, though. Installation (at last!) The package is divided in standard Amiga style into two parts - a 'handler', XFSD which recognises the logical format of disks (the directory and file details) and a 'device', fd.device, which reads the disk tracks and decodes them into individual data 'sectors'. There is a special version, XFSD-AMI, which includes support for the Amiga file structures. Normally this is not needed - you can use the DF0:, etc. icons as normal - but if you want the FD icon to recognise Amiga Diskspare, OFS or FFS disks you must copy the xfsd-ami version to directory L: renaming it to remove the -ami, in place of the standard xfsd which only reads 'alien' formats. However, if you use a normal amiga disk with this handler _both_ the normal amiga handler _and_ xfsd would recognise it and try to mount the volume. Tricky. But see the mountlist for a sneaky workaround if you want to experiment. The handler can be manually installed from Shell, Opus, Workbench etc. as follows; Open the drawer "L" in the XFS directory and drag the program "xfsd" to your system "L:" drawer. Open the drawer "DEVS" in the XFS directory and drag the program "fd.device" to your system "DEVS:" drawer. Both files must be in the correct directory or the handler will not work. This is the most common reason people can't get new devices and handlers to work. The procedure to give these programs access to your drives depends on your version of Workbench. Modern Amigas have a DEVS:DOSDRIVERS drawer which contains a 'setup' icon for each desktop drive icon. If you have an old system (such as Workbench 1.3) you'll need to edit your startup-sequence (user-startup on Workbench 2) file in the S: directory to 'mount' the devvice and handler on chosen drives. Procedure for Workbench 2.1 and later Drag the icons FD0: and FD1: from "Devs/DOSDrivers" to your system "Storage/DOSDrivers" drawer or "Devices/DOSDrivers" drawer. The second choice will mount the X handler every time you reboot the system, allowing relatively instant access. The handler is manually activated by double clicking the FD0: or FD1: icon in the Storage sub-directory. This makes the corresponding FD: icon appear on the desktop. Other programs can read the disk, whatever the format, by using the drive name prefix FD instead of DF. There are icons for two drives supplied; you can edit these by changing the name and UNIT number inside if you have more than two drives, e.g. UNIT=3 for FD3: etc. If you want the handlers to be activated automatically on start-up then they should be put in your system "Devs:DOSDrivers" drawer. Procedure for old Workbenches Copy the mountlist.xfsd file to DEVS: and add a line to your startup for each drive you want to connect to XFS, as follows: MOUNT FD0: FROM DEVS:mountlist.xfsd MOUNT FD1: FROM DEVS:mountlist.xfsd etcetera for up to four drives (FD0: FD1: FD2: and FD3: corresponding to DF0: to DF3: respectively). If you just want to try it, without changing your startup, put the XFSD and fd.device files in the required directories (L: and DEVS:, remember) and type one of the above 'Mount' commands into a shell, or into the Workbench 2 'Execute Command' window (if you've got it). ------------------------------------------------------------------------ EXTRA EXTRA ............ fd.device / file.device ............ STOP PRESS Disk recognition As if all this was not enough, fd.device inserts an input stream handler to allow you to force it to re-read the disk, at the same time sending a disk change interrupt to whatever dos handler is using it. The key combination(s) for fd.device are left_alt + numeric_pad(unit#) ie left alt with numeric pad 0 would force a disk change on unit 0. The same is true for the file.device, although in this case it also allows you to select another disk image file for access, via a requester. The key combination(s) for file.device are left_alt + left_shift + numeric_pad(unit#) ie left alt plus left shift plus numeric pad 1 would force a disk change on unit 1. NOTEZ BIEN This key usage may change - especially the particular key combinations (because they may clash with other programs). ------------------------------------------------------------------------ POWER XL The current fd.device doesn't work with the Power XL high density drive, but I'm pretty sure it's fixable. In the meantime I've included an earlier version (fd.device.old) that seems to work ok. If you need it, just rename it to fd.device and put it in devs: Unfortunately the geometry command doesn't work with this version :-( RAWPATCH / MFM -------------- Two utilities to experiment with raw disk data. So obscure as to be almost unusable. Use rawpatch to read in raw track data, then mfm to decode it. Hint: ALWAYS use -I -W with rawpatch (index sync & word sync). At the very least mfm likes its input wordsync'ed, and you can only get an idea of the sector skewing if you read starting from the index pulse. Hint: use -v on mfm to get a verbose output (or even -vv ). GEOMETRY -------- This program sends a TD_GETGEOMETRY command to any device to find out the media layout AND with fd.device it gets some hidden extra information about the interleave, skew factors etc. CRC --- Just a simple program to generate CRC's for files, but I've added an option to generate a CRC for each block (by using eg -b512), which by default is the one used on disk sectors (pc MFM that is, not amiga style). Frank Swift and Simon N Goodwin, Manchester and Oldbury, UK, August 1997.