**************************************************************************************
		                WPC Emulator/Simulator 
		            (Williams Pinball Controller) 
			              (0.37b8) 
			  (Revision #4 - November 06, 2000)
**************************************************************************************

Latest Info
-----------
  See the whatsnew.txt for latest additions to wpcmame!

What is it?
-----------
  WPCmame is built as a driver added to the MAME 0.37 beta 8 source. 
  All the MAME readme file with all disclaimers, credits and instructions are included for
  info on using mame related functions.

  All standard MAME "functions" works in wpcmame (profiler, debugger, cheats,
  record/playback, command line switches etc) but remember that it is
  based on a mame beta release.

What does it do?
----------------
  Before you start to extract the ROMS from your WPC pinball machine please note:

  This WPC pinball emulator/simulator is not 100% playable. It only emulates the
  electronic circuit boards and the display in the pinball machine backbox.
  There is no playfield and no balls that you will see displayed.

  However, you can activate switches with you keyboard, see display animations, 
  and listen/record the pinball game sounds.


Games supported
---------------
  All WPC games from Dr. Dude(1989) to Cactus Canyon(1998) are supported! 

  Supported means that the game loads and the display starts up with lamps etc. All games
  enter attract mode and you can use the Coin Door switches to enter the menus.

Simulated?
----------
  For some games there is a ball simulator which you can use to "play" the game.
  The simulator allows you to use the keyboard to make shots/hit targets with your virtual/
  invisible pinball..

  Essentially, it triggers the correct switches depending on where the balls are located.

  (You can program a simulator for your own favourite game if you know a
  bit of programming and a lot about the game. If you are intersted let us know and we'll
  try to explain how to do it)

  For more information, please refer to simulation.txt for instructions on using the pinball   simulator built into wpcmame! 


Instructions
-------------
  Only WPCmame specific setting are listed here. Please read the MAME readme
  file for instructions on mame. Note that the ROMS downloaded from William's
  site is compressed with a zip version not supported by mame. You need to uncompress them,
  and recompress them using normal compression, rather than extra compression.

Command line switches
---------------------
  In an effort to minimize changing the original MAME source code, wpcmame uses some 
  existing mame command line swicthes!

  These can be set on the command line or in mame.cfg

  -[no]antialias     on  = Display a compact DMD display
                     off = Display a more DMD like display (space between dots)

  -[no]translucency  on  = Display lamps, swithes and simulator
                     off = Don't display lamps, switches and simulator
                         (they still work). Good when creating animations

  -[no]cheat         on  = Speed up start by disabling checksum (does not work
                         with Dr. Dude). Try it on a security PIC game for an
                         interesting message. The functionality is present in
                         the roms, WPCMAME just enables it.
                         Also enables MAME cheats (e.g overclocking)
                     off = Normal startup
  -flicker n         Antialias the DMD display with intensity 0-100%.

Other MAME settings
-------------------
  - The display looks better with -noscanlines
  - Display must be forced to 8 bit (-depth 8) if it is not doing so automatically.
  - Printer output will be saved in the MEMCARD directory
  - You may underclock the DCS sound CPU to increase performance but
    sound will be slightly delayed (not synchronized with the display)
    and will sometimes be garbled. Use F8,F9,F11 keys for underclocking.


General Keys
------------
  1       Start button
  3-6     Coins
  7	  Enter (on coin door)
  8	  Up   '+'   "
  9	  Down '-'   "
  0	  Escape     "
  LCTRL	  Left Flipper button
  RCTRL	  Right Flipper button
  Insert  Tilt
  Home	  Slam Tilt
  End	  Coin Door Closed (toggles on/off)
  F4	  Sound Command Mode (toggles on/off)
  F5	  Record Wave File of Sound output (toggles on/off)

  Note:
    	  When the display refers to "Enter", "+", "-" or "Escape" it means the
    	  coin door switches (key '7', '8', '9', '0' in wpcmame).


Controlling switches (manually)
-------------------------------

  The following keys will toggle the state of a switch

  1 2 3 4 5 6 7 8
  ---------------
  Q,W,E,R,T,Y,U,I Select Column 1-8
  A,S,D,F,G,H,J,K Select Row    1-8

  For example, to toggle switch 34 (Col 3, Row 4) press E while holding F!
  If the game has a simulator, press "Del" key to toggle between simulator keys
  and the switch keys.


DIP settings
-------------
  You can change the country setting of the game in the DIP menu.
  Older games does not support all country settings.

  Each game and the simulator can use some "fake" DIP settings to
  choose between different hardware options (e.g. number of balls installed).

Display
-------
  The display shows the DMD or the Alphanumeric LEDs and optionally
  (via the -[no]translucecy command line option) three matrices:

  Top:		Lamps
  Middle:	Switches
  Bottom: 	Solenoids/Flashers

  WPCmame contains functionality to diplay the matrices laid out as in
  in the game. See TZ for an example.

  If you want to do a similar layout for you favorite game let us know.


Sound Command Mode
------------------

  WPCMAME has the ability to let you trigger sound commands manually. This will let you
  play any sound the pinball game can make. Hit the F4 key to turn Sound Command Mode on 
  or off. Follow the instructions on screen to generate sounds. 

  NOTE: Not all Sound Command #'s generate a sound. 
  Example:Many games don't have a sound for command #01!
 
  You need to keep trying all #'s, because many are skipped,  especially odd numbers for
  some reason.

  BUG: Digital speech does not seem to get triggered in non-DCS games. Sorry, we'll try
  to fix that!  



Recording Sounds to a Wave File
-------------------------------

  WPCMAME can record the sound output to a wave file for you to play back anytime you want.
  Hit the F5 key to begin recording, and hit F5 again, to stop recording. The files are 
  created in the samples directory. They begin with the name of the game, plus a #, just 
  like screenshots work.

  If you're having trouble make sure your .cfg file points to a valid directory, and that
  you have enough free disk space to create the wave.

  Important:
  ----------
 
  WAV files can become *very* big quickly. These are not compressed like MP3 files, so be
  carefull. You can easily end up with 50MB wav files for just a few minutes of recording!


Creating Animations
-------------------

  This is one suggested way to create animations with WPCmame.

  1. First find a way get the animation on the display via the simulator
     or the switch keys.

  2. Delete the .nv file and restart wpcmame with the -record <name> switch
     (e.g. wpcmame afm -record exball)

  3. Repeat the simulator/switch keys until the animation is shown.

  4. Delete .nv file and restart with playback without the simulator display
     (e.g. wpcmame afm -notranslucency -playback exball)
     You may want to use -noantialias as well.

  5. Press pause just before the animation starts. Press F12 to save a
     snapshot and the SHIFT-P to advance to next frame and repeat.

  6. A sequence of PNG files will appear in your SNAP directory.

  7. Convert the PNG files to a gif animation with your favorite graphic tool
     (I use a program called "PictView 1.92" for the PNG to GIF conversion
     and then another tool called "GifMake 2.1" to create the animation. Both
     can be run from a batch file.)

  8. Reduce the number of colours to decrease the filesize. The palette
     is a mess right now but generally the colors are:
     0:     background
     1:     unlit DMD dot
     2-4:   lit DMD dot
     5-16:  Lamps switches etc.
     17-23: antialiased DMD
     All but 0,2,3,4 can be removed in an amination.

Known Bugs
----------
  Not all WPC functions are implemented in WPCMAME. The most important (?!)
  functions missing are the real-time clock and the ticket dispenser.

  The printer function is only tested with default settings. The printout will
  probably not work with other settings.

  There are probably a lot of bugs in the simulators.
 
  Saucer LEDs not implemented in AFM.

  DCS may not be 100% correct since it runs too slow on our computers to know for sure.

  DCS speedups don't work on WPC95 games

  The CVSD speech seems to have a different pitch than the real game.
  (maybe the soundboard filters output). A strange thing is that the
  speech works better in the game than in the test menu.

  Sound Command Mode does not seem to trigger Digital Speech for non-DCS games.

  I have taken the name and year for each game from the internet pinball database.


Note from the original author
-----------------------------

  I don't have much time working on WPCmame. If you want to help
  with Simulators, WIN32, MAC, Linux port etc let me know and I'll
  try to help.

  If you have other ROM sets, e.g. Hot Shots or Pinball Circus,
  let me know (don't send the ROMs, I'll come back and ask for it if
  I need it)

  I have learned a lot about the WPC hardware and programs on the way.
  Feel free to ask if you have questions. I'll try to answer them.

  Also let me know if you have other relevant information (how to access the
  hidden menu, how to get the super stunt cow in TZ, how
  the ticket dispenser and printer works etc)

  I can be reached at wpcmame@hotmail.com

  Have fun!


Note from the WPCMAME dev team
------------------------------

We're working hard to improve this great emulator, and welcome your feedback!!
Leave comments/bug reports, etc, in the WPCMAME forum found at:

http://www.gamesurge.com/cgi-bin/forum/Ultimate.cgi

Thanks-
