Login:
Menu:
Post: Author:
FamiTracker > General > FamiTracker Talk > Mr_Master's bunch of questions Owner: Mr_Master New post
Page 1 of 3 Sort: Goto Page: [1] [2] [3] Next >>
Mr_Master's bunch of questions Posted: 2013-01-28 17:58  (Last Edited: 2013-01-28 17:59) Reply | Quote
Mr_Master



Member for: 4931 days
Status: Offline

#43841
Here's my bunch of questions that have haunted my broken mind at given times. There might be more of them that aren't included, so in that case I'll post them if I get them again.

Not all of these are related to FamiTracker, nor the NES/Famicom hardware or emulation. Some are reasonable, some are general interest, some are hard to answer, some are a little crazy, and some are plain off the wall ideas.

It's not necessary that only one person answers everything, so if you can answer at least one of these questions, except for the last one, I'd be very grateful. Still I don't discourage people not to answer what has already been answered. This could be better, since not all people think or know the same. Well, here we go:


1.- Is there any way I can emulate a DPCM sample using Zxx effect, even if it needs overclocking? How fast do they update?

2.- Why FamiTracker won't have Raw PCM support?

3.- I have never really understood why DPCM usage or Delta-counter position affects Triangle and Noise channels. Why is it?

4.- What is exactly a Band-limiting library, like the one FamiTracker uses?

5.- Is it true that the NES can do smoothier hardware volume sweeps instead of the default ones?

6.- What determines if an NSF file is linear or bankswitched? What is the difference between both of them?

7.- How many volume ranges does the VRC6 Sawtooth have? If it's a 5-bit value in FamiTracker, but in real hardware it's 6-bit, what's the difference? Or am I wrong?

8.- Why the VRC6 Sawtooth sounds different from other sawtooths, like FDS, N163, and others, specially at mid-range values, like C-3 to B-4?

9.- What makes the MMC5 so special? I have certainly not found anything special within it, except for that obscure PCM channel which FamiTracker doesn't have. Let's say, VRC6, the chip I most love, has many duty settings for square waves and a crazy sawtooth. This chip, in my opinion, makes MMC5 pointless. N163 has customizable waves, but with bad sound quality, which might make the MMC5 better, but since N163 can have up to eight channels, I'd say ummmmmm... VRC7 has that lovely FM synthesis that I bet we all like. FDS has customizable waves too, and a simple frequency modulator, but only one channel. And 5B can do things I don't know, because I haven't had the chance to experiment with it. I have only played Gimmick! So, MMC5 really doesn't attract me. I can do better things with other chips. But, is there anything special I still haven't noticed, other than the PCM channel?

10.- What makes the Triangle wave have a very subtle high pitched whine when you play it at certain frequencies(most lower ones, for example from C-2 to C-4 or higher, or perhaps lower)?

11.- Is FamiTracker able to emulate what a hardware sweep does, but only entering notes manually?

12.- Is it possible or feasible to make a synthesizer "talk" by doing some very complex FM synthesis?

13.- The SNES uses ADPCM samples for sound synthesis. What are those, what differences do they have with other kinds of PCM, and how or where can I get some?

14.- Does anyone know what method does the PlayStation use to generate sound?

15.- What are the Gameboy Advance DirectSound channels, and what are they capable of?

16.- Does anyone know of a company, association, group, or whatever that exists under the name MasterSoft? Because I'm planning to make a fake software creation company once I learn programming(like JCOM Computer Productions). For example, there's a real one of them named SunSoft, where they make games and maybe something else. Mine would be called MasterSoft. At first I'd be fake, nothing big, but when it gets bigger I could create a real company under that name. If it already exists, I would say DAMN!

17.- As far as I know, DPCM has two meanings: Delta Pulse-Code Modulation, and Differencial Pulse-Code Modulation. What is the difference between them, and what does the second one do?

