SMS Checker 0.81

28/7/03

by Maxim

See section 7 for contact details

This is a program that identifies Master System, Mark III, Game Gear,
SG-1000, SC-3000, Othello Multivision and ColecoVision roms, and Super
Control Station disk images. It can also support just about any type of
file, if a datafile is created for it. It can then rename them, delete
any duplicates, zip or RAR them individually, remove unnecessary
headers and footers, trim overdumps, and patch bad dumps and minor
hacks, unzipping and re-zipping if necessary.

It uses the same names as Meka, Bock's excellent emulator for all of
the systems mentioned above. Other reputable name sources will be used
for any other systems supported.

It does not use data from Cowering's GoodTools. All information is
independently compiled and verified by me.



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Contents
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

1. Quick start
2. Slow start
3. A guide to the toolbar
  3.1 Format dropdown list
  3.2 Options toolbar
     3.2.1 Include subfolders toggle button
     3.2.2 Work in background toggle button
     3.2.3 Options dropdown button
  3.3 Scan toolbar
     3.3.1 Scan button
     3.3.2 Stop button
     3.3.3 Clear list button
  3.4 Results toolbar
     3.4.1 Results button
     3.4.2 What you don't have button
     3.4.3 Log button
     3.4.4 Readme.txt button
  3.5 Operations toolbar
     3.5.1  Rename roms button
     3.5.2  Delete duplicates button
     3.5.3  Fix fixable roms button
     3.5.4  Sort roms button
     3.5.5  Zip uncompressed roms button
     3.5.6  Unzip zipped roms button
     3.5.7  Rename in zips button
     3.5.8  RAR uncompressed roms button
     3.5.9  UnRAR RARed roms button
     3.5.10 Test compressed files button
4. Extra features
  4.1 Favourites
  4.2 Opening folders
  4.3 Rom properties
  4.4 Excluding roms from operations
5. Statistics
6. History
7. Contact details
  7.1 What to do if you have an unknown rom
8. FAQ
  8.1 Things that look like bugs but aren't
9. Source code
9a. Extra rom data files
10. Disclaimer
11. Credits
12. Ending sequence



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 1. Quick start
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Unzip everything in the zip to any folder.

Usage should be obvious - navigate to a folder with roms and click on
Scan. Then use the buttons to do more stuff.



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 2. Slow start
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Unzip all files in the zip to any folder.

Run SMS Checker.exe. If you like, you can pass a folder on the
commandline.

Choose the format you wish to look for from the combobox at the top-
left of the window.

Choose a folder containing roms in the tree on the left. If they are
zipped then it must be individually - one rom per zip. Alternatively,
choose a folder with roms in its subfolders and click on the Include
subfolders button so that it is pushed down.

Click on the Scan button. Wait for the program to finish scanning, or
click on the Stop button to abort scanning.

The names are those from my name source (usually the latest version of
Meka), except they have been changed so that they are valid filenames,
without extended characters such as accented letters. I've also added A,
B and C designations for some alternate versions.

If you have a rom I don't then it will show up with the name "Unknown".
If you have such a rom then please see section 7.1.

You can navigate to another folder and scan again, if you keep your
roms in different places.

When you've finished scanning, you can click on the various buttons to
either report on your roms or do things to them - see section 3.



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 3. A guide to the toolbar
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

From left to right (with the default toolbar order):

Format toolbar:
 Format dropdown list
--------------------
Options toolbar:
 Include subfolders (magnifying glass over folder)
 Work in background button (gauge)
 Options dropdown button (menu and pointer)
--------------------
Scan toolbar:
 Scan button (magnifying glass)
 Stop button (red circle)
 Clear list button (blank sheet)
--------------------
Results toolbar:
 Results button (magnifying glass over sheet)
 What you don't have button (lightning bolt)
 Log button (book)
 Readme.txt button (blue (i))
--------------------
Operations toolbar:
 Rename roms button (rename box over sheet)
 Delete duplicates button (red cross over sheet)
 Fix fixable roms button (red +)
 Sort roms button (3 stacked sheets)
 -------------------
 Zip uncompressed roms button (brown package icon)
 Unzip zipped roms button (brown package icon with arrow)
 Rename in zips button (brown package icon with rename box)
 RAR uncompressed roms button (blue package icon)
 UnRAR RARed roms button (blue package icon with arrow)
 Test archives button (package icons with magnifying glass)

Every button has a popup hint and a statusbar hint to help you get used
to their functions. Once you know the icons a bit better, you can turn
off the captions in the Options menu, saving some screen space.

See below for more information on each button.



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 3.1 Format dropdown list
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Choose which format to scan for from this list. This affects what
filename extension(s) the program looks for. The default formats
supported are:

Format                 Extension
Master System/Mark III .sms
Game Gear              .gg
Sega Game 1000/OMV     .sg
Sega Computer 3000     .sc
ColecoVision           .rom/.col
Super Control Station  .sf7

If your roms have different extensions, they will be ignored.

If you add extra romdata files, they will be listed here, and will
define which filename extension(s) they want the program to look for.

To switch to this at any time, press Alt+F.



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 3.2 Options toolbar
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 3.2.1 Include subfolders toggle button
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

When this button is pushed down, and you start a scan, the subfolders
of the currently selected folder will also be scanned. When it is not
pushed down, subfolders will be ignored.

When subfolders are included, the progress bar will fill once for each
folder when scanning.

Shortcut key: Alt+I



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 3.2.2 Work in background toggle button
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

When this is pushed down, the program has "Idle" priority, which means
it will yield CPU use to other programs; this allows you to perform a
scan in the background with minimal slowing down of the rest of your
system (disk-intensive operations like loading programs will still be
slow). Note that it will make scans take longer too.

Shortcut key: Alt+B



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 3.2.3 Options dropdown button
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Pressing this will show a menu where you can choose some options which
affect the program's behaviour:

:: Scanning > While scanning > Update list

When selected, roms will appear in the list as they are found. It will
also allow you to scroll the list while the program is working. This
will slow the scanning process by about 33% in my tests.

:: Scanning > While scanning > Highlight added items

(This is only available when the previous option is selected.)
When selected, items are highlighted as they are added, and the list
will scroll if necessary so you can see them. This will severely slow
the scanning process, by about 93% in my tests.

