SFzip Home page

 


SFzip is a Windows program that performs lossless compression/decompression and manages archives of SoundFont files.

This page describes the program’s operation procedures. To get more information about the program or to register it, go to the SFzip Home page.

Note: Throughout this page, the terms Directory and Folder are interchangeable.

Overview

Quick Tour

The Main Window

The Options Dialog

Menu Commands

Creating Archives

Extracting Files from an Archive

Working with Self-Extracting Archives

Working with Directory Trees

How to Register

Copyright & Disclaimer

 


Overview

SFzip performs lossless compression and decompression of Sound Font files contained in compressed archives.

Sound Font files contain samples and articulation data to be used by music synthesizers like MidiSyn and the ones included in the Creative sound cards like AWE, SBLive! and Audigy. SFzip is based on the Sound Font specification revision 2.00a dated 95-10-18 (First publicly released draft).

An SFzip archive file contains an archive header with the information describing the general characteristics of the archive, followed by one or more file descriptors describing each of the files in the archive. The archive header plus the file descriptors are referred to as the Archive Catalogue, as they precisely describe the contents of the archive. The remaining of the archive contains SoundFont files, one file after the other. Each file in the archive is composed of two blocks: The first one contains the articulation data included in the input file (the first part); the second block consists of a series of frames, containing compressed sample data.

An archive can be split into several files. When using removable media, each file is kept in a separate volume. Each file of a split archive has a volume header, which identifies the volume in the archive. For a split archive there is a restriction that the archive catalogue must fit in the first file/volume of the archive.

The last four bytes in an archive (or in each file of a split archive) contain the CRC value, to assure the integrity of the archive.

An archive can be encrypted using a variable length key. In this case, only the first byte of the archive file (which indicates whether the archive is encrypted or not) is in the clear. All the other bytes are encrypted using the key.

SFzip can create self-extracting archives, so that an archive can be decompressed on a system that doesn’t have SFzip installed. To make a self-extracting archive, SFzip packs together the normal archive with a small program that is able to extract files from the archive.

SFzip works in batch mode. After defining the files to be processed, SFzip can be left unattended, working in the background.

SFzip can add an entire directory tree to an archive. The tree structure is faithfully reconstructed when the archive is decompressed.

An archive can contain any number of SoundFonts The maximum file size for an archive is 263 bytes (about 1018); with these values, for all practical purposes, the real limit for the archive size is the size of your hard disk. SFzip overcomes the usual file size limit of 231 because in all  relevant instances it uses special primitives for file manipulation. However, the maximum file size for a Sound Font is 231 bytes, as this is an intrinsic limit of the Sound Font file format. The limit for the size of a single volume/file of a split archive is 241 bytes.

 


Quick Tour

SFzip is activated either by double-clicking its icon on the desktop or by double-clicking on the file name of an SFzip archive in the Windows Explorer or going through the Start/Programs… routine. To activate SFzip by double-clicking on a file name you must have the appropriate association set up between SFzip and the file type (more on that further down in this section).

The files that SFzip has to process are shown in the List View of the application main window. If you want to compress a SoundFont file, add it to the List View using the File/Add File command and then activate file processing using the command File/Process. SFzip will then open the progress window as shown bellow and start compressing the file.

When the processing is done, SFzip will close the progress window and update the file parameters on the main window, to reflect its new status. For more details about creating archives see below Creating Archives.

To extract files from an archive, the procedure is similar: you add an archive to the list with the File/Add File command and then activate file processing using the command File/Process. SFzip will then open the progress window as before and start decompressing all the files in the archive. If you just want to decompress some of the files in the archive then you highlight the ones you want and use the File/Extract command instead of File/Process. For more details about creating archives see below Extracting Files from an Archive.

When you add an archive to the List View, SFzip will open the archive catalogue, which describes the files contained in the archive, and add to the list each individual file contained in the catalogue. You know that a file belongs to a given archive because the program will show in the List View the full path or the archive associated with each file.

While file processing is taking place, the progress window will show the name of the file being processed, the progress relative to that file and the progress relative to all the files in the List View waiting processing.

