Naming libraries

Discuss technical or other issues relating to programming the Nintendo Entertainment System, Famicom, or compatible systems.

Moderator: Moderators

User avatar
thefox
Posts: 3139
Joined: Mon Jan 03, 2005 10:36 am
Location: Tampere, Finland
Contact:

Re: Naming libraries

Post by thefox »

DRW wrote:But before he renamed it, it was called "Porno Tracker". What the fuck? What does that have to do with anything?
If you really want to know, the word "porno" was meant in the sense of "cool" (i.e. http://www.urbandictionary.com/define.p ... id=2367596). It's more of a Finnish thing though, one could say "aika pornot kengät" to mean "pretty cool shoes" (you wouldn't hear that from older people, though). That's also why it is (was) "porno tracker" and not "porn tracker"; "porno" is a Finnish word.

In addition, I had originally no plans to release the tracker, so it was just a funny (YMMV) internal codename.
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi
User avatar
DRW
Posts: 2070
Joined: Sat Sep 07, 2013 2:59 pm

Re: Naming libraries

Post by DRW »

O.k., looks like some of these names have more meaning than I thought.

@thefox:
One thing that I'd like to know about MUSE and MUSE Tracker:
Internally MUSE, like Musetracker, works at PAL 50 Hz update rate.

When NTSC_MODE flag is set with MUSE_setFlags, MUSE will skip sound
updates on every 6th frame, resulting in an update rate of 50 Hz
even on NTSC.
Music note frequencies are also adjusted, but sound
effect frequencies are not.
Why did you do this? Firstly, why do you use PAL as the master in the first place? And secondly, why is the NTSC version some hack (skipping sound output on every sixth frame)?

In my opinion, if there's any hack at all, then it should be applied to PAL, with NTSC being the native format. Because the NTSC NES is the original version. The PAL version is just some alteration. Almost all games were made for NTSC first and then converted for PAL. There are only a handful pure PAL games.

After all, this is the real soundtrack of "Super Mario Bros.":
http://www.youtube.com/watch?v=_9bB7r0M9kg
And not this:
http://www.youtube.com/watch?v=ulqS2JOGsb4

So, I never understood why people who write general purpose programs like an NES sound library use the PAL version as the master version just because they happen to come from a European country. The NTSC version is much more popular and it's the original machine.

My game will be an NTSC game because that's what I consider the "real" version of the console. Therefore, a library that uses PAL as the master and where NTSC is not implemented in an equal quality, but where NTSC uses the PAL version + a trick for compensation, this would be unacceptable for me. (For example, when I read this, I immediately wrote Shiru to ask how he does it in his library. Fortunately, FamiTone uses NTSC as the master. Otherwise I would have needed to find a new sound lib.)
Available now: My game "City Trouble".
Website: https://megacatstudios.com/products/city-trouble
Trailer: https://youtu.be/IYXpP59qSxA
Gameplay: https://youtu.be/Eee0yurkIW4
German Retro Gamer article: http://i67.tinypic.com/345o108.jpg
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Naming libraries

Post by tepples »

DRW wrote:There are only a handful pure PAL games.
As I understand it, MUSE was created for one of said handful: the demo High Hopes.
User avatar
thefox
Posts: 3139
Joined: Mon Jan 03, 2005 10:36 am
Location: Tampere, Finland
Contact:

Re: Naming libraries

Post by thefox »

DRW wrote:Why did you do this? Firstly, why do you use PAL as the master in the first place? And secondly, why is the NTSC version some hack (skipping sound output on every sixth frame)?
Again, mostly historic reasons. I primarily made the tracker to use it in a PAL demo (High Hopes) I was making at the time. (I only had a PAL NES back then, if I was making a demo nowadays I'd probably target NTSC.)

As for skipping, it seemed easier/less problematic to me to skip the update on NTSC rather than update twice per frame on PAL (I think NerdTracker II player does this.) Neither method is problem-free, they do cause some choppiness in the audio. There are other ways, but really it depends on what kind of music format is used. I think FamiTone does it by adjusting some kind of an internal tempo variable.
In my opinion, if there's any hack at all, then it should be applied to PAL, with NTSC being the native format. Because the NTSC NES is the original version. The PAL version is just some alteration. Almost all games were made for NTSC first and then converted for PAL. There are only a handful pure PAL games.
I actually did add an NTSC format export option into Musetracker but never released it. Basically it will export the audio with NTSC timing, so the music plays back at the correct speed without the NTSC flag.

For any future games I'm planning to just re-export the data for PAL/NTSC separately and not bother with any automatic adjustments.
tepples wrote:
DRW wrote:There are only a handful pure PAL games.
As I understand it, MUSE was created for one of said handful: the demo High Hopes.
High Hopes actually didn't use MUSE, it used another player I wrote at the time, but yeah that is the reason for it being PAL-oriented.
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi
User avatar
DRW
Posts: 2070
Joined: Sat Sep 07, 2013 2:59 pm

Re: Naming libraries

Post by DRW »

thefox wrote:As for skipping, it seemed easier/less problematic to me to skip the update on NTSC rather than update twice per frame on PAL (I think NerdTracker II player does this.) Neither method is problem-free, they do cause some choppiness in the audio.
If I did such a program, I would simply let the user decide whether he wants to use NTSC or PAL. I wouldn't bother to do an all-purpose version at all.
Maybe as an additional feature. But for a start, the user would have to choose manually: PAL or NTSC. And then the song would be saved in this format natively. No tweaking necessary.
If the user wants to use the same file for both formats, then such an automatic on-the-fly tweaking could be included as an additional option. But the default value would be that the program saves the song in one format and doesn't care for instant compatibility with the other format.

I assume most ROMs will be in one format anyway, so, the fact that the tracker can record each format natively is probably more important than the fact that the tracker produces one file that can be used unaltered in bot formats.
thefox wrote:I think FamiTone does it by adjusting some kind of an internal tempo variable.
FamiTone has an option for PAL or NTSC, so I assume it doesn't do adjusting at all and just converts the absolute time values in milliseconds back into either 50 or 60 frames per second when the file is saved. But I'm not sure.
Available now: My game "City Trouble".
Website: https://megacatstudios.com/products/city-trouble
Trailer: https://youtu.be/IYXpP59qSxA
Gameplay: https://youtu.be/Eee0yurkIW4
German Retro Gamer article: http://i67.tinypic.com/345o108.jpg
User avatar
thefox
Posts: 3139
Joined: Mon Jan 03, 2005 10:36 am
Location: Tampere, Finland
Contact:

Re: Naming libraries

Post by thefox »

DRW wrote:
thefox wrote:I think FamiTone does it by adjusting some kind of an internal tempo variable.
FamiTone has an option for PAL or NTSC, so I assume it doesn't do adjusting at all and just converts the absolute time values in milliseconds back into either 50 or 60 frames per second when the file is saved. But I'm not sure.
I was talking about FamiTone2, actually. There's a switch in the init routine for PAL/NTSC.
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi
User avatar
DRW
Posts: 2070
Joined: Sat Sep 07, 2013 2:59 pm

Re: Naming libraries

Post by DRW »

Oh, right, I was confusing Tone with Tracker.

Yes, it has a switch to adjust it. However, in this case, NTSC is the native format that doesn't need any adjustment with PAL being the converted version. Which is fine for me since my game is NTSC-only anyway.
Available now: My game "City Trouble".
Website: https://megacatstudios.com/products/city-trouble
Trailer: https://youtu.be/IYXpP59qSxA
Gameplay: https://youtu.be/Eee0yurkIW4
German Retro Gamer article: http://i67.tinypic.com/345o108.jpg
Post Reply