FEMAME - THE IDEAL COMPANION FOR EVERY MAME
-------------------------------------------

Written by the infamous Blood!
(C)2001, Cheese Freak Software

FEMAME Home Page : http://www.geocities.com/SiliconValley/Lakes/6142/
MAME Home Page   : http://www.mame.net/


A LITTLE WARNING
----------------
This version of FEMAME is designed to work with the latest MAME 0.37
beta version. It will probably work with versions later than that and
also with versions earlier than that, but it WON'T work correctly with
very old versions of MAME which use the old-style .KEY, .DSW and .HI
files instead of .HI and .CFG. Be warned.


UPGRADED FROM FEMAME 1.8?
-------------------------
See FEMAME.NEW for a detailed list of the new features and squashed
bugs.

The FEMAME.INI file format is radically different in version 2.0 to how
it was in 1.8! Loads of new data has been added, so your old INI file
will no longer work. However, before you start throwing things at me,
FEMAME will attempt to convert your old INI to the new format for you
automatically! Just in case, however, be sure to back up your old INI
file before running this new version.... and if it doesn't work for some
reason, send me an email.



WHAT IS IT?
-----------
"Oh No! Not another MAME front-end!", I hear you all cry. Why did I
write this? Well, many moons ago having tried out all the other front-ends
available for MAME I discovered that none of them did quite what I
wanted - so I wrote my own. I released it to the Internet as an act
of kindness - it was only ever really developed for my own use, but I
figure if someone else likes it then great. And apparently quite a lot
of you do like it! :-)


WHAT DOES IT DO?
----------------
It's a nice, fast front-end which sits on the front of MAME and lets you
run games with the desired command line options by selecting from a
menu, rather than typing hundreds of characters onto the command line.


WHY'S IT SO DIFFERENT FROM ALL THE OTHER FRONT-ENDS?
----------------------------------------------------
Well, I'll tell you :

1) It allows you to set different options for every game. My 486 is
quite old and slow, and some games require a higher frameskip than others,
or a different graphic mode. None of the other DOS front ends allowed me
to do this, and this was my main reason for writing FEMAME. Of course,
this is no longer true, but it was innovative at the time... :-)

2) All the options are saved to disk. You don't have to select the
complete set of options every time you start the menu.

3) It allows you to use compressed ROMs. "So what, MAME already supports
ZIP files!" you say. "Ah, but FEMAME allows you to use RAR and ARJ as
well!", quips I.....

4) It's extendible - you don't need a new version every time a new
version of MAME comes out, you just add in the details for the new games
and it should all work fine. It'll also add these automatically if
you're lazy. Like me. :-)

5) It's completely GUI-based and VERY friendly! No fiddling with text
files to get this running, it's all done from the screen. It's also
*fully* configurable - only the games you want to appear will be listed
on the screen.

6) It's a nice small download. No 5Meg obscenity like some of those
Windows front-ends.

7) It's FAST! And I mean F-A-S-T! All screen updates are done with
direct-memory writes, no slow graphics interface here.... Hit a key and
it happens - no waiting.

8) It's free!

9) It runs in DOS. I ain't no Win95 fan.... Then again, it DOES run in a
Windows 95 DOS shell and under Windows NT, so who am I to complain? And 
it also runs just fine under OS/2, so I'm told... ;-)

10) It's SIMPLE! Too many of the other menus include features which you
would never ever use and only help to boost the file size to immense 
proportions and confuse the new user. FEMAME has exactly what you need,
and nothing more.

11) It's got the *BEST* name of all the MAME menu programs. I'm very
chuffed with my MAME/FEMAME idea.... :-)

12) Mirko Buffoni (owner of the MAME project) likes it. That's a good
enough recommendation for me anyway.... :-)


AND JUST FOR THE RECORD
-----------------------
FEMAME was the FIRST menu for MAME to offer :

1) Zipped ROMs
2) Zipped Settings
3) Separate settings for each game
4) Support for merged ROMs (as in MAME 0.33b6)


ALRIGHT, YOU SOLD IT TO ME - WHAT NOW?
--------------------------------------
Read the instructions and give it a go! And if you like it, tell me. And
if you don't like it, tell me that too (but tell me why - emails saying
"your menu sucks" are not constructive). And if you find a bug, I'll
even let you tell me about that (but please send a copy of your INI file)!
:-)



INSTRUCTIONS
------------

GETTING STARTED :

1) You must have at least a 386 with a VGA card. That's about the only 
hardware requirement that FEMAME has! You must also have a DPMI server.
This should be no problem, as MAME comes with CWSDPMI.EXE as standard,
and a Windows DOS shell provides it automatically. Basically, if you 
can run MAME, you can run FEMAME.

2) Unzip FEMAME. If you want FEMAME's various directories to be 
automatically created for you, you must use the -d switch when you
PKUNZIP the file. You probably have a MAME directory already, FEMAME.EXE
and the associated FEMAME.INI file MUST be in the same directory as
MAME.EXE. If it isn't, it won't work. If you're installing a new version
and you want to use the example INI file, you'll need to rename it from
FEMAME.EXM to FEMAME.INI.

