QPlayer v1.1.8
<c> 1999,2000 Barry Rodewald (e-mail: bsr@hn.pl.net)                       26/Feb/2000
--------------------------------------------------------------------------------------

What is this?
-------------

QPlayer is a QSound emulator.  It can play the music and sound effects from arcade 
games based on Capcom's CPS-2, ZN-1 and ZN-2 hardware.


Terms of use
------------

This program is freeware.
It is not to be distributed with ROMs.
It is not to be sold, with or without ROMs.
Do not ask/beg me for ROMs, I'm not going to give you any.
Couldn't be simpler...


System requirements
-------------------

CPU:  Pentium (or compatible) 133MHz - confirmed: it works on a Cyrix-133
RAM:  About 12MB possibly - 16MB or more recommended.
OS:   DOS or Windows 95/98.  WindowsNT or Windows 2000 not likely.
Other hardware:  Sound card capable of 16-bit 44,100Hz stereo playback.  My Yamaha 
                 OPL3-SAx works perfectly.

Soundcards confirmed to work:  Yamaha OPL3-SAx
                               Sound Blaster AWE32
                               Sound Blaster Live!
                               If it works with MAME then it should work...


Usage
-----

Command line:
  QPLAYER <romset> <path to romset>

<romset> corresponds to data file named <romset>.dat  (eg: sfex.dat)
<path to romset> is the directory where the ROMs are stored.  (eg: \callus\sfex)  You
may use either / or \ for directory separators (ie: \callus\sfex == /callus/sfex)
Please note that the ROMs must be uncompressed - ie: not in a ZIP file.  ZIP support
may be added in the future.

Example:  QPLAYER sfex c:\callus\sfex
                   |         |
                   |         ---- the directory/folder where your roms are stored
                   |
                   -------------- romset data file containing filenames and info about romset

The keys that can be used during playback are as follows:
  LEFT/RIGHT - Set sound code -/+ 1
  UP/DOWN    - Set sound code -/+ 16  (equal to 0x0010)
  CTRL       - Play sound/music
  ALT        - Stop all sound  (CPS-2 only so far)
  A          - Alternate volume calculation toggle.  The default is quieter, but some
               sounds may not be audible.  Push A to toggle a louder playback.
  R          - Toggle display of QSound registers. (Default off)  When off, shows volume
               sliders instead.  Can you tell that they were written rather quickly?
  ,/.        - Master volume control (ranges from 4-256)
  ESC        - Exits QPlayer.


Format of data files
--------------------

These files contain information about the romset you are using.  They correspond to the
<romset> parameter given on the commandline.  The format is as follows:

<title>
<hardware>
<Z80 code file #1>
...
<Z80 code file #n>
+++
<Sample file #1>
...
<Sample file #n>
+++

<title> is the name of the set.  This is displayed on screen when running QPlayer.
<hardware> is what type of hardware the romset runs on.  Use 'CPS2' for CPS-2 hardware,
or 'ZN1' for ZN-1 or ZN-2 hardware.  Ignore the quotes.
<Z80 code file #n> is a list of files that contain the Z80 code for the game.
<Sample file #n> is a list of files that contains the samples used by the QSound chip.
The '+++' is used to mark the end of the file lists.

Examples are included for a few of the Street Fighter games.

Known problems
--------------

  - ZN-1/2 music cannot be stopped by pushing ALT, you can still change music, or exit the 
    emulator normally.
  - Needs a slightly better looking display (Win32 coming soon, maybe).
  - How accurate is it?  It's been nearly six years since I last played Super Street
    Fighter II Turbo...  Let me know.
  - Z80 clock speed is 8MHz for CPS-2, any difference for ZN-1/2?
  - Maybe these docs could be written better...


Tested romsets
--------------

Thus far, I have or have had the following games tested - they will load load and you can listen to the 
music, but they still may or may not be entirely accurate:

 * CPS-2
  - Super Street Fighter II Turbo / Super Street Fighter II X: Grand Master Challenge
  - Street Fighter ZERO / Street Fighter ALPHA: Warriors' Dreams
  - Street Fighter ZERO 2 / Street Fighter ALPHA 2
  - Street Fighter ZERO 3 / Street Fighter ALPHA 3  (Plays quickly at the beginning of first tune played)
  - Marvel vs. Capcom: Clash of Super Heroes  (You must listen to code 0x0014!)
  - Vampire Saviour 2
 * ZN-1
  - Street Fighter EX 
  - Street Fighter EX+  (Both SFEX and SFEX+ use the same Z80 and Samples ROMs)
  - Battle Arena Toshinden 2
 * ZN-2
  - Rival Schools / Justice Gakuen




What's new
----------
  v1.1.8  - February 26, 2000
            - For AWE32 users, apparently using ctpnp.exe will get QPlayer working (in DOS mode?).  
              Don't ask what to do with it, I don't know - I don't have an AWE32.
            - Fixed a crash when a sample's length was greater than 32K.
            - Added a master volume control.  Use < and > to control it.
            - You are now able to choose whether or not you want a sound filter on. 
              You are when you run QPlayer if you want to use the sound filter for playback.
              This was previously always on.  Push Y to use it when prompted.
            - This is likely to be the last DOS based version of QPlayer.  I will now concentrate on
              producing a Windows version.  It's working right now, but there some sound problems in certain 
              games (SFA especially).  I'm also looking at using a different audio SDK, which should better
              quality sound...

  v1.1.6  - February 3, 2000
            - Updated Z80 core to MZ80 v3.3 (core dated 31/1/00)
            - It doesn't hang
            - It doesn't crash (hopefully)
            - It all sounds pretty good.  (That's my opinion anyway)


Credits
-------

  - Thanks must go out to Miguel Angel Horna, for his wonderful documentation on the
    QSound chip.  Most helpful, it was.
  - Also the MAME team.  I used the MAME source to play around with the (then imcomplete)
    QSound emulation core.  This is what I started from.
  - Thanks also to HyprFON1C and Ryo for sending me the recordings of various soundtracks, this
    gives something to aim for.
  - And of course the following libraries were used to build QPlayer:
     * M-Z80 v3.3, <c> 1996-2000 Neil Bradley,
     * Allegro v3.0, <c> Shawn Hargreaves,
     * and SEAL v1.0.6, <c> Carlos Hasan.