Programmable sound generator

A programmable sound generator (PSG) refers to a variety of audio chips first manufactured in the late-1970s which create rudimentary sound waves as opposed to more complex waves generated by wave table synthesis, FM synthesis, or pulse code modulation. The chips accept user input through dedicated registers which control the sound they generate allowing them to be programmed. PSGs were used extensively in the home entertainment industry throughout the late 1970s and 1980s particularly in 8-bit video games, home computers, and electronic music keyboards. Their primitive waveforms give them a very artificial or "chip" sound which was popular throughout this era.
Even though PSGs are now obsolete, they still have a fan base due to being popular in entertainment for over decade, and the sound of PSGs are still being used in popular music. Some of the chips are even still being manufactured to service old hardware, however, most of them have since been emulated in software. Software like Famitracker and Vortex Tracker II not only emulate the sound of older PGSs, but generate machine code that can play music directly on them.
Contents
Personal
I started playing video games in the mid-1980s, and the sound generated by the consoles I owned helped cement the PSG music into my psyche. When I started researching audio hardware for the Video Game Music Preservation Foundation, I began to gain a much firmer understanding of the hardware and the waveforms they generate. Although I recognize why people have a hard time appreciating the often harsh sound of PSGs, I find music made by them to be especially beautiful and nostalgic.
My most formative video game console was the NES, so most of my favorite PSG-based songs use the NES APU. Even though I didn't play much Commodore 64, my second favorite PSG is the MOS SID which is technically the most superior PSG and a lot of nice songs were made for it. After that, my familiarity with the PSGs decreases significantly.
History
The first consumer-level PSGs came on the market in the late 1970s and were produce by two different American companies General Instrument and Texas Instuments. Two other American companies, MOS Technology and Atari were also producing PSGs, but they were used exclusively for their own products. From the second generation onward, nearly every 8-bit video game console and home computer used a PSG for sound, as did several electronic keyboards. In the early 1980s, and throughout the decade, some Japanese manufacturers were creating chips that could produce more complex sounds using wave table synthesis, but these were more expensive and only found niche use, so the 1980s remained dominated by PSGs. At the end of the 1980s, Yamaha exercised their patent for producing FM synthesis on a chip and began manufacturing a line of chips with much greater sound quality. Within only a couple years, the markets of video games, home computers, and electronic keyboards all shifted over to it and the 1990s were dominated by FM synthesis. In turn, FM synthesis gave way to the lowered cost of pulse code modulation chips which began to dominate at the end of the 1990s.
Technical
At their base, PSGs generate a pulse wave which is a square wave with asymmetrical duty cycle, or, stated more simply, a rectangle wave. Most of the PSGs that were produced had 3 independent pulse wave channels. Most PSGs could also produce noise, either as a dedicated channel or by temporarily overriding one of the pulse wave channels. Most PSGs also include volume levels and envelopes on their channels. The more expensive PSGs would be paired with extra channels that produce wave table synthesis or pulse code modulation. Only two PSGs (the NES APU and Commodore SID) incorporated a triangle wave which gave them at a major advantage over to the majority of PSGs as the triangle wave, sounding similar to a sine wave, offers much greater low end range for bass resulting in a more natural sound.
Typically, when trying to simulate instruments on a PSG, pulse waves are used for high end instruments, triangle waves are used for low end instruments, and noise is used for percussion. Since companies had to develop their own audio software to drive the PSG, each company tends to have a common timbre in the music they generate across their various games.
Chips
This is a list of the more common PSGs.
Company | Year | Model Number | Chip Name | Channels | Applications |
---|---|---|---|---|---|
Atari | 1977 | TIA | Television Interface Adapter (TIA) | 1.) Pulse Wave or Noise 2.) Pulse Wave or Noise |
Atari 2600, Atari 7800. |
Atari | 1979 | C012294 | Pot Keyboard Integrated Circuit (POKEY) | 1.) Pulse Wave or Noise 2.) Pulse Wave or Noise 3.) Pulse Wave or Noise 4.) Pulse Wave or Noise |
Atari 5200, Atari 8-bit. |
General Instrument | 1978 | AY-3-8910 / AY-3-8912 / AY-3-8913 | 1.) Pulse Wave and/or Noise 2.) Pulse Wave and/or Noise 3.) Pulse Wave and/or Noise |
Hundreds of arcade games, several video game consoles, lots of add-ons. Many variants like Toshiba T7766A. | |
Konami | 1980 | Konami Resistor–Capacitor (RC) | 1.) ? | Konami arcade games. | |
Konami | 1989 | 053329 | Virtual ROM Controller VI (VRC VI) | 1.) Pulse Wave 2.) Pulse Wave 3.) Sawtooth Wave |
Several Famicom games. |
Microchip | 1989 | AY8930/P | 1.) Pulse Wave 2.) Pulse Wave 3.) Pulse Wave 4.) Noise |
AY-3-8910 variant with significant differences. Used in the Sound Master. | |
MOS Technology | 1977 | 6560 / 6561 | Video Interface Chip (VIC) | 1.) Pulse Wave 2.) Pulse Wave 3.) Pulse Wave 4.) Noise 5.) PCM |
Commodore VIC-20. |
MOS Technology | 1981 | 6581 / 8580 | Sound Interface Device (SID) | 1.) Triangle Wave, Sawtooth Wave, Pulse Wave, and/or Noise 2.) Triangle Wave, Sawtooth Wave, Pulse Wave, and/or Noise 3.) Triangle Wave, Sawtooth Wave, Pulse Wave, and/or Noise |
Commodore 64, Commodore 128, SSI 2001. |
MOS Technology | 1983 | 7360 / 8360 | Text Display (TED) | 1.) Pulse Wave 2.) Pulse Wave or Noise 3.) PCM |
Commodore 16, Commodore Plus/4. |
Nintendo | 1983 | RP2A03 / RP2A07 | NES Audio Processing Unit | 1.) Pulse Wave 2.) Pulse Wave 3.) Triangle Wave 4.) Noise 5.) PCM |
Famicom, Nintendo Entertainment System. |
Nintendo | 1989 | DMG-CPU B | Game Boy Audio Processing Unit | 1.) Pulse Wave 2.) Pulse Wave 3.) Wave Table 4.) Noise |
Incorporates the Sharp LR35902. Used in Game Boy, Game Boy Color, Game Boy Advance (for backward compatibility). |
Nintendo | 1990 | MMC5 | Memory Management Controller 5 | 1.) Pulse Wave 2.) Pulse Wave 3.) PCM |
Several NES Games. |
Oki Electric Industry | 1981 | MSM5232 | 1.) Pulse Wave 2.) Pulse Wave 3.) Pulse Wave 4.) Pulse Wave 5.) Pulse Wave 6.) Pulse Wave 7.) Pulse Wave 8.) Pulse Wave |
Several arcade games. Poly-800 keyboard. | |
Philips | 1984 | SAA1099 | 1.) Pulse Wave 2.) Pulse Wave 3.) Pulse Wave 4.) Noise 5.) Pulse Wave 6.) Pulse Wave 7.) Pulse Wave 8.) Noise |
SAM Coupé, Creative Music System. | |
Sega | 1981 | Sega Melody Generator (SMG) | 1.) ? | Sega G80 arcade board. | |
Sharp | 1989 | LR35902 | 1.) Pulse Wave 2.) Pulse Wave 3.) Wave Table 4.) Noise |
||
Sharp | 1997 | SM8521 | 1.) Pulse Wave 2.) Pulse Wave 3.) Noise 4.) PCM |
||
Texas Instruments | 1978 | SN76477 | Complex Sound Generator (CSG) | 1.) Sine Wave or Pulse Wave or Noise | Various arcade games. |
Texas Instruments | 1980 | SN76489 / SN76494 / SN76496 | Digital Complex Sound Generator (DCSG) | 1.) Pulse Wave 2.) Pulse Wave 3.) Pulse Wave 4.) Noise |
Over a dozen home consoles and many arcade cabinets. Sega PSG and NCR8496 is a variant. |
Yamaha | 1983 | YM2149 | Software-Controlled Sound Generator (SSG) | 1.) Pulse Wave and/or Noise 2.) Pulse Wave and/or Noise 3.) Pulse Wave and/or Noise |
AY-3-8910 variant with more options. Atari ST, MSX2, Yamaha keyboards. Sunsoft 5B is a variant. |
Songs
Some of my favorite songs which use PSGs include: