https://nicole.express/2021/music-for-the-whole-family.html Nicole Express [ ] All Posts Games @ itch.io Sound of the 2C33: The Famicom Disk System Nov 12, 2021 Recently, I attended the 2021 Retro World Expo in Hartford, Connecticut; I had a great time overall. One panel I enjoyed was hosted by the XVGM podcast about the Famicom Disk System, and how sound was recomposed going from the FDS to the western NES, which didn't have the same sound capability. It was a really interesting panel focusing on the composition side, which made me want to dig into the technical side a bit more. Let's do that now. Please set disk card The Family Computer Disk System was an add-on released by Nintendo in Japan in 1986, and never anywhere else. It added 32kiB of program RAM, 8kiB of video RAM, an 8kiB BIOS ROM, and most importantly, the ability to use 128kiB dual-sided floppy disks. It also made the Nintendo Famicom from an open platform into a proprietary one controlled by Nintendo, like the NES was in the West and how nearly all subsequent consoles would be, but enough about that. The Famicom Disk System disk drive, showing the logo The Famicom Disk System has a special place in my heart; learning about it fascinated me as a child, and probably led to my later interest in video games and retro technology. The Sharp Twin Famicom that still sits in my living room was the first import console I ever bought. It might surprise you that it doesn't show up on this blog very often, then. The Famicom Disk System full stack So today let's fix that by talking about one special trick the Famicom Disk System had up its sleeve: its audio channel. The Famicom Disk System RAM adapter inside, showing the chips, most notably the 2C33 That audio channel comes from the Ricoh 2C33, the large dense IC in the upper right. (This is the RAM adapter, the part of the Famicom Disk System that plugs directly into the cartridge slot) This doesn't just handle audio output; it's basically a large all-purpose IC with a great many functions. You can check out the pinout on NESdev if you're interested. But even though we know where the sound comes from, the more important question is: what does it sound like? Irule, Yourule, we all rule for Hyrule The title screen of the Famicom Disk System version of Zelda 1 Let's listen to a particularly famous track, from the obscure Disk System game THE HYRULE FANTASY: Legend of Zeruda. (Did I transcribe that right?) Pay particularly close attention to the sound of the gongs, and try to ignore the ground loop hum. Your browser does not support the audio element. There's an even better way to tell this. See, that above capture was not from the Famicom I pictured above; it was from my Sharp Twin Famicom. (So the ground loop is probably somewhere in the living room maze of wires, great) Why didn't I use the Famicom above? It has a "stereo mod"; this takes the two audio outputs from the 2A03 and bypasses the internal mixer, sending them to different sides. I've used this before when talking about Super Pitfall's music, for example. Unfortunately, the designers of this mod presumably designed it for an NES, so it doesn't take expansion audio from the cartridge slot. That, however, makes it perfect for a comparison. We can hear the sound using only the 2A03. Your browser does not support the audio element. So you might have noticed two things: 1. The music without the extra sound channel is not the same as the later US release. But that's what the XVGM podcast panel was about, so we won't go into that here. 2. The instruments missing in the song are the most complex. What we have are simple waves; square, triangle, noise. But things like the gong and the lead are all the FDS channel. Originally, Koji Kondo wanted to use Maurice Ravel's Bolero as the title screen music. However, it was published in 1929, just late enough to be under the perpetual "Mickey Mouse" copyright of the era, so it was replaced with a remix of the overworld theme. Sadly, the Bolero remix is not present in the leaked prototype of the game, and may have never made it into a build. How do chiptune A square wave When we talk about sound generated by computers, the most primitive sound is probably the square wave; a simple wave that spends some time at the highest point, then the same amount of time at the lowest point. If you can adjust how much time it spends, changing the width, it's often called a pulse wave. This is all pretty simplified. The Famicom or NES can do two pulse wave channels. A triangle wave A lot of the uniqueness of the Famicom's sound comes from it having a triangle wave. This is an actual recording of a triangle wave from a Famicom (from Super Pitfall, actually), and you can see that it's a bit jagged, but it's close enough to still be a triangle. The last channel on the Famicom is noise, which is, noise. Pretty useful for percussion. (There's also PCM samples, but that's a can of worms that we don't need to get into and was rarely used on the Disk System due to space concerns) By comparison to some other systems: the SN76489 we talked about in the Master System and the Sega System 1 can only do pulse waves. Same for the AY-3-8910 in the Mockingboard. The Commodore 64's SID, notorious for punching above its weight, can do pulse, triangle, and sawtooth waves, along with sophisticated filters. These all share the same basic concept, though: constructing more complex sounds out of simple base waves. The Famicom Disk System offers something totally different: wavetable synthesis. Wavetable Synthesis I first encountered wavetable synthesis when writing the music for Aspect Legend. While it's a Javascript game, I designed it to (more or less) fit the limitations of the Nintendo Game Boy, and that included using the DefleMask tracker. (Unfortunately, since writing that, the tracker is now paid; it was free at the time) The Gameboy sound chip features four audio channels. Like the NES, it has two pulse wave channels and a noise channel. Instead of the triangle wave, though, it features a single channel of wavetable synthesis. Let's take a look. A DefleMask window This is Tapenade, the song played in the trailer video I made. It uses only one wave, shown above; it's sort-of a rounded pulse wave, somewhere between a pulse and a sine. This gives the backing notes what I thought of as a softer, more mysterious tone. In the game, this plays during a final boss fight that never happens. But this is, in a sense, all a wavetable synthesis is. It's very similar to a sample, but your sample length is highly limited. A Gameboy wave is limited to, at most, 32 values. (17 in the sample above) Plus, those values are limited to a 4-bit resolution. If you want to hear more about some of the fun limitations of trying to use the Gameboy's wave channel to play back samples, I recommend this blog post by Eevee. Let's take a look at some video game consoles using wavetable synthesis: Console Release Number of Wavetable Resolution year wavetable channels length Nintendo Gameboy 1990 1 32 4-bit NEC PC Engine 1987 6 32 5-bit Nintendo Famicom 1986 1 64 8-bit Disk System The Famicom Disk System might lack the sheer variety of the PC Engine, but a 64-length wavetable with 8-bit sample resolution is pretty impressive, especially as the earliest system of the bunch. In the 1990s, some sound cards that really better fit into the "sample" category, like the Sound Blaster 16, tended to use the word "wavetable" as a synonym for "sample". The line is pretty rough and what people use tends to vary; personally, I tend to use "wavetable" when meaning systems that have the strictest limitations on the length, but at this point I can only say that's my preference. Frequency Modulation Frequency modulation synthesis, or FM, has shown up a few times on this blog, and is mostly seen as pretty terrifying due to the complexities of modulation. Technically, the Famicom Disk System can also do it, but it's a lot more limited. Let's do a quick exploration. For this, I'll be using FamiTracker, but as it's just a single triangle wave, anything will do. We'll start by playing a simple note. It's a triangle wave, playing a G-4. Your browser does not support the audio element. Modulation, in the case of the Famicom Disk System, is just one option. We generate a sine wave, and then we can use that sine wave to "modulate" the frequency. The frequency played at is determined by the note, so with a low frequency, we can hear the wave drift in and out. Your browser does not support the audio element. But if we increase the frequency, it can give different sounds. Technically, the same thing as the above is happening, just faster. To my ear, it gives the triangle wave a grittier sound. Your browser does not support the audio element. It's worth noting that this can be done with any sample on the Famicom Disk System to add extra complexity to the sound. I just used a triangle wave because the effect is most obvious that way. The PC Engine can also do FM modulation on some (but not all) of its audio channels; the Gameboy can't do it at all. By the standards of Yamaha synthesizers, you might call this a "one-operator" FM synth. However, because it allows you to modulate a sample, rather than another sine wave, the sounds can't really be directly compared to an FM synthesizer. Ooh pretty sounds The Famicom Disk System wasn't a flop, it wasn't an unbridled success, as in Japan games did go back to using cartridges and it never made it out of the country. But it definitely sold a healthy number of units, and we can't really call the console that gave us Kid Icarus, Metroid, and The Legend of Zelda a failure. The audio channel, though, didn't seem to be taken advantage of that often. The in-game music in The Legend of Zelda doesn't use it; in fact, many Nintendo games mostly just use it for title screens. (And many non-Nintendo games don't use it at all) Whether this was done to make the western release easier, because of not wanting to use the RAM on samples, or for some other reason, it's kind of a shame. Still, there are gems out there. Keep an ear out next time you play a Famicom Disk System game, I know I will! Link holding up a sign with Japanese text. It tells you to read the manual for more details Nicole Express * Nicole Express * nicole at nicolebranagan dot com * nicole_express * nicolebranagan * Patreon Nicole Express: Video game development, examinations into old consoles, and more! Filmed in front of a live studio audience.