3) If you're upgrading from a previous version of FEMAME, start FEMAME
and ask it to convert your FEMAME.INI file to the updated format. Don't 
forget to make a backup of it first!

4) Run FEMAME by typing FEMAME at the command line. I've included an
example FEMAME.INI (called FEMAME.EXM) and this will be interpreted and 
displayed on the screen if you've renamed it to FEMAME.INI. This file 
contains ALL of the games from version 0.34b7 of MAME, set up to run with 
standard settings. You can alter this as you wish, or you can delete it 
and start from scratch. If you delete the file, FEMAME will ask you whether
you want to make a new one next time you run it.


THE SCREEN
----------
FEMAME has two main windows. The one on the left contains a scrollable
list of game titles, sorted alphabetically, whilst the window on the right
shows the current command line settings for the game which is currently 
selected on the left. Got that? Easy. 

Games on the left are either bright or dim. If they're bright, it means
you can run them (i.e. you have the ROMs, or you have ROM scanning
turned off) and if they're dim you can't (and you need to get hold of
the ROMs). See ROM SCANNING below for more info.


NAVIGATION
----------
You can use the UP and DOWN arrow keys to move the selection bar in the
left hand window. You can also use PAGE UP and PAGE DOWN to move more
quickly. For really quick navigation direct to the entry you need, you
can type the first few letters of it's name to enable string searching.
For example, if you want to get to Bombjack, type BOM and you'll be
there. Upon pressing B you'll go to the first entry beginning with B,
pressing O sends you to games beginning BO, and so on. If you press a
letter which isn't next in sequence then matching is cleared and
restarted (e.g. if you're pointing at Bombjack having just pressed BOM
and you then press Z, you'll end up at Zaxxon). This is a lot easier to 
use than it is to describe, I promise - it works just the same as a 
Windows file selector...

There are now too many options to fit on the right-hand side of the
screen, so I've had to split it into two pages. Using the LEFT/RIGHT
arrow keys, you can now flip between the two pages very quickly. The
most-used options are listed on the first page, lesser used options are
on the second page. You can tell which page you're on by looking at the
page counter at the top of the window.

And if you're a numbers freak, there's now a counter at the bottom of
the main selection window which shows you just how many games you
currently have installed in your FEMAME database!


ADDING AND DELETING ENTRIES
---------------------------
This is very simple :

To delete an entry just point the selection bar at the offending title
and press DELETE. You will be asked to confirm by pressing Y or N, if
you press Y the entry is deleted. This is FINAL - you can't UNDO, so be
careful!

To add an entry, press INSERT. Next you'll have to enter a number of
items of information, as described below :

GAME NAME:
This is the name which MAME uses to run the game. So, for Pacman you'd
enter "PACMAN" here. Case doesn't matter. 

BASE GAME:
If your game is a clone, it may have been merged with a base-game. For
instance, the Japanese version of Shinobi uses most of the ROMs from the
English version. This entry is filled in if you are using merged ROMS -
you fill in the name of the game which the clone is based on here. So,
for Japanese Strider you would put "STRIDERJ" into the GAME NAME and
"STRIDER" into the BASE GAME. Using this method you can have the ROMs
set up as you wish - either all of the ROMs for both versions in a
single archive called (for example) STRIDER.ZIP, or you could have the
base ROMs in STRIDER.ZIP and the extra Japanese ones in STRIDERJ.ZIP.
FEMAME will look for and extract either way without you having to
reconfigure. 

SAMPLE FILE:
If your game uses samples and you have them archived in the SAMPLES
directory, you'll need to enter the name of your file here. This is
useful as it allows you to use the same sample file for multiple games
without duplicating the samples. Only needed if you're using archived
samples. You should not enter the .XXX extension - this will be
automatically detected depending on which archiving method you are
using.


EXE FILE:
FEMAME calls MAME.EXE as standard, but you can get it to call any EXE
file you like by entering the name here. Don't enter the .EXE extension,
that'll be added automatically. Very useful if you want use different
versions of MAME to run different games from within a single FEMAME
setup. Press ENTER without typing anything to set the default.

GAME TITLE:
The long title of the game you're adding. Can be anything you like, up
to 38 characters.


Once you press ENTER on the final field, the entry will be created with
a default set of game options. If you want to cancel at any time, just 
press ESCAPE.


EDITING OPTIONS
---------------
Now that you've made an entry, you'll probably want to alter the options
which are shown on the right-hand side of the screen. You can have a
completely different set of options for every game you want to run.
Point the selection bar at the game you wish to change and the current
settings for that game will be displayed. Press TAB, and control will
pass over to the right hand window.

The option which you are currently altering will flash, use the UP and
DOWN arrows to move to the required option, then use the LEFT and RIGHT
arrows to change the values. When you've finished, press TAB again (or
ESCAPE) and your changes will be saved.

