Here's my set of example files. It was written for 2 channels, so the vibratos and pitch slides in the 8 channel version sound wrong - but this is just for demonstration purposes so it doesn't really matter.
I noticed that N163 outputs waveforms inverted in famitracker, is this just famitracker or does the N163 actually do this?
Yeah, I noticed that as well, so I, being really OCD about everything, sometimes just invert the MML string manually so it comes out the way I want it to. -L-
The "DPCM samples not exporting to .nsf" also seems to occur in VRC6 also. The DPCM cuts out half way through the .nsf file.
Care to provide an example FTM and NSF?
kinkinkijkin wrote:
I noticed that N163 outputs waveforms inverted in famitracker, is this just famitracker or does the N163 actually do this?
Known bug. It doesn't affect sound output in any way, so don't worry about it.
Here is an example of the DPCM messing up in VRC6.Its not cutting out here but it surely messes up. I took this short clip of where the DPCM is messing up at out of part of a song I made.
I don't really use trackers nor do I post here much, but I was talking to chibitech last night and there may be some things to watch out for with N163 emulation in the long run...
It's possible that an authentic interpolation or resolution method may need to be implemented in the future depending on the number of active channels. It's still very much up in the air, but the idea is that songs that activate more channels start to have sample interpolation issues. Well that concept along isn't up in the air, it's just that I thought all currant players were taking this into account, though it may not be the case.
I had become concerned this past famicompo when I heard a recording of my submission taken through a variant of Nezplug - nezplug++ - apparently it's considered accurate by some folks in the eastern side of things, least with N163 emulation. However, it's emulating really bad banding in various ranges depending on samples and many channels activated. Even commercial games that use all 8 channels (King of Kings, Erika to Satoru no Yumebouken, others,) have a very annoying high pitch hiss the entire time! Chibi thought that perhaps this hiss is filtered out when the signal runs through RF; but perhaps if your famicom had an AV out setup, you might get the hiss. Powerpak as well as most currant players may not emulate the banding.
The issue was brought up to the author of the Nezplay variant, that certain N163 enabled songs (such as xaimus's dendrite) have the painful hiss (not to mention another issue, later,) to which the author responded that that is the way it's supposed to sound. Take that as you will I guess.
We may ask Robokabuto in the future to confirm this since I guess he has a TNS-HFE4 set-up, but it's very likely that it's just as accurate as whatever famicom you're running off of, just like that video posted of FDS Zelda title screen audio recorded on something like 30+ different famicom & famiclone models; if it's an AV cable model, perhaps you'll have problems if it can even run expansion mappers, but again, this is all up in the air right now.
Also, I don't know if it was reported but apparently in said emulator, Chibi said the currant famitracker beta ported nsfs had a nasty buzz on the 163 channels, apparently the same as NSFs created using it2nsf with N163 enabled played on real hardware. It may be a unnecessary constant register write every single frame.
Again, sorry as this is all very vague, and sounding like it's developing for one emulator (that I don't even care for that much!) Hopefully we'll get some more solid information later.
Thanks for the feedback everyone. I've fixed most bugs so far, only a few are remaining. I'll probably release another beta before the stable release due to the number of bugs found.
ionustron: Thanks, this is some valuable information, the documentation available on N163 is a bit incomplete apparently. The result must be usable on real hardware so I don't mind extra work for one emulator, if that one is more accurate.
I checked the sources of nezplug++ and it seems that the wave phase is reset each time the high part of the frequency is written, resembling what happens on the 2a03 pulse channels. That would probably explain the buzz sound. But there seems to be some other things going on too, for example writes to the unmapped memory slots are actually used for something (phase?), and it has several methods for calculating the samples, including a dependency on how many channels are activated. I'll need to study the details further and run some tests to see if I can figure anything out, the hiss sound and banding was unknown to me.
I have a Namco cart (Final lap) but no way to run NSFs on it (I'd do anything for a TNS-HFE4, hah), however I can do some basic testing by using the internal RAM as program memory, it's a bit inconvenient and limited but it works.
I requested to jsr to make it so that when you are MIDI recording, Famitracker automatically creates frames so you don't have to stop, make a frame, and resume MIDI recording. He said he will do that. I also requested a release delay effect, which he said he'll also do. As for the waves inverting, jsr told me something like the N106 (yes, I still call it that) inverts everything, even the fine pitch settings.
One other thing I'd like to request is a fine tuning effect, if possible. I hate having to keep typing in pitch effects for my music.
Also, I noticed C-6 is a little sharp.