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.