84542 packages online


No screenshot available
Short:V2.17 Multi filesys+.device, win95+mac++
Author:frans at (francis swift)
Uploader:frans xfilesystem freeserve co uk (francis swift)
Download: - View contents

XFileSystem Version 2.17

Main Components:

L:    xfsd        (FD0: / FILE0: etc file system handler)
      devd        (DEV: handler to make devices look like files)

DEVS: fd.device   (FD0: multi-format track device)
      file.device (FILE0: makes disk file images look like real disks)
      cw.device   (CW0: front end for multidisk.device)

plus either mountlist.xfsd (for your devs: directory on <= WB2)
or FD0, FILE0 etc (for your devs:DOSDrivers directory on WB3).

New this release:

  * xfsd mounts multiple partitions
  * devd (DEV:) can access dos devices (eg DEV:DF0)
  * Catweasel support (via new cw.device)
  * .adz / .pkd files supported by file.device
  * more flexible flags format for fd.device

Current xfsd status:

              readdir  read  write delete rename readpartition format
amiga           +       +      +     +      +          +         ?
msdos / win95   +       +      +     +      +          +
mac             +       +                              +
ql              +       +      +     +      +                    ?
minix           +       +      +     +      +
archimedes      +       +
cpm             +       +
1541 / 1581     +       +
spectrum        +       +

Current fd.device status:

                    read   write  trackformat
Amiga tracks          +      +         +
Diskspare 80/82 trk   +      +         +
mfm (pc etc)          +      +         +

Current file.device status:

                      read   write  format
flat files (.adf etc)   +      +
.dms files              +
.adz/.gz files          +
.pkd files              +      ?
pctask/janus hardfiles  +      +

Formatting of disks is currently only at the beta stage, and is
only available on Amiga and QL disks. Remember that as far as the
handler is concerned, formatting means writing a new filesystem
onto the disk, and doesn't actually involve low level writing of
new tracks, this being done by the Format program directly to the
low level exec device. Of course, the fd.device can use any type
of disk so if the disk you use is in the wrong format (say it's
a 720k disk) and you write an inappropriate filesystem to it
(eg FFS) then only xfsd will be able to use it. So make sure
you use the devio command to tell fd.device to low level format
the disk first (read the guide).

Of course you can still copy whole disk images to a blank disk
if you prefer (using DEV:fd.device,unit,size - see the guide),
and currently that is the only way to format disks for which xfsd
doesn't support formatting.

See the 'usage' section for further info (and the faq).

---------------------------- xfs217 -----------------------------

fd.device V42.88 fixes PostWriteDelay bug (which probably didn't
affect anything) and also the motor speed up delay for write
operations has been increased to 200ms (seems to work ok now).
Also implemented new flags scheme to allow more flexible format
selection, see the guide for more details.

devd (DEV:) can now read dos devices (eg DEV:FD0). Actually, it
just peeks the DeviceNode/FSSM/DosEnv for the information it
requires and accesses the exec device directly itself. Also added
the ability to set the start position and length, see the guide
for more details.

file.device V42.21 can now directly access GZip'ed disk images.
It doesn't matter whether the files are called .adz or .gz as the
files are recognised by their content. It can also now access
PackDev (.pkd) files. As these use XPK for crunching this must
be installed to fully utilise this facility.

Renamed mount.xfsd to mountlist.xfs and merged in, so
there's only one mountlist file (if you're not using WB3).

Finally got round to implementing the internal multi-threading so
now ALL partitions on a device are mounted. Partition names are
used as device names if possible, but where they don't exist such
as on fdisk'ed media then default names are generated. So if you
for instance mount ZIP0: and insert partitioned zip media you will
get new devices ZIP0A: ZIP0B: etc. If the device names clash with
any existing devices then a further default is generated.

Added Catweasel support via new cw.device, which acts as a front-end
to multidisk.device to allow all disk types to work through a single
device. See the CW0: and CW1: entries in mountlist.xfs and their
equivalent WB3 icons. Note that these entries use the new startup
string / tooltype.