There are several ways to add files to the List View. One of them, as stated before is to use the File/Add File command. This command is also activated by the Insert key and by a toolbar button. If you want to add all the files in a folder you use the File/Add Folder command. Another way to add files is to use the drag-and drop mechanism: You select one or more files in the Windows Explorer and then drag them (with the left mouse button pressed) to the SFzip window and then release the mouse button. If the SFzip window is not visible do this: drag the files to the SFzip icon in the dock bar without releasing the mouse button, wait a few seconds and the application window will open; then drag the files to the SFzip window as before. If you use File/Add Folder to add files to the list, SFzip will only add SoundFont files and archives to the list; all the other files that may be in the folder will be ignored.

You can at any moment remove files from the List View. This only affects the list, it doesn’t mean that by removing a file from the list that the file is deleted from the file system. To remove one or more files from the list select them and then use the File/Remove command or hit the Delete key. There is also a toolbar button associated with this command. You can use the commands Edit/Select All (or hit Ctrl+A) to select all the files in the List View, Edit/Select Zipped to select all the files in the List View that belong to an archive or Edit/Select Unzipped to select all the uncompressed files in the List View.

There is a Pop-up menu associated with the List View, containing most of the main menu commands. To activate it, right-click anywhere on the List View. Some commands apply to selected items of the list view. In this is the case, you can right-click over the file name and this will both select the file and activate the Pop-up menu.

As explained above, SFzip works in batch mode: After defining the files to be processed, SFzip can be left unattended, working in the background. If there are many files in the list and if the files are somewhat big, this process can take some time. You can mix in the same batch both compression of files to one or more archives and extraction of files from one or more archives.

An archive can be split into several files, a useful feature for Usenet posting and for e-mail interchange of SoundFont files. It can also be split into several volumes of removable media like floppy disks.

An archive can be protected against unauthorized access by encryption. Only the people that know the encryption key will be able to extract files from the archive. Without knowing the key it will not even be possible to know which files are in the archive. When you add an encrypted archive to the List View, SFzip will warn you that this is an encrypted archive and will ask you for the encryption key. If the key you give is invalid, the archive will appear to SFzip as being corrupted and you will get an error message to that effect.

You can add an entire directory tree to an archive. The tree structure is faithfully reconstructed when the archive is decompressed. More on that at Working with Directory Trees.

To insure file integrity and detect file corruption, SFzip uses a 32-bit CRC algorithm. Each file in an archive will have its own CRC, so that no SoundFont file will be created that is corrupted. Also each file in a split archive and each volume in a multi-volume archive will have their own CRCs. It will not be possible to extract files from a corrupted archive.

SFzip can automatically launch the default SoundFont editor to edit a file. This applies to files in the List View, that either have been extracted from archives or the ones that are to be compressed.

SFzip’s behaviour is affected by a set of options that you can control. These are shown in the Options Dialog Box, which is opened by the Edit/Options menu command. More on that bellow, at The Options Dialog.

You can abort at any moment the processing of files by hitting the Cancel button on the Progress window. This does not affect the files already processed. However, if an archive was in the process of being written it will be deleted, to prevent the creation of an invalid archive. In a similar way, if a SoundFont was being written, it will also be deleted for the same reason. When file processing is aborted, the List View reflects the status of each file, whether is has already been processed or not. To resume file processing you just invoke the File/Process command (or hit CTRL/P): The processing of files will resume at the point where it was interrupted, you do not even need to remove from the list the files that have already been processed.

SFzip includes extensive error checking procedures. In case an error is found somewhere it will show you a message clearly indicating the error found and the processing that was being done at the moment. The error message will indicate the file or archive being processed and if possible suggest actions for you to take in order to overcome the problem. If the error occurs while processing files, the process will be aborted in the same way as described in the preceding paragraph. If an error is detected while processing a file or an archive, SFzip will flag the file in the List View with an error indication that shows in the file icon and status field. In this situation, if you resume processing, the error flag will be cleared and SFzip will try to process the file again. If the error if of a permanent type, you must remove the file from the list, in order to allow the other files to be processed.

The Windows Explorer lets you establish an association between a file type and an application so that when you double-click on a file name, the associated application is activated, which in turn opens the file for processing. You can use that mechanism with SFzip, both with SoundFont archives (.SFZ) and with SoundFont files (.SF2). There is the limitation however that when you activate SFzip this way you can only pass to it a single file. The SFzip installation procedure will automatically create an association between SFzip and .sfz files. To make an association manually, see the “file types” section in the Windows Explorer help file.

 


The Main Window

 

 

