
                           ZFront

                       by Chris Chiu


ZFront is a ZSNES frontend for Windows 95. It supports all ZSNES.CFG options 
and all switches not covered by it. It automatically reads (and writes) the 
ZSNES.CFG settings. Changing settings is easy through a user-friendly
interface.

The ZFront project was started because of two jerks (my friends) who didn't
now how to use ZSNES and how to edit ZSNES.CFG. Thus, the ZFront Utility was 
born. And since the "CONFIG" option has not been implemented in ZSNES yet, this
program might be quite handy.

-----------------
TABLE OF CONTENTS
-----------------

1. Setup & Requirements
2. Usage
3. History
4. Features - present and future
5. Known Problems and Limitations
6. Feedback & Contact
7. Special Thanx
8. Disclaimer

===============================================================================
-----------------------
1. Setup & Requirements
-----------------------

Minimum requirements:
---------------------
A system capable of running ZSNES under Win95.
On my system (Pentium-MMX 200 MHz, 64 MB RAM, Matrox Millenium II 4MB) ZFront runs well.
For 486 users:
Use ZFront to change the settings, exit to MS-DOS Mode and run ZSNES from there
(the benefit is that you still can use the ease of ZFront).

Installation:
-------------
To install, just unzip all files into a folder and run ZFRONT.EXE.
ZFront will ask for the directory containing ZSNES and load the ZSNES.CFG settings.

UnInstallation:
---------------
ZFront saves the user's preferences in the registry. To remove the registry entries
for ZFront, run ZFront using the following command line:

  zfront.exe -u

Or delete the "HKEY_CURRENT_USER\Software\ZFront" key using RegEdit.

After that, you just need to delete the ZFront files to completely remove ZFront.

--------
2. Usage
--------
Some options might be a little confusing, so I have explained some of the more
advanced features here.

