========================================================================

                            -- SetCleaner--

              Copyright (C) 1998-2004 Simon Stanley Sitzia

========================================================================

                           [Windows version]

------------------------------------------------------------------------
1. Legal Notes
------------------------------------------------------------------------
  1. SetCleaner is freeware: it means you cannot sold it
  2. If you use SetCleaner, you use it at YOUR OWN RISK!
  3. You cannot distribute modified versions of this package:
       this means you cannot add, modify and/or remove any file to this
       distribution

------------------------------------------------------------------------
2. Overview
------------------------------------------------------------------------

  SetCleaner is a freeware arcade emulator utility for:
  ------------------------------------------------------
    Xmame/M.A.M.E., Raine, Callus, System16, RAGE, M72, JFF, PinMAME


  Its main features are:
  -----------------------
    (1) Gameset Optimising (Xmame/M.A.M.E.)
    ====================================================================
    Using this feature, you can repack your zips applying the maximum
    compression available. SC can delete useless files, fix those
    files which report a wrong length and move wrong placed roms among
    your zipped sets. SC can delete automatically incorrect or unknown
    gamesets. Then you can decide to remove all the clone games or only
    those which you already have the original game Note that merging
    isn't fully supported yet. You can tell SC to store your gamesets in
    "ZIP" as well as "7Z" format (as long as you have the external
    compression utility) A logfile can be generated to keep track of all
    the actions taken by the program (and displayed while doing the
    operations), and a report is generated when done cleaning.

    (2) Collection Builder
    ====================================================================
    SC can split your gameset collection in volumes, so that each volume
    consists of a subdir containing a gameset subset. You can set the
    maximum size for each volume. Volumes can be zipped automatically.

    (3) Emulator and Gameset Information
    ====================================================================
    SC shows detailed info about installed emulators and supported
    games (you can filter your search). Choosing a game it will show
    you its related info. Now you can specify a game name to view which
    emulators currently support it.

    (4) Front-End
    ====================================================================
    SC has a small front-end which let you run games using your
    emulators' current settings.

    (5) Sample Conversion
    ====================================================================
    SC can convert your older .SAM samples to .WAV (and vice versa).

    (6) Emulator Binary (un)Packing
    ====================================================================
    SC (using UPX) can pack/unpack your emulator executables to save
    space or loading time.

    (7) Missing/Supported Game Listing
    ====================================================================
    SC can generate lists of all the gamesets you don't have and lists
    of all the gamesets that an emulator supports (you can
    include/exclude NeoGeo games as well as clone games).

------------------------------------------------------------------------
3. Requirements
------------------------------------------------------------------------

  Emulators 
  ======================================================================
  You need at least one of the following emulators:

    Emulator    Oldest version supported(*)
    ---------------------------------------
    Xmame       0.34 BETA 1
    M.A.M.E.    0.34 BETA 1
    Raine       0.24
    Callus      0.42
    System16    0.82
    RAGE        0.9
    M72         0.30
    JFF         0.24
    PinMAME     1.32
    ---------------------------------------
    (*) previous versions may not work

  You can always find the latest releases here:
    Xmame       http://x.mame.net
    M.A.M.E.    http://www.mame.net
    Raine       http://www.rainemu.com
    Callus      http://www.maelstrom.net/callus
    System16    http://www.system16.com
    RAGE        http://home.swipnet.se/~w-50884
    M72         http://www.system16.com/m72
    JFF         http://www.retroplay.com/Mecenate/jff
    PinMAME     http://www.pinmame.com

  Packers
  ======================================================================
  You need the following packer (required only if you want to enable
  the "EXE-Packing" feature):

    UPX (v1.24w)

  You can get UPX at its web site:
    http://upx.sourceforge.net


  Archivers
  ======================================================================
  You can use one of the following external archivers, instead of
  using the built-in zip routines:

    Archiver    Oldest version supported(*)
    ---------------------------------------
    7-Zip       3.13
    Zip         2.2
    PKZIP       2.04g
    ---------------------------------------
    (*) previous versions may not work

  You can get 7-Zip at its web site:
    http://www.7-zip.org 

  You can get Zip/UnZip at Info-ZIP's web site:
    http://www.info-zip.org/pub/infozip

------------------------------------------------------------------------
4. Progress
------------------------------------------------------------------------

  Current Release
  ================
    Version   : 2.2.9
    Date      : July 1, 2004
    Platforms : UN*X, Windows

  What's New
  ===========
    - cleaner options more flexible
    - non-working set detection
    - Raine fixes
    - other fixes

  History
  ========
    See HISTORY.TXT