The program’s Main Window consists essentially of a List View describing the files to be processed, either SoundFont files to be added to an archive or files included in an archive. In might also include files that have already been processed.

Each line of the List View completely describes a single file. Each column of the List View describes an aspect of the file.

You can sort the List View according to each of its columns, either in ascending or descending order. To do that click once on the column title. If you click again the order is reversed.

There is a Pop-up menu associated with the List View, containing most of the main menu commands. To activate it right-click anywhere on the List View. Some commands apply to selected items of the list view. In this is the case, you can right-click over the file name and this will both select the file and activate the Pop-up menu.

Follows a description of the List View columns:

Name

This column indicates the file name. If this is an uncompressed file, this is the name as it appears in the File Explorer. If this is a file included in an archive, this is the name that the file will have after it has been extracted from the archive.

The icon to the left of the icon indicates the type of file and its processing status. This is the visual equivalent of the information that appears in the Status column. More on that bellow.

Size

This column indicates the file size when uncompressed. The size is expressed in Kilobytes (Kb), 1 Kb has 1024 bytes.

Ratio

This column indicates the compression ratio. It is calculated using the formula:

100 - compressed_file_size x 100 / uncompressed_file_size)

This is an indication of the percentage of file size that has been removed during the compression process. For instance a compression ratio of 70% means that if the file size is 100Mb when uncompressed, it will take just 30Mb after compression. So, the higher the compression ratio the better.

This column will be blank for files that have not yet been compressed because the program doesn’t know the file size after compression.

Packed

This column indicates the file size after compression. The size is expressed in Kilobytes (Kb), 1 Kb has 1024 bytes.

This column will be blank for files that have not yet been compressed because the program doesn’t know the file size after compression.

Status

This column indicates the file type and the processing status. For files that have not yet been processed this column has one of two words: Zipped for compressed files and Unzip for uncompressed ones. For processed files, this column will have two words separated by a comma. The first word will be as before, the second word indicates if the processing of the file was successful or not: OK for success and Error otherwise.

The icon next to the file name is the visual equivalent of the file status: A blue icon indicates a compressed file, an yellow icon an uncompressed one; if the file has been successfully processed the icon will have a check mark over it; if there was an error, the icon will have a red X over it.

File Path

This column indicates the file path. It can be an absolute or relative path: The relative path starts with a dot and is used for files that belong to an archive and have not yet been processed. It indicates the part of the path that will be added to the base directory to get the real file path when the file will be extracted from the archive. This is very useful in the case where whole directory trees have been put into an archive. More on that bellow, under the title Working with Directory Trees

Archive Path

This column shows the full path of the archive associated with the file. This will be blank for uncompressed files that have not yet been processed.

 


The Options Dialog

 

 

In the Options Dialog Box you control several aspects of the program’s operation. These options can be saved to disk so that the options that you select in the current session of the program will be kept in future sessions. To save the options currently selected to disk you use the Save button. If you want to set the default options, you use the Defaults button.

If you close the Options Dialog Box with the OK button, the options shown on the window will be used in the current session. If you close it with Cancel, the program will use the options that where set before the Dialog was activated. Bear in mind however that if you save the options, even if you close the dialog with Cancel, the saved options will be used in the current session. On the other hand, if you change some options and then hit OK without saving, the changes you made are used in the current session but not in future ones.

The options in the dialog box are grouped into several sets, according to their functional affinity, as follows, from top to bottom:

When Compressing…

This group controls the creation of a multi-file archive. By selecting Compress all input files to a single output file, all the uncompressed files that are in the main window will be put together in an archive.

If you select Make a self-extracting archive, SFzip will create a self-extracting archive as described bellow in Working with Self-Extracting Archives.

In the File name/path field you specify the file name and/or path for the output file; this can be an absolute or relative path. If the latter, the contents of this field will be added to the base path for compressed files. You can edit the File name/path field directly or use the Browse button.

When Creating a Single Output file…

This group controls will only be active if in the preceding group you selected: Compress all input files to a single output file. With the options in this group you will be able to create split archives, either multi-file or multi-volume. In the latter case you may select the drive where to put the removable media where the archive will be written; the size of each chunk of the archive will be as big as the available space in each media, the minimum acceptable is 1Kb. For multi-file archives you can select the size of each chunk: The minimum acceptable is 1Kb, the maximum limit is 241 bytes.

When Compressing…