18.- Why do we always receive the worst when it comes to games? I mean, in Japan they have those nifty expansion chips when in the rest of the world we have to be content or screw ourselves with 2A03 only. Plus, some super games(I don't know which ones, or if this is even true) are only available there. This might not be as bad as I posed it, but sometimes I get angry when I think about it.

19.- Isn't Nintendulator supposed to be the most accurate NES/Famicom emulator? In that case, in the example I put some days ago in the 0.4.1 buglist(the one with those high-pitched notes), why the super-high notes in the VRC6 Sawtooth and Pulse channels sound all distorted? Was the Famicom like that? Also, is it capable of emulating the full capabilities of some chips, like N163 or S5B?

20.- Is that me, or the Sunsoft 5B chip runs faster than the NES channels? Take both versions of Gimmick!(The japanese one, and the european one, renamed Mr. Gimmick) and the star sound effect(when you are going to attack). The japanese one seems to have that sound effect playing faster than the european one.

21.- So I noticed that the music in Mr. Gimmick just has the 5B channels chopped off. They didn't even bother to adapt it to 5 channels, or I didn't notice. If the first point is true, are them in Sunsoft super lazy, or does this have a good reason to be like that? Is it even possible to answer this in a proper way?

22.- Oh, by the way, I'm sorry to ask this, but when are we going to have Sunsoft 5B expansion support in FamiTracker? How long it might take for the next version to be released? jsr, if you read this, please don't get angry, I don't intend to do that.

23.- Was it too much? Did this post blow your mind? Am I mad? Will I be awarded for longest post ever in this forum, or I am not so close?

Well, phewww, that was too much I think, and maybe I went too far with some questions, but as long as someone can answer any, I'd be happy, and if all get answered, I'd be superhappy. It's too bad, maybe, that all I can do is to say thanks to anyone who helps, because I feel this might be way too much. Perhaps something little would be good. So here's the deal: the first one who reasonably answers at least six of these will win the prize.

RE: Mr_Master's bunch of questions Posted: 2013-01-28 21:06  (Last Edited: 2013-01-28 21:57) Reply | Quote
jrlepage
Moderator

Avatar

Member for: 6392 days
Location: Canada
Status: Offline

#43848


_______________________
Follow me on Twitter.
I record (some) NSFs on hardware. Feel free to request a hardware render.
RE: Mr_Master's bunch of questions Posted: 2013-01-28 21:20  (Last Edited: 2013-01-28 22:22) Reply | Quote
rainwarrior

Avatar

Member for: 5560 days
Location: Canada
Status: Offline

#43850
Edit: looks like jrlepage already answered some while I was typing, so there are repeats here.


Mr_Master wrote:
1.- Is there any way I can emulate a DPCM sample using Zxx effect, even if it needs overclocking? How fast do they update?


Zxx would be outputting a PCM sample, though DPCM is decoded to PCM on playback so I suppose you -could- play a DPCM through it if you want. Famitracker can set the engine speed a lot higher than 60hz, but on real hardware it's not really going to go fast enough for decent PCM sampling. Maybe only about 400hz.

Mr_Master wrote:
2.- Why FamiTracker won't have Raw PCM support?


Would require a complete rewrite of the NSF driver in a way that sacrifices code maintainability and efficiency for the sake of PCM, like MuseTracker does.

Mr_Master wrote:
3.- I have never really understood why DPCM usage or Delta-counter position affects Triangle and Noise channels. Why is it?


These three things share the same output DAC (digital to analog converter). Unfortunately the NES' DAC is not linear, but has a curve so that lower values come out farther (more relative volume) and higher values come out closer together (less relative volume), so the louder overall the channel gets, the less relative volume any individual channel gets on this DAC.

Mr_Master wrote:
4.- What is exactly a Band-limiting library, like the one FamiTracker uses?


It's a technique for generating simple waveform sounds with aliasing minimized. The particular library is Blargg's, but unfortunately the website it currently down. Whenever it comes back up, it has a good explanation of how it works.

Mr_Master wrote:
5.- Is it true that the NES can do smoothier hardware volume sweeps instead of the default ones?


Not "sweeps", but ramp envelopes. Yes, the NES has a hardware envelope that ramps from 15 down to 0. This can count down at 240hz instead of 60hz, so at its fastest speeds it has slightly more resolution than Famitracker's instrument volume macros. The difference is subtle, and also requires you to give up volume control of the channel (it now has to go from 15 to 0, envelope has no other control except speed), so it was not considered useful enough to implement in Famitracker.

Mr_Master wrote:
6.- What determines if an NSF file is linear or bankswitched? What is the difference between both of them?


The NES can only see 32k of ROM at once. Anything larger has to be swapped in and out of that 32k, piece by piece. These pieces are called banks. So, the difference is bankswitching allows NSFs larger than 32k.

Mr_Master wrote:
7.- How many volume ranges does the VRC6 Sawtooth have? If it's a 5-bit value in FamiTracker, but in real hardware it's 6-bit, what's the difference? Or am I wrong?


Yes there is an extra bit. The difference is a little bit of extra smoothness when fading.

Mr_Master wrote:
8.- Why the VRC6 Sawtooth sounds different from other sawtooths, like FDS, N163, and others, specially at mid-range values, like C-3 to B-4?


It's not a smooth sawtooth. It only has 7 steps in it.

Mr_Master wrote:
9.- What makes the MMC5 so special? I have certainly not found anything special within it, except for that obscure PCM channel which FamiTracker doesn't have. Let's say, VRC6, the chip I most love, has many duty settings for square waves and a crazy sawtooth. This chip, in my opinion, makes MMC5 pointless. N163 has customizable waves, but with bad sound quality, which might make the MMC5 better, but since N163 can have up to eight channels, I'd say ummmmmm... VRC7 has that lovely FM synthesis that I bet we all like. FDS has customizable waves too, and a simple frequency modulator, but only one channel. And 5B can do things I don't know, because I haven't had the chance to experiment with it. I have only played Gimmick! So, MMC5 really doesn't attract me. I can do better things with other chips. But, is there anything special I still haven't noticed, other than the PCM channel?


MMC5 is fairly unpopular among NSF musicians. It's a special chip with a lot of features that make it a pain to implement, but most of those features do not have to do with the music.

The PCM channel is IMO useless, since the only advantage that has over the existing PCM output is it is 8-bit instead of 7-bit. It was only used in one game I know of, and the resulting samples are less than spectacular.

For making music, the nice thing about the MMC5 is the squares are the same as 2A03 squares, so you can share instruments, and feel like the sound is matching well.

Mr_Master wrote:
10.- What makes the Triangle wave have a very subtle high pitched whine when you play it at certain frequencies(most lower ones, for example from C-2 to C-4 or higher, or perhaps lower)?


It only has 16 steps. This is similar to the VRC6 saw you asked about above.

Mr_Master wrote:
11.- Is FamiTracker able to emulate what a hardware sweep does, but only entering notes manually?


Hardware sweeps are available with the Hxx/Ixx effects.

Posted: 2013-01-28 21:20  (Last Edited: 2013-01-28 21:25) Reply | Quote
rainwarrior

Avatar

Member for: 5560 days
Location: Canada
Status: Offline

#43851
Mr_Master wrote:
12.- Is it possible or feasible to make a synthesizer "talk" by doing some very complex FM synthesis?


Yes.

Mr_Master wrote:
13.- The SNES uses ADPCM samples for sound synthesis. What are those, what differences do they have with other kinds of PCM, and how or where can I get some?


It does not have a sound advantage over PCM. ADPCM is a compression technique that tries to represent the same PCM signal with less information-- this often involves throwing information away. The SNES ADPCM is better than the NES' 1-bit DPCM, but it is not as good as PCM, except in terms of making smaller samples.

Mr_Master wrote:
14.- Does anyone know what method does the PlayStation use to generate sound?


Some games use CD Audio. It also has an ADPCM sampler sort of like the SNES' but a lot less limited (e.g. more memory/channels, better output).

Mr_Master wrote:
15.- What are the Gameboy Advance DirectSound channels, and what are they capable of?


GBA games mostly do software mixing of audio, so they're capable of just about anything really. Most games do something akin to MOD music.

Mr_Master wrote:
17.- As far as I know, DPCM has two meanings: Delta Pulse-Code Modulation, and Differencial Pulse-Code Modulation. What is the difference between them, and what does the second one do?


These are synonyms.

Mr_Master wrote:
18.- Why do we always receive the worst when it comes to games? I mean, in Japan they have those nifty expansion chips when in the rest of the world we have to be content or screw ourselves with 2A03 only. Plus, some super games(I don't know which ones, or if this is even true) are only available there. This might not be as bad as I posed it, but sometimes I get angry when I think
about it.


The NES was designed with expansion in mind (there is a port on the bottom of it for this), but in general I do not think that game publishers in Japan found that the extra cost of these expanded audio carts was justified by the game sales (games without expansions were selling just as well). As a result there are really very few games which use audio expansion (only 3 for VRC6, 2 for MMC5, 1 for VRC7 and 5B). The FDS was considered somewhat of a failure in Japan, and its best selling games (e.g. Zelda, Metroid, Castlevania) were ported to cartridge (even in Japan) so their sales would not be limited by the FDS' poor market penetration.

The reason there is more NES stuff in Japan is that there was more development being done there for this platform. So, many things got tried there that didn't sell well enough to justify translating and marketing in the rest of the world. Some of these things were very good, but consider that it probably didn't manage to stand out as a good seller at the time. Even so, this was not a one way street. There are many examples of things that appeared on the NES but never for Famicom. Here are two examples:

1. The Power Glove is an NES hardware expansion that never appeared in Japan.

2. Startropics is a great NES game that never appeared in Japan, despite being developed there.

If you want to look at other hardware markets, like say C64, there is plenty of software produced for that platform that was never marketed to Japan. It's just a matter of where the software was being developed, and what market it gets tested in first. Usually only hits got the attention needed for international release.

Mr_Master wrote:
19.- Isn't Nintendulator supposed to be the most accurate NES/Famicom emulator? In that case, in the example I put some days ago in the 0.4.1 buglist(the one with those high-pitched notes), why the super-high notes in the VRC6 Sawtooth and Pulse channels sound all distorted? Was the Famicom like that? Also, is it capable of emulating the full capabilities of some chips, like N163 or S5B?


Nintendulator is not necessarily the most accurate in every respect, though generally it's the best CPU/PPU emulation. I suspect it has decent expansion audio implementations, but it is not leading edge in that regard.

Mr_Master wrote:
20.- Is that me, or the Sunsoft 5B chip runs faster than the NES channels? Take both versions of Gimmick!(The japanese one, and the european one, renamed Mr. Gimmick) and the star sound effect(when you are going to attack). The japanese one seems to have that sound effect playing faster than the european one.


No, the PAL game runs at 50hz and the NTSC game runs faster at 60hz. This has nothing to do with the 5B.

Mr_Master wrote:
21.- So I noticed that the music in Mr. Gimmick just has the 5B channels chopped off. They didn't even bother to adapt it to 5 channels, or I didn't notice. If the first point is true, are them in Sunsoft super lazy, or does this have a good reason to be like that? Is it even possible to answer this in a proper way?


They weren't lazy about it at all. If you compare the two soundtracks you will see that the PAL version was very carefully reworked to fit into the 5 channels of the NES.

Mr_Master wrote:
23.- Was it too much? Did this post blow your mind? Am I mad? Will I be awarded for longest post ever in this forum, or I am not so close?


Apparently my reply broke the 8000 character limit. I didn't know there was an 8000 character limit. That's why I made two posts. :P

Posted: 2013-01-28 21:53 Reply | Quote
jrlepage
Moderator

Avatar

Member for: 6392 days
Location: Canada
Status: Offline

#43852
Looks like I could've just refrained from answering at all, then.

_______________________
Follow me on Twitter.
I record (some) NSFs on hardware. Feel free to request a hardware render.
Posted: 2013-01-29 00:03  (Last Edited: 2013-01-29 00:21) Reply | Quote
Mr_Master



Member for: 4931 days
Status: Offline

#43855
But that's okay jrlepage because both of you have won a banana for your help. It's in the attachments. Just get a printer, print it and enjoy it!

Stop kidding, thanks a lot, but once again I've come up with some little questions:

1.- It's useful to know about that thing about the Zxx effect, but, what isn't very clear yet is the update frequency of the samples or the delta-counter or whatever.

2.- It's okay that FamiTracker doesn't have raw PCM support, I was just curious, because I was never interested in having it. I think it would ruin the magic in making NES music.

9.- Well, I've never planned on using MMC5 because I don't find it special, but the fact of having its squares the same as 2A03's ones, makes it possible to make smoothier songs. VRC6 is for making more powerful things, or if you need the duty cycle ranges and/or the sawtooth I think.
rainwarrior: Which game is it, the one that uses the PCM channel?

11.- Neither of you understood the idea behind that question. I already knew about the Hxy and Ixy effects, but I was wondering if the same effect they produce can be achieved through manual writings, I mean, insert a note, place a Pxx effect, repeat the same process if you need, or something like that.

12.- Thanks jrlepage for the example. I'll check it out later.

13 to 15.- I now understand it better. Thanks rainwarrior.

16.- That was really an off the wall idea.

18.- It's okay if it has a good reason. By the way, what are the exact games which used expansion sound, excluding FDS and perhaps N163? I already know of Akumajou Densetsu(VRC6), Just Breed(MMC5), Lagrange Point(VRC7), and Gimmick!(S5B). And what is the Power Glove?

20.- --Insert dumb sounding voice effect here-- I forgot at that moment about the clock rate frequencies differences.

21.- I'll download the european NSF to check that out.

22.- You made a mistake of interdimensional proportions jrlepage. Putting that image just has gotten me more excited about it, and now I really want it in FamiTracker. I already know of a beta version which is wandering around here, which has some bug fixes.

23.- I think I'm in love with you jrlepage(I'm sort of joking, so don't get scared yet). I just love how you always reply to my posts when there's something I don't know, or how you have succeeded in making me behave better since my catastrofic joining. Thanks a lot. Plus, rainwarrior, I think I haven't thanked you enough for your contribution. Your posts have made me understand some things better.

And as said before, enjoy your banana!

---I think I could use them to get more information about some hardware specs, but I'm not so badassed at the moment.---

EDIT: jrlepage, that tune is amazing, pretty catchy, but about the FDS, I can't determine whether it tries to say something, or if it's just a babble, although it sounds crazy. Must have been pretty worked out. Is it usual to see songs like that one in FamiCompo?


Attachments:
banana.jpg (20 Kb)
Posted: 2013-01-29 00:28  (Last Edited: 2013-01-29 00:40) Reply | Quote
jsr
Administrator

Avatar

Member for: 7334 days
Location: Sweden
Status: Offline

#43856
I think most questions was well-answered, so I'll just add some small clarifications:

Mr_Master wrote:
4.- What is exactly a Band-limiting library, like the one FamiTracker uses?

That library is used to generate waves without aliasing. It prevents the problem you talked about here.

Mr_Master wrote:
9.- What makes the MMC5 so special?

MMC5 was actually the most special chip Nintendo made for the NES/famicom: it has extra video memory, hardware multiplier and lots of other stuff. The extra sound channels was just a small part of that chip.

Mr_Master wrote:
22.- Oh, by the way, I'm sorry to ask this, but when are we going to have Sunsoft 5B expansion support in FamiTracker? How long it might take for the next version to be released? jsr, if you read this, please don't get angry, I don't intend to do that.

Don't worry. Though all I can tell is that it won't be in the next version, perhaps the one after that (or not too far from that).
The reason Sunsoft audio was saved to last is because it's a very common chip (YM2149) that have several music editors already.


Mr_Master wrote:
1.- It's useful to know about that thing about the Zxx effect, but, what isn't very clear yet is the update frequency of the samples or the delta-counter or whatever.

You can find a table in the help files about the DPCM channel. The highest frequency (pitch 15) is 33 kHz and lowest (pitch 0) is 4 kHz.

Mr_Master wrote:
11.- Neither of you understood the idea behind that question. I already knew about the Hxy and Ixy effects, but I was wondering if the same effect they produce can be achieved through manual writings, I mean, insert a note, place a Pxx effect, repeat the same process if you need, or something like that.

It is possible, but hardware sweeps runs at 120 Hz so you'd need to increase the refresh rate to 120 Hz.

_______________________
Programmer and developer
Posted: 2013-01-29 01:03  (Last Edited: 2013-01-29 01:08) Reply | Quote
Mr_Master



Member for: 4931 days
Status: Offline

#43858
Okay, thanks jsr.
jsr wrote:
You can find a table in the help files about the DPCM channel. The highest frequency (pitch 15) is 33 kHz and lowest (pitch 0) is 4 kHz.

Does this mean that if I rarely need to emulate a DPCM sample using Zxx effect, I would need to overclock to an insane frame rate?

Out of that, I wasn't able to find an NSF file for Mr. Gimmick. Does it exist already? In that case, where could it be? Or should I rip it myself?

BIG EDIT PLEASE READ: Time to report a bug jsr, even if this is not the place. I had a glance at the newest beta of 0.4.2 and found that the DPCM tab now suffers from the disappearing info syndrome. Since you are at it, try to find out what causes this.

Posted: 2013-01-29 01:05  (Last Edited: 2013-01-29 01:06) Reply | Quote
jrlepage
Moderator

Avatar

Member for: 6392 days
Location: Canada
Status: Offline

#43859
I don't think there exists an NSF rip of the PAL Mr. Gimmick, no. But the ROM has a sound test, if you want to check that out.

_______________________
Follow me on Twitter.
I record (some) NSFs on hardware. Feel free to request a hardware render.
Posted: 2013-01-29 01:09 Reply | Quote
Mr_Master



Member for: 4931 days
Status: Offline

#43860
Really? Where is it?

Posted: 2013-01-29 02:18 Reply | Quote
rainwarrior

Avatar

Member for: 5560 days
Location: Canada
Status: Offline

#43861
I ripped the PAL Mr. Gimmick a few months ago: http://www.rainwarrior.ca/projects/nes/Mr. Gimmick (Europe).nsf

The Power Glove was a failed hardware expansion for the NES. Probably AVGN can explain it best: http://www.youtube.com/watch?v=MYDuy7wM8Gk

Yes, you could theoretically duplicate the effect of Hxx or Ixx by manually setting the pitch with arpeggio+pitch macro, notes+Pxx, or whatever else you like, but the one thing you cannot do without the hardware sweep is prevent a click sound when certain pitch boundaries are transitioned. (Hardware sweep is also conveniently logarithmic, but you can duplicate that if you're careful enough.)

At the fastest speed (H0x/I0x), hardware sweep acts at 120hz, but you can set the engine speed to that if you want to do this. At other settings speeds it is slower intervals (H1x = 60Hz, H2x = 40Hz, H3x = 30Hz, etc.).

The only game that used MMC5 PCM was Shin 4 Nin Uchi Mahjong. I forget which emulators actually emulate MMC5 PCM, so I don't have a recommendation.

If you want lists of games that use expansion audio, try downloading an NSF archive: http://nsf.joshw.info/ Usually the expansion is the filename (though some of them just use the chip without the expansion sound; you have to check to them to verify whether they actually use it for sound). Someday when I'm less tired I might make a comprehensive list-- but I'd put it in another thread. I don't want to bury that information here.

If you want info on DPCM playback rates, it is all here: http://wiki.nesdev.com/w/index.php/APU_DMC#Pitch_table

Posted: 2013-01-29 03:07 Reply | Quote
Mr_Master



Member for: 4931 days
Status: Offline

#43865
Thanks rainwarrior. I will compare both NSFs of Gimmick!, but I will see the rest of this later.

Posted: 2013-01-29 03:32 Reply | Quote
rainwarrior

Avatar

Member for: 5560 days
Location: Canada
Status: Offline

#43868
Here, I put up a completish list of expansion audio games: http://forums.nesdev.com/viewtopic.php?f=6&t=9757

Posted: 2013-01-29 18:18 Reply | Quote
Xyz_39808

Avatar

Member for: 5590 days
Location: South Texas
Status: Offline

#43880


Posted: 2013-01-29 21:34 Reply | Quote
Mr_Master



Member for: 4931 days
Status: Offline

#43883


Page 1 of 3 Sort: Goto Page: [1] [2] [3] Next >>