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
As someone who frequently abuses DPCM, there are a few things that sometimes bug me when working with it.
1. [b]Bug:[/b] When editing a DPCM of the maximum length Famitracker supports (4081 bytes), tilting the very end of the sample can sometimes cause Famitracker to crash. I can't replicate this consistently, but it happens to me from time to time.
2. [b]Request:[/b] Is there any technical reason that the maximum DPCM length is 4081 bytes? Could it potentially be made longer?
3. [b]Request:[/b] And is there any technical reason that Famitracker has a maximum limit of 64 DPCM samples? Believe it or not, I actually ran into this limit recently and had to reorganize my samples/"merge" the functionality of a few. Could this limit be extended to support e.g. 255 samples, or even 65535 (which would basically mean you can have as many samples as you want)?
4. [b]Request:[/b] Would it be possible to add an "auto-tilt" feature, that automatically tilts a selected section such that it ends at 0? Right now, to get a sample to end at 0, I have to keep tilting the end bytes over and over, tilting different sections, etc. almost randomly until I get to 0 (or close enough).
Thanks for your time!
_______________________
[url=http://steelassault.com][b][i]Steel Assault[/i] - NES styled 2D action game[/b]
1. I'll check the crash bug, thanks for reporting it.
2. That's the longest sample length supported by the DPCM hardware. There is a way to play back longer samples seamlessly actually, but that requires DPCM IRQ functionality and that's not part of the NSF specification. But there are players that supports it anyway and I think there was some NSFs in the last famicompo using it. I'm not sure if I'm gonna add support for it myself though.
3. No technical reason, I just thought it was good enough back when there was no bankswitching support for samples (max 16kB). I'll look into expanding it.
Among the NES software of the past,
the usage of DPCM samples seems to be most frequent,
the number in the Medal Slader Glory,
capacity is a Mr. Gimmick!.
_______________________
And is now aiming for the completion of all of the DPCM instruments.
On the note of the maximum length, couldn't you automate the manual process that we'd have to go through to play long samples? Have the engine import a big .wav file (let's say it's 10 seconds of audio) and, internally, it chops the sample up into appropriately-sized chunks and plays them as if the composer had inserted notes into the dpcm channel. It would hide all of that functionality from the user, making it look like one large sample with just one "note" assigned to it.
Otherwise it's a chore to do this kind of thing- you have to calculate how big each .DMC is based on how many frames it will take to get near the limit, and you have to manually assign a ton of notes to each sample and write them all out in the tracker... seems kind of needlessly complicated. At the very least I'd want some kind of way to automate assigning tons of DPCM samples to notes.
[quote=Rushjet1]On the note of the maximum length, couldn't you automate the manual process that we'd have to go through to play long samples? Have the engine import a big .wav file (let's say it's 10 seconds of audio) and, internally, it chops the sample up into appropriately-sized chunks and plays them as if the composer had inserted notes into the dpcm channel. It would hide all of that functionality from the user, making it look like one large sample with just one "note" assigned to it.
Otherwise it's a chore to do this kind of thing- you have to calculate how big each .DMC is based on how many frames it will take to get near the limit, and you have to manually assign a ton of notes to each sample and write them all out in the tracker... seems kind of needlessly complicated. At the very least I'd want some kind of way to automate assigning tons of DPCM samples to notes.[/quote]I second this. There should also be something that shows how many regular DPCM samples make up the long sample.
[quote=Rushjet1]At the very least I'd want some kind of way to automate assigning tons of DPCM samples to notes.[/quote]
Have you tried the arrow buttons?
I hate to be that guy to bump a slightly old thread, but I actually just ran up against the 64 sample limit myself, and was actually about to post a request thread about it myself, but I figure I'll just bump this one.
As an extra, I know this is likely completely impossible, but is there any way for the max sample space to be increased as well? From 256kB up to something else? Like I said, I know this would likely be impossible, and not at all supported by the NSF format or an actual NES, but I figured I'd ask anyways. Oh, the joys of trying to make music with lyrics in Famitracker...
I [i]think[/i] the 256 kB limit was arbitrary, but I might be mistaken.
_______________________
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.
I tried to find some information about it, but all I've been able to find is that it's broken up into 16kB banks, nothing about how many banks were available, or if there were ever any variations. I'd assume there would be some sort of limitation, but that like a lot of things with the NES, it would be worked around with either different mappers or expansion chips or something. But I also don't know a whole lot of technical details about the NES, so I could very easily be wrong.
What I do know is that 64 samples of 4081 bytes each comes out to just over 255kB, so as it stands, it's not even possible to hit the 256kB limit. It's basically there to just... Be there. I guess as a relic of the past, when there was only one bank to work with or something.
256kB was selected since that's close to the same size as 64 full sized samples.
The max size of an NSF is 1MB, which is 256 full sized samples and more than that is not possible to fit. Some space is needed for the program code too.
256 samples at the full 4081 bytes would leave about 3.75kB of space in an NSF then. While this doesn't really leave a whole lot of space for the actual song itself, and the rest of the programming that goes into it, at the same time, it would allow full advantage to be taken of the NSF format, at least through Famitracker. I imagine if someone did have so many samples that the resulting NSF would be too large, the exporter could just spit out an error when it runs, saying that the user must either scale the song down, or remove samples, to fit under the limit.
Either way, though, I do love the fact that running into these hurdles also results in me getting to learn more about how all this stuff works in general.