Skip to content
markwkidd edited this page May 13, 2018 · 26 revisions

Building romsets for mame2003-plus

mame2003-plus is built on the same codebase as MAME 0.78, meaning that 95% or more of MAME 0.78 romsets from MAME 0.78 will work as-is in mame2003-plus, where they immediately benefit from its bugfixes and other improvements. In order to play the new games and games which received ROM updates in mame2003-plus, you will need to find or build the correct romsets.

Each version of an arcade emulator must be used with ROMs that have the same exact version number. For example, MAME 0.37b5 romsets are required by the MAME 2000 emulator, but MAME 0.37b5 sets will not work correctly with the MAME 2003 or MAME 2010 emulator cores. Those cores require MAME 0.78 and MAME 0.139 ROM sets, respectively.

What is a romset? Arcade games are packaged as zip files, most of which are composed of more than one individual 'ROM' files. That is why some resources refer to an individual arcade game as a ROM (like people use to describe a zipped game cartridge ROM) while other resources refer to an individual game as a ROM set, ROMset, or romset.

Step 1: Obtaining an XML DAT

DAT files describe the exact ROM contents that the emultaor needs including filenames, file sizes, and checksums to verify contents are not incorrect or corrupt. mame2003-plus has the ability to generate an XML "DAT" file from the MAME Menu. When mame_keyboard input is enabled, you can enter the MAME menu by pressing the Tab key. With any input mode, you can also access the MAME menu by turning it on as a core option.

Step 2: Finding a source for ROMs

TBD

Step 3: Building mame2003-plus romsets

Refer to Validating, Rebuilding, and Filtering ROM Collections for details on how to configure ClrMamePro to use your sources as "rebuild" folders.

We recommend the "Full Non-Merged" format, where each romset zip files includes all the files needed to run each game, including any ROMs from 'parent' ROM sets and BIOS sets. To configure ClrMamePro to validate or rebuild a Full Non-Merged collection, use "Non-Merged" mode and disable "Separate BIOS Sets" from the "Advanced" menu in both ClrMamePro's Rebuild and Scanner menus.

Input System

RetroPad Input Modes

Modern

The modern layout sets mame2003-plus to the same input configration as Final Burn Alpha (FBA). This layout is the fight stick & pad layout popularized by Street Fighter IV and assumes an 8+ button controller.

SNES

The SNES layout strives to map arcade games to match their Super Nintendo / Super Famicom ports when possible. When there is no SNES port as a reference, the SNES layout aims to set sensible defaults with that controller layout in mind. The SNES layout only needs a 6+ button controller by default and is not intended for 8+ button fight sticks.

MAME Classic

The MAME Classic input mode uses mainline MAME's default Xbox 360 controller layout. This layout is not a good match for 6-button fighters, but may suit other games.

Keyboard Input

mame_keyboard sets the core to process keyboard input directly through the legacy "MAME" keyboard interface. Use this input mode only if your input device is seen as a keyboard, including some arcade control panel hardware.

MAME Menu

In mame2003-plus, the MAME menu can be accessed via "retropad" users by activating it in the core options. If your input mode is set to allow input to the mame_keyboard interface, you can also enter the menu by pressing the Tab key.

Troubleshooting

Logging

What are logs? Why are they so important?

libretro cores like mame2003-plus are designed to run on many different combinations of hardware, operating system, and content. It is not possible for a volunteer-based open source project to test all possible combinations.

The answer to this dilemma involves "logs", which open source software use to record essential information about your system and its function that other users and volunteers need in order to help troubleshoot problems and improve compatibility.

Posting Logs in forums and Github

Often log files are lengthy which make them difficult to read when they're pasted directly into a post on the forums or github. If your log file is more than six or seven lines long, you will be asked to post a link to it instead.

One free and straightforward system for posting and sharing logs is Github Gist. You can paste the contents of a log file, or the log file itself, into the Gist website. After you log has been added to the Gist, press the Create Public Gist button to create a shareable link.

RetroArch Logs

Please refer to the doc Generating RetroArch Logs for details on using RetroArch GUI and commandline options to generate logs.

RetroPie Logs

Use RetroPie's Runcommand system to instruct RetroArch to direct the mame2003-plus log to the file /dev/shm/runcommand.log. You will then need to consult the RetroPie docs in order to access that file to paste into a Gist.

Disable Rewind

Placeholder

Development

#programming channel of the libretro discord chat server: https://discordapp.com/invite/C4amCeV

Clone this wiki locally