unofficial famitone 4 is done

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

Moderator: Moderators

User avatar
dougeff
Posts: 2821
Joined: Fri May 08, 2015 7:17 pm
Location: DIGDUG
Contact:

Re: unofficial famitone 4 is done

Post by dougeff » Thu Apr 18, 2019 7:53 am

version 5.0 is done. (ca65 is... I still need to make asm6 and nesasm versions)

1xx,2xx,3xx,4xx,Qxx,Rxx effects
duty cycle envelopes
sound fx >256 bytes

https://github.com/nesdoug/famitone5.0?files=1
nesdoug.com -- blog/tutorial on programming for the NES

User avatar
dougeff
Posts: 2821
Joined: Fri May 08, 2015 7:17 pm
Location: DIGDUG
Contact:

Re: unofficial famitone 4 is done

Post by dougeff » Tue Apr 30, 2019 10:48 am

I added PAL support on my versions of famitone 2,3,4.

And added some conditional statements that will only affect you if you ONLY need NTSC or ONLY PAL.

And also edited the vibrato to rate 6 (was 8 before)...and corrected the depth...which adds a few more bytes, but (I think) sounds a little nicer.
nesdoug.com -- blog/tutorial on programming for the NES

User avatar
dougeff
Posts: 2821
Joined: Fri May 08, 2015 7:17 pm
Location: DIGDUG
Contact:

Re: unofficial famitone 4 is done

Post by dougeff » Fri Jun 21, 2019 7:58 pm

NOTICE...

In my famitone 4 (and probably 3 and 5) there is a song breaking, game crashing bug.

My encoder produces wrong code for a note cut in the DPCM channel, which I apparently never thought to test.

I will attempt to fix at my next free time.

(probably more potential bugs exist in famitone 5, but I haven't had a chance to test it thoroughly)

Edit, this issue was fixed in June of 2019.
Last edited by dougeff on Sat Jan 23, 2021 10:00 pm, edited 1 time in total.
nesdoug.com -- blog/tutorial on programming for the NES

User avatar
dougeff
Posts: 2821
Joined: Fri May 08, 2015 7:17 pm
Location: DIGDUG
Contact:

Re: unofficial famitone 4 is done

Post by dougeff » Sat Jan 23, 2021 9:56 pm

Update today. versions 3,4, and 5

https://github.com/nesdoug/famitone3.3

https://github.com/nesdoug/famitone4.1

https://github.com/nesdoug/famitone5.0

I've had several requests to make the volume column behave exactly match the famitracker's driver, so I added a 256 byte volume table. It will increase ROM size, but improve CPU usage, since it no longer has to multiply these values on the fly.

I also consolidated the different PAL and NTSC versions into single versions, to avoid confusion. So, to select just one region, you will have to comment out (or for ca65, have support = 0) one of them.. if you only want one region supported (to reduce ROM size).

Also, there were minor bug fixes in versions 4 and 5.

And, I don't remember who requested it, but I had never made asm6 or nesasm versions of famitone 5. Those are now completed !!

I will likely not make any more versions. If you want a feature added, you will probably have to modify the code yourself, or use the full famitracker driver (or one of the forks, like 0CC ).

If you prefer the old volume column code (for the smaller ROM size), just uncomment the multiple2 variable, and copy/paste the old Multiply function (from the github commit history) and delete the volume table ft_volume_table:
nesdoug.com -- blog/tutorial on programming for the NES

Post Reply