Remember that there are two pages of options! You can get to the second
page by moving up off the top of the page or down off the bottom, or you
can press the SPACE bar to flick immediately to the other page.

NOTE : If you don't have a VESA mode selected, you won't be able to set
certain vesa-only options - they will not be active! A small point, I know,
and blatantly obvious, but I bet I'd get mails about it if I didn't write
it up somewhere..... :-)


RUNNING GAMES
-------------
The easy bit! Point the selection bar at the game you wish to play and
press RETURN! Hopefully the game will start. If not, you must have done
something wrong (try reading the messages that MAME displays) and you 
will return to the menu. When you've finished playing a game, press
ESCAPE to exit MAME and you will return to FEMAME.


RUNNING A RANDOM GAME
---------------------
Can't decide which game to run? 500+ games just too many to choose from?
Run a RANDOM game! Just hold CONTROL and hit RETURN and a FEMAME will
pick and launch a random game from your list rather than the one you're
pointing at! Thanks to ADM (manninad@boat.bt.com) for this fantastic
suggestion.... :-)


EDITING GAME NAMES AND DIRECTORY NAMES
--------------------------------------
Sometimes you would like to change the name of a game, or the name of
the game's directory (e.g. MRDO became MRDOT in version 0.18 of MAME as
a different set of ROMS are now MRDO). This is easily done. Point the
selection bar at the game you wish to alter and press END. A box will
pop up allowing you to alter any of the game's information. Pressing 
ESCAPE will cancel this box and throw away any changes, whilst 
pressing RETURN will accept the changes.

NOTE -- For users of FEMAME ARCHIVING :
If you change the name of the directory of a game, FEMAME will
automatically change the names of your archived ROM file, high score file
and configuration files for you so the game can be run immediately. If FEMAME
fails to do this, you will be notified.

NOTE -- For users of MAME ZIP SUPPORT / DECOMPRESSED ROMS :
If you change the name of the directory of a game within FEMAME, you 
MUST rename the game's directory and config files yourself from DOS - 
FEMAME won't do it for you! If you don't do this, MAME won't be able to 
find your game roms and data when you try to run the game.


