Offline
York, PA

I understand that I can use Famitracker to create music that can be played using NES/Famicom hardware.

- What steps can I take to make sure that the music is more usable for the programmer(s) to implement into their development?
- Are there size limits to individual tracks? I know that FamiTracker allows for limitless frames, but how much space can be used on a NES game to be used for audio?
- How do I sort out sound effects? Should they be separate songs in FamiTracker or in one song? Is there something I can do in FamiTracker that would allow for the sound effect to return back to the background music after the sound effect is finished playing?
- Are there specific Song Settings I should use (e.g. Speed, Tempo, Rows, Frames)? I understand that the NES does not build its tempo on BPM but on some kind of "clock" (whatever that means; my knowledge of NES hardware/software is limited). Would changing the Speed or Tempo in the settings affect how the game is programmed? This includes the Fxy function.
- Expansion audio (e.g. VRC6, FDS, Namco 163) can only be used on Famicom games, right? If the ROM of a game with expansion audio implemented were to be played on the 2A03-only NES, would the expansion audio simply not play or would that lead to complications? I presume that any music with DPCM is playable on the 2A03, no expansion needed.
- How should I export the music data to the programmer? I presume BIN and ASM would work.

Thank you for your help!

Offline
NC in the US of America

I know i read something somewhere that answered most of your questions, but I have no idea where

Offline
York, PA

Hahaha, lovely. I asked on assemblergames.com, so hopefully they will be able to answer some questions.

Offline
Michigan

I also read something, somewhere. There is a tracker I found once that exports directly to an include file for assembly. I don't track, so I lost it.

Offline
Wuppertal, Germany

Hey!

If you really want to make music for NES Games I can give you some tips.
Some things won't be 100% correct because I don't do NES myself, but I do some music for the Game Boy that can be used in games.

So maybe you'll find even better tips (at assemblergames or) in the nesdev.com -> wiki!!!

- First, make small songs. Not bigger than 16K, because that should be the size of one single memory bank. (Correct me if I'm wrong!) But better would be for many people, all songs together not bigger than 16K/32K or 64K. Cause people often like to have much space for the rest of the code. Most people use loops in games and no full songs. But both is possible.
- Can't answer that question, depends on how big the code of the game is. Usally biggest size for NES ROM is max 512K, even if there was one cart once that had 1 Megabyte ROM (Dragon Quest 4).
- Usally for sound effects you have to make a song that just contains instruments/fx. That means no song structure at all.
- Don't know really, but I don't think speed settings (or commands) could be a problem. But make sure not make some extra channels/voices. Always consider which channels a real NES uses, of course.
- I have no idea, sorry.
- FamiTracker can export text files. That's pretty much perfect. If you don't want to use Famitracker there is a lot of other music software around. Go here -> http://nesdev.com/ or http://nesdev.com/#PCSound


PS: I saw that you even asked about Game Boy at assemblergames.
If you want to know more about that, just let me know. I've much more knowledge in this case.

Offline
Davie, Florida
Tronimal wrote:

Usally biggest size for NES ROM is max 512K, even if there was one cart once that had 1 Megabyte ROM (Dragon Quest 4).

It's 512k and doesn't even have a CHR ROM.

Metal Slader Glory is the only game that has a 1MB ROM and it's MMC5 (not MMC1 like DQIV). Sorry, I had to point that out.

In regards to the expansion audio, if you were to make a game with expansion audio and play it on a stock NES, it simply wouldn't play. Remember that the MMC5 is in many western NES games, and if you were to connect the audio path, nothing will play. Those registers are only used for audio and totally isolated from everything else.

Last edited by Im_A_Track_Man (Jan 31, 2016 6:57 am)

Offline
Wuppertal, Germany
Im_A_Track_Man wrote:

It's 512k and doesn't even have a CHR ROM.

Metal Slader Glory is the only game that has a 1MB ROM and it's MMC5 (not MMC1 like DQIV). Sorry, I had to point that out.

In regards to the expansion audio, if you were to make a game with expansion audio and play it on a stock NES, it simply wouldn't play. Remember that the MMC5 is in many western NES games, and if you were to connect the audio path, nothing will play. Those registers are only used for audio and totally isolated from everything else.

Thanks for that additional information! smile

(As I wrote above, I'm not 100% sure when it comes to the NES because I don't use it myself.
But I thought my little knowledge could help a bit, nonetheless.)