This group controls the encryption of archives upon creation. If you select Encrypt output archives, the archives created afterwards will be encrypted with the key that you specify in the field Use encryption key. When opening an archive encrypted with this key SFzip will prompt you to insert this same key.

The encryption key must have at least 6 printable characters. The program will ignore spaces, tabs and other non-visible characters. The encryption key is case insensitive.

Place compressed files in...

In this group you specify the folder (absolute path) to be used by default when creating new archives. If there is a folder specified in this field, a newly created archive will be put in that folder. Otherwise, it will be put on the working folder specified in the shortcut to the program, except in the following case: When the program is to create a single archive for all the input files and the archive name specified in the File name/path field of the top group specifies a full path instead of just a file name, the archive will be put in that folder.

You can edit the file name/path field directly or use the Browse button.

Place decompressed files in...

In this group you specify the folder (absolute path) where to place files extracted from archives. If there is a folder specified in this field, the extracted files will be put in there. Otherwise, they will be put on the working folder specified in the shortcut to the program.

You can edit the file name/path field directly or use the Browse button.

 

The Options Dialog Box includes also some general-purpose controls:

Overwrite files without asking. If this option is not selected, every time SFzip tries to write a file (SoundFont or archive) and that file already exits, it will ask for permission to overwrite the file.

When adding a folder, add recursively its subfolders. This option is useful when adding entire trees to an archive. You specify the top folder of the tree and SFzip will add its sub-folders recursively. More on that bellow, under the heading Working with Directory Trees.

When creating a multi-volume set, first erase all files on media. When this option is selected, every time you try to create a multi-volume archive, SFzip will erase all files on the media (e.g. floppy disk) before writing the archive volume. On the first volume SFzip will ask permission to erase the files; on the other volumes it will silently erase the files.

 


Menu Commands

This section describes the application’s menus and their commands. There is a Pop-up menu associated with the List View, containing most of the main menu commands. To activate it, right-click anywhere on the List View. Some commands apply to selected items of the list view. In this is the case, you can right-click over the file name and this will both select the file and activate the Pop-up menu.

The File menu has the following commands:

·         Add File – This command activates a File Select dialog where you can select one or more files to add to the List View in the program’s main window. This command is also activated by the Insert key. It has a button associated with it in the toolbar.

·         Add Folder - This command activates a Folder Browse dialog where you can select the folder whose content is to be added to the List View in the program’s main window.

·         Remove – This command lets you remove one or more files from the List View in the program’s main window. This command is also activated by the Delete key. It has a button associated with it in the toolbar.

·         Process – When you activate this command, SFzip will start processing all the files in the List View in the program’s main window that have not yet been processed. This command is also activated by the Ctrl+P key combination. It has a button associated with it in the toolbar.

·         Extract – This command lets you extract files from an archive. You use this command instead of the Process command when you want to extract just some files from an archive, not all of them. This command has a button associated with it in the toolbar.

·         Launch – This command opens the default SoundFont editor to edit the file currently selected in the List View of the program’s main window.

·         Exit – This command closes the application.

The Edit menu has the following commands:

·         Select All – This command selects all the files in the List View of the program’s main window. This command is also activated by the Ctrl+A key combination.

·         Select Zipped - This command selects all the files in the List View that belong to an archive.

·         Select Unzipped - This command selects all the uncompressed files in the List View.

·         Options – This command opens the Options Dialog Box, where you can edit the several parameters that affect SFzip’s behaviour. More on that at the section titled The Options Dialog.

The View menu has the following commands:

·         Toolbar - This command views or hides the toolbar.

·         Status Bar - This command views or hides the Status Bar.

The Help menu has the following commands:

·         Manual - This command will show you the file that you are now reading. This command has a button associated with it in the toolbar.

·         Register – This command will open the SFzip order page with instructions on how to order the program.

·         About SFzip – This command opens the About Dialog that shows some information about the program like the current version and the copyright notice.

 


Creating Archives

To create an archive you start by adding the files you want to include in the archive to the List View of the application’s main window. You can add as many files as you want either individually or you can add a complete folder or even an entire directory tree. Then activate file processing using the command File/Process.

By default, each file in the List View will originate a single file archive after processing. You can change this by choosing Compress all input files to a single output file.in the Options Dialog. In this case all the files in the list view that are to be compressed will be included in this multi-file archive.