------------------------------------------------------------------------
5. Usage
------------------------------------------------------------------------

  IMPORTANT: Remember, it's strongly recommended to backup your
             Gamesets before running SetCleaner!
  NOTE: Currently cleaning is supported only for Xmame/M.A.M.E.
  NOTE: Merging isn't fully supported yet.
  HINT: Disabling your Anti-Virus will speed up the cleaning.
  HINT: Use 7-Zip (and compression level at 9) to achieve great
        compression rate, or use internal zlib for faster repacking.
  HINT: Store your romsets in 7Z format for a huge compression (note
        that you won't be able to launch them directly from a plain
        MAME binary)

  Cleaning
  =========
    [NOTE] Xmame/MAME and zip programs must be enabled.

    To clean Gamesets follow these steps:
    1) "File -> Preferences"
        Check all settings. MAME must be enabled. If
        you're still evaluating SetCleaner (or just having
        trouble) I suggest you keep enabled both complete LogFile
        and TestMode (using this option all action will be
        simulated), otherwise remember to backup manually your
        Gamesets.
    2) "File -> Detect EMUs"
        During this step the program gathers information about
        your emulators version as well as supported games. Make
        sure you enabled at least one emulator in the settings. If 
        this process hangs you can stop it.
    3) "Clean -> Romsets"
        Now you can start Gameset cleaning, provided you can stop
        (or abort) this process at any time.

  Other services provided by SetCleaner:
  =======================================
    (#) "Utils -> Create Collection Volumes"
        Splits your gameset collection into volumes.
    (#) "Info -> Emulators"
        Shows information about your emus version and some general
        stats about all supported games. You can choose an
        emulator.
    (#) "Info -> Supported Games"
        Shows a detailed card about games selected from the list.
        You can filter your search using the available filters.
        Clicking on "Extra Info" (or just double-clicking on the
        gameset name), will show a detailed sheet about the
        selected game. You can filter by emulator.
    (#) "Info -> Game Query"
        Shows if the selected game is emulated. If yes, it shows
        the list of emulators in which it is supported.
    (#) "Play -> Small Front-End"
        SC lets you run games using your current emu settings.
        You can choose an emulator.
    (#) "Utils -> Sample Converter"
        Insert the filename of the sample(.SAM) to convert (to
        .WAV).
    (#) "Utils -> Compress/Uncompress Emulator"
        Use UPX for compressing/uncompressing emulator binaries
    (#) "Utils -> Create Available/Missing Games List"
        Generate list of gamesets not found to file "SC.LST".
    (#) "Utils -> Create Supported Games List"
        Generate list of gamesets supported to file "SC.LST".

  Preferences
  ============
    You can change setting using menu Preferences. Here is a short
    description for each option:
    
    General
    ====================================================================
    > Game Selection Group:
        Select the group of files to be considered during the
        process. If you want to scan only some Gamesets, you can
        select single Gamesets as well as groups of gamesets using
        wildcards (i.e. "sc inv*" will optimise those gamesets
        whose names match "inv*").
    > Log Type:
        Type of log to be generated after Cleaning. By default the 
        log is saved to file "SC.LOG".
      - None
          Don't generate log.
      - Short
          Generate a short log which has only a summary section.
      - Complete
          (Recommended) This log is very useful to keep track of
          the actions taken by the program.
    [Security]
        These options are provided for a better control during the
        Cleaning.
      > Test Mode:
          Enable test-mode. This option disables file and set
          fixing/deleting. Use this one if you want to evaluate
          the program.
      > User Prompt:
          Prompt user for action before fixing/deleting files or
          sets.
    > Enable .dat creation:
        Use .dat files instead of detecting the emulators
        directly. Using .dat files will speed up the detection
        step but the .dat size can be large.
    > Enable snapshots:
        Enable snaps displaying in informative panels
    > CatList / Use it
        Uses catlist (catver.ini) which must be located in the
        path specified below. Use the "<" button for browsing.

    M.A.M.E.
    ====================================================================
    > Enable support:
        Enables support for MAME.
        This enables the Cleaner too.
    > Path:
        Specify the complete path to your MAME executable.
        Use the "<" button for browsing.

    Raine
    ====================================================================
    > Enable support:
        Enables support for RAINE.
    > Path:
        Specify path to your Raine dir. This dir must contain a
        valid RAINE.EXE executable. The path can be relative or
        absolute.
        Use the "<" button for browsing.

    Callus
    ====================================================================
    > Enable support:
        Enables support for Callus.
    > Path:
        Specify path to your Callus dir. This dir must contain a
        valid CALLUS.EXE executable. The path can be relative or
        absolute.
        Use the "<" button for browsing.

    System16
    ====================================================================
    > Enable support:
        Enables support for System16.
    > Path:
        Specify path to your System16 dir. This dir must contain a 
        valid SYSTEM16.EXE executable. The path can be relative or
        absolute.
        Use the "<" button for browsing.

    RAGE
    ====================================================================
    > Enable support:
        Enables support for RAGE.
    > Path:
        Specify path to your RAGE dir. This dir must contain a
        valid RAGE.EXE executable. The path can be relative or
        absolute.
        Use the "<" button for browsing.

    M72
    ====================================================================
    > Enable support:
        Enables support for M72.
    > Path:
        Specify path to your M72 dir. This dir must contain a
        valid M72.EXE executable. The path can be relative or
        absolute.
        Use the "<" button for browsing.

    JFF
    ====================================================================
    > Enable support:
        Enables support for JFF.
    > Path:
        Specify path to your JFF dir. This dir must contain a
        valid JFF.EXE executable. The path can be relative or
        absolute.
        Use the "<" button for browsing.

    PinMAME
    ====================================================================
    > Enable support:
        Enables support for PinMAME.
    > Path:
        Specify path to your PinMAME dir. This dir must contain a
        valid PINMAME.EXE executable. The path can be relative or
        absolute.
        Use the "<" button for browsing.

    Zip Programs
    ====================================================================
    > Type:
        Select the programs you want SetCleaner to use for
        compressing and uncompressing zips.
      - Internal (zlib)
          Uses zlib code.
      - External 7-Zip (7Z)
          Uses 7Z program.
      - External PKWARE (PKZIP/PKUNZIP)
          Uses PKWARE's programs.
      - External Info-ZIP (Zip/UnZip)
          Uses Info-ZIP's programs.
      - None
          Don't use zip programs.
          Note: this disables Cleaning.
    > External Programs Path:
        Specify path to your zip programs dir. This dir must
        contain valid executables (for further info see the
        "Requirements" section). The path can be relative or
        absolute. Use the "<" button for browsing.
    > .7z archives
      - Enable read support
          Analyses all the .7z archives it found in romsets
          paths.
      - Convert ".zip" archives to ".7z"
          Converts all zipped romsets to 7z'ed romsets
          - Compress Level: (default is 5)
              Specify the rate for compression
    > Enable UPX support
        Uses UPX (for exe-packing) which must be located in the
        path specified below.
    > UPX Path:
        Specify path to your UPX program dir. This dir must
        contain a valid executable (for further info see the
        "Requirements" section). Use the "<" button for browsing.

    Games List
    ====================================================================
    [Available/Missing Games List]
        Options for generating Missing Games List. The list will
        be generated to file "SC.LST"
      > Include Clones:
          Include clones in list.
      > Include NeoGeo:
          Include NeoGeo games in list.

    Cleaner
    ====================================================================
    > Unknown Sets:
        Delete unsupported archives.
    > Unneeded Samplesets:
        Delete obsolete samplesets.
    > Repack:
        This repacks zips using the maximum compression rate
        available.
    [Internal Set Cleaning]
        Some sets could be not perfect so enabling "Repack" will
        let SetCleaner rebuild these sets optimising them.
      > Remove useless files:
          Remove redundant files.
          Note: Some files, although don't needed now, could be
          needed in future emulator versions.
      > Fix files length:
          Cut roms if their length is wrong.
    > Verify:
        Verify gamesets validity.
        Note: this will mark as wrong those sets whose roms have
        an incorrect checksum or whose length can't be fixed.
      > Incorrect Sets:
          Delete corrupted archives.
    [Delete Clone sets]
        Here you can set rules for deleting some specific sets.
        Using this option you can get rid of clones and
        duplicated games.
      - None:
          Don't delete clones.
      - Redundant:
          Delete clones only if the original game is found.
      - All:
          Delete all clones.

------------------------------------------------------------------------
6. Contact
------------------------------------------------------------------------
  The SetCleaner homepage is located at:
    http://www.mameworld.net/setcleaner

  Official mirrors are:
    --Add here-- ;)

  Feel free to send any comment, suggestion or bug-report to:
    sitzia@tin.it

------------------------------------------------------------------------
7. Thanks
------------------------------------------------------------------------
SetCleaner for SPARC is compiled using GNU gcc
SetCleaner for Linux is compiled using GNU gcc
SetCleaner for Windows is compiled using lcc-win32
SetCleaner for DOS was compiled using DJGPP

Thanks for their great software go to:
  Jacob Navia                       - lcc-win32
  DJ Delorie                        - DJGPP
  Jean-loup Gailly, Mark Adler      - zlib
  Gilles Vollant                    - Zip/UnZip for zlib
  Glenn Randers-Pehrson,            - libpng
  Andreas Eric Dilger,              - libpng
  Guy Eric Schalnat                 - libpng
  Jordan Russell                    - Inno Setup

Of course thanks for their hard work go to:
  Nicola Salmoria and the MAME Team - M.A.M.E.
  Allard Van Der Bas,               - Xmame
  Dick the Ridder,                  - Xmame
  Juan Antonio Martinez,            - Xmame
  Hans de Goede and Lawrence Gold   - Xmame
  Antiriad & Raine Team             - Raine
  Bloodlust Software                - Callus
  Li Jih Hwa, Thierry Lescot        - System16
  Anders Nilsson, Janne Korpela     - RAGE
  Nao                               - M72
  Roberto Ventura                   - JFF
  Steve Ellenoff,                   - PinMAME
  Tom Haukap,                       - PinMAME
  Martin Adrian,                    - PinMAME
  Gerrit Volkenborn,                - PinMAME
  Brian Smith                       - PinMAME

And for their comments, suggestions & bug-reporting:
  Mag-ONE, Sven [Imhotep, from VPForums.com], U Fleku

========================================================================
7-Zip is copyrighted by Igor Pavlov
UPX is copyrighted by Markus F.X.J. Oberhumer & Laszlo Molnar
Zip and UnZip are copyrighted by Info-ZIP group
PKZIP and PKUNZIP are copyrighted by PKWARE Inc.