SETTING DEFAULT VALUES
----------------------
When adding a lot of entries, it is annoying to have to edit every entry
to the correct options. FEMAME allows you to create a set of default 
values which will be applied to every new entry you create from
that point onwards. Doing this is very simple. First, create an entry
and set up the options to how you would like them (if you already have
one, you don't need to do this). Next, point the selection bar at this
entry and press HOME. FEMAME will inform you that you are about to
change the default settings and ask you to confirm. If you press Y, the
current settings will be saved as the default settings, and will be
reloaded every time you start FEMAME. Any new game you add will now be
automatically assigned the default settings.

When you first start FEMAME with a brand new INI file, the default
options are set up to be the same as MAME's default options.


AUTOMATICALLY ADDING GAMES
--------------------------
If you're too lazy to enter all those games yourself, you can get FEMAME
to ask MAME which games it supports and automatically build a FEMAME.INI
file for you!

Press F2 to begin and you are presented with a form which allows you to
choose some options before Auto-Add begins. These are described below :

Confirm every game found :
Selecting YES here will ask you if you want to add each game that is
found to be supported but is not already in your FEMAME.INI file.
Selecting NO adds every found game automatically.

Edit each game straight away :
Selecting YES will pop up the Edit Game screen immediately after adding
each new game, allowing you to set up any other data. If you select NO
then you will be able to do this later.

Add games you don't have :
Selecting YES here will add ALL games that are found to be missing from
your FEMAME.INI file. If you select NO, then FEMAME will only try to add
games which it can find ROMs for on your hard drive.

Call -listclones for Base :
Turning this option on makes FEMAME call MAME a second time with the
-listclones option in order to fill in the "Base Game" field. If you're
using an old version of MAME which doesn't support -listclones then
you'll want to turn this option OFF.

Add only games beginning with :
You can put a letter in here. This reduces the number of returned games
by only adding games which begin with the letter you specify.

EXE file to interrogate :
If you're using multiple versions of MAME then you might not be running
MAME.EXE. If you aren't, type the filename in here (SHORT FILENAMES
ONLY, and don't add a .EXE to the end!).


When you're done setting up, hit ESCAPE to close the menu and start the
Auto-Add routine. You will be asked one more time whether you're sure
it's what you want to do, just in case you messed up.

New games will be added to the list and set up with the current default
option values. The game title will be set up to be whatever is returned
by MAME's -listfull command. Duplicate games will never be added - if a
game is already in your list it will not be added again, and you will
not lose your options for that game. Don't worry!

If you're only looking to add a single game, you don't have to trawl all
the way through a big list once you've found it - hit ESCAPE at any time
to stop Auto-Add and return to the main FEMAME screen.



SETTING ALL ENTRIES AT ONCE
---------------------------
If you change soundcard, or get a faster processor, or are even just
setting up your initial database from the example FEMAME.INI, it can be
a pain to set all of the items in the database manually. This swanky  
routine lets you change particular options for ALL entries in the
database with a few simple keystrokes.

First of all, set one of the items in the database to the values you
require. Point the selection bar at this item, then press F3. A window
will appear to direct you over the next few steps. You then select the
options which you want to set on all entries using the Y and N key, with
one final confirmation to make sure it's REALLY what you want to do.
Press Y this last time and EVERY item in the database is changed to the
option values that you have selected.

BEWARE! There's no UNDO option - if you mess things up they're messed up
for good. If you're not REALLY sure, back up your FEMAME.INI file BEFORE
trying this feature.


CLEARING HIGH SCORES AND/OR GAME CONFIGURATION
----------------------------------------------
You can now use FEMAME to clear your high scores and your configuration
(dipswitches, keys, etc.) should you ever need to. Point the selection bar
at the game of your choice and press F4. FEMAME will then guide you through
the process, allowing you to choose which files are to be deleted. TAKE
CARE! You can't bring the files back if you make a mistake!


LOOKING AT THE INSTRUCTIONS
---------------------------
It is possible to view each installed game's entries in MAME's 
README.TXT file without ever leaving FEMAME. Point at the game of your 
choice and press the F5 key. After a short pause, FEMAME will clear the 
screen and display all of the information it can find in the README.TXT 
file which concerns your currently selected game. 

There are two slight drawbacks to this feature - you MUST have
README.TXT in the same directory as FEMAME.EXE, and only a single screen
of information can be displayed. The second restriction isn't so bad, as
only Space Invaders Deluxe has so much info that it goes off the end of 
a page. This will probably be changed in a future release.....


LOOKING AT PICTURES
-------------------
It is now possible to store a PCX file of each game in your collection
and view it from FEMAME at the touch of a button. First, use MAME's
screen capture key (F12) to save off a picture from the games you
require. These go into the PCX directory (although you can specify a
different directory - see FEMAME OPTIONS below) and must be named after
the game (i.e. PACMAN.PCX, BOMBJACK.PCX). 

Now in FEMAME, highlight the game you want to see the picture for and
hit F6 - voila! If no picture is available or if FEMAME can't select a
graphics mode for displaying it then you will be warned.

Also, like the HI and CFG options, it's possible to have all of your PCX
files compressed into a single archive! Just ZIP, ARJ or RAR up your
PCXs into a single file called "PCX.ZIP" (or .ARJ/.RAR) and place it in
the PCX directory (or in the alternative directory that you have
specified, although you will always need the PCX directory in the same
place as your MAME.EXE as it is used for temporary decompression). Don't
try to mix compressed and uncompressed images though, or you might find
that FEMAME deletes your uncompressed PCXs.... :-)

NOTE : If you have trouble with FEMAME crashing when you try to display
pictures in certain resolutions, see the FEMAME OPTIONS information
below on how to turn off unsafe graphics modes.


FEMAME OPTIONS
--------------
Pressing F7 activates the FEMAME OPTIONS screen. This screen has been
added to allow you to configure some options which are relevant to
FEMAME only and not to MAME. All settings are saved into the INI file,
so whatever you enter here will be remembered the next time you start
FEMAME.

COLOUR SCHEME :
Think the default FEMAME colour scheme is awful? Choose a different one!
There are three to choose from, surely you must like one of them? :-)

FLASHING :
Some people find flashing colours offensive. I don't so I used them in
FEMAME to show highlighted stuff. Some people complained, so I offered
this option which allows you to turn them off and use a different colour
instead. :-)

UNSAFE VIDEO MODES :
If you're having problems with viewing certain pictures under FEMAME,
you may like to try turning unsafe video modes OFF. Currently this is
only one mode, but it may apply to more as more video modes are
supported.

RESCAN MODE :
Allows you to decide when and where FEMAME will rescan your games to see
which ROMs are available. See ROM SCANNING below for further details on
this option.

ALTERNATE DIRECTORIES :
FEMAME will allow you to set up an alternate directory for ROMs, samples
and PCX files. This is done by entering the FULL directory name into
the relevant slot (DO NOT ADD A TRAILING \). See USING ALTERNATE
DIRECTORIES below for further info on how these work.


MAME OPTIONS
------------
Pressing F8 activates the MAME OPTIONS screen. This allows you to set a
number of options which will be passed on to MAME but aren't related to
a particular game. These settings are saved into FEMAME.INI, so you
don't need to set them every time you start FEMAME.

CHEATS :
Cheats never prosper, but if you feel the need to use any of MAME's
offered cheat modes then you'll need to activate them from within
FEMAME. Set this option to ON to enable MAME's cheat mode.

