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
_______________________
[BURNING LOVE]
[url=http://www.youtube.com/user/ImATrackMan]YouTube
[url=https://twitter.com/ImATrackMan]Twitter (Stay off my lawn, kids)
I know jrlepage stated this better, but I think it's when data overflows from one bank (in this case a 16kb one) it switches over to another bank so that the data can keep growing without corrupting the system.
Oh god, if he sees this I'm going to get lauged at.
_______________________
[BURNING LOVE]
[url=http://www.youtube.com/user/ImATrackMan]YouTube
[url=https://twitter.com/ImATrackMan]Twitter (Stay off my lawn, kids)
On an NES cartridge you have 32kb of catridge ROM that is visible at any given time. This size of addressable space is physically limited by the number of pins connecting the cartridge to the CPU; there is no way to expand it. (There is also 8kb of graphics address space, and other space for saved games, but it's not relevant to sound.)
To make games bigger than 32kb, bank switching will swap blocks of ROM (banks) into that space as needed. This is done by extra hardware on the cartridge (e.g. the MMC chips). For example, you might have one fixed 16kb region, containing all your program code and other things that you don't need to swap, and a second 16kb region that you bank swap for your game content, probably stuff that you can change from level to level.
So anyhow... the DPCM sample playback can only address memory in the upper 16kb of the cartridge ROM, so if you want to use more than this, you are going to need to switch in a new bank of samples as needed.
got it, thanks for expanding my nes knowledge once again. a question though.
i wrote in my previous comment that i had fixed the problem by loading an instrument with a different set of samples. however, when exporting the .nsf the sound gets all messed up, it sounds although some of the samples may be missing.
is this not the way to switch banks?
i don't plan on using my songs on an actual cartridge and console, i just enjoy pushing the limitations of .nsf playback.
FamiTracker does not (yet?) have bank switching for DPCM samples, so more than 16kb of samples won't work in the NSF.
FamiTracker does actually have bank switching for song data, but it's handled automatically. That's not relevant to your question, but it does let you make bigger songs.
ahhh i see. i guess i'll just have too export to .wav for now then.
unless there is a program that will make my .ftm readable for another program that allows bank switching, then i could just export to .nsf from there. i dunno.
Actually, only the FTM format itself supports bank switching the last time I've seen multiple DPCM samples being used (by Mex). However, exported NSF files don't keep this feature because it hasn't been added into the exporter, from what I understand.
The FTM format is its own custom format that isn't supported by other programs so far, so good luck with finding a third-party NSF exporter. The only way for now is to export to WAV (or redistribute the FTM file with FamiTracker).
_______________________
Technology: the one thing that's hated & cursed at by all engineers, technologists, scientists & technicians!
[quote=TechEmporium]Actually, only the FTM format itself supports bank switching the last time I've seen multiple DPCM samples being used (by Mex).[/quote]
Hm. That was the result of a bug in the DMC importer, and as far as I know it didn't have anything to do with bankswitching.
Which song by xaimus is it you're trying to export DMC's from? I know xaimus used raw PCM once, so it could be that as well. Otherwise, the only NSF compiler that supports bankswitching DMC samples is ppMCK, which uses MML for source files.
FamiTracker isn't really emulating the NES for playback, so bank switching doesn't apply. FTMs with more than 16kb of samples aren't switching banks, there was just no memory limit imposed by FamiTracker at the time.
i extracted the DPCM instrument from "Staring at a Daft Sky (rocketbutt)" using rainwarriors NSF importer.
okay, from what i've gathered. it's possible to use more than 16kb of samples however, this will not work when exporting your .ftm to .nsf.
you can use "bank switching" when exporting to .wav although, this is not intentional and the possibilities are unrealistic? i.e. it's a bug.
will using more than a 16kb load of samples ever be implemented into famitracker? i remember reading that multiple expansion chips weren't going to be added due to it not being playable on a console. perhaps this is the same.