:: Scanning > After scanning > Beep

When selected, the system "Asterisk" sound will be played when scanning
completes.

:: Scanning > After scanning > Show message box

When selected, a messagebox will appear when scanning completes.

You can only choose one of the above two options, and selecting one
that is already selected will deselect both, giving no notification of
scan completion.

:: Scanning > After scanning > Show results

When selected, the Result window will appear at the end of every scan.
You can choose this in addition to the previous two options.

:: Operations > During an operation > Update list
:: Operations > During an operation > Highlight current items

Similar to the equivalent for scanning above - the first will update
the list as the operation proceeds, the second will highlight the
current item too. Note that during an operation on the selected items
only, it is not possible to highlight the current item, but the list
will scroll to show it.

:: Operations > After an operation > Beep
:: Operations > After an operation > Show message box

These are similar to the equivalent for scanning above, but they apply
when performing operations instead of scanning.

:: Operations > Delete files > Permanently
:: Operations > Delete files > To the recycle bin

This will affect what happens when you delete your duplicates.

:: Operations > Zip compression

Choose which Zipping method to use when zipping or re-zipping roms:
Super fast - will use minimal compression, which will also require the
  least CPU power and so is fastest.
Fast - will compress them using a fast method, resulting in files which
  have fair compression which is fast.
Normal - will use more advanced compression methods, giving better
compression which is slower.
Maximum - will use the maximum compression, which is very slow, and
  gains very little over Normal.

Basically, there are 9 levels of compression available; the above
settings correspond to levels 1, 3, 6 and 9.

I benchmarked the methods, by zipping the same 51 SMS roms. These are
the results:

Method     Time   Compression
Super fast 13.8s  46.7%
Fast       14.2s  47.6%
Normal     19.1s  49.3%
Maximum    34.5s  49.4%

As you can see, higher settings gain a little compression but take a
lot longer (150% longer for 2.5% more compression (equivalent to 6KB on
a 256KB rom), comparing the lowest and highest settings). So, overall,
you may as well use Super fast compression, which is the default
setting.

:: Appearance > Font...

Allows you to choose what font is used by the program. Note that it is
designed for the default font of Verdana Regular 8pt at a screen DPI of
72. There may be cosmetic problems if you use a different font or
screen DPI setting, such as columns not lining up in the Results
dialogue. Also, the font used by menus, popup hints and the title bar
will not change from the Windows setting.

:: Appearance > Toolbar captions

Toggles captions on the various toolbars (not buttons).

:: Appearance > Button captions

Toggles captions on the toolbar buttons. When they have captions, they
take up much more space but you can see their function more easily.

:: Appearance > List style buttons

Only available when Button captions are on; when set, the toolbar
buttons will have the icon on the left and the caption on the right;
otherwise, they have the icon in the middle with the caption below it.
List style buttons are smaller but less clear.

:: Activity logging > Log program's actions

When selected, the program will record what it does and save that to a
file when it closes. You might find it useful for finding exactly what
it has done (remember, it only did what you told it to!)

:: Activity logging > Append log

When selected, the logs from previous sessions will be kept, and the
current session's log will be appended to them when the program closes.
This will eventually lead to a very large log file.

:: Check for update

Choose this to check online for updated data files. You need to have an
active internet connection for it to work. It is 100% safe, all it does
is open a page in your browser with the file dates of your data files
and the program version passed with the URL. That page should tell you
what updates are available. No personal information is sent, and even
if it was, my ISP hosting wouldn't allow me to record it anyway.


Shortcut key (for popup menu): Alt+O



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 3.3 Scan toolbar
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 3.3.1 Scan button
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Click on this to scan the folder selected in the tree on the left of
the window. See also section 3.4  "Include subfolders".

The program will look for every file in the folder with the extension
corresponding to the format chosen (see section 3.1). It will also look
for .zip and .rar files - it will look in each one to see if it
contains a file with the right extension. If it contains more than one
rom then all but the first one will be ignored.

It will calculate a virtually unique number, called a CRC, for every
rom and will use this to determine what the rom is. It will then add an
entry to the list describing the rom. You can then use the other
buttons to report on your roms, or to sort, rename, zip, rar,
decompress and fix them.

The progress bar at the bottom-right shows the progress through the
files in the current folder.

Shortcut key: Alt+S



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 3.3.2 Stop button
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Click on this to stop whatever operation is currently in process.

Shortcut key: Esc



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 3.3.3 Clear list button
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Press this to clear the list. This is useful when you have done
something to the roms outside the program, such as move or rename files,
as it enables you to scan them again without false information
appearing. This is bad as the Delete Duplicates button may then delete
the only copy of a rom! Also, it is probably faster to clear the lists
before re-scanning a folder which you have moved files into.

Shortcut key: Alt+C



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 3.4 Results toolbar
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 3.4.1 Results button
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Press this button to see a summary of the roms which have been found.

The roms are classified into the following types:

Commercial roms:
These are games which were dumped from actual cartridges, cards or
disks (depending on the format), which were sold in shops. This also
includes unreleased games (eg. GG Yogi Bear) and unofficial/unlicensed
games (eg. SMS Tetris).

Homebrew/demos:
These are roms that are completely fan-made. They normally only ever
exist in emulated file form. I've included internet-distributed SG-1000
Fudebrowser roms in this category.

Hacks:
These are commercial roms which someone has modified, usually to change
some of the graphics, such as the main character sprite. I've not
included the TecToy SMS hacks as they were commercially released.

Translations:
These are commercial roms which someone has modified so that they are
in another language (usually Portuguese).

BIOSes:
These are dumps of the chips inside the console which control how they
work. They are not games, although the "built-in" games and the Snail
Game are contained within them. Meka includes the US and Japanese SMS
BIOSes - to see them, turn the power on from the menu while no rom is
loaded.

Headered/footered:
Some SMS rom dumpers added data to what was actually on the rom. Some
added a 512 byte header, and some added a 64 byte footer containing the
game name. Non-SMS roms do not have these headers or footers.

Overdumps:
When a rom is dumped, the dumper scans through the memory locations on
the cartridge. If it scans further than what is actually there, it goes
back to the start. The result is that the rom data is just repeated
several times.