LOGGING AND DEBUGGING :
Are you a MAME devloper using FEMAME? Or just curious? MAME logging
and debugging can be toggled on and off from within FEMAME using this
screen. Just set the required entries to ON to make it work.


VIEWING THE COMMAND LINE
------------------------
You can view the command line which MAME will run for the current
game by pressing F9. Very useful for me, maybe useful for a few other
people, mildly useful for the curious and not at all useful to the
hardened gamers or Windows users! ;-)


EXITING FEMAME
--------------
The easiest bit! Press ESCAPE and you'll be back at the command line.


ON-LINE HELP
------------
You can now pop up a little window with a handy reference to all of
FEMAME's various keys. Just press F1 at the main menu and there you go....


ZIPPED/ARJED/RARED ROMS
-----------------------
If you want to save some of your precious disk space or get rid of that
huge mess of directories in your MAME directory, and you don't mind
waiting a few more seconds between games, then this is the frontend for 
you! FEMAME allows game ROMs to be ZIPped up, ARJed up or RARed up, and 
also allows you to do the same to your sample files AND your settings! :-D

MAME has native support for ZIP files and as this is faster than
FEMAME's implementation you're probably better off using it. However,
FEMAME does still include ZIP support if you prefer it for some reason.
To use unarchived ROMs or MAME's own ZIP support, select "NONE/MAME-ZIP"
in the COMPRESS entry of your game's options.

If, however, you prefer ARJ or RAR, follow me :

Setting this up is a bit more tricky, but not too hard. Basically there
are four parts - GENERAL, ROMS, SAMPLES, and HI/CFG SETTINGS.


-->GENERAL

1) Make sure that your archiver/unarchiver is avavilable in your current
path or is present in the MAME directory. For ZIP you'll need
PKUNZIP.EXE and PKZIP.EXE, while for RAR and ARJ you'll just need
RAR.EXE or ARJ.EXE. To make sure they're available to FEMAME, move to
your MAME directory and type the filenames. If you don't get BAD COMMAND
OR FILENAME then you're okay. If these files AREN'T available to FEMAME,
that particular method of compression will not work. You don't need to
have PKUNZIP present for MAME's own ZIP support to work.

2) You should have four directories - ROMS, SAMPLES, CFG and HI - within
your MAME directory. If you unzipped the MAME or FEMAME archive with the
-d switch then these will have been created for you.

3) Each game which is to use archived files must have its COMPRESS option
set to the required archive type within FEMAME.


-->ROMS
Put archive files of your ROM images into the ROMS directory. Each game 
must be a separate file containing all of the required ROM images for that
game, and the file must have the same filename as the game's directory 
(e.g. Moon Patrol has a directory called MPATROL, so the archive file would
be called MPATROL.ZIP, or something similar). Once you have done this you
can DELETE the game's directory - it will automatically be created and 
removed when you need it.

For example, in order to run Mr Do! from a ARJed ROM set, I would set up
the following :

c:\mame --> containing MAME.EXE, FEMAME.EXE, ETC.

c:\mame\roms --> contains MRDO.ARJ which is an ARJ file containing all of
                 the ROM images for Mr Do!.


--> SAMPLES
Some games require samples for certain sound effects. FEMAME supports 
these directly. The samples should be archived (you can use any filename)
and placed into the SAMPLES directory.

Once in FEMAME, you can then create or edit entries and set the "Sample
File" entry for the game to the filename of the required file (without 
the .ZIP/.RAR/.ARJ extension). The best thing about doing it this way is
that if a series of games all use the same samples (e.g. the Invaders
dynasty) you only need to store the samples ONCE.

If when starting the game the samples aren't found, FEMAME will warn you
of this and start the game without them. If you have a game set up to
use samples but have no soundcard selected, the samples will not be
decompressed (to save a bit of time!).

Note that your samples MUST be compressed with the same utility as you
used to compress the ROMs! You can't have PHOENIX.ZIP for the ROMs and
PHOENIX.RAR for the samples, for example.


--> HI/CFG SETTINGS
FEMAME can be configured to store all of your settings files (high scores
and config files) into single archived files. This saves some space by 
being compressed, but also saves a lot of 'slack space' if you have a 
large hard drive.

Setting this up is very simple. Go to the HI or CFG directory and
archive all of the files in there into one big archive file called
"HI.XXX" or "CFG.XXX" (where .XXX is the extension of your chosen archive
utility, i.e. type 'PKZIP -EX HI.ZIP' in your HI directory). You can
then delete all of the separate settings files. Next time you run FEMAME,
it will automatically detect the archived files and look for your various
settings within them. When you exit, your new settings/scores are 
automatically updated within the archive file.....

Of course, if you decide you DON'T want to use archived settings, you can
still leave your separate files in the HI/CFG directories and FEMAME
will work with them as before. It's up to you, but I saved nearly 600K
of disk space by ZIPping my settings, and I only have about half of the
games installed.....


