MAME for OS/2 - Version .37 beta 14
===================================

Ported by Marty Amodeo
Released 9/24/2001


This is the OS/2 port of Multiple Arcade Machine Emulator (MAME).  This
software allows your OS/2 PC to emulate the hardware required to run
2,882 arcade games.  It requires the use of original arcade machine ROM
dumps to actually run the games.  This software only creates an environment
in which the game ROMs can be run.

Use of this software, while I've done my best to make it safe and easy, is
entirely at your own risk.  I cannot be held responsible for any data loss,
productivity loss, or laws broken through your use of this software.  If you
do not agree with these terms, you can remove this software cleanly by simply
deleting the files that comprise it.  This software does not modify any system
files or your OS/2 INI files.


System Requirements
-------------------

* OS/2 Warp 4.0, 4.5, 4.51, or eComStation with base multimedia support
* Pentium or higher processor compatible with Pentium instruction set
* DART support if audio is enabled
* VBE 1.2 compliant graphics card or card supported by Scitech Display Doctor
* EMX runtime library .9d, latest fix level
* 16 bit color or higher desktop video mode
* Arcade ROM dumps to run game software


Getting Started
---------------

* If you wish to run MAME full screen:

  * If you do not have Scitech Display Doctor installed:

    You will need to modify your Config.Sys to load up the SDDHelp.Sys driver
    which should be included in this archive like the following example:

    DEVICE=x:\arcade\mame\drivers\sddhelp.sys

    You may wish to copy the SDDHelp.Sys driver to a more generic location,
    as other applications may wish to make use of it.

  * If you have Scitech Display Doctor installed:

    You're all set to run MAME in full screen mode.  You may wish to take a
    look at the "MGL Settings" under the "Settings" menu.  You can click the
    "Get Settings From SDD" button to have MAME retrieve the available video
    modes from Scitech Display Doctor.  If you select this, you will be asked
    to locate the GAMode executable which should be part of your Scitech
    Display Doctor distribution.

* Building the game list:

  * Start up MAME.
  * From the "File" menu, select "Change search paths".
    You can modify the search paths for arcade ROMs here or verify that they
    are correct.
  * From the "File" menu, select "Game list".
  * Press the "Scan for ROMs" button.
    MAME will begin searching your ROM search path for all of the ROM sets
    that is knows about and will build a list of the ones that it found that
    were valid.  You can then add them to your "Favorites" list and run them.


Documentation of Features and Settings
--------------------------------------

* File menu:  Game List

  You can scan for arcade ROM sets using the "Scan for ROMs" button.  This
  will populate the list of "All available ROMs".  You can add some of these
  ROM sets to the "Favorites" list.

  If you'd like to run a game, select it from the "Favorites" or
  "All available ROMs" lists and either double-click it or press the "Run Game"
  button.

* File menu:  Change Search Paths

  You can modify where MAME looks for certain files here.  You can add, modify,
  or remove paths that MAME uses to look for ROMs, artwork, audio samples, etc.

* Settings menu:  Frame Rate

  You can modify how the frame rate is regulated here.  Dynamic frame rate
  regulation tells MAME to automatically skip frames when it needs to in order
  to keep the emulation running at full speed.  You can specify not to skip
  more than a certain number of frames in a row so that you can see what is
  happening even if a game is too slow to run at full speed.  Skipping more
  than 3 frames in a row makes it difficult to play most games.

  Static frame rate regulation tells MAME to hold frame skip at the constant
  level specified.  It will never skip fewer frames, even if it doesn't need
  to.  It will also never skip more frames.

  You can also enable or disable the use of the Timer0 high precision timer
  here.  This setting may interrupt concurrently running DOS and WinOS/2
  sessions, so if you are running any such applications, you should disable
  this setting.  It is recommended to use this setting for the best and most
  well-mannered frame rate regulation.

* Settings menu:  Audio Settings

  You can enable and disable sound here as well as set the audio quality and
  buffer size.

  By increasing the "Frames of audio data to buffer", you will increase the
  lag between the time that a sound is generated and the time that this sound
  can be heard.  For best results, keep this value as low as possible unless
  it causes a problem.

  You can set the audio quality to various data sampling frequencies.  The
  higher the frequency, the better quality of the audio output.

  To tell MAME to share your sound card with the rest of the system, click the
  "Share audio" check box.

  Note that these settings cannot be changed while a game is running.

