MAME/MESS VGM mod

From vgmrips

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

Basic Setup for VGM ripping

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 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.

About

Program
MAME/MESS 0.256 (homepage)
Program Type
VGM Creator/Emulator
Platform
Windows (64-bit), others (via source code)
Current version
0.256 (released on 2023-06-28)
Logs chips
All chips supported by the VGM format. In particular, these are: SN76489 and variants, T6W28, YM2413, YM2612 / YM3438, YM2151, SegaPCM, RF5C68, YM2203, YM2608, YM2610/B, YM3812, YM3526, Y8950, YMF262, YMF278B, YMF271, YMZ280B, RF5C164 (SegaCD PCM), Sega 32x PWM, AY8910 / YM2149 and variants, GameBoy DMG, NES APU, MultiPCM, UPD7759, OKI6258, OKI6295, K051649, K054539, HuC6280, C140, K053260, Pokey, QSound, SCSP, WonderSwan, Virtual Boy VSU, SAA1099, ES5503, ES5505, ES5506, Seta X1-010, C352, Irem GA20.
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.

Download

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.

"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.

Old versions

MAME0.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.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)

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.

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