MAME/MESS VGM mod
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
- Windows 64-bit (56.61 MB) (2023-06-28)
- Additional Files (20.58 MB) (2023-06-28)
- Diff (36.5 KB) (2023-06-28) / GitHub repo branch
"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
- Windows 64-bit (52.84 MB) (2022-10-27)
- Additional Files (20.40 MB) (2022-10-27)
- Diff (36.1 KB) (2022-10-27) / GitHub repo branch
MAME 0.244
- Windows 64-bit (52.35 MB) (2022-06-17)
- Source Diff (36.5 KB) (2022-06-17) / GitHub repo branch
- Additional Files (20.08 MB) (2022-06-17)
MAME 0.236
- Windows 64-bit (52.62 MB) (2021-10-03)
- Source Diff (36.0 KB) (2021-10-03)
- Additional Files (18.36 MB) (2021-10-03)
MAME 0.222
- Windows 64-bit (48.79 MB) (2021-09-12)
- Source Diff (35.8 KB) (2021-09-12), Note: Needs to be applied to Git commit ad6505b instead of MAME 0.222 release source.
- Additional Files (16.87 MB) (2021-09-12)
MAME 0.200
- Windows 32-bit (49.81 MB) / 64-bit (52.14 MB) (2018-08-21)
- Source Diff (38.3 KB) (2018-08-21)
- Additional Files (12.01 MB) (2018-08-21)
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
- Windows 32-bit (23.99 MB) / 64-bit (27.71 MB) (2015-08-14)
- Source Diff (32.8 KB) (2015-08-14)
- Additional Files (8.52 MB) (2015-08-14)
- MAME 0.156 Windows 32-bit (14.75 MB) / 64-bit (16.09 MB) (2015-07-21)
- MESS 0.156 Windows 32-bit (7.81 MB) / 64-bit (8.51 MB) (2015-07-21)
- MAME 0.156 Windows 32-bit (14.75 MB) / 64-bit (16.07 MB) (2014-12-27)
- MESS 0.156 Windows 32-bit (7.80 MB) / 64-bit (8.50 MB) (2014-12-27)
- MAME/MESS 0.156 Source Diff (29.1 KB) (2014-12-27), Source Diff (35.3 KB) (2015-07-21)
- MAME 0.156 Additional Files (296 KB) (2014-12-27)
- MESS 0.156 Additional Files (6.51 MB) (2014-12-27)
- 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 Windows 32-bit (13.48 MB) / 64-bit (15.27 MB) (2013-01-14)
- MESS 0.148 Windows 32-bit (6.05 MB) / 64-bit (7.00 MB) (2013-01-14)
- MAME/MESS 0.148 Additinal Files (6.40 MB) (2013-01-14)
- MAME/MESS 0.148 Source Diff (21.9 KB) (2013-01-14)
- MAME 0.144 Windows 32-bit (15.11 MB) / 64-bit (15.72 MB) (2012-03-31)
- MESS 0.144 Windows 32-bit (6.55 MB) / 64-bit (7.16 MB) (2012-03-31)
- MAME 0.144 Windows 32-bit (15.12 MB) / 64-bit (15.71 MB) (2011-12-23)
- MESS 0.144 Windows 32-bit (6.55 MB) / 64-bit (7.15 MB) (2011-12-23)
- MAME 0.144 Additinal Files (150 KB) (2011-11-15)
- MESS 0.144 Additinal Files (13.90 MB) (2011-11-15)
- MAME/MESS 0.144 Source Diff (14.7 KB) (2011-11-16), Source Diff (15.6 KB) (2011-12-24), Source Diff (19.4 KB) (2013-01-12)
- MAME 0.140 Windows 32-bit (11.56 MB) / 64-bit (12.19 MB) (2011-09-27)
- MESS 0.140 Windows 32-bit (21.22 MB) / 64-bit (22.28 MB) (2011-09-27)
- MAME/MESS 0.140 Source Diff (10.2 KB) (2011-02-19), Source Diff (13.9 KB) (2011-10-21), Source Diff (14.1 KB) (2011-10-28)
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:
- DonPachi
donpachi (Cave 68000)
- Power Instinct 2
pwrinst2 / Power Instinct Legends
plegends (Cave 68000)
- Rapid Hero
raphero (MAME comment: "Incorrect OKI samples banking in Rapid Hero")
- Super Spacefortress Macross II
macross2, Thunder Dragon 2
tdragon2 (derived:
bigbang), Bombjack Twin
bjtwin (derived:
sabotenb,
cactus,
nouryoku)
- S.S. Mission
ssmissin (derived:
airattck), Task Force Harrier
tharrier (custom bank switching)
- Power Instinct
powerins
- Quiz Panicuru Fantasy
quizpani
- Battle Garegga
bgaregga, Armed Police Batrider
batrider (Toaplan 2 board)
- Air Gallet
agallet, Pretty Soldier Sailor Moon
sailormn (Cave 68000)
- Thunder Hoop
thoop, TH Strikes Back
thoop2, Squash
squash, Biomechanical Toy
biomtoy, Maniac Square
maniacsp
- Moto Frenzy
motofren, Space Lords
spclords, Road Riot's Revenge
rrreveng (Atari GX2)
- Guardians of the 'Hood
guardian, Road Riot 4WD
roadriot (Atari G42)
- BeatHead
beathead
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:
- Bakuretsu Quiz Ma-Q Dai Bouken
bkrtmaq, Fighter & Attacker
fghtatck, Super World Court
swcourt, Exvania
exvania, Cosmo Gang the Puzzle
cgangpzl, Tinkle Pit
tinklpit, Emeraldia
emeralda (Namco NA-1)
- Knuckle Heads
knckhead, Numan Athletics
numanath, Nettou! Gekitou! Quiztou!!
quiztou, X-Day 2
xday2 (Namco NA-2)
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.