                           Legacy_FSControl49Support
                           =========================
                           
                               aka FakeFreeSpace
                               by Justin Fletcher
                              
This is a module that was originally written in source suitable for compilation
by JFPatch by Justin Fletcher in response to a plea from Chris Evans for a
routine that fakes the free space on the current drive. He hoped to get some old
games working again that otherwise complain about a lack of harddisc space. It
also works for Navaho, which you may be using as a disk-based webcache for
Oregano if you do not have WebServe (originally bundled with Acorn's Browse).

The module was originally called FakeFreeSpace but as this name hasn't been
registered, it has been renamed Legacy_FSControl49Support (as per Justin's 
later recommendation) as it isn't a fix, just support for applications that use 
an old API.

See usenet article <85c8e4ff49.justin@picsel.com> for the original version. This 
was later modified by Justin, corrected by David Ruck and again by Justin. Don't 
expect any support from Justin however as you should be complaining to whoever 
wrote the software that requires you to use this patch. If they fixed their 
software, this would be unnecessary. This patch /has/ been tested and should work.

To read more about the module, try <URL:http://groups.google.com/groups?lr=&group=comp.sys.acorn.*&safe=off&ic=1&th=d539853bdf6ae5a6&seekd=931060859>. Thank Stefan Bellon for that link.

How do I use it?
---------------

Just ensure you have this module loaded when you want to use the software that 
requires it, eg Navaho. A good way to do this is to put it somewhere like 
!Boot.Choices.Tasks so that it will be run every time you start up your machine.
Alternatively with RISC OS 4 just put the module anywhere on your harddisc and
then drag it to the Run at startup section of the Boot sequence configuration.

If you don't want it always loaded, amend Navaho's !Run file so that it contains 
the following lines:

| Load Legacy_FSControl49Support module to fake free space
RMEnsure Legacy_FSControl49Support 1.00 RMLoad <Obey$Dir>.FakeFreeSpace

You may want to put these lines fairly high up in the !Run file and then copy the
FakeFreeSpace module from this archive inside your !Navaho directory.


How it works:
------------

The original returned that /all/ discs queried about the size of their 32-bit free
space using OS_FSControl 49 will return 512Mb as the free space, largest object and
size of the disc. The current version intercepts the 32-bit free space call and 
instead calls the 64-bit version. If the size is > 2Gb, a smaller size is returned.

Recompiling:
-----------

If you wish to recompile the module, you'll need JFPatch, available from Justin's
software page at <URL:http://www.movspclr.co.uk/software.html>. You'll also need
JFShared from the same location, which should be put somewhere it'll be seen, such
as !Boot.Resources. Once JFPatch has been put somewhere sensible (for you) and has
been seen, it should be enough to just double-click on the source file, 
FakeFreeSpace_src, and the FakeFreeSpace module should be automatically compiled.

You may want to read through the documentation within JFPatch before you do so,
but that is up to you.

This patch was compiled by me from the original source as supplied in the archive
using JFPatch backend 2.55. Any complaints about this quickly knocked up 
documentation should go to me.

--
Andy Wingate <andy@sparse.net>