If the program is to create a single archive for all the input files, the name of the archive is specified in the File name/path field of the Options Dialog. Otherwise (one archive for each input file) the name of the archive is the same name as the input file, but the extension will be set to .SFZ.

If there is a folder specified in the Place compressed files in... field of the Options Dialog, the new archives will be put in that folder. Otherwise, they will be put on the working folder specified in the shortcut to the program, except in the following case: When the program is to create a single archive for all the input files and the archive name specified in the File name/path field of the Options Dialog specifies a full path instead of just a file name, the archive will be put in the specified folder.

An archive can be split into several files, a useful feature for Usenet posting and for e-mail interchange of SoundFont files. It can also be split into several volumes of removable media like floppy disks. To create a multi-volume archive, you add files to the List View and activate file processing using the command File/Process in the usual manner. When is the time to write each volume, SFzip will prompt you to insert a new media for each volume of the archive. You have the option to let the program automatically erase all files in the media prior to writing the volume file. SFzip will put as much of the archive as it fits on the media but will complain if the available space is less than 1Kb. There is a restriction however: the first volume of the archive will contain the archive catalogue and that must fit in the first volume.

If the option Compress all input files to a single output file.is set in the Options Dialog, the archive to be created can be split into several files or several volumes; In the former case you get to choose the size of each chunk of the archive; in the latter case you can specify the removable media drive to which the archive will be written.

All the individual files that an archive is split into, will have the same name. The file extension will be set to .SFZ for the first file, .A01 for the second, .A02 for the third, up to .A99 and then .B01, .B02, and so on. This procedure will allow SFzip to reconstruct the archive from its individual files.

An archive can be protected against unauthorized access by encryption. Only the people that know the encryption key will be able to extract files from the archive. Without knowing the key it will not even be possible to know which files are in the archive. To create an encrypted archive you select Encrypt output archives, and insert the encryption key in the Options Dialog. This applies to both single- and multi-file archives.

An archive can contain any number of SoundFonts. There is no practical limit to the size of an archive (except the size of your hard-disk). However each SoundFont, due to its structure, is limited to 2Gb.

With SFzip you can create self-extracting archives. These are useful if you want to extract files from an archive on a system that doesn’t have SFzip installed. For more information on that please see the Working with Self-Extracting Archives section.

You can add an entire directory tree to an archive. The tree structure is faithfully reconstructed when the archive is decompressed. More on that bellow at Working with Directory Trees.

 


Extracting Files from an Archive

To extract files from an archive you start by adding it to the List View of the application’s main window. When you do that, the program will open the archive catalogue, which describes the files contained in the archive, and add to the list each individual file contained in the catalogue. You know that a file belongs to a given archive because the program will show in the List View the full path or the archive associated with each file. After that you activate file processing using the command File/Process. This will extract all the files in the archive.

If you just want to extract some of the files in the archive, you select the ones that you want in the List View and then use the File/Extract command.

If there is a folder specified in the Place decompressed files in... field of the Options Dialog, the extracted files will be put in that folder. Otherwise, they will be put on the working folder specified in the shortcut to the program. However, this is just the base path; the full path for the file will be obtained by appending to this the relative path that appears in the File Path column in the List View. This will insure that the original file path is reconstructed even if the base path is different. More on that bellow at Working with Directory Trees.

When you add an encrypted archive to the List View, SFzip will warn you that this is an encrypted archive and will ask you for the encryption key. If the key you give is invalid, the archive will appear to SFzip as being corrupted and you will get an error message saying so.

To extract files from a multi-volume archive, you insert the first volume of the archive in an appropriate drive and add the archive to the List View in the usual manner. When you start processing to extract the files, the program will prompt you to insert each volume in the drive as needed. SFzip will check if the volume you put in the drive is the correct one and if not will prompt you again.

 


Working with Self-Extracting Archives

SFzip can create self-extracting archives, so that an archive can be decompressed in a system that doesn’t have SFzip installed. To make a self-extracting archive, SFzip packs together the normal archive with a small program that is able to extract files from the archive.

To make a self-extracting archive you select Make a self-extracting archive in the When Compressing… section of The Options Dialog. You must also set the Compress all input files to a single output file flag in the same section. The file name, which is mandatory in this case, must have an .EXE extension.

To extract the files contained in a self-extracting archive you execute the .EXE file created as described in the preceding paragraph. The activation can be done in the usual manner, for instance by double-clicking over the file name with the left mouse button in the Windows File Explorer.