The File Menu
-------------
Save to ZSNES.CFG  ....... Immediately saves to ZSNES.CFG
Save ROM Settings  ....... Save the settings specificly for this ROM (will be loaded when
                           the game is loaded.

The Favorites List
------------------
The Favorites List provides an quick and easy way for you to select your favorite ROMs.
To use it, you have to configure it. Use the Configure-Dialog to add ROMs to or remove
ROMs from your list of favorites.
To run a favorite ROM, just click on it on the Favorites Menu.


The Options Menu
----------------
Load/Save Settings ....... Allows you to save settings to or load settings from another
                           file than the ZSNES.CFG. So you can have different configurations
                           (for example, a 1-player and a 2-player configuration) saved
                           in different files.

----------
3. History
----------

v0.180 - Now launches ZSNES in a seperate Virtual DOS Machine (VDM)
       - ZSNES is now executed with HIGH priority (4-5 fps bonus)
       - Added seperate ROM configurations
       - Improved Favorites List customization
       - Added templates (available through "Options" menu)
       - Added Preferences dialog
       - Improved ROM title reading
       - Open Dialog now opens the Game Directory. Thanks to Sylvangale for the suggestion!
       - "Apply" and "Cancel" changed to "Save" and "Close". Thanks again to Sylvangale!
       - Removed a bug that prevented saving of some settings
       - Improved look (gradient title bar)

v0.150 - Added support for ZSNES v0.400
       - Added "Favorites" list
       - Added simple "ROM title" reading routine (still buggy, only for LoROMs), 
         available in the "Favorites" dialog
       - Added ALL ZSNES command line switches (except the ones available through ZSNES.CFG)
       - Removed a bug in the key configuration dialog that occurred when pushing
         buttons not supported by ZSNES (F11, F12, and the "<" key). Thanks to DaxMan for 
         info on that!
       - Added minor improvements on the look (new icons).
       - Fixed a bug that occurs when selecting a long filename (ZSNES doesn't support them).
         Now ZFront converts the long filenames into short ones before launching them.

v0.105 - Removed a bug that prevented the scancodes to be saved after entering them.

v0.100 - Implemented basic program
       - Implemented Dialog to display and edit ZSNES.CFG settings
       - Implemented helper routines to aid in reading & writing ZSNES.CFG settings 
         (it is slightly different to INI-files. There are no []-sections.).
       - Added About Box (Wow!!!)
       - SNES Controller drawn in CorelDRAW! (not bad, huh?)
       - Accurate Scan Code Detection (covers all scancodes described in the ZSNES readme)
       - Simple Joystick Button configuration dialog
       - Implemented "Open" and "Launch" buttons and menus

---------------------
4. Features and Lacks
---------------------
The main feature is that ZFront doesn't need any other file than the executable
itself (and a working Win95, of course). No OCX files, no DLLs!

What's more, I think, ZFront is the only program out there capable of covering 
all ZSNES scancodes (even TAB and RSHIFT) with the correct codes (not altering 
"Z" and "Y" on german keyboards, for example). Many other ZSNES frontends don't
even feature a (comfortable) key configuration dialog.

ZFront also features a Favorites List which allows you to quickly access your 
favorite ROMs.

Another feature is the ability of saving settings seperately, in its own file
format (ZFT - ZFront Template). These files also save the command lines.
You can also save into a text file (CFG extension), but then, the command line
is not saved (these files are exactly like the ZSNES.CFG).

The ZFT files are also used to save settings specificly for a ROM file.

ZFront executes ZSNES with HIGH priority, so it runs a bit faster than normal.

Here are some framerates from games I tested and compared.

                 | Win95 only |  ZFront   |    DOS    |
-------------------------------------------------------
Secret of Mana   | 36-39 fps  | 40-41 fps | 39-41 fps |
                 |            |           |           |
Yoshi's Island   | 28-34 fps  | 29-32 fps | 29-30 fps |
                 |            |           |           |
Rockman & Forte  | 44-50 fps  | 49-52 fps | 49-50 fps |
                 |            |           |           |
FZero            | 18-19 fps  | 19-21 fps | 19-21 fps |
-------------------------------------------------------
Tests were conducted on a P200-MMX with 64 MB RAM, 
Matrox Millenium II (4MB) with Scitech Display Doctor v6.52.


Improvements for future versions (at least planned):

- ZIP file support
- Supporting other Emus (SNEmul, the new Snes9x when it comes out,...)
- Batch file start (to launch Display Doctor before running ZSNES or so)
- Support for SPCPlay
- Complete SNES Emulation (just kidding...;-)

---------------------------------
5. Known Problems and Limitations
---------------------------------
ZFront will not check if the settings used are valid. For example, you cannot use
8-bit sound AND Stereo simultaneously in ZSNES, but in ZFront, you are able to
activate them both. So, as a result, ZSNES will not start when configured that way.

As of yet, no other limitations or bugs are known.

If you discover a bug, please report it to me.

---------------------
6. Feedback & Contact
---------------------
Well, if you have bug reports, comments (or MONEY MONEY MONEY $-), then you can e-mail me:

   chiu@pgv.at


I won't answer:
 - unnecessary hate mail
 - ROM requests (you must have heard this a lot of times by now)
 - links to sites containing commercial ROMs available for download
 - questions about new versions of ZSNES or any other Emu - go to 
   http://freespace.virgin.net/cm.wright/ instead.

I WILL (most probably, if I have time) answer:
 - bug reports
 - comments on the program (positive or negative)
 - MONEY offers $-)
 - Exaggerated admiration...


The ZFront homepage is located at

   http://members.pgv.at/chiu/zfront/


----------------
7. Special Thanx
----------------
Oh, I'd like to thank the two jerks I mentioned before ("EichMan" and "Howling WolfMan")
for being the ones rescuing me from my creative depression phase.

And I like to thank zsKnight and _Demo_ for a great SNES emulator. I'm really grateful 
that I can play SNES games again after my SNES committed suicide a year ago. And now,
your emulator is really AMAZING. It's astonishing how you managed FX support with such a
lack of information (thanks to feenix65 of Snes9x, too).

Also very special thanks to:

- The other SNES Emu Authors! You're making great emus, too!

- Chris Wright from the New Look SNES Emulation Center at 

    http://freespace.virgin.net/cm.wright/

  You have a great site!!! I was a newbie before a friend showed me your site, and I 
  became an emu fan after visiting it!!!

- Johannes Daxboeck ("The DaxMan"), a friend of mine, but I don't 
  know why. I mean, I don't know why I'm thanking him. I think it's because I just need
  thanking anyone.

- Fabrice Deville, for his TExplorerButton freeware Delphi component

- Brad Stowers, for his TGradientForm freeware Delphi component

- SandMan for his tip of visiting the "Emulator Programmers Resource" where I got the info
  on how to retrieve the actual ROM title from a SNES ROM file.


-------------
8. Disclaimer
-------------
This software is freeware and may only be used for private purposes. It is not
to be distributed commercially.
Use it at your own risk. I am not responsible for any damage that may result from usage of 
this program. I am also not responsible for any ROM hacking, commercial ROM downloads 
without owning the original cart or any other kind of ROM piracy in conjunction with this 
program. You are just allowed to use the ROMs you really own as original SNES game carts. 
ROMs you do not own have to be deleted within 24 hours.

Copyrights 1998 Chris Chiu



