Screw the ones I wanted back then, I'm a lot more interested in this not-as-crappy C64 simulation.
3 channel N163, two loops take 2 minutes and 10 seconds.
Finally!! I decided to not be lazy and hook up my Famicom to my secondary laptop. As a result, I've been able to make some recordings. Some of these are requests; others are just tunes I found interesting to listen to. Enjoy!
If you notice any mistake, or wish a recording to be taken down, please notify me. A tweet (or private message on Twitter) is the most direct way to reach me.
So you mentioned you were accepting requests on Twitter, so I guess this is my ONLY WINDOW OF OPPORTUNITY to ask for a thing.
All are mine, 2 covers and 1 unfinished original. Just want to have a feel of how they'd sound on hardware, since the 2 covers use techniques that relied a lot on FamiTracker (and NSFPlay) to make them sound good -at the time-.
I also found out via Twitter, and thought I would come on down, despite not being a Famitracker user (I did end up using the program at least once while my main computer, which is what I still use, was suffering from a power supply failure. However, I was only testing out the program just for fun.).
I have a few NSFs (although they're not made with Famitracker... they're made with it2nsf by mukunda, coda, madbrain and reduz). Some use expansions (specifically, the VRC6), others don't. I specify times to one loop if they do loop. My selection of music are as following...
- A NES Winter Chip Concert
This is my Winter Chip 8 wildchip entry for Battle of the Bits (Wildchip means I can use any chip or at least something that resembles chip, as long as I explain what exactly I'm going for). It uses the VRC6 expansion.
- Bake a Nice Smiley Cake
This is a NSF+ OHC song made for Battle of the Bits... now, expansions were supported, and the theme was to make a song for baking a cake. Well, I chose the simplistic approach, and the result is the best reviewed entry so far (it's the only entry so far to get a score above 32.5 on Battle of the Bits... 35 being a perfect score).
- Blast Off To The Stars and Beyond
This is my Winter Chip 8 NSF entry for Battle of the Bits, no expansions. Do note that the song does not end after the ship lands... there's a bit extra past that point.
- Computer Log ~ 10/24/2012
This is my one and only Famicompo 9 entry. Given the difference between this song and my Famicompo 10 entry, I was indeed working on mastering DPCM usage at this time, and this one in particular taught me some limitations on how long I could make my samples (32,640 was the implied length limit, although DPCM appears to have a quirk that adds an extra 8, so it's actually 32,648... this is in terms of bits on a technicality). So the DPCM is a bit hit and miss here, although I did manually time it so that multiple samples can be strung together if I needed to split one up. I also checked out the commentary and the result is that I ended up doing much better for Famicompo 10. It helps that I had gotten better with my NES music making skills as well. The song lasts for 10 minutes and 28 seconds to one loop.
- Inside Ganon's Castle
This is a cover of a Legend of Zelda ~ Ocarina of Time song. I only made this because I discovered this particular topic and I knew the near-exact (or even exact) notation of this song. I produced this song with a VRC6 expansion, as I felt I couldn't do the song justice with no expansion. The song is 3 minutes and 38 seconds to one loop.
- Welcome to the Realm of Furby
This is my Summer Chip 3 NSF+ entry for Battle of the Bits, and thus it uses the VRC6 expansion. Now, be careful: The song doesn't end after five minutes... there is some silence, followed by the entire DPCM cast (literally: I used a whole bunch of DPCM to make the magic happen on this song, so I added the DPCM cast segment as a bonus) coming on down taking a bow. That last part loops endlessly once you get to the last sample, which isn't even used in the song. Heh... The entire song is around 10 and a half minutes, and it is also the largest one I'm submitting (it's less than 256KB, though).
I am not including my Famicompo 10 entry because I already found a hardware render done by someone else.
Fun fact: My Bit Puritans NES entry, if I recall correctly, has a hardware render done by jrlepage!
KFF, literally all of your NSFs crash the HFC3 in one way or another. Some will play about halfway through and freeze, others just won't play at all. I remember having a similar problem with your Puritans track that forced me to record it using my Power Pak and my NES instead.
The it2nsf sound driver strikes again! Given that some of them partially play, it tells me that at least the sound driver isn't completely null and void...
I have an interesting feeling that, at least according to my instinct, the DPCM is what's shooting down the songs (the only one that this does not make sense for is Inside Ganon's Castle, which contains no DPCM). If that's the case, then I better do some patching, and I am looking up http://www2s.biglobe.ne.jp/~tns/guideline.html to determine what's going on. Actually, do any of them even remotely play DPCM samples? If not, then I have confirmed where the problem is occurring, which means I have to do some bank swapping. If they do, then hmm... I have another theory. Maybe it has to do with six bytes being lost to the vectors. If that's the case, then I'll go ahead and do a quick patch there.
This definitely could result in some pointer shuffling if I were to directly fool around with the .nsf files.
Tonight is the night I have to pack up my stuff. I haven't had the time to record moviemovies1's tracks yet, so I apologise. I'm moving to Montreal permanently on the 20th; hopefully I'll have my Famicom hooked up and ready to go some time during the following week. I'll also look into the specific places where KFF's tracks freeze, while I'm at it.
The TNS-HFC3 does not support bankswitching the top bank ($F000), which IT2NSF does. You'll need to rewrite IT2NSF and re-export to get it working properly.
You could try to get around this by hex-editing a vector table containing the PLAY address into the last 6 bytes of all the banks used at $F000. First you need to figure out which banks are used there, though. (NSFPlay's logger will log bankswitching; you can use that.)
That's exactly what I determined was possibly the problem. $F000 is used as the second bank for DPCM. In order to correct this problem, I'd have to put the DPCM where the random data access (as defined by the IT2NSF source .asm file) is because, as defined by http://wiki.nesdev.com/w/index.php/APU, the DPCM sample must start in the $C000-FFFF area. The random data access would go to $A000-BFFF instead (they are normally unused).
I don't think I can use NSFPlay (I think that's a Windows application)... but I do have the it2nsf source, meaning I can look it up and determine what's going on when it comes to bankswitching. The random data access area is used for module and instrument data, and I already located what I presume is all of the pointers that I need to modify. This includes one ADC opcode (the first one encountered, ADC #$C0, is reliant on bank $C000 being used for random data access, so I modified it).
I have produced two test NSF files (which are specially modified versions of bake a nice smiley cake and Inside Ganon's Castle) to see if the song will fully play through when modified. Especially important on bake a nice smiley cake is the last part, which is the DPCM sample played back (I determined that I needed to subtract 80 from the offset in order to get the sample to play back). One of them is non-looping, just to note.
If these two work, I shall update the other NSF files for HFC3 compatibility, including my Bit Puritans entry Null and Void.