MAME 2003

From Libretro Wiki
Jump to: navigation, search
MAME 2003
Core info
License MAME
Extensions zip

MAME 2003 is an arcade system emulator that can be used as a libretro core. MAME 2003 is based on MAME 0.78 with backported patches for performance and compatibility improvements. This core is a popular choice for the Raspberry Pi family and other low-powered hardware because it supports most 2D-era arcade games and a broad set of features without requiring as much processor and memory resources as later MAME cores.

See also: MAME 2000, MAME 2010, MAME 2014, MAME 2016, and MAME.


Feature Support

These are libretro features, not frontend or standalone emulator features.

Features
Saves Save states Rewind Netplay Cheats Controllers API Rumble Sensors Camera Location Subsystem API


Directories

MAME 2003 generates directories as it requires them:

User-generated content are in sub-directories within /libretro savefile dir/mame2003/ e.g.: ``` /libretro savefile dir/mame2003/diff/ /libretro savefile dir/mame2003/nvram/ /libretro savefile dir/mame2003/hi/ /libretro savefile dir/mame2003/cfg/ /libretro savefile dir/mame2003/inp/ /libretro savefile dir/mame2003/memcard/ /libretro savefile dir/mame2003/snap/ ``` .dat files should be placed within /libretro system dir/mame2003/ e.g.: ``` /libretro system dir/mame2003/hiscore.dat /libretro system dir/mame2003/cheat.dat /libretro system dir/mame2003/history.dat ``` Static data should be placed in subdirectories within /libretro system dir/mame2003/ e.g.: ``` /libretro system dir/mame2003/samples/ ``` .chd images should be placed in subdirectories within the /libretro content dir/ ROM directory e.g.: ``` /libretro content dir/blitz/blitz.chd ```

MAME menu

To access the MAME internal menu, press the 'TAB' key.

Service menu

MAME 2003 can ability to access games' internal service menus to set permanent game options. This allows you to, for example, configure a game to be 'free play' (no need to insert coins). To access the MAME service, press the 'F2' key. After changing options in the service mode, the game's internal memory will be stored to an .nv file in: ``` /libretro savefile dir/mame2003/nvram/ ```

Dip-switches

Similarly to the [Service menu](#service-menu), many arcade games had hardware switches for arcade owners to modify certain parameters. These can be adjust by pressing the 'TAB' key to access the MAME menu, and select the '**Dip Switches**' option. Here you can turn them on/off.

High scores

MAME 2003 will attempt to keep a permanent record of any high scores you set, but some games will not save these by default. A supplementary file called `hiscore.dat` is required for these ROMs to save scores. This file can be [downloaded from the MAME 2003 'metadata' repository](https://github.com/libretro/mame2003-libretro/tree/master/metadata). Place 'hiscore.dat' in: ``` libretro system dir/mame2003/ ``` When high scores are saved, they are kept in: ``` libretro system dir/mame2003/hi/ ```

Cheats

MAME 2003 supports the MAME cheat engine, allowing you to use the 'TAB' menu to enable various in-game cheats. To active these, there is a supplementary file that you need to transfer to your Pi, called `cheat.dat`. This file can be [downloaded from the MAME 2003 'metadata' repository](https://github.com/libretro/mame2003-libretro/tree/master/metadata). Place `cheat.dat` in: ``` libretro system dir/mame2003/ ``` Additionally, the 'enabled cheats' core option needs to be turned on. This option is is called: ``` mame2003-cheats = "enabled" ```

Samples

Some sound effects in a few older arcade games are difficult/impossible to emulate. Instead, audio clips of these effects can be downloaded and automatically played at the appropriate times. To do this, download the sample files you require and place the individual audio files into a .zip file matching the ROM's title (eg `invaders.zip`) or into a folder matching the filename of the ROM (eg `/invaders/`) into the following location: ``` /libretro BIOS dir/mame2003/samples/ ```

Sample rate

You can adjust the sample rate for _all_ audio. Lowering it from the default of 48000 KHz may increase performance, at the cost of audio fidelity. It can be controlled via a setting called: ``` mame2003-sample_rate = "48000" ``` The valid possibilities are 8000, 11025, 22050, 44100 and 48000.

    1. Nag-screen and warning screen

The copyright warning is controlled via a setting called ``` mame2003-skip_disclaimer = "enabled" ```

Games that feature incomplete emulation, or other side-effects will have a warning screen detailing these flaws similar to the 'nag screen' mentioned above. It is recommended to leave this screen visible to understand why a game may have such issues, but it can be controlled via a setting called: ``` mame2003-skip_warnings = "enabled" ```

Mouse/Trackball/Analog Controller support

By default, mice/trackballs and analog sticks (the left one, for controllers with 2) are supported in games that would have them, or equivalents. For example, Centipede supports the mouse/trackball, and Afterburner supports the stick. Lightgun games are supported by either. The left and right mouse buttons can be bound to fire/etc using the [MAME menu](#mame-menu).

Has support for a single mouse (or touch device) in games that support trackpads, etc (via the "Mouse Device" core option) Supports one or two spinners/dials (via the "Share 2 player dial controls across one X/Y device" core option). Absolute pointer devices are supported, but need to be turned on via a setting called: ``` mame2003-mouse_device = "pointer" ```

NOTE: This will disable standard mouse support.

2 player dial/spinner devices

Some (all?) 2 player spinner/dial devices are represented as 1 device with 2 axes. lr-mame2003 can be configured to share this device across both players: Player 1 = X axis, Player 2 = Y axis. This can be enabled via a setting called: ``` mame2003-dialsharexy = "enabled" ```

Dual stick games

The right analog stick can be used a second joystick. This is enabled by default, via a setting in the called: ``` mame2003-rstick_to_btns = "enabled" ```

TATE mode

For users who have a rotatable display, this mode shows vertical games (e.g. Pac-Man, Centipede, Galaga, etc) at their original aspect ratio, and will display along the length of the screen with the right configuration. This is disabled by default, but can be enabled via a setting called: ``` mame2003-tate_mode = "enabled" ```

BIOS

Other Options

This core has a few options that can be tweaked from the core options menu. The default setting is highlighted and in italics:

  • mame2003-frameskip (0/1/2/3/4/5): Toggle frameskip
  • mame2003-dcs-speedhack (disabled/enabled): Speedhack for Mortal Kombat II and III at the cost of audio quality.

Compatibility List/General Issues

Save states: MAME 2003 supports save states, however, save state support has to be implemented per-driver, so they won't work with all games.


Controllers

External Links