Could the same fix theoretically be applied to any Famitracker NSF? Either as a modification to the driver or through manual hex-editing of NSF files? I wouldn't mind the latter if it's just a matter of changing a few bytes (especially if it's always the same changes).
I didn't fix the NSF, I modified the exporter code and exported a new file. Changing existing NSFs won't be easy.
But this is still very strange, there is nothing invalid with these NSFs that aren't working so I think it's a bug in the TNS cart. But then there really should be a lot more files that won't work. Do you know if there's any software updates for your cart?
If this fix is harmless and causes the conflict with the HFC3 to go away, any chance you could incorporate it in Famitracker?
I don't think there has been any firmware updates, but then again I don't really know where to check. I assume they'd contact me by e-mail (since I left my own e-mail address when ordering), but I haven't received anything since I bought it. I thought about filing a bug report, but then they'd know one of their precious little babies escaped from anime-land... Unless we can find someone who knows enough about this sort of things to comfortably translate my bug report from English to Japanese (and is willing to take the time to do so).
As a side note, there are a handful of NSFs that I've tried to play in the past that crashed at some point, all of which had issues related to DPCM. Here's one of them I came across recently; in this case all I had to do was remove duplicate samples and everything was fine, but that only worked because it had just enough samples that deleting two prevented the crash.
The fix is harmless, but it's wasting space for no reason so I'd rather find a new one if possible. Beside we still have to test files with more than 8 banks added.
I've modified the first file to have a linear initial bank layout, could you try this too and see if it works? If it works then it might be easy to fix existing NSF files as long as they was exported by famitracker, since the driver will always overwrite the bank settings.
I checked the TNS webpage btw and there seems to be updates for HFC1 and HFC2, but nothing else.
Sounds like the HFC requires the last bank to be fixed? That's really lame.
Though it looks like the offer another solution, which is to manually write the vector table at the end of each bank you're going to be swapping to the E000-FFFF bank? (Also really lame, but probably doable as long as it doesn't require some special IRQ vector.)
If this fix cannot be integrated into 0.4.3 for any reason whatsoever, is there any chance I could have a special build? After all there probably aren't that many people using this specific piece of hardware to listen to their NSFs. :3
Yes I will make this fix permanent, it doesn't have any drawbacks this time. This is only a problem for songs with the recently added bankswitched DPCM, so all previous exported songs should be fine.
Btw this tracker is frequently downloaded from Japan too, where the TNS cart is bit more common, so I think more users would appreciate this fix. I noticed that a prior TNS cart update contained a fix for famitracker: http://www2s.biglobe.ne.jp/~tns/hfc2update.html