M.A.M.E. - Multiple Arcade Machine Emulator Copyright (C) 1997-98 by Nicola Salmoria and the MAME team MAME32 Copyright (C) 1997-98 by Nicola Salmoria and the MAME team. MAME32 Release Notes -------------------- This is release 0.31 of MAME32, the Multiple Arcade Machine Emulator for Win32. MAME32 is simple to use--put zipped ROM files in the roms\ subdirectory, zipped sample files in the samples\ subdirectory, and run MAME32. MAME32 requires DirectX 3.0 or higher to be installed on your system. If you need DirectX, go to http://www.microsoft.com/directx and download the latest DirectX runtime (version 5) for Windows 95. If you use Windows NT, install Service Pack 3. Requirements ------------ - Windows 95 or Windows NT 4. - DirectX version 3.0 or higher. - Pentium class cpu. Acknowledgements ---------------- Thanks to John Hardy IV for excellent testing. Also, thanks to Mike Haaland, Jeff Miller, Andrew Kirmse, and Mohammad Rezaei for contributing code to MAME32. Usage ----- MAME32 [name of the game to run] [options] options: -------- -scanlines/-noscanlines (default: -scanlines) if the default mode doesn't work with your monitor/video card (double image/picture squashed vertically), use -noscanlines or -vesa. -vesa/-novesa N/A for MAME32. -ntsc Not implemented in MAME32. -vesa1 N/A for MAME32. -vesa2b N/A for MAME32. -vesa2l N/A for MAME32. -resolution XxY Where X and Y are width and height (ex: '-resolution 800x600') Mame goes some lengths to autoselect a good resolution. You can override Mame's choice with this option. You can use -XxY (e.g. -800x600) as a shortcut. Frontend authors are advised to use -resolution XxY, however. -320 Discontinued. Use -320x240. -400 same as above, use -400x300 -512 same as above, use -512x384 -640 same as above, use -640x480 -800 same as above, use -800x600. -1024 same as above, use -1024x768 -1280 same as above, use 1280x1024. -1600 same as above, use 1600x1200. -skiplines N since many games use a screen taller than 240 lines, they won't fit in the screen. The parameter 'N' sets the initial number of lines to skip at the top of the screen. You can adjust the position while the game is running using the PGUP and PGDN keys. -skipcolumns N Not implemented in MAME32. -double/-nodouble (default: auto) use nodouble to disable pixel doubling in VESA modes (faster, but smaller picture). Use double to force pixel doubling when the image doesn't fit in the screen (you'll have to use PGUP and PGDN to scroll). -depth n (default: 8) Some games need 65k color modes (-depth 16) to get accurate graphics. To improve speed, you can turn that off using -depth 8, which limits to the standard 256 color modes. -vgafreq n N/A for MAME32. -vsync Not implemented in MAME32. -rotate Is obsolete and no longer supported. -ror Rotate the display clockwise by 90 degrees. -rol Rotate display anticlockwise. -flipx Flip display horizontally. -flipy Flip display vertically. -ror and -rol provide authentic *vertical* scanlines, given you turn your monitor to its side. CAUTION: A monitor is a complicated, high voltage electronic device. There are some monitors which were designed to be rotated. If yours is _not_ one of those, but you absolutely must turn it to its side, you do so at your own risk. ****************************************************** PLEASE DO NOT LET YOUR MONITOR WITHOUT ATTENTION IF IT IS PLUGGED IN AND TURNED TO ITS SIDE ****************************************************** -norotate Not implemented in MAME32. -soundcard n Select sound card (if this is not specified, you will be asked interactively). SEAL only. -sr n Set the audio sample rate. The default is 22050. Smaller values (e.g. 11025) will cause lower audio quality but faster emulation speed. Higher values (e.g. 44100) will cause higher audio quality but slower emulation speed. -sb n Set the audio sample bits, either 8 or 16. The default is 8. 16 will increase quality with certain games, but decrease speed. This is a software setting, not hardware. The sound card will always be used in 16 bit mode, if possible. -joy/-nojoy (default: -nojoy) allow joystick input. -fm/nofm OPL chip for music emulation not implemented in MAME32. -log Create a log of illegal memory accesses in ERROR.LOG -help, -? Display current mame version and copyright notice. -list Not implemented in MAME32. -listfull Not implemented in MAME32. -listroms Not implemented in MAME32. -listsamples Not implemented in MAME32. -verifyroms Not implemented in MAME32. -verifysamples Not implemented in MAME32. -romdir Not implemented in MAME32. -mouse/-nomouse (default: -mouse) enable/disable mouse support. -frameskip n Skip frames to speed up the emulation. For example, if the game normally runs at 60 fps, "-frameskip 1" will make it run at 30 fps, and "-frameskip 2" at 20 fps. Use F11 to check the fps your computer is actually displaying. If the game is too slow, increase the frameskip value. Note that this setting can also affect audio quality (some games sound better, others sound worse). Maximum value for frameskip is 3. -vg Is no longer supported. It's now the default when using vesa for vector games. -antialias/-noantialias (default: -antialias) Antialiasing for the vector games. -beam n Sets the width in pixels of the vectors. n is a float in the range of 1.00 through 16.00. -flicker n Make the vectors flicker. n is an optional argument, a float in the range range 0.00 - 100.00 (0=none 100=maximum). -cheat Cheats like the speedup in Pac Man or the level skip in many other games are disabled by default. Use this switch to turn them on. -debug Activate the integrated debugger. During the emulation, press tilde to enter the debugger. -record name Not implemented in MAME32. -playback name Not implemented in MAME32. -savecfg Not implemented in MAME32. Config info is saved in the registry. -ignorecfg Not implemented in MAME32. Config info is saved in the registry. MAME32 specific options. All the above plus: -------------------------------------------- -noddraw Uses Windows GDI to display in a window instead of using DirectDraw. -window Display in a window. The opposite of -screen. -screen Display fullscreen (default). The opposite of -window. -nosound Turn off audio. -midas Use the MIDAS Digital Audio System for audio. Try this option if the default SEAL audio sounds choppy or slows down mame. This can happen if your audio drivers don't provide DirectSound hardware support. This is the best option for Windows NT users. -directsound Use an alternate sound subsystem which uses the DirectSound API. Note that SEAL and MIDAS can also use DirectSound without this option. -gamma n Specify gamma to use for the display. 8-bit depth only. (Default is 1.0) -vscanlines Use vertical scanlines. Simulates scanlines of vertical monitors. -quit Quit after running the first game. Useful when specifying a game on the command line. -noautopause Disables pausing the game when MAME32 loses focus. -useblit Use a BitBlit to transfer image data to the screen in fullscreen mode. This only applies to the double option with no scanlines. This may be faster or slower depending on your system. -nommx Disable the MMX code. -nocpudetect Do not try to detect an MMX processor. -dikbd Use DirectInput for keyboard input. -dijoy Use DirectInput for joystick input. Only avalible with DirectX 5 or above. -joygui Enable the joystick to select games in the UI. -dijoygui Use DirectInput for the joystick to select games in the UI. The following keys work in all emulators: Tab Enter configuration menu. Press Tab or Esc to get back to the emulation. P Pause F3 Reset F4 Show the game graphics. Use cursor keys to change set/color, F4 or Esc to return to the emulation. F7 Not implemented in MAME32. Use the Windows control panel to calibrate the joystick. F8 Change frame skip on the fly (60, 30, 20, or 15) F10 Toggle speed throttling F11 Toggle speed display F12 Save a screen snapshot. The default target directory is BMP. numpad +/- Volume adjust left shift + numpad +/- Gamma correction adjust (only in 8-bit depth mode.) ESC Exit emulator Known problems -------------- MAME32 can perform poorly under Windows NT. DirectX under NT can be very slow, especially sound and joysticks. You may get better performance by disabling sound, joysticks, or by changing video modes. Sorry, Chris loves NT, but its support of DirectX isn't very fast right now. Each time you play a game, MAME32 wastes some memory. If you play dozens of different games without quitting and restarting MAME32, this could slow down your computer. If this happens, just quit MAME32 and run it again. Also, some game drivers don't initialize properly or clean up on exit, this may cause MAME32 to become unstable when a new game is run. MAME32 runs slow in a window if your desktop is at 16 bit or 24 bit or 32 bit color depth. This isn't a problem, it's just a fact--moving around that much more video memory takes a long time. Chris optimized the 16 bit color depth version a bit, so it's about as fast as it can get. MAME32 runs slow in a window at 8 bit color depth if the game changes the palette (some of the Williams games such as Joust and Robotron, some of the MCR games such as Tapper, and others). Changing the palette is slow, unless you play full screen. Some DirectDraw display drivers don't support locking the primary surface in fullscreen mode. MAME32 will perform blits from a back buffer in this case. Note that this is slower than writing directly to the primary surface. Fullscreen and DirectDraw window modes do not limit the display to the visible area. This will cause regions outside this area to be visible. This is noticable in Rastan and other games. DirectSound option does not handle 16-bit samples. The workaround is to use one of the other two sound options, SEAL or MIDAS. 16-bit color is not supported in windowed mode with the DirectDraw option when the desktop display depth is not set to 16 bit. When an error occurs starting a game, a spurious dialog box may appear with the message that the roms may be corrupt. In most cases, this message can be ignored. There are some games which use an OPL chip for music. These are identified in the readme.txt file as requiring a Sound Blaster OPL chip. MAME32 will not produce music for these games since it does not emulate the ym3812 OPL chip. Contacts -------- Nicola Salmoria: MC6489@mclink.it Mirko Buffoni: mix@lim.dsi.unimi.it Michael Soderstrom: ichael@geocities.com Christopher Kirmse ckirmse@ricochet.net MAME home page: http://www.media.dsi.unimi.it/mame Michael's MAME32 page: http://www.geocities.com/SiliconValley/Bay/7110/mame32.htm Christopher's MAME32 page: http://www.geocities.com/TimesSquare/Lair/8706/mame32.html MIDAS home page: http://www.s2.org/midas SEAL home page: http://www.egerter.com/seal