Added new general device entry SCSI0: which can be made to work
with any size / geometry device, just change the startup string
to the exec device / unit required. It uses a new facility in xfsd
which retrieves the device geometry using SCSI commands if the usual
trackdisk-style geometry isn't available. So there should really be
no need for separate ZIP/JAZ etc entries from now on.

Improved disk change handling in file.device. Now the file requester
always appears if you press the shift-alt-numkey for the particular
unit. I meant to do this ages ago but forgot - thanks Linus.

Internally re-organised the file.device to match the way both
xfsd and fd.device work, with regard to adding new facilities. This
should allow me to more quickly implement new file formats.
Internally the fd.device has always worked via a sort of class system,
with a list of track codecs for the different encoding schemes,
MFM for PC disks etc, MFMA for Amiga disks, and originally there was
a GCR codec which was intended for Apple disks, but that has been
temporarily removed. In addition, xfsd has an internal list of
classes, one for each filesystem type. On the other hand file.device
was a mess, with each new facility hacked onto the existing ones.
Anyway, now file.device is in better shape, and in particular the
interface to each file type codec is pretty much finalised, I may
release some source to show how to implement a file codec.
On the other hand, the xfsd API is in the process of being changed,
so it will be a while before I can release any source to allow
external additions to it. But rest assured, it has always been my
intention to implement the filesystems as external plug-ins, even
the existing ones, since most people don't need to read QL or Minix

