MAME/MESS VGM mod

From vgmrips

Multiple Arcade Machine Emulator and Multi Emulator Super System, VGM-logging style.

Note: Do not use Mame for Sega Mega Drive/Genesis games, as the DAC has 1 semitone higher than the FM itself. Use the BlastEm nightly for these instead.

Basic Setup for VGM logging

First, launch MAME with this command (from the command line, or using a .bat file with this line in it):

mame -cc

This creates the options file, mame.ini. Then you can open it and set "vgmwrite" to 1. Without this step, MAME won't log VGMs.

Next you can launch a game:

mame.exe -debug systemName -cart a_game_goes_here.ext

The -debug option launches the debugger alongside (which has a more pleasant interface than MAME proper). If you don't need it, leave off that option.

VGM logging now begins when MAME is launched, creating a single large .vgm file. Log the game as normal, taking care to put large silences (at least a second long) between each track if you can. Once you've finished, you can then use vgm_sptd or vgm_spts to split the large VGM into individual tracks.

When inside MAME, you can reach the options by pressing Tab inside the main window.

Download

"Additional Files" is stuff like artwork, software lists, etc. that you don't necessarily need to run the emulators. Also, it gets never updated (except when updating to a newer major release), so you just need to download it once.

About

Program
MAME/MESS 0.256 (homepage)
Program Type
VGM Creator/Emulator
Platform
Windows (64-bit), others (via source code)
Current version
0.288 (released on 2026-06-03)
Logs chips
All chips supported by the VGM format. In particular, these are:
Comment
Modded by Valley Bell to log vgms. (enabled via mame.ini/mess.ini)

Users of MAME's debugger may find it easier to launch via the command line.

Known not-working games with supported chips

Note: This also applies to M1. Also, this section is slightly dated; see the forum post until the info has been imported here.

Games that use a NMK112 chip (or other custom chips) for bank switching of OKIM6295 sample ROMs:

Additionally there are some games whose C140 is connected to RAM instead of ROM. MAME/M1 disables C140 logging in this case and makes a note about it in error.log. This is the case for the following games:

Some games (e.g. from Sega System 1/2) use two chips of one type (e.g. SN76489), but with different chip clocks. In this case, only the chip clock of one of the chips is logged. This is repairable after logging/trimming.

The AY8910-part of the YM2203/YM2608/YM2610 chips may play at the wrong frequency in VGMPlay/in_vgm, if you select the MAME emulation core. This is a player-related issue and not a problem of the emulator.

Sega Model 2 games aren't loggable currently due to the music tempo being off. This causes some desync'ing, especially in Fighting Viper.

Additionally there are some games whose C140 is connected to RAM instead of ROM. In that case, MAME makes a note about it in error.log. (M1 and MAME until 0.156/2014 also disable C140 logging.) This is the case for all Namco NA-1 / NA-2 games.

Then there are some games that use two chips of one type (e.g. SN76489), but with different chip clocks. (This is repairable after logging/trimming.)

Old versions

Note: MAME and MESS fused with version 0.162. So there are separate packages for MAME and MESS for older versions, but only one for newer ones.

MAME 0.280

MAME 0.272

MAME 0.264

MAME 0.256

MAME 0.248

MAME 0.244

MAME 0.236

MAME 0.222

MAME 0.200

MAME 0.181-196 betas

  • MAME 0.196 beta Source Diff (32.7 KB) (2018-04-07)
  • MAME 0.192 beta Source Diff (32.1 KB) (2018-01-15)
  • MAME 0.188 beta Windows 64-bit + Source Diff (42.47 MB) (2017-07-26) (crashes often when logging sample ROMs)
  • MAME 0.184 beta Windows 64-bit + Source Diff (38.27 MB) (2017-07-23) (doesn't log all sample ROM types)
  • MAME 0.181 beta Windows 64-bit (40.23 MB) / Source Diff (20.8 KB) (2017-01-15) (doesn't log all sample ROM types)

MAME 0.164

MAME 0.156

MAME 0.152

  • MAME 0.152 Windows 32-bit (13.65 MB) / 64-bit (15.57 MB) (2014-04-07), 64-bit (15.58 MB) (2014-10-12) (with preliminary NMK112 logging)
  • MAME 0.152 Additinal Files (1.10 MB) (2013-12-24)
  • MESS 0.152 Windows 32-bit (6.79 MB) / 64-bit (7.96 MB) (2014-04-07), 64-bit (7.95 MB) (2014-10-31) (with fixed Sega Pico PCM)
  • MESS 0.152 Additinal Files (6.92 MB) (2013-12-24)
  • MAME/MESS 0.152 Source Diff (24.4 KB) (2014-04-07)

MAME 0.148

MAME 0.144

MAME 0.140