USING ALTERNATE DIRECTORIES
---------------------------
You can now specify alternate directory in which FEMAME will look for
ROMs, samples and PCX pictures. This is done from the FEMAME OPTIONS
screen, where there is space to enter an alternate path for each of the
different files. Here's how they work :

When looking for files for any reason, FEMAME will first check the
standard directory within your MAME directory. If it doesn't find what 
it needs there, it will check in the alternate directory (if one exists).
If it isn't there either, it surmises the file is missing.

FEMAME *ALWAYS* checks the standard ROMS/SAMPLES/PCX directories within
the MAME directory FIRST. This is the best place to keep your files, but
I know some of you have files on CD, so this is for you.

NOTE 1 : ROM/SAMPLE files stored in the alternate directories MUST be
archived. If they are uncompressed then they WILL NOT WORK (with one
exception, see note 2).

NOTE 2 : If you're not using FEMAME's own compress routines (i.e. if you
have uncompressed ROMs or are using MAME's own built-in routines) then
you DO NOT NEED TO USE THIS FACILITY! Edit your MAME.CFG file and set up
the paths to your ROMs and samples in there - you can then put your
files wherever you like and MAME will pick them up just fine. However,
FEMAME may not be able to find them - if that's the case you'll need to
turn ROM SCANNING off (see below).

NOTE 3 : High score files, config files, MAME executables and
documentation files - all of these MUST remain in your MAME directory
along with FEMAME. If they're not there, they won't be found. Don't say
I didn't warn you.


ROM SCANNING
------------
The reason why some of your games appear dimmed and are unselectable is
because of ROM scanning. This feature takes a look at the directories
where FEMAME expects to find your ROMs and flags each entry in your
FEMAME.INI file depending on whether it finds the files or not. This way
it's easy to see at a glance which games you need to get hold of.

There are only two drawbacks to ROM scanning :
1) It slows things down a little (or a LOT in some cases)
2) It doesn't work if you store your ROMs somewhere other than the
default directories (i.e. if you set your ROM paths in MAME.CFG and
don't use FEMAME's compression routines).

For these reasons, ROM scanning is fully configurable from the FEMAME
OPTIONS screen. There are three levels of operation :

1) OFF
ROM scanning is turned OFF completely. FEMAME doesn't attempt to find
the files at all, and everything in the list is marked as available.

2) ON
ROM scanning is performed every time FEMAME fails to find a file. Each
new game that you add is also scanned once to see whether it is 
available, and this is stored in the INI file to prevent further
rescanning. Good if you want the facility but need more speed.

3) EXTRA
The default. This is the same as ON, but FEMAME will also perform a FULL
rescan of ALL GAMES on certain occasions (when you start FEMAME, when
you resave the INI file with F10, etc.). On most machines this is fine,
and the rescan will take less than a second.


So, how do you solve the two problems stated above?

1) Slowdown :
Some people (always Win95 users!) have had trouble with ROM scanning in
EXTRA mode. They find that every time they start FEMAME the disk
thrashes for well over a minute before the menu appears, and that this
is repeated at certain times during use.

The reason for this is disk cache - you don't have any! Under Win95,
disk caching is handled by Windows itself. However, if you boot to
MS-DOS mode, disk caching is not installed. What you need to do is
install SMARTDRIVE (SMARTDRV.EXE) in your AUTOEXEC.BAT to install a
small disk cache - this will improve the scanning speed by many, many
times over. For God's sake - if you're booting to MS-DOS to use DOS
stuff INSTALL SMARTDRIVE! Without it you are WASTING 90% of your
computer's speed while it thrashes the bloody disk - not just on FEMAME
but on ANY DOS APPLICATION INCLUDING GAMES! Why Microsoft don't explain
this to Win95 users I'll never know.... >-(

If you really insist that you won't install SMARTDRIVE, you can try
setting ROM scanning to ON or OFF instead, which is less disk intensive.
But you're a fool if you prefer your Pentium-II 400Mhz to take two
minutes to load a game when my 486 DX2-66 can do it in three seconds.


2) No games detected because of non-standard paths in MAME.CFG :
Either move your games to the standard directories, reconfigure FEMAME
so that its alternate directories are set up to where your games are, or
turn ROM scanning OFF altogether. Any of these methods should work fine.


WHY DON'T YOU SUPPORT THE "-XXX" SWITCH?
----------------------------------------
Probably because it's only just been invented! FEMAME has to follow
MAME, and I can't add support for new switches instantly - I've got a
life to lead too! However, there is now a little "Future proofing" 
included in FEMAME.....

It is possible to specify new MAME command line switches for each game
in your FEMAME.INI file by using the EXTRA OPT. entry in the FEMAME
OPTIONS screens. Select the game of your choice and set EXTRA OPT. to
YES. You'll then be prompted to enter some text, which will be passed
directly to MAME next time you run this game.

So, if MAME 0.97 had a new switch called '-freemoney', and FEMAME didn't
yet support it, you could add '-freemoney' to EXTRA OPT. section of the
games which required it and the switch will magically be used when you
run that game.


