This fixes an issue with famitone

Discuss NSF files, FamiTracker, MML tools, or anything else related to NES music.

Moderator: Moderators

User avatar
dougeff
Posts: 3078
Joined: Fri May 08, 2015 7:17 pm

Re: This fixes an issue with famitone

Post by dougeff »

OK, I had to share this. I've been working on rewriting the source code for famitone2's text2data.

Today I've been working on adding the 'volume column' into the data. And, big success!! I still need to rewrite famitone.s to accommodate, but the data is looking right. I'm so happy!!
nesdoug.com -- blog/tutorial on programming for the NES
User avatar
dougeff
Posts: 3078
Joined: Fri May 08, 2015 7:17 pm

Re: This fixes an issue with famitone

Post by dougeff »

Also managed to add full note range today.

I had to sacrifice PAL mode and efficiency.

There is room for more effect support, but I likely won't be doing that.
nesdoug.com -- blog/tutorial on programming for the NES
User avatar
Sumez
Posts: 919
Joined: Thu Sep 15, 2016 6:29 am
Location: Denmark (PAL)

Re: This fixes an issue with famitone

Post by Sumez »

Famitone 3 on its way? :3

Would love to see Famitone supporting more effect columns from Famitracker, since it would make it much easier to work with musicians who aren't happy about limitations. Especially pitch modulation would be a huge improvement, but I'm not sure it can be done without sacrificing a bunch CPU cycles?

As for PAL mode, we don't need that :P
User avatar
dougeff
Posts: 3078
Joined: Fri May 08, 2015 7:17 pm

Re: This fixes an issue with famitone

Post by dougeff »

I'm basically done with my first edition. Need to make a NESASM and ASM6 version.

Size differences... (data in a test song)
Original text2data - 505 bytes
My version with volume column - 615 bytes (22% increase)
My version minus all volume changes - 565 bytes (12% increase)

Need 6 more RAM variables.

Runs about [estimated in my head] 150-200 more lines of code per frame, that'd be about 500 cycles more per frame. [again, in my head estimate]. That's because I have to run a multiplication routine 3 times [Sq1, Sq2, Nz].
nesdoug.com -- blog/tutorial on programming for the NES
User avatar
mikejmoffitt
Posts: 1353
Joined: Sun May 27, 2012 8:43 pm

Re: This fixes an issue with famitone

Post by mikejmoffitt »

You could implement the volume column without slowing anything down, at the expense of data space - have 15 variants created for every volume macro, pre-scaled, and variant instruments to point to them. Maybe that can work?
Post Reply