I got famitone2 (v1.0) working after some struggling... In the process I found a bug in nesasmc which causes asm6 version of famitone2 to be broken in v1.0 (famitone2_asm6.asm)! Reason is that "HIGH" function is incorrectly converted to "<" on line 131 in nesasmc.cpp. As a fix, change "<" to ">" and reconvert famitone2.asm. (I'm not using asm6 though. I have my own assembler.)
In addition to this, I encountered cryptic error message "Pattern not found" when converting a song with text2data. Reason is, text2data assumes no gaps in patterns, i.e. if max pattern number is 1E, all patterns in range 00..1E must exist. Otherwise you get the error. I got this error because I used FamiTracker "clear unused patterns". As a workaround, I exported song as text and modified the file so that there were be no gaps in patterns (i.e. modified lines starting w/ "ORDER" and "PATTERN"). Then I imported the fixed one back to FamiTracker.
After this I got a problem with wrong instruments played by famitone2 during runtime. Reason was that text2data skipped exporting unused instruments to conserve space, and while doing so, it didn't adjust exported patterns accordingly (i.e. if instrument 1 is unused, song instruments 2,3,4 will incorrectly play instruments 3,4,5 during runtime). As a workaround, I just used the unused instruments somewhere in the song -- pretty stupid, but works
To find unused instruments in FamiTracker, I used "clear unused instruments". Then I replaced the cleared instruments with dummy ones.
Anyways, good work Shiru! It needs bit polishing, but is really good. Have you considered using Python (or similar) instead of C for the tools? Text file parsing would be at least 10x easier with Python than C...