* Settings menu:  Input Settings

  You can choose whether or not the settings you are modifying apply to the
  defaults for all games or the currently running game with the "Settings
  Apply To" drop down box.

  The "Rapid-fire keys" list box contains a list of all of the keys on a
  standard 101 key keyboard.  Highlight the ones that you would like to be
  rapid fire keys in MAME.  A rapid fire key is one that you can hold down,
  but will be pulsed at the rate specified in the emulator, to appear that you
  have pressed it in rapid succession.

  The "Rapid Fire Rate" setting controls how often your rapid fire shots are
  fired.  It is specified in terms of frames per shot fired.  For a game
  operating at 60 frames per second, a value of 10 would mean that 6 shots
  are fired every second.  The higher this value, the slower the rate of fire.

  The "Intercept ALT keys" option allows you to use keys that PMShell usually
  intercepts while running in windowed mode.  The ALT keys tend to get "stuck"
  as a result of PMShell intercepting them.  Since MAME uses the left ALT key
  as a button in many games, this setting should allow you to use it properly.

  You can enable or disable mouse input here.  In addition, in windowed mode
  you can't get any input from the mouse unless you allow MAME to "grab"
  control of the mouse using the "Grab mouse" option.  In full screen mode,
  "grabbing" the mouse is not required to get mouse input.

* Settings menu:  MGL Settings

  You can adjust full screen video modes that are available to MAME here.

  If you are running Scitech Display Doctor, you can get the available video
  modes from it using the "Get Settings From SDD" button.

  You can also add in your own video modes or remove ones that don't seem to
  work here.  If a video mode is not on this list, it will not be used by
  MAME.

  If you are running Scitech Display Doctor:
    If a mode is on this list, but it is not known to Scitech Display Doctor,
    you can specify the "Allow custom modes" option to have Scitech Display
    Doctor create this mode for you on-the-fly.  The newly created mode will
    use the default global refresh rate set in GACtrl.  If you would like to
    add a new mode, and it doesn't synchronize with your monitor using this
    setting, then add the mode to SDD using GAMode and tune it in with GACtrl.
    See your Scitech documentation for details.

  If you would like to have the display image stretched to the entire size
  of the full screen video display rather than centered on it, select the
  "Stretch" option.

* Settings menu:  Pause on Window Focus Change

  This setting tells MAME to pause itself when the window focus changes to
  another application.  For example, if you are running MAME and receive a
  popup window from an instant messenger for example, MAME will pause the game
  until you click back on the MAME window.

* Settings menu:  Simulate coin slot lights with keyboard LEDs

  This setting allows MAME to use the CapsLock, NumLock, and ScrollLock
  lights on your keyboard to simulate the lights on the coin slots of the
  arcade machine being emulated.

* Log menu:  View Debug Log

  Pops up a window containing all of the messages from the OS/2 interface to
  MAME.  These messages are also written to a file named "Debug.Log".

* Log menu:  View MAME Core Log

  Pops up a window containing all of the messages from the MAME core.  This is
  not terribly helpful to the average user, but is nice for debugging.  It
  could slow things down while a game is running, however, as some games
  generate a lot of messages from the MAME core.

* Window menu

  You can change the window size to a scale of the game's display size here or
  go full screen.

* Extra OS/2 features

  Pressing the F11 key toggles between full screen and windowed mode.
  Pressing the F12 key takes a snapshot of the game display and copies it to
  the clipboard.
  Pressing the ENTER key on the numeric keypad puts you into single frame mode,
  where you can advance one frame at a time using the Plus key on the numeric
  keypad.  Press the numeric keypad's ENTER key again to return to normal
  operation.


A Quick Word About the MAME Core
--------------------------------

This version of the MAME core has changed a few defaults since the last
version of MAME that I ported.  The "Insert Coin" keys have changed from "3"
and "4" (for players 1 and 2) to "5" and "6" for most games.  If you'd like
to see what these settings are and what other defaults might have changed,
start up a game and press the TAB key.  Then select the input options you wish
to see.  You can do this while the game is paused (using the "P" key).


Known Deficiencies
------------------

* Keyboard LED changes are only active in windowed mode
* No joystick support
* Brightness, Gamma, and Volume settings have no effect
* Artwork in Discs of Tron gets visually corrupted if it is not the 
  first game run
* MAME core is a bit buggy, causing some perfectly fine ROM sets to not
  run properly
* Some games crash on startup (Mortal Kombat, Smash TV, and several others)
* Asteroids crashes shortly after a game starts
* Occasionally, CTRL keys get "stuck" in some games.  If this appears to be
  the case, press and release both CTRL keys individually to un-"stick" them


Enjoy!
------

If you have any questions or feedback about this software, please send it to
mamedev@stny.rr.com.  Visit http://emuos2.netlabs.org for information on
future releases of this and other fun OS/2 software.

If you wish to send a bug report, please be as descriptive as possible,
specifically about your video card, video drivers, sound card, and OS version
and fix level.  If you have a problem, make sure that you can reproduce it and
try to describe precisely how it occurred.  This will help me solve the
problems quickly.

