gxp: Konami GX sound player v0.1
October 5, 2001
By Sarayan from the Borg, errr, I mean Mame
Second in a series of Modeler Muppet hacks.  Enjoy!
--------------------------------------

GXP lets you enjoy music from some mid-nineties Konami games.  If you
don't know about the GX games or hardware, check:
  http://www.system16.com/konami/hrdw_gx.htm

Supported games are:
- Sexy Parodius
- Salamander 2
- Run 'n' Gun 2
- Soccer Superstars
- Twinbee Yahhoo
- Dragoon Might
- Tokimeki Memorial Tell Me Your Heart / Lets Go! Puzzle Dama
- Taisen Puzzle-dama

Winning Spike has the sample rom badly dumped.


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

A soundcard able to do 48Khz is REQUIRED.  Uses 10-15% CPU on my
athlon 800Mhz.  Uses OSS on linux and DirectX on windows.


How to use
----------

Put the zipped ROMs in a "roms" subdirectory, with the same name as
the game name.  Games names are (ph33r the 8.3-compliant mameish
names):
- sexyparo
- salmndr2
- rng2
- soccerss
- tbyahhoo
- dragoonj
- gokuparo
- tkmmpzdm
- puzldama


Run the app from the command line (if you double click on it and say
there is only a blinking black box I'll happily laugh at you) like
this:
gxp <game> <bank> <number>

<game> is one of the game names listed earlier.  <bank> is the bank
number, and <number> the sound number in the bank.  Theorical limits
are 0-255 for each, in practice the musics are in bank 1 or 2
depending on the game, and the song number spans 1-30 or so.

Some cute ones:
gxp tbyahhoo 1 7
gxp sexyparo 2 15
gxp gokuparo 1 12
gxp salmndr2 1 4

(an addiction to shoot'em'ups ?  Nah, that's R.B., honest)

Use ctrl-C to stop the player.  If the sound support in your OS screws
up after that, well, install a real OS with a more correct resource
management.


How to compile (if you downloaded the source, obviously)
--------------------------------------------------------

  Under linux:
You need nasm in your path.  Use:
    make
and fix any problems you encounter.


  Under windows:
You need mingw.  Since Mame rules, you have that on
http://www.mame.net/download.html as "mingw_for_mame.zip", win32
compile utilities section.  That includes nasmw which is also
required.  Use:
  make -f Makefile.w32
and fix any problems you encounter.


  Under anything else:
Port it yourself, it should be easy if you're posixly correct enough.  
Way less easy if you're not on a x86 though.  *BSD should be trivial 
in particular, just rewrite linuxsnd.c into something that Works For
You[tm].


Known problems
--------------
* No dasp emulation.  "The doc is in the mail", says he.


Code-related thanks
-------------------
* Turbo68k emulator by Bart Trzynadlowski.  Check readme-turbo68k.txt.
  Please note that the url changed to http://dynarec.com/~bart/turbo68k/
* Windows port by R.Belmont
* Original directsound code by Dayvee/FinalDave
* Amuse for the original 054539 information I first used in Mame then
  here

Non-code thanks
---------------
* Japump, because they just plain rule, for reasons you know and
  others you don't.
* The other two muppets, because I hadn't enjoyed emulation that much
  in a while.
* The Mame team, because it's not everyday you can interact which such
  a group of competent people.  Kudos in particular to Nicola, Guru,
  Sixtoe, Haze, Al, Tim, Gerald, Mish,... (now I'm going to be flamed
  by the ones I forgot)
* Konami, for making great games with great sound and playing too much
  with Legos.
* Sega, for making great games with great sound and having hardware
  that makes sense... in an utterly insane kind of way.
* And that special girl far away that doesn't even know I'm writing
  about her.

Legal
-----
1) You may freely distribute this emulator as long as it is not on the same
   medium as the necessary ROM files.
2) You must never charge money for this emulator.
3) You must not obtain or use ROMs for machines you do not own.  If you decide
   to anyway, it is entirely at your own risk.
4) This emulator is distributed with NO WARRANTY as to it's functionality
   or fitness for any purpose.  Although the software is believed to be
   free of major problems, the authors cannot be held liable for any damage
   or problems related to the use of this emulator.
5) We will not give you ROMs, and you may not ask for them on our message
   boards.  Violators will be banned.