Bad dumps:
Rom dumpers are home-made devices and are not always 100% perfect. They
sometimes return incorrect data. It is good practice to dump a rom
several times, until the same data is found several times. However,
some roms on the web have not been checked in this way and are
incorrect. Some bad dumps are only slightly incorrect; they appear in
the main list as "fixable bad dumps". Some are substantially bad, or
there is no good dump to compare them to; they appear in the main list
as "unfixable bad dumps". You will be told how many of your bad dumps
are fixable.

Wrong extension:
Some roms on the web have the wrong extension. For example, many
SG-1000 roms have the .sms extension instead of .sg. Since this affects 
how they are emulated, they need to have this corrected.

If you have any duplicates, you will be told how many.

This is followed by a summary of how many different roms you have, how
many of them are "good" (the first five categories), and how many are
"bad" (the last four categories).

There is then a line saying how long all scans for the currently
selected format have taken.

If you have any unknown roms, their details will be listed at the
bottom. See section 7.1 for more information.

Shortcut key: Alt+R



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 3.4.2 What you don't have button
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

This will list all the known "good" roms which haven't been found. It
will also tell you this:

- Bad dumps, overdumps, headered and footered roms and roms with the
wrong extension have been omitted, since there is no good reason to
want them.
- If a name ends in [Demo], [Translation] or [Hack] then... well, you
can figure that out yourself.
- Note that there are unreleased roms listed here, so don't be
surprised if you can't find them online.
- Variants ([A]/[B]) are also listed, because I can't easily exclude
them. If you have one variant then there's no reason to look for the
other.
- If you have any headered, footered, overdumped or bad dumps, you
should fix them to reduce the size of this list.

I WILL NOT give you unreleased roms. Sorry.

Shortcut key: Alt+D



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 3.4.3 Log button
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Press this to see the log for the current session. If logging is
disabled, so is this button.

Shortcut key: Alt+G



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 3.4.4 Readme.txt button
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Pressing this will show this file in the program.

Shortcut key: F1



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 3.5 Operations toolbar
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 3.5.1 Rename roms button
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Press this button to rename every file in the list so its filename
matches the name shown in the Name column. If there a file with that
name already exists, underscores (_) will be added to the name (eg. 
"Sonic the Hedgehog_.sms"). If a file already has the name shown, it
will not be counted in the number shown in the status bar on completion
of this task.

Certain types of roms are given suffixes (bits at the end of their
names) so that their names do not clash with the "good" versions:

Type             Suffix
Headered         (h)
Footered         (f)
Overdump         (2x overdump)*
Fixable bad      (2 bad bytes)*
Unfixable bad    (bad dump)
Wrong extension  (change extension to sg)*
Variant          [A], [B], etc

* Example, changes according to rom

Duplicates will not be renamed.

Variants are roms which are the exact same game (sometimes with minor
differences, for example Lemmings) but which have different rom data.
Some are genuine variants, some are cases where there is no verified
good dump so all known dumps are listed as variants. Some variants have
information added to their names signifying the difference, for example
Speedball.

When a compressed file has a name ending in "(change extension to sg)",
for example, you must change the extension of the file inside the 
archive. If you change the archive filename, the rom will not be
recognised by this program and probably won't work in an emulator.

The rename function does not change the name of the file inside an
archive.

It will perform more than one pass if necessary to minimise the number
of filenames with underscores since some will be caused by temporary
filename collisions.

Choose "Rename..." from the popup menu when you right-click on selected
roms to rename only those roms. The toolbar button ignores the
selection.

Shortcut key: Alt+N



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 3.5.2 Delete duplicates button
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Press this button to delete every file which is absolutely identical to
another which has already been found.

You should not use this function if you are not sure every compressed
file contains only one rom. Several SMS Power releases have included
more than one rom. To be sure, you can unzip/unRAR and recompress all
roms which will guarantee only one rom per archive.

You should also not use this function if you have changed the scanned
files in any way outside the program, as it may delete the only copy of
a file! If you have not modified the files outside the program, it will
never delete the only copy of a file.

Choose "Delete duplicates..." from the popup menu when you right-click
on selected rom(s) to delete only the roms in the selection marked as
duplicates. The toolbar button ignores the selection.

Shortcut key: Alt+L



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 3.5.3 Fix fixable roms button
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

As explained before, fixable bad dumps are only slightly bad; they can
be "patched", correcting the bad bytes. Overdumps can be fixed by
trimming them down to the first copy of the data in the file. Headers
and footers can also be removed from roms. Roms with the wrong
extension can be renamed.

Pressing this button will fix all of your fixable bad dumps, overdumps,
headered, footered and wrong extension roms. If zipped, they will be
unzipped, fixed and re-zipped - this is slow, taking a few seconds per
rom on my computer, compared to a fraction of a second to fix an
unzipped rom. If they are RARed then they will not be fixed, because it
is not currently feasible to re-RAR them properly after fixing. UnRAR
them first if you want to fix them.

Duplicates will not be fixed.

You may have more duplicates after fixing your roms, as the fixed roms
may end up the same as ones you already have.

You will probably want to rename your roms afterwards too.

Wrong-extension roms will usually disappear from the list because their
extension no longer matches what the program looks for.

Choose "Fix..." from the popup menu when you right-click on selected
rom(s) to fix only the fixable roms in the selection (unfixable
selected roms will be ignored). The toolbar button ignores the
selection.

Shortcut key: Alt+X



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 3.5.4 Sort roms button
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

When you click on this button, you will be shown a dialogue once for
every variety of rom you have, where you can choose where you want roms
of that type moved. If you want to create a folder, first choose the
folder to create it in from the tree; then type the name to create in
the box below. The Create button will become enabled, and pressing it
will create the folder. You should wait a few seconds for it to appear
in the list, then you can select it and press OK.

For example, to create a folder called "Hacks" in an existing folder
called "c:\Master System roms", choose "c:\Master System roms" in the
tree, then edit the text below so it says "c:\Master System roms\Hacks",
and press Create.

If you press Cancel, the whole operation will be cancelled.

When you have done this for every rom type, they will be moved
accordingly. You can choose the same folder for more than one type of
rom if you want to. You can also choose the folder the roms are already
in if you wish.

Alternatively, click on "Automatic" to automatically create folders
under the selected folder and move the roms there. This will discard
any folder selections you've made.