Added new control word (PARTITION=) to select the partition number
to mount on partitioned media, so now you can use a mountlist
using the whole disk and let xfsd find the partition on it without
you knowing the exact cylinders etc. This should work ok for most
PC and Amiga disks, and Mac disks that don't have device driver
blocks at the start (as I don't have info on these at present).

Added formatting of Amiga disks, though this should be considered
beta only at present. Also found slight error in delete method
of the Amiga disk class, though it hadn't shown up in actual use.

Fixed error in QL disk class, everything worked on the disk itself
but the free sectors value wasn't being updated on the system copy
so Info/DiskInfo reports were wrong.

Fixed bug in Minix - well re-fixed something I accidentally broke
in the name handling when I was starting to add 30 character names
(which isn't quite finished yet). Note that the code for the Minix
handler has been implemented in classic unix style, which means
that only BigEndian disks (ie written on some sort of 68000 machine)
will be recognised (at present). I'll fix this when I get round to
implementing ext2fs and other both-endian file systems.

Fixed semaphore race bug in file.device which caused it to crash
when used with rom FastFileSystem (though why you'd want to I can't
imagine). Also added ability to use protect flags on disk image
files, so now if you write-protect a file, when you select it with
file.device it will appear (and work) as a write-protected disk.
Also the ENV: variable name for each unit (if you use this) has
changed. It was file/unit#, now changed to file.device,# ie not
in a sub-directory. So now file.device unit 0 will look for the
ENV: variable file.device,0 (which is in fact its task name).

---------------------------- xfs216 -----------------------------

Fixed slight bug in clearing newly allocated directory blocks in
the PC disk handler. This led to bogus entries sometimes showing
up with weird names. There was only a one in sixteen chance of
this occuring, and it never occured on 1440k disks, so I'd never
seen it. Anyway, it should be fixed now.

Somehow the JAZX entry in DOSDrivers went missing. Now included.

The disk type numbers for Minix have changed to accommodate the
long file name variants:

MNX\0  Original Minix,  14 character names
MNX\1  Original Minix,  30 character names
MNX\2  Minix Version 2, 14 character names
MNX\3  Minix Version 2, 30 character names

Note that of the above only MNX\0 is supported at present.

Due to internal re-ordering of the individual handlers, the flag
bits got messed up. So I got rid of them. The new scheme uses the
control field string to enable/disable particular handlers. See
the explanation in the guide (usage > Workbench) or mount.xfsd.

There is a new utility called dospkt in the C directory, also
an upgraded version of the devio utility. These can be used to
instruct devices/handlers to do low/high level formatting of
disks (amongst other things). As an experiment I've enabled
the disk format code in the QL handler, so using devio/dospkt
you should be able to create valid QL disks. For the next release
I'll probably add PC/Minix disk formatting.

Note that the usage of devio has changed so if you are using it
in scripts you will need to change them.

--------------------------- xfs215 ------------------------------

Added support for 1581 disks (read only at present). These disks
sometimes have what are loosely referred to as 'partitions', really
fixed length directories. These are accessed just like directories.

You can now use fd.device to 'format' disks. That is, you can use
the DEV:fd.device,<unit>,<flags> pseudo file to write out disk
images of a particular format. So if you have a blank disk, read
it in using

   copy DEV:fd.device,0 ram:temp

This will copy whatever disk is in drive 0 into file 'ram:temp'.
You can then write it out again using, for instance

   copy ram:temp DEV:fd.device,0,880  ; if it is an amiga disk
   copy ram:temp DEV:fd.device,0,720  ; for a pc / ql / minix disk

etc. See further explanations in 'usage > fd.device' in the guide.

To match up with the above, devd (the DEV: handler) has been
slightly amended, as has the devio utility. You will also find
a later version of the XL friendly fd.device in devs/storage.

While rewriting fd.device I took some time to examine the way
diskspare.device generated checksums (which was the reason for
fd.device not being able to write to these disks properly). I
also implemented an additional track scan to determine whether
a disk has more than 80 tracks. So now there should be full
support for all the different diskspare permutations. There is
also a new version of the mfm utility (for use with rawpatch)
to allow track checksum verification.

--------------------------- xfs214 ------------------------------

Completed MINIX handler. Of course there may be some hidden bugs
so it should be considered just a beta version for now.

Patched disk type into dl_DiskType. Only reason it hadn't been
done till now was I thought I'd already done it. So now you will
get sensible results from Stephan Rupprecht's Info program.
Anyway, it gives me an excuse to explain the disk types that
are returned.

Amiga       DOS\0
            DOS\1    FFS
            DOS\2    Int
            DOS\3    Int FFS
            DOS\4    DC
            DOS\5    DC FFS


MAC         MAC\0

Minix       MNX\1    (and later maybe MNX\2)

QL          QL5A      720k (and ED disks)
            QL5B     1440k

Spectrum    ZXS\0    Disciple
            ZXS\1    UniDos
            ZXS\2    SamDos
            ZXS\4    Opus (180k)

Archimedes  ARMD

CP/M        CPM\2    (and later ZXS\3 for Plus3Dos)

C64         1541     (and later 1581)

These will (eventually, NOT YET) be the dos types passed to the
Format() command to select the file system.

Also, the file.device has been updated to allow it to work better
with devd (DEV:) so that you get the chance to select a file
before the DEV: device asks if there's a disk (file) in the 'drive'.

Now that I have some 1581 disks to experiment with I should be
able to add handling of these to xfs. Since these disks use
side skewing (quick explanation - the top is on the bottom), I
will need to modify fd.device to accept this format. Also, although
the physical sectors are 512 bytes, the logical sectors are only
256 bytes, which will make sector allocation complicated, so
for the moment support will be read only.

Finally I tidied up some clean-up routines so some random crashes
on removal of disks should disappear.

--------------------------- xfs213 ------------------------------

Added a couple of extra disk types to existing handler modules,
specifically Archimedes D type disks, and Spectrum 180k (Opus
Discovery) type disks. Note that both use unusual sector sizes,
the Archimedes D using 1024 byte sectors, and the Spectrum 180k
disks using 256 byte sectors (it's also 40 track single sided!).
Luckily fd.device sorts all this out transparently.

One more technical point. Whenever a disk is recognised by xfsd
the disk dos type is now written into de_DosType in the environment
table of the device entry in the dos list. This is to allow
anyone using the Info() call (which xfsd implements like most
handlers by returning ID_DOS_DISK in id_DiskType for disks it
recognises) to access the true disk type.

Updated crc utility to fix a slight bug.

There's a slight change to the flags setting in the mountlists,
which should be backwards compatible, see mount.xfsd.

Up till this release it was possible to open directories as if
they were files. This was a side effect of the internal
implementation which took advantage of the file-like structure
of directories in certain filesystems (QDOS,MSDOS,RISCOS etc).
I left this in so it would be possible to write external
utilities to access filesystem-specific information that would
otherwise be inaccessible via xfsd. Unfortunately, there are
too many badly written programs out there that, when given no
file name on the command line, open the empty string by mistake.
Of course, this means the current directory, so they get a
'wrong type' error. With xfsd, they would get no error, and
depending on the way the filesystem sets the file size for the
directory, may try to read the whole disk into memory, or 4GB,
or any random number. Anyway I've disallowed this again.

Contents of disk/misc/xfs.lha
---------- ----------- ------- ------- ------ ---------- ------------ -------------
[generic]                  254     628  40.4% -lh5- 3d73 Feb  5  1999
[generic]                  274     628  43.6% -lh5- c400 Jun 28  1998 xfs/
[generic]                 8299   12148  68.3% -lh5- 201b Apr 29  1998 xfs/C/crc
[generic]                  176     450  39.1% -lh5- 4405 Jun 28  1998 xfs/C/
[generic]                 8662   16040  54.0% -lh5- 68b9 Jun 24  1998 xfs/C/devio
[generic]                  176     450  39.1% -lh5- cdcf Jun 28  1998 xfs/C/
[generic]                 6795   12188  55.8% -lh5- d253 Jun 28  1998 xfs/C/dospkt
[generic]                  184     450  40.9% -lh5- 5d20 Jun 28  1998 xfs/C/
[generic]                11728   20584  57.0% -lh5- 7dcf Mar 10  1999 xfs/C/mfm
[generic]                  182     450  40.4% -lh5- 9eb6 Jun 28  1998 xfs/C/
[generic]                 9388   16088  58.4% -lh5- 0505 Mar  7  1999 xfs/C/rawpatch
[generic]                  176     450  39.1% -lh5- 4a03 Jun 28  1998 xfs/C/
[generic]                18091   28152  64.3% -lh5- 36ee Feb 11  1998 xfs/C/x-code
[generic]                  178     450  39.6% -lh5- 3215 Jun 28  1998 xfs/C/
[generic]                26633   48772  54.6% -lh5- 7a42 Aug 22  1998 xfs/C/x-hfsdir
[generic]                  178     450  39.6% -lh5- 67e2 Jun 28  1998 xfs/C/
[generic]                  256     628  40.8% -lh5- d0dc Feb 12  1998 xfs/
[generic]                 3582    5900  60.7% -lh5- 5975 Mar 12  1999 xfs/Devs/cw.device
[generic]                  171     450  38.0% -lh5- 8879 Mar  7  1999 xfs/Devs/
[generic]                  272     628  43.3% -lh5- 1fb4 Jan  3  1999 xfs/Devs/
[generic]                  387     629  61.5% -lh5- 0e63 Dec 30  1998 xfs/Devs/DOSDrivers/CW0
[generic]                  305     525  58.1% -lh5- 0e75 Jan  3  1999 xfs/Devs/DOSDrivers/
[generic]                  389     635  61.3% -lh5- 29ae Dec 30  1998 xfs/Devs/DOSDrivers/CW1
[generic]                  309     531  58.2% -lh5- 2173 Jan  3  1999 xfs/Devs/DOSDrivers/
[generic]                  108     117  92.3% -lh5- 6e1b Feb 12  1998 xfs/Devs/DOSDrivers/DEV
[generic]                  270     481  56.1% -lh5- c0dc Jan  3  1999 xfs/Devs/DOSDrivers/
[generic]                  466     817  57.0% -lh5- 7a85 Jun 28  1998 xfs/Devs/DOSDrivers/FD0
[generic]                  276     492  56.1% -lh5- 4145 Jan  3  1999 xfs/Devs/DOSDrivers/
[generic]                  459     808  56.8% -lh5- 2ac5 Jun 28  1998 xfs/Devs/DOSDrivers/FD1
[generic]                  274     492  55.7% -lh5- 88d0 Jan  3  1999 xfs/Devs/DOSDrivers/
[generic]                  320     531  60.3% -lh5- 88d0 Jun 28  1998 xfs/Devs/DOSDrivers/FILE0
[generic]                  277     492  56.3% -lh5- 1b25 Jan  3  1999 xfs/Devs/DOSDrivers/
[generic]                  319     531  60.1% -lh5- 92b2 Jun 28  1998 xfs/Devs/DOSDrivers/FILE1
[generic]                  272     492  55.3% -lh5- 9b5b Jan  3  1999 xfs/Devs/DOSDrivers/
[generic]                  402     716  56.1% -lh5- 65d6 Jun 28  1998 xfs/Devs/DOSDrivers/JAZX
[generic]                  306     529  57.8% -lh5- a131 Jan  3  1999 xfs/Devs/DOSDrivers/
[generic]                  365     605  60.3% -lh5- 6f0b Feb  5  1999 xfs/Devs/DOSDrivers/SCSI0
[generic]                  301     519  58.0% -lh5- d303 Jan  3  1999 xfs/Devs/DOSDrivers/
[generic]                  493     861  57.3% -lh5- 0418 May  4  1998 xfs/Devs/DOSDrivers/Storage/FX0
[generic]                  274     492  55.7% -lh5- 3579 Jan 13  1995 xfs/Devs/DOSDrivers/Storage/
[generic]                  486     852  57.0% -lh5- d847 May  4  1998 xfs/Devs/DOSDrivers/Storage/FX1
[generic]                  271     492  55.1% -lh5- 593e Jan 13  1995 xfs/Devs/DOSDrivers/Storage/
[generic]                  396     709  55.9% -lh5- 2c84 Jun 28  1998 xfs/Devs/DOSDrivers/ZIPX
[generic]                  309     533  58.0% -lh5- 5844 Jan  3  1999 xfs/Devs/DOSDrivers/
[generic]                14188   25992  54.6% -lh5- c656 Mar 12  1999 xfs/Devs/fd.device
[generic]                  171     450  38.0% -lh5- 8879 Feb 12  1998 xfs/Devs/
[generic]                22668   43152  52.5% -lh5- 7b7a Feb 24  1999 xfs/Devs/file.device
[generic]                  171     450  38.0% -lh5- 8879 Feb 12  1998 xfs/Devs/
[generic]                 2539    8970  28.3% -lh5- a34e Mar  7  1999 xfs/Devs/mountlist.xfs
[generic]                  201     450  44.7% -lh5- 6226 Feb 12  1998 xfs/Devs/
[generic]                  254     628  40.4% -lh5- 3d73 Mar  7  1999 xfs/Devs/
[generic]                13671   24972  54.7% -lh5- d032 Mar 12  1999 xfs/Devs/Storage/fd.device.XL
[generic]                  171     450  38.0% -lh5- 8879 Feb 12  1998 xfs/Devs/Storage/
[generic]                  258     628  41.1% -lh5- 77a4 Feb 12  1998 xfs/
[generic]                 4960    8720  56.9% -lh5- 430d Mar  7  1999 xfs/L/devd
[generic]                  171     450  38.0% -lh5- 8879 Feb 12  1998 xfs/L/
[generic]                63577  117804  54.0% -lh5- faf4 Mar 12  1999 xfs/L/xfsd
[generic]                  171     450  38.0% -lh5- 8879 Feb 12  1998 xfs/L/
[generic]                29997   77310  38.8% -lh5- 4019 Mar 24  1999 xfs/
[generic]                  242     469  51.6% -lh5- 41ee Feb 12  1998 xfs/
[generic]                 6170   14855  41.5% -lh5- 31d4 Mar 23  1999 xfs/xfs.readme
[generic]                  238     463  51.4% -lh5- e9ba Feb 12  1998 xfs/
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total        62 files  263507  506528  52.0%            Mar 24  1999

Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>