Fosfat is a library written in C for accessing in read-only to an Smaky formatted disk (compatible hard disk and floppy disk). A tool and a FUSE extension are available for reading a Smaky FOS disk. For Window$, some features are not supported, like the images conversions and the FUSE extension.
It is a free software - it is licensed under the terms of the GNU General Public License (GNU/GPL) version 3.
Fosfat is copyright (C) 2006-2010 Mathieu Schroeter.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
The following programs are required to build fosfat for GNU/Linux:
Compile libfosfat, libfosgra, fosread, fosrec, fosmount and smascii by running:
./configure make
This should produce four executables fosread, fosrec and smascii (in ./tools/), fosmount (in ./fosmount/) and two libraries libfosfat.a/.so (in ./libfosfat/) and libfosgra.a/.so (in ./libfosgra/). No extra files need to be installed. You can change some options for configure, look ./configure --help for more informations.
If you want to install Fosfat on your system, run :
make install
The binaries are copied into their appropriate directories (/usr/local/bin and /usr/local/lib), and the header into /usr/local/include in this example. Change the --prefix for an other target directory.
Compile libfosfat, fosread, fosrec and smascii by running:
./configure --cross-compile --cross-prefix=i586-mingw32msvc- make
This should produce three executables fosread, fosrec and smascii (in ./tools/), and three libraries libfosfat-0.dll (in ./libfosfat/), libw32disk-0.dll (in ./libw32disk/) and libfosgra-0.dll (in ./libfosgra/). No extra files need to be installed. You can change some options for configure, look in the ./configure --help script for more informations.
You can found a doxygen documentation of the library here.
The fosmount tool uses FUSE to mount the FOS in your tree.
Usage: fosmount [options] device mountpoint
-h --help this help
-v --version version
-a --harddisk force an hard disk (default autodetect)
-f --floppydisk force a floppy disk (default autodetect)
-l --fos-logger that will turn on the FOS logger
-d --fuse-debugger that will turn on the FUSE debugger
-i --image-pbm convert on the fly .IMAGE to .PBM
-j --image-xpm convert on the fly .COLOR to .XPM (ver. 2)
device /dev/fd0 : floppy disk
/dev/sda : hard disk, etc
mountpoint for example, /mnt/smaky
Example:
The fosread tool can be used only from the console. It can be used with two modes. One to list all files in a directory, and the second to copy a file in a local directory.
Usage: fosread [options] device mode [node] [path]
-h --help this help
-v --version version
-a --harddisk force an hard disk (default autodetect)
-f --floppydisk force a floppy disk (default autodetect)
-l --fos-logger that will turn on the FOS logger
-u --undelete enable the undelete mode, even deleted files will
be listed and sometimes restorable with 'get' mode.
device /dev/fd0 : floppy disk
/dev/sda : hard disk, etc
mode
list list the content of a node
get copy a file from the Smaky's disk in a local directory
node the tree with the file (or folder) for 'get' or 'list'
example: foo/bar/toto.text
path you can specify a path for save the file (with get mode)
Examples GNU/Linux:
Examples Window$:
The fosrec tool can be used only from the console. This tool can retrieve the deleted files.
Usage: fosrec [options] device destination -h --help this help -v --version version -a --harddisk force an hard disk (default autodetect) -f --floppydisk force a floppy disk (default autodetect) -l --fos-logger that will turn on the FOS logger
Examples GNU/Linux:
Examples Window$:
The smascii tool can be used to convert Smaky text file to Extended ASCII (ISO-8859-1).
Usage: smascii smaky_file converted_file [--unix]
smaky_file the smaky text file
converted_file the file converted
--unix the Carriage Return (Old Mac) will be
converted to Line Feed (unix)
Example:
The last release (0.4.0), is available to http://download.gna.org/fosfat/
But use the trunk is better as long as no stable version is available.
The latest fosfat development tree can be grabbed using Subversion, a revision control system, similar in purpose to tools such as CVS, SCCS, and Arch. It is used to keep track of the changes made to a source tree and to help programmers combine and otherwise manipulate changes made by multiple people or at different times.
There are currently 2 ways of accessing the Subversion tree :
via command-line or (to just have a look to some changes on a specific
file, for example) :
web-svn
In order to access to Subversion via command line, create and enter a new directory and do the following (be sure that you have installed the SVN package) :
* svn co http://svn.gna.org/svn/fosfat/trunk fosfat - To fetch all the files from the directory trunk. * svn update - To update your local copy of the Subversion, synchronizing with the server.
You can subscribing to Fosfat-commits list here.
The author of fosfat and this document, Mathieu Schroeter, can be contacted by e-mail.
Please send bug reports, suggestions, ideas, comments or patches to : fosfat-devel@gamesover.ch
Many thanks to Pierre Arnaud for his help and the FOS's
documentation
and to Gna! for the hosting!