CAN I USE FEMAME WITH MAME32 FOR WINDOWS?
-----------------------------------------
Not any more! It used to work if you renamed MAME32.EXE to MAME.EXE and
passed any Windows-specific command lines on the FEMAME command line,
but since version 0.28 MAME32 won't run if you supply any illegal
command line parameters. This includes '-soundcard' which is passed all
the time and hence MAME32 will never run. FEMAME was never intended for
use with this version of MAME, so please don't bug me about it -
MAME32's got a front-end built in for God's sake!


LIMITATIONS
-----------
FEMAME ain't perfect, and it has a few limitations. The worst of these
are listed below :

1) You are only allowed a maximum of 3000 entries. FEMAME was previously
limited to 200 entries to keep the size down / speed up, but MAME
quickly outgrew that leading to a bit of a redesign of FEMAME. FEMAME
can now (in theory) support many thousands of games, but I've limited
the shell to 3000 for now while I monitor its activities. At a later
date this limit will be gone. Probably. :-)

2) Archiving your settings is a LITTLE more risky than not. As long as 
you have enough spare disk space for everything (at least a meg free, I 
would say) then it'll all work fine. However, if you run out of disk 
space there's a chance you could lose your most recent settings as 
there's not enough space to update the archive files. Future versions of
FEMAME may include more error checking in this region, once I get around
to doing it... :-)

3) Several people have now verified that FEMAME runs just fine under
Windows 95/98 and NT, and I'm also informed that it works okay under OS/2. 
However, I can't guarantee that it will run under Windows 3.1. I have 
tried it on my machine in a Windows 3.11 DOS shell and it doesn't 
work - GPFs when you try to run a game. On another Windows 3.11 machine 
that I tried it works fine. If it works for you - great! If it doesn't, 
I don't know why and I probably won't fix it.



HOW DID YOU...?
---------------
FEMAME was written entirely by me in my spare time. It was originally
written using Borland C 3.1 but has now been ported to the infinitely
more powerful (and certainly more free!) DJGPP, using GNU C. For
screen handling other than text mode, I use the lovely ALLEGRO libraries.
Development was done mainly on my lowly 486DX2-66, with occasional help 
from my rather more powerful PentiumII-266 at work, and now from my brand
new Celeron-433. FEMAME is now a 32-bit app, but as they're both 
DJGPP-based, it shouldn't interfere with MAME in any way. I hope. 

The source code IS NOT available and I won't distribute it. The program
binary is free, what more do you want.....? >-(



THANKS
------
A quick list of thanks go to :

* My long suffering wife, Becky, for putting up with me while I wrote this.
* Nicola Salmoria for getting it all off the ground and for his
  continued hard work on MAME.
* Marco Cassili for a lot of nice ideas, lots of bug reports, lots of 
  testing, and general nice words about FEMAME! And for encouraging me
  to continue with it every time I feel like jacking it in. ;-)
* Everyone else who has contributed to the MAME project.
* The arcade publishers, without whom none of this would be possible. 
* Andrew Bond, author of Console Menu, from which I took a fair bit of
  inspiration (thanks for including my suggestions in CMenu!).
