
        C Y M P L A Y
        =-=-=-=-=-=-=

 [Build : 29th January 1999]


 Introduction
 ------------

 Well, as the name suggests CYMPLAY plays Callus CYM files!
 Now, for those of you that don't know Callus CYM files are logs
 of the YM2151 soundchip, since it is that chip which is used
 in the Capcom CPS1 arcade hardware, which Callus emulates.
 
 So, you can now play your fav CPS1 musix without having to load
 up Callus.

 In fact, any YM2151 log file will work, as long as it is in the 
 same format as a CYM file. Many other arcade machines used the
 YM2151, e.g.

     Golden Axe    (Sega System-16)
     Mortal Kombat (Midway Y-Unit)
     T.M.N.T       (Konami)
     Gauntlet      (Atari)
     .. ..

 So, logs of the YM2151 from these games will also work in CYMPLAY!
 The thing is, no emulator that plays these games actually makes
 a log file!! .. maybe MAME will do soundchip logging one day??
 We can only wait and hope :)


 Usage
 -----

 CYMPLAY <.CYM file> [-loop]

 e.g. CYMPLAY KNIGHT01.CYM -loop
 e.g. CYMPLAY KEN.CYM

 [-loop] - this is an optional flag to loop playback

 You can get "CYM" files by dumping them with Callus, or from various
 Web sites devoted to emulation and the like!


 Creditz / Authors / Thanx
 =========================

 CYMPLAY (original)          -    (C)Starshine, yep thats me :)
 CYMPlay32 & WinAMP plugin   -    (C)Chipmunk
 YM2151 Emulation            -    (C)MAME Team (C)Jarek Burczynski
 Audio Streams code          -    (C)MAME Team
 SEAL Audio Library v1.06    -    (C)Carlos Hasan
 DJGPP                       -    (C)DJ Delorie

 Thanks go to :
 Chipmunk (for finding various silly bugs, and his wicked ports)
 MAME Team (without MAME, this wouldn't exist)
 Jarek Burczynski (since its his emulation!)
 Bloodlust (for the top-$ Callus emulator)
 SEAL (without this, audio playback would be a pain in the butt)
 DJGPP (the worlds only/greatest free DOS C/C++ compiler)


 Emails / Web Sites
 ==================

 Starshine        Email : shine_is@cheerful.com
 (original)       WWW   : http://members.tripod.co.uk/~Starshine/

 Chipmunk         Email : chipmunk_uk_1@hotmail.com
 (ports)          WWW   : http://www.symbiont.demon.co.uk/chipmunk/


 Questions
 =========

 Q. There are no drums or beats in the music!
 A. This is because the "CYM" file only contains information on the 
    YM2151 chip, which is used to create only the FM synth music.
    The digital sample stuff (beats, drums, snares, speech) is all 
    done by the OKIM6295 DAC, which is controlled directly by the Z80
    in the arcade hardware, there is no information on this in "CYM" 
    files, so nothing can be played.

 Q. Playback is really really slow, and scratchy!
 A. This is because your PC is too slow. You NEED A P233MMX or better
    to get clear, continuous beautiful playback :) This is because the 
    YM2151 emulation core is MAME's and is entirely in C! Making it 
    infinitely portable :) :)


 History
 =======

 v0.7JB (29/Jan/99)  -    This "Jarek Burczynski" version now uses the
 ------------------       v2.0 (Sept 1998) emulation core! - this is also
                          now stereo and optimized, like Satoh's.
                          This emulation is from MAME 0.35b1.
                          EXE now compressed with UPX!

 v0.3J (05/Jan/99)   -    Channel 0 panned hard-left (-100)
 -----------------        Channel 1 panned hard-right (100)
                          Even though Jarek's engine is mono.
                          Volume levels fixed to 100 (max)
                          Shuts down sound output correctly
                          This version uses Jarek's engine and is
                          mainly for compatibility sakes and testing.
                          [-loop] added to loop choon ;)
                          Now using SEAL v1.06! Master Mixer Volume Levels
                          at last!! Much louder now!!
                          Volume of the streams set to 20 - any more causes 
                          it to be too loud I think :)

 v0.21 (18/Dec/98)   -    Yes, two updates in one code-sesh ;)
 -----------------        Got rid of Allegro totally (EXE now half-size!) 
                          Rewritten some comments ;)                      
                                                                          
 v0.2  (18/Dec/98)   -    A minor update to this DOS version; Fixed the   
 -----------------        seg fault in pure-dos.. it was due to not       
                          malloc'ing my sound buffer to init it! :) nutz! 
                          I can't believe I missed that!! Thanks to       
                          Chipmunk who told me! & check out his Win32 ver!
                                                                          
 v0.1  (13/Dec/98)   -    Plays the CYM file back fine. Is extremely slow 
 -----------------        however! It needs at least a P233MMX to play the
                          sound properly (no scratching, full-speed).     
                          Audio streams working OK, I think. (Seal rulez!)
                          Emulation working great, no probs! (MAME yeah!) 


 Changes to MAME's "ym2151.c" & "ym2151.h" files
 ===============================================
 
 Below are the changes made to MAME's source files for using
 them in CYMPLAY :

 Removed [include "driver.h"] from top of ym2151.c
 Added [#define INLINE __inline__] to top of ym2151.c
 All cases of [errorlog] have been commented out (//)
 Changed [#define USE_MAME_TIMERS] to [//#define USE_MAME_TIMERS] so
 it uses its own internal timers instead

 Knowing these changes may help you out in understanding CYMPLAY,
 and how to make a port etc.. ;)


 Bye bye now,

 Starshine