You can also click on "Set all" to set the destination folder for all
types of rom to the current selection. This will also discard any
folder selections you've made.

In the event of filename collisions, underscores will be appended as in
the Rename operation.

Choose "Sort..." from the popup menu when you right-click on selected
rom(s) to sort only the selected roms. The toolbar button ignores the
selection.

Shortcut key: Alt+T



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 3.5.5 Zip uncompressed roms button
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

If any of your roms are uncompressed, pressing this button will:

- Create a new zipfile with the same name as the rom. If a zipfile of
than name already exists, underscores will again be added to the name
until a unique name is found.
- Add the rom to that zipfile
- Delete the unzipped rom (if the zipfile is successfully created)

Duplicates will not be zipped.

Choose "Zip..." from the popup menu when you right-click on selected
rom(s) to zip only the uncompressed roms in the selection. The toolbar
button ignores the selection.

Shortcut key: Alt+Z



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 3.5.6 Unzip zipped roms button
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

If any of your roms are zipped, pressing this button will:

- Unzip every file in the zip to the folder containing the zipfile.
Again, underscores will be used to make unique names so no files are
ever overwritten. Path data stored in the zip will be ignored.
- Scan any roms (of the currently selected type) or zips extracted.
- Delete the zipfile, if all files were unzipped successfully.

This is of use because by decompressing and then recompressing your
roms, you can be sure that:

- Every zipfile contains only one rom, so deleting duplicates is safe,
and you may have more good roms listed.
- You don't have any unnecessary files (like text files saying where
you downloaded the file) in the zips, which may stop an emulator being
able to open them.

Choose "Unzip..." from the popup menu when you right-click on selected
rom(s) to unzip only the zipped roms in the selection. The toolbar
button ignores the selection.

Shortcut key: Alt+U



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 3.5.7 Rename in zips button
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

If any of your roms are zipped, pressing this button will:

- Scan through them, checking if the name stored inside the zipfile
matches the correct name
- If not, the zipfile will be directly modified (not unzipping and re-
zipping) to change the stored name to the correct one

This feature is currently beta - while it has never caused a problem
with the thousands of files I've tested it on, has a lot of error-
checking and works on a copy before deleting the original if successful,
it could conceivably irretrievably damage a zipfile under extreme
conditions. Until it has been thoroughly tested by all the people out
there, I'm classifying it as "a bit dangerous". I take no
responsibility if it breaks something, but as I said before, it hasn't
done that in my testing at all. I recommend you use the Test zips
button, then remove damaged zips from the list, before using this
button, and use the Test zips button afterwards as well to check it all
worked OK.



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 3.5.8 RAR uncompressed roms button
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

This is identical to the "Zip uncompressed roms button" above, except it
compresses files with RAR compression instead of the zip format. See
above for more information.

Note that this button will only be enabled if the program is able to
detect that WinRAR is installed. It does this by checking the registry.
If you have WinRAR installed, have some uncompressed roms (ie. not
zipped) and the button does not become enabled, please email me so I
can solve the problem. I can only test my own computer and so cannot be 
confident that all systems have the right registry key set.

Choose "RAR..." from the popup menu when you right-click on selected
rom(s) to RAR only the uncompressed roms in the selection. The toolbar
button ignores the selection.

Shortcut key: Alt+A



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 3.5.9 UnRAR RARed roms button
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

This is identical to the "Unzip zipped roms button" above, except it
operates on RAR compressed files instead of zips. See above for more
information.

Choose "UnRAR..." from the popup menu when you right-click on selected
rom(s) to unRAR only the RARed roms in the selection. The toolbar
button ignores the selection.

Shortcut key: Alt+A



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 3.5.10 Test archives button
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

If any of your roms are zipped or RARed, pressing this button will:

- Perform a test extraction on the data, without writing it to disk
- Report any errors found

This is the same as the Test button found in most archive programs. It
enables you to test that your zipped and RARed roms are not damaged or
corrupted, which can happen because of a bad download or upload, or
disk failure. It is recommended that you do this before undertaking any 
more advanced operations as damaged files may cause problems with some 
of the more advanced functions offered by the program.



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 4. Extra features
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 4.1 Favourites
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

If you right-click on the folder tree, a menu will appear. Choosing
'Add to favourites' will add the currently selected folder (not
necessarily the one you clicked on) to the bottom of the menu. Clicking
on that will open that folder quickly.

There is also an 'Open folder' item in the menu. This will open the
currently selected folder in Explorer.

To delete or re-order the items, open SMS Checker.ini which is in the
same folder as the program file.



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 4.2 Opening folders
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

You can pass a folder to be opened on the commandline.

If you drag a folder onto the window then it will be opened.

If you drag a file onto the window then the folder containing it will
be opened.



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 4.3 Rom properties
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

If you select one or more roms in the list and right-click on them, a
popup menu will appear. Select Properties to get a detailed listing of
the selected roms.

If you select a lot of roms (more than 50), a warning will appear,
since it will take a long time to process and if you select a very
large number (eg. a few hundred) it will cause an error.



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 4.4 Excluding roms from operations
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Right-click on one or more selected roms and choose "Remove from list"
to remove those roms from the list. This has no effect on the files -
it just allows you to remove any files you don't want any operation to
affect. Re-scan the folder containing them if you want to get them back
on the list.



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 5. Statistics
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

I currently have the CRCs for:

Fixed-font layout:
                  ---------Format--------
                  SMS  GG  SG  SC SF7 Col  C8
Commercial roms:  397 353  57   8  13 188  49
Homebrew/demos:    57  35  15   0   4  61   0
Hacks:             51   7   0   0   0  13   0
Translations:      41  27   0   0   0   0   0
BIOSes              9   1   0   1   0   3   0
Head/footered:     89   1   0   0   0   2   0
Overdumps:         56   7   0   0   0  11   0
Fixable bad:       76  28   1   0   0  18   0
Unfixable bad:     27  18   1   0   1  15   0
Wrong extension:   88   5   6  44   0   0   0
---------------------------------------------
Total:            891 482  80  53  18 311  49

In-program layout (font-dependent):
			---------------Format--------------------------
			SMS	GG	SG	SC	SF7	Col	C8