When the self-extracting application, contained in the .EXE is activated, the following window shows up:

If the archive happens to be encrypted, the program will ask for the key with this window:

When the program is ready to start extracting files, it will ask for the destination folder with this window:

The default destination folder is the one where the .EXE is. You can change it in this window if you so wish.

 


Working with Directory Trees

You can add an entire directory tree to an archive. The tree structure is faithfully reconstructed when the archive is decompressed. Suppose that you have the following directory structure:

 

              Foo

                        File1.sf2

                        Bar

                                 File2.sf2

If you want to create an archive with this structure you start by setting the When adding a folder, add recursively its subfolders option in the Options Dialog. Then, using the File/Add Folder command you add the Foo folder to the List View. SFzip will add the files File1.sf2 and File2.sf2 to the list, storing their path with relation to Foo. The actual creation of the archive proceeds in the usual manner. Obviously this kind of processing assumes that you are creating a multi-file archive.

Now to extract the files contained in the archive created in the preceding paragraph to the folder Baz, proceed as follows: First add the archive to the List View and set the folder Baz in the Place decompressed files in... field in the Options Dialog. Then start decompression using the File/Process command. After SFzip is done decompressing, you will have the following directory structure:

              Baz

                        File1.sf2

                        Bar

                                 File2.sf2

 

 


How to Register

This program is distributed as Shareware The trial version has the same functionality as the registered version, apart from one nag screen each time it finishes processing a file.

To register, please go to the SFzip order page. Upon registration, you will receive by e-mail a registration key that will give you full access to the program.

Each time that you start the unregistered version of the program, you will get this screen:

Here you have tree options:

·         OK – Continue evaluating the unregistered version of the program.

·         Order – This will open the SFzip order page with instructions on how to order the program.

·         Register – This will open the following window:

Here you can introduce the registration parameters that you will receive by e-mail when you register the program. This includes your e-mail address, the registration name and the registration key.

After this procedure and providing that the registration data is correct, the Welcome screen will not be shown again. The nag screens after each file is processed will also disappear.

 


Copyright & Disclaimer

Shareware notice

This software is distributed as Shareware with a 30-day trial period. This means that you may use the unregistered version of the program for a maximum of 30 days from the day when you first try it, after which you should either register it or delete it from your hard disk. If you decide that you want to continue using it, you must register it and pay for a user license. The license is valid for one single user only and cannot be transferred or resold. Please see the preceding section (How to Register) for details on how to register the program.

Copyrights

This program and its components are the copyright of its author, Antonio Esteves, and Future Algorithms.

The program and its components may not be modified or altered in anyway whatsoever without prior written consent from the author.

All trademarks, service marks and other registered names, mentioned in this, and accompanying documents are the property of their respective owners.

Distribution notice

Subject to conditions listed below, you (an individual or an entity) are hereby authorized to freely keep, distribute and multiply copies of the unregistered distribution archive for this software with, through and on, BBS’s, Internet-sites and equivalent information and on-line services. You are also allowed to store it on personal media like hard disks, floppy disks and networks, for personal use only. You are further allowed to include it on so called Shareware collection CD-ROM’s and equivalents without any charge. You are also allowed to share it with your friends using a transportation medium of your choice. Note that this authorization only concerns the unregistered software. Distributions of the registered software and/or registration codes are strictly prohibited.

·         You must always make clear to the recipient that it is unregistered shareware.

·         All the files that are part of the program distribution package must always be supplied in completely unmodified form.

Disclaimer of warranty

Future Algorithms exclude any and all implied warranties, including warranties of merchantability and fitness for a particular purpose.

Nor does Future Algorithms make any warranty of representation, either express or implied, with respect to this product, its quality, performance, functionality or fitness for a particular purpose.

Nor shall Future Algorithms have any liability for special, incidental, or consequential damages arising out of or resulting from any use of this product.

Nor shall Future Algorithms have any responsibilities, or any obligations whatsoever to provide support for this product.

Nor shall Future Algorithms have any responsibilities whatsoever to provide upgrades or bug fixes of any kind.

 


Feedback

Comments, suggestions and bug reports are welcome and should be sent to fadevelop@clix.pt

 

 


This page last modified 2002-09-21 - Copyright © 2002 ACE

 

SFzip Home page