Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /storage/content/49/145849/famitracker.com/public_html/forum/classes/dbHandler.php on line 29
Title says it all: does anyone know of any way to extract VRC7 custom instruments from NSFs, preferably in MML format? I doubt there is, but who knows. If there isn't, do you guys think it's at least feasible? I mean, we've got N106 and FDS waveforms covered (you can extract those using NSFPlug or NSFPlay); would this be any similar?
I tried with NSFPlay, which is essentially a standalone NSFPlug. FDS waveforms can be extracted, but not VRC7 instruments. Just to be clear, I doubt it's at all possible, but I just wanted to see if you guys knew things I didn't.
Well, the FDS waveform is something that has to be loaded in one contiguous place in memory; it comes in one piece and the hardware knows exactly where it is.
With a VRC7 instrument, I may be wrong, but I think each parameter is an independent control. You could theoretically take a snapshot of all the settings at any given time to get an instrument, but the NSF or hardware itself doesn`t have any built in concept of a VRC7 instrument like it does with an FDS waveform.
Actually, the information contained for any instrument is located in specific parts of the ROM's memory; the only problem is figuring out the ASM code & what it would stand for in terms of the instrument's waveform, volume & effects.
It's not as simple as saying "offset 506F of the ROM contains this VRC7 instrument." Rather, it's a matter of several offsets being used as placeholders for the particular channel's waveform settings (duty, phase, volume, attack, decay, etc.).
The sad thing is that there was only one actual game that uses VRC7 audio. On the upside, if someone were to reverse-engineer Lagrange Point's NSF & compare them to other FamiTracker-generated NSFs, a pattern could be found.
_______________________
Technology: the one thing that's hated & cursed at by all engineers, technologists, scientists & technicians!