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
This is my first release candidate beta for NSFPlay 2.3:
[url=https://dl.dropboxusercontent.com/u/883356/nsfplay23b5.zip]https://dl.dropboxusercontent.com/u/883356/nsfplay23b5.zip
Please try it out and let me know if you find any bugs/problems.
Changes since 2.2:
NSFPlay 2.3 BETA 5 - 7/18/2013
Emulation:
- All illegal 6502 opcodes are now emulated.
- Audio emulation is now driven by CPU clock cycles, increases timing accuracy.
- FDS emulation completely rewritten for better accuracy.
- N163 emulation completely rewritten for better accuracy.
- APU frame sequencer now correctly driven by $4017, supports 4 and 5 step modes, immediate reset, and IRQ flag.
- MMC5 frame sequencer now independant of APU frame sequencer.
- Time dilation now slows frame sequencer along with CPU rate.
- Replaced PREFER_PAL setting with REGION, containing more options including Dendy support.
- Swapped duty option for APU1.
- More effective implementation of DMC anti-click option.
- Removed useless "frequency limiter" APU option.
- Added optional mute for ultrasonic triangle.
- Fixed broken oversampling filter.
- Adjusted device volumes to match more careful measurements, all centred at 128 now.
Other:
- Better small icon.
- Thinner DPCM address display, does not get truncated.
- Using # instead of + for note names.
- Cosmetic fixes in settings dialog.
- Keyboard frequency display correction for APU/MMC5/VRC6 (were off by 1).
- Keyboard envelope display now shows L for loop.
- N163 waveform display now hides waveform when track is muted with a wave length >= 128.
- Expanded infobox info for NSFe.
- Fixed improper loading of UI DLL, prevents crash in same folder as Famitracker.
- UI DLL now reports version, preventing potential problems if mismatched.
- LOG_CPU option for dumping register writes to file.
- Fixed song wrap where NSFs do not start on song 1.
- Source code cleanup: removing unrelated Z80 emulation code.
[quote=rainwarrior]
e.
- Replaced PREFER_PAL setting with REGION, containing more options including Dendy support.
- Swapped duty option for APU1.
[/quote]
So much bootleg fun.
_______________________
[BURNING LOVE]
[url=http://www.youtube.com/user/ImATrackMan]YouTube
[url=https://twitter.com/ImATrackMan]Twitter (Stay off my lawn, kids)
-What's an illegal opcode?
-Why some entries from the FCM10 pack won't play in NSFPlay as opposed to other players (for instance, entries 09 and 17 from the cover section)?
-What's Dendy?
[color=#373737][Congrats on your 888th day here!]
Maybe that's a little off-topic, but I'll keep using this version for all NSFs I want to play. Thank you for this update!
-Illegal opcodes are, uh, opcodes that are illegal. In other words, they are commands to the processor that aren't supposed to do anything but will often cause the processor to crash.
-I haven't listened to the FamiCompo Mini 10 pack yet, so I have no clue.
-Dendy is a Chinese NES clone.
_______________________
"im going to continue making this crazy stuff then after a while my style will be so sick that you will be like damn suuun that shit is so sick i dont even get it. i will be like bro its ok.. you dont have to." -omgdonut
I'll go investigating so I can gather more info about those subjects. Thank you poodlecock.
EDIT: From what I gathered about illegal opcodes, those are instructions that are not documented oficially by the manufacturer and thus are not guaranteed to do anything useful, though they are used in special cases, but most of the time they would crash the CPU. So thank you again poodlecock for making me gain some interest in this.
Isn't Dendy the European Famiclone that was popular in countries like Poland?
Also, covers 9 and 17 don't play in NSFPlay because the use FDS+other expansions, which causes conflicts. Other NSF players will play the file because they aren't coded as thoroughly as NSFPlay.
_______________________
Follow me on [url=https://twitter.com/jrlepage2a03]Twitter.
I record (some) NSFs on hardware. Feel free to [url=http://www.famitracker.com/forum/posts.php?id=3633]request a hardware render.
About Dendy, I think. As I read, it was popular in Russia and other countries where the NES/Famicom wasn't sold.
And thank you for explaining about NSFPlay being unable to play those songs. Uh, and Nezplug++ would be okay to play those files? I have seen the emulation is pretty okay with that player.
The illegal opcodes were expressly marked as "unused" by the 6502 designers. The ended up doing things because it was cheaper to leave them half-doing-stuff then it was to make them no-ops, in terms of circuit design.
Despite not being intended for use by the chip designers, their function is entirely known, and should be emulated because some perverts like to use them.
Cover 17 can be played by turning on the new "write protect" option in the FDS panel. It is malformed, but at least supportable in this way.
Cover 9 is certainly malformed. It has all expansions ticked for no reason, and is just a troll DPCM entry. I don't really care about supporting it, but I might take a look at what it's doing badly later.
For the record, when using FDS and multi expansions on NSFPlay, the expansion writes will automatically be blocked as long as you only write to the audio registers. Cover 17 makes writes in other places that have no functional purpose, which is why I added the additional write protect option. (BTW the write protect option will break regular FDS tunes which require the use of RAM there.) Also, it's only VRC6/VRC7/5B that have registers that overlap FDS RAM.
[quote=rainwarrior]Also, it's only VRC6/VRC7/5B that have registers that overlap FDS RAM.[/quote]
Whoa, whoa... I knew about FDS and VRC6, but do all of these overlap with each other, as well?
_______________________
[BURNING LOVE]
[url=http://www.youtube.com/user/ImATrackMan]YouTube
[url=https://twitter.com/ImATrackMan]Twitter (Stay off my lawn, kids)
There's a large degree of overlap between all the expansions because most registers are mirrored over large ranges of memory, not just the single lowest address that they're normally used via.
You can read about it here: [url=http://wiki.nesdev.com/w/index.php/NSF#Multi-chip_tunes]http://wiki.nesdev.com/w/index.php/NSF#Multi-chip_tunes
Shouldn't the multiplexer hiss be completely inaudible for <5 channel configurations?
Compare this recording I made of [url=http://www.mediafire.com/download/s0lyz0pb890al9k/entry41.flac]cover 41 with playback in NSFPlay 2.3b4 with serial multiplex mixing turned on. I can definitely hear a faint high-pitched tone, when I can't hear any such thing on my Famicom.
Also, I think the "Mute triangle at pitch 0" option is slightly misaligned compared to the rest of the checkboxes in that section (a few pixels too far to the right).
_______________________
Follow me on [url=https://twitter.com/jrlepage2a03]Twitter.
I record (some) NSFs on hardware. Feel free to [url=http://www.famitracker.com/forum/posts.php?id=3633]request a hardware render.
In an ideal world, yes, but there is an aliasing issue. The resampling filter currently is not able to attenuate it completely. However, I would rather leave it as is than have a special hack that automatically turns that feature off at <5 channels, for 3 reasons: 1. the emulation is more correct this way, aside from the aliased tone. (the aliased tone is one inaccuracy, turning off this way of mixing introduces different inaccuracies) 2. the resampling filter can eventually be improved. 3. nobody is going to use this option anyway, except as a curiosity.
As for UI nitpicks, I'm planning to completely replace the UI in the next version, so, unless it's a functionality issue, I'm not going to bother investing any unnecessary energy fighting with Microsoft's horrible dialog editor.
jrlepage I wanted to ask you, what is the actual volume difference between your 4-channel and 8-channel carts? Have you measured? In my tests, Erika's N163 is 29% louder than Rolling Thunder's. (I have set the default level at an average between the two.) I've attached an NSF you can use to test if you'd like. Compare the volume of the APU square (played first) with the full volume of the N163 square (played just after it). The APU square gives the recording a baseline you can measure against. (i.e. measure APU, then measure N163, divide the N163 value by the APU to get the relative volume, or just send me two recordings if you'd rather I do it).
Also you might want to warm up each cart by playing them for 5 minutes or so before trying the test. Temperature seems to affect the balance on my N163 carts a bit.
It's about 45ÂșC in my room right now, so I don't think a warmup is necessary at all. ( -n-)
I'll provide a recording for each of my N163 carts shortly.
EDIT: [url=http://www.mediafire.com/download/tsip335vftwoxoh/n163_test.rar]here we go.
_______________________
Follow me on [url=https://twitter.com/jrlepage2a03]Twitter.
I record (some) NSFs on hardware. Feel free to [url=http://www.famitracker.com/forum/posts.php?id=3633]request a hardware render.