| CARVIEW |
Smaky FOS on GNU/Linux & Window$
Fosfat: library and FUSE extension
top Introduction
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.
top Copyright and License
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 <https://www.gnu.org/licenses/>.
top Requirements
The following programs are required to build fosfat for GNU/Linux:
- FUSE, 2.6 or later.
FUSE can be downloaded from https://fuse.sourceforge.net/.
top Building and Installation 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.
top Building for Window$ 9x/NT
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.
top Usage
You can found a doxygen documentation of the library here.
Fosmount (only GNU/Linux)
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:
- fosmount /dev/sda /mnt/smaky
Fosread (GNU/Linux & Window$)
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:
- fosread /dev/sda list /systeme
- fosread /dev/fd0 get /foo/bar.text /bar/bar.txt
Examples Window$:
- fosread d list /systeme
- fosread a get /foo/bar.text bar.txt
Fosrec (GNU/Linux & 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:
- fosrec /dev/sda ./dest
- fosrec ./disk.di ./dest
Examples Window$:
- fosrec d ./dest
- fosrec a ./test
Smascii
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:
- smascii /local/folder/bar.txt /bar/bar.unix.txt --unix
top Download
The last release (0.4.0), is available to https://download.gna.org/fosfat/
- Sources : fosfat-0.4.0.tar.bz2
- Debian : Fosfat is now packaged in Debian and will be available for Debian Squeeze.
- Window$ 9x/NT: fosfat-0.4.0-win32.zip (only fosread, fosrec and smascii)
But use the trunk is better as long as no stable version is available.
Development Tree
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 https://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.
top Mailing list
You can subscribing to Fosfat-commits list here.
top Feedback
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
top Links
top Thanks
Many thanks to Pierre Arnaud for his help and the FOS's
documentation
and to Gna! for the hosting!
