NEZplug++ VGM mod
Current version: 0.9.4.8+2+19.20 (released on 2015-07-26)
Technical discussion about the VGM format, and all the software you need to handle VGM files.
Moderator: Staff
- ValleyBell Offline
- Posts: 4791
- Joined: 2011-12-01, 20:20:07
- Location: Germany
NEZplug++ VGM mod
Program: NEZplug 0.9.4.8 + 2 + 19.20, includes NEZplay (Homepage)
Program Type: VGM Creator / NSF/GBS/... Player
Platform: Windows (32-bit)
Plays formats: .kss (KSCC/KSSX), .hes, .nsf, .ay, .gbr, .gbs, .gb (from gbs2gb), .nsd, .sgc
Logs chips: SN76489, YM2413, YM3812, YM3526, Y8950, AY8910/YM2149, GameBoy DMG, NES APU, K051649 (SCC1), HuC6280
Comments: Modded by Valley Bell to log vgms. (enabled via nezplay.ini)
Keep the sample rate ("Frequency") at 44100 to get proper logs.
Binary / Source
Old versions
NEZplug v0.9.4.8 + 2 + 19.20 Binary (2013-05-29)
Release time!
NEZplug should be equally or more accurate than MESS.
Be careful with GB2GBS rips though, they might be buggy. (not because of NEZplug, but the rips themselves)
Program Type: VGM Creator / NSF/GBS/... Player
Platform: Windows (32-bit)
Plays formats: .kss (KSCC/KSSX), .hes, .nsf, .ay, .gbr, .gbs, .gb (from gbs2gb), .nsd, .sgc
Logs chips: SN76489, YM2413, YM3812, YM3526, Y8950, AY8910/YM2149, GameBoy DMG, NES APU, K051649 (SCC1), HuC6280
Comments: Modded by Valley Bell to log vgms. (enabled via nezplay.ini)
Keep the sample rate ("Frequency") at 44100 to get proper logs.
Binary / Source
Old versions
NEZplug v0.9.4.8 + 2 + 19.20 Binary (2013-05-29)
Release time!
NEZplug should be equally or more accurate than MESS.
Be careful with GB2GBS rips though, they might be buggy. (not because of NEZplug, but the rips themselves)
Thanks for good work.
I was able to fix Heiankyo Alien was impossible in MESS.
Reports that I noticed bug.
Different HuC6280 Clock is 21477270 Hz. (3579545 Hz correctly)
Gimmick does not output correctly, Using NES APU,Sunsoft-5B(AY8910 compatible).
This VGM sample, Gimmick - Lion Heart:
Edit : I deleted the file
I was able to fix Heiankyo Alien was impossible in MESS.
Reports that I noticed bug.
Different HuC6280 Clock is 21477270 Hz. (3579545 Hz correctly)
Gimmick does not output correctly, Using NES APU,Sunsoft-5B(AY8910 compatible).
This VGM sample, Gimmick - Lion Heart:
Edit : I deleted the file
Last edited by 2ch-H on 2013-06-14, 10:58:16, edited 1 time in total.
- ValleyBell Offline
- Posts: 4791
- Joined: 2011-12-01, 20:20:07
- Location: Germany
- Sonic of 8! Offline
- Posts: 419
- Joined: 2011-12-13, 17:31:14
Re: NEZplug++ VGM mod
SN76489 Periodic Noise emulation is horrible. Try the SGC file of Asterix (SMS) or the KSS / SGC of Argus no Juujiken (SMS) and hear it.ValleyBell wrote:NEZplug should be equally or more accurate than MESS.
Also, some NSF games is not logged (early NES games), and some others, DPCM drums is not correct (Lagrange Point, and didn't log VRC7, which is similar to OPLL).
Last edited by Sonic of 8! on 2013-05-30, 1:03:58, edited 2 times in total.
オモいカルチャーをオモチャーと言う - 細野晴臣
This VGM closes XMPlay upon attempting to play it. x.x2ch-H wrote:Gimmick does not output correctly, Using NES APU,Sunsoft-5B(AY8910 compatible).
This VGM sample, Gimmick - Lion Heart:
http://www.mediafire.com/download/61rtrdo7w3aw6l0
Last edited by JFD62780 on 2013-05-30, 2:30:15, edited 1 time in total.
Until next post...
- ValleyBell Offline
- Posts: 4791
- Joined: 2011-12-01, 20:20:07
- Location: Germany
Re: NEZplug++ VGM mod
It's just using wrong noise parameters. The logs are fine, because I copied the vgm parameters from MAME.Sonic of 8! wrote:SN76489 Periodic Noise emulation is horrible.
Also, M1 doesn't always use correct SN76489 parameters either. For this reason I almost always check submitted packs that use the SN chips for correct noise parameters.
The DPCM issue was solved with the quick update I made right before my last post.
VRC7 logging is disabled (by intention), because it's not entirely compatible with the OPLL.
(For reference: The broken VGM has an invalid NES RAM data block that writes beyond the bounds of the RAM array and crashes the plugin and player. This will be fixed with the next update.)
Thanks for update, It is output correctly.
But, I have found a the another bug.
This VGM sample, Gimmick - Happy Birthday:
Edit : I deleted the file
Gimmick_07_nes.vgm: Incorrect DPCM, not "snare drum" is played.
Gimmick_07_mess.vgm: The same thing happen Mess.
But, I have found a the another bug.
This VGM sample, Gimmick - Happy Birthday:
Edit : I deleted the file
Gimmick_07_nes.vgm: Incorrect DPCM, not "snare drum" is played.
Gimmick_07_mess.vgm: The same thing happen Mess.
Last edited by 2ch-H on 2013-06-14, 10:57:58, edited 2 times in total.
- ValleyBell Offline
- Posts: 4791
- Joined: 2011-12-01, 20:20:07
- Location: Germany
- Sonic of 8! Offline
- Posts: 419
- Joined: 2011-12-13, 17:31:14
- GTheGuardian Offline
- Posts: 83
- Joined: 2013-02-08, 2:40:33
Hmm,after doing a Test log of Metal Gear 2,I found oddities in the VGM file such as this:
That might be the source of the problem.
Code: Select all
D2 01 80 01 K051649: Ch 64: Set Frequency LSB = 01
D2 01 81 01 K051649: Ch 64: Set Frequency MSB = 1
Last edited by GTheGuardian on 2013-06-26, 22:50:32, edited 4 times in total.
- Sonic of 8! Offline
- Posts: 419
- Joined: 2011-12-13, 17:31:14
Bug report: Some DPCM drums of Super Mario Bros. 3 is missing. It occurs with various Konami games too (most from 1986 to higher). There is a way to give some miliseconds before the music starts into the VGM file (like these ones in some Taito games that I've ripped), but with minus miliseconds (about 1/2 second)?
オモいカルチャーをオモチャーと言う - 細野晴臣
- ValleyBell Offline
- Posts: 4791
- Joined: 2011-12-01, 20:20:07
- Location: Germany
This is a known bug, I just haven't had time to fix it. (busy with university)
What happens is, that when the game initializes all registers, it turns the DPCM channel on and off (these commands end up at sample 0 in the VGM).
Enabling DPCM causes nezplug to write the DPCM data block to the VGM.
This all happens before the actual song starts, so the ROM banks aren't yet set up correctly. And since nezplug writes the DPCM block only once, it never writes another (correct) DPCM block.
DPCM support is bad in most of my programs anyway. vgm_trim doesn't rewrite it, vgm_sro doesn't support it and the DPCM emulation in MAME's NES sound core is quite bad, too.
I'll fix all of these issues, but I'm afraid I won't fix them this month. I have to meet some more important deadlines this month.
What happens is, that when the game initializes all registers, it turns the DPCM channel on and off (these commands end up at sample 0 in the VGM).
Enabling DPCM causes nezplug to write the DPCM data block to the VGM.
This all happens before the actual song starts, so the ROM banks aren't yet set up correctly. And since nezplug writes the DPCM block only once, it never writes another (correct) DPCM block.
DPCM support is bad in most of my programs anyway. vgm_trim doesn't rewrite it, vgm_sro doesn't support it and the DPCM emulation in MAME's NES sound core is quite bad, too.
I'll fix all of these issues, but I'm afraid I won't fix them this month. I have to meet some more important deadlines this month.