Famitone Update

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

Moderator: Moderators

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

Re: Famitone Update

Post by dougeff » Sun Dec 18, 2016 8:42 pm

yours didn't work on Linux (with Wine too, you used a C library specific to Window$
I'm not an expert or professional programmer...so my attempt at compiling a distributed software is a bit of a fail...even for Windows users (who have to download some dll to make it work). I only have my personal laptop to develop and test, so on my end...it seems to work perfectly.

I guess I will have to download some other C++ compiler and read up on how to make it work on Linux. However, I am also very busy... so it may take me a while. And I have no Linux computer to test it with.
nesdoug.com -- blog/tutorial on programming for the NES

User avatar
schade
Posts: 3
Joined: Thu Oct 13, 2016 9:33 am

Re: Famitone Update

Post by schade » Mon Dec 19, 2016 4:16 am

It was just an information, not a reproach. I read the code and make something similar with Java.

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

Re: Famitone Update

Post by dougeff » Mon Dec 19, 2016 7:48 am

I've finally done a comparison between my edits of famitone2 and the full famitracker driver...I don't want to put actual stats down, because somebody will quote me, and later find out that my numbers are all wrong...etc...etc.

Cycles of CPU time per frame - about the same
Bytes of data - famitracker was slightly better (smaller data) [note, the original famitone2 might have done much better...depending on the song]
Bytes of code - famitone2 is MUCH smaller than the famitracker driver, which makes sense, because the famitracker driver has all the effects available
Bytes of RAM - famitone2 slightly better (especially ZP usage).

Anyway, given that these are roughly equivalent, I don't see any point in further development from my end. I haven't tested the famitracker driver version that Shiru just posted on his website, but I may try to use it for the ninja game, if it works as I expect.
nesdoug.com -- blog/tutorial on programming for the NES

User avatar
DRW
Posts: 1913
Joined: Sat Sep 07, 2013 2:59 pm

Re: Famitone Update

Post by DRW » Sat Dec 30, 2017 12:08 pm

schade wrote:yours didn't work on Linux (with Wine too, you used a C library specific to Window$, i didn't have the problem with Famitone 2 version)
Just remove the "stdafx.h". I don't know why it's in there at all.

Also, <conio.h>, which is also a non-standard library, was included by Shiru, even though it's not needed.

If you remove those, you should be able to compile it under Linux. (I haven't checked myself, though.)

P.S.: "Window$"? Seriously?
Available now: My game "City Trouble".
Sales website: https://megacatstudios.com/products/city-trouble
Gameplay: https://youtu.be/Eee0yurkIW4
Download website: http://www.denny-r-walter.de/city.htm

User avatar
bazza
Posts: 89
Joined: Fri Nov 24, 2017 1:36 pm
Location: Argentina
Contact:

Re: Famitone Update

Post by bazza » Sat Dec 30, 2017 12:46 pm

DRW wrote:
schade wrote:yours didn't work on Linux (with Wine too, you used a C library specific to Window$, i didn't have the problem with Famitone 2 version)
Just remove the "stdafx.h". I don't know why it's in there at all.

Also, <conio.h>, which is also a non-standard library, was included by Shiru, even though it's not needed.

If you remove those, you should be able to compile it under Linux. (I haven't checked myself, though.)

P.S.: "Window$"? Seriously?

GNU/Linux rock!

I use it with wine, lamentably

User avatar
schade
Posts: 3
Joined: Thu Oct 13, 2016 9:33 am

Re: Famitone Update

Post by schade » Sat Dec 30, 2017 1:12 pm

Thank you for your answers, i made my own converter in Java. It's work fine and i make it more verbose (Example it's said when pitch is out of range). Also like i said previously, i add some modifications to Famitone and it's work with Duty Envelope so i called it Schadetone because, it's Famitone but with my name... Anyway. I could put the code here then my project will be finish, but the comments and variables are in French. ;) Maybe i will make later my own music editor who can take in charge patterns with different lengths for size optimization.

PS : Yes, i hate Windows. LINUX POWWWWER !
Attachments
Screen Capture of the converter
Screen Capture of the converter

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

Re: Famitone Update

Post by dougeff » Sat Dec 30, 2017 2:44 pm

I'm looking at the source code today, coincidentally.

I'm going to try to debug the major problems with it. Sorry for being slow, but it's not easy to figure out what's wrong. I think I'm on the right track now. Maybe.
nesdoug.com -- blog/tutorial on programming for the NES

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

Re: Famitone Update

Post by dougeff » Sat Dec 30, 2017 9:25 pm

I was able to fix the major bug. Will repost link tomorrow.

(link removed)

EDIT.
 
nesdoug.com -- blog/tutorial on programming for the NES

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

Re: Famitone Update

Post by dougeff » Thu Jan 04, 2018 7:59 pm

Here's the bug-fixed version. (unofficial) Famitone 3.2. Source code included.

http://dl.dropboxusercontent.com/s/l6sa ... one3.2.zip

This should work exactly like the original famitone2 text2data, with volume column and all notes allowed.

Works with the latest version of nsf2data (v1.15 by Shiru 04'17). I haven't tested the asm code as much as I would have liked to, since the bug fix yesterday. The NESASM version was fully tested.
nesdoug.com -- blog/tutorial on programming for the NES

Xaser
Posts: 1
Joined: Sat Mar 03, 2018 8:08 am

Re: Famitone Update

Post by Xaser » Sat Mar 03, 2018 8:20 am

Hello I've just updated the code to make it cross platform. It was easy, I just had to remove the precompiled-header stdafx.h and also conio.h which provide none posix function like _stricomp, fortunately the dropin posix replacement is just strcasecmp.

Here's the code: https://pastebin.com/Yp0cUDzh. I think it should be on Github so we can trace update, and it's easier for anyone to use. What do you think ?
Attachments
famitone3.2-platform.zip
(115.89 KiB) Downloaded 196 times

Post Reply