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
Changes in 2.1:
Audio Output:
- Fixed race condition in audio buffering; stand alone NSFPlay would occasionally get stuck stuttering.
- Produces stereo output, channel mixer dialog for panning and per-channel volume control.
- Fixed PCM playback speed; CPU execution was counting requested clocks, not clocks executed.
- Fixed accuracy of seek times.
- Loop detection now accounts for all audio registers, not just a subset of 2A03 and N163.
- N163 wavelength is actually 6-bit, not 3. Now allows sample length up to 256.
- Fixed FDS volume/sweep envelope caps. (Direct register writes can make them louder.)
- Fixed FDS modulation bias calculation and wrapping.
- Set default volume for VRC7 and FDS a little lower (to match expected levels).
- MMC5 PCM support (for both read and write mode).
- Added phase reset option to MMC5.
- MMC5 was missing length counter and audio register reads; rewrote to conform with APU.
- Adjusted phases for APU/MMC5 square channels to match NesDev's description.
- APU/DMC/MMC5 rewrite of envelope/length/sweep behaviour to use a frame sequencer instead of independent timers.
Options:
- Option to randomize noise on reset (on by default).
- Options cleanup, removed unused/deprecated options from .ini file.
- Using global LPF by default instead of on each device (saves CPU, same result).
- Keyboard view channel colour is now customizable in .ini file (CHANNEL_XX_COL).
Keyboard view:
- Fixed crash due to keyboard OnTimer being allowed before Reset() is executed by the PlayThread.
- Double buffering keyboard view to remove flicker.
- Different colours for different expansions in keyboard view.
- Fixed sound lag after seek.
- FME-7 now named 5B, N106 now named N163.
- DPCM now named DMC in keyboard view.
- Fixed 5B volume display (E now correctly indicates envelope, volume is now correct value).
- 5B now displays envelope and noise.
- VRC6 saw volume now displays accumulator register.
- Corrected VRC6 saw pitch in keyboard view.
- Fixed trailing lines on N163 waveform display.
- DMC volume display no longer flipped (is now $4011 register value).
- DMC now shows sample frequency rather than byte frequency.
- Triangle and noise were not showing muting due to length counter of 0.
- Noise now has frequency display (either rate of random samples, or tonal frequency for periodic noise).
- Removed feature that extends the life of key dots beyond the frame the channel is active (frequency can change when key is silent, esp. VRC6 squares, which visibly jump to the wrong pitch)
Other:
- Save WAV button on NSFPlay.
- Command line WAV output for batch processing.
- Added extra NSF header information to "misc" text box, initial banks, load/init/play addresses, etc.
- Fixed thread-safety issue for configuration (was accessed liberally from many threads).
- Removed legacy code for windows versions older than XP.
Changes in 2.0:
- Fixes Windows Vista / 7 audio failure
- Cleans up playback before changing tracks or closing program
- Noise channel pitch should now be correct
- VRC7 now uses FamiTracker 0.3.7's default patch bank
- PAL support
- misc
If you want to use the updated NSFPlug as a Winamp plugin, just copy the files from the plugin folder to your Winamp plugin folder.
If you have comments or suggestions or you find a bug, let me know. (In particular I can't figure out how to test the Japanese dialog variations).
Original NSFPlay: [url=http://www.pokipoki.org/dsa/index.php?NSFplay]http://www.pokipoki.org/dsa/index.php?NSFplay
The only unique thing I like about NSFplug is that it can fix phase-reset on the 2A03 pulse channels. It's not a bad player though, and if VirtuaNSF didn't exist, I would probably use it instead.
However, since writing a VRC7 song over at MMLShare, I think I prefer foogep's emulation of that chip to VirtuaNSF. Not because of accuracy...it just sounds "smoother".
I made an update to it, now that I've figured out how to build the audio plugin itself. In the new version noise pitch should be correct (try it out, RushJet1), and I've replaced the VRC7 patch set with FamiTracker's.
Edit: Uploaded version 03 after realizing I could make a proper hardware test of the noise frequencies. I think it's as close to correct as it's going to get now.
[quote=rainwarrior]If you're someone who doesn't like NSFPlug for a particular reason, explain it to me.[/quote]
No stereo controls is the most obvious thing to me. Would be nice if it had a stereo mixer with default settings similar to those in either NSF Live or Notsofatso.
Isn't it possible to just make it as accurate as VirtuaNSF by taking some of the code from that and implimenting it into the emulation of the expansions and whatnot of NSFPlay? Idk how it works since I'm not a coder but it doesn't seem too unlikely.
VirtuaNSF itself isn't actually open source, and it isn't 100% accurate either. Most of its sound code is shared with VirtuaNES, so yes, it can be copied, but without knowing which parts are accurate it's not appropriate to just start stealing code from it. It's also a waste of time if they aren't already inaccurate in NSFPlug. (Also, it's usually faster to just correct a known issue rather than trying to reuse other code; which usually requires you replace the whole unit.)
For instance, this build of NSFPlay/NSFPlug I have made now has more accurate noise pitches than VirtuaNSF.
If there are specific things you know are inaccurate in NSFPlay/NSFPlug, let me know what they are (and what to reference for accuracy) and they can be fixed.
For instance, the volume matching for expansion chips can easily just be adjusted in the mixer, and we can package some correct settings in the zip (specifically in_yansf.ini). I can't do it myself, though, because I don't have anything to reference the volume against. If someone would like to send me hardware recordings (real ones, not PowerPak) of a Famicom playing each expansion, I could fix it easily.
What do you think of the 2A03 mixing? I made some notes last year saying that the noise was too loud and the DPCM too quiet. I dunno how easy it would be to implement vol faders for all 2A03 channels (instead of CPU/APU or whatever the groupings are).
Raijin: Could you be more specific? FamiTracker and NSFPlug actually use the same base code for VRC7 emulation (written by Mitsutaka Okazaki). In my new build it uses the same default patch set as FamiTracker, as well, so they should be pretty close now.
How does it sound different? Can you give me an FTM that will demonstrate?
cak: Can you provide an NSF that shows the volume problems? What are you comparing against? Also, please base any notes about problems with NSFPlug on the version I have provided, it may be different now.
Man... I'm not sure if I can be more specific. It confuses me because it sounds to me like every NSF player emulates it differently. VirtuaNSF and VirtuaNES I imagine have the same code, and they sound the most accurate to me, but again, I have no idea what the true correct emulation of that expansion is because it's always emulated differently, but I'm assuming VirtuaNSF is the most accurate because I'm always told that NSF player is the most accurate one there is currently.
Well, when you have an actual example for me to look at I will. I can't really do anything with vague statements about what you like best or which emulator you believe is most accurate.
There are appropriate ways to answer questions of accuracy. Anything on the 2A03 I can verify myself pretty easily. Expansions I will need help with, but you've got to understand that "I'm used to VirtuaNSF sounding..." is not helpful. I need real recordings, NSFs to test, NESDev forum discussions, commentary from someone who has earned authority, etc.