Commercial roms:	397	353	57	8	13	188	49
Homebrew/demos:	57	35	15	0	4	61	0
Hacks: 			51	7	0	0	0	13	0
Translations: 		41	27	0	0	0	0	0
BIOSes:		9	1	0	1	0	3	0
Head/footered:		89	1	0	0	0	2	0
Overdumps: 		56	7	0	0	0	11	0
Fixable bad dumps	76	28	1	0	0	18	0
Unfixable bad dumps 	27	18	1	0	1	15	0
Wrong extension: 	88	5	6	44	0	0	0
----------------------------------------------------------------
Total: 			891	482	80	53	18	311	49

That's 1884 roms!

This includes every rom known to:
GoodSMS V0.999.4 (BETA)
GoodGG V0.999.5 (BETA)
GoodCol v1.00

And quite a lot more.

These were the latest GoodTools available last time I checked.



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 6. History
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

0.1 2?/7/00
  Only reads raw data
  320ish SMS roms in lists
  Some mistakes in lists
0.1a 31/7/00
  Fixed lists
  Added ~40 roms
  Added popup hints for clipped text
0.2 12/8/00
  Added Zip support but dropped non-zip support
  Removed GG roms from lists
0.3 13/8/00
  Re-introduced non-zip support
  Added 8 demo roms (http://www.smspower.org/dev/sources/index.shtml)
  Added "looking" Sonic
0.31 13/8/00 (daylight)
  Fixed minor bug in title-bar report
  Added 24 hacked roms (http://rhw.emucamp.com/)
0.4 15/8/00
  Added all-format support
  Fixed the "error initialising Borland Database Engine" bug
0.41 15/8/00 (daylight)
  Fixed bug in popup hints
  Added more demos and hacks
0.45 20/8/00
  Added 1 rom
  Made batch files self-deleting
  Added limited LFN support under Win9x (but still works under Win 3.1)
  Realised SG-1000 and OMV roms are the same
  Auto-name changing
  Integral zip support (DLL no longer required)
  Optional subfolder checking
0.45a 22/8/00
  Added 62 more GG roms
0.46 25/8/00
  Added more GG roms
  Fixed another bug
0.46a 27/8/00
  Added more SMS hacks
0.47 31/8/00
  Updated unknown rom request
  Improved unknown rom reporting
  Added some alternate SMS roms
  Added "wrong extension" detection
0.47a 3/9/00
  Data file update - mostly SMS roms.
0.48 5/9/00
  Made SMSTrim
  Added support for it
  Added CRCs for trimmed roms
0.5 6/9/00
  Added rom sorting/moving
  Added CRCs for fixed and trimmed roms
  Fixed a tiny error in the data lists
0.51 8/9/00
  A couple of tweaks
  Added more headered roms
0.51a 9/9/00
  Added refresh button and added glyphs
  Added more overdumps and headered SMS roms
  Added PFR Detect demo
0.51b 17/9/00
  Data file update
0.51c 20/9/00
  Data file update, using SMS checksum tools to change some [A] & [B] designations to good and bad dump designations
  Added recent SMS Power releases and some unreleased roms
  Added system-specific graphics
0.52 21/9/00
  Made ByteFix
  Added support for it
  Rearranged interface to fit button in
0.53 30/9/00
  Updated lists with Meka 0.55 beta's name changes
  Fixed some errors
  Added button glyphs
  Rearranged interface again by putting batch options in a combobox
  Added more roms
  Merged data files
  You can now specify a folder on the command line
  Folder and file listboxes now show LFNs.
0.54 4/10/00
  Added lots of rom data
  Fixed tab order
  Fixed bad filename listing when you rename files
  The code to stop the window resizing was reinstated after being accidentally removed
  You can now drop a file or folder on to the window and it will change to the appropriate folder
  Changed subfolders checkbox to a button
  Added button to clear lists
0.54a 6/10/00
  Added about a gazillion roms
  Added keyboard shortcuts
0.55 10/10/00
  Added several more roms
  Added saving of settings to an INI file
  You can now keep the various tools (SMSFix, etc) in any folder
  Added batch zipping
  Added favourite folders popup menu
  Added full zip support for external programs
0.6 13/12/00
  (held back for the release of Meka 0.55)
  Got rid of CRC list
  Added "Open folder" to folder listbox popup menu
  Added a few roms
  Reclassified several roms
  Converted to 32-bit
  Fixed bug where you couldn't use root folders as favourites
  Fixed bug where folders with the System attribute didn't show up
  The duplicates listbox now highlights the most recently added duplicate
  When renaming, extensions are now converted to lowercase instead of staying the same as the original file
  Reinstated commandline support
  Re-wrote this file
  Changed to Windows native unsizable window style
  Added more roms
  Updated names to Meka 0.55's meka.nam
0.6a 14/12/00
  Changed INI filename
  Changed batch filenames to LFNs
  Realised SMSFix can do LFNs, helper.exe no longer needed
  Tweaked a couple of filename suffixes
  Fixed bug where files with extension ".ZIP" were classed as unknown
0.61 31/12/00
  Added 12 new ColecoVision demos
  Reclassified 1 GG game as an overdump and added the fixed version
  Added SF-7000 (Super Control Station) support, now that Meka emulates it
  Added horizontal scrolling ability to listboxes
0.62 11/1/01
  Upgraded results window so it can safely handle more than 32K (ie. this readme)
  Removed horizontal scrolling of listboxes, added hints instead
  Added resizing ability - it's a bit flickery and if the window's big and "while scanning" options are on, scanning is very slow
  Tweaked buffers, so scanning is faster
  Added options menu
    - turning off "while scanning" options makes it much faster but less interesting to look at
    - various notification options for when scan complete
  Rewrote Zip scanning code from scratch (it was someone else's before). Result: the same speed
  Replaced file scanning code with another version. Result: a fair bit faster
  Thoroughly checked for resource leaks, none found
  Unlocked "What-you-don't-have" listing, after adding a roms-you-shouldn't-want filter
  Revamped Results dialogue
    - "Good" roms listed first, with "of" values
    - "Bad" roms listed next, without "of" values; lines omitted if you have none
    - Added reporting of total scan time
  Executable is now WinAligned for faster loading and lower memory usage
  Modified Zip scanning code, with massive speed increases. I've clocked it at up to 278 files per second.
0.65 7/2/01
  All overdumps are now given names saying exactly how they're overdumps
  Updated this readme a bit
  Extensive testing of CRC code finds compiled Delphi code is faster than hand-written assembler; and also that a smaller file buffer is faster. Strange but true. Unzipped files can now be read and CRCed at 14MB/s on my (relatively slow) computer.
  Reclassified the bad Street Fighter dumps as bad
  Revamped interface
  Replaced all code that used to create batch files with in-program code
  Carefully tweaked code so re-scans are no longer required
  Added status bar and progress bar
  Added options for new functions - what to do after working on roms, whether to delete duplicates to the recycle bin
  Updated this readme a lot due to the new interface and functionality
0.65a 3/3/01
  The program will now try to unset any read-only file attributes when they would otherwise cause errors
  Fixed tiny bug with properties dialogue
  Added some unreleased roms :oD
  Added Y2Kode demos
0.65b 8/3/01
  Added lots of roms thanks to Mike Cukan.
0.66 9/3/01
  Added BIOSes as a new rom type
  Fixed bug when fixing hacks, which I caused by adding author information to the data files
  Tweaked code in zipping loop for aesthetic reasons
  Updated this readme a bit
0.666 12/3/01
  Evil release!
  I couldn't resist, I was at 0.66 already and the number of SMS roms reached 666 :oD
  (Typical, I do a silly pointless release and that's the only one that emu sites report :oP)
0.67 27/3/01
  The column sorting is now reset when you add more roms
  Reclassified the bad dump of GG "Lunar (jp)" since the extremely long fix data wasn't being handled properly
  Added some more homebrew roms
  You can now choose your own font
  Statusbar now updates when building folder list
  Type column sorting much improved (it's now in the order I choose)
  Fixed incorrect author information for homebrew/demos
  The "Rom properties" window now shows additional information for homebrew/demos and hacks
  You can now choose the zip compression method to use
0.68 1/4/01
  Fixed Type sorting again - I had the numbers backwards :o)
  Added 21 "new" roms
  Some minor internal tweaking
0.69 10/4/01
  Added more statusbar reporting
  Added 6 headered and footered SMS roms thanks to Ricardo
  Improved file attribute tinkering so now read-only, hidden and system attributes are cleared when necessary
  Results window now flickers less when resized
  Minimising the Results window now minimises the whole program
  Fixed bug which limited the length of bad dump fix data that could be handled (my bad)
  Added 11 bad GG dumps, with fix data
  Added the latest SMS Power! release
0.70 22/4/01
  Listview now shows hints for clipped items
  Added Unzip button
  Added Facemaker good dump, Sylvan Tale translations, Mod2PSG demos
  Changed folder tree component (thanks to Rodrigo Amaro for helping), should solve problems for people who had no folder tree before
0.71 28/4/01
  Added "Fantastic Dizzy", "Majesco GG BIOS", 5 new bad SMS dumps
  Fixed behaviour when dropping files onto window (it had stopped changing to file's folder)
0.71a 2/5/01
  Reclassified "Micro Machines" good and bad dumps; updated minor things I forgot to update in 0.71
0.72 24/6/01
  Added two GGFTP GG baseball games
  Added Chuck Rock 2 dumps
  Added some bad and wrong extension SMS roms
  Fixed the mouseover hint on the Move button
  Updated with Meka 0.57 name changes
  Listview popup hints now wrap if possible to avoid going out of the window (and potentially offscreen)
  Renamed Filename column to Location, so I could add a Filename column which contains no path information, as requested by Bock
  Reclassified Mortal Kombat [B] after giving Bock the cartridge to redump
  Improved "remove from list" code a lot - duplicates are now reclassified if necessary, fixed a bug where the same file could appear twice
  Started referring to Zoop as Bock, just to confuse matters
  Added GG Last Action Hero
0.72a 27/6/01
  Added the various roms necessary to again surpass GoodSMS; note that most were mis-classified by Cowering
  As usual I forgot to update the version number in the program last time
0.72b 2/7/01
  Removed hacks and demos from the what-you-don't-have listing. Really, there's no point to them, the hacks are stupid and the demos aren't games
  Added the necessary roms to again surpass GoodGG and GoodCol, including fix data for bad dumps
  I'm looking for help clearing up the Colecovision dumps - most have signs of being overdumped and/or bad dumps. I may include overdump fixing in a later version. Email me if you can help...
  Updated with Meka name changes again
0.73 18/7/01
  Added a few new roms and a load of bad roms and ones with the wrong extension
  Added online update checking facility, which should make data file updating easier
  Added multi-pass renaming
  Filename column now updates properly after a Move operation
0.74 11/8/01
  Changed data file field separator to tab to allow commas in names in future
  Fixed a bug where renaming would report the wrong number of renames when more than one pass is needed
  Removing roms no longer leaves unusable buttons enabled
  Replaced some old and buggy code that could cause problems before
  You can now run all operations (rename, etc) on just the selected roms, using the popup menu
  Fix operation will now fix roms with the wrong extension
  First steps towards data file extensibility, which will allow adding of data for new formats without needing a new program. You can delete the old .txt data files since now they're called .romdata files :)
  Fixed online update page which turned out not to work properly
  Added the "new" GoodCol dumps, which were again mis-classified
  Made a minor tweak which should make scanning a bit faster
0.75 1/9/01
  Fixed "Properties" routines from the popup menu, they were broken before
  Speeded up "What you don't have" listing
  Worked a lot on new format lists
  Added "Work in background" button; when pushed, it will yield CPU use to all other tasks
  Right-click popup menu is much faster now
  Added various new releases
  First "new" data files added, but in a way to make only people who know what they're doing use them.
0.75a 1/9/01
  Fixed a bug which caused the program to hang when fixing unzipped, wrong-extension roms (or any situation where an unzipped file was not found by the CRC routines)
0.76 25/9/01
  Fixed bug where read-only zips would not be deleted after unzipping
  Improved zip error handling, thanks to Azul for suggesting I see what corrupted zips do
  Fixed a bug when changing the extension of the file inside a zipfile
  Added activity logging
  Made readme window non-modal so you can keep it open and continue to use the rest of the program
  Added an option to have bigger, captioned buttons
  Fixed a bug where certain wrong file extensions were sometimes incorrectly included
  Executable is now UPX compressed
  Added various new roms
0.8 15/4/02
  Icons now change when you change system (for a limited number of systems; icon artists please contact me)
  Toolbar images are customisable (kind of... extract the resource bitmap to "toolbar.bmp" and send your changes to me if they're good)
  Increased the file buffer from 2KB to 1MB, for a speed increase when reading (large) unzipped roms (I get up to 12MB/s)
  Improved zip scanning code, it's now faster and more robust (I get up to 380 files per second)
  Added a button to rename roms *inside* zips
  Added a button/menu item to test zips
  Upgraded toolbar so now you can move and resize stuff
  Reorganised Options menu a bit
  Window now remembers if it was maximised or minimised
  Update feature handles failure to open the browser better
  Improved highlighting code to avoid small scrolling
  Increased information shown in statusbar, including files/roms per second, bytes per second zipped/unzipped and average zip compression
  Fixed a serious bug in the unzipping code
  Fixed various minor and cosmetic bugs
  You can now double-click on a rom to open it with the associated program (zipped roms open with your zip program)
0.81 28/7/03
  Improved handling of duplicates when fixing roms
  Added RAR support
  Fixed a bug in the Sort function
  Added "Set all" button for Sort
  Ported to Delphi 7 and fixed all known issues caused by the process
  Improved Windows XP visual style support
  Improved program icon
  Brought rom databases up to date



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 7. Contact details
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

You can email me at:

maxim@mwos.cjb.net

The SMS Checker web page is:

http://www.smspower.org/maxim/smschecker/smschecker.htm

I also read the SMS Power messageboard a lot:

http://www.smspower.org

I welcome all feedback and suggestions, particularly if you think you
can maintain a rom database.



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 7.1 What to do if you have an unknown rom
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

First, check if you have the latest update - use the "Check for update"
entry in the Options menu. I update the romdata files frequently. Your
unknown rom may then be recognised. If not, continue...

If the rom was released by SMS Power then I have a copy. So don't send
me those.

If it's classed as unknown by the SMEG romdata file then it's either an
unknown rom, or (more likely) it has been deliberately left out of the
list because it doesn't work with SMEG.

If the romdata file is marked as work-in-progress ("[wip]"), or was not
downloaded from the official SMS Checker website, it is unsupported by
me and I don't want those roms.

OK, if you've got this far, it might be a genuinely unknown rom that I
want to know about. In order to classify a rom, I need a copy of it. It
is possible for me to create some overdumps and headered roms by
guesswork; so, if you email me the data given in the results window,
which is of the form:

DFC26F0A C:\WINDOWS\Desktop\unknown.sms 262144

then I may be able to create it. If not, I will need a copy of the rom;
in return for you sending this to me, I will send you any (released)
rom you ask for. I will not send you any unreleased roms I have. You
can compress it to save online time - I can handle ZIP, RAR and ACE
formats among others. You may prefer to upload it somewhere and email
me the URL, as that will be quicker.

TO SUMMARISE:

1. Check if there's an update
2. Check it's a supported format
3. Send me JUST the stuff reported in the Results window, like the
   example given above.
4. IF I reply asking you to send me the rom THEN send it.

I'm sorry to have to shout like this, but a lot of people haven't read
or understood this properly, resulting in me getting sent roms I
already have.



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 8. FAQ
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Q. Be honest... are these actual questions that are frequently asked?
A. No. I've had very few questions; email me if there's anything you
   want to know.

Q. What's a CRC?
A. It's a Cyclic Redundancy Check.

Q. Alright then, what's a Cyclic Redundancy Check?
A. Suffice to say that it's a code generated by a clever algorithm
   which depends on every single byte in a file. The chances of two
   files having the same CRC is 1 in 4,294,967,296, and if two files
   differ by one byte then their CRCs will be extremely different. A
   CRC looks like this: 679E1676.

Q. Enough already, I don't want to know about CRCs any more. How do I
   get rid of them?
A. Just resize the CRC column down until it disappears.

Q. CRC column? I haven't got one of them!
A. You do... it's actually hidden as above by default. Move the cursor
   over the line between the Filename and Type column headers until it
   has *two* vertical lines, and click and drag from there.

Q. These columns are a mess. Can't the program automatically resize
   them?
A. Guess what? The program doesn't, because Windows already does
   it itself! Whenever you see a list view like this (eg. Explorer,
   WinZip, etc), if you move the mouse to the place where you can
   resize the column (and the cursor changes) and double-click, the
   column will auto- size to fit the largest item. Alternatively, when
   the list has focus, press Ctrl+(Numpad +) and all columns will
   resize to fit their largest item (including hidden columns).

Q. When I rename or zip my roms, the names they end up with have all
   these crazy _ things in them? I'm so confused, what can it be?
A. When there's a filename collision (ie. when the name I want to
   rename a rom to is already taken by another file, when the folder I
   want to move a rom to already contains a file of that name, or when
   the zipfile I want to create for a rom already exists), underscores
   (_) are added to the end of the filename to save either errors or
   you having to choose a filename for every collision. You should be
   able to do rename operations to fix them, when you remove the
   offending file with the wanted name. This will often happen if you
   keep different formats' roms in the same folder.

Q. What are those icons supposed to be? Is that an ice cream sandwich?
A. Well, it's hard at times to figure out an appropriate icon (see also
   the "what you don't have" button). Here's the (questionable) logic
   behind them:

   Good dump: Cartridge.
   Homebrew/demo: Cartridge with pencil - because they're "hand-written"
   Hacks: Cartridge with finger - because they've been messed with...
     poked, maybe?
   Header hacks: Cartridge with head
   Translation: Cartridge with book - a dictionary perhaps?
   Unknown: Cartridge with question mark - should be obvious
   Head/footered: Cartridge with plus sign - it's a rom plus a bit
   Overdump: Stretched cartridge with arrows - because it's too big
   Fixable bad dump: Cartridge with a crack in it - because it's broken
   Unfixable bad dump: Cartridge that's broken in half - because it's
     completely broken
   Wrong extension: Cartridge with cross - because it's not what it
     says it is
   Duplicate: Two identical cartridges together - obvious again
   BIOS: Chip - because they are dumped from chips, not cartridges

Q. Why do I still get Master System cart icons even when I'm scanning
   for non-Master System roms?
A. Because I haven't made images for that format. If you send me a good
   image then I'll use it. Actually, if you can improve the existing
   ones I'm interested.

Q. ColecoVision? OMV? Mark III? What are all these crazy formats?
A. Look in Meka's Meka.txt for an introduction to most of the supported
   formats. Or, look on http://www.google.com.

Q. Why don't you add support for other formats, like NES, SNES, SMD,
   N64..?
A. Because I don't care about those systems. I've never owned any games
   console other than my SMS II, original GB and GBA. Emulating GB
   games is silly, so I've not got into that. Meka is a work of genius,
   or at least a warped mind :o) so I added the other Meka systems; I
   had to go and download hundreds of roms to do it, though.

   If you have a very complete collection of roms for any system,
   preferably one with a good name source like Meka is and GoodTools
   aren't, then maybe you could maintain the required lists. Email me
   for more information.

Q. Why do some Japanese roms get given the name of the English port?
A. My system is, the game gets the name Meka gives it when in European
   mode. So, for example, "Ganbare Gorby", which became "Factory Panic"
   on its western release (and lost Mikhail Gorbachev as the lead
   character... ) gets called "Factory Panic (jp)".

Q. How come some of the roms I already renamed have to be renamed again
   when I use a new version of the program?
A. The name lists are constantly being updated. For example, if I find
   an alternate version of a rom, I have to add [A] to the name of the
   first.

Q. Where did you get all these roms?
A. I've been downloading roms for many years. Unfortunately, most of
   the sites I got the from have since been closed. Also, people are
   kind enough to send me roms I haven't got, so they can be added; and
   I am lucky enough to get some roms as soon as they're dumped, before
   their official SMS Power release.

Q. You mean you list unreleased roms?
A. Yes. No, you can't have a copy. Sorry.

Q. Why is RARing so slow! Can't you build it in like zipping?
A. Because the RAR format is proprietary. The RAR people want you to
   pay them money to create RARs. I'm not against that; so, if you want 
   to have your roms RARed you need an external RAR program.



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 8.1 Things that look like bugs but aren't
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Symptom:
When you choose to scan a whole drive, the hard disk is accessed but
nothing appears to happen.
Reason:
When you include subfolders, SMS Checker builds a list of all the
subfolders to scan before it starts scanning. This can take a while if
you have a lot of folders, or the drive is slow. Just wait and it'll
work fine.

Symptom:
Some ColecoVision roms aren't listed.
Reason:
If they have the filename extension .bin, they won't be looked at.
Change it to .rom.

Symptom:
When you use the Rename function, it reports "0 rom(s) renamed".
Reason:
If a file already has the correct name, it won't be counted.

Symptom:
When you access a CDR, it appears to lock up.
Reason:
If it is a DirectCD (or similar packet-writing software) formatted disc,
the process of building the folder tree can be incredibly slow. If you
give it plenty of time (maybe up to 10 minutes) it will be successful.
When you come to scan your roms, it will work at the drive's full speed,
but will take a few seconds to build its folder list.

Symptom:
The text in the status bar is sometimes cut off.
Reason:
This is a limitation of the underlying Windows control - it cannot
display more than about 140 characters.



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 9. Source code
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

This program is kind of semi-open source, in that I don't mind giving
people my code, but I'm not going to release the whole lot. For a start,
there's a secret code in there which I'm keeping private; mainly,
however, it's because it's not very well commented or understandable.
But, if anyone would like to know anything about how this program works,
or would like to see some of the code, just email me.

For what it's worth, this program is made in Delphi 7, which means
Pascal-based source code.



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 9a. Extra rom data files
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

I've included a file called "Extra rom data files.zip". It's password
protected because I want anyone who uses the files inside to read this
bit first.

The rom data files in there are for a few other systems, mostly Atari
ones. It's a lot of hard work to produce these files; it's taken many
hours just to do those, and they're not original namelists.

However, I'm not into emulation of those systems. I'm not able to
verify whether the data in there is correct. Also, it's originally
based on Cowering's GoodTools (a few generations removed), which I have
found to be quite frequently inaccurate; mainly because I know a lot
about Sega 8-bit systems and have concentrated on them, whereas
Cowering has produced lists of tens of thousands of roms/disk images;
he's spread himself thin, so errors get through.

Anyone who is willing and able to maintain one or more these lists
would be a great help to me. I have a lot of other romdata files which
I haven't processed yet, so if the system you know isn't there, email
me anyway.

I'm NOT interested in unknown roms for these systems. I'm NOT
interested in minor name corrections. I DON'T want to maintain these
files. If you think you can then please email me.

OK... the zip password is "herbidacious". If you know the significance
of the word then well done to you :)



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 10. Disclaimer
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

I've tested everything this program does thoroughly. I've fixed every
bug I've found, and I'm pretty sure it won't destroy your roms.
Nevertheless, I must give this disclaimer to cover my back. Here goes...

If this program or anything related to it causes any problems at all,
it's not my fault.

I think that covers everything :o)



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 11. Credits
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

This program uses Delphi Zip to allow it to zip and unzip roms. This
requires me to tell you about this URL: http://www.geocities.com/
SiliconValley/Orchard/8607 where you can get it yourself, and this URL:
http://www.cdrom.com/pub/infozip because it is in turn partly based
upon their code.

The rest of the code I made myself. Well, the CRC code is a bit
derivative (it is an ISO standard!) but I rewrote everything but the
lookup table.

Some of the images used came from Scrow's:
http://www.virtualplastic.net/scrows



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 12. Ending sequence
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Goodnight, brave warrior.

Goodnight, Monster-Land....    (*)




(* One, then four dots. THIS IS IMPORTANT.)


Thanks go to:

Sega
Borland
Bock

...without whom this wouldn't have been possible, or even necessary.

Special bonus thanks to:

Heliophobe
Mike G
Charles

...who are just some of the other nice guys from the world of Sega 8-
bit emulation.

Super bonus he'll-never-read-this thanks to:

E

...who has the best band ever.

And ultra-special she'll-probably-not-read-it-either thanks to:

Michelle

...for bringing me love and happiness, making me the luckiest person on
earth and calling my smile "silly", even when we're 5,000 miles apart.