* Dave Spicer, for starting us all off on arcade emulation in the first place!
* Dave W. for Dave's Video Game Classics - a truly magnificent web page!
  (http://www.davesclassics.com)
* Chris and Pete for The PC Arcade - another GREAT arcade emulator page!
  (http://dspace.dial.pipex.com/dodge/)
* Brian Peek for his fantastic ROMs archive! 
  (http://www.vu.union.edu/~peekb/arcade/index.html)
* Everyone else who has allowed FEMAME onto their web pages! Cheers!
* All Sinclair Spectrum fans - hi guys! :-D
* All emulator authors everywhere. Don't let the lamers get you down... :-)
* Everyone who has tried FEMAME and sent me comments and bug reports -
  thanks a lot guys!
* Everyone else who has made a MAME front-end, whose ideas may have
  'inspired' me to make some changes to FEMAME.....
* DJ Delorie for the remarkable DJGPP. Wow.
* Shawn Hargreaves for the equally remarkable Allegro, without which the
  PCX support would have never been done.
* Anyone else important that I've forgotten! ;-)



COMMENTS, SUGGESTIONS, BUG REPORTS
----------------------------------
If you have any of the above, then feel free to drop me a line. You can
reach me at the following address :

l.tonks@pindar.com

Any other address you've seen is discontinued, so please don't write to it
if you want me to ever get your email! And if you see a version of my
address like this - "l.tonks@nospam!.pindar.com", you need to removed
the "nospam!." bit to reply!

If reporting a bug, please send a copy of your FEMAME.INI file, a copy
of your AUTOEXEC.BAT, and a recursive directory listing of your MAME 
directory (dir /s > file.txt). Also please tell me which version of
FEMAME you're using - the bug may have been fixed already in a later
release! Don't expect miracles, though, remember that this is a 
'free-time' project and I have a real job and a partner to keep
entertained as well as working on FEMAME!


ROM REQUESTS
------------
If you have any ROM requests, then don't bother me with them. I *WILL NOT*
send you *ANY* ROMs - ever. Any ROM requests I receive will be deleted
without a reply. You can find everything you need on the Internet within
about ten minutes if you look properly, so don't be a lazy git.


MY MAME WISH LIST
-----------------
I wish I could keep up with MAME releases!



FREEWARE DISCLAIMER
-------------------
FEMAME is a FREEWARE product. This means that you do not have to pay for
it, and you don't have to register it even if you use it forever - it's
completely free. If you *BOUGHT* this program from someone, you were
ripped off - I would have sent it to you for absolutely nothing.

FEMAME is provided 'as is'. It works for me, I hope it works for you. If
it DOESN'T work for you, let me know. I may decide to fix it, I may not,
but that's my choice. If you use FEMAME you do so at your OWN RISK! If
it deletes your hard drive, ruins your PC, kills your granny or destroys
the Universe then it's not my fault so it's no use whinging to me about
it. You knew the risks when you took it.....

FEMAME may be freely distributed on any Internet site providing the
FEMAME.EXM, FEMAME.NEW and FEMAME.TXT file are also distributed with
it in an unmodified form. You are FORBIDDEN to distribute FEMAME in any 
other form (i.e. dodgy emulator CDs, especially ones by Rocketship -
Rocketship are con-men and rip-off merchants, if you got this file from a
Rocketship CD then PLEASE email me!) without prior permission from me. If
you ask you might get, if you don't there'll be hell to pay. Also,
FEMAME must NEVER be packaged in with MAME - please resist the
temptation to distribute them both in the same ZIP file. And most
importantly, FEMAME must NEVER EVER be packaged with arcade game ROM
files!

Please don't fiddle around with FEMAME and redistribute altered copies.
If you do so, I will stop working on FEMAME altogether and then you'll
be the focus of world hatred from the emulation scene....

FEMAME is the sole copyright of Cheese Freak Industries.


--------


Well, that's about it! Hope you enjoy using FEMAME!


CHEERIO!



Blood.

*===============[ l.tonks@nospam!.pindar.com ]================*
|                    The Infamous BLOOD!                      |
|         The Speccy's not dead - it was just resting!        |
| Who needs 500Mb of rendered intro when Jetpac fits in 16k?! |
*===[ http://www.geocities.com/SiliconValley/Lakes/6142/ ]====*



REVISION HISTORY
----------------
1.0	First Internet release.
1.1	Second release, some bug fixes and many features added/improved.
	See FEMAME.NEW for details.
1.2     Third release, a couple of bug fixes and lots of new bits!
	Again, see FEMAME.NEW for more details.
1.3     One or two bugs and lots of enhancements! Altered format of FEMAME.INI
        a little to help expansion. See FEMAME.NEW for more details.
1.4     Small update to bring FEMAME in line with new MAME command line 
        options. See FEMAME.NEW for more details.
1.5     Bigger update to add in all new MAME options and extend some
        features. Details in FEMAME.NEW.
1.6	GIGANTIC update! Loads of new features and options, so make sure
	you read FEMAME.NEW.
1.61	Quick-fix release to incorporate support for the -vg switch in
        MAME 0.27 and a couple of other minor thingies.
1.7	Some nice new features and updated to support the forthcoming
	MAME 0.29 (see above).
1.71	Quick-fix release to fix the MAME 0.29 support and a couple of
	other little niggles that crept into the last release.
1.72	Another quick-fix, this time to make FEMAME fully 0.30 compatible.
1.73	Aaargh - bugs! A bug-released version to squash some errors in
	the new Sample Rate and Rotate code which could corrupt your INI file.
1.8	A few nice new features to do with adding only ROMs which are present,
        and a general update for MAME 0.31. Plus other things. :-)
2.0b1	Public BETA release of the mucho-improved version 2! Ported to
	DJGPP and thousands (ish) of things added! :-D
2.0b2	Another public beta release. A few fixed bugs and some updated
	features for beta 7 of MAME 0.33.
2.0b3	A very belated public beta. Some new features, and a massive
	2000 games supported to allow for latest MAME beta.
2.0b4	Yet another very belated beta! Some quick fixes to ensure
	compatibility with new MAME releases.
2.0b5	Jeez, where have I been? Too busy is the answer! Lots of updates
	and fixes in this one, though, and I'm not done yet. Now working
	towards a final 2.1 release instead of a beta.
2.01	And here it is, finally. A long wait again and only a handful of new
	options this time, but at least I managed to find some time to make a
	new release at last!
2.02	Doh! A big bug. What a dork I am.
2.03	Fixed for 4000 games, fixed a nasty % bug, and more. But man, am I
	lazy or what? How long since the last release?!

