Yamaha OPL
The OPL (FM Operator Type-L) series were developed by Yamaha as low-cost sound chips providing FM synthesis for use in computer applications. Chips in the series. OPL. The YM3526 was the first in the OPL family, providing a nine channel, two operator synthesizer. It was notably used in a Commodore 64 expansion, the "Sound Expander", as well as several arcade games, such as "Terra Cresta" and "Bubble Bobble". A very closely related chip is the Y8950, or "MSX-AUDIO", which was used as an MSX expansion. It is essentially a YM3526 with ADPCM recording and playback  capability. The circuit has 244 different write-only registers. It can produce 9 channels of sound, each made of two oscillators or 6 channels with 5 percussion instruments available. Each oscillator can produce sine waves which may also be modified into 3 other waveforms – the negative part of the sine can be muted or inverted, and pseudo sawtooth waves (quarter sine waves upward only with silent sections in between) can also be produced. This odd way of producing waveforms give the YM3526 a characteristic sound. Each wave generator has its own ADSR envelope generator. Its main method of synthesis is  frequency modulation synthesis, accomplished via phase modulation of the phase of one channel's oscillators by the output of another. Internal operation. The internal operation of the chip is completely digital. Each FM-tone is generated by a digital oscillator using a form of direct digital synthesis. A low-frequency oscillator and an envelope generator drive an FM operator to produce floating-point output for the DAC. Decapsulation of the chip shows two look-up tables, one for calculating exponents and one for log-sine. This allows the FM operator to calculate its output without any multipliers, using the formula  formula_1 and two 256-entry look-up tables. Both tables are stored as pairs of values rounded to the nearest whole number, with the second value represented as the difference between it and the first value. A quarter of the log-transformed sine waveform is stored as a sampled approximation in a 256-word read-only memory (ROM) table, computed by formula_2 for values of 0 to 255. The rest of the sine-waveform is extrapolated via its property of symmetry. Scaling the output of an oscillator to a wanted volume would normally be done by multiplication, but the YM3526  avoids multiplications by operating on log-transformed signals, which reduces multiplications into computationally cheaper additions. Another 256-word ROM stores the exponential function as a lookup table, used to convert the logarithmic scale signal back to linear scale when required, as the final stage where the oscillator-outputs are summed together (just prior to the DAC-output bus), with the modulator waveform always delayed by one sample before the carrier waveform. This table is computed by formula_3 for values of 0 to 255. To compute the exponent, 1024 is added to the value at the index given by the least  significant byte of input; this becomes the significand and the remaining bits of input become the exponent of the floating point output. The YM3526's output, a sequence of floating point numbers clocked at a sampling frequency of approximately 49716 Hz, is sent to a separate digital-to-analog converter (DAC) chip, the YM3014B. Overview of a channel's registers: For the whole channel: For each one of the two oscillators: There are also a few parameters that can be set for the whole chip: OPL2. Yamaha created the YM3812, also known as the OPL2, in 1985. It saw wide  use in IBM PC-based sound cards such as the AdLib, Sound Blaster and Pro AudioSpectrum (8bit), as well as several arcade games by Nichibutsu, Toaplan and others. The OPL2 is backwards compatible with the YM3526, only adding three new waveforms. Another related chip is the YM2413 (OPLL), which is a cut down version. OPL3. An upgraded version of the OPL2, the Yamaha YMF262 (OPL3), was used in a number of IBM PC soundcards including Sound Blaster 16 and Pro AudioSpectrum (16bit). The YMF262 improved upon the feature-set of the YM3812, adding the following features: YMF262 also removed support  for the little-used CSM mode, featured on YM3812 and YM3526. The YMF262's FM synthesis mode is configurable in different ways: Like its predecessor, the OPL3 outputs audio in digital-I/O form, requiring an external DAC chip like the YAC512. Competing sound chip vendors (such as ESS, OPTi, Crystal and others) designed their own OPL3-compatible audio chips, with varying degrees of faithfulness to the original OPL3. Yamaha YMF289. Yamaha also produced a fully compatible, low-power variant, the YMF289 OPL3-L, which targeted PCMCIA sound cards and laptop computers. It was used in some Sound Blaster 16  sound cards made by Creative Technology. The YMF289B is paired with a YAC513 or YAC516 companion floating-point DAC chip. The YMF289 is fully register-compatible with and retains the feature-set of the YMF262, with a number of differences: ESS ESFM. ESS Technology's in-house developed derivative, termed "ESFM", is an enhanced, 20-voice, 72-operator, OPL3-compatible clone incorporating two operating modes, a Native mode and a Legacy mode, which controls its feature-set and behavior. In Native mode, ESFM allows more than six 4-operator FM voices to be mapped, potentially allowing for a significant increase  in the complexity of tones generated. The drivers for Windows 9x incorporate their own custom instrument patches which make use of this extended mode. Conversely, Legacy mode provides full backward-compatibility with Yamaha's YMF262. ESFM's output in this mode is moderately faithful to the YMF262 overall, but some tones are rendered quite differently, resulting in unique distortions in the sound and music of some games. ESFM is available in ESS sound chips starting with the ISA-based ES1688 AudioDrive, up to the PCI-based ES1946 Solo-1E, whereas earlier chips required an external FM synthesizer chip (typically a Yamaha  YMF262). ESS's Maestro series of PCI-based sound chips rely on a software implementation of FM synthesis that lacks ESFM's special features. OPL4. Yamaha's later PC audio controllers, including the YMF278 (OPL4), the single-chip Yamaha YMF718/719S, and the PCI YMF724/74x family, included the YMF262's FM synthesis block for backward compatibility with legacy software. See YMF7xx for more information. Products using the OPL series. The YMF262 was used in many sound cards, including the popular Sound Blaster Pro 2, Sound Blaster 16 ASP. Later models of the Sound Blaster 16 and Sound Blaster AWE series integrated  the OPL3 with other chips. In the final model Creative Labs used an OPL3 clone chip, the CQM, integral with other chips. It was used in the Pro AudioSpectrum (16bit). Synthesizers. Synthesizers that use the YM3812: Synths that use the YM2413 (cost reduced YM3812): Variants and derivatives. In 2015 an open-source RTL implementation of the OPL3 was written in SystemVerilog and adapted to an FPGA.